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.
281 lines
8.0 KiB
281 lines
8.0 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}`,
|
|
})
|
|
},
|
|
jumpToGroundReport (options) {
|
|
// const key='主动上报'
|
|
wx.navigateTo({
|
|
url: `/package/groundDisasterInspection/groundDisasterInspection`
|
|
})
|
|
},
|
|
// 顶部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',{home:false})).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 () {
|
|
|
|
}
|
|
})
|