qa-prevention-gwj-first-app/pages/application/hidden-danger-management/hidden-danger-acceptance/hidden-danger-acceptance-ch...

682 lines
22 KiB
Vue
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<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">
<text class="text-semi">{{pd.HIDDENDESCR}}</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>
</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" 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_POSITION}}</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">
<view class="de-sub-title">
<text class="text-grey">发现人</text>
</view>
<view class="uni-flex-item text-right">
<text class="text-semi">{{pd.CREATORNAME}}</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.HIDDENTYPENAME}}</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="cu-form-group margin-top">
<view class="title">隐患级别</view>
忽略隐患
</view>
<view class="cu-form-group">
<view class="title">隐患确认时间</view>
</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" disabled :checked="pd.IS_NORMAL=='1'"></radio>
<text></text>
</view>
<view class="group">
<radio class='radio' value="2" disabled :checked="pd.IS_NORMAL=='2'"></radio>
<text></text>
</view>
</radio-group>
</view>
<block v-if="pd.IS_NORMAL=='1'">
<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" disabled :checked="pd.IS_POSTPONE=='1'"></radio>
<text></text>
</view>
<view class="group">
<radio class='radio' value="2" disabled :checked="pd.IS_POSTPONE=='2'"></radio>
<text></text>
</view>
</radio-group>
</view>
<block v-if="pd.IS_POSTPONE=='2'">
<view class="cu-form-group">
<view class="title">隐患整改时间</view>
{{ pd.RECTIFICATIONTIME }}
</view>
<view class="cu-form-group">
<view class="title">整改描述</view>
<textarea disabled v-model="pd.RECTIFYDESCR" placeholder="请填写整改描述"></textarea>
</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>
</view>
</view>
<view class="cu-form-group">
<view class="title">投入资金(元):</view>
<textarea disabled v-model="pd.INVEST_FUNDS" placeholder="请填写投入资金" type="number"></textarea>
</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' disabled value="1" :checked="pd.HAVESCHEME=='1'"></radio>
<text>是</text>
</view>
<view class="group">
<radio class='radio' disabled value="2" :checked="pd.HAVESCHEME=='2'"></radio>
<text>否</text>
</view>
</radio-group>
</view>
<block v-if="pd.HAVESCHEME=='1'">
<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.LIST_NAME}}</text>
</view>
</view>
<view class="cu-form-textarea">
<view class="cu-form-title text-grey">治理标准</view>
<textarea maxlength="-1" disabled v-model="pd.GOVERNSTANDARDS" placeholder="请输入治理标准"></textarea>
</view>
<view class="cu-form-textarea">
<view class="cu-form-title text-grey">治理方法</view>
<textarea maxlength="-1" disabled v-model="pd.GOVERNMETHOD" placeholder="请输入治理方法"></textarea>
</view>
<view class="cu-form-textarea">
<view class="cu-form-title text-grey">经费落实</view>
<textarea maxlength="-1" disabled v-model="pd.EXPENDITURE" placeholder="请输入经费落实"></textarea>
</view>
<view class="cu-form-textarea">
<view class="cu-form-title text-grey">负责人员</view>
<textarea maxlength="-1" disabled v-model="pd.PRINCIPAL" placeholder="请输入负责人员"></textarea>
</view>
<view class="cu-form-textarea">
<view class="cu-form-title text-grey">工时安排</view>
<textarea maxlength="-1" disabled v-model="pd.PROGRAMMING" placeholder="请输入工时安排"></textarea>
</view>
<view class="cu-form-textarea">
<view class="cu-form-title text-grey">时限要求</view>
<textarea maxlength="-1" disabled v-model="pd.TIMELIMITFOR" placeholder="请输入时限要求"></textarea>
</view>
<view class="cu-form-textarea">
<view class="cu-form-title text-grey">工作要求</view>
<textarea maxlength="-1" disabled v-model="pd.JOBREQUIREMENT" placeholder="请输入工作要求"></textarea>
</view>
<view class="cu-form-textarea">
<view class="cu-form-title text-grey">其他事项</view>
<textarea maxlength="-1" disabled v-model="pd.OTHERBUSINESS" placeholder="请输入其他事项"></textarea>
</view>
<view class="cu-bar bg-white">
<view class="action">
方案照片
</view>
<view class="action">
{{imgList_fa.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_fa" :key="index" @tap="ViewImage_fa" :data-url="imgList_fa[index]">
<image :src="imgList_fa[index]" mode="aspectFill"></image>
</view>
</view>
</view>
<view class="add_pard_box">
<view class="add_pard_item" v-for="(item,index) of other">
<view class="cu-form-group">
<view class="title">验收部门</view>
<view class="picker-tree-box">
{{other[index].DEPARTMENT_NAME}}
</view>
<view class="cu-form-group">
<view class="title">验收人</view>
{{other[index].USER_NAME}}
</view>
</view>
</view>
</view>
</block>
</block>
<block v-if="pd.IS_POSTPONE=='1'">
<view class="cu-form-group">
<view class="title">延期时间:</view>
{{ pd.DELAY_TIME }}
</view>
<view class="cu-form-textarea">
<view class="cu-form-title text-grey">临时措施</view>
<textarea maxlength="-1" disabled v-model="pd.TEMPORARY_MEASURES" placeholder="请输入临时措施"></textarea>
</view>
</block>
</block>
<view class="cu-form-textarea" v-if="pd.IS_NORMAL=='2'">
<view class="cu-form-title text-grey">无法整改原因</view>
<textarea maxlength="-1" disabled v-model="pd.REASON" placeholder="请输入无法整改原因"></textarea>
</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' disabled value="1" :checked="pd.POSTPONE_AUDIT=='1'"></radio>
<text>通过</text>
</view>
<view class="group">
<radio class='radio' disabled value="2" :checked="pd.POSTPONE_AUDIT=='2'"></radio>
<text>不通过</text>
</view>
</radio-group>
</view>
<view class="cu-form-group" v-if="pd.POSTPONE_AUDIT=='1'">
<view class="title">限期整改时间:</view>
{{ pd.DELAYED_RECTIFICATION_TIME }}
</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' disabled value="1" :checked="pd.ACCEPTANCE_RESULTS=='1'" @click="radioAcceptanceResults('1')"></radio>
<text>通过</text>
</view>
<view class="group">
<radio class='radio' disabled value="2" :checked="pd.ACCEPTANCE_RESULTS=='2'" @click="radioAcceptanceResults('2')"></radio>
<text>不通过</text>
</view>
</radio-group>
</view>
<view class="cu-form-group">
<view class="title">验收人:</view>
{{ pd.ACCEPTOR_PEOPLE }}
</view>
<view class="cu-form-group">
<view class="title">验收时间:</view>
{{ pd.ACCEPTOR_TIME }}
</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>
<button class="cu-btn bg-blue margin-tb-sm lg" @click="$noMultipleClicks(submit)">提交</button>
</view>
<view class="cu-tabbar-height"></view>
</scroll-view>
</view>
</template>
<script>
import {
basePath,baseImgPath,corpinfoId,loginUser,formatDate
} from '@/common/tool.js';
import ruiDatePicker from '@/components/rattenking-dtpicker/rattenking-dtpicker.vue';
import tkiTree from "@/components/select-tree/select-tree.vue"
export default {
components: {
ruiDatePicker,
tkiTree
},
data() {
return {
noClick: true,
date: '',
RECTIFICATIONTIME: '',
imgList: [],
imgList_fa: [],
id: '',
pd: [],
hs: [],
files: [],
files2: [],
files3: [],
files4: [],
checkList: [],
other: [],
CHECKDESCR: '',
basePath:basePath,
baseImgPath,
ISQUALIFIED:'1',
levelList :[],
treeNode :[],
otherUserList :[],
principalList :[],
lindex: -1,
todayDate: formatDate(new Date(), 'yyyy-MM-dd hh:mm'),
}
},
onLoad(e) {
this.pd.ACCEPTOR_PEOPLE = loginUser.USER_NAME
this.pd.ACCEPTOR_TIME = formatDate(new Date(), 'yyyy-MM-dd hh:mm')
this.id = e.id;
this.getData();
this.getDept();
},
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) => {
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.checkList = res.data.checkList;
} else if ("exception" === res.data.result) {
uni.showToast({
title: '错误',
duration: 2000
});
}
}
});
},
ViewImage(e) {
uni.previewImage({
urls: this.imgList,
current: e.currentTarget.dataset.url
});
},
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
});
},
radioNormal(e){
this.$set(this.pd,'IS_NORMAL',e)
},
radioPostpone(e){
this.$set(this.pd,'IS_POSTPONE',e)
},
radioHavescheme(e){
this.$set(this.pd,'HAVESCHEME',e)
},
changeDELAYED_RECTIFICATION_TIME(e){
this.pd.DELAYED_RECTIFICATION_TIME = e
},
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,DEPARTMENT_ID) {
//发送 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, NOMAIN:'1',
tm: new Date().getTime()
},
success: function (res) {
if ("success" == res.data.result) {
_this[list] = res.data.userList;
} else {
uni.showToast({
title: res.data.message,
duration: 2000
});
}
}
})
},
ViewImage_fa(e) {
uni.previewImage({
urls: this.imgList_fa,
current: e.currentTarget.dataset.url
});
},
radioPostponeAudit(){
this.$set(this.pd,'POSTPONEAudit',e)
},
radioAcceptanceResults(){
this.$set(this.pd,'ACCEPTANCE_RESULTS',e)
},
radioReplacePrincipal(){
this.$set(this.pd,'REPLACE_PRINCIPAL',e)
},
showZgTree(ref) {
this.$refs[ref]._show();
},
zgtreeConfirm(e,list) {
if(list === "principalList"){
this.form.PRINCIPAL_DEPARTMENT_ID = e[0].id;
this.form.PRINCIPAL_DEPARTMENT_NAME = e[0].name;
this.form.PRINCIPAL_INDEX = '';
this.form.PRINCIPAL_ID = '';
this.form.PRINCIPAL_NAME = '';
}
this.getUserList(list,e[0].id);
},
zgtreeCancel(e) {
this.isUps = false;
},
principalChange(e){
this.pd.PRINCIPAL_INDEX = e.detail.value;
this.pd.PRINCIPAL_ID = this.principalList[e.detail.value].USER_ID;
this.pd.PRINCIPAL_NAME = this.principalList[e.detail.value].USERNAME;
},
submit() {
var _this = this;
let required = true
if(!this.pd.ACCEPTANCE_RESULTS){
uni.showToast({
icon: 'none',
title: '请选择验收结果',
duration: 1500
});
required = false
}
if (!required) {
return
}
uni.showLoading({
title: '请稍候'
})
uni.request({
url: basePath + "/app/hotworkapplication/" + _this.msg,
method: 'POST',
dataType: 'json',
header: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: {
...this.pd,
CORPINFO_ID:corpinfoId,
USER_ID:loginUser.USER_ID,
},
success: (res) => {
uni.showToast({
icon: 'none',
title: '提交成功',
duration: 2000
});
_this.goback()
},
fail: (err) => {
uni.hideLoading();
uni.showModal({
content: err.errMsg,
showCancel: false
});
}
})
},
goback() {
uni.navigateBack({
delta: 1
});
uni.hideLoading();
}
}
}
</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>