import { useLoading } from '../../behaviors/loading'; import { useProblems } from './problems-proxy.js'; import { useAnalysis } from './analysis-proxy.js'; import dayjs from 'dayjs'; Page({ behaviors: [useLoading, useProblems, useAnalysis], data: {}, onLoad(options) { this.getOpenerEventChannel().on('acceptInspectionData', data => { this.setData({ location: { provinceText: data.inspection.provinceName, cityText: data.inspection.cityName, districtText: data.inspection.districtName, townText: data.inspection.townName, }, inspection: data.inspection, time: data.time, sceneTypeText: data.sceneTypeText, sceneTypeValue: data.sceneTypeValue, }); this.initFetch(); }); // this.refreshPieChart(); }, /** * 初始加载,当外部参数传入以及饼图初始化完成后,开始加载数据 */ initCount: 0, initFetch() { this.initCount++; if (this.initCount == 2) this._startLoad(); }, _fetchData(page) { const p1 = this.fetchProblems(page); return Promise.all([p1]).then(res => { return res[0]; }); }, onTimePickerConfirm(e) { const { timeValue } = e.detail; this.setData({ time: timeValue, }); this._startLoad(); }, onLocationChange(e) { const { inspection } = this.data; inspection.provinceName = e.detail.provinceText; inspection.cityName = e.detail.cityText; inspection.districtName = e.detail.districtText; inspection.townName = e.detail.townText; inspection.provinceCode = e.detail.provinceValue; inspection.cityCode = e.detail.cityValue; inspection.districtCode = e.detail.districtValue; inspection.townCode = e.detail.townValue; inspection.locationValue = e.detail.locationValue; this.setData({ inspection }); this._startLoad(); }, onScenePickerConfirm(e) { const { sceneText: sceneTypeText, sceneValue: sceneTypeValue } = e.detail; this.setData({ sceneTypeText, sceneTypeValue }); this._startLoad(); }, _getParamsArea() { const { inspection, sceneTypeValue: scensetypeid, time } = this.data; const params = { provincecode: inspection.provinceCode, provincename: inspection.provinceName, citycode: inspection.cityCode, cityname: inspection.cityName, districtcode: inspection.districtCode, districtname: inspection.districtName, towncode: inspection.townCode, townname: inspection.townName, }; params.scensetypeid = scensetypeid[0]; const t = dayjs(time); params.starttime = t.startOf('month').format('YYYY-MM-DD HH:mm:ss'); params.endtime = t.endOf('month').format('YYYY-MM-DD HH:mm:ss'); return params; }, });