安全环保检查模块优化0206

dev
WenShiJun 2024-02-06 15:38:56 +08:00
parent 8a5a4b29f5
commit 33c431d34f
28 changed files with 8871 additions and 273 deletions

View File

View File

View File

View File

@ -442,7 +442,10 @@
USER_ID:loginUser.USER_ID,
},
success: function (res) {
_this.levelList = res.data.list;
_this.levelList = res.data.list.filter(function (level) {
return level.NAME !== '轻微隐患';
});
// _this.levelList = res.data.list;
}
});
},

View File

@ -6,19 +6,25 @@
</cu-custom>
<scroll-view scroll-y>
<view class="wui-form-list">
<view class="wui-form-title">
<text>{{pd.HIDDENDESCR}}</text>
</view>
<view class="cu-form-group">
<view class="title">
<text>隐患来源</text>
</view>
<view>
<text v-if="pd.SOURCE=='1'"></text>
<text v-if="pd.SOURCE=='2'"></text>
<text v-if="pd.SOURCE=='3'"></text>
</view>
</view>
<view class="cu-form-group">
<view class="title">
<text>隐患描述</text>
</view>
<view>
<text>{{pd.HIDDENDESCR}}</text>
</view>
</view>
<view class="cu-form-group">
<view class="title">
<text>隐患来源</text>
</view>
<view>
<text v-if="pd.SOURCE=='1'"></text>
<text v-if="pd.SOURCE=='2'"></text>
<text v-if="pd.SOURCE=='4'"></text>
<text v-if="pd.SOURCE=='5'"></text>
</view>
</view>
<view class="cu-form-group" v-if="pd.SOURCE==2">
<view class="title">
<text>风险点单元</text>
@ -146,20 +152,20 @@
<view class="wui-sub-title">
<text>整改信息</text>
</view>
<view class="cu-form-textarea">
<view class="title">
<text>整改描述</text>
</view>
<view class="cu-form-p">
<text>{{pd.RECTIFYDESCR}}</text>
</view>
</view>
<view class="cu-form-group">
<view class="title">
<text>整改描述</text>
</view>
<view>
<text>{{pd.RECTIFYDESCR}}</text>
</view>
</view>
<view class="cu-form-group">
<view class="title">
<text>整改部门</text>
</view>
<view>
<text>{{pd.RECTIFICATIONDEPTNAME}}</text>
<text>{{pd.HIDDENFINDDEPTNAME}}</text>
</view>
</view>
<view class="cu-form-group">
@ -502,6 +508,7 @@
_this.files.push(res.data.hImgs[i])
}
}
_this.videoList = res.data.hiddenVideo;
// _this.files = res.data.hImgs;
_this.files2 = res.data.rImgs;
_this.files3 = res.data.cImgs;
@ -674,8 +681,8 @@
CHECK_TIME: _this.CHECK_TIME,
HIDDEN_ID: _this.id,
CHECKOR: loginUserId,
CORPINFO_ID:loginUser.CORPINFO_ID,
USER_ID:loginUser.USER_ID,
CORPINFO_ID:loginUser.CORPINFO_ID,
USER_ID:loginUser.USER_ID,
},
success: (res) => {
uni.hideLoading();

View File

@ -6,9 +6,14 @@
</cu-custom>
<scroll-view scroll-y>
<view class="wui-form-list">
<view class="wui-form-title">
<text>{{pd.HIDDENDESCR}}</text>
</view>
<view class="cu-form-group">
<view class="title">
<text>隐患描述</text>
</view>
<view>
<text>{{pd.HIDDENDESCR}}</text>
</view>
</view>
<view class="cu-form-group">
<view class="title">
<text>隐患来源</text>
@ -17,6 +22,8 @@
<text v-if="pd.SOURCE=='1'"></text>
<text v-if="pd.SOURCE=='2'"></text>
<text v-if="pd.SOURCE=='3'"></text>
<text v-if="pd.SOURCE=='4'"></text>
<text v-if="pd.SOURCE=='5'"></text>
</view>
</view>
<view class="cu-form-group" v-if="pd.SOURCE==2">
@ -146,14 +153,14 @@
<view class="wui-sub-title">
<text>整改信息</text>
</view>
<view class="cu-form-textarea">
<view class="title">
<text>整改描述</text>
</view>
<view class="cu-form-p">
<text>{{pd.RECTIFYDESCR}}</text>
</view>
</view>
<view class="cu-form-group">
<view class="title">
<text>整改描述</text>
</view>
<view>
<text>{{pd.RECTIFYDESCR}}</text>
</view>
</view>
<view class="cu-form-group">
<view class="title">
<text>整改部门</text>
@ -353,14 +360,22 @@
<view class="cu-form-title">验收描述</view>
<textarea maxlength="-1" @input="textareaAInput" placeholder="请对隐患验收进行详细描述(必填项)"></textarea>
</view>
<view v-if="ISQUALIFIED==1" class="cu-form-group bb-default">
<view class="title">验收日期</view>
<picker mode="date" :value="CHECK_TIME" :start="now" @change="changeDate">
<view class="picker">
{{CHECK_TIME==''?'请选择':CHECK_TIME}}
</view>
</picker>
</view>
<!-- <view v-if="ISQUALIFIED==1" class="cu-form-group bb-default">-->
<!-- <view class="title">验收日期</view>-->
<!-- <picker mode="date" :value="CHECK_TIME" :start="now" @change="changeDate">-->
<!-- <view class="picker">-->
<!-- {{CHECK_TIME==''?'请选择':CHECK_TIME}}-->
<!-- </view>-->
<!-- </picker>-->
<!-- </view>-->
<view class="cu-form-group" v-if="ISQUALIFIED==1">
<view class="title">验收日期</view>
<ruiDatePicker :value="CHECK_TIME" :start="now" @change="changeDate" fields="minute">
<view class="picker">
{{CHECK_TIME==''?'请选择':CHECK_TIME}}
</view>
</ruiDatePicker>
</view>
<view v-if="ISQUALIFIED==1" class="cu-bar bg-white">
<view class="action" style="font-size: 28upx; font-weight: bold; color: #000;">
验收图片
@ -421,9 +436,11 @@
formatDate
} from '@/common/tool.js';
import ykAuthpup from "@/components/yk-authpup/yk-authpup"
import ruiDatePicker from '@/components/rattenking-dtpicker/rattenking-dtpicker.vue'
export default {
components: {
ykAuthpup
ykAuthpup,
ruiDatePicker
},
data() {
return {
@ -565,6 +582,7 @@
},
goSubmit() {
var _this = this;
console.log('提交时的验收日期:', this.CHECK_TIME);
if (_this.ISQUALIFIED == '1') {
if (!_this.CHECKDESCR) {
uni.showToast({
@ -694,9 +712,9 @@
});
})
},
changeDate(e) {
this.CHECK_TIME = e.detail.value
},
changeDate(value) {
this.CHECK_TIME = value;
},
radio(e) {
this.ISQUALIFIED = e
},

View File

@ -18,24 +18,32 @@
</view>
<scroll-view class="dy-scroll" @scrolltolower="scrolltolower" scroll-y :style="'top:'+sTop+'px;height:calc(100vh - '+totalHeight+'px)'">
<view v-if="total>0" class="dy-list">
<view v-for="(item,index) of list" :key="index" :data-id="item.HIDDEN_ID" class="dy-list-item p201 arrow" @click="$noMultipleClicks(gotRectify,item)">
<view class="dy-title-flex">
<text v-if="item.HIDDENDESCR">{{item.HIDDENDESCR.length>15?item.HIDDENDESCR.substr(0,15)+'...':item.HIDDENDESCR}}</text>
<text v-else></text>
<text v-if="item.HIDDENLEVEL=='hiddenLevel0001'" class="cu-tag radius bg-yellow light">{{item.HIDDENLEVELNAME}}</text>
<text v-else-if="item.HIDDENLEVEL=='hiddenLevel0002'" class="cu-tag radius bg-red light">{{item.HIDDENLEVELNAME}}</text>
<!-- <view v-for="(item,index) of list" :key="index" :data-id="item.HIDDEN_ID" class="dy-list-item p201 arrow" @click="$noMultipleClicks(gotRectify,item.HIDDEN_ID)">-->
<view v-for="(item,index) of list" :key="index" :data-id="item.HIDDEN_ID" class="dy-list-item p201 arrow" @click="gotRectify(item)">
<view class="dy-subtitle-flex">
<text v-if="item.SOURCE=='1'"></text>
<text>{{ '隐患描述:' + (item.HIDDENDESCR ? (item.HIDDENDESCR.length > 15 ? item.HIDDENDESCR.substr(0, 15) + '...' : item.HIDDENDESCR) : '暂无') }}</text>
</view>
<view class="dy-subtitle-flex">
<text v-if="item.HIDDEN_RISKSTANDARD=='1'"></text>
<text v-else-if="item.HIDDEN_RISKSTANDARD=='2'">隐患排查清单检查</text>
<text v-if="item.SOURCE=='1'"></text>
<text v-else-if="item.SOURCE=='2'">来源清单排查</text>
<text v-else-if="item.SOURCE=='3'">来源清单排查</text>
<view class="dy-subtitle">
<text>隐患级别</text>
<text v-if="item.HIDDENLEVEL=='hiddenLevel0001'" class="cu-tag radius bg-yellow light">{{item.HIDDENLEVELNAME}}</text>
<text v-else-if="item.HIDDENLEVEL=='hiddenLevel0002'" class="cu-tag radius bg-red light">{{item.HIDDENLEVELNAME}}</text>
<text v-if="item.HIDDENLEVEL=='hiddenLevel0002'&&item.ISCONFIRM=='0'" class="cu-tag radius bg-grey light"></text>
<text v-if="item.HIDDENLEVEL=='hiddenLevel0002'&&item.ISCONFIRM=='1'" class="cu-tag radius bg-green light"></text>
</view>
<view class="dy-subtitle">
<text v-if="item.SOURCE=='1'"></text>
<text v-else-if="item.SOURCE=='2'">隐患来源隐患排查</text>
<text v-else-if="item.SOURCE=='3'">隐患来源隐患排查</text>
<text v-else-if="item.SOURCE=='4'">隐患来源安全环保检查</text>
<text v-else-if="item.SOURCE=='5'">隐患来源安全环保检查</text>
</view>
<view class="dy-subtitle-flex">
<text>整改人{{item.RECTIFICATIONORNAME?item.RECTIFICATIONORNAME:'暂无'}}</text>
<text class="text-gray f20">{{item.RECTIFICATIONTIME}}</text>
</view>
<view class="dy-subtitle-flex">
<text>整改时间 {{item.RECTIFICATIONTIME}}</text>
</view>
</view>
</view>
<view v-else-if="dataFlag=='noData'" class="dy-null">

View File

@ -8,7 +8,7 @@
<view class="cu-bar search bg-white">
<view class="search-form radius">
<text class="cuIcon-search"></text>
<input @input="InputBlur" placeholder="请输入关键字"></input>
<input @input="InputBlur" placeholder="请输入隐患描述关键字"></input>
</view>
<view class="action">
<button class="cu-btn bg-green shadow-blur radius" @click="getQuery()"></button>
@ -18,24 +18,37 @@
</view>
<scroll-view class="dy-scroll" @scrolltolower="scrolltolower" scroll-y :style="'top:'+sTop+'px;height:calc(100vh - '+totalHeight+'px)'">
<view v-if="total>0" class="dy-list">
<view v-for="(item,index) of list" :key="index" :data-id="item.HIDDEN_ID" class="dy-list-item p201 arrow" @click="$noMultipleClicks(gotRectify,item)">
<view class="dy-title-flex">
<text v-if="item.HIDDENDESCR">{{item.HIDDENDESCR.length>15?item.HIDDENDESCR.substr(0,15)+'...':item.HIDDENDESCR}}</text>
<text v-else></text>
<text v-if="item.HIDDENLEVEL=='hiddenLevel0001'" class="cu-tag radius bg-yellow light">{{item.HIDDENLEVELNAME}}</text>
<text v-else-if="item.HIDDENLEVEL=='hiddenLevel0002'" class="cu-tag radius bg-red light">{{item.HIDDENLEVELNAME}}</text>
</view>
<view class="dy-subtitle-flex">
<text v-if="item.HIDDEN_RISKSTANDARD=='1'"></text>
<text v-else-if="item.HIDDEN_RISKSTANDARD=='2'">隐患排查清单检查</text>
<text v-if="item.SOURCE=='1'"></text>
<text v-else-if="item.SOURCE=='2'">来源清单排查</text>
<text v-else-if="item.SOURCE=='3'">来源清单排查</text>
</view>
<!-- <view v-for="(item,index) of list" :key="index" :data-id="item.HIDDEN_ID" class="dy-list-item p201 arrow" @click="$noMultipleClicks(gotRectify,item.HIDDEN_ID)">-->
<view v-for="(item,index) of list" :key="index" :data-id="item.HIDDEN_ID" class="dy-list-item p201 arrow" @click="gotRectify(item)">
<view class="dy-title-flex">
<view class="dy-subtitle-flex">
<text>隐患描述</text>
<text v-if="item.HIDDENDESCR" class="hidden-desc-text">{{item.HIDDENDESCR.length>15?item.HIDDENDESCR.substr(0,15)+'...':item.HIDDENDESCR}}</text>
<text v-else></text>
</view>
</view>
<view class="dy-subtitle">
<text v-if="item.SOURCE=='1'"></text>
<text v-else-if="item.SOURCE=='2'">隐患来源隐患排查</text>
<text v-else-if="item.SOURCE=='3'">隐患来源隐患排查</text>
<text v-else-if="item.SOURCE=='4'">隐患来源安全环保检查</text>
<text v-else-if="item.SOURCE=='5'">隐患来源安全环保检查</text>
</view>
<view class="dy-subtitle">
<text>隐患级别</text>
<text v-if="item.HIDDENLEVEL=='hiddenLevel0001'" class="cu-tag radius bg-yellow light">{{item.HIDDENLEVELNAME}}</text>
<text v-else-if="item.HIDDENLEVEL=='hiddenLevel0002'" class="cu-tag radius bg-red light">{{item.HIDDENLEVELNAME}}</text>
<text v-if="item.HIDDENLEVEL=='hiddenLevel0002'&&item.ISCONFIRM=='0'" class="cu-tag radius bg-grey light"></text>
<text v-if="item.HIDDENLEVEL=='hiddenLevel0002'&&item.ISCONFIRM=='1'" class="cu-tag radius bg-green light"></text>
</view>
<view class="dy-subtitle-flex">
<text>整改人{{item.RECTIFICATIONORNAME?item.RECTIFICATIONORNAME:'暂无'}}</text>
<text class="text-gray f20">{{item.RECTIFICATIONTIME}}</text>
</view>
<view class="dy-subtitle-flex">
<text>整改时间 {{item.RECTIFICATIONTIME}}</text>
</view>
</view>
</view>
<view v-else-if="dataFlag=='noData'" class="dy-null">
@ -77,7 +90,7 @@
}
},
onLoad(e) {
this.isIndex = e.isIndex;
this.isIndex = e.isIndex !== undefined ? e.isIndex : 1;
this.getData();
loginSession();
},

View File

