<template> <view> <cu-custom bgColor="bg-gradual-blueness" :isBack="true"> <block slot="backText">返回</block> <block slot="content">隐患排查项</block> </cu-custom> <scroll-view scroll-y> <view class="check-items" v-for="(item,index) in list" :key="item.LISTCHECKITEM_ID"> <view class="title">存在风险:{{item.RISK_DESCR}}</view> <view class="title">检查内容:{{item.CHECK_CONTENT}}</view> <view class="check-items-select"> <radio-group class="block"> <view class="flex justify-between padding-sm"> <view class="select"> <view @click="checkTrue({index:index},item.HASHIDDEN,0)" class="flex align-center"> <radio class='mr10' :class="item.ISNORMAL==0?'checked':''" :checked="item.ISNORMAL==0" disabled></radio> <text>合格</text> </view> <view v-if="item.ISNORMAL==0" @click="$noMultipleClicks(gotoAddImg,item.RECORDITEM_ID)" class="cuIcon-infofill text-blue unqualified"></view> </view> <view class="select"> <view class="flex align-center" @click="$noMultipleClicks(goToAdd,{checkContent:item.CHECK_CONTENT,riskId:item.LISTCHECKITEM_ID,itemId:item.RECORDITEM_ID,index:index,LISTMANAGER_ID:item.LISTMANAGER_ID,HASHIDDEN:item.HASHIDDEN,RISK_UNIT_ID:item.RISKUNIT_ID,RISK_UNIT_NAME:item.RISKUNITNAME})"> <radio class='red mr10' :class="item.ISNORMAL==1?'checked':''" :checked="item.ISNORMAL==1" disabled ></radio> <text>不合格</text> </view> <view v-if="item.ISNORMAL==1" @click="$noMultipleClicks(goToEdit,item.HIDDEN_ID)" class="cuIcon-infofill text-blue unqualified"></view> </view> <view class="select"> <view @click="checkTrue({index:index},item.HASHIDDEN,2)" class="flex align-center"> <radio class='mr10' :class="item.ISNORMAL==2?'checked':''" :checked="item.ISNORMAL==2" disabled></radio> <text>不涉及</text> </view> </view> </view> </radio-group> </view> </view> <view class="cu-tabbar-height"></view> </scroll-view> <view class="bottom-fixed" @tap.stop="openAuth('ACCESS_FINE_LOCATION')"> <button :loading="buttonloading" class="cu-btn bg-green" >提交</button> </view> <yk-authpup ref="authpup" type="top" @changeAuth="$noMultipleClicks(save)" :permissionID="permissionID"></yk-authpup> </view> </template> <script> import { basePath,corpinfoId,loginUser,loginSession } from '@/common/tool.js'; import gcoord from '@/common/gcoord.js' import ykAuthpup from "@/components/yk-authpup/yk-authpup" export default { data() { return { permissionID:'', noClick:true, buttonloading: false, IDENTIFICATIONPARTS_ID:'', listId:'', listName:'', baoBaoType:'', list: [], pd:[], CHECKRECORD_ID:'', } }, onLoad(e){ this.IDENTIFICATIONPARTS_ID=e.IDENTIFICATIONPARTS_ID; this.listId=e.listId; this.listName=e.listName; this.baoBaoType=e.baoBaoType this.CHECKRECORD_ID=e.CHECKRECORD_ID; this.getData(); loginSession(); }, onShow() { var _this = this; if(_this.initflag){ _this.initflag = false; _this.$forceUpdate();//强制刷新 } }, methods: { getData() { var _this = this; uni.showLoading({ title: '请稍候' }) uni.request({ url: basePath + '/app/listmanager/goCheck', method: 'POST', dataType: 'json', header: { 'Content-type':'application/x-www-form-urlencoded' }, data: { LISTMANAGER_ID: _this.listId, IDENTIFICATIONPARTS_ID: _this.IDENTIFICATIONPARTS_ID, USER_NAME : loginUser.NAME, CORPINFO_ID:loginUser.CORPINFO_ID, USER_ID:loginUser.USER_ID, }, success: (res) => { if("success" == res.data.result){ uni.hideLoading(); _this.pd=res.data.pd; _this.list = res.data.varList; if(res.data.records){ for (var i = 0; i <_this.list.length ; i++) { for (var j = 0; j <res.data.records.length ; j++) { if(_this.list[i].LISTCHECKITEM_ID==res.data.records[j].LISTCHECKITEM_ID){ _this.list[i].ISNORMAL = res.data.records[j].ISNORMAL; _this.list[i].HIDDEN_ID = res.data.records[j].HIDDEN_ID; _this.list[i].RECORDITEM_ID = res.data.records[j].RECORDITEM_ID; // _this.list[i].is_checked = 1; } } } } } else { uni.showToast({ title: res.data.message, duration: 2000 }); } } }); }, openAuth(permissionID){ this.permissionID = permissionID; setTimeout(()=>{ this.$refs['authpup'].open(); },200) }, //去保存 save: function (){ var _this = this; uni.showLoading({ title: '请稍候' }) var items=[]; var ids=[]; for(var i=0;i<_this.list.length;i++){ var item = {}; if(_this.list[i].ISNORMAL>-1 || _this.list[i].HASHIDDEN > 0) { item.LISTCHECKITEM_ID = _this.list[i].LISTCHECKITEM_ID; item.ISNORMAL = _this.list[i].ISNORMAL; item.RECORDITEM_ID = _this.list[i].RECORDITEM_ID; items.push(item); if (_this.list[i].HIDDEN_ID) { ids.push(_this.list[i].HIDDEN_ID) } } } let longitude; let latitude; uni.getLocation({ type: 'GCJ02', success: function (res1) { longitude = res1.longitude; latitude = res1.latitude; var result = gcoord.transform( [longitude, latitude], // 经纬度坐标 gcoord.GCJ02, // 当前坐标系 gcoord.BD09 // 目标坐标系 ); longitude = result[0]; latitude = result[1]; //发送 post 请求提交保存 this.buttonloading = true uni.request({ url: basePath+'/app/checkrecord/add', xhrFields: { withCredentials: true }, method: 'POST', dataType: 'json', header: { 'Content-type':'application/x-www-form-urlencoded' }, data: { LISTMANAGER_ID:_this.listId, LIST_NAME:_this.listName, CREATOR:loginUser.NAME, LATITUDE:latitude, LONGITUDE:longitude, ITEMS:JSON.stringify(items), IDS:ids.join(","), CHECKRECORD_ID:_this.CHECKRECORD_ID, tm:new Date().getTime(), CORPINFO_ID:loginUser.CORPINFO_ID, USER_ID:loginUser.USER_ID, }, success: function(res){ this.buttonloading = false if("success" == res.data.result){ uni.showToast({ icon: 'none', title: '提交成功', duration: 1500 }); setTimeout(function(){ var pages = getCurrentPages(); // 获取当前页面栈 var prePage = pages[pages.length - 2]; // 上一个页面 prePage.$vm.initflag = true; // A 页面 init方法 为true uni.navigateBack({}); uni.hideLoading(); },1500); }else { uni.showToast({ title: "系统错误", duration: 2000 }); } } }) }, fail: function(res){ uni.hideLoading(); uni.showToast({ title: "获取位置失败", duration: 2000 }); } }); }, //点击合格 checkTrue(e,HASHIDDEN,STATUS) { if(HASHIDDEN > 0){ uni.showToast({ icon:'none', title: "此检查内容存在未处理隐患,无法检查", duration: 1000 }); return; } // if(this.list[e.index].ISNORMAL==1){ // return; // } let _this=this; if(_this.list[e.index].HIDDEN_ID){ //不合格改为合格时 删除旧隐患 uni.request({ url: basePath+'/app/hidden/riskListCheckHiddenDelete', // /app/hidden/delete xhrFields: { withCredentials: true }, method: 'POST', dataType: 'json', header: { 'Content-type':'application/x-www-form-urlencoded' }, data: { HIDDEN_ID:_this.list[e.index].HIDDEN_ID, CORPINFO_ID:loginUser.CORPINFO_ID, USER_ID:loginUser.USER_ID, }, success: function(res){ if("success" == res.data.result){ _this.list[e.index].ISNORMAL=STATUS; _this.list[e.index].HIDDEN_ID=''; _this.$forceUpdate();//强制刷新 }else { uni.showToast({ title: "系统错误", duration: 2000 }); } } }) }else{ _this.list[e.index].ISNORMAL=STATUS; _this.list[e.index].HIDDEN_ID=''; _this.$forceUpdate();//强制刷新 } }, //跳转事件 goToAdd(e) { if (e.HASHIDDEN > 0) { uni.showToast({ icon: 'none', title: "此检查内容存在未处理隐患,无法检查", duration: 1000 }); return; } if (this.list[e.index].ISNORMAL == 1) { return; } uni.navigateTo({ url: '/pages/application/hidden-trouble-investigation/hidden-trouble-app/exclude-form?checkContent='+encodeURIComponent(JSON.stringify(e.checkContent.replace('%','%25'))) +'&riskId='+ encodeURIComponent(JSON.stringify(e.riskId)) +'&itemId='+ encodeURIComponent(JSON.stringify(e.itemId)) +'&LISTMANAGER_ID='+ encodeURIComponent(JSON.stringify(e.LISTMANAGER_ID)) +'&RISK_UNIT_ID='+ encodeURIComponent(JSON.stringify(e.RISK_UNIT_ID)) +'&RISK_UNIT_NAME='+ encodeURIComponent(JSON.stringify(e.RISK_UNIT_NAME)) +'&index='+e.index +'&baoBaoType='+this.baoBaoType }); }, //跳转事件 goToEdit(e) { uni.navigateTo({ url: '/pages/application/hidden-trouble-investigation/hidden-trouble-app/exclude-form?HIDDEN_ID='+e }); }, //添加合格照片 gotoAddImg(e) { uni.navigateTo({ url: '/pages/application/hidden-trouble-investigation/hidden-trouble-app/check-items-imgs?RECORDITEM_ID='+e }); }, } } </script> <style> .select radio { transform: scale(0.9); } </style>