<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"> <detail v-if="pd.CONFINEDSPACE_ID" :confinedspaceId="pd.CONFINEDSPACE_ID"></detail> <view class="wui-form-list"> <view class="cu-form-textarea" style="border-bottom: 1px dashed #eee;"> <view class="cu-form-title" >所在单位负责人意见</view> <textarea maxlength="255" v-model="pd.DESCR" placeholder="请输入意见"></textarea> </view> <view class="wui-sign" v-if="!files.length"> <view class="title">所在单位负责人</view> <view> <view> <button class="cu-btn bg-green shadow" @tap="showModal">新增手写签字</button> </view> </view> </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> <view class="cu-modal" :class="modalName=='Modal'?'show':''"> <writing-board @confirm="subCanvas" @cancel="hideModal"></writing-board> </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(-1))">打回</button> <button class="cu-btn bg-green margin-tb-sm lg" @click="$noMultipleClicks(goSubmit(1))">通过</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'; import detail from '@/pages/application/confinedspace/confinedspace-detail/index' export default { components: { tkiTree,ruiDatePicker,writingBoard,detail }, data() { return { baseImgPath:baseImgPath, buttonloading: false, isUps:false, forbidEdit:true,// 禁止修改 msg:'add', files: [], noClick:true, treeNode:[],//部门下拉数据 pd:{},// 数据 measuresList:[], modalName:null, imgList:[], } }, onLoad(event){ this.todayDate = formatDate(new Date(), 'yyyy-MM-dd hh:mm'); this.pd.CONFINEDSPACE_ID = event.CONFINEDSPACE_ID; if(this.pd.CONFINEDSPACE_ID){ this.msg="edit"; this.getData(); }else { // 初始化作业负责人 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(); this.getLimitSpace(); loginSession(); }, methods: { //跳转事件 goToDetail(e) { uni.navigateTo({ url: '/pages/application/confinedspace/confinedspace-gas/gas-list?CONFINEDSPACE_ID='+e }); }, getData() { var _this = this; uni.showLoading({ title: '请稍候' }) uni.request({ url: basePath + '/app/confinedspace/findById', method: 'POST', header: { 'Content-type': 'application/x-www-form-urlencoded' }, data: { CONFINEDSPACE_ID: _this.pd.CONFINEDSPACE_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 } else if ("exception" == data.result) { uni.showToast({ title: '错误', duration: 2000 }); } } }); }, ViewShowImage(url) { let files = []; files.push(url) uni.previewImage({ urls: files, current: 0 }); }, validStr(str){ if (str!=null && str!='' && typeof(str)!="undefined" && str!=0) return true return false }, goSubmit(APPLY_STATUS){ var _this = this; let required = true uni.showLoading({ title: '请稍候' }) if (_this.imgList.length <= 0) { uni.showToast({ icon: 'none', title: '请签字', duration: 1500 }); return; } if (!_this.pd.DESCR) { uni.showToast({ icon: 'none', title: '请输入负责人意见', duration: 1500 }); return; } var files = []; var signtime = []; const formData={} this.uploadImgFaults(files,signtime) formData.SIGNTIME = signtime.join(",") formData.CONFINEDSPACE_ID = _this.pd.CONFINEDSPACE_ID formData.DESCR = _this.pd.DESCR formData.USER_ID = loginUser.USER_ID formData.APPLY_STATUS = APPLY_STATUS uni.uploadFile({ url: basePath+'app/confinedspace/nextStep', files: files, formData:formData, success: (res) => { uni.showToast({ icon:'none', title: '保存成功', duration: 2000 }); _this.goback() }, fail: (err) => { uni.hideLoading(); uni.showModal({ content: err.errMsg, showCancel: false }); } }) }, // 获取动火列表 getLimitSpace(){ var _this = this; uni.request({ method: 'POST', dataType: 'json', header: { 'Content-type': 'application/x-www-form-urlencoded' }, url: basePath + '/app/limitspace/listAllSpace?tm=' + new Date().getTime(), data: { CORPINFO_ID:loginUser.CORPINFO_ID, USER_ID:loginUser.USER_ID, }, success: function (res) { _this.limitSpaceList = res.data.varList; } }); }, 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 }); } } }) }, /* *手写板 */ showModal(e) { this.modalName = 'Modal' }, DelImg(index){ this.imgList.splice(index,1) }, hideModal(e) { this.modalName = null }, //完成 subCanvas(e) { this.imgList.push(e); e.SIGNER_TIME = formatDate(new Date(), 'yyyy-MM-dd hh:mm') this.hideModal() }, ViewImage(e) { let files =[]; files.push(e.currentTarget.dataset.url) uni.previewImage({ urls: files, current: e.currentTarget.dataset.url }); }, uploadImgFaults(files,signtime) { this.imgList.map((item,index) => { var img = {} img.name = 'file'+index img.uri = item.filePath files.push(img) signtime.push(item.SIGNER_TIME) }) }, 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>