From 8d0666cab2a3ff820a4cf1361cfeaaf4aa80af89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=9C=E7=8E=89=E7=90=A6?= <7507756+jiang_yuqi@user.noreply.gitee.com> Date: Wed, 30 Aug 2023 23:57:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- miniprogram/app.js.mine | 71 --- miniprogram/app.json | 8 +- .../pageage/project_checking/add/index.js | 8 +- .../pageage/project_measure/add/index.js | 446 ++++++++++++++++++ .../pageage/project_measure/add/index.json | 6 + .../pageage/project_measure/add/index.wxml | 138 ++++++ .../pageage/project_measure/add/index.wxss | 7 + .../pageage/project_measure/info/index.js | 180 +++++++ .../pageage/project_measure/info/index.json | 4 + .../pageage/project_measure/info/index.wxml | 108 +++++ .../pageage/project_measure/info/index.wxss | 23 + .../pageage/project_measure/list/index.js | 143 ++++++ .../pageage/project_measure/list/index.json | 7 + .../pageage/project_measure/list/index.wxml | 62 +++ .../pageage/project_measure/list/index.wxss | 1 + .../quality/add/index.js | 6 +- .../quality/add/index.wxml | 2 +- .../quality/check/index.js | 6 +- .../quality/info/index.js | 4 +- .../quality/modify/index.js | 6 +- .../security/add/index.js | 4 +- .../security/add/index.wxml | 2 +- .../security/check/index.js | 6 +- .../security/info/index.js | 4 +- .../security/modify/index.js | 6 +- .../pageage/project_special/add/index.js | 333 +++++++++++++ .../pageage/project_special/add/index.json | 6 + .../pageage/project_special/add/index.wxml | 120 +++++ .../pageage/project_special/add/index.wxss | 36 ++ .../pageage/project_special/info/index.js | 202 ++++++++ .../pageage/project_special/info/index.json | 7 + .../pageage/project_special/info/index.wxml | 108 +++++ .../pageage/project_special/info/index.wxss | 23 + .../pageage/project_special/list/index.js | 151 ++++++ .../pageage/project_special/list/index.json | 7 + .../pageage/project_special/list/index.wxml | 61 +++ .../pageage/project_special/list/index.wxss | 1 + .../pageage/project_train/add/index.js | 13 +- .../pageage/project_train/add/index.wxml | 5 + .../pageage/project_train/add/index.wxss | 10 + .../components/voucher-select/index.wxml | 2 +- miniprogram/pages/login/login.js | 20 +- miniprogram/pages/login/login.wxml | 7 +- miniprogram/pages/login/login.wxss | 10 +- 44 files changed, 2264 insertions(+), 116 deletions(-) delete mode 100644 miniprogram/app.js.mine create mode 100644 miniprogram/pageage/project_measure/add/index.js create mode 100644 miniprogram/pageage/project_measure/add/index.json create mode 100644 miniprogram/pageage/project_measure/add/index.wxml create mode 100644 miniprogram/pageage/project_measure/add/index.wxss create mode 100644 miniprogram/pageage/project_measure/info/index.js create mode 100644 miniprogram/pageage/project_measure/info/index.json create mode 100644 miniprogram/pageage/project_measure/info/index.wxml create mode 100644 miniprogram/pageage/project_measure/info/index.wxss create mode 100644 miniprogram/pageage/project_measure/list/index.js create mode 100644 miniprogram/pageage/project_measure/list/index.json create mode 100644 miniprogram/pageage/project_measure/list/index.wxml create mode 100644 miniprogram/pageage/project_measure/list/index.wxss create mode 100644 miniprogram/pageage/project_special/add/index.js create mode 100644 miniprogram/pageage/project_special/add/index.json create mode 100644 miniprogram/pageage/project_special/add/index.wxml create mode 100644 miniprogram/pageage/project_special/add/index.wxss create mode 100644 miniprogram/pageage/project_special/info/index.js create mode 100644 miniprogram/pageage/project_special/info/index.json create mode 100644 miniprogram/pageage/project_special/info/index.wxml create mode 100644 miniprogram/pageage/project_special/info/index.wxss create mode 100644 miniprogram/pageage/project_special/list/index.js create mode 100644 miniprogram/pageage/project_special/list/index.json create mode 100644 miniprogram/pageage/project_special/list/index.wxml create mode 100644 miniprogram/pageage/project_special/list/index.wxss diff --git a/miniprogram/app.js.mine b/miniprogram/app.js.mine deleted file mode 100644 index 9aefa08..0000000 --- a/miniprogram/app.js.mine +++ /dev/null @@ -1,71 +0,0 @@ -//app.js - -//全局分享 -!function(){ - var PageTmp = Page; - Page =function (pageConfig) { - // 设置全局默认分享 - pageConfig = Object.assign({ - //右上角分享功能 - onShareAppMessage () { - return { - title: '智能工地+',//分享标题 - path: '/pages/login/login',//分享用户点开后页面 - success (res) { - console.log('分享成功!') - } - } - } - },pageConfig); - PageTmp(pageConfig); - }; -}(); - -App({ - globalData: { - paramDeptId:'', - //请求地址参数 - //reqUrl:"http://192.168.31.126:9981", - //reqUrl:'https://zngdtest.makalu.cc/', - reqUrl:'https://zngd.makalu.cc', - //地图相关参数 - scale:'', - initialLon:'', - initialLat:'', - markers:[], - //页面跳转参数 - type:'', - value1:'省', - value2:'市/区', - value3:'公司', - projectInfoList:{}, - projectId:'', - projectName:'', - }, - - onLaunch: function () { - if (!wx.cloud) { - console.error('请使用 2.2.3 或以上的基础库以使用云能力') - } else { - wx.cloud.init({ - // env 参数说明: - // env 参数决定接下来小程序发起的云开发调用(wx.cloud.xxx)会默认请求到哪个云环境的资源 - // 此处请填入环境 ID, 环境 ID 可打开云控制台查看 - // 如不填则使用默认环境(第一个创建的环境) - // env: 'my-env-id', - traceUser: true, - }) - } - }, - - //页面弹窗 - toast: function (msg) { - wx.showToast({ - title: msg, - icon: 'none', - duration: 2000, - mask: true - }); - } - -}) \ No newline at end of file diff --git a/miniprogram/app.json b/miniprogram/app.json index e032c51..a25a8fe 100644 --- a/miniprogram/app.json +++ b/miniprogram/app.json @@ -90,7 +90,13 @@ "project_schedule/info/index", "project_train/list/index", "project_train/add/index", - "project_train/info/index" + "project_train/info/index", + "project_special/list/index", + "project_special/add/index", + "project_special/info/index", + "project_measure/list/index", + "project_measure/add/index", + "project_measure/info/index" ], "independent": false } diff --git a/miniprogram/pageage/project_checking/add/index.js b/miniprogram/pageage/project_checking/add/index.js index 15bbeef..98c4b78 100644 --- a/miniprogram/pageage/project_checking/add/index.js +++ b/miniprogram/pageage/project_checking/add/index.js @@ -16,7 +16,7 @@ Page({ rectifierData:[], rectifierData2:[], imageInfoData:[], - checkingResult:"", + checkingResult:"1", //验收时间 checkTime:'', loadShow:false, @@ -136,7 +136,7 @@ Page({ //取消页面 cancelSaveView(){ - wx.navigateBack() + this.returnToPage() }, //保存 @@ -243,7 +243,7 @@ Page({ if(res.code == 200){ app.toast("添加成功!") setTimeout(()=>{ - wx.navigateTo({ + wx.redirectTo({ url: '../list/index', }) },200) @@ -290,7 +290,7 @@ Page({ returnToPage: function () { /*关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面*/ - wx.navigateTo({ + wx.redirectTo({ url: '../list/index', }) }, diff --git a/miniprogram/pageage/project_measure/add/index.js b/miniprogram/pageage/project_measure/add/index.js new file mode 100644 index 0000000..bddea3a --- /dev/null +++ b/miniprogram/pageage/project_measure/add/index.js @@ -0,0 +1,446 @@ +// pageage/safetyManagement/addSafetyInspect/index.js +const app = getApp() +Page({ + + /** + * 页面的初始数据 + */ + data: { + maxDate:new Date(2088,1,1).getTime(), + deptId:"", + projectId:"", + projectName:"", + loginName:"", + rectifierData:[], + rectifierData2:[], + imageInfoData:[], + loadShow:false, + measureType:"1", + measureTypeList:[], + measureInfo:"1", + measureInfoTypeList:[], + measurePosition:"", + measurePointPosition:"", + qualityUser:"", + qualityUserName:"", + superviseUser:"", + superviseUserName:"", + //验收时间 + measureTime:'', + measureResult:"1", + resultList:[{id:1,text:"合格"},{id:2,text:"不合格"}] + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + let {projectId,projectName} = options + //获取缓存数据 + wx.getStorage({ + key: 'userinfo', + success:res=>{ + this.setData({ + projectId, + projectName, + deptId:res.data.deptId, + loginName:res.data.loginName + }) + this.getProjectUserData(); + this.getMeasureTypeList(); + this.getMeasureInfoTypeList(); + } + }) + }, + + //查询项目人员数据 + getProjectUserData(){ + let that = this + wx.request({ + url: app.globalData.reqUrl+'/wechat/projectuserinfo/list', + method:"get", + data:{ + projectId:that.data.projectId + }, + header:{ + 'content-type': 'application/x-www-form-urlencoded' + }, + success(res){ + res = res.data + if(res.code == 200){ + that.setData({ + rectifierData:res.data, + rectifierData2:res.data + }) + } + } + }) + }, + + getMeasureTypeList(){ + let that = this + wx.request({ + url: app.globalData.reqUrl+'/wechat/projectMeasure/queryDictType', + method:"get", + data:{ + type:'project_measure_type' + }, + header:{ + 'content-type': 'application/x-www-form-urlencoded' + }, + success(res){ + res = res.data + if(res.code == 200){ + let list=[]; + res.data.forEach(it =>{ + list.push({"id":it.dictValue,"text":it.dictLabel}); + }) + that.setData({ + measureTypeList:list + }) + } + } + }) + }, + + getMeasureInfoTypeList(){ + let that = this + wx.request({ + url: app.globalData.reqUrl+'/wechat/projectMeasure/queryDictType', + method:"get", + data:{ + type:'project_measure_info_type' + }, + header:{ + 'content-type': 'application/x-www-form-urlencoded' + }, + success(res){ + res = res.data + if(res.code == 200){ + let list=[]; + res.data.forEach(it =>{ + list.push({"id":it.dictValue,"text":it.dictLabel}); + }) + that.setData({ + measureInfoTypeList:list + }) + } + } + }) + }, + + //测量部位 + onInputMeasurePosition(e){ + let measurePosition = e.detail.value + this.setData({ + measurePosition + }) + }, + + //测量点位 + onInputMeasurePointPosition(e){ + let measurePointPosition = e.detail.value + this.setData({ + measurePointPosition + }) + }, + + //验收时间 + onInputTime(e){ + let measureTime = e.detail + this.setData({ + measureTime + }) + }, + + // list 上传图片 + onImagesArr(e){ + var data = this.data.imageInfoData + data = e.detail + this.setData({ + imageInfoData:data + }) + }, + + //添加质量专员 + onAddQualityUser(e){ + if(e.detail.length>0){ + this.setData({ + qualityUser:e.detail[0].phoneNumber, + qualityUserName:e.detail[0].userName + }) + } + }, + + //添加监理专员 + onAddSuperviseUser(e){ + if(e.detail.length>0){ + this.setData({ + superviseUser:e.detail[0].phoneNumber, + superviseUserName:e.detail[0].userName + }) + } + }, + + //切换测量结果 + onSelectType(e){ + this.setData({ + measureResult:e.detail.id + }) + }, + + //取消页面 + cancelSaveView(){ + this.returnToPage() + }, + + //保存 + onSave(){ + this.setData({ + loadShow:true + }) + let that = this + let {projectId,loginName, deptId,measureType, + measureInfo, + measurePosition, + measurePointPosition, + qualityUser, + qualityUserName, + superviseUser, + superviseUserName, + measureTime, + measureResult,imageInfoData} = that.data; + //数据效验 + if(projectId==""||loginName==""||deptId==""){ + app.toast("数据异常,请刷新页面重试!") + that.setData({ + loadShow:false + }) + return; + } + if(imageInfoData.length==0){ + app.toast("请上传测量现场图片!") + that.setData({ + loadShow:false + }) + return; + } + if(measureType==""){ + app.toast("请选择测量类型!") + that.setData({ + loadShow:false + }) + return; + } + if(measureInfo==""){ + app.toast("请选择测量内容!") + that.setData({ + loadShow:false + }) + return; + } + if(measurePosition==""){ + app.toast("请填写测量部位!") + that.setData({ + loadShow:false + }) + return; + } + if(measurePointPosition==""){ + app.toast("请填写测量点位!") + that.setData({ + loadShow:false + }) + return; + } + if(qualityUser==""||qualityUserName==""){ + app.toast("请选择质量专员!") + that.setData({ + loadShow:false + }) + return; + } + if(superviseUser==""||superviseUserName==""){ + app.toast("请选择监理专员!") + that.setData({ + loadShow:false + }) + return; + } + if(measureTime==""){ + app.toast("请选择测量时间!") + that.setData({ + loadShow:false + }) + return; + } + if(measureResult==""){ + app.toast("请选择测量结果!") + that.setData({ + loadShow:false + }) + return; + } + if(superviseUser==qualityUser){ + app.toast("质量专员和监理专员不能是同一人!") + that.setData({ + loadShow:false + }) + return; + } + let fileUrls = []; + imageInfoData.forEach(async (item)=>{ + let uploadUrl = app.globalData.uploadUrl+'/common/upload' + let name = "file" + //这里复杂的图片上传,改为同步上传,因为小程序只能上传一张图片 + let obj = await that.syncUploadImage(uploadUrl,item,name); + fileUrls.push(obj.data.fileName); + //验证图片上传完毕 + if(fileUrls.length == imageInfoData.length){ + let params = { + projectId, + deptId, + imageUrls:fileUrls.toString(), + measureType, + measureInfo, + measurePosition, + measurePointPosition, + qualityUser, + qualityUserName, + superviseUser, + superviseUserName, + measureTime:measureTime+":00", + measureResult, + createBy:loginName + } + wx.request({ + url: app.globalData.reqUrl + '/wechat/projectMeasure/add', + method:"POST", + data:params, + header: { + "Username": loginName, + "Content-Type": "application/json" + }, + success(res){ + that.setData({ + loadShow:false + }) + res = res.data + if(res.code == 200){ + app.toast("添加成功!") + setTimeout(()=>{ + wx.redirectTo({ + url: '../list/index', + }) + },200) + } + } + }) + } + }) + }, + + /** + * 这里考虑上传图片异步问题,封装为同步 + */ + 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) + } + }); + }) + }, + + //选择测量类型 + onSelectMeasureType(e){ + this.setData({ + measureType:e.detail.id + }) + }, + + //选择测量内容 + onSelectMeasureInfo(e){ + this.setData({ + measureInfo:e.detail.id + }) + }, + + returnToPage: function () { + /*关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面*/ + wx.redirectTo({ + url: '../list/index', + }) + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/miniprogram/pageage/project_measure/add/index.json b/miniprogram/pageage/project_measure/add/index.json new file mode 100644 index 0000000..aeb0384 --- /dev/null +++ b/miniprogram/pageage/project_measure/add/index.json @@ -0,0 +1,6 @@ +{ + "usingComponents": { + "van-overlay": "@vant/weapp/overlay/index" + }, + "navigationStyle":"custom" +} \ No newline at end of file diff --git a/miniprogram/pageage/project_measure/add/index.wxml b/miniprogram/pageage/project_measure/add/index.wxml new file mode 100644 index 0000000..4691739 --- /dev/null +++ b/miniprogram/pageage/project_measure/add/index.wxml @@ -0,0 +1,138 @@ + + + + + + + + + 新增实测实量 + + + + + + + + {{projectName}} + + + 测量图片 + + + + + + 测量类型 + + + + + + 测量内容 + + + + + + 测量部位 + +