import dayjs from 'dayjs'; import { useLoading } from '../../../behaviors/loading'; import { useOptions } from './options-proxy.js'; import { useStatistic } from './statistic-proxy.js'; import { useTasks } from './tasks-proxy.js'; const app = getApp(); Page({ behaviors: [useLoading, useOptions, useStatistic, useTasks], data: { userInfo: app.globalData.userInfo, clueTaskList: [], }, onLoad(options) {}, onShow() { if (this.getTabBar()) { this.getTabBar().init(); } // this.refresh(); }, onPullDownRefresh() { this._startLoad(); }, onReachBottom() { this._loadMore(); }, /** * 初始加载 * 当所有筛选条件都获取到初始值后,执行一次初始化加载 * 包括区域、时间两个选项,全部获取初始值后,执行加载 * @see options-proxy.js */ optionsCount: 0, init() { this.optionsCount++; this.refresh(); }, refresh() { if (this.optionsCount >= 2) this._startLoad(); }, _fetchData(page) { const array = []; array.push(this.searchClueTask(page)); if (page == 1) { array.push(this.fetchClueTaskSummary(page)); } return Promise.all(array).then(res => { return res[0].head; }); }, _getOptions() { const { location, time } = this.data; return { ...location, startTime: dayjs(time).startOf('month').format('YYYY-MM-DD HH:mm:ss'), endTime: dayjs(time).endOf('month').format('YYYY-MM-DD HH:mm:ss'), }; }, });