400 lines
13 KiB
Vue
400 lines
13 KiB
Vue
<template><!-- 源自pages/application/hidden-trouble-investigation/hidden-trouble-app/check-items-custom-list.vue -->
|
||
<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.CUSTOM_ITEM_ID">
|
||
<view class="title">检查内容:{{item.CHECK_CONTENT}}</view>
|
||
<view class="title">检查标准:{{item.CHECK_STANDARD}}</view>
|
||
<view v-if="item.REFERENCE_BASIS" class="title">参考依据:{{item.REFERENCE_BASIS}}</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,
|
||
{
|
||
CHECK_CONTENT:item.CHECK_CONTENT,
|
||
CUSTOM_ITEM_ID:item.CUSTOM_ITEM_ID,
|
||
RECORDITEM_ID:item.RECORDITEM_ID,
|
||
index:index,
|
||
CUSTOM_ID:item.CUSTOM_ID,
|
||
HASHIDDEN:item.HASHIDDEN,
|
||
CHECK_CATEGORY:item.CHECK_CATEGORY,
|
||
CHECK_CATEGORY_NAME:item.CHECK_CATEGORY_NAME,
|
||
CHECK_ITEM:item.CHECK_ITEM,
|
||
CHECK_ITEM_NAME:item.CHECK_ITEM_NAME,
|
||
CHECK_STANDARD: item.CHECK_STANDARD,
|
||
REFERENCE_BASIS: item.REFERENCE_BASIS,
|
||
CHECK_RESULT: item.CHECK_UNQUALIFIED
|
||
})">
|
||
<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>
|
||
<view v-if="item.ISNORMAL==0 || item.ISNORMAL==1" class="input" >
|
||
<textarea :disabled="item.OPERATION_TYPE === 1 ? true : false" maxlength="-1" v-model="item.CHECK_RESULT" placeholder="检查详细描述(必填项)" :class="item.OPERATION_TYPE === 1 ? 'bgh' : ''" style="border: 1px solid #eeeeee; z-index: 999; height: 50px; padding: 10px;font-size: 12px; width: 100%"></textarea>
|
||
</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,
|
||
listId: '',
|
||
CHECK_ITEM: '',
|
||
listName:'',
|
||
baoBaoType:'',
|
||
list: [],
|
||
pd:[],
|
||
CHECKRECORD_ID:'',
|
||
}
|
||
},
|
||
onLoad(e){
|
||
this.CHECK_ITEM = e.CHECK_ITEM
|
||
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/hiddenDangerCheckStandardCustom/goCheck', // /app/listmanager/goCheck
|
||
method: 'POST',
|
||
dataType: 'json',
|
||
header: {
|
||
'Content-type':'application/x-www-form-urlencoded'
|
||
},
|
||
data: {
|
||
CUSTOM_ID: _this.listId,
|
||
CHECK_ITEM: _this.CHECK_ITEM,
|
||
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].CUSTOM_ITEM_ID==res.data.records[j].CUSTOM_ITEM_ID){
|
||
_this.list[i].ISNORMAL = res.data.records[j].ISNORMAL;
|
||
_this.list[i].HIDDEN_ID = res.data.records[j].HIDDEN_ID;
|
||
_this.list[i].CHECKRECORD_ID = res.data.records[j].CHECKRECORD_ID;
|
||
_this.list[i].RECORDITEM_ID = res.data.records[j].RECORDITEM_ID;
|
||
_this.list[i].CHECK_RESULT = res.data.records[j].CHECK_RESULT;
|
||
if (res.data.records[j].ISNORMAL === 0) {
|
||
_this.list[i].CHECK_QUALIFIED = res.data.records[j].CHECK_RESULT;
|
||
} else if (res.data.records[j].ISNORMAL === 1) {
|
||
_this.list[i].CHECK_UNQUALIFIED = res.data.records[j].CHECK_RESULT;
|
||
}
|
||
// _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;
|
||
for(var i=0;i<_this.list.length;i++){
|
||
if(this.list[i].ISNORMAL && this.list[i].OPERATION_TYPE === 2) {
|
||
var CHECK_RESULT = ''
|
||
if (this.list[i].ISNORMAL === 0 || this.list[i].ISNORMAL === 1) {
|
||
CHECK_RESULT = _this.list[i].CHECK_RESULT
|
||
} else if (this.list[i].ISNORMAL === 2) {
|
||
CHECK_RESULT = "不涉及"
|
||
}
|
||
if (!CHECK_RESULT) {
|
||
uni.showToast({
|
||
icon: 'none',
|
||
title: '第'+(i+1)+'项检查为填写检查,检查结果不能为空',
|
||
duration: 1500
|
||
});
|
||
return;
|
||
}
|
||
}
|
||
}
|
||
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.CUSTOM_ITEM_ID = _this.list[i].CUSTOM_ITEM_ID
|
||
|
||
item.ISNORMAL = _this.list[i].ISNORMAL
|
||
if (_this.list[i].ISNORMAL === 0 || _this.list[i].ISNORMAL === 1) {
|
||
item.CHECK_RESULT = _this.list[i].CHECK_RESULT
|
||
} else {
|
||
item.CHECK_RESULT = ''
|
||
}
|
||
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/customCheckRecord/add', // /app/checkrecord/add'
|
||
xhrFields: {
|
||
withCredentials: true
|
||
},
|
||
method: 'POST',
|
||
dataType: 'json',
|
||
header: {
|
||
'Content-type':'application/x-www-form-urlencoded'
|
||
},
|
||
data: {
|
||
CUSTOM_ID:_this.listId,
|
||
CUSTOM_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/customHidden/delete', // /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,
|
||
loginUserName:loginUser.USER_NAME
|
||
},
|
||
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();//强制刷新
|
||
}
|
||
if (STATUS === 0) {
|
||
_this.$set(_this.list[e.index], 'CHECK_RESULT', _this.list[e.index].CHECK_QUALIFIED)
|
||
} else if (STATUS === 1) {
|
||
_this.$set(_this.list[e.index], 'CHECK_RESULT', _this.list[e.index].CHECK_UNQUALIFIED)
|
||
} else {
|
||
_this.$set(_this.list[e.index], 'CHECK_RESULT', '不涉及')
|
||
}
|
||
},
|
||
//跳转事件
|
||
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-danger-check-standard/custom/list-item-check-hidden-form?'
|
||
+'CHECK_CONTENT='+encodeURIComponent(JSON.stringify(e.CHECK_CONTENT.replace('%','%25')))
|
||
+'&CUSTOM_ITEM_ID='+ encodeURIComponent(JSON.stringify(e.CUSTOM_ITEM_ID))
|
||
+'&CHECKRECORD_ID='+ encodeURIComponent(JSON.stringify(e.CHECKRECORD_ID))
|
||
+'&RECORDITEM_ID='+ encodeURIComponent(JSON.stringify(e.RECORDITEM_ID))
|
||
+'&CUSTOM_ID='+ encodeURIComponent(JSON.stringify(e.CUSTOM_ID))
|
||
+'&CHECK_CATEGORY='+ encodeURIComponent(JSON.stringify(e.CHECK_CATEGORY))
|
||
+'&CHECK_CATEGORY_NAME='+ encodeURIComponent(JSON.stringify(e.CHECK_CATEGORY_NAME))
|
||
+'&CHECK_ITEM='+ encodeURIComponent(JSON.stringify(e.CHECK_ITEM))
|
||
+'&CHECK_ITEM_NAME='+ encodeURIComponent(JSON.stringify(e.CHECK_ITEM_NAME))
|
||
+'&CHECK_STANDARD='+ encodeURIComponent(JSON.stringify(e.CHECK_STANDARD))
|
||
+'&REFERENCE_BASIS='+ encodeURIComponent(JSON.stringify(e.REFERENCE_BASIS))
|
||
+'&CHECK_RESULT='+ encodeURIComponent(JSON.stringify(e.CHECK_RESULT))
|
||
+'&index='+e.index
|
||
+'&baoBaoType='+this.baoBaoType
|
||
});
|
||
},
|
||
//跳转事件
|
||
goToEdit(e) {
|
||
uni.navigateTo({
|
||
url: '/pages/application/hidden-danger-check-standard/custom/list-item-check-hidden-form?HIDDEN_ID='+e
|
||
});
|
||
},
|
||
//添加合格照片
|
||
gotoAddImg(e) {
|
||
uni.navigateTo({
|
||
url: '/pages/application/hidden-danger-check-standard/custom/list-item-check-imgs?RECORDITEM_ID='+e
|
||
});
|
||
},
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style>
|
||
.select radio {
|
||
transform: scale(0.9);
|
||
}
|
||
|
||
.bgh{
|
||
background: #f8f6f6;
|
||
color: #d9d7d7;
|
||
}
|
||
|
||
</style>
|