@ -6,9 +6,14 @@
</cu-custom>
<scroll-view scroll-y>
<view class="wui-form-list">
<view class="wui-form-title">
<text>{{pd.HIDDENDESCR}}</text>
</view>
<view class="cu-form-group">
<view class="title">
<text>隐患描述</text>
</view>
<view>
<text>{{pd.HIDDENDESCR}}</text>
</view>
</view>
<view class="cu-form-group">
<view class="title">
<text>隐患来源</text>
@ -16,7 +21,8 @@
<view>
<text v-if="pd.SOURCE=='1'"></text>
<text v-if="pd.SOURCE=='2'"></text>
<text v-if="pd.SOURCE=='3'"></text>
<text v-if="pd.SOURCE=='4'"></text>
<text v-if="pd.SOURCE=='5'"></text>
</view>
</view>
<view class="cu-form-group" v-if="pd.SOURCE==2">
@ -237,7 +243,8 @@
<view class="title">验收部门</view>
<view class="picker-tree-box">
<view class="picker-tree" @tap="showYsTree(index)">
{{other[index].DEPARTMENT_NAME?other[index].DEPARTMENT_NAME:'请选择'}}</view>
{{other[index].DEPARTMENT_NAME || '请选择'}}
</view>
</view>
<tki-tree :ref="'tkiTree'+index" :selectParent=true :range="treeNode" rangeKey="name"
@confirm="ystreeConfirm($event,index)"></tki-tree>
@ -249,8 +256,8 @@
: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>
{{other[index].USER_NAME || '请选择'}}
</view>
</picker>
</view>
</view>
@ -271,23 +278,19 @@
</view>
</view>
</view>
<view class="cu-form-group">
<view class="title">是否有整改方案</view>
<radio-group class="selected">
<view class="group mr20">
<radio class='radio' value="1" :checked="HAVESCHEME==='1'" @click="radio('1')"></radio>
<text></text>
</view>
<view class="group" v-if="pd.ISCONFIRM=='0'">
<radio class='radio' value="0" :checked="HAVESCHEME==='0'" @click="radio('0')"></radio>
<text></text>
</view>
<view class="group" v-if="pd.ISCONFIRM=='1'">
<radio class='radio' disabled="true" value="0" :checked="HAVESCHEME==='0'"></radio>
<text></text>
</view>
</radio-group>
</view>
<view class="cu-form-group">
<view class="title">是否有整改方案</view>
<radio-group class="selected">
<view class="group mr20">
<radio class='radio' value="1" :checked="HAVESCHEME==='1'" @click="radio('1')"></radio>
<text></text>
</view>
<view class="group">
<radio class='radio' value="0" :checked="HAVESCHEME==='0'" @click="radio('0')"></radio>
<text></text>
</view>
</radio-group>
</view>
<view class="cu-form-group" v-if="HAVESCHEME=='1'">
<view class="title">
<text>排查日期</text>
@ -445,7 +448,7 @@
},
data() {
return {
permissionID:'',
permissionID:'',
noClick: true,
date: '',
RECTIFICATIONTIME: '',
@ -520,26 +523,28 @@
},
data: {
HIDDEN_ID: _this.id,
CORPINFO_ID:loginUser.CORPINFO_ID,
USER_ID:loginUser.USER_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
if (_this.pd.HIDDENLEVEL == 'hiddenLevel0002') {
console.log(_this.pd);
if (_this.pd.HIDDENLEVEL == 'hiddenLevel0002') {
_this.getqyData();
}
if (_this.pd.ISCONFIRM == '1') {
_this.HAVESCHEME = '1'
}
for (let i = 0; i < res.data.hImgs.length; i++) {
if(res.data.hImgs[i].FILEPATH.substring(res.data.hImgs[i].FILEPATH.lastIndexOf(".") + 1, res.data.hImgs[i].FILEPATH.length) === 'mp4'){
_this.videoList.push(res.data.hImgs[i])
}else {
_this.files.push(res.data.hImgs[i])
}
}
for (let i = 0; i < res.data.hImgs.length; i++) {
// if(res.data.hImgs[i].FILEPATH.substring(res.data.hImgs[i].FILEPATH.lastIndexOf(".") + 1, res.data.hImgs[i].FILEPATH.length) === 'mp4'){
// _this.videoList.push(res.data.hImgs[i])
// }else {
_this.files.push(res.data.hImgs[i])
// }
}
_this.videoList =res.data.hiddenVideo
// _this.files = res.data.hImgs;
_this.other[0].DEPARTMENT_ID=_this.pd.HIDDENFINDDEPT;
_this.other[0].DEPARTMENT_NAME=_this.pd.HIDDENFINDDEPTNAME;
@ -620,19 +625,28 @@
//
ChooseImage() {
var _this = this;
uni.chooseImage({
count: 4, //9
sizeType: ['original', 'compressed'], //
sourceType: ['camera', 'album'], //
success: (res) => {
if (this.imgList.length != 0) {
this.imgList = this.imgList.concat(res.tempFilePaths)
} else {
this.imgList = res.tempFilePaths
}
}
});
var _this = this;
var ss = 4 - this.hiddenForm.hiddenImgs.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.IMGFILES_ID = '';
img.FILEPATH = res.tempFilePaths[i];
this.hiddenForm.hiddenImgs.push(img)
} else {
let img = {};
img.IMGFILES_ID = '';
img.FILEPATH = res.tempFilePaths[i];
this.imgList1.push(img)
}
}
}
});
},
ViewImage(e) {
uni.previewImage({
@ -655,21 +669,19 @@
})
},
//
ChooseImage_fa() {
var _this = this;
uni.chooseImage({
count: 4, //9
sizeType: ['original', 'compressed'], //
sourceType: ['camera', 'album'], //
success: (res) => {
if (this.imgList_fa.length != 0) {
this.imgList_fa = this.imgList_fa.concat(res.tempFilePaths)
} else {
this.imgList_fa = res.tempFilePaths
}
}
});
},
ChooseImage_fa() {
var _this = this;
uni.chooseImage({
count: 4 - _this.imgList.length, // +++ 4
sizeType: ['original', 'compressed'],
sourceType: ['camera', 'album'],
success: (res) => {
// imgList
_this.imgList = _this.imgList.concat(res.tempFilePaths);
_this.$forceUpdate(); // +++
}
});
},
ViewImage_fa(e) {
uni.previewImage({
urls: this.imgList_fa,
@ -750,14 +762,14 @@
});
return;
}
if (_this.imgList.length <= 0) {
uni.showToast({
icon: 'none',
title: '请上传整改后照片',
duration: 1500
});
return;
}
// if (_this.imgList.length <= 0) {
// uni.showToast({
// icon: 'none',
// title: '',
// duration: 1500
// });
// return;
// }
if (this.HAVESCHEME == 1) {
if (this.pd.GOVERNSTANDARDS == '' || this.pd.GOVERNSTANDARDS == undefined) {
@ -1157,7 +1169,6 @@
success: (res) => {
if ("success" == res.data.result) {
_this.treeNode = eval(res.data.zTreeNodes);
// _this.other[0].DEPARTMENT_ID = loginUser.DEPARTMENT_ID;
// _this.other[0].DEPARTMENT_NAME = loginUser.DEPARTMENT_NAME;
// _this.other[0].USER_ID = loginUser.USER_ID;
@ -1188,6 +1199,7 @@
//
ystreeConfirm(e, index) {
console.log(e,index)
this.other[index].DEPARTMENT_ID = e[0].id;
this.other[index].DEPARTMENT_NAME = e[0].name;
this.other[index].USER_ID = '';

View File

@ -6,9 +6,14 @@
</cu-custom>
<scroll-view scroll-y>
<view class="wui-form-list">
<view class="wui-form-title">
<text>{{pd.HIDDENDESCR}}</text>
</view>
<view class="cu-form-group">
<view class="title">
<text>隐患描述</text>
</view>
<view>
<text>{{pd.HIDDENDESCR}}</text>
</view>
</view>
<view class="cu-form-group">
<view class="title">
<text>隐患来源</text>
@ -17,6 +22,8 @@
<text v-if="pd.SOURCE=='1'"></text>
<text v-if="pd.SOURCE=='2'"></text>
<text v-if="pd.SOURCE=='3'"></text>
<text v-if="pd.SOURCE=='4'"></text>
<text v-if="pd.SOURCE=='5'"></text>
</view>
</view>
<view class="cu-form-group" v-if="pd.SOURCE==2">
@ -278,14 +285,18 @@
<radio class='radio' value="1" :checked="HAVESCHEME==='1'" @click="radio('1')"></radio>
<text></text>
</view>
<view class="group" v-if="pd.ISCONFIRM=='0'">
<radio class='radio' value="0" :checked="HAVESCHEME==='0'" @click="radio('0')"></radio>
<text></text>
</view>
<view class="group" v-if="pd.ISCONFIRM=='1'">
<radio class='radio' disabled="true" value="0" :checked="HAVESCHEME==='0'"></radio>
<text></text>
</view>
<view class="group">
<radio class='radio' value="0" :checked="HAVESCHEME==='0'" @click="radio('0')"></radio>
<text></text>
</view>
<!-- <view class="group" v-if="pd.ISCONFIRM=='0'">-->
<!-- <radio class='radio' value="0" :checked="HAVESCHEME==='0'" @click="radio('0')"></radio>-->
<!-- <text></text>-->
<!-- </view>-->
<!-- <view class="group" v-if="pd.ISCONFIRM=='1'">-->
<!-- <radio class='radio' disabled="true" value="0" :checked="HAVESCHEME==='0'"></radio>-->
<!-- <text></text>-->
<!-- </view>-->
</radio-group>
</view>
<view class="cu-form-group" v-if="HAVESCHEME=='1'">

View File

@ -21,26 +21,26 @@
<view v-for="(item,index) of list" :key="index" :data-id="item.HIDDEN_ID" class="dy-list-item p201 arrow" @click="$noMultipleClicks(gotRectify,item)">
<view class="dy-title-flex">
<view>
<text v-if="item.HIDDENDESCR">{{item.HIDDENDESCR.length>15?item.HIDDENDESCR.substr(0,15)+'...':item.HIDDENDESCR}}</text>
<text v-else></text>
</view>
<view>
<text v-if="item.HIDDENLEVEL=='hiddenLevel0001'" class="cu-tag radius bg-yellow light">{{item.HIDDENLEVELNAME}}</text>
<text v-if="item.HIDDENLEVEL=='hiddenLevel0002'" class="cu-tag radius bg-red light">{{item.HIDDENLEVELNAME}}</text>
<text v-if="item.HIDDENLEVEL=='hiddenLevel0002'&&item.ISCONFIRM=='0'" class="cu-tag radius bg-grey light"></text>
<text v-if="item.HIDDENLEVEL=='hiddenLevel0002'&&item.ISCONFIRM=='1'" class="cu-tag radius bg-green light"></text>
<view class="dy-subtitle">
<text>{{ '隐患描述:' + (item.HIDDENDESCR ? (item.HIDDENDESCR.length > 15 ? item.HIDDENDESCR.substr(0, 15) + '...' : item.HIDDENDESCR) : '暂无') }}</text>
</view>
</view>
</view>
<view class="dy-subtitle-flex">
<text v-if="item.HIDDEN_RISKSTANDARD=='1'"></text>
<text v-else-if="item.HIDDEN_RISKSTANDARD=='2'">隐患排查清单检查</text>
<text v-if="item.SOURCE=='1'"></text>
<text v-else-if="item.SOURCE=='2'">来源清单排查</text>
<text v-else-if="item.SOURCE=='3'">来源清单排查</text>
<view class="dy-subtitle">
<text>隐患级别</text>
<text v-if="item.HIDDENLEVEL=='hiddenLevel0001'" class="cu-tag radius bg-yellow light">{{item.HIDDENLEVELNAME}}</text>
<text v-else-if="item.HIDDENLEVEL=='hiddenLevel0002'" class="cu-tag radius bg-red light">{{item.HIDDENLEVELNAME}}</text>
</view>
<view class="dy-subtitle">
<text v-if="item.SOURCE=='1'"></text>
<text v-else-if="item.SOURCE=='2'">隐患来源隐患排查</text>
<text v-else-if="item.SOURCE=='3'">隐患来源隐患排查</text>
<text v-else-if="item.SOURCE=='4'">隐患来源安全环保检查</text>
<text v-else-if="item.SOURCE=='5'">隐患来源安全环保检查</text>
</view>
<view class="dy-subtitle-flex">
<text>整改人{{item.RECTIFICATIONORNAME?item.RECTIFICATIONORNAME:'暂无'}}</text>
<text class="text-gray f20">{{item.RECTIFICATIONTIME}}</text>
<!-- <text class="text-gray f20">{{item.RECTIFICATIONTIME}}</text>-->
</view>
</view>
</view>
@ -140,6 +140,7 @@
},
success: (res) => {
// console.info(res.data);
console.log("打印数据:",res.data.varList)
if (res.data.result == 'success') {
uni.hideLoading();
_this.total = res.data.page.totalResult;

View File

@ -18,29 +18,30 @@
</view>
<scroll-view class="dy-scroll" @scrolltolower="scrolltolower" scroll-y :style="'top:'+sTop+'px;height:calc(100vh - '+totalHeight+'px)'">
<view v-if="total>0" class="dy-list">
<view v-for="(item,index) of list" :key="index" :data-id="item.HIDDEN_ID" class="dy-list-item p201 arrow" @click="$noMultipleClicks(gotRectify,item)">
<view v-for="(item,index) of list" :key="index" :data-id="item.HIDDEN_ID" class="dy-list-item p201 arrow" @click="$noMultipleClicks(gotRectify,item.HIDDEN_ID)">
<view class="dy-title-flex">
<view>
<text v-if="item.HIDDENDESCR">{{item.HIDDENDESCR.length>15?item.HIDDENDESCR.substr(0,15)+'...':item.HIDDENDESCR}}</text>
<text v-else></text>
</view>
<view>
<text v-if="item.HIDDENLEVEL=='hiddenLevel0001'" class="cu-tag radius bg-yellow light">{{item.HIDDENLEVELNAME}}</text>
<text v-if="item.HIDDENLEVEL=='hiddenLevel0002'" class="cu-tag radius bg-red light">{{item.HIDDENLEVELNAME}}</text>
<text v-if="item.HIDDENLEVEL=='hiddenLevel0002'&&item.ISCONFIRM=='0'" class="cu-tag radius bg-grey light"></text>
<text v-if="item.HIDDENLEVEL=='hiddenLevel0002'&&item.ISCONFIRM=='1'" class="cu-tag radius bg-green light"></text>
</view>
<view class="dy-subtitle-flex">
<text>隐患描述</text>
<text v-if="item.HIDDENDESCR" class="hidden-desc-text">{{item.HIDDENDESCR.length>15?item.HIDDENDESCR.substr(0,15)+'...':item.HIDDENDESCR}}</text>
<text v-else></text>
</view>
</view>
<view class="dy-subtitle-flex">
<text v-if="item.HIDDEN_RISKSTANDARD=='1'"></text>
<text v-else-if="item.HIDDEN_RISKSTANDARD=='2'">隐患排查清单检查</text>
<text v-if="item.SOURCE=='1'"></text>
<text v-else-if="item.SOURCE=='2'">来源清单排查</text>
<text v-else-if="item.SOURCE=='3'">来源清单排查</text>
<view class="dy-subtitle">
<text>隐患级别</text>
<text v-if="item.HIDDENLEVEL=='hiddenLevel0001'" class="cu-tag radius bg-yellow light">{{item.HIDDENLEVELNAME}}</text>
<text v-else-if="item.HIDDENLEVEL=='hiddenLevel0002'" class="cu-tag radius bg-red light">{{item.HIDDENLEVELNAME}}</text>
<text v-if="item.HIDDENLEVEL=='hiddenLevel0002'&&item.ISCONFIRM=='0'" class="cu-tag radius bg-grey light"></text>
<text v-if="item.HIDDENLEVEL=='hiddenLevel0002'&&item.ISCONFIRM=='1'" class="cu-tag radius bg-green light"></text>
</view>
<view class="dy-subtitle">
<text v-if="item.SOURCE=='1'"></text>
<text v-else-if="item.SOURCE=='2'">隐患来源隐患排查</text>
<text v-else-if="item.SOURCE=='3'">隐患来源隐患排查</text>
<text v-else-if="item.SOURCE=='4'">隐患来源安全环保检查</text>
<text v-else-if="item.SOURCE=='5'">隐患来源安全环保检查</text>
</view>
<view class="dy-subtitle-flex">
<text>整改人{{item.RECTIFICATIONORNAME?item.RECTIFICATIONORNAME:'暂无'}}</text>
<text class="text-gray f20">{{item.RECTIFICATIONTIME}}</text>
</view>
</view>
</view>
@ -145,6 +146,7 @@
if (res.data.result == 'success') {
uni.hideLoading();
_this.total = res.data.page.totalResult;
console.log('打印数据:',res.data)
if (_this.totalCount < res.data.page.totalResult) {
var content = res.data.varList;
_this.list = _this.list.concat(content);

View File

@ -6,15 +6,22 @@
</cu-custom>
<scroll-view scroll-y>
<view class="wui-form-list">
<view class="wui-form-title">
<text>{{pd.HIDDENDESCR}}</text>
</view>
<view class="cu-form-group">
<view class="title">
<text>隐患描述</text>
</view>
<view>
<text>{{pd.HIDDENDESCR}}</text>
</view>
</view>
<view class="cu-form-group">
<view class="title">隐患来源</view>
<view>
<text v-if="pd.SOURCE=='1'"></text>
<text v-if="pd.SOURCE=='2'"></text>
<text v-if="pd.SOURCE=='3'"></text>
<text v-if="pd.SOURCE=='4'"></text>
<text v-if="pd.SOURCE=='5'"></text>
</view>
</view>
@ -167,14 +174,14 @@
<view class="wui-sub-title">
<text>整改信息</text>
</view>
<view class="cu-form-textarea">
<view class="title">
<text>整改描述</text>
</view>
<view class="cu-form-p">
<text>{{pd.RECTIFYDESCR}}</text>
</view>
</view>
<view class="cu-form-group">
<view class="title">
<text>整改描述</text>
</view>
<view>
<text>{{pd.RECTIFYDESCR}}</text>
</view>
</view>
<view class="cu-form-group">
<view class="title">
<text>整改部门</text>
@ -327,17 +334,16 @@
</scroll-view>
</view>
</view>
<view class="de-item">
<view class="de-sub-title">
<text class="text-grey">整改计划</text>
</view>
<view class="uni-flex-item text-right">
<text v-if="pd.HAVEPLAN==0" class="text-semi"></text>
<text v-else-if="pd.HAVEPLAN==1" class="text-semi"></text>
<text v-else class="text-semi"></text>
</view>
</view>
<view class="cu-form-group">
<view class="title">
<text>整改计划</text>
</view>
<view class="uni-flex-item text-right">
<text v-if="pd.HAVEPLAN==0" class="text-semi"></text>
<text v-else-if="pd.HAVEPLAN==1" class="text-semi"></text>
<text v-else class="text-semi"></text>
</view>
</view>
<view class="de-item-sp" v-if="pd.HAVEPLAN==1">
<view class="de-sub-title">
<text class="text-grey">计划图片</text>
@ -359,14 +365,14 @@
<view class="wui-sub-title">
<text>验收信息</text>
</view>
<view class="cu-form-textarea">
<view class="title">
<text>验收描述</text>
</view>
<view class="cu-form-p">
<text>{{item.CHECKDESCR}}</text>
</view>
</view>
<view class="cu-form-group">
<view class="title">
<text>验收描述</text>
</view>
<view>
<text>{{item.CHECKDESCR}}</text>
</view>
</view>
<view class="cu-form-group">
<view class="title">
<text>是否合格</text>

View File

@ -6,15 +6,20 @@
</cu-custom>
<scroll-view scroll-y>
<view class="wui-form-list">
<view class="wui-form-title">
<text>{{pd.HIDDENDESCR}}</text>
</view>
<view class="cu-form-group">
<view class="title">隐患描述</view>
<view>
<text>{{pd.HIDDENDESCR}}</text>
</view>
</view>
<view class="cu-form-group">
<view class="title">隐患来源</view>
<view>
<text v-if="pd.SOURCE=='1'"></text>
<text v-if="pd.SOURCE=='2'"></text>
<text v-if="pd.SOURCE=='3'"></text>
<text v-if="pd.SOURCE=='4'"></text>
<text v-if="pd.SOURCE=='5'"></text>
</view>
</view>
@ -167,14 +172,14 @@
<view class="wui-sub-title">
<text>整改信息</text>
</view>
<view class="cu-form-textarea">
<view class="title">
<text>整改描述</text>
</view>
<view class="cu-form-p">
<text>{{pd.RECTIFYDESCR}}</text>
</view>
</view>
<view class="cu-form-group">
<view class="title">
<text>整改描述</text>
</view>
<view>
<text>{{pd.RECTIFYDESCR}}</text>
</view>
</view>
<view class="cu-form-group">
<view class="title">
<text>整改部门</text>
@ -327,17 +332,16 @@
</scroll-view>
</view>
</view>
<view class="de-item">
<view class="de-sub-title">
<text class="text-grey">整改计划</text>
</view>
<view class="uni-flex-item text-right">
<text v-if="pd.HAVEPLAN==0" class="text-semi"></text>
<text v-else-if="pd.HAVEPLAN==1" class="text-semi"></text>
<text v-else class="text-semi"></text>
</view>
</view>
<view class="cu-form-group">
<view class="title">
<text class="text-grey">整改计划</text>
</view>
<view class="uni-flex-item text-right">
<text v-if="pd.HAVEPLAN==0" class="text-semi"></text>
<text v-else-if="pd.HAVEPLAN==1" class="text-semi"></text>
<text v-else class="text-semi"></text>
</view>
</view>
<view class="de-item-sp" v-if="pd.HAVEPLAN==1">
<view class="de-sub-title">
<text class="text-grey">计划图片</text>
@ -359,14 +363,14 @@
<view class="wui-sub-title">
<text>验收信息</text>
</view>
<view class="cu-form-textarea">
<view class="title">
<text>验收描述</text>
</view>
<view class="cu-form-p">
<text>{{item.CHECKDESCR}}</text>
</view>
</view>
<view class="cu-form-group">
<view class="title">
<text>验收描述</text>
</view>
<view>
<text>{{item.CHECKDESCR}}</text>
</view>
</view>
<view class="cu-form-group">
<view class="title">
<text>是否合格</text>

View File

@ -14,8 +14,6 @@
<view class="padding-sm bb-default text-semi">
高级查询
</view>
<view class="picker-tree-select">
<view class="">
检查部门
@ -46,8 +44,8 @@
隐患级别
</view>
<view class="flex margin-top-xs sr-s">
<view class="cu-btn radiued margin-xs" :class="HIDDEN_RISKSTANDARD=='1'?'bg-blue':'line-blue'" @click="changeRiskStandard('1')"></view>
<view class="cu-btn radiued margin-xs" :class="HIDDEN_RISKSTANDARD=='2'?'bg-blue':'line-blue'" @click="changeRiskStandard('2')"></view>
<view class="cu-btn radiued margin-xs" :class="HIDDENLEVEL=='hiddenLevel0001'?'bg-blue':'line-blue'" @click="changeLevel('hiddenLevel0001')"></view>
<view class="cu-btn radiued margin-xs" :class="HIDDENLEVEL=='hiddenLevel0002'?'bg-blue':'line-blue'" @click="changeLevel('hiddenLevel0002')"></view>
</view>
<view class="padding-sm bb-default">
隐患级别
@ -101,7 +99,7 @@
<view class="cu-bar search bg-white">
<view class="search-form radius">
<text class="cuIcon-search"></text>
<input @input="InputBlur" placeholder="请输入关键字"></input>
<input @input="InputBlur" placeholder="请输入隐患描述关键字"></input>
</view>
<view class="action">
<button class="cu-btn bg-green shadow-blur radius" @click="getQuery()"></button>
@ -111,24 +109,33 @@
</view>
<scroll-view class="dy-scroll" @scrolltolower="scrolltolower" scroll-y :style="'top:'+sTop+'px;height:calc(100vh - '+totalHeight+'px)'">
<view v-if="total>0" class="dy-list">
<view v-for="(item,index) of list" :key="index" :data-id="item.HIDDEN_ID" class="dy-list-item p201 arrow" @click="$noMultipleClicks(gotRectify, item)">
<view class="dy-title-flex">
<text v-if="item.HIDDENDESCR">{{item.HIDDENDESCR.length>15?item.HIDDENDESCR.substr(0,15)+'...':item.HIDDENDESCR}}</text>
<text v-else></text>
<text v-if="item.HIDDENLEVEL=='hiddenLevel0001'" class="cu-tag radius bg-yellow light">{{item.HIDDENLEVELNAME}}</text>
<text v-else-if="item.HIDDENLEVEL=='hiddenLevel0002'" class="cu-tag radius bg-red light" >{{item.HIDDENLEVELNAME}}</text>
</view>
<view class="dy-subtitle-flex">
<text v-if="item.HIDDEN_RISKSTANDARD=='1'"></text>
<text v-else-if="item.HIDDEN_RISKSTANDARD=='2'">隐患排查清单检查</text>
<text v-if="item.SOURCE=='1'"></text>
<text v-else-if="item.SOURCE=='2'">来源清单排查</text>
<text v-else-if="item.SOURCE=='3'">来源清单排查</text>
<!-- <view v-for="(item,index) of list" :key="index" :data-id="item.HIDDEN_ID" class="dy-list-item p201 arrow" @click="$noMultipleClicks(gotRectify,item.HIDDEN_ID)">-->
<view v-for="(item,index) of list" :key="index" :data-id="item.HIDDEN_ID" class="dy-list-item p201 arrow" @click="gotRectify(item)">
<view class="dy-item-flex">
<view class="dy-subtitle">
<text>隐患描述</text>
<text v-if="item.HIDDENDESCR">{{item.HIDDENDESCR.length>15?item.HIDDENDESCR.substr(0,15)+'...':item.HIDDENDESCR}}</text>
<text v-else></text>
</view>
<view class="dy-subtitle">
<text>隐患级别</text>
<text v-if="item.HIDDENLEVEL=='hiddenLevel0001'" class="cu-tag radius bg-yellow light">{{item.HIDDENLEVELNAME}}</text>
<text v-else-if="item.HIDDENLEVEL=='hiddenLevel0002'" class="cu-tag radius bg-red light">{{item.HIDDENLEVELNAME}}</text>
</view>
</view>
<view class="dy-subtitle">
<text v-if="item.SOURCE=='1'"></text>
<text v-else-if="item.SOURCE=='2'">隐患来源隐患排查</text>
<text v-else-if="item.SOURCE=='3'">隐患来源隐患排查</text>
<text v-else-if="item.SOURCE=='4'">隐患来源安全环保检查</text>
<text v-else-if="item.SOURCE=='5'">隐患来源安全环保检查</text>
</view>
<view class="dy-subtitle-flex">
<text>整改人{{item.RECTIFICATIONORNAME?item.RECTIFICATIONORNAME:'暂无'}}</text>
<text class="text-gray f20">{{item.RECTIFICATIONTIME}}</text>
</view>
<view class="dy-subtitle-flex">
<text>整改时间{{item.RECTIFICATIONTIME}}</text>
</view>
</view>
</view>
<view v-else-if="dataFlag=='noData'" class="dy-null">

View File

View File

View File

@ -0,0 +1,499 @@
<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="de-card-list de-list">
<view class="de-item">
<view class="de-sub-title">
<text class="text-grey">申辩人</text>
</view>
<view class="de-sub-content">
<scroll-view scroll-x class="bg-white nav" scroll-with-animation>
<view class="imgs">
<image :src="baseImgPath+form.INSPECTED_SITEUSER_SIGN_IMG" @click="ViewShowImage2" style="width: 180upx;height: 100upx"></image>
</view>
</scroll-view>
</view>
</view>
<view class="de-item">
<view class="de-sub-title">
<text class="text-grey">申辩时间</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{form.INSPECTED_SITEUSER_SIGN_TIME}}</text>
</view>
</view>
<view class="de-item">
<view class="de-sub-title">
<text class="text-grey">申辩说明</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{form.INSPECTED_EXPLAIN}}</text>
</view>
</view>
<view v-if="form.INSPECTED_EXPLAIN_FILENAME" class="de-item-sp">
<view class="de-sub-title">
<text class="text-grey">申辩附件</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{ form.INSPECTED_EXPLAIN_FILENAME }}</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi" @click="$noMultipleClicks(goToOpen,baseImgPath+form.INSPECTED_EXPLAIN_FILEPATH)"></text>
</view>
</view>
<view class="de-item">
<view class="de-sub-title">
<text class="text-grey" style="white-space: nowrap">申辩是否成立</text>
</view>
<view style="display: flex">
<view class="group mr20">
<radio class='radio' :checked="INSPECTION_STATUS==='-2'" value="-2" @click="radioNormal('-2')"></radio>
<text></text>
</view>
<view class="group">
<radio class='radio' :checked="INSPECTION_STATUS==='3'" value="3" @click="radioNormal('3')"></radio>
<text></text>
</view>
</view>
</view>
<view v-if="INSPECTION_STATUS==='3'" class="de-item-sp">
<view class="de-sub-title">
<text class="text-grey" style="white-space: nowrap">不成立理由</text>
</view>
<input name="input" ref="INSPECTION_PLACE" :disabled="forbidEdit" v-model="form.INSPECTED_EXPLAIN_REFUSE" placeholder="请输入理由"></input>
</view>
<view v-if="INSPECTION_STATUS==='3'" class="cu-form-group">
<view class="de-sub-title">
<text class="title">确认人</text>
</view>
<button class="cu-btn bg-green shadow" @tap="modalShow = true" style="width:100px;height:30px;" data-target="Modal">手写签字</button>
</view>
<view v-if="INSPECTION_STATUS==='3'" class="cu-bar bg-white" v-show="signImgList && signImgList.length > 0">
<view class="action">
签字照片
</view>
</view>
<view v-if="INSPECTION_STATUS==='3'" class="cu-form-group" v-show="signImgList && signImgList.length > 0">
<view class="grid col-4 grid-square flex-sub">
<view style="width: 60%;" class="bg-img" v-for="(item,index) in signImgList" :key="index" @tap="ViewImage" data-type="0" :data-url="signImgList[index].filePath">
<image :src="signImgList[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>
</view>
<view class="cu-modal" :class="{'show':modalShow}">
<sign @confirm="subCanvas" @cancel="modalShow = false"></sign>
</view>
</view>
<view class="padding flex flex-direction">
<button v-if="INSPECTION_STATUS==='3'" class="cu-btn bg-green margin-tb-sm lg" @click="$noMultipleClicks(goSubmit)"> </button>
<button v-if="INSPECTION_STATUS==='-2'" class="cu-btn bg-green margin-tb-sm lg" @click="$noMultipleClicks(goToDetail,form.INSPECTION_ID)"></button>
</view>
<view class="cu-tabbar-height"></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,loginUserId,loginSession,baseImgPath,formatDate,loginUser
} from '@/common/tool.js';
import sign from '@/components/sign/sign.vue';
export default {
components: {
sign
},
data() {
return {
noClick: true,
date: '',
RECTIFICATIONTIME: '',
CHECK_TIME: '',
imgList: [],
id: '',
INSPECTION_ID: '',
pd: [],
hs: [],
files: [],
files2: [],
files3: [],
files4: [],
checkList: [],
signImgList: [],
CHECKDESCR: '',
basePath:basePath,
baseImgPath:baseImgPath,
ISQUALIFIED:'1',
hiddenVideo:[],
hiddenFindPeople:[],
form: {
INSPECTION_ID:'',
FINAL_CHECK: '1',
FINAL_CHECKTIME: '',
FINAL_CHECKDESCR: '',
INSPECTION_ORIGINATOR_SIGN_TIME:'',
INSPECTED_EXPLAIN_REFUSE:''
},
rules: [
{ name:'FINAL_CHECKTIME', message: '请输入验收时间' },
{ name:'FINAL_CHECKDESCR', message: '请输入验收描述' }
],
modalShow: false,
videoSrc: '',
INSPECTION_STATUS:''
}
},
onLoad(e) {
console.log(e)
this.form.INSPECTION_ID = e.INSPECTION_ID;
// let now = new Date();
// this.date = formatDate(now, 'yyyy-MM-dd');
this.getData();
loginSession();
},
// filters: {
// formatDate(time) {
// time = time * 1
// let date = new Date(time)
// return formatDate(date, 'yyyy-MM-dd hh:mm')
// }
// },
methods: {
getData() {
var _this = this;
uni.showLoading({
title: '请稍候'
})
uni.request({
url: basePath + '/app/safetyenvironmental/goEdit',
method: 'POST',
dataType: 'json',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
INSPECTION_ID: _this.form.INSPECTION_ID,
},
success: (res) => {
if ("success" == res.data.result) {
uni.hideLoading();
_this.form = res.data.pd; //map
_this.form.INSPECTED_EXPLAIN_FILEPATH = res.data.pd.INSPECTED_EXPLAIN_FILEPATH
for (let i = 0; i < _this.form.inspectorList.length; i++) {
_this.inspectorList.push([])
_this.getUserList('inspectorList', _this.form.inspectorList[i].INSPECTION_DEPARTMENT_ID, i)
}
if (Number(_this.form.INSPECTION_STATUS) < 1) {
_this.forbidEdit = false;
}
} else if ("exception" == data.result) {
uni.showToast({
title: '错误',
duration: 2000
});
}
}
});
},
radioNormal(e){
this.INSPECTION_STATUS = e
},
goToOpen(e) {
var url=e;
plus.runtime.openURL(url, function(res) {
console.log(res);
});
// uni.navigateTo({
// url: '/pages/application/safety-production-account/organization-personnel/web-view?link=' + url
// });
},
//
ChooseImage() {
var _this = this;
uni.chooseImage({
count: 4, //9
sizeType: ['original', 'compressed'], //
sourceType: ['camera', 'album'], //
success: (res) => {
if (this.imgList.length != 0) {
this.imgList = this.imgList.concat(res.tempFilePaths)
} else {
this.imgList = res.tempFilePaths
}
}
});
},
goToDetail(e) {
uni.navigateTo({
url: '/pages/application/safety-environmental-inspection/apply/detail?vector=go&TYPE=edit&INSPECTION_ID='+e
});
},
ViewImage(e) {
uni.previewImage({
urls: this.imgList,
current: e.currentTarget.dataset.url
});
},
delImg(e) {
uni.showModal({
title: '双控平台',
content: '确定要删除这张图片吗?',
cancelColor: "#000000",
cancelText: '取消',
confirmText: '确定',
success: res => {
if (res.confirm) {
this.signImgList.splice(e.currentTarget.dataset.index, 1)
}
}
})
},
subCanvas (e) {
this.signImgList.splice(0, this.signImgList.length);
this.signImgList.push(e);
this.$set(this.form, 'INSPECTION_ORIGINATOR_SIGN_TIME', formatDate(new Date(), 'yyyy-MM-dd hh:mm'))
this.modalShow = false;
},
textareaAInput(e) {
this.CHECKDESCR = e.detail.value
},
goSubmit() {
var _this = this;
let required = true
if (!required) {
return
}
if (this.INSPECTION_STATUS === '3' && this.form.INSPECTED_EXPLAIN_REFUSE == '') {
uni.showToast({
icon: 'none',
title: '请填写理由',
duration: 1500
});
return;
}
if (this.signImgList.length === 0) {
uni.showToast({
icon: 'none',
title: '请签字',
duration: 1500
});
return;
}
uni.showLoading({
title: '请稍候'
})
this.$set(this.form, 'OPERATOR', loginUser.USER_ID)
this.$set(this.form, 'ACTION_USER', loginUser.NAME)
this.$set(this.form, 'INSPECTION_STATUS',this.INSPECTION_STATUS)
var _this = this;
uni.showLoading({
title: '请稍候'
})
uni.uploadFile({
url: basePath + "/app/safetyenvironmental/explain",
filePath: _this.signImgList[0].filePath,
name: 'FFILE',
formData: this.form,
success: (res) => {
uni.showToast({
icon: 'none',
title: '保存成功',
duration: 2000
});
_this.goback()
},
fail: (err) => {
uni.hideLoading();
uni.showModal({
content: err.errMsg,
showCancel: false
});
}
}) },
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],
name: 'FFILE',
formData: {
'FOREIGN_KEY': _this.id,
'TYPE': '50'
},
success: (res) => {
i++;
if (tempFilePaths.length > i) {
_this.uploadImg(tempFilePaths, i);
} else {
uni.hideLoading();
resolve();
}
},
fail: (err) => {
uni.hideLoading();
console.log('uploadImage fail', err);
uni.showModal({
content: err.errMsg,
showCancel: false
});
}
})
})
},
changeDate(e) {
this.form.FINAL_CHECKTIME = e.detail.value
},
radio(e){
this.ISQUALIFIED = e
},
goback(){
var pages = getCurrentPages(); //
var prePage = pages[pages.length - 2]; //
prePage.$vm.initflag = true; // A init true
uni.navigateBack({delta: 1});
uni.hideLoading();
},
ViewShowImage(e) {
let files = [];
for (var i = 0; i < this.files.length; i++) {
files.push(baseImgPath+this.files[i].FILEPATH)
}
uni.previewImage({
urls: files,
current: e.currentTarget.dataset.index
});
},
ViewShowImage2(e) {
let fullPath = this.baseImgPath + this.form.INSPECTED_SITEUSER_SIGN_IMG;
uni.previewImage({
urls: [fullPath], // 使
current: fullPath // http
});
},
ViewShowImage4(e) {
let files = [];
for (var i = 0; i < this.files4.length; i++) {
files.push(baseImgPath+this.files4[i].FILEPATH)
}
uni.previewImage({
urls: files,
current: e.currentTarget.dataset.index
});
},
playVideo(e) {
this.videoSrc = e.currentTarget.dataset.src
this.modalShow = true
}
}
}
</script>
<style>
.bb {
border-top: 1upx solid #f1f1f1;
border-bottom: 1upx solid #f1f1f1;
}
.cu-bar .action:first-child {
font-size: 26upx
}
.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;
}
.cu-form-group {
padding: 0upx 25upx;
}
.cu-form-group picker .picker {
line-height: 76upx;
}
.cu-form-group .title {
font-size: 28upx;
line-height: 76upx;
color: #888;
}
.cu-form-group uni-picker::after {
top: -11upx;
}
.selected {
display: flex;
align-items: center;
}
.selected .radio {
transform: scale(0.5);
margin-right: 10upx;
}
.cu-btn {
border-radius: 0;
width: 100%;
height: 84upx;
font-weight: bold;
}
.group {
display: flex;
align-items: center;
}
.imgs{
width: 80upx;
height: 80upx;
}
</style>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,104 @@
<template>
<view>
<cu-custom bgColor="bg-gradual-blueness" :isBack="true">
<block slot="backText">返回</block>
<block slot="content">安全环保检查流程图</block>
</cu-custom>
<view class="form">
<uni-steps :options="varList" direction="column" :active="active"></uni-steps>
</view>
<view class="cu-bar btn-group" style="margin-top: 30upx;">
<button class="cu-btn bg-green margin-tb-sm lg" @click="goback()">
</button>
</view>
</view>
</template>
<script>
import {
basePath
} from '@/common/tool.js';
import uniSteps from '@dcloudio/uni-ui/lib/uni-steps/uni-steps'
// import {setSafetyenvironmentalFlow} from "../../../../../qa-regulatory-gwj-app/api";
export default {
components: {
'uni-steps': uniSteps
},
data() {
return {
basePath:basePath,
msg: 'add',
noClick: true,
ID: '',
varList: [],
active: 0
}
},
onLoad(event) {
this.ID = event.id
this.getData();
},
methods: {
async getData() {
var _this = this;
uni.showLoading({
title: '请稍候'
})
uni.request({
url: basePath + '/app/safetyenvironmental/showFlowChart',
method: 'POST',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
ID: _this.ID,
},
success: (res) => {
if ("success" == res.data.result) {
this.active = Number(res.data.active)
this.varList = res.data.varList
console.log("打印数据:"+JSON.stringify(this.active, null, 2));
console.log(JSON.stringify(this.varList, null, 2));
uni.hideLoading();
} else if ("exception" == res.data.result) {
uni.showToast({
title: '错误',
duration: 2000
});
}
}
});
},
goback() {
uni.navigateBack({
delta: 1
});
uni.hideLoading();
},
}
}
</script>
<style lang="scss">
.status-btn {
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
flex-direction: row;
align-items: center;
justify-content: center;
height: 92 rpx;
margin: 30 rpx;
background-color: #007AFF;
}
.example-body {
/* #ifndef APP-NVUE */
display: block;
/* #endif */
padding: 15px;
flex-direction: row;
}
</style>

