// pageage/safetyManagement/addSafetyInspect/index.js const app = getApp() Page({ /** * 页面的初始数据 */ data: { maxDate:new Date(2099,1,1).getTime(), projectId:"", loginName:"", userName:"", personnelShow:false, rectifierData:[], inspectInfoData:[ { existing_problems:'', image_upload:[], person_responsible:[] }, ], stateNav:2, checkType:1, //检查部位名称 checkSiteName:'', //检查时间 checkTime:'', //检查限制时间 checkImposeTime:'', loadShow:false }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { let {projectId} = options //获取缓存数据 wx.getStorage({ key: 'userinfo', success:res=>{ this.setData({ projectId, loginName:res.data.loginName, userName:res.data.userName }) this.getRectifierData() } }) }, //获取选中人信息 getRectifierData(){ let that = this let {projectId} = this.data wx.request({ url: app.globalData.szhUrl+'/system/checkDutyUser/list', method:"POST", data:{ projectId }, header:{ 'content-type': 'application/x-www-form-urlencoded' }, success(res){ res = res.data if(res.code == 0 && res.rows.length > 0){ let tempdata = [] res.rows.forEach(item=>{ tempdata.push({ state:false, name:item.userName, url: item.photoUrl, loginName:item.loginName, userId:item.userId }) }) that.setData({ rectifierData:tempdata }) } } }) }, //切换检查类型 onStateSelect(e){ let state = e.currentTarget.dataset.set; this.setData({ stateNav:state, }); }, //检查部位 onInputValue(e){ let checkSiteName = e.detail.value this.setData({ checkSiteName }) }, //检查时间 onStartTime(e){ let checkTime = e.detail this.setData({ checkTime }) }, //限期整改时间 onEndTime(e){ let checkImposeTime = e.detail this.setData({ checkImposeTime }) }, // list 上传图片 onImagesArr(e){ var index = e.currentTarget.dataset.index var data = this.data.inspectInfoData data[index].image_upload = e.detail this.setData({ inspectInfoData:data }) }, //新增问题 onNewIssues(){ var data = this.data.inspectInfoData data.push( { existing_problems:'', image_upload:[], person_responsible:[] } ) this.setData({ inspectInfoData:data }) }, //删除 onNewIssuesDelete(e){ var index = e.currentTarget.dataset.index var data = this.data.inspectInfoData data.splice(index, 1)  this.setData({ inspectInfoData:data }) }, // 存在问题input onPositionInput(e){ var index = e.currentTarget.dataset.index var data = this.data.inspectInfoData data[index].existing_problems = e.detail.value this.setData({ inspectInfoData:data }) }, //添加整改责任人 onAddResponsible(e){ var index = e.currentTarget.dataset.index var data = this.data.inspectInfoData data[index].person_responsible = e.detail this.setData({ inspectInfoData:data }) }, //取消页面 cancelSaveView(){ wx.navigateBack() }, //保存 onProblemSubmitSave(){ this.setData({ loadShow:true }) let that = this let {projectId,loginName,userName,checkType,stateNav,checkSiteName,checkTime,checkImposeTime,inspectInfoData} = that.data if(stateNav == '3'){ stateNav = '2' checkType = '2' } //数据校验 if(!checkSiteName || checkSiteName.length<=0 || !checkTime || checkTime.length <= 0 || !checkImposeTime || checkImposeTime.length <= 0){ app.toast("数据填写不完整!") that.setData({ loadShow:false }) return; } //校验信息 let flag = false for(let i = 0;i { console.log(app.globalData.reqUrl+'/weixin/security/fileUploads') let beforeCheckUrl = [] item.image_upload.forEach(async (item1)=>{ let requestUrl = app.globalData.reqUrl+'/weixin/security/fileUpload' let name = "file" //这里复杂的图片上传,改为同步上传,因为小程序只能上传一张图片 let photoUrlObj = await that.syncUploadImage(requestUrl,item1,name) beforeCheckUrl.push(photoUrlObj.data.url) if(beforeCheckUrl.length >= item.image_upload.length){ tempInspectInfoData.push({ issueContext:item.existing_problems, beforeCheckUrl:beforeCheckUrl.join(","), checkUserId:item.person_responsible[0].userId, checkUserName:item.person_responsible[0].name, checkLoginName:item.person_responsible[0].loginName, }) } if(tempInspectInfoData.length >= inspectInfoData.length){ let params = { projectId, checkLoginName:loginName, checkType, userName, deptId:"131", checkTitle:stateNav, checkSiteName, checkTime, checkImposeTime, saftCheckIssueItemList:tempInspectInfoData } wx.request({ url: app.globalData.szhUrl + '/system/saftcheckissue/addJson', method:"POST", data:params, header: { "Content-Type": "application/json" }, success(res){ that.setData({ loadShow:true }) res =res.data if(res.code == 0){ app.toast("添加成功!") setTimeout(()=>{ wx.navigateTo({ url: '../securityCheckGR/index', }) },2000) } } }) } }) }) }, /** * 这里考虑上传图片异步问题,封装为同步 */ syncUploadImage(url,uploadFile,name) { return new Promise((resolve, reject) => { wx.uploadFile({ url, // 上传的服务器接口地址 filePath: uploadFile, header: { "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8" }, name, //上传的所需字段,后端提供 formData: { user: 'test' }, success: (res) => { // 上传完成操作 const data = JSON.parse(res.data) resolve({ data: data }) }, fail: (err) => { //上传失败:修改pedding为reject console.log("访问接口失败", err); wx.showToast({ title: "网络出错,上传失败", icon: 'none', duration: 1000 }); reject(err) } }); }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })