import { useLoading } from '../../behaviors/loading'; import { sceneTypeList } from '../../common/dataSceneTypes'; import { fetchPublish, fetchPublishedTask, } from '../../services/patrol/fetchSelfPatrol'; import dayjs from 'dayjs'; Page({ behaviors: [useLoading], /** * 页面的初始数据 */ data: { placeholder: '搜索企业', // 搜索条件 searchOptions: { districtText: null, townText: null, sceneType: null, period: null, }, unfinishedList: [], finishedList: [], newTask: false, }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { this.init(); this._startLoad(); }, onShow() { this.getTabBar().init(); }, onPullDownRefresh() { this._startLoad(); }, onReachBottom() { this._loadMore(); }, init() { this.setData({ ['searchOptions.period']: dayjs().format('YYYY-MM-DD'), ['searchOptions.sceneType']: sceneTypeList()[0].value, }); }, _fetchData(page) { return fetchPublishedTask(this.data.searchOptions.period).then(res => { const unfinishedList = [], finishedList = []; res.data.forEach(r => { if (r.finished < r.total) { unfinishedList.push(r); } else { finishedList.push(r); } }); this.setData({ unfinishedList, finishedList }); // if (this.data.newTask) { // wx.pageScrollTo({ // duration: 0, // offsetTop: 0, // scrollTop: 0, // selector: '.panel-wrap', // success: (res) => {}, // fail: (res) => {}, // complete: (res) => {}, // }) // } return res.head; }); }, // 场景类型更改 handleSceneChange(e) { const { sceneValue } = e.detail; this.setData({ ['searchOptions.sceneType']: sceneValue[0], }); this._startLoad(); }, // 时间更改 handleTimeChange(e) { const { timeValue } = e.detail; this.setData({ ['searchOptions.period']: timeValue + '-01', }); this._startLoad(); }, // 筛选条件弹出框 showFilterPopup() { this.setData({ show: true, }); }, showFilterPopupClose() { this.setData({ show: false, }); }, // 弹出框重置 reset(e) { this.onPopupSearch(e); }, // 弹出框确认 confirm(e) { this.onPopupSearch(e); }, onPopupSearch(e) { const { searchOptions } = this.data; const { districtText, townText } = e.detail; searchOptions.districtText = districtText; searchOptions.townText = townText; this.setData({ show: false, searchOptions, }); this._startLoad(); }, // 弹出框关闭 close(e) { this.setData({ show: e.detail.visible }); }, navToPublishTask() { wx.navigateTo({ url: '/pages/selfpatrol/publish/index', events: { uploadOver: () => { this._startLoad(); }, }, }); }, });