You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

275 lines
7.8 KiB

// 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,
},
jumpToReport (options) {
const key='主动上报'
wx.navigateTo({
url: `/package/report/report?key=${key}`,
})
},
// 顶部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 () {
}
})