// package/polling/polling.js import { getPatrolPlan, getPatrolRecord } from "../../utils/getApiUrl"; import { Request } from "../../common"; const moment = require("../../utils/moment"); Page({ /** * 页面的初始数据 */ data: { /* 待巡检 */ dataList: [], limit: 10, //条数 page: 0, //当前页 count: '', //总条数 hidden: true, currentTab: 0, /* 巡检记录 */ ResList: [ //阅读状态 { value: 'all', text: '全部', }, { value: 'normal', text: '正常', }, { value: 'abnormal', text: '异常', } ], ResIndex: 'all', //巡检结果 recordDataList: [], isPickerRender: false, isPickerShow: false, startTime: moment().subtract(7, 'days').valueOf(), //开始日期 endTime: moment().startOf('days').valueOf(), //结束日期 pickerConfig: { //自定义时间选择器配置项 endDate: true, //是否需要结束时间,为true时显示开始时间和结束时间两个picker column: "day", //可选的最小时间范围day、hour、minute、second dateLimit: true, //是否现在时间可选范围,false时可选任意时间;当为数字n时,范围是当前时间的最近n天 initStartTime: "", //picker初始时间 initEndTime: "", //picker初始结束时间 // limitStartTime: "", //最小可选时间 // limitEndTime: "" //最大可选时间 }, recordHidden: true, }, // 顶部tab切换 onChange(event) { this.setData({ currentTab: event.detail.name }) if (event.detail.name === 0) { this.setData({ page: 0, dataList: [] }, () => { this.getPatrolPlan(); }) } else if (event.detail.name === 1) { this.getPatrolRecord(); } }, /***** 待巡检的方法 *****/ // 开始巡检 bindStart (e) { let data = JSON.stringify(e.currentTarget.dataset.item); wx.navigateTo({ url: '/package/startInspection/startInspection?data=' + encodeURIComponent(data), }) }, // 获取巡检计划 getPatrolPlan: function () { let that = this; let { page, limit } = that.data; wx.showLoading({ title: '加载中', }) const userInfo = wx.getStorageSync('userInfo'); Request.get(getPatrolPlan(), { limit, page, userId: userInfo.id }).then(res => { if (res.rows.length == 0) { that.setData({ dataList: res.rows, hidden: false }) wx.hideLoading() return; } let dataSource = res.rows.map(e => { e.startTime = moment(e.startTime).format('YYYY-MM-DD'); e.endTime = moment(e.endTime).format('YYYY-MM-DD'); return e; }) var arr1 = that.data.dataList; //从data获取当前dataList数组 var arr2 = dataSource; //从此次请求返回的数据中获取新数组 arr1 = arr1.concat(arr2); //合并数组 that.setData({ dataList: arr1, count: res.count, //总条数 hidden: true }) wx.hideLoading() }) }, /***** 巡检记录的方法 *****/ // 巡检结果 bindPickerRes (e) { this.setData({ ResIndex: e.detail }) }, // 时间选择 onStartTimeChange (event) { this.setData({ startTime: event.detail, }); }, onEndTimeChange (event) { this.setData({ endTime: event.detail, }); }, // 查询 bindSearch () { this.getPatrolRecord(); }, // 查看详情 bindDetail (e) { let data = JSON.stringify(e.currentTarget.dataset.item); wx.navigateTo({ url: '/package/polling/inspectionRecordDetail/inspectionRecordDetail?data=' + encodeURIComponent(data), }) }, // 获取巡检记录 getPatrolRecord: function () { let that = this; let { endTime, startTime, ResIndex } = that.data; let alarm = ResIndex == 'all' ? 'null' : ResIndex == 'normal' ? false : true; wx.showLoading({ title: '加载中' }) Request.get(getPatrolRecord('all', moment(startTime).format('YYYY-MM-DD') + ' 00:00:00', moment(endTime).format('YYYY-MM-DD') + ' 23:59:59', alarm, 'null')).then(res => { if (res.length == 0) { that.setData({ recordDataList: res, recordHidden: false }) wx.hideLoading() return; } let dataSource = res.map(e => { e.lastInspectionTime = e.lastInspectionTime ? moment(e.lastInspectionTime).format('YYYY-MM-DD') : '--'; e.inspectionTime = moment(e.inspectionTime).format('YYYY-MM-DD'); return e; }) that.setData({ recordDataList: dataSource, recordHidden: true }) wx.hideLoading() }) }, /** * 生命周期函数--监听页面加载 */ onLoad (options) { // this.getPatrolPlan(); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady () { }, /** * 生命周期函数--监听页面显示 */ onShow () { const that = this; that.setData({ dataList: [], page: 0, //当前页 count: '', //总条数 }) that.getPatrolPlan() }, /** * 生命周期函数--监听页面隐藏 */ onHide () { }, /** * 生命周期函数--监听页面卸载 */ onUnload () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh () { let that = this; if (that.data.currentTab === 0) { that.setData({ dataList: [], page: 0, //当前页 count: '', //总条数 }) that.getPatrolPlan() // 手动控制回弹 wx.stopPullDownRefresh(); } else if (that.data.currentTab === 1) { that.setData({ recordDataList: [], ResIndex: 'all', //巡检结果 startTime: moment().subtract(7, 'days').valueOf(), //开始日期 endTime: moment().startOf('days').valueOf(), //结束日期 }) that.getPatrolRecord() // 手动控制回弹 wx.stopPullDownRefresh(); } }, /** * 页面上拉触底事件的处理函数 */ onReachBottom () { let _that = this; if (_that.data.currentTab === 0) { let page = _that.data.page + 1; //获取当前页数并+1 let { dataList, count } = _that.data; if (dataList.length == count) { wx.showToast({ title: '没有更多数据了...', icon: 'none', }) return; } _that.setData({ page: page, //更新当前页数 }) _that.getPatrolPlan() } }, /** * 用户点击右上角分享 */ onShareAppMessage () { } })