// package/troubleshooting/shootingForm/index.js import { getPatrolRecordIssueHandleById, getStructuresUsers, editPatrolRecordIssueHandle } from "../../../utils/getApiUrl"; import { Request } from "../../../common"; const moment = require("../../../utils/moment"); Page({ /** * 页面的初始数据 */ data: { imgServer: getApp().globalData.imgUrl, userInfo: wx.getStorageSync("userInfo"), data: {}, strucFocusUser: {}, focusPerson: [], shootingid: '', pointItemCollapseActiveNames: undefined, maintenancePersonIndex: undefined, maintenancePersonId: null, maintenancePersonDepartmentShow: '', maintenanceRequirement: '', qualityPersonIndex: undefined, planStartTimePopupShow: false, planStartTime: '', planStartTimeShow: '', planEndTimePopupShow: false, planEndTime: '', planEndTimeShow: '', planApproval: '', planApprovalPerson: '', planApprovalTime: '', repair: '', // 表单控制 isPlanState: false, isApprove: false, }, /** * 生命周期函数--监听页面加载 */ onLoad (options) { const { shootingid } = options if (shootingid) { this.setData({ shootingid }) Promise.all( [ Request.get(getPatrolRecordIssueHandleById(shootingid), {}), Request.get(getStructuresUsers(), {}) ] ).then(res => { console.log(res, 222); const [issue, strucUser] = res const nextData = { ...issue, PatrolRecord: { ...issue.PatrolRecord, inspectionTime: moment(issue.PatrolRecord.inspectionTime).format('YYYY-MM-DD HH:mm:ss'), points: { ...issue.PatrolRecord.points, inspectContent: (() => { let inspectContent = [] for (let k in issue.PatrolRecord.points.inspectContent) { inspectContent.push({ ...issue.PatrolRecord.points.inspectContent[k], itemName: k }) } return inspectContent })() } } } console.log(nextData); this.setData({ data: nextData, isPlanState: issue.state == 1 || issue.state == 3, isApprove: issue.state == 2 }) this.setData({ strucFocusUser: { ...strucUser, } }) const focusPerson = (strucUser.find(s => s.id == issue.PatrolRecord.points.project.id) || {}).users || [] this.setData({ focusPerson: focusPerson }) if (issue.state > 1) { let maintenancePersonIndex = focusPerson.findIndex(f => f.id == issue.repairPerson.id) console.log(issue.startTime, moment(issue.startTime).format('YYYY-MM-DD HH:mm:ss')); this.setData({ maintenancePersonIndex: maintenancePersonIndex, maintenancePersonDepartmentShow: focusPerson[maintenancePersonIndex].department.name, qualityPersonIndex: focusPerson.findIndex(f => f.id == issue.checkPerson.id), planStartTime: moment(issue.startTime).unix(), planStartTimeShow: moment(issue.startTime).format('YYYY-MM-DD HH:mm:ss'), planEndTimeShow: moment(issue.endTime).format('YYYY-MM-DD HH:mm:ss'), maintenanceRequirement: issue.repairAsk }) } if (issue.state > 2) { this.setData({ planApproval: issue.approveOpinion, planApprovalPerson: issue.approvePerson ? issue.approvePerson.name : '', planApprovalTime: issue.approveDate ? moment(issue.approveDate).format('YYYY-MM-DD HH:mm:ss') : '', }) } }) } else { } }, onPointItemCollapseActiveChange (event) { this.setData({ pointItemCollapseActiveNames: event.detail, }); }, onMaintenancePersonPopupChange (e) { console.log(e); if (e.target.dataset.type == 'zhijian') { this.setData({ qualityPersonIndex: e.detail.value }) } else { let selectedUser = this.data.focusPerson[e.detail.value] this.setData({ maintenancePersonIndex: e.detail.value, maintenancePersonDepartmentShow: selectedUser ? selectedUser.department.name : '' }) } }, showPlanStartTimePopup () { if (this.data.isPlanState) { this.setData({ planStartTimePopupShow: true }) } }, closePlanStartTimePopup (e) { this.setData({ planStartTimePopupShow: false }) console.log(e.target, this.data.planStartTime); if (e.target.dataset.option == 'cancel') { // this.setData({ planStartTime: '' }) } else if (e.target.dataset.option == 'confirmed') { this.setData({ planStartTimeShow: this.data.planStartTime ? moment(this.data.planStartTime).format('YYYY-MM-DD HH:mm') : '' }) } }, onPlanStartTimeChange (event) { console.log(event); this.setData({ planStartTime: event.detail, }) }, showPlanEndTimePopup () { if (this.data.isPlanState) { this.setData({ planEndTimePopupShow: true }) } }, closePlanEndTimePopup (e) { this.setData({ planEndTimePopupShow: false }) if (e.target.dataset.option == 'confirmed') { this.setData({ planEndTimeShow: this.data.planEndTime ? moment(this.data.planEndTime).format('YYYY-MM-DD HH:mm') : '' }) } }, onPlanEndTimeChange (event) { this.setData({ planEndTime: event.detail, }) }, onInputChange (e) { console.log(e); this.setData({ [e.target.dataset.type]: e.detail.value }) }, // 预览图片 previewImg: function (e) { console.log(e); const { index, itemindex } = e.currentTarget.dataset const imgs = this.data.data.PatrolRecord.points.inspectContent[itemindex].imgs; const newImgs = imgs.map(i => this.data.imgServer + i); wx.previewImage({ current: newImgs[index], urls: newImgs }) }, // 上传图片 chooseImg: function (e) { // 这里是选取图片的方法 const that = this; let pics = []; // const detailPics = that.data.inspectContent[e.currentTarget.dataset.item].imgs; // if (detailPics.length >= 20) { // wx.showToast({ // title: '最多选择20张图片上传', // icon: 'none' // }); // return; // } // wx.chooseMedia({ // count: 20, // 基础库2.25.0前,最多可支持9个文件,2.25.0及以后最多可支持20个文件 // mediaType: ['image'], // 文件类型 // sizeType: ['original', 'compressed'], // original 原图,compressed 压缩图,默认二者都有 // sourceType: ['album', 'camera'], // album 从相册选图,camera 使用相机,默认二者都有 // success: function (res) { // const imgs = res.tempFiles; // for (let i = 0; i < imgs.length; i++) { // if (res.tempFiles[i].size > 15728640) { // wx.showToast({ title: '图片大于15M,不可上传', icon: 'none' }); // return; // } // const fileNameArr = res.tempFiles[i].tempFilePath.split('.'); // const extension = res.tempFiles[i].tempFilePath.split('.')[fileNameArr.length - 1]; // if (extension !== 'jpg' && extension !== 'png' && extension !== 'jpeg') { // wx.showToast({ title: '只能上传jpg、jpeg、png格式的图片', icon: 'none' }); // return; // } // pics.push(imgs[i].tempFilePath) // } // that.uploadimg({ // url: getApp().globalData.webUrl + '_upload/attachments/project', // 图片上传的接口 // path: pics, // 选取的图片的地址数组 // }, e.currentTarget.dataset.item); // }, // }) }, //多张图片上传 uploadimg: function (data, itemName) { // wx.showLoading({ // title: '上传中...', // mask: true, // }) // let that = this, // i = data.i ? data.i : 0, // success = data.success ? data.success : 0, // fail = data.fail ? data.fail : 0; // let imgs = that.data.inspectContent[itemName].imgs; // wx.uploadFile({ // url: data.url, // filePath: data.path[i], // name: 'file', // success: (resp) => { // wx.hideLoading(); // success++; // let str = JSON.parse(resp.data) // 返回的结果,可能不同项目结果不一样 // str = str.uploaded // console.log(str); // if (imgs.length >= 20) { // const inspectContent = that.data.inspectContent; // inspectContent[itemName].imgs = imgs; // that.setData({ // inspectContent, // }); // return false; // } else { // imgs.push(str); // const inspectContent = that.data.inspectContent; // inspectContent[itemName].imgs = imgs; // that.setData({ // inspectContent, // }) // } // }, // fail: (res) => { // fail++; // console.log('fail:' + i + "fail:" + fail); // }, // complete: () => { // i++; // if (i == data.path.length) { // 当图片传完时,停止调用 // console.log('执行完毕'); // console.log('成功:' + success + " 失败:" + fail); // } else { // 若图片还没有传完,则继续调用函数 // data.i = i; // data.success = success; // data.fail = fail; // that.uploadimg(data, itemName); // 递归,回调自己 // } // } // }); }, // 删除图片 deleteImg: function (e) { // let imgs = this.data.inspectContent[e.currentTarget.dataset.item].imgs; // const index = e.currentTarget.dataset.index; // imgs.splice(index, 1); // const inspectContent = this.data.inspectContent; // inspectContent[e.currentTarget.dataset.item].imgs = imgs; // this.setData({ // inspectContent // }); }, confirm (e) { console.log(e); const { approve } = e.target.dataset const { state } = this.data.data const { shootingid, focusPerson, maintenancePersonIndex, maintenancePersonDepartmentShow, qualityPersonIndex, planStartTime, planEndTime, maintenanceRequirement, userInfo, planApproval, } = this.data let nextState = '' let confirmData = {} if (state == 1 || state == 3) { nextState = 2 confirmData = { ...confirmData, repairPerson: focusPerson[maintenancePersonIndex], repairUnit: maintenancePersonDepartmentShow, checkPerson: focusPerson[qualityPersonIndex], startTime: moment(planStartTime).format(), endTime: moment(planEndTime).format(), repairAsk: maintenanceRequirement, } } else if (state == 2) { confirmData = { ...confirmData, approveOpinion: planApproval, approvePerson: userInfo, approveDate: moment().format(), } if (approve == 'agree') { nextState = 4 } else { nextState = 3 } } Request.put(editPatrolRecordIssueHandle(shootingid), { ...confirmData, state: nextState, }).then(res => { // wx.redirectTo({ // url: '/package/troubleshooting/index' // }) }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady () { }, /** * 生命周期函数--监听页面显示 */ onShow () { }, /** * 生命周期函数--监听页面隐藏 */ onHide () { }, /** * 生命周期函数--监听页面卸载 */ onUnload () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom () { }, /** * 用户点击右上角分享 */ onShareAppMessage () { } })