// pages/worksheetinfo/worksheetinfo.js Page({ /** * 页面的初始数据 */ data: { images: [], signs: [], worksheetinfo: {}, chargstations: [], chargstationsindex: 0, pcitures: [], workstatus: [{ value: 1, text: '新建' }, { value: 2, text: '人员指派' }, { value: 3, text: '指派确认' }, { value: 4, text: '施工前安全准备' }, { value: 5, text: '进行中' } // , { // value: 6, // text: '已完成' // } , { value: 7, text: '完成确认' }], workstatusindex: 0, workBigclass: [{ value: 1, text: '售后服务' }, { value: 2, text: '工程实施' }], workBigclassindex: 0, breakdownType: [{ value: 1, text: '车辆导致' }, { value: 2, text: '桩体导致' }, { value: 3, text: '人为导致' }, { value: 4, text: '基础设施问题' }, { value: 5, text: '其他' }], breakdownTypeindex: null, exceptdate: null, excepttime: null, finishdate: null, finishtime: null, accendantids: [] }, bindChargstationsChange: function(e) { if (this.data.chargstationsindex != e.detail.value) { console.log('picker发送选择改变,携带值为', e.detail.value) let chargstationid = this.data.chargstations[e.detail.value].id; let worksheetinfo = this.data.worksheetinfo; worksheetinfo.accendant = null; worksheetinfo.chargStationId = chargstationid; this.setData({ chargstationsindex: e.detail.value, worksheetinfo }) } }, bindWorkstatusChange: function(e) { //console.log('picker发送选择改变,携带值为', e.detail.value) let workStatus = this.data.workstatus[e.detail.value].value; let worksheetinfo = this.data.worksheetinfo; worksheetinfo.workStatus = workStatus; this.setData({ workstatusindex: e.detail.value, worksheetinfo }); }, bindWorkBigclassChange: function(e) { //console.log('picker发送选择改变,携带值为', e.detail.value) let workBigclass = this.data.workBigclass[e.detail.value].value; let worksheetinfo = this.data.worksheetinfo; worksheetinfo.workBigclass = workBigclass; this.setData({ workBigclassindex: e.detail.value, worksheetinfo }); }, bindBreakdownType(e) { //console.log('picker发送选择改变,携带值为', e.detail.value) let breakdownType = this.data.breakdownType[e.detail.value].value; let worksheetinfo = this.data.worksheetinfo; worksheetinfo.breakdownType = breakdownType; this.setData({ breakdownTypeindex: e.detail.value, worksheetinfo }); }, bindAccendantChange: function(e) { let chargstationid = this.data.chargstations[this.data.chargstationsindex].id; let accendant = this.data.worksheetinfo.accendant; let url = `/pages/worksheetinfo/accendant?chargstationid=${chargstationid}&accendant=${accendant}`; wx.navigateTo({ url }); }, bindExceptdateChange(e) { this.setData({ exceptdate: e.detail.value }) }, bindExcepttimeChange(e) { this.setData({ excepttime: e.detail.value }) }, bindFinishdateChange(e) { this.setData({ finishdate: e.detail.value }) }, bindFinishtimeChange(e) { this.setData({ finishtime: e.detail.value }) }, bindMainLocationInput(e) { let mainLocation = e.detail.value; let worksheetinfo = this.data.worksheetinfo; worksheetinfo.mainLocation = mainLocation; this.setData({ worksheetinfo }); }, bindContentInput(e) { let content = e.detail.value; let worksheetinfo = this.data.worksheetinfo; worksheetinfo.content = content; this.setData({ worksheetinfo }); }, bindWorkSheetSubmit(e) { let worksheetinfo = this.data.worksheetinfo; worksheetinfo.pams = this.data.accendantids; worksheetinfo.accendant = null; if (this.data.exceptdate && this.data.excepttime) { worksheetinfo.exceptTime = this.data.exceptdate + " " + this.data.excepttime + ":00"; } if (this.data.finishdate && this.data.finishtime){ worksheetinfo.finishTime = this.data.finishdate + " " + this.data.finishtime + ":00"; } let images = this.data.images; var imgString = []; var pciString = []; this.data.pcitures.forEach((item, index) =>{ pciString.push(item.src); }); let signs = this.data.signs; console.log(signs.length == 0); var signString = []; if (signs.length == 0) { //2021-1-1撤销校验 // wx.showToast({ // title: '请设置签名', // icon: 'loading', // duration: 2000, // mask: true, // success: function() {} // }); // return; } else { signs.forEach((item, index) => { wx.uploadFile({ url: getApp().globalData.postHeadAgreement + '/restapi/wechat/editWorkSheetImg', filePath: signs[index], name: 'imageFileName', success: function(res) { let result = JSON.parse(res.data); if (result.code == 500) { wx.showModal({ showCancel: false, content: result.msg }); } else { signString.push(result.msg); console.log(signString); } } }); }); } var uploadSignOverFlag = setInterval(function() { if (signString.length == signs.length) { clearInterval(uploadSignOverFlag); if (images.length == 0) { if (worksheetinfo.pciture) { console.log(worksheetinfo.pciture); worksheetinfo.pciture = (pciString.concat(imgString).concat(signString)).join(","); //worksheetinfo.pciture = ((worksheetinfo.pciture.split(",")).concat(signString)).join(","); console.log(worksheetinfo.pciture); } wx.request({ url: getApp().globalData.postHeadAgreement + '/restapi/wechat/editWorkSheet', data: worksheetinfo, method: 'POST', success(res) { //console.log(res); if (res.data.code == 500) { wx.showModal({ showCancel: false, content: res.data.msg }); } else { wx.navigateBack(); } } }); } else { images.forEach((item, index) => { wx.uploadFile({ url: getApp().globalData.postHeadAgreement + '/restapi/wechat/editWorkSheetImg', filePath: images[index], name: 'imageFileName', success: function(res) { let result = JSON.parse(res.data); if (result.code == 500) { wx.showModal({ showCancel: false, content: result.msg }); } else { imgString.push(result.msg); console.log(imgString); if (index == (images.length - 1)) { var uploadImgOverFlag = setInterval(function() { if (imgString.length == images.length) { clearInterval(uploadImgOverFlag); //worksheetinfo.pciture = ((worksheetinfo.pciture.split(",")).concat(signString)).join(","); worksheetinfo.pciture = (pciString.concat(imgString).concat(signString)).join(","); //var images = this.data.images.concat(res.tempFilePaths); wx.request({ url: getApp().globalData.postHeadAgreement + '/restapi/wechat/editWorkSheet', data: worksheetinfo, method: 'POST', success(res) { //console.log(res); if (res.data.code == 500) { wx.showModal({ showCancel: false, content: res.data.msg }); } else { wx.navigateBack(); } } }); } }, 100); } } }, fail: function(data) { console.log(data); } }); }); } } }, 100); }, openImage(e) { //var that = this; var imgCount = (9 - this.data.pcitures.length) < 0 ? 0 : 9 - this.data.pcitures.length; console.log(imgCount); wx.chooseImage({ count: 9 - (this.data.pcitures.length + this.data.images.length), //sizeType: ['original', 'compressed'], //可选择原图或压缩后的图片 //sourceType: ['album', 'camera'], //可选择性开放访问相册、相机 success: res => { //console.log(res); var images = this.data.images.concat(res.tempFilePaths); // 限制最多只能留下5张照片 images = images.length <= imgCount ? images : images.slice(0, imgCount); if (images.length >= imgCount || imgCount<= 0){ wx.showToast({ title: '最多9张图片', icon:'none' }); } this.setData({ //pcitures: [], images }); } }); }, removeImage(e) { //console.log(e); //console.log(this.data.images); let idx = e.currentTarget.dataset.idx; var images = this.data.images; images.splice(idx, 1); this.setData({ images }); }, removePciture(e) { //console.log(e); //console.log(this.data.images); let idx = e.currentTarget.dataset.idx; var pcitures = this.data.pcitures; pcitures.splice(idx, 1); this.setData({ pcitures }); }, removeSign(e) { //console.log(e); //console.log(this.data.images); let idx = e.currentTarget.dataset.idx; var signs = this.data.signs; signs.splice(idx, 1); this.setData({ signs }); }, handleImagePreview(e) { const idx = e.target.dataset.idx const images = this.data.images wx.previewImage({ current: images[idx], //当前预览的图片 urls: images, //所有要预览的图片 }) }, handleSignPreview(e) { const idx = e.target.dataset.idx const signs = this.data.signs //console.log(idx); //console.log(signs); //console.log(signs[idx]); wx.previewImage({ current: signs[idx], //当前预览的图片 urls: signs, //所有要预览的图片 }) }, /** * 生命周期函数--监听页面加载 */ onLoad: function(options) { //console.log(options); let { worksheet } = options; //console.log(worksheet); let worksheetinfo = JSON.parse(worksheet); //worksheetinfo.breakdownType = 2; this.setData({ worksheetinfo }); this.data.workstatus.forEach((item, index) => { if (item.value == worksheetinfo.workStatus) { this.setData({ workstatusindex: index }); } }); this.data.workBigclass.forEach((item, index) => { if (item.value == worksheetinfo.workBigclass) { this.setData({ workBigclassindex: index }); } }); if (worksheetinfo.exceptTime) { let datetime = worksheetinfo.exceptTime.split(" "); this.setData({ exceptdate: datetime[0], excepttime: datetime[1].substr(0, 5) }); } if (worksheetinfo.finishTime) { let datetime = worksheetinfo.finishTime.split(" "); this.setData({ finishdate: datetime[0], finishtime: datetime[1].substr(0, 5) }); } this.data.breakdownType.forEach((item, index) => { if (item.value == worksheetinfo.breakdownType) { this.setData({ breakdownTypeindex: index }); } }); if (worksheetinfo.pciture) { let pcitures_src = worksheetinfo.pciture.split(","); var pcitures = []; pcitures_src.forEach((item, index) => { pcitures[index] = { src: item, flag: item.indexOf('https://cdgl.pjnes.com/profile/station/') != -1}; }); this.setData({ pcitures }); } //console.log(worksheetinfo); let userInfo = wx.getStorageSync('userInfo'); let isLogin = wx.getStorageSync('isLogin'); let that = this; //console.log(12345); if (userInfo && isLogin) { wx.getLocation({ success: function(res) { //console.log(res); let { latitude, longitude, } = res; wx.request({ url: getApp().globalData.postHeadAgreement + '/restapi/wechat/userChargStations', data: { userId: userInfo.userId, lat: latitude, lon: longitude }, method: 'POST', success(res) { //console.log(res); let { data: chargstations } = res; chargstations.forEach((item, index) => { if (item.chargStationName && worksheetinfo.chargStationName && item.chargStationName == worksheetinfo.chargStationName) { that.setData({ chargstationsindex: index }); } }); that.setData({ chargstations }); } }); } }); } wx.request({ url: getApp().globalData.postHeadAgreement + '/restapi/wechat/getuserworksheet', data: worksheetinfo.id, method: 'POST', success(res) { //console.log(res); let accendantids = []; res.data.forEach((item, index) => { accendantids.push(item.userId); }); that.setData({ accendantids }); } }); }, openSign(e) { let url = `/pages/sign/sign`; wx.navigateTo({ url }); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function() { }, /** * 生命周期函数--监听页面显示 */ onShow: function() { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function() { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function() { }, /** * 用户点击右上角分享 */ onShareAppMessage: function() { } })