<template> <view > <cu-custom bgColor="bg-gradual-blueness" :isBack="true" > <block slot="backText">返回</block> <block slot="content">完工验收</block> </cu-custom> <scroll-view scroll-y="false" > <view class="form"> <view class="wui-form-list"> <view class="cu-form-group"> <view class="title">编号:</view> <input name="input" ref="CHECK_NO" :disabled="forbidEdit" v-model="pd.CHECK_NO" placeholder="请输入编号"></input> </view> <view class="cu-form-group group-picker"> <view class="title">申请部门:</view> {{pd.APPLY_DEPARTMENT_NAME}} </view> <view class="cu-form-group "> <view class="title">作业开始时间</view> <ruiDatePicker v-if="!forbidEdit" :start="todayDate" fields="minute" :value="pd.WORK_START_DATE?pd.WORK_START_DATE:''" @change="changeStartDate"></ruiDatePicker> <view v-else>{{pd.WORK_START_DATE}}</view> </view> <view class="cu-form-group"> <view class="title">作业结束时间</view> <ruiDatePicker v-if="!forbidEdit" :start="todayDate" fields="minute" :value="pd.WORK_END_DATE?pd.WORK_END_DATE:''" @change="changeEndDate"></ruiDatePicker> <view v-else>{{pd.WORK_END_DATE}}</view> </view> <view class="cu-form-group bb-default"> <view class="title">作业地点:</view> <input name="input" ref="WORK_PLACE" :disabled="forbidEdit" v-model="pd.WORK_PLACE" placeholder="请输入作业地点"></input> </view> <view class="cu-form-group bb-default"> <view class="title">作业内容:</view> <input name="input" ref="JOB_CONTENT" :disabled="forbidEdit" v-model="pd.JOB_CONTENT" placeholder="请输入作业内容"></input> </view> <!-- <view class="cu-form-group bb-default">--> <!-- <view class="title">监护人:</view>--> <!-- <input name="input" ref="GUARDIAN_USER" :disabled="forbidEdit" v-model="pd.GUARDIAN_USER"--> <!-- placeholder="请输入监护人"></input>--> <!-- </view>--> <view class="cu-form-textarea"> <view class="cu-form-title">作业内容、范围、方式:</view> <textarea maxlength="255" :disabled="forbidEdit" v-model="pd.WORK_CONTENT" placeholder="请输入动土内容、范围、方式"></textarea> </view> <view class="cu-bar"> <view class="action" style="font-weight: bold;"> 作业内容、范围、方式简图: </view> </view> <view class="cu-form-group bb-default"> <view class="grid col-4 grid-square flex-sub"> <view v-if="pd.CONTENT_IMG_PATH"> <image :src="baseImgPath + pd.CONTENT_IMG_PATH" mode="aspectFill" @click="previewImage(baseImgPath + pd.CONTENT_IMG_PATH)"></image> </view> </view> </view> <view class="cu-form-textarea"> <view class="cu-form-title">关联的其他特殊作业及安全作业票编号</view> <textarea maxlength="255" :disabled="forbidEdit" v-model="pd.SPECIAL_WORK" placeholder="请输入关联的其他特殊作业及安全作业票编号"></textarea> </view> <view class="cu-form-textarea"> <view class="cu-form-title">风险辨识结果</view> <textarea maxlength="255" :disabled="forbidEdit" v-model="pd.HAZARD_IDENTIFICATION" placeholder="请输入风险辨识结果"></textarea> </view> <!-- <view class="cu-form-group">--> <!-- <view class="title">项目负责人:</view>--> <!-- <input name="input" ref="PROJECT_MANAGER" :disabled="forbidEdit" v-model="pd.PROJECT_MANAGER"--> <!-- placeholder="请输入项目负责人"></input>--> <!-- </view>--> <!-- <view class="cu-form-group">--> <!-- <view class="title">作业票编号:</view>--> <!-- <input name="input" ref="WORK_NO" :disabled="forbidEdit" v-model="pd.WORK_NO"--> <!-- placeholder="请输入作业票编号"></input>--> <!-- </view>--> <!-- <view class="cu-form-group">--> <!-- <view class="title">安全交底人:</view>--> <!-- <input name="input" ref="CONFESS_USER" :disabled="forbidEdit" v-model="pd.CONFESS_USER"--> <!-- placeholder="请输入安全交底人"></input>--> <!-- </view>--> <!-- <view class="cu-form-group">--> <!-- <view class="title">接受交底人:</view>--> <!-- <input name="input" ref="ACCEPT_CONFESS_USER" :disabled="forbidEdit" v-model="pd.ACCEPT_CONFESS_USER"--> <!-- placeholder="请输入接受交底人"></input>--> <!-- </view>--> </view> <view class="wui-form-list" style="padding-top: 20upx;"> <view class="wui-title" style="margin-left: 20upx;"> <text class="text-semi">安全防护措施</text> </view> <view class="wui-table" style="padding: 0 20upx;"> <uni-table name='measuresList' border stripe emptyText="暂无更多数据" > <!-- 表头行 --> <uni-tr> <uni-th align="center" style="font-weight: bold;">主要防护措施</uni-th> <uni-th align="center" style="font-weight: bold;">操作</uni-th> </uni-tr> <uni-tr v-for="(item,index) in measuresList" :key="item.BUS_BREAKGROUND_MEASURES_ID"> <uni-td> {{item.PROTECTIVE_MEASURES}} <radio-group class="wui-radio-group wui-mt10" v-if="item.SELECTIONA"> <view class="group" > <radio class='radio' value="A" :checked="item.ANSWER=='A'" disabled> <text class="wui-pl10">{{item.SELECTIONA}}</text></radio> </view> <view class="group"> <radio class='radio' value="B" :checked="item.ANSWER=='B'" disabled> <text class="wui-pl10">{{item.SELECTIONB}}</text></radio> </view> </radio-group> </uni-td> <uni-td align="center"> <radio-group class="wui-radio-group wui-radio-col"> <view class="group" v-if="item.STATUS=='-1'"> <radio class='radio' value="-1" checked> <text class="wui-pl10">不涉及</text> </radio> </view> <view class="group" v-if="item.STATUS=='1'"> <radio class='radio' value="1" checked> <text class="wui-pl10">涉 及</text> </radio> </view> </radio-group> </uni-td> </uni-tr> </uni-table> </view> <view class="cu-form-group"> <view class="title">其他防护措施:</view> <!-- <textarea maxlength="255" ref="OTHER_PROTECTIVE_MEASURES" v-model="pd.OTHER_PROTECTIVE_MEASURES" placeholder="请输入其他防护措施..."></textarea> --> </view> <view v-if="pd.APPLY_USER_MEASURES" class="ty-group"> <text class="title"> 申请人:</text> <text>{{ pd.APPLY_USER_MEASURES}}</text> </view> <view v-if="pd.CONSTRUCTION_USER_MEASURES" class="ty-group"> <text class="title"> 作业单位:</text> <text>{{ pd.CONSTRUCTION_USER_MEASURES}}</text> </view> <view v-if="pd.PRODUCTION_USER_MEASURES" class="ty-group"> <text class="title"> 所在单位:</text> <text>{{ pd.PRODUCTION_USER_MEASURES}}</text> </view> <view v-if="pd.SAFETY_USER_MEASURES" class="ty-group"> <text class="title"> 有关部门:</text> <text>{{ pd.SAFETY_USER_MEASURES}}</text> </view> <view v-if="pd.LEADER_USER_MEASURES" class="ty-group"> <text class="title"> 审批部门:</text> <text>{{ pd.LEADER_USER_MEASURES}}</text> </view> </view> <view class="wui-form-list"> <view v-if="pd.GUARDIAN_USER_SIGNER_PATH"> <view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee"> <view class="cu-form-group" > <view class="title">监护人</view> {{pd.GUARDIAN_USER_NAME}} {{pd.GUARDIAN_USER_SIGNER_TIME}} </view> <view style="width: 400upx; height: 200upx; margin: 30upx;margin-top: 0upx;margin-bottom: 20upx;" > <image :src="baseImgPath + pd.GUARDIAN_USER_SIGNER_PATH" mode="aspectFill" @click="previewImage(baseImgPath + pd.GUARDIAN_USER_SIGNER_PATH)" style="height: 100%;"></image> </view> </view> </view> <view v-if="pd.CONFESS_USER_SIGNER_PATH"> <view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee"> <view class="cu-form-group" > <view class="title">安全交底人</view> {{pd.CONFESS_USER_NAME}} {{pd.CONFESS_USER_SIGNER_TIME}} </view> <view style="width: 400upx; height: 200upx; margin: 30upx;margin-top: 0upx;margin-bottom: 20upx;" > <image :src="baseImgPath + pd.CONFESS_USER_SIGNER_PATH" mode="aspectFill" @click="previewImage(baseImgPath + pd.CONFESS_USER_SIGNER_PATH)" style="height: 100%;"></image> </view> </view> </view> <view v-if="files.length > 0"> <view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee"> <view class="cu-form-group" > <view class="title">接受交底人</view> {{pd.ACCEPT_CONFESS_USER_NAME}} {{pd.ACCEPT_CONFESS_USER_SIGNER_TIME}} </view> <view class="cu-item" v-for="(item,index) in files" :key="index" style="border-bottom: 1px solid #e3e3e3"> <view class="imgs" style="display: flex;justify-content: space-between;align-items: flex-end;padding: 20upx 50upx;"> <image :src="baseImgPath+item.ACCEPT_CONFESS_USER_SIGNER_PATH" :data-index="index" @click="ViewShowImage(baseImgPath+item.ACCEPT_CONFESS_USER_SIGNER_PATH)" mode="" style="width: 200upx;height: 200upx;"></image> <text>{{item.ACCEPT_CONFESS_USER_SIGNER_TIME}}</text> </view> </view> </view> </view> </view> <view class="wui-form-list"> <view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee"> <view class="cu-form-group" > <view class="title">申请人</view> {{pd.APPLY_USER_NAME}} {{pd.APPLY_USER_SIGNER_TIME}} </view> <view style="width: 400upx; height: 200upx; margin: 30upx;margin-top: 0upx;margin-bottom: 20upx;" > <image :src="baseImgPath + pd.APPLY_USER_SIGNER_PATH" mode="aspectFill" @click="previewImage(baseImgPath + pd.APPLY_USER_SIGNER_PATH)" style="height: 100%;"></image> </view> </view> <view class="cu-form-textarea"> <view class="cu-form-title">作业负责人意见</view> <textarea maxlength="255" disabled="disabled" v-model="pd.CONSTRUCTION_CONTENT"></textarea> </view> <view style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee"> <view class="cu-form-group" > <view class="title">作业负责人</view> {{pd.CONSTRUCTION_USER_NAME}} {{pd.CONSTRUCTION_USER_SIGNER_TIME}} </view> <view style="width: 400upx; height: 200upx; margin: 30upx;margin-top: 0upx;margin-bottom: 20upx;" > <image :src="baseImgPath + pd.CONSTRUCTION_USER_SIGNER_PATH" mode="aspectFill" @click="previewImage(baseImgPath + pd.CONSTRUCTION_USER_SIGNER_PATH)" style="height: 100%;"></image> </view> </view> <view v-show="validStr(this.pd.PRODUCTION_USER_ID)" class="cu-form-textarea" style="border: none;"> <view class="cu-form-title">所在单位意见</view> <textarea maxlength="255" disabled="disabled" v-model="pd.PRODUCTION_CONTENT"></textarea> </view> <view v-show="validStr(this.pd.PRODUCTION_USER_ID)" style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee"> <view class="cu-form-group" > <view class="title">所在单位负责人</view> {{pd.PRODUCTION_USER_NAME}} {{pd.PRODUCTION_USER_SIGNER_TIME}} </view> <view style="width: 400upx; height: 200upx; margin: 30upx;margin-top: 0upx;margin-bottom: 20upx;" > <image :src="baseImgPath + pd.PRODUCTION_USER_SIGNER_PATH" mode="aspectFill" @click="previewImage(baseImgPath + pd.PRODUCTION_USER_SIGNER_PATH)" style="height: 100%;"></image> </view> </view> <view v-show="validStr(this.pd.SAFETY_USER_ID)" class="cu-form-textarea" style="border: none;"> <view class="cu-form-title">有关部门意见</view> <textarea maxlength="255" disabled="disabled" v-model="pd.SAFETY_CONTENT"></textarea> </view> <view v-show="validStr(this.pd.SAFETY_USER_ID)" style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee"> <view class="cu-form-group" > <view class="title">有关部门负责人</view> {{pd.SAFETY_USER_NAME}} {{pd.SAFETY_USER_SIGNER_TIME}} </view> <view style="width: 400upx; height: 200upx; margin: 30upx;margin-top: 0upx;margin-bottom: 20upx;" > <image :src="baseImgPath + pd.SAFETY_USER_SIGNER_PATH" mode="aspectFill" @click="previewImage(baseImgPath + pd.SAFETY_USER_SIGNER_PATH)" style="height: 100%;"></image> </view> </view> <view v-show="validStr(this.pd.LEADER_USER_ID)" class="cu-form-textarea" style="border: none;"> <view class="cu-form-title">审批部门意见</view> <textarea maxlength="255" disabled="disabled" v-model="pd.LEADER_CONTENT"></textarea> </view> <view v-show="validStr(this.pd.LEADER_USER_ID)" style="border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee"> <view class="cu-form-group" > <view class="title">审批部门负责人</view> {{pd.LEADER_USER_NAME}} {{pd.LEADER_USER_SIGNER_TIME}} </view> <view style="width: 400upx; height: 200upx; margin: 30upx;margin-top: 0upx;margin-bottom: 20upx;" > <image :src="baseImgPath + pd.LEADER_USER_SIGNER_PATH" mode="aspectFill" @click="previewImage(baseImgPath + pd.LEADER_USER_SIGNER_PATH)" style="height: 100%;"></image> </view> </view> <view class="cu-form-textarea" style="border-bottom: 1px dashed #eee;"> <view class="cu-form-title">完工验收</view> <textarea maxlength="255" v-model="pd.CONTENT" placeholder="请输入意见"></textarea> </view> <view class="wui-sign"> <view class="title">验收部门负责人</view> <button class="cu-btn bg-green shadow" @tap="showModal" data-target="Modal">新增手写签字</button> </view> <view class="wui-sign-box wui-sign-box1" v-show="imgList && imgList.length > 0"> <view class="sign-title"> 签字照片: </view> <view class="wui-sign-cotent"> <view class="sign-img" v-for="(item,index) in imgList" :key="index" @tap="ViewImage" data-type="0" :data-url="imgList[index].filePath"> <image :src="imgList[index].filePath" mode="aspectFit"></image> <view class="cu-tag bg-red" @tap.stop="DelImg(index)"> <text class='cuIcon-close'></text> </view> </view> </view> </view> <view class="cu-modal" :class="modalName=='Modal'?'show':''"> <writing-board @confirm="subCanvas" @cancel="hideModal"></writing-board> </view> </view> </view> <view class="cu-bar btn-group" style="margin-top: 30upx;"> <button class="cu-btn bg-red margin-tb-sm lg" @click="$noMultipleClicks(goSubmit,'-6')">打 回</button> <button :loading="buttonloading" class="cu-btn bg-green margin-tb-sm lg" @click="$noMultipleClicks(goSubmit,'6')">通 过</button> </view> <view class="padding flex flex-direction"> </view> </scroll-view> </view> </template> <script> import { basePath,corpinfoId,deptId,loginUser,formatDate,loginSession,baseImgPath } from '@/common/tool.js'; import tkiTree from "@/components/select-tree/select-tree.vue" import writingBoard from "@/components/writing-board/writing-board.vue" import gcoord from '@/common/gcoord.js' import ruiDatePicker from '@/components/rattenking-dtpicker/rattenking-dtpicker.vue'; export default { components: { tkiTree,ruiDatePicker,writingBoard }, data() { return { baseImgPath:baseImgPath, buttonloading: false, isUps:false, forbidEdit:true,// 禁止修改 msg:'add', noClick:true, files: [], treeNode:[],//部门下拉数据 constructionUserList:[], constructionindex:-1, productionUserList:[], productionindex:-1, safetyUserList:[], safetyindex:-1, leaderUserList:[], leaderindex:-1, acceptUserList:[], acceptindex:-1, pd:{ OTHER_PROTECTIVE_MEASURES: ';_;;_;;_;;_;;_;', HAZARD_IDENTIFICATION: ';_;;_;;_;;_;;_;', },// 数据 measuresList:[], rules:[ {name:'CHECK_NO',message:'请输入编号'}, {name:'WORK_START_DATE',message:'请输入作业开始时间'}, {name:'WORK_END_DATE',message:'请输入作业结束时间'}, {name:'WORK_CONTENT',message:'请输入动土内容、范围、方式'}, // {name:'PROJECT_MANAGER',message:'请输入项目负责人'}, // {name:'WORK_NO',message:'请输入作业票编号'}, {name:'CONSTRUCTION_USER_ID',message:'请选择施工单位负责人'}, // {name:'PRODUCTION_USER_ID',message:'请选择生产单位负责人'}, // {name:'SAFETY_USER_ID',message:'请选择安全部门负责人'}, // {name:'LEADER_USER_ID',message:'请选择单位领导'}, {name:'ACCEPT_USER_ID',message:'请选择验收部门负责人'}, ], todayDate:'', modalName:null, imgList:[], img2List:[], } }, onLoad(event){ this.todayDate = formatDate(new Date(), 'yyyy-MM-dd hh:mm'); this.pd.BREAKGROUND_ID = event.BREAKGROUND_ID; if(this.pd.BREAKGROUND_ID){ this.msg="edit"; this.getData(); }else { // 初始化作业负责人 this.getMeasures(); this.pd.APPLY_DEPARTMENT_ID = loginUser.DEPARTMENT_ID; this.pd.APPLY_DEPARTMENT_NAME = loginUser.DEPARTMENT_NAME; this.pd.APPLY_USER_ID = loginUser.USER_ID; this.pd.APPLY_USER_NAME = loginUser.NAME; this.forbidEdit = false; } // 初始化现场作业负责人 this.getDept(); loginSession(); }, methods: { validStr(str){ if (str!=null && str!='' && typeof(str)!="undefined" && str!=0) return true return false }, getMeasures(){ var _this = this; uni.request({ url: basePath + '/app/breakground/goAdd', method: 'POST', dataType: 'json', header: { 'Content-type': 'application/x-www-form-urlencoded' }, data: { CORPINFO_ID:loginUser.CORPINFO_ID, USER_ID:loginUser.USER_ID, }, success: (res) => { if ("success" == res.data.result) { _this.measuresList = res.data.measuresList } else if ("exception" == data.result) { uni.showToast({ title: '错误', duration: 2000 }); } } }); }, getData() { var _this = this; uni.showLoading({ title: '请稍候' }) uni.request({ url: basePath + '/app/breakground/goEdit', method: 'POST', dataType: 'json', header: { 'Content-type': 'application/x-www-form-urlencoded' }, data: { BREAKGROUND_ID: _this.pd.BREAKGROUND_ID, CORPINFO_ID:loginUser.CORPINFO_ID, USER_ID:loginUser.USER_ID, }, success: (res) => { if ("success" == res.data.result) { uni.hideLoading(); _this.pd = res.data.pd; //参数map _this.pd = Object.assign(_this.pd, { "APPLY_USER_MEASURES": _this.pd.OTHER_PROTECTIVE_MEASURES.split(";_;")[0], "CONSTRUCTION_USER_MEASURES": _this.pd.OTHER_PROTECTIVE_MEASURES.split(";_;")[1], "PRODUCTION_USER_MEASURES": _this.pd.OTHER_PROTECTIVE_MEASURES.split(";_;")[2], "SAFETY_USER_MEASURES": _this.pd.OTHER_PROTECTIVE_MEASURES.split(";_;")[3], "LEADER_USER_MEASURES": _this.pd.OTHER_PROTECTIVE_MEASURES.split(";_;")[4] }) _this.pd.OTHER_PROTECTIVE_MEASURES = '' _this.pd = Object.assign(_this.pd, { "HAZARD_IDENTIFICATION": _this.pd.HAZARD_IDENTIFICATION.split(";_;")[0] }) _this.files = res.data.imgList; _this.measuresList = res.data.measuresList if(_this.pd.APPLY_STATUS < 1){ _this.forbidEdit = false; } } else if ("exception" == data.result) { uni.showToast({ title: '错误', duration: 2000 }); } } }); }, ViewShowImage(url) { let files = []; files.push(url) uni.previewImage({ urls: files, current: 0 }); }, previewImage(url){ uni.previewImage({ urls: [url], }); }, async goSubmit(STATUS) { var _this = this; let required = true uni.showLoading({ title: '请稍候' }) if (STATUS == 1) { this.rules.map(({name, message}) => { if (!this.pd[name]) { uni.showToast({ icon: 'none', title: message, duration: 1500 }); required = false } }) if (!required) { return } } if (STATUS == 6) { if (_this.imgList.length <= 0) { uni.showToast({ icon: 'none', title: '请签字', duration: 1500 }); return; } } var fileList = []; var signtime = []; const formData={} Object.keys(this.pd).map(key => { formData[key]=this.pd[key] }) this.uploadImgFaults(fileList,signtime) formData.SIGNTIME = signtime.join(",") formData.CREATOR = loginUser.USER_ID formData.OPERATOR = loginUser.USER_ID formData.ACTION_USER = loginUser.NAME formData.APPLY_STATUS = STATUS formData.CORPINFO_ID = loginUser.CORPINFO_ID formData.USER_ID = loginUser.USER_ID if (STATUS == 6) { formData.STATUS = STATUS this.buttonloading = true // if(!this.pd.CONFESS_USER_SIGNER_PATH || this.files.length <= 0 || !this.pd.GUARDIAN_USER_SIGNER_PATH) { // uni.showModal({ // title: '', // content: '没有进行监护人、安全交底人或接受交底人签字,不能进行验收!', // cancelColor: "#000000", // cancelText: '取消', // confirmText: '确定', // success: res => { // this.buttonloading = false // _this.goback() // } // }) // }else { if(new Date(this.pd.WORK_START_DATE).getTime() - new Date().getTime() >0){ uni.showModal({ title: '', content: '作业未开始之前不能进行验收', cancelColor: "#000000", cancelText: '取消', confirmText: '确定', success: res => { this.buttonloading = false _this.goback() } }) }else{ uni.uploadFile({ url: basePath + 'app/breakground/editAcceptStatus', filePath: _this.imgList[0].filePath, files: fileList, formData:formData, success: (res) => { uni.showToast({ icon: 'none', title: '保存成功', duration: 2000 }); _this.goback() this.buttonloading = false }, fail: (err) => { uni.hideLoading(); uni.showModal({ content: err.errMsg, showCancel: false }); } }) } } else { formData.STATUS = STATUS this.buttonloading = true uni.request({ url: basePath + "app/breakground/editStatus", method: 'POST', dataType: 'json', header: { 'Content-type': 'application/x-www-form-urlencoded' }, data: { ...formData, CORPINFO_ID: loginUser.CORPINFO_ID, USER_ID: loginUser.USER_ID, }, success: (res) => { uni.showToast({ icon: 'none', title: '保存成功', duration: 2000 }); _this.goback() this.buttonloading = false }, fail: (err) => { uni.hideLoading(); uni.showModal({ content: err.errMsg, showCancel: false }); } }) } }, uploadImgFaults(fileList,signtime) { this.imgList.map(item => { var img = {} img.name = 'file'+(fileList.length) img.uri = item.filePath // img.SIGNER_TIME = item.SIGNER_TIME fileList.push(img) signtime.push(item.SIGNER_TIME) }) }, getConfess(){ return new Promise((resolve,reject)=> { if (!this.pd.CONFESS_USER_SIGNER_PATH) { uni.showModal({ title: '', content: '没有进行安全交底人签字,是否继续验收?', cancelColor: "#000000", cancelText: '取消', confirmText: '确定', success: res => { this.buttonloading = false if (res.confirm) { resolve(true) } else { resolve(false) } } }) } else { resolve(true) } }) }, getAcceptconfess(){ return new Promise((resolve,reject)=> { if (!this.pd.ACCEPT_CONFESS_USER_SIGNER_PATH) { uni.showModal({ title: '', content: '没有进行接受交底人签字,是否继续验收?', cancelColor: "#000000", cancelText: '取消', confirmText: '确定', success: res => { this.buttonloading = false if (res.confirm) { resolve(true) } else { resolve(false) } } }) } else { resolve(true) } }) }, getGuardian(){ return new Promise((resolve,reject)=> { if (!this.pd.GUARDIAN_USER_SIGNER_PATH) { uni.showModal({ title: '', content: '没有进行监护人签字,是否继续验收?', cancelColor: "#000000", cancelText: '取消', confirmText: '确定', success: res => { this.buttonloading = false if (res.confirm) { resolve(true) } else { resolve(false) } } }) } else { resolve(true) } }) }, getDept() { var _this = this; uni.request({ url: basePath + '/app/sys/listTree',//部门下拉接口 method: 'POST', dataType: 'json', header: { 'Content-type':'application/x-www-form-urlencoded' }, data: { CORPINFO_ID:loginUser.CORPINFO_ID, USER_ID:loginUser.USER_ID, }, success: (res) => { if("success" == res.data.result){ _this.treeNode=eval(res.data.zTreeNodes); } else { uni.showToast({ title: res.data.message, duration: 2000 }); } } }); }, //获取人员列表 getUserList(dept,list,i){ //发送 post 请求 var _this=this uni.request({ method: 'POST', dataType: 'json', header: { 'Content-type':'application/x-www-form-urlencoded' }, url: basePath+'/app/sys/listUser', data: { DEPARTMENT_ID:dept, tm:new Date().getTime(), CORPINFO_ID:loginUser.CORPINFO_ID, USER_ID:loginUser.USER_ID, }, success: function(res){ if("success" == res.data.result){ if(i>-1) { _this[list][i] = []; _this[list][i] = res.data.userList; _this.$forceUpdate();//强制刷新 }else{ _this[list]=res.data.userList; } }else{ uni.showToast({ title: res.data.message, duration: 2000 }); } } }) }, changeRadio(i,value){ this.measuresList[i].STATUS=value }, changeAnswer(i,value){ this.measuresList[i].ANSWER=value }, /* *手写板 */ showModal(e) { this.modalName = e.currentTarget.dataset.target }, hideModal(e) { this.modalName = null }, //完成 subCanvas(e) { e.SIGNER_TIME = formatDate(new Date(), 'yyyy-MM-dd hh:mm') this.imgList.push(e); this.hideModal() }, ViewImage(e) { let files =[]; files.push(e.currentTarget.dataset.url) uni.previewImage({ urls: files, current: e.currentTarget.dataset.url }); }, DelImg(index){ this.imgList.splice(index,1) }, /* *施工单位 */ // 确定回调事件 constructiontreeConfirm(e) { this.isUps=false; this.pd.CONSTRUCTION_DEPARTMENT_ID=e[0].id; this.pd.CONSTRUCTION_DEPARTMENT_NAME=e[0].name; this.$forceUpdate();//强制刷新 this.getUserList(e[0].id,'constructionUserList'); }, // 取消回调事件 constructiontreeCancel(e) { this.isUps=false; }, // 显示树形选择器 showConstructionTree() { this.isUps=true this.$refs.tkiTree_construction._show(); }, PickerConstruction(e) { this.constructionindex = e.detail.value; this.pd.CONSTRUCTION_USER_ID=this.constructionUserList[this.constructionindex].USER_ID; this.pd.CONSTRUCTION_USER_NAME=this.constructionUserList[this.constructionindex].NAME; this.$forceUpdate();//强制刷新 }, /* *生产部门 */ // 确定回调事件 productiontreeConfirm(e) { this.isUps=false; this.pd.PRODUCTION_DEPARTMENT_ID=e[0].id; this.pd.PRODUCTION_DEPARTMENT_NAME=e[0].name; this.$forceUpdate();//强制刷新 this.getUserList(e[0].id,'productionUserList'); }, // 取消回调事件 productiontreeCancel(e) { this.isUps=false; }, // 显示树形选择器 showProductionTree() { this.isUps=true this.$refs.tkiTree_production._show(); }, PickerProduction(e) { this.productionindex = e.detail.value; this.pd.PRODUCTION_USER_ID=this.productionUserList[this.productionindex].USER_ID; this.pd.PRODUCTION_USER_NAME=this.productionUserList[this.productionindex].NAME; this.$forceUpdate();//强制刷新 }, /* *安全部门 */ // 确定回调事件 safetytreeConfirm(e) { this.isUps=false; this.pd.SAFETY_DEPARTMENT_ID=e[0].id; this.pd.SAFETY_DEPARTMENT_NAME=e[0].name; this.$forceUpdate();//强制刷新 this.getUserList(e[0].id,'safetyUserList'); }, // 取消回调事件 safetytreeCancel(e) { this.isUps=false; }, // 显示树形选择器 showSafetyTree() { this.isUps=true this.$refs.tkiTree_safety._show(); }, PickerSafety(e) { this.safetyindex = e.detail.value; this.pd.SAFETY_USER_ID=this.safetyUserList[this.safetyindex].USER_ID; this.pd.SAFETY_USER_NAME=this.safetyUserList[this.safetyindex].NAME; this.$forceUpdate();//强制刷新 }, /* *单位领导 */ // 确定回调事件 leadertreeConfirm(e) { this.isUps=false; this.pd.LEADER_DEPARTMENT_ID=e[0].id; this.pd.LEADER_DEPARTMENT_NAME=e[0].name; this.$forceUpdate();//强制刷新 this.getUserList(e[0].id,'leaderUserList'); }, // 取消回调事件 leadertreeCancel(e) { this.isUps=false; }, // 显示树形选择器 showLeaderTree() { this.isUps=true this.$refs.tkiTree_leader._show(); }, PickerLeader(e) { this.leaderindex = e.detail.value; this.pd.LEADER_USER_ID=this.leaderUserList[this.leaderindex].USER_ID; this.pd.LEADER_USER_NAME=this.leaderUserList[this.leaderindex].NAME; this.$forceUpdate();//强制刷新 }, /* *验收部门 */ // 确定回调事件 accepttreeConfirm(e) { this.isUps=false; this.pd.ACCEPT_DEPARTMENT_ID=e[0].id; this.pd.ACCEPT_DEPARTMENT_NAME=e[0].name; this.$forceUpdate();//强制刷新 this.getUserList(e[0].id,'acceptUserList'); }, // 取消回调事件 accepttreeCancel(e) { this.isUps=false; }, // 显示树形选择器 showAcceptTree() { this.isUps=true this.$refs.tkiTree_accept._show(); }, PickerAccept(e) { this.acceptindex = e.detail.value; this.pd.ACCEPT_USER_ID=this.acceptUserList[this.acceptindex].USER_ID; this.pd.ACCEPT_USER_NAME=this.acceptUserList[this.acceptindex].NAME; this.$forceUpdate();//强制刷新 }, changeStartDate(e) { this.pd.WORK_START_DATE = e this.$forceUpdate();//强制刷新 }, changeEndDate(e) { this.pd.WORK_END_DATE = e this.$forceUpdate();//强制刷新 }, goback(){ var pages = getCurrentPages(); // 获取当前页面栈 var prePage = pages[pages.length - 2]; // 上二级页面 prePage.$vm.initflag = true; // A 页面 init方法 为true uni.navigateBack({delta: 1}); uni.hideLoading(); }, radioType(e){ this.HASINSTRUCTOR = e.detail.value }, goToEdit(){ this.forbidEdit = false; } } } </script> <style scoped> .wui-sign-box1{ margin-top: 20upx; display: block; } .sign-img{ position: relative; border-bottom: 1px dashed #eee; padding-top: 20upx; } .cu-tag{ position: absolute; right: 20upx; top: 20upx; } </style>