View File

@ -0,0 +1,885 @@
<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="de-card-list de-list">
<view class="cu-form-group">
<view class="title">
<text>隐患描述</text>
</view>
<view>
<text>{{pd.HIDDENDESCR}}</text>
</view>
</view>
<!-- <view class="de-title">
<text class="text-semi">隐患信息</text>
</view> -->
<view class="de-item">
<view class="de-sub-title">
<text class="text-grey">隐患来源</text>
</view>
<view class="uni-flex-item text-right">
<text v-if="pd.SOURCE=='1'" class="text-semi"></text>
<text v-if="pd.SOURCE=='2' || pd.SOURCE=='3'" class="text-semi"></text>
<text v-if="pd.SOURCE=='4'" class="text-semi"></text>
<text v-if="pd.SOURCE=='5'" class="text-semi"></text>
<text v-if="pd.SOURCE=='6'" class="text-semi"></text>
</view>
</view>
<view class="de-item" v-if="pd.SOURCE==2">
<view class="de-sub-title">
<text class="text-grey">风险点单元</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{pd.RISK_UNIT}}</text>
</view>
</view>
<view class="de-item" v-if="pd.SOURCE==2">
<view class="de-sub-title">
<text class="text-grey">辨识部位</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{pd.IDENTIFICATION}}</text>
</view>
</view>
<view class="de-item-sp" v-if="pd.SOURCE==2">
<view class="de-sub-title">
<text class="text-grey">存在风险</text>
</view>
<view class="de-sub-content">
<text class="text-semi">{{pd.RISK_DESCR}}</text>
</view>
</view>
<!-- <view class="de-item">-->
<!-- <view style="width: 200px" class="de-sub-title">-->
<!-- <text class="text-grey" >隐患上报位置经纬度</text>-->
<!-- </view>-->
<!-- <view class="uni-flex-item text-right" v-if="pd.LONGITUDE">-->
<!-- <text class="text-semi">-->
<!-- {{ pd.LONGITUDE && pd.LONGITUDE.length>6?pd.LONGITUDE.substr(0,6):pd.LONGITUDE}},{{pd.LATITUDE && pd.LATITUDE.length>6?pd.LATITUDE.substr(0,6):pd.LATITUDE}}-->
<!-- </text>-->
<!-- </view>-->
<!-- </view>-->
<view class="de-item" v-if="pd.SOURCE==2">
<view class="de-sub-title">
<text class="text-grey">风险分级</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{pd.LEVEL}}</text>
</view>
</view>
<view class="de-item-sp" v-if="pd.SOURCE==2">
<view class="de-sub-title">
<text class="text-grey">检查内容</text>
</view>
<view class="de-sub-content">
<text class="text-semi">{{pd.CHECK_CONTENT}}</text>
</view>
</view>
<!-- <view class="de-item-sp">
<view class="de-sub-title">
<text class="text-grey">隐患描述</text>
</view>
<view class="de-sub-content">
<text class="text-semi">{{pd.HIDDENDESCR}}</text>
</view>
</view> -->
<!-- <view class="de-item">-->
<!-- <view class="de-sub-title">-->
<!-- <text class="text-grey">隐患部位</text>-->
<!-- </view>-->
<!-- <view class="uni-flex-item text-right">-->
<!-- <text class="text-semi">{{pd.hregionName}}</text>-->
<!-- </view>-->
<!-- </view>-->
<view class="de-item" v-for="(item, index) in hiddenFindPeople" :key="index">
<view class="de-sub-title">
<text class="text-grey">隐患发现人</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{item.NAME}}</text>
</view>
</view>
<view class="de-item">
<view class="de-sub-title">
<text class="text-grey">发现时间</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{pd.CREATTIME}}</text>
</view>
</view>
<view class="de-item">
<view class="de-sub-title">
<text class="text-grey">隐患类型</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{pd.HIDDENTYPE_NAME}}</text>
</view>
</view>
<!--<view class="de-item">
<view class="de-sub-title">
<text class="text-grey">隐患类型2</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{pd.HIDDENTYPENAME2}}</text>
</view>
</view>-->
<view class="de-item">
<view class="de-sub-title">
<text class="text-grey">整改类型</text>
</view>
<view class="uni-flex-item text-right">
<text v-if="pd.RECTIFICATIONTYPE=='1'" class="text-semi"></text>
<text v-else-if="pd.RECTIFICATIONTYPE=='2'" class="text-semi">限期整改</text>
</view>
</view>
<view v-if="pd.RECTIFICATIONTYPE=='2'" class="de-item">
<view class="de-sub-title">
<text class="text-grey">整改期限</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{pd.RECTIFICATIONDEADLINE}}</text>
</view>
</view>
<view class="de-item-sp">
<view class="de-sub-title">
<text class="text-grey">隐患照片</text>
</view>
<view class="de-sub-content">
<scroll-view scroll-x class="bg-white nav" scroll-with-animation>
<view class="cu-item" v-for="(item,index) in files" v-bind:key="index">
<view class="imgs">
<image :src="baseImgPath+item.FILEPATH" :data-index="index" @click="ViewShowImage" mode=""></image>
</view>
</view>
</scroll-view>
</view>
</view>
<view class="de-item-sp" v-if="hiddenVideo.length>0">
<view class="de-sub-title">
<text class="text-grey">隐患视频</text>
</view>
<view class="de-sub-content" style="background-color: #000;width: 120upx;">
<image src="/static/icon-apps/video.png" mode="aspectFill" @click="playVideo"
:data-src="baseImgPath + hiddenVideo[0].FILEPATH" style="width: 120upx;height: 120upx;"></image>
</view>
</view>
</view>
<view v-if="pd.REJECTREASON" class="de-card-list de-list">
<view class="de-title">
<text class="text-semi">隐患复查</text>
</view>
<view class="de-item">
<view class="de-sub-title">
<text class="text-grey">复查驳回原因</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{pd.REJECTREASON}}</text>
</view>
</view>
</view>
<view v-if="pd.STATE>=2 && pd.STATE<=4" class="de-card-list de-list">
<view class="de-title">
<text class="text-semi">整改信息</text>
</view>
<view class="de-item">
<view class="de-sub-title">
<text class="text-grey">整改描述</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{pd.RECTIFYDESCR}}</text>
</view>
</view>
<view class="de-item">
<view class="de-sub-title">
<text class="text-grey">整改部门</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{pd.RECTIFICATIONDEPTNAME}}</text>
</view>
</view>
<view class="de-item">
<view class="de-sub-title">
<text class="text-grey">整改人</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{pd.RECTIFICATIONORNAME}}</text>
</view>
</view>
<view class="de-item">
<view class="de-sub-title">
<text class="text-grey">整改时间</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{pd.RECTIFICATIONTIME}}</text>
</view>
</view>
<view class="de-item-sp">
<view class="de-sub-title">
<text class="text-grey">整改后图片</text>
</view>
<view class="de-sub-content">
<scroll-view scroll-x class="bg-white nav" scroll-with-animation>
<view class="cu-item" v-for="(item,index) in files2" v-bind:key="index">
<view class="imgs">
<image :src="baseImgPath+item.FILEPATH" :data-index="index" @click="ViewShowImage2" mode=""></image>
</view>
</view>
</scroll-view>
</view>
</view>
<view class="de-item">
<view class="de-sub-title">
<text class="text-grey">整改方案</text>
</view>
<view class="uni-flex-item text-right">
<text v-if="pd.HAVESCHEME==0" class="text-semi"></text>
<text v-else-if="pd.HAVESCHEME==1" class="text-semi"></text>
<text v-else class="text-semi"></text>
</view>
</view>
<view class="de-item" v-if="pd.HAVESCHEME==1">
<view class="de-sub-title">
<text class="text-grey">排查日期</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{hs.SCREENINGDATE}}</text>
</view>
</view>
<view class="de-item" v-if="pd.HAVESCHEME==1">
<view class="de-sub-title">
<text class="text-grey">隐患清单</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{hs.LISTNAME}}</text>
</view>
</view>
<view class="de-item" v-if="pd.HAVESCHEME==1">
<view class="de-sub-title">
<text class="text-grey">治理标准要求</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{hs.GOVERNSTANDARDS}}</text>
</view>
</view>
<view class="de-item" v-if="pd.HAVESCHEME==1">
<view class="de-sub-title">
<text class="text-grey">治理方法</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{hs.GOVERNMETHOD}}</text>
</view>
</view>
<view class="de-item" v-if="pd.HAVESCHEME==1">
<view class="de-sub-title">
<text class="text-grey">经费和物资的落实</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{hs.EXPENDITURE}}</text>
</view>
</view>
<view class="de-item" v-if="pd.HAVESCHEME==1">
<view class="de-sub-title">
<text class="text-grey">负责治理人员</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{hs.PRINCIPAL}}</text>
</view>
</view>
<view class="de-item" v-if="pd.HAVESCHEME==1">
<view class="de-sub-title">
<text class="text-grey">工时安排</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{hs.PROGRAMMING}}</text>
</view>
</view>
<view class="de-item" v-if="pd.HAVESCHEME==1">
<view class="de-sub-title">
<text class="text-grey">时限要求</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{hs.TIMELIMITFOR}}</text>
</view>
</view>
<view class="de-item" v-if="false">
<view class="de-sub-title">
<text class="text-grey">应急预案附件</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi" @click="$noMultipleClicks(goToOpen,baseImgPath+hs.FILEPATH)"></text>
</view>
</view>
<view class="de-item" v-if="pd.HAVESCHEME==1">
<view class="de-sub-title">
<text class="text-grey">工作要求</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{hs.JOBREQUIREMENT}}</text>
</view>
</view>
<view class="de-item" v-if="pd.HAVESCHEME==1">
<view class="de-sub-title">
<text class="text-grey">其他事项</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{hs.OTHERBUSINESS}}</text>
</view>
</view>
<view class="de-item-sp" v-if="pd.HAVESCHEME==1">
<view class="de-sub-title">
<text class="text-grey">方案图片</text>
</view>
<view class="de-sub-content">
<scroll-view scroll-x class="bg-white nav" scroll-with-animation>
<view class="cu-item" v-for="(item,index) in files4" v-bind:key="index">
<view class="imgs">
<image :src="baseImgPath+item.FILEPATH" :data-index="index" @click="ViewShowImage4" mode=""></image>
</view>
</view>
</scroll-view>
</view>
</view>
<view class="de-item">
<view class="de-sub-title">
<text class="text-grey">计划图片</text>
</view>
<view class="de-sub-content">
<scroll-view scroll-x class="bg-white nav" scroll-with-animation>
<view class="cu-item" v-for="(item,index) in files5" v-bind:key="index">
<view class="imgs">
<image :src="baseImgPath+item.FILEPATH" :data-index="index" @click="ViewShowImage5" mode=""></image>
</view>
</view>
</scroll-view>
</view>
</view>
</view>
<view v-show="pd.STATE==4" class="de-card-list de-list" v-for="(item,index) of checkList" :key="index" :data-id="item.HIDDENCHECK_ID">
<view class="de-title">
<text class="text-semi">验收信息</text>
</view>
<view class="de-item">
<view class="de-sub-title">
<text class="text-grey">验收描述</text>
</view>
<view class="de-sub-content">
<text class="text-semi">{{item.CHECKDESCR}}</text>
</view>
</view>
<view class="de-item">
<view class="de-sub-title">
<text class="text-grey">是否合格</text>
</view>
<view class="uni-flex-item text-right">
<text v-if="item.STATUS=='1'" class="text-semi"></text>
<text v-else-if="item.STATUS=='0'" class="text-semi"></text>
</view>
</view>
<view class="de-item">
<view class="de-sub-title">
<text class="text-grey">验收部门</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{item.CHECKDEPTNAME}}</text>
</view>
</view>
<view class="de-item">
<view class="de-sub-title">
<text class="text-grey">验收人</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{item.CHECKORNAME}}</text>
</view>
</view>
<view class="de-item">
<view class="de-sub-title">
<text class="text-grey">验收时间</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{item.CHECK_TIME}}</text>
</view>
</view>
<view class="de-item-sp">
<view class="de-sub-title">
<text class="text-grey">验收图片</text>
</view>
<view class="de-sub-content">
<scroll-view scroll-x class="bg-white nav" scroll-with-animation>
<view class="cu-item" v-for="(item1,index1) in item.cImgs" v-bind:key="index1">
<view class="imgs">
<image :src="baseImgPath+item1.FILEPATH" :data-index="index1" @click="ViewShowImages(item.cImgs,index1)" mode=""></image>
</view>
</view>
</scroll-view>
</view>
</view>
</view>
<view class="de-card-list de-list">
<view class="de-title">
<text class="text-semi">安全环保检查验收</text>
</view>
<view class="cu-form-group margin-top">
<view class="title text-hui">是否合格</view>
<radio-group class="selected">
<view class="group mr20">
<radio class='radio' value="1" :checked="form.FINAL_CHECK==='1'" @click="radioCheck('1')"></radio>
<text></text>
</view>
<view class="group">
<radio class='radio' value="0" :checked="form.FINAL_CHECK==='0'" @click="radioCheck('0')"></radio>
<text></text>
</view>
</radio-group>
</view>
<view class="cu-form-textarea">
<view class="cu-form-title text-grey">验收描述</view>
<textarea v-model="form.FINAL_CHECKDESCR" placeholder="验收描述"></textarea>
</view>
<view class="cu-form-group bb">
<view class="title">验收日期</view>
<picker mode="date" :value="form.FINAL_CHECKTIME" start="2015-09-01" :end="date" @change="changeDate">
<view class="picker">
{{form.FINAL_CHECKTIME === '' ? '请选择' : form.FINAL_CHECKTIME}}
</view>
</picker>
</view>
<view class="cu-bar bg-white">
<view class="action">
验收图片
</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-url="imgList[index]">
<image :src="imgList[index]" mode="aspectFill"></image>
<view class="cu-tag bg-red" @tap.stop="DelImg" :data-index="index">
<text class='cuIcon-close'></text>
</view>
</view>
<view class="solids" @tap="ChooseImage" v-if="imgList.length<4">
<text class='cuIcon-cameraadd'></text>
</view>
</view>
</view>
</view>
<view class="padding flex flex-direction">
<button class="cu-btn bg-green margin-tb-sm lg" @click="$noMultipleClicks(goSubmit)"> </button>
</view>
<view class="cu-tabbar-height"></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,loginUserId,loginSession,baseImgPath
} from '@/common/tool.js';
export default {
data() {
return {
noClick: true,
date: '',
RECTIFICATIONTIME: '',
CHECK_TIME: '',
imgList: [],
id: '',
INSPECTION_ID: '',
pd: [],
hs: [],
files: [],
files2: [],
files3: [],
files4: [],
files5: [],
checkList: [],
CHECKDESCR: '',
basePath:basePath,
baseImgPath:baseImgPath,
ISQUALIFIED:'1',
hiddenVideo:[],
hiddenFindPeople:[],
form: {
FINAL_CHECK: '1',
FINAL_CHECKTIME: '',
FINAL_CHECKDESCR: ''
},
rules: [
{ name:'FINAL_CHECKTIME', message: '请输入验收时间' },
{ name:'FINAL_CHECKDESCR', message: '请输入验收描述' }
],
modalShow: false,
videoSrc: ''
}
},
onLoad(e) {
this.id = e.id;
this.INSPECTION_ID = e.INSPECTION_ID
// let now = new Date();
// this.date = formatDate(now, 'yyyy-MM-dd');
this.getData();
loginSession();
},
// filters: {
// formatDate(time) {
// time = time * 1
// let date = new Date(time)
// return formatDate(date, 'yyyy-MM-dd hh:mm')
// }
// },
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.id,
},
success: (res) => {
console.info(res);
if ("success" == res.data.result) {
uni.hideLoading();
_this.pd = res.data.pd; //map
_this.hs = res.data.hs; //map
_this.files = res.data.hImgs;
_this.files2 = res.data.rImgs;
_this.files3 = res.data.cImgs;
_this.files4 = res.data.sImgs;
_this.files5 = res.data.pImgs;
_this.checkList = res.data.checkList;
_this.hiddenVideo = res.data.hiddenVideo;
_this.hiddenFindPeople = res.data.hiddenFindPeople
} else if ("exception" == data.result) {
uni.showToast({
title: '错误',
duration: 2000
});
}
}
});
},
//
ChooseImage() {
var _this = this;
uni.chooseImage({
count: 4, //9
sizeType: ['original', 'compressed'], //
sourceType: ['camera', 'album'], //
success: (res) => {
if (this.imgList.length != 0) {
this.imgList = this.imgList.concat(res.tempFilePaths)
} else {
this.imgList = res.tempFilePaths
}
}
});
},
ViewImage(e) {
uni.previewImage({
urls: this.imgList,
current: e.currentTarget.dataset.url
});
},
DelImg(e) {
uni.showModal({
title: '双控平台',
content: '确定要删除这张图片吗?',
cancelColor: "#000000",
cancelText: '取消',
confirmText: '确定',
success: res => {
if (res.confirm) {
this.imgList.splice(e.currentTarget.dataset.index, 1)
}
}
})
},
textareaAInput(e) {
this.CHECKDESCR = e.detail.value
},
goSubmit() {
var _this = this;
let required = true
this.rules.map(({name,message}) => {
if (!this.form[name]) {
uni.showToast({
icon: 'none',
title: message,
duration: 1500
});
required = false
}
})
if (!required) {
return
}
if (_this.imgList.length <= 0) {
uni.showToast({
icon: 'none',
title: '请上传验收照片',
duration: 1500
});
return;
}
new Promise((resolve, reject) => {
_this.submit().then(() => {
resolve();
})
}).then(() => {
var i = 0;
_this.uploadImg(_this.imgList, i).then(() => {
resolve();
})
}).then(() => {
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);
})
},
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],
name: 'FFILE',
formData: {
'FOREIGN_KEY': _this.id,
'TYPE': '50'
},
success: (res) => {
i++;
if (tempFilePaths.length > i) {
_this.uploadImg(tempFilePaths, i);
} else {
uni.hideLoading();
resolve();
}
},
fail: (err) => {
uni.hideLoading();
console.log('uploadImage fail', err);
uni.showModal({
content: err.errMsg,
showCancel: false
});
}
})
})
},
submit() {
return new Promise((resolve, reject) => {
var _this = this;
uni.request({
url: basePath + "/app/hidden/finalcheck", //
method: 'POST',
dataType: 'json',
header:{
'Content-type':'application/x-www-form-urlencoded'
},
data: {
FINAL_CHECKDESCR: _this.form.FINAL_CHECKDESCR,
FINAL_CHECKTIME: _this.form.FINAL_CHECKTIME,
FINAL_CHECK: _this.form.FINAL_CHECK,
HIDDEN_ID: _this.id,
INSPECTION_ID: _this.INSPECTION_ID,
FINAL_CHECKOR:loginUserId
},
success: (res) => {
uni.hideLoading();
if ("success" == res.data.result) {
resolve();
}else{
uni.showToast({
title: '错误',
duration: 2000
});
}
}
});
})
},
changeDate(e) {
this.form.FINAL_CHECKTIME = e.detail.value
},
radio(e){
this.ISQUALIFIED = e
},
radioCheck(e){
this.form.FINAL_CHECK = e
},
ViewShowImage(e) {
let files = [];
for (var i = 0; i < this.files.length; i++) {
files.push(baseImgPath+this.files[i].FILEPATH)
}
uni.previewImage({
urls: files,
current: e.currentTarget.dataset.index
});
},
ViewShowImage2(e) {
let files = [];
for (var i = 0; i < this.files2.length; i++) {
files.push(baseImgPath+this.files2[i].FILEPATH)
}
uni.previewImage({
urls: files,
current: e.currentTarget.dataset.index
});
},
ViewShowImage4(e) {
let files = [];
for (var i = 0; i < this.files4.length; i++) {
files.push(baseImgPath+this.files4[i].FILEPATH)
}
uni.previewImage({
urls: files,
current: e.currentTarget.dataset.index
});
},
ViewShowImage5(e) {
let files = [];
for (var i = 0; i < this.files5.length; i++) {
files.push(baseImgPath + this.files5[i].FILEPATH)
}
uni.previewImage({
urls: files,
current: e.currentTarget.dataset.index
});
},
playVideo(e) {
this.videoSrc = e.currentTarget.dataset.src
this.modalShow = true
}
}
}
</script>
<style>
.bb {
border-top: 1upx solid #f1f1f1;
border-bottom: 1upx solid #f1f1f1;
}
.cu-bar .action:first-child {
font-size: 26upx
}
.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;
}
.cu-form-group {
padding: 0upx 25upx;
}
.cu-form-group picker .picker {
line-height: 76upx;
}
.cu-form-group .title {
font-size: 28upx;
line-height: 76upx;
color: #888;
}
.cu-form-group uni-picker::after {
top: -11upx;
}
.selected {
display: flex;
align-items: center;
}
.selected .radio {
transform: scale(0.5);
margin-right: 10upx;
}
.cu-btn {
border-radius: 0;
width: 100%;
height: 84upx;
font-weight: bold;
}
.group {
display: flex;
align-items: center;
}
</style>

