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.
 
 
 
 

166 lines
3.5 KiB

// package/inspectionReport/inspectionReport.js
import { getStructuresList, getPatrolReport } from "../../utils/getApiUrl";
import { Request } from "../../common";
const moment = require("../../utils/moment");
Page({
/**
* 页面的初始数据
*/
data: {
structures: [], // 结构物
struLoading: false,
struVisible: false,
dateVisible: false,
curStru: 0, // 选中结构物index
startTime: new Date().getTime(),
endTime: new Date().getTime(),
formatStartTime: moment(new Date().getTime()).format('YYYY-MM-DD'),
formatEndTime: moment(new Date().getTime()).format('YYYY-MM-DD'),
report: [], // 巡检报告
},
showPopup(e) {
const { item } = e.currentTarget.dataset;
this.setData({ [`${item}Visible`]: true });
},
onClose(e) {
const { item } = e.currentTarget.dataset;
this.setData({ [`${item}Visible`]: false });
// 获取报告
this.getPatrolReport();
},
onStruChange(e) {
if (e.detail) {
const { index } = e.detail;
this.setData({
curStru: index
})
}
},
// 时间选择
onStartTimeChange(event) {
this.setData({
startTime: event.detail,
formatStartTime: moment(event.detail).format('YYYY-MM-DD')
});
},
onEndTimeChange(event) {
this.setData({
endTime: event.detail,
formatEndTime: moment(event.detail).format('YYYY-MM-DD'),
});
},
download(e) {
const { url } = e.currentTarget.dataset;
wx.showLoading({ title: '下载中...' });
wx.downloadFile({
url: getApp().globalData.imgUrl + url,
success(downloadRes) {
wx.hideLoading();
if (downloadRes.statusCode === 200) {
const filePath = downloadRes.tempFilePath;
wx.openDocument({
filePath: filePath,
showMenu: true,
success: function (res) {
console.log('打开文档成功');
}
})
}
}
})
},
getPatrolReport() {
const { structures, curStru, formatStartTime, formatEndTime } = this.data;
const params = {
projectId: structures[curStru].id,
startTime: formatStartTime + ' 00:00:00',
endTime: formatEndTime + ' 23:59:59',
}
wx.showLoading({ title: '查询中...' });
Request.get(getPatrolReport(params)).then(res => {
wx.hideLoading();
this.setData({
report: res.rows.map(r => {
const fileName = r.excelPath.substring(r.excelPath.lastIndexOf('/') + 1);
return { ...r, fileName }
})
})
})
},
getStructuresList() {
this.setData({ struLoading: true });
Request.get(getStructuresList()).then(res => {
this.setData({
struLoading: false,
structures: [
{ name: '全部', id: '' },
...res.rows.map(s => ({ name: s.name, id: s.id }))
]
}, () => { this.getPatrolReport(); })
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
this.getStructuresList();
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})