// miniprogram/pages/addDevice/addDevice.js var app = getApp(); Page({ /** * 页面的初始数据 */ data: { pageName: '', showMask: false, today: new Date().getTime(), longitude: '', latitude: '', photopath1: '', photopath2: '', photopath3: '', option1: [{ text: '雨水井', value: "1" }, { text: '污水井', value: "2" }, { text: '燃气井', value: "3" }, { text: '热力井', value: "4" }, { text: '电力井', value: "5" }, ], personoption1: [], projectoption: [], devcode: "", deviceMode: "", installtimeFmt: '', show: false, form: { devcode: "", wellcode: "", welltype: "", welldepth: "", installheigt: "", installperson: "", installtimeFmt: "", photopath: "", factory: "", workmsg: "", position: "", description: "", longitude: "", latitude: "", longitude84: "", latitude84: "", devicetype: "", project: "", area: "", street: "", wellname: "" }, fileList: [], detail: "" }, onDisplay() { this.setData({ show: true }); }, onClose() { this.setData({ show: false }); }, formatDate() { var date = new Date(); // return `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`; var seperator1 = "-"; var month = date.getMonth() + 1; var strDate = date.getDate(); var hour = date.getHours() var minute = date.getMinutes() var second = date.getSeconds() month = month > 9 ? month : "0" + month; strDate = strDate > 9 ? strDate : "0" + strDate; hour = hour > 9 ? hour : "0" + hour; minute = minute > 9 ? minute : "0" + minute; second = second > 9 ? second : "0" + second; var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate + " " + hour + ":" + minute + ":" + second; return currentdate; }, onConfirm(event) { var installtime = 'form.installtimeFmt'; this.setData({ show: false, installtimeFmt: this.formatDate(event.detail), [installtime]: this.formatDate(event.detail), }); }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { var _this = this; wx.cloud.callFunction({ name: 'getPerson', data: { url: app.globalData.url + "deviceType/getUser" }, }).then(res => { if (res.result.code == 200) { var users = res.result.data var personArr = []; for (var i = 0; i < users.length; i++) { var person = { text: users[i].name, value: users[i].name }; personArr.push(person); } _this.setData({ personoption1: personArr }) } }).catch(err => { console.error(err); }) wx.cloud.callFunction({ name: 'getProject', data: { url: app.globalData.url + "project/getProject" }, }).then(res => { if (res.result.code == 200) { var projectList = res.result.data var projectArr = []; for (var i = 0; i < projectList.length; i++) { var project = { text: projectList[i].projectName, value: projectList[i].projectName }; projectArr.push(project); } _this.setData({ projectoption: projectArr }) } }).catch(err => { console.error(err); }) if (options.pageName) { this.setData({ pageName: options.pageName }) } if (options.detail) { var formObject = JSON.parse(options.detail); _this.setData({ form: formObject, detail: options.detail }) _this.setData({ ['form.installperson']: "", ['form.installtimeFmt']: "", ['form.workmsg']: "", ['form.description']: "" }) const { fileList = [] } = _this.data; if (formObject.photopath1 != "") { var file1 = { url: app.globalData.url + "static/" + formObject.photopath1 } fileList.push(file1) } if (formObject.photopath2 != "") { var file2 = { url: app.globalData.url + "static/" + formObject.photopath2 } fileList.push(file2) } if (formObject.photopath3 != "") { var file3 = { url: app.globalData.url + "static/" + formObject.photopath3 } fileList.push(file3) } _this.setData({ fileList }); } var installtime = 'form.installtimeFmt'; var dateNow = this.formatDate(); this.setData({ installtimeFmt: dateNow, [installtime]: dateNow, }); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { }, /** * 校验只要是数字(包含正负整数,0以及正负浮点数)就返回true **/ isNumber: function (val) { var regPos = /^[0-9]*$/; //非负浮点数 var regNeg = /^(-?\d+)(\.\d+)?$/; //负浮点数 if (regPos.test(val) || regNeg.test(val)) { return false; } else { return true; } }, formValidate() { if (this.data.form.devcode == "") { wx.showToast({ icon: 'none', title: '设备编号不能为空!', }) return false } if (this.data.form.area == "") { wx.showToast({ icon: 'none', title: '区不能为空!', }) return false } if (this.data.form.street == "") { wx.showToast({ icon: 'none', title: '街道不能为空!', }) return false } if (this.data.form.wellcode == "") { wx.showToast({ icon: 'none', title: '井编号不能为空!', }) return false } if (this.data.form.devicetype == "") { wx.showToast({ icon: 'none', title: '设备类型不能为空!', }) return false } if (this.data.form.longitude == "" || this.data.form.latitude == "") { wx.showToast({ icon: 'none', title: '经纬度不能为空!', }) return false } if (this.data.form.position == "") { wx.showToast({ icon: 'none', title: '位置描述不能为空!', }) return false } if (this.data.form.installperson == null || this.data.form.installperson == '') { wx.showToast({ icon: 'none', title: '运维人员不能为空!', }) return false } if (this.data.form.project == "") { wx.showToast({ icon: 'none', title: '所属项目不能为空!', }) return false } if (this.data.form.welldepth != null) { if (this.isNumber(this.data.form.welldepth)) { wx.showToast({ icon: 'none', title: '井深必须为数值!', }) return false } } if (this.data.form.installheigt != null) { if (this.isNumber(this.data.form.installheigt)) { wx.showToast({ icon: 'none', title: '到井口距离必须为数值!', }) return false } } return true; }, changeMsg: function () { var formNew = this.data.form; var formOld = JSON.parse(this.data.detail); var descpNew = ""; if (formNew.devcode != formOld.devcode) { descpNew += "修改设备编号,原编号:" + formOld.devcode + ",新编号:" + formNew.devcode + ";" } if (formNew.devicetype != formOld.devicetype) { descpNew += "修改设备类型,原设备类型:" + formOld.devicetype + ",新设备类型:" + formNew.devicetype + ";" } if (formNew.area != formOld.area) { descpNew += "修改区,原区:" + formOld.area + ",新区:" + formNew.area + ";" } if (formNew.street != formOld.street) { descpNew += "修改街道,原街道:" + formOld.street + ",新街道:" + formNew.street + ";" } if (formNew.wellname != formOld.wellname) { descpNew += "修改井名称,原井名称:" + formOld.wellname + ",新井名称:" + formNew.wellname + ";" } if (formNew.factory != formOld.factory) { descpNew += "修改权属单位,原权属单位:" + formOld.factory + ",新权属单位:" + formNew.factory + ";" } if (formNew.installheigt != formOld.installheigt) { descpNew += "修改井口距离,原井口距离:" + formOld.installheigt + ",新井口距离:" + formNew.installheigt + ";" } if (formNew.installperson != formOld.installperson) { descpNew += "修改运维人员,原运维人员:" + formOld.installperson + ",新运维人员:" + formNew.installperson + ";" } if (formNew.latitude != formOld.latitude) { descpNew += "修改纬度,原纬度:" + formOld.latitude + ",新纬度:" + formNew.latitude + ";" } if (formNew.longitude != formOld.longitude) { descpNew += "修改经度,原经度:" + formOld.longitude + ",新经度:" + formNew.longitude + ";" } if (formNew.position != formOld.position) { descpNew += "修改位置描述,原位置:" + formOld.position + ",新位置:" + formNew.position + ";" } if (formNew.wellcode != formOld.wellcode) { descpNew += "修改井编号,原编号:" + formOld.wellcode + ",新编号:" + formNew.wellcode + ";" } if (formNew.welldepth != formOld.welldepth) { descpNew += "修改井深,原井深:" + formOld.welldepth + ",新井深:" + formNew.welldepth + ";" } if (formNew.welltype != formOld.welltype) { descpNew += "修改井类型,原井类型:" + formOld.welltype + ",新井类型:" + formNew.welltype + ";" } if (formNew.project != formOld.project) { descpNew += "修改所属项目,原项目:" + formOld.project + ",新项目:" + formNew.project + ";" } if (this.data.photopath1 != formOld.photopath1 || this.data.photopath2 != formOld.photopath2 || this.data.photopath3 != formOld.photopath3) { descpNew += "修改照片;" } if ("" != formNew.description) { descpNew += formNew.description; } this.setData({ ['form.description']: descpNew }) }, formSubmit: function (event) { if (!this.formValidate()) { return false; } this.changeMsg(); var that = this; var fileList = that.data.fileList; for (var i = 0; i < fileList.length; i++) { var photopath = 'photopath' + [Number(i) + 1] this.setData({ [photopath]: fileList[i].url.split("static/")[1] }) } wx.cloud.callFunction({ name: 'addDeviceLog', data: { device: that.data.form, photopath1: that.data.photopath1, photopath2: that.data.photopath2, photopath3: that.data.photopath3, url: app.globalData.url + "appDeviceLog/add" }, }).then(res => { // var resultObj=JSON.parse(res.result); if (res.result.code == 200) { wx.showModal({ content: '提交成功,是否返回?', success: function (res) { if (res.confirm) { wx.switchTab({ url: that.data.pageName }) } else { //这里是点击了取消以后 console.log('用户点击取消') } } }) } }).catch(err => { console.error(err) wx.showToast({ title: "提交失败", }) }) }, confirm(event) { var that = this; var formValue = event.detail.value; var formName = event.target.dataset.id; var fromN = 'form.' + [formName]; that.setData({ [fromN]: formValue }) }, scan() { wx.scanCode({ success(res) { console.log(res) } }) }, paste() { var _this = this; wx.getClipboardData({ success: function (res) { var longitude = 'form.longitude'; var latitude = 'form.latitude'; var longitude84 = 'form.longitude84'; var latitude84 = 'form.latitude84'; _this.setData({ [longitude]: parseFloat(res.data.split(",", 4)[1]).toFixed(6), [latitude]: parseFloat(res.data.split(",", 4)[0]).toFixed(6), [longitude84]: "" == (res.data.split(",", 4)[3]) ? "" : parseFloat(res.data.split(",", 4)[3]).toFixed(6), [latitude84]: "" == (res.data.split(",", 4)[2]) ? "" : parseFloat(res.data.split(",", 4)[2]).toFixed(6), longitude: parseFloat(res.data.split(",", 4)[1]).toFixed(6), latitude: parseFloat(res.data.split(",", 4)[0]).toFixed(6), }); } }) }, selectValue(value) { var that = this; var wellType = 'form.welltype'; that.setData({ [wellType]: value.detail }) }, selectpersonValue(event) { var that = this; var installPerson = 'form.installperson'; that.setData({ [installPerson]: event.detail }) }, selectprojectValue(event) { var that = this; var project = 'form.project'; that.setData({ [project]: event.detail, showMask: true }) }, open() { this.setData({ showMask: true }) }, close() { this.setData({ showMask: false }) }, afterRead(event) { var _this = this; const { file } = event.detail; const { fileList = [] } = _this.data; var convertpath = ""; wx.compressImage({ src: event.detail.file.path, quality: 25, success: function (res) { convertpath = res.tempFilePath; wx.uploadFile({ url: app.globalData.httpsUrl + "appDeviceAdd/fileUploadMarker", filePath:convertpath, name: 'file', formData: { 'text': "编号:" + _this.data.form.devcode + "经度:" + _this.data.form.longitude + "纬度:" + _this.data.form.latitude }, header: { "Content-Type": "multipart/form-data", 'accept': 'application/json', }, success(res) { if (res.data) { var url = JSON.parse(res.data); fileList.push({ ...file, url: app.globalData.httpsUrl + "static/" + url.data.replace(/\\/g, "/") }); _this.setData({ fileList }); } } }) } }) // wx.compressImage({ // src: event.detail.file.path, // quality: 25, // success: function (res) { // convertpath = res.tempFilePath; // // var base64 = "data:image/png;base64," + wx.getFileSystemManager().readFileSync(convertpath, 'base64'); // wx.uploadFile({ // url: app.globalData.httpsUrl + "appDeviceAdd/fileUpload", // filePath: convertpath, // name: 'file', // // formData: { // // 'devcode': '642019010001' // // }, // header: { // "Content-Type": "multipart/form-data", // 'accept': 'application/json', // }, // success(res) { // if (res.data) { // var url = JSON.parse(res.data); // fileList.push({ // ...file, // url: app.globalData.httpsUrl + "static/" + url.data.replace(/\\/g, "/") // }); // _this.setData({ // fileList // }); // } // } // }) // // wx.cloud.callFunction({ // // name: 'uploadFile', // // data: { // // url: app.globalData.httpsUrl + "appDeviceAdd/fileUpload", // // fileBase64: base64 // // }, // // success: function (res) { // // if (res.result) { // // fileList.push({ // // ...file, // // url: app.globalData.url + "static/" + res.result.data.replace(/\\/g, "/") // // }); // // _this.setData({ // // fileList // // }); // // } // // }, // // complete: res => { // // }, // // }) // } // }); }, deletePhoto(event) { var that = this var image_index = event.detail.index var fileList_new = that.data.fileList; wx.showModal({ content: '确定删除照片?', success: function (res) { if (res.confirm) { fileList_new.splice(image_index, 1); that.setData({ fileList: fileList_new }) wx.cloud.callFunction({ name: 'deletePhoto', data: { url: app.globalData.url + "appDeviceLog/deletePhoto", devcode: that.data.form.devcode, pathIndex: image_index }, success: function (res) {}, complete: res => {}, }) } else { //这里是点击了取消以后 console.log('用户点击取消') } } }) }, })