View File

@ -0,0 +1,821 @@
<template>
<view>
<cu-custom bgColor="bg-gradual-blueness" :isBack="true">
<block slot="backText">返回</block>
<block slot="content">安全环保检查指派确认人</block>
</cu-custom>
<view class="form">
<view class="wui-form-list">
<view class="cu-form-group">
<text class="title">隐患描述</text>
<text class="text-semi">{{ form.HIDDENDESCR }}</text>
</view>
<view class="cu-form-group">
<text class="title">隐患来源</text>
<text v-if="form.SOURCE=='1'" class="text-semi"></text>
<text v-if="form.SOURCE=='2' || form.SOURCE=='3'" class="text-semi"></text>
<text v-if="form.SOURCE=='4'" class="text-semi"></text>
<text v-if="form.SOURCE=='5'" class="text-semi"></text>
<text v-if="form.SOURCE=='6'" class="text-semi"></text>
</view>
<view class="cu-form-group">
<text class="title">隐患部位</text>
<text class="text-semi">{{ form.hregionName?form.hregionName:form.HIDDENPART }}</text>
</view>
<view class="cu-form-group">
<text class="title">隐患级别</text>
<text class="text-semi">{{ form.HIDDENLEVELNAME }}</text>
</view>
<view class="cu-form-group">
<text class="title">隐患类型</text>
<text class="text-semi">{{form.HIDDENTYPE_NAME}}</text>
</view>
<view class="cu-form-group">
<text class="title">整改类型</text>
<text v-if="form.RECTIFICATIONTYPE=='1'" class="text-semi"></text>
<text v-else-if="form.RECTIFICATIONTYPE=='2'" class="text-semi">限期整改</text>
</view>
<!-- <view v-if="form.RECTIFICATIONTYPE=='2'"class="cu-form-group">-->
<!-- <text class="title">整改期限</text>-->
<!-- <text class="text-semi">{{form.RECTIFICATIONDEADLINE}}</text>-->
<!-- </view>-->
<view class="cu-form-group">
<text class="title">隐患照片</text>
<view class="de-sub-content">
<scroll-view scroll-x class="bg-white nav" scroll-with-animation>
<view class="cu-item" v-for="(item,index) in files" v-bind:key="index">
<view class="imgs" style="width: 80upx;height: 80upx;">
<image :src="baseImgPath+item.FILEPATH" :data-index="index"
@click="ViewShowImage" mode=""></image>
</view>
</view>
</scroll-view>
</view>
</view>
<!-- <view class="cu-form-group" >-->
<view class="cu-form-group" v-if="hiddenVideo.length>0">
<text class="title">隐患视频</text>
<view class="de-sub-content" style="background-color: #000;width: 120upx;">
<image src="/static/icon-apps/video.png" mode="aspectFill" @click="playVideo"
:data-src="baseImgPath + hiddenVideo[0].FILEPATH"
style="width: 120upx;height: 120upx;"></image>
</view>
</view>
<view class="cu-form-group">
<text class="title">隐患发现人</text>
<text class="text-semi">{{form.CREATORNAME}}</text>
</view>
<view class="cu-form-group">
<text class="title">发现时间</text>
<text class="text-semi">{{form.CREATTIME}}</text>
</view>
<!-- <view class="cu-form-group">-->
<!-- <text class="title">是否相关方</text>-->
<!-- <text class="text-semi">{{form.ISRELEVANT =="1"?"是":"否"}}</text>-->
<!-- </view>-->
<!-- <view class="cu-form-group">-->
<!-- <text class="title">隐患上报位置</text>-->
<!-- <text class="text-semi">-->
<!-- 经度:{{form.LATITUDE&&form.LATITUDE}}-->
<!-- 纬度:{{form.LATITUDE&&form.LONGITUDE}}-->
<!-- </text>-->
<!-- </view>-->
<!-- <view class="cu-form-group">-->
<!-- <text class="title">隐患位置描述</text>-->
<!-- <text class="text-semi">{{ form.POSITIONDESC }}</text>-->
<!-- </view>-->
<!-- <view class="cu-form-group" @click="seeHiddenConfirm=='2'?seeHiddenConfirm='1':seeHiddenConfirm='2'">-->
<!-- <text class="title">隐患确认信息 </text>-->
<!-- <text class="text-semi"> <a>查看</a></text>-->
<!-- </view>-->
</view>
</view>
<div v-for="(item,index) in hiddenExamineList" :key="index" v-if="seeHiddenConfirm=='1'">
<view class="de-card-list de-list" v-if="item.TYPE === 4 ||item.TYPE === 2||item.TYPE === 1 ">
<div v-if="item.TYPE === 4">
<view class="de-title">
<text class="text-semi">隐患确认</text>
</view>
<view class="cu-form-group margin-top">
<view class="title">隐患级别</view>
<view class="picker-tree-box" >
<view class="uni-flex-item text-right">
<text class="text-semi">{{item.editLevelName}}</text>
</view>
</view>
<tki-tree ref="hiddenLevenTree"
:selectParent=false
:range="levelList"
rangeKey="name"
@confirm="hiddenLevenConfirm"
@cancel="hiddentreeCancel"></tki-tree>
</view>
<view class="cu-form-group margin-top">
<view class="title">整改负责人</view>
<view class="picker-tree-box">
<view class="uni-flex-item text-right">
<text class="text-semi">{{item.editUserName}}</text>
</view>
</view>
</view>
<view class="cu-form-group margin-top">
<view class="title">整改完成期限</view>
<view class="picker-tree-box">
<view class="uni-flex-item text-right">
<text class="text-semi">{{item.spare3}}</text>
</view>
</view>
</view>
<view class="cu-form-group margin-top">
<view class="title">隐患确认人</view>
<view class="picker-tree-box">
<view class="uni-flex-item text-right">
<text class="text-semi">{{form.conUserName}}</text>
</view>
</view>
</view>
<view class="cu-form-group margin-top">
<view class="title">隐患确认时间</view>
<view class="picker-tree-box">
<view class="uni-flex-item text-right">
<text class="text-semi">{{form.CONFIRM_TIME}}</text>
</view>
</view>
</view>
</div>
<div v-if="item.TYPE === 2">
<view class="de-title">
<text class="text-semi">延期信息</text>
</view>
<view class="cu-form-group margin-top">
<view class="title">申请延期日期</view>
<view class="picker-tree-box">
<view class="uni-flex-item text-right">
<text class="text-semi">{{item.CREATTIME}}</text>
</view>
</view>
</view>
<view class="cu-form-group margin-top">
<view class="title">延期日期</view>
<view class="picker-tree-box">
<view class="uni-flex-item text-right">
<text class="text-semi">{{item.DELAY_TIME}}</text>
</view>
</view>
</view>
<view class="cu-form-group margin-top">
<view class="title">审核人</view>
<view class="picker-tree-box">
<view class="uni-flex-item text-right">
<text class="text-semi">{{form.conUserName}}</text>
</view>
</view>
</view>
<view class="cu-form-group margin-top" v-if="item.DISPOSAL_PLAN">
<view class="title">处置方案</view>
<view class="picker-tree-box">
<view class="uni-flex-item text-right">
<text class="text-semi">{{item.DISPOSAL_PLAN}}</text>
</view>
</view>
</view>
<view v-if="item.DISPOSAL_FILE" class="cu-form-group margin-top">
<view class="title">方案附件</view>
<view class="picker-tree-box">
<button class="cu-btn bg-blue" style="width: 160px" @click="downloadAppendix(item.DISPOSAL_FILE)">
下载
</button>
</view>
</view>
<view class="cu-form-group margin-top">
<view class="title">延期审核状态</view>
<view class="picker-tree-box">
<view class="uni-flex-item text-right">
<text class="text-semi" v-if="item.STATE===-1"></text>
<text class="text-semi" v-if="item.STATE===1"></text>
<text class="text-semi" v-if="item.STATE===2"></text>
</view>
</view>
</view>
<view class="cu-form-group margin-top" v-if="item.STATE!==-1">
<view class="title">审核时间</view>
<view class="picker-tree-box">
<view class="uni-flex-item text-right">
<text class="text-semi">{{item.OPERATTIME}}</text>
</view>
</view>
</view>
</div>
<div v-if="item.TYPE === 1 " >
<view class="de-title">
<text class="text-semi">特殊处理审核信息</text>
</view>
<view class="cu-form-group margin-top">
<view class="title">无法整改原因</view>
<view class="picker-tree-box">
<view class="uni-flex-item text-right">
<text class="text-semi">{{item.EXAMINE}}</text>
</view>
</view>
</view>
<view class="cu-form-group margin-top">
<view class="title">特殊处置审核状态</view>
<view class="picker-tree-box">
<view class="uni-flex-item text-right">
<text class="text-semi" v-if="item.STATE===-1"></text>
<text class="text-semi" v-if="item.STATE===2"></text>
<text class="text-semi" v-if="item.STATE===1"></text>
</view>
</view>
</view>
<view class="cu-form-group margin-top" v-if="item.DISPOSAL_PLAN">
<view class="title">处置方案</view>
<view class="picker-tree-box">
<view class="uni-flex-item text-right">
<text class="text-semi">{{item.DISPOSAL_PLAN}}</text>
</view>
</view>
</view>
<view class="cu-form-group margin-top" v-if="item.DISPOSAL_FILE">
<view class="title">处置方案附件</view>
<view class="picker-tree-box">
<view class="uni-flex-item text-right">
<button class="cu-btn bg-blue" style="width: 160px" @click="downloadAppendix(item.DISPOSAL_FILE)">
下载
</button>
</view>
</view>
</view>
<view class="cu-form-group margin-top" v-if="item.STATE!==-1">
<view class="title">审核时间</view>
<view class="picker-tree-box">
<view class="uni-flex-item text-right">
<text class="text-semi">{{item.OPERATTIME}}</text>
</view>
</view>
</view>
<view class="cu-form-group margin-top" v-if="item.STATE!==-1">
<view class="title">审核人</view>
<view class="picker-tree-box">
<view class="uni-flex-item text-right">
<text class="text-semi">{{form.conUserName}}</text>
</view>
</view>
</view>
<view class="cu-form-group margin-top" v-if="item.STATE==2">
<view class="title">是否更换整改负责人</view>
<view class="picker-tree-box">
<view class="uni-flex-item text-right">
<text class="text-semi" v-if="item.spare1==='1'"></text>
<text class="text-semi" v-else></text>
</view>
</view>
</view>
<view class="cu-form-group margin-top" v-if="item.spare1=='1'">
<view class="title">整改负责人</view>
<view class="picker-tree-box">
<view class="uni-flex-item text-right">
<text class="text-semi">{{item.NEWRECTIFICATIONOR}}</text>
</view>
</view>
</view>
</div>
</view>
</div>
<view class="form" >
<!-- <view class="form" v-if="HIDDEN_STATUS === '-2' ">-->
<view class="wui-form-list" style="padding: 30upx 20upx;">
<view class="title1">
安全环保检查隐患指派整改人
</view>
<view class="cu-form-group margin-top">
<view class="title">整改负责人部门</view>
<!-- <view class="picker-tree-box">-->
<!-- <view class="uni-flex-item text-right">-->
<!-- <text class="text-semi">{{ form.RECTIFICATIONDEPTNAME }}</text>-->
<!-- </view>-->
<!-- </view>-->
<view class="picker-tree-box">
<view class="picker-tree" @tap="showZgTree('tkiTree1')">
{{ form.RECTIFICATIONDEPTNAME || '请选择' }}
</view>
</view>
<tki-tree ref="tkiTree1" :selectParent=true :range="treeNode" rangeKey="name"
@confirm="zgtreeConfirm($event,'principalList')"
@cancel="zgtreeCancel"></tki-tree>
</view>
<view class="cu-form-group">
<view class="title">整改负责人</view>
<!-- <view class="picker-tree-box">-->
<!-- <view class="uni-flex-item text-right">-->
<!-- <text class="text-semi">{{ form.RECTIFICATIONORNAME }}</text>-->
<!-- </view>-->
<!-- </view>-->
<picker @change="principalChange" :value="form.PRINCIPAL_INDEX"
:range="principalList" range-key="NAME">
<view class="picker">
{{ form.RECTIFICATIONORNAME || '请选择' }}
</view>
</picker>
</view>
<view class="cu-form-group margin-top">
<view class="title">整改期限</view>
<picker mode="date" :value="form.RECTIFICATIONDEADLINE" :start="rectifyPlanCompletionStartTime"
@change="changeDate">
<view class="picker">
{{ form.RECTIFICATIONDEADLINE ? form.RECTIFICATIONDEADLINE : '请选择' }}
</view>
</picker>
<!-- <view class="picker-tree-box">-->
<!-- <view class="uni-flex-item text-right">-->
<!-- <text class="text-semi">{{ form.RECTIFICATIONDEADLINE }}</text>-->
<!-- </view>-->
<!-- </view>-->
</view>
<!-- <view class="title">隐患确认人</view>-->
<!-- <picker v-if="HIDDEN_STATUS === '-2'" @change="setConUser" :value="form.conUserIndex"-->
<!-- :range="confirmUserAllList" range-key="NAME">-->
<!-- <view class="picker">-->
<!-- {{form.conUserName?form.conUserName:'请选择'}}-->
<!-- </view>-->
<!-- </picker>-->
<!-- <text v-else class="text-semi">{{form.conUserName}}</text>-->
</view>
</view>
<view class="cu-bar btn-group" style="margin-top: 30upx;">
<button v-if="HIDDEN_STATUS === '-2'" class="cu-btn bg-blue margin-tb-sm lg"
@click="$noMultipleClicks(submit)">
</button>
<button v-else class="cu-btn bg-green margin-tb-sm lg" @click="$noMultipleClicks(goback)"> </button>
</view>
<view class="padding flex flex-direction"></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'
import moreSelect from '@/components/more-select/more-select.vue';
import uniPopup from '@/components/more-select/uni-popup/uni-popup.vue';
import sign from '@/components/sign/sign.vue';
export default {
components: {
tkiTree, ruiDatePicker, moreSelect, uniPopup, sign
},
data() {
return {
baseImgPath: baseImgPath,
isUps: false,
noClick: true,
levelList: [],
treeNode: [],//
INSPECTION_ID: '', // ID
HIDDEN_ID: '', // ID
HIDDEN_STATUS: '', // ID
principalList: [],
form: {
HIDDENDESCR: '', //
CREATORNAME: '', //
HIDDENLEVELNAME: '', //
DISCOVERYTIME: '', //
hregionName: '', //
HIDDENPART: '', //
HIDDENTYPE_NAME: '', // 1
HIDDENTYPENAME2: '', // 2
LONGITUDE: '', //
LATITUDE: '', //
hiddenImgs: [], //
hiddenVideos: [], //
PRINCIPAL_INDEX: '',
RECTIFICATIONTYPE: '2', //
conUserIndex: '',
CONFIRM_USER: '', //
conUserName: '',
HIDDEN_ID: '',
POSITIONDESC: '',//
},//
files: [],
hiddenVideo: [],
confirmUserAllList: [], //
videoSrc: '',
todayDate: '',
modalShow: false,
seeHiddenConfirm: '2',
hiddenExamineList:[],
rectifyPlanCompletionStartTime: '',
}
},
onLoad(event) {
let now = new Date();
var tomorrow = now.setDate(now.getDate() + 1);
tomorrow = new Date(tomorrow);
this.todayDate = formatDate(new Date(), 'yyyy-MM-dd hh:mm');
this.INSPECTION_ID = event.INSPECTION_ID;
this.HIDDEN_ID = event.HIDDEN_ID;
this.HIDDEN_STATUS = event.HIDDEN_STATUS;
this.getData();
//
this.getDept()
this.getDict()
loginSession();
this.rectifyPlanCompletionStartTime = formatDate(tomorrow, 'yyyy-MM-dd');
},
methods: {
changeDate(e) {
this.form.RECTIFICATIONDEADLINE = e.detail.value
this.$forceUpdate();//
},
showZgTree(ref) {
this.$refs[ref]._show();
},
principalChange(e) {
this.$set(this.form, 'RECTIFICATIONOR', this.principalList[e.detail.value].USER_ID)
this.$set(this.form, 'RECTIFICATIONORNAME', this.principalList[e.detail.value].NAME)
},
zgtreeConfirm(e, list) {
if (list === "principalList") {
this.$set(this.form, 'RECTIFICATIONDEPT', e[0].id)
this.$set(this.form, 'RECTIFICATIONDEPTNAME', e[0].name)
this.$set(this.form, 'RECTIFICATIONORNAME', '')
}
this.getUserList(list, e[0].id);
},
zgtreeCancel(e) {
this.isUps = false;
},
hiddenLevenConfirm(e) {
this.isUps = false;
this.pd.HIDDENLEVEL = e[0].id;
this.pd.HIDDENLEVELNAME = e[0].name;
if (e[0].id == 'hiddenLevel1001') {
this.showStatus = false
} else {
this.showStatus = true
}
},
//
hiddentreeCancel(e) {
this.isUps = false;
},
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'},
success: function (res) {
// _this.levelList = JSON.parse(data.zTreeNodes) res.data.zTreeNodes;
var jons = res.data.zTreeNodes;
// var json2 = jons.replace('nodes', 'children');
// console.info(json2)
var data = JSON.parse(jons);
for (let i = 0; i < data.length; i++) {
for (let j = 0; j < data[i].children.length; j++) {
if (data[i].children[j].id == 'jdyh001') {
data[i].children.splice(j, 1)
}
}
if (data[i].id == 'hiddenLevel0002') {
data.splice(i, 1)
}
}
_this.levelList = data
}
});
this.isUps = true
_this.$refs.hiddenLevenTree._show();
},
getData() {
var _this = this;
uni.showLoading({
title: '请稍候'
})
uni.request({
url: basePath + '/app/hidden/goEdit',
method: 'POST',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
HIDDEN_ID: _this.HIDDEN_ID,
},
success: (res) => {
if ("success" == res.data.result) {
uni.hideLoading();
_this.form = Object.assign(this.form, res.data.pd) //map
console.info( _this.form,'打印数据')
console.log("隐患位置描述:", _this.form.POSITIONDESC);
console.log("图片:", res.data.hImgs);
_this.files = res.data.hImgs;
_this.hiddenVideo = res.data.hiddenVideo
_this.hiddenExamineList = res.data.hiddenExa
} else if ("exception" == data.result) {
uni.showToast({
title: '错误',
duration: 2000
});
}
}
});
},
ViewShowImage(e) {
let files = [];
for (var i = 0; i < this.files.length; i++) {
files.push(baseImgPath + this.files[i].FILEPATH)
}
uni.previewImage({
urls: files,
current: e.currentTarget.dataset.index
});
},
playVideo(e) {
this.videoSrc = e.currentTarget.dataset.src
this.modalShow = true
},
setConUser(e) {
this.form.conUserIndex = e.detail.value;
this.form.CONFIRM_USER = this.confirmUserAllList[e.detail.value].USER_ID;
this.form.conUserName = this.confirmUserAllList[e.detail.value].NAME;
this.$forceUpdate();//
},
submit() {
var _this = this;
//
if (!_this.form.RECTIFICATIONDEPT) {
uni.showToast({
icon: 'none',
title: '整改负责人部门不能为空',
duration: 2000
});
return;
}
if (!_this.form.RECTIFICATIONOR) {
uni.showToast({
icon: 'none',
title: '整改负责人不能为空',
duration: 2000
});
return;
}
if (!_this.form.RECTIFICATIONDEADLINE) {
uni.showToast({
icon: 'none',
title: '整改期限不能为空',
duration: 2000
});
return;
}
uni.showLoading({
title: '数据保存中'
});
uni.request({
url: basePath + "/app/hidden/confirm",
method: 'POST',
dataType: 'json',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
..._this.form,
CORPINFO_ID: corpinfoId,
USER_ID: loginUser.USER_ID,
USERNAME: loginUser.NAME,
HIDDEN_ID: _this.form.HIDDEN_ID,
HIDDENLEVEL: _this.form.HIDDENLEVEL,
RECTIFICATIONDEPT: _this.form.RECTIFICATIONDEPT,
RECTIFICATIONDEADLINE: _this.form.RECTIFICATIONDEADLINE,
RECTIFICATIONOR: _this.form.RECTIFICATIONOR,
OPERATOR: loginUser.USER_ID,
NAME: loginUser.NAME,
HIDDEN_STATUS: this.HIDDEN_STATUS,
INSPECTION_ID: this.INSPECTION_ID,
HIDDENDESCR: this.form.HIDDENDESCR
},
success: (res) => {
if ("success" == res.data.result) {
uni.hideLoading();
_this.goback()
} else {
uni.showToast({
title: res.data.msaesge,
duration: 2000
});
}
},
fail: (err) => {
uni.hideLoading();
uni.showModal({
content: err.errMsg,
showCancel: false
});
}
});
// //
// uni.request({
// url: basePath + '/app/hidden/assign',
// method: 'POST',
// dataType: 'json',
// header: {
// 'Content-type': 'application/x-www-form-urlencoded'
// },
// data: {
// ..._this.form,
// OPERATOR: loginUser.USER_ID,
// NAME: loginUser.NAME,
// CORPINFO_ID: corpinfoId,
// HIDDEN_STATUS: this.HIDDEN_STATUS,
// INSPECTION_ID: this.INSPECTION_ID,
// HIDDENDESCR: this.form.HIDDENDESCR
// },
// success: (res) => {
// if ("success" == res.data.result) {
// uni.hideLoading();
// _this.goback()
// } else {
// uni.showToast({
// title: res.data.msaesge,
// 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
});
}
}
});
},
//
getUserList(list, dept, 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, NOMAIN: '1', tm: new Date().getTime()},
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
});
}
}
})
},
//
getDict() {
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,
IS_HAZARDCONFIRMER: '1',
tm: new Date().getTime()
},
success: function (res) {
if ("success" == res.data.result) {
_this.confirmUserAllList = res.data.userList;
_this.$forceUpdate();//
} else {
uni.showToast({
title: res.data.message,
duration: 2000
});
}
}
})
},
goback() {
var pages = getCurrentPages(); //
var prePage = pages[pages.length - 2]; //
prePage.$vm.initflag = true; // A init true
uni.navigateBack({delta: 1});
uni.hideLoading();
},
resetHd() {
this.hiddenForm = {
HIDDEN_ID: '', // ID
HIDDENDESCR: '', //
HIDDENPART: '', //
HIDDENPART_NAME: '',
HIDDENLEVEL: '', //
HIDDENLEVEL_NAME: '',
HIDDENTYPE: '', // 1
HIDDENTYPE_NAME: '',
HIDDENTYPE2: '', // 2
HIDDENTYPE2_NAME: '',
LONGITUDE: '', //
LATITUDE: '', //
DISCOVERYTIME: '', //
HIDDENFINDDEPT: '', //
HIDDENFINDDEPT_NAME: '',
CREATOR: '', //
CREATOR_INDEX: '',
CREATOR_NAME: '',
SOURCE: '5', //
hiddenImgs: [],
hiddenVideos: []
}
},
downloadAppendix(DISPOSAL_FILE) {
plus.runtime.openURL(this.baseImgPath + DISPOSAL_FILE, function (res) {
});
},
}
}
</script>
<style>
.title1 {
font-weight: bold;
padding-left: 10 upx;
border-left: 4px solid #0081FF;
}
.imgs {
width: 80 upx !important;
height: 80 upx !important;
}
</style>

