<template> <view :class="isUps == true ? 'prevent' : ''"> <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="cu-bar bg-white"> <view class="action asterisk"> 隐患照片 </view> <view class="action"> {{imgList.length}}/4 </view> </view> <view class="cu-form-group"> <view class="grid col-4 grid-square flex-sub"> <view class="bg-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="aspectFill"></image> <view class="cu-tag bg-red" @tap.stop="DelImg" data-type="0" :data-index="index"> <text class='cuIcon-close'></text> </view> </view> <view class="solids" @tap="ChooseImage(0)" v-if="imgList.length<4"> <text class='cuIcon-cameraadd'></text> </view> </view> </view> <view class="cu-bar bg-white"> <view class="action"> 隐患视频 </view> <view class="action"> {{videoList.length}}/1 </view> </view> <view class="cu-form-group"> <view class="grid col-4 grid-square flex-sub"> <view class="bg-img" v-for="(item,vindex) in videoList" :key="vindex" data-type="0" :data-url="videoList[vindex].filePath" style="background-color: #000"> <image src="/static/icon-apps/video.png" mode="aspectFill" @click="playVideo" :data-src="videoList[vindex].filePath"></image> <view class="cu-tag bg-red" @tap.stop="DelVideo" data-type="0" :data-index="vindex"> <text class='cuIcon-close'></text> </view> </view> <view class="solids" @tap="chooseVideo(0)" v-if="videoList.length == 0"> <text class='cuIcon-cameraadd'></text> </view> </view> </view> <view class="cu-form-textarea margin-top"> <view class="cu-form-title text-hui asterisk">隐患描述</view> <textarea maxlength="-1" :disabled="modalName!=null" v-model="pd.HIDDENDESCR" placeholder="请对隐患进行详细描述(必填项)"></textarea> </view> <view class="cu-form-group margin-top"> <view class="title">隐患部位</view> <view class="picker-tree-box"> <view class="picker-tree" @tap="showHiddenRegionTree">{{pd.HIDDENPARTNAME?pd.HIDDENPARTNAME:'请选择'}}</view> </view> <tki-tree ref="hiddenRegionTree" :selectParent=false :range="hiddenRegionTreeList" rangeKey="name" @confirm="hiddenRegionTreeCon" @cancel="zgtreeCancel"></tki-tree> </view> <view class="cu-form-group margin-top"> <view class="title asterisk">隐患级别</view> <view class="picker-tree-box"> <view class="picker-tree" @tap="showHiddenLevenTreeTree">{{pd.HIDDENLEVELNAME?pd.HIDDENLEVELNAME:'请选择'}}</view> </view> <tki-tree ref="hiddenLevenTree2" :selectParent=false :range="levelList" rangeKey="name" @confirm="hiddenLevenConfirm" @cancel="zgtreeCancel"></tki-tree> </view> <view class="cu-form-group margin-top"> <view class="title asterisk">隐患类型</view> <view class="picker-tree-box"> <view class="picker-tree" @tap="showHiddenType1TreeTree">{{pd.HIDDENTYPE1NANEM?pd.HIDDENTYPE1NANEM:'请选择'}}</view> </view> <tki-tree ref="hiddenType1Tree" :selectParent=false :range="hiddenTypeList" rangeKey="name" @confirm="hiddenType1Confirm" @cancel="zgtreeCancel" > </tki-tree> </view> <!--<view class="cu-form-group margin-top"> <view class="title">隐患类型2</view> <view class="picker-tree-box"> <view class="picker-tree" @tap="showHiddenType2TreeTree">{{pd.HIDDENTYPE2NANEM?pd.HIDDENTYPE2NANEM:'请选择'}}</view> </view> <tki-tree ref="hiddenType2Tree" :selectParent=false :range="hiddenType2List" rangeKey="name" @confirm="hiddenType2Confirm" @cancel="zgtreeCancel"> </tki-tree> </view>--> <view v-if="pd.HIDDENLEVEL != 'jdyh001' && pd.HIDDENLEVEL !='hiddenLevel2002'" class="cu-form-group margin-top"> <view class="title text-hui asterisk">是否立即整改</view> <radio-group class="selected"> <view v-if="pd.HIDDENLEVEL != 'jdyh001' && pd.HIDDENLEVEL !='hiddenLevel2002'" class="group mr20"> <radio class='radio' value="1" :checked="RECTIFICATIONTYPE==1" @click="radioType(1)"></radio> <text>是</text> </view> <view class="group"> <radio class='radio' value="2" :checked="RECTIFICATIONTYPE==2" @click="radioType(2)"></radio> <text>否</text> </view> </radio-group> </view> <view class="cu-form-group margin-top" v-if="RECTIFICATIONTYPE==2 && pd.HIDDENLEVEL != 'jdyh001' && pd.HIDDENLEVEL !='hiddenLevel2002'"> <view class="title">整改责任部门</view> <view class="picker-tree-box"> <view class="picker-tree" @tap="showZgTree">{{pd.RECTIFICATIONDEPTNAME?pd.RECTIFICATIONDEPTNAME:'请选择'}}</view> </view> <tki-tree ref="tkiTree" :selectParent=true :range="treeNode" rangeKey="name" @confirm="zgtreeConfirm" @cancel="zgtreeCancel"></tki-tree> </view> <view class="cu-form-group margin-top" v-if="RECTIFICATIONTYPE==2 && rectificationUserList.length>0 && pd.HIDDENLEVEL != 'jdyh001' && pd.HIDDENLEVEL !='hiddenLevel2002'"> <view class="title">整改责任人</view> <picker @change="PickerZgr" :value="uindex" :range="rectificationUserList" range-key="NAME"> <view class="picker"> {{pd.RECTIFICATIONORNAME?pd.RECTIFICATIONORNAME:'请选择'}} </view> </picker> </view> <view class="cu-form-group margin-top" v-if="RECTIFICATIONTYPE==2 && pd.HIDDENLEVEL != 'jdyh001' && pd.HIDDENLEVEL !='hiddenLevel2002'"> <view class="title">整改期限</view> <picker mode="date" :value="pd.RECTIFICATIONDEADLINE" :start="rectifyPlanCompletionStartTime" @change="changeDate"> <view class="picker"> {{pd.RECTIFICATIONDEADLINE?pd.RECTIFICATIONDEADLINE:'请选择'}} </view> </picker> </view> <view class="cu-form-group margin-top" v-if=" pd.HIDDENLEVEL != 'jdyh001' && pd.HIDDENLEVEL !='hiddenLevel2002'"> <view class="title asterisk">隐患确认人</view> <picker @change="setConUser" :value="conUserIndex" :range="confirUserAllList" range-key="NAME"> <view class="picker"> {{pd.conUserName?pd.conUserName:'请选择'}} </view> </picker> </view> <view class="cu-form-group margin-top" v-if="RECTIFICATIONTYPE==2"> <view class="title">隐患发现时间</view> <ruiDatePicker v-if="pd.DISCOVERYTIME" fields="minute" :value="pd.DISCOVERYTIME || '请选择'" @change="changeDiscoverDate"></ruiDatePicker> <text v-else>{{ pd.DISCOVERYTIME }}</text> </view> <view class="cu-form-group margin-top"> <view class="title text-hui asterisk">是否相关方</view> <radio-group class="selected"> <view class="group mr20"> <radio class='radio' value="1" :checked="ISRELEVANT==1" @click="radioISRELEVANT(1)"></radio> <text>是</text> </view> <view class="group"> <radio class='radio' value="2" :checked="ISRELEVANT==2" @click="radioISRELEVANT(2)"></radio> <text>否</text> </view> </radio-group> </view> <view class="cu-form-textarea margin-top"> <view class="cu-form-title text-hui">隐患位置描述</view> <textarea maxlength="-1" :disabled="modalName!=null" v-model="pd.POSITIONDESC" placeholder="请对隐患位置进行详细描述(必填项)"></textarea> </view> <view class="cu-form-group margin-top"> <view class="title">隐患上报位置:</view> <button class="cu-btn bg-green shadow" @tap="showMapModal" >定位</button> </view> <view class="cu-form-group margin-top" v-if="pd.LONGITUDE && pd.LONGITUDE != 'undefined'"> <view class="sign-title">经度:</view> <view class="wui-sign-cotent">{{pd.LONGITUDE}}</view> </view> <view class="cu-form-group margin-top" v-if="pd.LATITUDE && pd.LATITUDE != 'undefined'"> <view class="sign-title">纬度:</view> <view class="wui-sign-cotent">{{pd.LATITUDE}}</view> </view> <view class="add_pard_box"> <view class="add_pard_btns"> <view class="add_pard_b"> <button class="cu-btn round bg-blue" @click="addOther">添加</button> </view> </view> <view class="add_pard_item" v-for="(item,index) of other"> <view class="add_pard_del" v-if="index>0" @click="removeOther(index)"> <text class="cuIcon-roundclosefill text-red f40"></text> </view> <view class="cu-form-group"> <view class="title">隐患发现人部门</view> <view class="picker-tree-box"> <view class="picker-tree" @tap="showConTree(index)">{{other[index].DEPARTMENT_NAME?other[index].DEPARTMENT_NAME:'请选择'}}</view> </view> <tki-tree :ref="'tkiConfirmTree'+index" :selectParent=true :range="treeNode" rangeKey="name" @confirm="contreeConfirm($event,index)" @cancel="zgtreeCancel"></tki-tree> </view> <view class="cu-form-group"> <view class="title">隐患发现人</view> <picker @change="PickerYsr($event,index)" :value="other[index].index" @click="haveUser(otherUserList[index])" :disabled="otherUserList[index] ==null || otherUserList[index].length==0" :range="otherUserList[index]" range-key="NAME"> <view class="picker"> {{other[index].USER_NAME?other[index].USER_NAME:'请选择'}} </view> </picker> </view> </view> </view> <view class="cu-form-textarea margin-top" v-if="RECTIFICATIONTYPE==1"> <view class="cu-form-title text-hui asterisk">整改描述</view> <textarea maxlength="-1" :disabled="modalName!=null" v-model="pd.RECTIFYDESCR" placeholder="请对隐患进行整改描述(必填项)"></textarea> </view> <view class="cu-bar bg-white margin-top" v-if="RECTIFICATIONTYPE==1"> <view class="action"> 整改后图片 </view> <view class="action"> {{imgList1.length}}/4 </view> </view> <view class="cu-form-group" v-if="RECTIFICATIONTYPE==1"> <view class="grid col-4 grid-square flex-sub"> <view class="bg-img" v-for="(item,index) in imgList1" :key="index" @tap="ViewImage" data-type="1" :data-url="imgList1[index].filePath"> <image :src="imgList1[index].filePath" mode="aspectFill"></image> <view class="cu-tag bg-red" @tap.stop="DelImg" data-type="1" :data-index="index"> <text class='cuIcon-close'></text> </view> </view> <view class="solids" @tap="ChooseImage(1)" v-if="imgList1.length<4"> <text class='cuIcon-cameraadd'></text> </view> </view> </view> </view> <view class="padding flex flex-direction"> <button class="cu-btn bg-blue margin-tb-sm lg" @click="$noMultipleClicks(goSubmit)">提交</button> </view> </scroll-view> <view :class="['cu-modal',{'show':modalShow}]" v-if="modalShow"> <view class="cu-dialog"> <view class="cu-bar bg-white justify-end"> <view class="content">播放视频</view> <view class="action" @tap="modalShow = false"> <text class="cuIcon-close text-red"></text> </view> </view> <video :src="videoSrc" :autoplay="true"></video> <view class="cu-bar bg-white justify-end"> <view class="action"> <button class="cu-btn line-green text-green" @click="modalShow = false">关闭</button> </view> </view> </view> </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 gcoord from '@/common/gcoord.js' import ruiDatePicker from '@/components/rattenking-dtpicker/rattenking-dtpicker.vue'; export default { components: { tkiTree , ruiDatePicker }, data() { return { isUps:false, msg:'add', riskId:'', itemId:'', index:'', noClick:true, pd:{"RECTIFICATIONTYPE":2, LONGITUDE: '', LATITUDE: '',ISRELEVANT: '1'}, imgList: [], imgList1: [], HIDDENDESCR:'',//隐患描述 HIDDENPART:'',//隐患部位 modalName: null, id:'', CHECK_CONTENT:'', checkId:'', RECTIFYDESCR:'',//整改描述 RECTIFICATIONTYPE:2,//是否立即 ISRELEVANT: '2', //是否相关方 treeNode:[],//部门下拉数据 RECTIFICATIONDEPT:'',//整改部门 RECTIFICATIONDEPTNAME:'请选择',//整改部门 CHECKDEPT:'',//验收部门 CHECKDEPTNAME:'请选择',//验收部门 rectificationUserList:[], RECTIFICATIONOR:'',//整改人 uindex: -1, lindex: -1, levelList:[], tindex: -1, hiddenTypeList:[], hiddenType2List:[], HIDDENLEVEL:'',//隐患级别 RECTIFICATIONDEADLINE:'',//整改期限 rectifyPlanCompletionStartTime:'', LISTMANAGER_ID:'', CHECKRECORD_ID:'' , hiddenRegionTreeList:[], confirUserAllList:[], other:[], otherUserList:[], videoList:[], conUserIndex: -1, todayDate : formatDate(new Date(), 'yyyy-MM-dd hh:mm'), modalShow: false, videoSrc: '' } }, onLoad(event){ let now = new Date(); var tomorrow=now.setDate(now.getDate()+1); tomorrow=new Date(tomorrow); this.rectifyPlanCompletionStartTime = formatDate(tomorrow, 'yyyy-MM-dd'); this.pd.HIDDEN_ID = event.HIDDEN_ID; this.CHECKRECORD_ID = event.CHECKRECORD_ID; if(this.pd.HIDDEN_ID){ this.msg="edit"; this.getData(); }else { // this.pd.CHECK_CONTENT = JSON.parse(decodeURIComponent(event.checkContent)); // this.riskId = JSON.parse(decodeURIComponent(event.riskId)); // this.itemId = JSON.parse(decodeURIComponent(event.itemId)); // this.index = event.index; this.LISTMANAGER_ID = event.listId; } this.pd.DISCOVERYTIME = formatDate(new Date(), 'yyyy-MM-dd hh:mm') this.getDept(); this.myOther(); this.getConfirmUser() loginSession(); }, methods: { getData() { var _this = this; uni.showLoading({ title: '请稍候' }) uni.request({ url: basePath + '/app/hidden/goEdit', method: 'POST', dataType: 'json', header: { 'Content-type': 'application/x-www-form-urlencoded' }, data: { HIDDEN_ID: _this.pd.HIDDEN_ID, }, success: (res) => { if ("success" == res.data.result) { uni.hideLoading(); _this.pd = res.data.pd; //参数map _this.ISRELEVANT = res.data.pd.ISRELEVANT _this.RECTIFICATIONTYPE=_this.pd.RECTIFICATIONTYPE; _this.pd.HIDDENPARTNAME = _this.pd.hregionName; // _this.pd.HIDDENTYPE1NANEM = res.data.pd.HIDDENTYPENAME; // _this.pd.HIDDENTYPE2NANEM = res.data.pd.HIDDENTYPENAME2; // _this.pd.confirmDeptName = res.data.pd.hregionDeptName; // _this.pd.conUserName = res.data.pd.conUserName; // let files=res.data.hImgs; for(var i=0;i<files.length;i++){ let img={}; img.filePath=baseImgPath+files[i].FILEPATH; img.id=files[i].IMGFILES_ID; _this.imgList.push(img); } let files1=res.data.rImgs; for(var i=0;i<files1.length;i++){ let img={}; img.filePath=baseImgPath+files[i].FILEPATH; img.id=files[i].IMGFILES_ID; _this.imgList1.push(img); } _this.getUserList(); for(var i=0;i<res.data.hiddenVideo.length;i++){ let video={}; video.filePath=baseImgPath+res.data.hiddenVideo[i].FILEPATH; video.id=res.data.hiddenVideo[i].IMGFILES_ID; _this.videoList.push(video); } } else if ("exception" == data.result) { uni.showToast({ title: '错误', duration: 2000 }); } } }); }, 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 : corpinfoId, }, success: (res) => { if("success" == res.data.result){ _this.treeNode=eval(res.data.zTreeNodes); } else { uni.showToast({ title: res.data.message, duration: 2000 }); } } }); }, // 确定回调事件 zgtreeConfirm(e) { this.isUps=false; this.pd.RECTIFICATIONDEPT=e[0].id; this.pd.RECTIFICATIONDEPTNAME=e[0].name; this.uindex=-1; this.pd.RECTIFICATIONOR=''; this.pd.RECTIFICATIONORNAME=''; this.$forceUpdate();//强制刷新 this.getUserList(); }, // 取消回调事件 zgtreeCancel(e) { this.isUps=false; }, // 显示树形选择器 showZgTree() { this.isUps=true this.$refs.tkiTree._show(); }, // 确定回调事件 ystreeConfirm(e) { this.pd.CHECKDEPT=e[0].id; this.pd.CHECKDEPTNAME=e[0].name; this.$forceUpdate();//强制刷新 }, // 显示树形选择器 showYsTree() { this.$refs.tkiTree1._show(); }, //获取人员列表 getUserList(){ //发送 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:_this.pd.RECTIFICATIONDEPT, NOMAIN:'1',tm:new Date().getTime()}, success: function(res){ if("success" == res.data.result){ _this.rectificationUserList=res.data.userList; }else{ uni.showToast({ title: res.data.message, duration: 2000 }); } } }) }, PickerZgr(e) { this.uindex = e.detail.value; this.pd.RECTIFICATIONOR=this.rectificationUserList[this.uindex].USER_ID; this.pd.RECTIFICATIONORNAME=this.rectificationUserList[this.uindex].NAME; this.$forceUpdate();//强制刷新 }, //获取数据字典数据 getLevel: function () { var _this = this; uni.request({ method: 'POST', dataType: 'json', header: { 'Content-type': 'application/x-www-form-urlencoded' }, url: basePath + '/dictionaries/getLevels?tm=' + new Date().getTime(), data: {DICTIONARIES_ID: '5e7cf8620ba54ad89719d0be62133c7a'}, dataType: 'json', success: function (res) { _this.levelList = res.data.list; } }); }, levelPickerChange(e) { this.lindex = e.detail.value; this.pd.HIDDENLEVEL=this.levelList[this.lindex].BIANMA; this.pd.HIDDENLEVELNAME=this.levelList[this.lindex].NAME; this.$forceUpdate();//强制刷新 }, getHiddenType: function () { var _this = this; uni.request({ method: 'POST', dataType: 'json', header: { 'Content-type': 'application/x-www-form-urlencoded' }, url: basePath + '/dictionaries/getLevels?tm=' + new Date().getTime(), data: {DICTIONARIES_ID: '3babc15144444bdc8d763d0af2bdfff6'}, dataType: 'json', success: function (res) { _this.hiddenTypeList = res.data.list; } }); }, typePickerChange(e) { this.tindex = e.detail.value; this.pd.HIDDENTYPE=this.hiddenTypeList[this.tindex].BIANMA; this.pd.HIDDENTYPENAME=this.hiddenTypeList[this.tindex].NAME; this.$forceUpdate();//强制刷新 }, changeDate(e) { this.pd.RECTIFICATIONDEADLINE = e.detail.value this.$forceUpdate();//强制刷新 }, radioISRELEVANT(e){ this.pd.ISRELEVANT = e }, //图片上传 ChooseImage(e) { var _this = this; var ss=4-this.imgList.length; uni.chooseImage({ count: ss, //默认9 sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有 sourceType: ['camera','album'], //从相册选择 success: (res) => { for (let i = 0; i < res.tempFilePaths.length; i++) { if (e == 0) { let img = {}; img.id = ''; img.filePath = res.tempFilePaths[i]; this.imgList.push(img) } else { let img = {}; img.id = ''; img.filePath = res.tempFilePaths[i]; this.imgList1.push(img) } } } }); }, ViewImage(e) { console.info(e.currentTarget.dataset.type) if(e.currentTarget.dataset.type==0) { let files =[]; for(var i=0;i<this.imgList.length;i++){ files.push(this.imgList[i].filePath) } uni.previewImage({ urls: files, current: e.currentTarget.dataset.url }); }else{ let files =[]; for(var i=0;i<this.imgList1.length;i++){ files.push(this.imgList1[i].filePath) } uni.previewImage({ urls: files, current: e.currentTarget.dataset.url }); } }, DelImg(e) { var _this = this; let i=e.currentTarget.dataset.index uni.showModal({ title: '秦港-双基双控双控', content: '确定要删除这张图片吗?', cancelColor:"#000000", cancelText: '取消', confirmText: '确定', success: res => { if (res.confirm) { if(e.currentTarget.dataset.type==0) { if(_this.imgList[i].id) { uni.showLoading({ title: '处理中' }) uni.request({ url: basePath+'/app/imgfiles/delete', method: 'POST', dataType: 'json', header: { 'Content-type':'application/x-www-form-urlencoded' }, data: { IMGFILES_ID: _this.imgList[i].id, }, success: (res) => { uni.hideLoading(); uni.showToast({ icon: 'none', title: '删除成功', duration: 1500 }); _this.imgList.splice(i, 1) }, fail: (err) => { uni.hideLoading(); uni.showModal({ content: err.errMsg, showCancel: false }); } }) }else { this.imgList.splice(e.currentTarget.dataset.index, 1) } }else{ if(_this.imgList1[i].id) { uni.showLoading({ title: '处理中' }) uni.request({ url: basePath+'/app/imgfiles/delete', method: 'POST', dataType: 'json', header: { 'Content-type':'application/x-www-form-urlencoded' }, data: { IMGFILES_ID: _this.imgList1[i].id, }, success: (res) => { uni.hideLoading(); uni.showToast({ icon: 'none', title: '删除成功', duration: 1500 }); _this.imgList1.splice(i, 1) }, fail: (err) => { uni.hideLoading(); uni.showModal({ content: err.errMsg, showCancel: false }); } }) }else { this.imgList1.splice(e.currentTarget.dataset.index, 1) } } } } }) }, textareaAInput(e){ this.pd.HIDDENDESCR= e.detail.value }, textareaBInput(e){ this.pd.HIDDENPART= e.detail.value }, textareaCInput(e){ this.pd.RECTIFYDESCR= e.detail.value }, goSubmit() { var _this = this; // if (!_this.pd.CHECKDEPT) { // uni.showToast({ // icon: 'none', // title: '请选择验收部门', // duration: 1500 // }); // return; // } if (_this.imgList.length <= 0) { uni.showToast({ icon: 'none', title: '请上传隐患图片', duration: 1500 }); return; } if (!_this.pd.HIDDENDESCR) { uni.showToast({ icon: 'none', title: '请填隐患描述', duration: 1500 }); return; } // if (!_this.pd.HIDDENPART) { // uni.showToast({ // icon: 'none', // title: '请填隐患部位', // duration: 1500 // }); // return; // } if (!_this.pd.HIDDENLEVEL) { uni.showToast({ icon: 'none', title: '请选择隐患级别', duration: 1500 }); return; } if (!_this.pd.HIDDENTYPE) { uni.showToast({ icon: 'none', title: '请选择隐患类型', duration: 1500 }); return; } if (_this.RECTIFICATIONTYPE == 1 && !_this.pd.RECTIFYDESCR) { uni.showToast({ icon: 'none', title: '请填整改描述', duration: 1500 }); return; } if (_this.RECTIFICATIONTYPE == 1 && _this.imgList1.length <= 0) { uni.showToast({ icon: 'none', title: '请上传整改后图片', duration: 1500 }); return; } if (!_this.pd.ISRELEVANT) { uni.showToast({ icon: 'none', title: '请选择是否相关方', duration: 1500 }); return; } /*if (_this.RECTIFICATIONTYPE == 2 && !_this.pd.RECTIFICATIONDEPT && _this.pd.HIDDENLEVEL != 'jdyh001' && _this.pd.HIDDENLEVEL !='hiddenLevel2002') { uni.showToast({ icon: 'none', title: '请选择整改部门', duration: 1500 }); return; } if (_this.RECTIFICATIONTYPE == 2 && !_this.pd.RECTIFICATIONOR && _this.pd.HIDDENLEVEL != 'jdyh001' && _this.pd.HIDDENLEVEL !='hiddenLevel2002') { uni.showToast({ icon: 'none', title: '请选择整改人', duration: 1500 }); return; } if (_this.RECTIFICATIONTYPE == 2 && !_this.pd.RECTIFICATIONDEADLINE && _this.pd.HIDDENLEVEL != 'jdyh001' && _this.pd.HIDDENLEVEL !='hiddenLevel2002') { uni.showToast({ icon: 'none', title: '请选择整改期限', duration: 1500 }); return; }*/ var fileList = []; for (var i = 0; i < _this.imgList.length; i++) { if(!_this.imgList[i].id){ var file = {}; file.type = 3; file.filePath = _this.imgList[i].filePath; fileList.push(file); } } if (_this.RECTIFICATIONTYPE == 1){ for (var i = 0; i < _this.imgList1.length; i++) { if(!_this.imgList1[i].id) { var file = {}; file.type = 4; file.filePath = _this.imgList1[i].filePath; fileList.push(file); } } } if(_this.videoList.length>0){ if(!_this.videoList[0].id){ var file = {}; file.type = 102; file.filePath = _this.videoList[0].filePath; fileList.push(file); } } new Promise((resolve, reject) => { _this.submit().then(() => {resolve();}) }).then(() => { var i=0; _this.uploadImg(fileList,i).then(() => {resolve();}) }).then(() => { var pages = getCurrentPages(); // 获取当前页面栈 var prePage = pages[pages.length - 2]; // 上一个页面 // var task = prePage.$vm.list[_this.index]; if(_this.index) { prePage.$vm.initflag = true; // A 页面 init方法 为true // prePage.$vm.list[_this.index].ISNORMAL = 1; // prePage.$vm.list[_this.index].HIDDEN_ID = _this.pd.HIDDEN_ID; } uni.navigateBack({}); uni.hideLoading(); }) }, uploadImg(tempFilePaths,i){ return new Promise((resolve, reject) => { var _this = this; if(tempFilePaths.length==0){ resolve(); } uni.showLoading({ title: '上传中' }) uni.uploadFile({ url: basePath+'/app/imgfiles/add', filePath: tempFilePaths[i].filePath, name: 'FFILE', formData: { 'TYPE': tempFilePaths[i].type, 'FOREIGN_KEY': _this.pd.HIDDEN_ID }, success: (res) => { i++; if (tempFilePaths.length > i) { _this.uploadImg(tempFilePaths, i); } else { uni.hideLoading(); resolve(); } }, fail: (err) => { uni.hideLoading(); uni.showModal({ content: err.errMsg, showCancel: false }); } }) }) }, submit(){ return new Promise((resolve, reject) => { var _this = this; if(_this.pd.POSITIONDESC == undefined){ _this.pd.POSITIONDESC = '' } if(_this.pd.HIDDENPART == undefined){ _this.pd.HIDDENPART = '' } uni.request({ url: basePath+'/app/hidden/'+_this.msg, method: 'POST', dataType: 'json', header: { 'Content-type':'application/x-www-form-urlencoded' }, data: { HIDDEN_ID:_this.pd.HIDDEN_ID, SOURCE:'3', STATE:'0', HIDDENDESCR:_this.pd.HIDDENDESCR, HIDDENPART:_this.pd.HIDDENPART, LATITUDE:_this.pd.LATITUDE, LONGITUDE:_this.pd.LONGITUDE, ISRELEVANT: _this.pd.ISRELEVANT, POSITIONDESC: _this.pd.POSITIONDESC, RECTIFYDESCR:_this.pd.RECTIFYDESCR?_this.pd.RECTIFYDESCR:'', RECTIFICATIONDEADLINE:_this.pd.RECTIFICATIONDEADLINE?_this.pd.RECTIFICATIONDEADLINE:'', RECTIFICATIONTYPE:_this.RECTIFICATIONTYPE, RECTIFICATIONOR:_this.pd.RECTIFICATIONOR, HIDDENTYPE:_this.pd.HIDDENTYPE, HIDDENLEVEL:_this.pd.HIDDENLEVEL, RECTIFICATIONDEPT:_this.pd.RECTIFICATIONDEPT, // CHECKDEPT:_this.pd.CHECKDEPT?_this.pd.CHECKDEPT:'', // CHECK_CONTENT:_this.pd.CHECK_CONTENT, CORPINFO_ID:corpinfoId, HIDDENFINDDEPT:deptId, CREATOR:loginUser.USER_ID, LISTMANAGER_ID: _this.LISTMANAGER_ID, DISCOVERYTIME:this.pd.DISCOVERYTIME, //gwj 发现时间 other : JSON.stringify(this.other), //gwj 发现人 CONFIRM_USER :this.pd.conUserId , //gwj 隐患确认人 HIDDENTYPE2:_this.pd.HIDDENTYPE2, //gwj 隐患类型2 HIDDENTYPE2 }, success: (res) => { if ("success" == res.data.result) { _this.pd.HIDDEN_ID= res.data.pd.HIDDEN_ID; resolve(); // prePage.$vm.initflag = true; // A 页面 init方法 为true // prePage.$vm.list[_this.index].ISNORMAL = 1; // prePage.$vm.list[_this.index].HIDDEN_ID = _this.HIDDEN_ID; // uni.navigateBack({}); // uni.hideLoading(); } else { uni.showToast({ title: res.data.msaesge, duration: 2000 }); } } }); }); }, radioType(e){ this.RECTIFICATIONTYPE = e }, showHiddenRegionTree(){ var _this = this uni.request({ method: 'POST', dataType: 'json', header: { 'Content-type':'application/x-www-form-urlencoded' }, url: basePath+'/app/hidden/getTreehiddenRegionListAll', data: { CORPINFO_ID: corpinfoId, tm:new Date().getTime() }, success: function(res){ if("success" == res.data.result){ var json = res.data.zTreeNodes _this.hiddenRegionTreeList = JSON.parse(json) ; _this.$forceUpdate();//强制刷新 }else{ uni.showToast({ title: res.data.message, duration: 2000 }); } } }) this.isUps=true this.$refs.hiddenRegionTree._show(); }, hiddenRegionTreeCon(e){ this.isUps=false; this.pd.HIDDENPARTNAME=e[0].name; this.pd.HIDDENPART=e[0].id; this.$forceUpdate();//强制刷新 }, showHiddenLevenTreeTree(){ var _this = this; uni.request({ method: 'POST', dataType: 'json', header: { 'Content-type': 'application/x-www-form-urlencoded' }, url: basePath + '/dictionaries/listSelectTreeByTkiTree?tm=' + new Date().getTime(), data: {DICTIONARIES_ID: '5e7cf8620ba54ad89719d0be62133c7a'}, dataType: 'json', success: function (res) { // _this.levelList = JSON.parse(data.zTreeNodes) res.data.zTreeNodes; var data = JSON.parse(res.data.zTreeNodes); for(let i=0;i<data.length;i++){ for(let j=0;j<data[i].children.length;j++){ if(data[i].children[j].id =='hiddenLevel1001'){ data[i].children.splice(j,1) } } } _this.levelList = data } }); this.isUps=true this.$refs.hiddenLevenTree2._show(); }, // 确定回调事件 hiddenLevenConfirm(e) { this.isUps=false; this.pd.HIDDENLEVEL=e[0].id; this.pd.HIDDENLEVELNAME=e[0].name; }, showHiddenType1TreeTree(){ var _this = this; if(_this.hiddenTypeList){ uni.request({ method: 'POST', dataType: 'json', header: { 'Content-type': 'application/x-www-form-urlencoded' }, url: basePath + '/dictionaries/listSelectTreeByTkiTree?tm=' + new Date().getTime(), data: {DICTIONARIES_ID: '3babc15144444bdc8d763d0af2bdfff6'}, dataType: 'json', success: function (res) { var jons = res.data.zTreeNodes ; _this.hiddenTypeList = JSON.parse(jons) ; } }); } this.$refs.hiddenType1Tree._show(); this.isUps=true }, hiddenType1Confirm(e){ this.$set(this.pd,'HIDDENTYPE1NANEM',e[0].name) this.$set(this.pd,'HIDDENTYPE',e[0].id) this.isUps=false; }, showHiddenType2TreeTree(){ var _this = this; if(_this.hiddenTypeList){ uni.request({ method: 'POST', dataType: 'json', header: { 'Content-type': 'application/x-www-form-urlencoded' }, url: basePath + '/dictionaries/listSelectTreeByTkiTree?tm=' + new Date().getTime(), data: {DICTIONARIES_ID: '18c0a9aea6e54feab9f4ab3f46e0bc86'}, dataType: 'json', success: function (res) { var jons = res.data.zTreeNodes ; _this.hiddenType2List = JSON.parse(jons) ; } }); } this.$refs.hiddenType2Tree._show(); this.isUps=true }, hiddenType2Confirm(e){ this.$set(this.pd,'HIDDENTYPE2NANEM',e[0].name) this.$set(this.pd,'HIDDENTYPE2',e[0].id) this.isUps=false; }, showConTreeTree(){ this.isUps=true this.$refs.confirmTree._show(); }, getConfirmUser(e) { this.isUps=false; //发送 post 请求 var _this = this; uni.request({ method: 'POST', dataType: 'json', header: { 'Content-type':'application/x-www-form-urlencoded' }, url: basePath+'/app/user/getHiddenConfirm', data: { corpinfoId:corpinfoId, DEPARTMENT_ID:_this.pd.confirmDeptId, NOMAIN:'1', tm:new Date().getTime() }, success: function(res){ if("success" == res.data.result){ _this.confirUserAllList=res.data.userList; _this.$forceUpdate();//强制刷新 }else{ uni.showToast({ title: res.data.message, duration: 2000 }); } } }) }, setConUser(e){ var index = e.detail.value; console.info(e) console.info(this.confirUserAllList) this.pd.conUserId=this.confirUserAllList[index].USER_ID; this.pd.conUserName=this.confirUserAllList[index].NAME; this.$forceUpdate();//强制刷新 }, changeDiscoverDate(e) { this.pd.DISCOVERYTIME = e this.$forceUpdate();//强制刷新 }, addOther(){ var _this=this; let o = {"DEPARTMENT_ID":'',"USER_ID":'',"DEPARTMENT_NAME":'',"USER_NAME":'',index:-1}; _this.other.push(o); let index=_this.other.length-1; _this.otherUserList[index]=[]; }, removeOther(index){ this.other.splice(index,1); this.otherUserList.splice(index,1); }, showConTree(index){ this.$refs['tkiConfirmTree'+index][0]._show(); }, contreeConfirm(e,index) { this.other[index].DEPARTMENT_ID=e[0].id; this.other[index].DEPARTMENT_NAME=e[0].name; this.other[index].USER_ID=''; this.other[index].USER_NAME=''; this.other[index].index=-1; this.getConUserList(this.other[index].DEPARTMENT_ID,index); this.$forceUpdate();//强制刷新 }, PickerYsr(e,index) { this.other[index].index = e.detail.value; this.other[index].USER_ID=this.otherUserList[index][e.detail.value]?this.otherUserList[index][e.detail.value].USER_ID:''; this.other[index].USER_NAME=this.otherUserList[index][e.detail.value]?this.otherUserList[index][e.detail.value].NAME:''; this.$forceUpdate();//强制刷新 }, haveUser(e){ if(e == null || e.length == 0){ uni.showToast({ icon:"none", title: '请先选择有人员的部门', duration: 2000 }); } }, getConUserList(DEPARTMENT_ID,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:DEPARTMENT_ID, NOMAIN:'1', LOGINUSERID:loginUser.USER_ID, NOSELF:'1', tm:new Date().getTime() }, success: function(res){ if("success" == res.data.result){ if(i>-1){ _this.otherUserList[i]=[]; _this.otherUserList[i]=res.data.userList; _this.$forceUpdate();//强制刷新 }else{ _this.rectificationUserList=res.data.userList; } }else{ uni.showToast({ title: res.data.message, duration: 2000 }); } } }) }, myOther(){ var _this=this; let o = {"DEPARTMENT_ID":loginUser.DEPARTMENT_ID,"USER_ID":loginUser.USER_ID,"DEPARTMENT_NAME":loginUser.DEPARTMENT_NAME,"USER_NAME":loginUser.NAME,index:-1}; _this.other.push(o); let index=_this.other.length-1; _this.otherUserList[index]=[]; }, /** 坐标定位 */ showMapModal() { var _this = this uni.navigateTo({ url: '/pages/map/mapPro', events: { // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 acceptDataFromOpenedPage: function (e) { _this.pd.LONGITUDE = e.data.longitue; _this.pd.LATITUDE = e.data.latitude; } }, }) }, chooseVideo(e){ var _this = this; uni.chooseVideo({ maxDuration:60, count: 1, //默认9 // sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有 sourceType: ['camera','album'], //从相册选择 success: (res) => { console.info(res) if(e==0) { let img={}; img.id=''; img.filePath=res.tempFilePath; this.videoList.push(img) }else{ let img={}; img.id=''; img.filePath=res.tempFilePaths[0]; this.videoList.push(img) } } }); }, DelVideo(e) { uni.showModal({ title: '秦港-双基双控双控', content: '确定要删除这个视频吗?', cancelColor: "#000000", cancelText: '取消', confirmText: '确定', success: res => { if (res.confirm) { this.videoList = [] } } }) }, // 取消回调事件 hiddentreeCancel(e) { this.isUps = false; }, playVideo(e) { this.videoSrc = e.currentTarget.dataset.src this.modalShow = true } } } </script> <style> .prevent { width: 100%; height: 100%; position: fixed; top: 0; left: 0; overflow: hidden; } .cu-form-title{ padding: 20upx 0; } .cu-form-textarea{ background-color: #ffffff; padding: 1upx 30upx 20upx; min-height: 100upx; } .cu-form-textarea textarea { height: 4.6em; width: 100%; line-height: 1.2em; flex: 1; font-size: 28upx; padding: 0; } .selected{ display: flex; align-items: center; height: 100upx; } .selected .radio{ transform:scale(0.8); margin-right: 10upx; } .group{ display: flex; align-items: center; } .cu-form-group .title{ font-size: 28upx; color: #666; } .cu-bar .action:first-child { font-size: 28upx; } .asterisk:before{ content: "*"; color: red; vertical-align: sub; margin-right: 5px; } </style>