View File

@ -0,0 +1,956 @@
<template>
<view :class="{showHiddenWindowActive:showHiddenWindow}">
<cu-custom bgColor="bg-gradual-blueness" :isBack="true">
<block slot="backText">返回</block>
<block slot="content">安全环保检查详情</block>
</cu-custom>
<view class="form">
<view class="wui-form-list">
<view class="cu-form-group">
<view class="title">检查标题</view>
<view>{{form.INSPECTION_SUBJECT}}现场检查记录</view>
</view>
<view class="cu-form-group">
<view class="title" style="height: auto;">
<view>被检查单位</view>
</view>
<view>{{ form.INSPECTED_DEPARTMENT_NAME }}</view>
</view>
<view class="cu-form-group" v-if="form.INSPECTED_DEPARTMENT_NAME">
<view class="title">被检查单位现场负责人</view>
<view> {{ form.INSPECTED_SITEUSER_NAME }} </view>
</view>
<view class="cu-form-group">
<view class="title">检查场所</view>
<text> {{ form.INSPECTION_PLACE }} </text>
</view>
<view class="cu-form-group">
<view class="title" style="height: auto;">
<view>检查类型</view>
</view>
<text> {{ form.INSPECTION_TYPE_NAME }} </text>
</view>
<view class="cu-form-group">
<view class="title">检查开始时间</view>
<text>{{ form.INSPECTION_TIME_START }}</text>
</view>
<view class="cu-form-group">
<view class="title">检查结束时间</view>
<text >{{form.INSPECTION_TIME_END}}</text>
</view>
<view class="cu-form-group">
<view class="title">记录填写时间</view>
<view>{{form.CREATTIME}}</view>
</view>
</view>
</view>
<view class="form">
<view class="wui-form-list">
<view class="cu-form-group">
<view class="title">检查情况</view>
</view>
<view v-show="form.situationList && form.situationList.length > 0" class="ace-content">
<view class="add_pard_item" v-for="(item,index) of form.situationList" :key="'SITUATION'+index">
<view class="cu-form-textarea">
<textarea disabled v-model="item.SITUATION"></textarea>
</view>
</view>
</view>
</view>
</view>
<view class="form">
<view class="wui-form-list" style="padding-bottom: 20upx;">
<view class="cu-form-group">
<view class="title">检查人员</view>
</view>
<view v-if="form.inspectorList && form.inspectorList.length > 0" v-for="(item, index) of form.inspectorList" :key="'INSPECTOR'+index" class="add_pard_item">
<view class="cu-form-group">
<view class="title" style="height: auto;">
<view>{{ index + 1}}.检查人员单位</view>
</view>
<text>{{ item.INSPECTION_DEPARTMENT_NAME }}</text>
</view>
<view class="cu-form-group">
<view class="title">{{ index + 1}}.检查人员</view>
<text>
{{ item.INSPECTION_USER_NAME }}
</text>
</view>
</view>
</view>
</view>
<view class="form">
<view class="wui-form-list">
<view class="cu-form-group">
<view class="title">发现问题</view>
</view>
<view style="padding: 20upx">
<uni-table border stripe emptyText="暂无更多数据">
<uni-tr>
<uni-th align="center" style="font-weight: bold;width: 100upx">序号</uni-th>
<uni-th align="center" style="font-weight: bold">隐患部位</uni-th>
<uni-th align="center" style="font-weight: bold">隐患描述</uni-th>
<uni-th align="center" style="font-weight: bold;width: 180upx">操作</uni-th>
</uni-tr>
<uni-tr v-for="(item, index) in form.hiddenList" :key="item.HIDDEN_ID">
<uni-td>{{ index + 1 }}</uni-td>
<uni-td>{{ item.HIDDENPART_NAME?item.HIDDENPART_NAME:item.HIDDENPART }}</uni-td>
<uni-td>{{ item.HIDDENDESCR }}</uni-td>
<uni-td style="text-align: center;">
<icon type="info" size="26" @tap="showHidden(item, index)" />
</uni-td>
</uni-tr>
</uni-table>
</view>
</view>
</view>
<view class="form">
<view class="wui-form-list">
<view v-if="form.inspectorList && form.inspectorList.length > 0" class="cu-form-group">
<view class="title">检查人员核实结果</view>
</view>
<block v-for="(item, index) in form.inspectorList" :key="item.INSPECTION_INSPECTOR_ID">
<view class="cu-form-textarea">
<view class="cu-form-title">检查人意见:</view>
<textarea v-model="item.INSPECTION_USER_OPINION" disabled placeholder="请输入作业负责人意见"></textarea>
</view>
<view class="cu-form-group">
<view class="title">检查人签字</view>
<view>
<view>
<image :src="baseImgPath + item.INSPECTION_USER_SIGN_IMG" style="width: 180upx;height: 100upx"></image>
</view>
<view style="text-align: center">{{item.INSPECTION_USER_SIGN_TIME}}</view>
</view>
</view>
</block>
</view>
</view>
<view class="form">
<view class="wui-form-list">
<view class="cu-form-group">
<view class="title">被检查单位现场负责人意见</view>
<text> {{ validStr(form.INSPECTED_EXPLAIN) ? '申辩' : '同意' }} </text>
</view>
<view class="cu-form-textarea" v-if="form.INSPECTED_EXPLAIN">
<view class="cu-form-title text-hui">申辩说明</view>
<view class="cu-form-textarea">
<textarea disabled v-model="form.INSPECTED_EXPLAIN"></textarea>
</view>
</view>
<view class="cu-form-group">
<view class="title">被检查单位现场负责人签字</view>
<view>
<view>
<image :src="baseImgPath + form.INSPECTED_SITEUSER_SIGN_IMG" style="width: 180upx;height: 100upx"></image>
</view>
<view style="text-align: center">{{form.INSPECTED_SITEUSER_SIGN_TIME}}</view>
</view>
</view>
</view>
</view>
<view class="cu-bar btn-group" style="margin-top: 30upx;">
<button class="cu-btn bg-green margin-tb-sm lg" @click="$noMultipleClicks(goback)"></button>
</view>
<view class="padding flex flex-direction"></view>
<uni-drawer ref="showHiddenWindow" mode="right" :mask-click="true" @change="change($event,'showHiddenWindow')">
<scroll-view scroll-y="true" style="height: 90vh;">
<view class="de-drawer">
<view class="cu-bar bg-white">
<view class="action">
隐患照片
</view>
<view class="action">
{{hiddenForm.hiddenImgs.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 hiddenForm.hiddenImgs" :key="item.IMGFILES_ID" @tap="ViewImage" data-type="0" :data-url="item.FILEPATH">
<image :src="baseImgPath + item.FILEPATH" mode="aspectFill"></image>
</view>
</view>
</view>
<view class="cu-bar bg-white">
<view class="action">
隐患视频
</view>
<view class="action">
{{hiddenForm.hiddenVideos.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 hiddenForm.hiddenVideos" :key="item.IMGFILES_ID" @tap="ViewVideo" data-type="0" :data-url="item.FILEPATH" style="background-color: #000">
<image src="/static/icon-apps/video.png" mode="aspectFill" @click="playVideo"
:data-src="baseImgPath + item.FILEPATH"></image>
</view>
</view>
</view>
<view class="cu-form-textarea">
<view class="cu-form-title text-hui">隐患描述</view>
<textarea maxlength="-1" :disabled="true" v-model="hiddenForm.HIDDENDESCR" placeholder="请对隐患进行详细描述(必填项)"></textarea>
</view>
<view class="cu-form-group">
<view class="title">隐患部位</view>
<text>{{ hiddenForm.HIDDENPART_NAME?hiddenForm.HIDDENPART_NAME:hiddenForm.HIDDENPART }}</text>
</view>
<!-- <view class="cu-form-textarea">-->
<!-- <view class="cu-form-title text-hui">隐患位置描述</view>-->
<!-- <textarea maxlength="-1" :disabled="true" v-model="hiddenForm.POSITIONDESC" placeholder="请对隐患进行详细描述(必填项)"></textarea>-->
<!-- </view>-->
<view class="cu-form-group">
<view class="title">隐患级别</view>
<text>{{ hiddenForm.HIDDENLEVEL_NAME }}</text>
</view>
<view class="cu-form-group">
<view class="title">隐患类型</view>
<text>{{ hiddenForm.HIDDENTYPE_NAME }}</text>
</view>
<!--<view class="cu-form-group">
<view class="title">隐患类型2</view>
<text>{{ hiddenForm.HIDDENTYPE2_NAME }}</text>
</view>-->
<!-- <view class="cu-form-group">-->
<!-- <text class="title">是否相关方</text>-->
<!-- <view class="uni-flex-item text-right">-->
<!-- <text v-if="hiddenForm.ISRELEVANT=='1'" class="text-semi"></text>-->
<!-- <text v-else-if="hiddenForm.ISRELEVANT=='2'" class="text-semi"></text>-->
<!-- </view>-->
<!-- </view>-->
<view class="cu-form-group">
<view class="title">隐患发现时间</view>
<text>{{ hiddenForm.CREATTIME }}</text>
</view>
<!-- <view class="cu-form-group">-->
<!-- <view class="title">隐患上报位置</view>-->
<!-- </view>-->
<!-- <view class="cu-form-group" v-if="hiddenForm.LONGITUDE && hiddenForm.LONGITUDE != 'undefined'">-->
<!-- <view class="sign-title">经度</view>-->
<!-- <view class="wui-sign-cotent">{{hiddenForm.LONGITUDE}}</view>-->
<!-- </view>-->
<!-- <view class="cu-form-group" v-if="hiddenForm.LATITUDE && hiddenForm.LATITUDE != 'undefined'">-->
<!-- <view class="sign-title">纬度</view>-->
<!-- <view class="wui-sign-cotent">{{hiddenForm.LATITUDE}}</view>-->
<!-- </view>-->
<view class="cu-form-group">
<view class="title">隐患发现人</view>
<text>
{{ hiddenForm.CREATOR_NAME }}
</text>
</view>
<view class="de-drawer-bottom">
<view class="cz-btn">
<text class="cu-btn" @click="cancelHidden"></text>
</view>
</view>
</view>
</scroll-view>
</uni-drawer>
<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'
import moreSelect from '@/components/more-select/more-select.vue';
import uniPopup from '@/components/more-select/uni-popup/uni-popup.vue';
import sign from '@/components/sign/sign.vue';
export default {
components: {
tkiTree, ruiDatePicker, moreSelect, uniPopup, sign
},
data() {
return {
baseImgPath:baseImgPath,
isUps:false,
msg:'add',
noClick:true,
treeNode:[],//
inspectedSiteuserList: [], //
inspectionTypeTreeList: [], //
inspectorList: [], // ()
form:{
INSPECTION_ID: '', // ID
INSPECTION_SUBJECT: '', //
INSPECTION_SOURCE: '5', // 4- 5-
INSPECTION_ORIGINATOR_ID: '', //
INSPECTED_DEPARTMENT_ID: '', //
INSPECTED_DEPARTMENT_NAME: '',
INSPECTED_SITEUSER_ID: '', //
INSPECTED_SITEUSER_INDEX: '',
INSPECTED_SITEUSER_NAME: '',
INSPECTED_EXPLAIN: '', //
INSPECTED_SITEUSER_SIGN_IMG: '', //
INSPECTED_SITEUSER_SIGN_TIME: '', //
INSPECTION_TYPE: '', //
INSPECTION_TYPE_NAME: '',
INSPECTION_PLACE: '', //
INSPECTION_TIME_START: '', //
INSPECTION_TIME_END: '', //
INSPECTION_STATUS: '', // (0. 1.2.3. -1. -2)
CREATTIME: '',
inspectorList:
[{
INSPECTION_INSPECTOR_ID: '', //
INSPECTION_DEPARTMENT_ID: '', //ID
INSPECTION_DEPARTMENT_NAME: '',
INSPECTION_USER_ID: '', //ID
INSPECTION_USER_INDEX: '',
INSPECTION_USER_NAME: ''
}], //
situationList:
[{
INSPECTION_SITUATION_ID: '',
SITUATION: ''
}], //
hiddenList: [{ ...this.hiddenForm }] //
},//
hiddenIds: [], // ID
delSituations: [], //
delInspectors: [], //
delHiddens: [], //
delHiddenFiles: [], //
rules:[
{name:'INSPECTION_SUBJECT',message:'请输入检查标题'},
{name:'INSPECTED_DEPARTMENT_ID',message:'请选择被检查单位'},
{name:'INSPECTED_SITEUSER_ID',message:'请选择被检查单位现场负责人'},
{name:'INSPECTION_TYPE',message:'请选择检查类型不能为空'},
{name:'INSPECTION_PLACE',message:'请输入检查场所'},
{name:'INSPECTION_TIME_START',message:'请选择检查开始时间'},
{name:'INSPECTION_TIME_END',message:'请选择作业结束时间'}
],
showHiddenWindow: false, //
hiddenRegionTreeList: [], //
hiddenLevelTreeList: [], //
hiddenTypeTreeList: [], //
hiddenType2TreeList: [], // 2
creatorList: [], //
hiddenForm: {
HIDDEN_ID: '', // ID
HIDDENDESCR: '', //
HIDDENPART: '', //
HIDDENPART_NAME: '',
HIDDENLEVEL: '', //
HIDDENLEVEL_NAME: '',
HIDDENTYPE: '', // 1
HIDDENTYPE_NAME: '',
ISRELEVANT: '', //
HIDDENTYPE2: '', // 2
HIDDENTYPE2_NAME: '',
LONGITUDE: '', //
LATITUDE: '', //
CREATTIME: '', //
HIDDENFINDDEPT: '', //
HIDDENFINDDEPT_NAME: '',
CREATOR: '', //
CREATOR_INDEX: '',
CREATOR_NAME: '',
SOURCE: '5', //
POSITIONDESC: '',
hiddenImgs: [],
hiddenVideos: []
},
videoSrc: '',
hiddenRules:[
{name:'HIDDENDESCR',message:'请选择隐患描述'},
{name:'HIDDENPART',message:'请选择隐患部位'},
{name:'HIDDENLEVEL',message:'请选择隐患级别'},
{name:'HIDDENTYPE',message:'请选择隐患类型'},
/*{name:'HIDDENTYPE2',message:'请选择隐患类型2'},*/
{name:'LONGITUDE',message:'请选择隐患位置'},
{name:'LATITUDE',message:'请选择隐患位置'},
{name:'CREATTIME',message:'请选择隐患发现时间'},
// {name:'HIDDENFINDDEPT',message:''},
{name:'CREATOR',message:'请选择隐患责任人'}
],
todayDate:'',
cityIndex: 0,
modalShow: false,
}
},
onLoad(event){
this.todayDate = formatDate(new Date(), 'yyyy-MM-dd hh:mm');
this.form.INSPECTION_ID = event.INSPECTION_ID;
this.msg="edit";
this.getData();
//
this.getDept()
this.getDict()
loginSession();
},
methods: {
getData() {
var _this = this;
uni.showLoading({
title: '请稍候'
})
uni.request({
url: basePath + '/app/safetyenvironmental/goShow',
method: 'POST',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
INSPECTION_ID: _this.form.INSPECTION_ID,
},
success: (res) => {
if ("success" == res.data.result) {
uni.hideLoading();
_this.form = res.data.pd; //map
for (let i = 0; i < _this.form.inspectorList.length; i++) {
_this.inspectorList.push([])
_this.getUserList('inspectorList', _this.form.inspectorList[i].INSPECTION_DEPARTMENT_ID, i)
}
} else if ("exception" == data.result) {
uni.showToast({
title: '错误',
duration: 2000
});
}
}
});
},
goback(){
var pages = getCurrentPages(); //
var prePage = pages[pages.length - 2]; //
prePage.$vm.initflag = true; // A init true
uni.navigateBack({delta: 1});
uni.hideLoading();
},
uploadImg(hiddenList){
return new Promise((resolve, reject) => {
var _this = this;
if(hiddenList.length === 0){
resolve();
}
uni.showLoading({
title: '上传中'
})
for (let i = 0; i < hiddenList.length; i++) {
let hiddenID = _this.hiddenIds[i]
let fileList = hiddenList[i]
for (let j = 0; j < fileList.length; j++) {
uni.uploadFile({
url: basePath+'/app/imgfiles/add',
filePath: fileList[j].filePath,
name: 'FFILE',
formData: {
'TYPE': fileList[j].type,
'FOREIGN_KEY': hiddenID
},
success: (res) => {
console.info(res)
},
fail: (err) => {
uni.hideLoading();
uni.showModal({
content: err.errMsg,
showCancel: false
});
}
})
}
}
uni.hideLoading();
resolve();
})
},
submit(){
return new Promise((resolve, reject) => {
var _this = this;
uni.request({
url: basePath+'/app/safetyenvironmental/'+_this.msg,
method: 'POST',
dataType: 'json',
header: {
'Content-type':'application/x-www-form-urlencoded'
},
data: {
..._this.form
},
success: (res) => {
if ("success" == res.data.result) {
_this.hiddenIds= res.data.pd.hiddenList
resolve()
} else {
uni.showToast({
title: res.data.msaesge,
duration: 2000
});
}
}
});
});
},
changeStartDate(e) {
this.form.INSPECTION_TIME_START = e
this.$forceUpdate();//
},
changeEndDate(e) {
this.form.INSPECTION_TIME_END = e
this.$forceUpdate();//
},
showZgTree(ref, index) {
// console.info('ref > tkiTree2:'+(ref > 'tkiTree2'))
if (index > 7) {
this.$refs[ref][0]._show();
} else {
this.$refs[ref]._show();
}
},
zgtreeCancel(e) {
this.isUps = false;
},
zgtreeConfirm(e, list, i) {
if (list === 'inspectedSiteuserList') { //
this.form.INSPECTED_DEPARTMENT_ID = e[0].id
this.form.INSPECTED_DEPARTMENT_NAME = e[0].name
this.form.INSPECTED_SITEUSER_INDEX = ''
this.form.INSPECTED_SITEUSER_ID = ''
this.form.INSPECTED_SITEUSER_NAME = ''
this.getUserList(list, e[0].id)
}
if (list === 'inspectionTypeTreeList') { //
this.form.INSPECTION_TYPE = e[0].id
this.form.INSPECTION_TYPE_NAME = e[0].name
}
if (list === 'inspectorList') { //
this.form.inspectorList[i].INSPECTION_DEPARTMENT_ID = e[0].id
this.form.inspectorList[i].INSPECTION_DEPARTMENT_NAME= e[0].name
this.form.inspectorList[i].INSPECTION_USER_INDEX = ''
this.form.inspectorList[i].INSPECTION_USER_ID = ''
this.form.inspectorList[i].INSPECTION_USER_NAME = ''
this.getUserList(list, e[0].id, i);
}
if (list === 'hiddenRegionTreeList') { //
this.hiddenForm.HIDDENPART = e[0].id
this.hiddenForm.HIDDENPART_NAME = e[0].name
}
if (list === 'hiddenLevelTreeList') { //
this.hiddenForm.HIDDENLEVEL = e[0].id
this.hiddenForm.HIDDENLEVEL_NAME = e[0].name
}
if (list === 'hiddenTypeTreeList') { //
this.hiddenForm.HIDDENTYPE = e[0].id
this.hiddenForm.HIDDENTYPE_NAME = e[0].name
}
if (list === 'hiddenType2TreeList') { //
this.hiddenForm.HIDDENTYPE2 = e[0].id
this.hiddenForm.HIDDENTYPE2_NAME = e[0].name
}
if (list === 'creatorList') { //
this.hiddenForm.HIDDENFINDDEPT = e[0].id
this.hiddenForm.HIDDENFINDDEPT_NAME = e[0].name
this.hiddenForm.CREATOR_INDEX = ''
this.hiddenForm.CREATOR = ''
this.hiddenForm.CREATOR_NAME = ''
this.getUserList(list, e[0].id)
}
},
inspectedSiteuserChange(e) {
this.form.INSPECTED_SITEUSER_INDEX = e.detail.value;
this.form.INSPECTED_SITEUSER_ID = this.inspectedSiteuserList[e.detail.value].USER_ID;
this.form.INSPECTED_SITEUSER_NAME = this.inspectedSiteuserList[e.detail.value].NAME;
},
inspectorChange(e,index) {
this.form.inspectorList[index].INSPECTION_USER_INDEX = e.detail.value;
this.form.inspectorList[index].INSPECTION_USER_ID = this.inspectorList[index][e.detail.value].USER_ID;
this.form.inspectorList[index].INSPECTION_USER_NAME = this.inspectorList[index][e.detail.value].NAME;
},
addSituation() {
this.form.situationList.push(
{
INSPECTION_SITUATION_ID: '',
SITUATION: ''
}
)
},
removeSituation (item, index) {
var _this = this;
uni.showModal({
title: '提示',
cancelText: '确认',
confirmText: '取消',
content: '确定删除检查情况吗?',
success: function (res) {
if (res.cancel) {
_this.form.situationList.splice(index, 1)
if (item.INSPECTION_SITUATION_ID) {
_this.delSituations.push(item.INSPECTION_SITUATION_ID)
}
}
}
});
},
addInspector() {
this.form.inspectorList.push(
{
INSPECTION_INSPECTOR_ID: '', //
INSPECTION_DEPARTMENT_ID: '', //ID
INSPECTION_DEPARTMENT_NAME: '',
INSPECTION_USER_ID: '', //ID
INSPECTION_USER_INDEX: '',
INSPECTION_USER_NAME: ''
}
)
},
removeInspector(item, index){
var _this = this;
uni.showModal({
title: '提示',
cancelText: '确认',
confirmText: '取消',
content: '确定移除检查人员吗?',
success: function (res) {
if (res.cancel) {
this.form.inspectorList.splice(index,1);
if (item.INSPECTION_INSPECTOR_ID) {
_this.delInspectors.push(item.INSPECTION_INSPECTOR_ID)
}
}
}
});
},
//
showHidden(item) {
this.resetHd()
this.creatorList = []
this.form.inspectorList.forEach(item => {
this.creatorList.push({ USER_ID: item.INSPECTION_USER_ID, NAME: item.INSPECTION_USER_NAME })
})
this.hiddenForm = item
this.$refs['showHiddenWindow'].open()
this.showHiddenWindow = true
},
//
cancelHidden() {
this.$refs['showHiddenWindow'].close()
this.showHiddenWindow = false
},
//
change(e, type) {
this[type] = e
},
ViewImage(e) {
if(e.currentTarget.dataset.type==0) {
let files =[];
for(var i=0;i<this.hiddenForm.hiddenImgs.length;i++){
files.push(baseImgPath + this.hiddenForm.hiddenImgs[i].FILEPATH)
}
uni.previewImage({
urls: files,
current: baseImgPath + 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
});
}
},
ViewVideo(e){
},
playVideo(e) {
this.videoSrc = e.currentTarget.dataset.src
this.modalShow = true
},
changeDiscoverDate(e) {
this.hiddenForm.DISCOVERYTIME = e
this.$forceUpdate();//
},
creatorChange(e) {
this.hiddenForm.CREATOR_INDEX = e.detail.value;
this.hiddenForm.CREATOR = this.creatorList[e.detail.value].USER_ID;
this.hiddenForm.CREATOR_NAME = this.creatorList[e.detail.value].NAME;
},
/** 坐标定位 */
showMapModal() {
var _this = this
uni.navigateTo({
url: '/pages/map/map',
events: {
//
acceptDataFromOpenedPage: function (e) {
_this.hiddenForm.LONGITUDE = e.data.longitue;
_this.hiddenForm.LATITUDE = e.data.latitude;
}
},
})
},
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
});
}
}
});
},
//
getUserList(list,dept,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, NOMAIN:'1', tm:new Date().getTime()},
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
});
}
}
})
},
//
getDict() {
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: '60e6481d96e44a5390ff5c347c4d1ffe'},
success: function (res) {
_this.inspectionTypeTreeList = eval(res.data.zTreeNodes);
}
});
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) ;
}else{
uni.showToast({
title: res.data.message,
duration: 2000
});
}
}
})
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'},
success: function (res) {
var data = res.data.zTreeNodes ;
_this.hiddenLevelTreeList = JSON.parse(data) ;
}
})
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'},
success: function (res) {
var jons = res.data.zTreeNodes ;
_this.hiddenTypeTreeList = JSON.parse(jons) ;
}
})
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'},
success: function (res) {
var jons = res.data.zTreeNodes ;
_this.hiddenType2TreeList = JSON.parse(jons) ;
}
})
},
resetHd() {
this.hiddenForm = {
HIDDEN_ID: '', // ID
HIDDENDESCR: '', //
HIDDENPART: '', //
HIDDENPART_NAME: '',
HIDDENLEVEL: '', //
HIDDENLEVEL_NAME: '',
HIDDENTYPE: '', // 1
HIDDENTYPE_NAME: '',
HIDDENTYPE2: '', // 2
HIDDENTYPE2_NAME: '',
LONGITUDE: '', //
LATITUDE: '', //
CREATTIME: '', //
HIDDENFINDDEPT: '', //
HIDDENFINDDEPT_NAME: '',
CREATOR: '', //
CREATOR_INDEX: '',
CREATOR_NAME: '',
SOURCE: '5', //
hiddenImgs: [],
hiddenVideos: []
}
}
}
}
</script>
<style>
.right_icon {
position: relative;
padding-right: 36upx;
width: 200upx;
text-align: right;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.right_icon ::after {
font-family: cuIcon;
display: block;
content: "\e6a3";
position: absolute;
font-size: 17px;
color: #8799a3;
line-height: 50px;
width: 30px;
text-align: center;
top: -28upx;
bottom: 0;
right: -22upx;
margin: auto;
}
.modal_content {
display: flex;
text-align: left;
}
.modal_left {
flex-basis: 50%;
padding: 50upx 20upx;
border-right: 1px solid #000000;
}
.modal_right {
flex-basis: 50%;
padding: 50upx;
}
.modal_left_title,.modal_right_title{
font-size: 16px;
color: #000000;
font-weight: 700;
}
.checkbox-item{
display: flex;
align-items:center;
padding: 0 30upx;
min-height: 100upx;
background-color: #ffffff;
border-bottom: 1upx solid #ddd;
}
.checkbox-item:last-child{
border-bottom: none;
}
</style>

View File

@ -0,0 +1,231 @@
<template>
<view>
<cu-custom bgColor="bg-gradual-blueness" :isBack="true" :isRingt="true">
<block slot="backText">返回</block>
<block slot="content">安全环保检查</block>
</cu-custom>
<view class="apps-box">
<view class="apps-row">
<view class="apps-title">
<text class="apps-title-line"></text>
<text>安全环保检查管理</text>
</view>
<view class="apps-warp">
<navigator class="apps-item" hover-class="none" url="/pages/application/safety-environmental-inspection/apply/list">
<view class="imgs action">
<image src="../../../static/icon-apps/icon-yxkj-1.png" mode=""></image>
<view v-if="repulseCount.repulseCount" class="cu-tag badge">{{repulseCount.repulseCount}}</view>
</view>
<view class="text-semi" style="text-align: center;">
<view>安全环保检查</view>
<view>发起</view>
</view>
</navigator>
<navigator class="apps-item" hover-class="none" url="/pages/application/safety-environmental-inspection/inspector/list">
<view class="imgs action">
<image src="../../../static/icon-apps/icon-yxkj-4.png" mode=""></image>
<view v-if="confirmCount.confirmCount" class="cu-tag badge">{{confirmCount.confirmCount}}</view>
</view>
<view class="text-semi" style="text-align: center;">
<view>检查人</view>
<view>确认</view>
</view>
</navigator>
<navigator class="apps-item" hover-class="none" url="/pages/application/safety-environmental-inspection/inspected/list">
<view class="imgs action">
<image src="../../../static/icon-apps/icon-yxkj-2.png" mode=""></image>
<view v-if="checkedCount.checkedCount" class="cu-tag badge">{{checkedCount.checkedCount}}</view>
</view>
<view class="text-semi" style="text-align: center;">
<view>被检查人</view>
<view>签字/申辩</view>
</view>
</navigator>
<navigator class="apps-item" hover-class="none" url="/pages/application/safety-environmental-inspection/archive/list">
<view class="imgs action">
<image src="../../../static/icon-apps/icon-yxkj-2.png" mode=""></image>
<view v-if="repulseAndCheckCount.repulseAndCheckCount" class="cu-tag badge">{{ repulseAndCheckCount.repulseAndCheckCount }}</view>
</view>
<view class="text-semi" style="text-align: center;">
<view>隐患指派</view>
<view>及验收</view>
</view>
</navigator>
<navigator class="apps-item" hover-class="none" url="/pages/application/safety-environmental-inspection/defense-record/list">
<view class="imgs action">
<image src="../../../static/icon-apps/icon-yxkj-2.png" mode=""></image>
</view>
<view class="text-semi" style="text-align: center;">
<view>申辩记录</view>
</view>
</navigator>
</view>
</view>
<!-- <view class="apps-row">
<view class="apps-title">
<text class="apps-title-line"></text>
<text>其他应用</text>
</view>
<view class="apps-warp">
<navigator class="apps-item" hover-class="none" url="/pages/application/other-apps/videos/videos">
<view class="imgs action">
<image src="../../static/icon-apps/icon-zl-7.png" mode=""></image>
</view>
<view class="text-semi">视频中心</view>
</navigator>
</view>
</view> -->
<view class="cu-tabbar-height"></view>
</view>
</view>
</template>
<script>
import {
basePath,
loginUserId,
formatDate,
corpinfoId,
loginUser,
setloginUserId,
setCorpinfoId,
setloginUser,
setDeptId,
isRest
} from '@/common/tool.js';
export default {
data() {
return {
isRest :'',
count : {},
confirmCount: {},
checkedCount: {},
repulseCount: {},
repulseAndCheckCount: {},
};
},
mounted(){
this.isRest = isRest;
},
onShow() {
this.getData();
},
methods: {
showRest(){
uni.showModal({
title: '提示',
showCancel:false,
content: '您处于离岗状态,无需检查清单。',
confirmText: "返回", //
success: (res) => {
}
})
},
getData(){
var _this = this;
uni.showLoading({
title:"加载中..."
});//
uni.request({
url: basePath +'/app/safetyenvironmental/countCheck',
method: 'POST',
dataType: 'json',
header: {
'Content-type':'application/x-www-form-urlencoded'
},
data: {
CORPINFO_ID:corpinfoId,
INSPECTION_USER_ID:loginUser.USER_ID,
INSPECTED_SITEUSER_ID: loginUser.USER_ID,
INSPECTION_ORIGINATOR_ID: loginUser.USER_ID,
tm:new Date().getTime()
},
success: (res) => {
uni.hideLoading();//
if ("success" == res.data.result) {
_this.confirmCount = res.data.confirmCount;
_this.checkedCount = res.data.checkedCount;
_this.repulseCount = res.data.repulseCount;
_this.repulseAndCheckCount = res.data.repulseAndCheckCount;
}
}
})
},
}
}
</script>
<style>
.app-banner{
width: 100%;
height: 380upx;
}
.app-banner image{
width: 100%;
height: 100%;
}
.apps-box {}
.apps-row {
padding: 20upx 20upx 10upx 20upx;
background-color: #fff;
margin-top: 20upx;
}
.apps-row:first-child{
margin-top: 0;
}
.apps-title {
position: relative;
padding-left: 20upx;
color: #989898;
padding-bottom: 20upx;
}
.apps-title-line {
display: inline-block;
background-color: #37a6ff;
width: 10upx;
height: 23upx;
position: absolute;
left: 0upx;
top: 11upx;
}
.apps-warp {
display: flex;
flex-wrap: wrap;
}
.apps-item {
display: flex;
flex-direction: column;
align-items: center;
width: 25%;
font-size: 25upx;
margin-bottom: 20upx;
}
.apps-item .text-semi{
margin-top: 6upx;
}
.apps-item .action{
position: relative;
}
.apps-item .action .cu-tag.badge{
right: -20upx;
}
.apps-item .imgs {
width: 50upx;
height: 50upx;
}
.apps-item .imgs image {
width: 100%;
height: 100%;
}
</style>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -109,6 +109,7 @@
<text>高危作业</text>
</view>
</navigator>
<navigator class="home-apps-item" hover-class="none" url="/pages/application/key-project-management/index/index">
<view class="home-apps-item-img">
<image src="../../static/icon-apps/home-zdgcgl.jpg" mode=""></image>
@ -136,6 +137,18 @@
<text>学习园地</text>
</view>
</navigator>
<navigator class="home-apps-item" hover-class="none" url="/pages/application/safety-environmental-inspection/home">
<view class="home-apps-item-img">
<image src="../../static/icon-apps/home-base.png" mode=""></image>
</view>
<view class="text">
<text>安全环保检查</text>
</view>
<view v-if="safetyEnvironmentalInspection>0" class="cu-tag badge">{{ safetyEnvironmentalInspection }}</view>
</navigator>
<navigator class="home-apps-item" hover-class="none" url="/pages/application/speEquip/index"
v-show="premission.speEquip">
<view class="home-apps-item-img">
@ -568,6 +581,7 @@ export default {
mixins: [MescrollMixin], // 使mixin (main.js)
data() {
return {
safetyEnvironmentalInspection:0,//
permissionID:'',
premission: {},
noClick: true,
@ -607,6 +621,7 @@ export default {
},
mounted() {
loginSession()
this.getSafetyEnvironmentalInspectionCount();
this.getUpdateInfo()
this.premission = Object.assign({}, premission)
let now = new Date();
@ -637,6 +652,34 @@ export default {
// }, 1000);
// },
methods: {
getSafetyEnvironmentalInspectionCount(){
var _this = this;
return new Promise((resolve, reject) => {
uni.request({
url: basePath +'/app/safetyenvironmental/countCheck',
method: 'POST',
dataType: 'json',
header:{
'Content-type':'application/x-www-form-urlencoded'
},
data: {
CORPINFO_ID:corpinfoId,
INSPECTION_USER_ID:loginUser.USER_ID,
INSPECTED_SITEUSER_ID: loginUser.USER_ID,
INSPECTION_ORIGINATOR_ID: loginUser.USER_ID,
tm:new Date().getTime()
},
success: (res) => {
if ("success" == res.data.result) {
_this.safetyEnvironmentalInspection = res.data.confirmCount.confirmCount
+ res.data.checkedCount.checkedCount+ res.data.repulseCount.repulseCount
+res.data.repulseAndCheckCount.repulseAndCheckCount
resolve();
}
}
});
})
},
getUpdateInfo() {
// console.info(updateInfo)
if (!updateInfo) {