qa-regulatory-gwj-app/pages/general-hidden-management/general-hidden/detail.vue

510 lines
21 KiB
Vue

<template>
<view class="content">
<view class="card">
<view class="view-title">
<u--text text="隐患信息" bold></u--text>
</view>
<view class="mt-10">
<u-cell-group :border="false">
<u-cell>
<view slot="title" class="title">隐患来源</view>
<view slot="value">
<template v-if="form.SOURCE=='1'">隐患快报</template>
<template v-else-if="form.SOURCE=='2' || form.SOURCE=='3'">清单排查</template>
<template v-else-if="form.SOURCE=='4'">安全环保检查(监管端)</template>
<template v-else-if="form.SOURCE=='5'">安全环保检查(企业端)</template>
<template v-else-if="form.SOURCE=='6'">消防检查</template>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患描述</view>
<view slot="label" class="mt-10 u-line-5">{{ form.HIDDENDESCR }}</view>
</u-cell>
<template v-if="form.SOURCE=='2'">
<u-cell>
<view slot="title" class="title">风险点(单元)</view>
<view slot="value">{{ form.RISK_UNIT }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">辨识部位</view>
<view slot="value">{{ form.IDENTIFICATION }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">存在风险</view>
<view slot="value">{{ form.RISK_DESCR }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">风险分级</view>
<view slot="value">{{ form.LEVEL }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">检查内容</view>
<view slot="value">{{ form.CHECK_CONTENT }}</view>
</u-cell>
</template>
<u-cell>
<view slot="title" class="title">隐患级别</view>
<view slot="value">{{ form.editLevelName }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患类型</view>
<view slot="value">{{ form.HIDDENTYPENAME }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患状态</view>
<view slot="value">
<template v-if="form.STATE=='1'">未整改</template>
<template v-else-if="form.STATE=='2'">已整改</template>
<template v-else-if="form.STATE=='3'">已整改</template>
<template v-else-if="form.STATE=='4'">已验收</template>
<template v-else-if="form.STATE=='5'">忽略隐患</template>
<template v-else-if="form.STATE=='6'">重大隐患</template>
<template v-else-if="form.STATE=='7'">待处理的特殊隐患</template>
<template v-else-if="form.STATE=='8'">已处理的特殊隐患</template>
<template v-else-if="form.STATE=='10'">验收打回</template>
<template v-else-if="form.STATE=='11'">待核实</template>
<template v-else-if="form.STATE=='12'">待核定</template>
<template v-else-if="form.STATE=='13'">较大隐患待整改</template>
<template v-else-if="form.STATE=='14'">较大隐患验收</template>
<template v-else-if="form.STATE=='15'">较大隐患已归档</template>
<template v-else-if="form.STATE=='-1'">已超期</template>
<template v-else-if="form.STATE=='-2'">待确认</template>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患部位</view>
<view slot="value">{{ form.hregionName ? form.hregionName : form.HIDDENPART }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患上报位置</view>
<view slot="label" class="mt-10">
<view>经度:{{ form.LONGITUDE }}</view>
<view>纬度:{{ form.LATITUDE }}</view>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患位置描述</view>
<view slot="label" class="mt-10">{{ form.POSITIONDESC }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患图片</view>
<view slot="label" class="mt-10">
<view style="display: flex;flex-wrap: wrap">
<view v-for="(item,index) in hImgs" :key="index" class="ml-10 mt-10">
<u--image :showLoading="true" :src="item" width="80px" height="80px"
@click="previewImage(hImgs, item)"></u--image>
</view>
</view>
</view>
</u-cell>
<u-cell v-if="videoUrl">
<view slot="title" class="title">隐患视频</view>
<view slot="value">
<u-icon name="play-circle-fill" size="30" @click="modalShow = true"></u-icon>
</view>
</u-cell>
<u-modal :show="modalShow" title="视频播放" confirmText="关闭" @confirm="modalShow = false">
<view>
<video v-if="modalShow" :src="videoUrl" :autoplay="true"></video>
</view>
</u-modal>
<u-cell v-for="(item,index) in hiddenFindPeople" :key="index">
<view slot="title" class="title">隐患发现人</view>
<view slot="value">{{ item.NAME }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患发现时间</view>
<view slot="value">{{ $u.timeFormat(form.DISCOVERYTIME, 'yyyy-mm-dd hh:MM:ss') }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">整改类型</view>
<view slot="value">
<template v-if="form.RECTIFICATIONTYPE=='1'">立即整改</template>
<template v-else-if="form.RECTIFICATIONTYPE=='2'">限期整改</template>
</view>
</u-cell>
<u-cell v-if="form.RECTIFICATIONTYPE=='1'">
<view slot="title" class="title">整改描述</view>
<view slot="value">{{ form.RECTIFYDESCR }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">整改负责部门</view>
<view slot="value">{{ form.editDeptName || form.RECTIFICATIONDEPTNAME }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">整改负责人</view>
<view slot="value">{{ form.editUserName || form.RECTIFICATIONORNAME }}</view>
</u-cell>
<u-cell v-if="form.RECTIFICATIONTYPE=='2'">
<view slot="title" class="title">整改期限</view>
<view slot="value">{{ form.RECTIFICATIONDEADLINE }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">是否相关方</view>
<view slot="value">{{ form.ISRELEVANT == '1' ? '是' : '否' }}</view>
</u-cell>
</u-cell-group>
</view>
</view>
<view class="card" v-for="(item,index) in hiddenExamineList" :key="index">
<view class="view-title">
<u--text text="确认信息" bold v-if="item.TYPE === 4"></u--text>
<u--text text="延期信息" bold v-else-if="item.TYPE === 2"></u--text>
<u--text text="特殊处理审核信息" bold v-else-if="item.TYPE === 1"></u--text>
</view>
<view class="mt-10">
<u-cell-group :border="false" v-if="item.TYPE === 4">
<u-cell>
<view slot="title" class="title">隐患级别</view>
<view slot="value">{{ item.editLevelName }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">整改负责人</view>
<view slot="value">{{ item.editUserName }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">整改完成期限</view>
<view slot="value">{{ item.spare3 }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患确认人</view>
<view slot="value">{{ form.conUserName }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患确认时间</view>
<view slot="value">{{ form.CONFIRM_TIME }}</view>
</u-cell>
</u-cell-group>
</view>
<view class="mt-10">
<u-cell-group :border="false" v-if="item.TYPE === 2">
<u-cell>
<view slot="title" class="title">申请延期日期</view>
<view slot="value">{{ item.DELAY_TIME }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">审核人</view>
<view slot="value">{{ pd.conUserName }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">处置方案</view>
<view slot="value">{{ item.DISPOSAL_PLAN }}</view>
</u-cell>
<u-cell v-if="item.DISPOSAL_FILE">
<view slot="title" class="title">方案附件</view>
<view slot="value">
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(item.DISPOSAL_FILE)"></u-button>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">延期审核状态</view>
<view slot="value">
<template v-if="item.STATE === -1">待审核</template>
<template v-else-if="item.STATE === 1">通过</template>
<template v-else-if="item.STATE === 2">未通过</template>
</view>
</u-cell>
<u-cell v-if="item.STATE === 1">
<view slot="title" class="title">审核时间</view>
<view slot="value">{{ item.OPERATTIME }}</view>
</u-cell>
</u-cell-group>
</view>
<view class="mt-10">
<u-cell-group :border="false" v-if="item.TYPE === 1">
<u-cell>
<view slot="title" class="title">无法整改原因</view>
<view slot="value">{{ item.EXAMINE }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">特殊处置审核状态</view>
<view slot="value">
<template v-if="item.STATE === -1">待审核</template>
<template v-else-if="item.STATE === 2">通过</template>
<template v-else-if="item.STATE === 1">未通过</template>
</view>
</u-cell>
<u-cell v-if="item.STATE===2">
<view slot="title" class="title">处置方案</view>
<view slot="value">{{ item.DISPOSAL_PLAN }}</view>
</u-cell>
<u-cell v-if="item.DISPOSAL_FILE">
<view slot="title" class="title">处置方案附件</view>
<view slot="value">
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(item.DISPOSAL_FILE)"></u-button>
</view>
</u-cell>
<u-cell v-if="item.STATE!==-1">
<view slot="title" class="title">审核时间</view>
<view slot="value">{{ item.OPERATTIME }}</view>
</u-cell>
<u-cell v-if="item.STATE!==-1">
<view slot="title" class="title">审核人</view>
<view slot="value">{{ pd.conUserName }}</view>
</u-cell>
<u-cell v-if="item.TYPE ==='2'">
<view slot="title" class="title">是否更换整改负责人</view>
<view slot="value">
<template v-if="item.spare1 === '1'">是</template>
<template v-if="item.spare1 === '0'">否</template>
</view>
</u-cell>
<u-cell v-if="item.spare1 === '1'">
<view slot="title" class="title">整改负责人</view>
<view slot="value">{{ item.editUserName }}</view>
</u-cell>
</u-cell-group>
</view>
</view>
<view class="card" v-if="form.STATE ==2 || form.STATE ==4 || form.STATE == 10">
<view class="view-title">
<u--text text="整改信息" bold></u--text>
</view>
<view class="mt-10">
<u-cell-group :border="false">
<u-cell>
<view slot="title" class="title">整改描述</view>
<view slot="label" class="mt-10">{{ form.RECTIFYDESCR }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">整改部门</view>
<view slot="value">{{ form.RECTIFICATIONDEPTNAME }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">整改人</view>
<view slot="value">{{ form.RECTIFICATIONORNAME }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">整改时间</view>
<view slot="value">{{ form.RECTIFICATIONTIME }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">投入资金</view>
<view slot="value">{{ form.INVESTMENT_FUNDS }}元</view>
</u-cell>
<u-cell>
<view slot="title" class="title">整改后图片:</view>
<view slot="label" class="mt-10">
<view style="display: flex;flex-wrap: wrap">
<view v-for="(item,index) in rImgs" :key="index" class="ml-10 mt-10">
<u--image :showLoading="true" :src="item" width="80px" height="80px"
@click="previewImage(rImgs,item)"></u--image>
</view>
</view>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">整改方案:</view>
<view slot="value">
<template v-if="form.HAVESCHEME == 0">无</template>
<template v-else-if="form.HAVESCHEME == 1">有</template>
</view>
</u-cell>
<template v-if="hs && form.HAVESCHEME==1">
<u-cell>
<view slot="title" class="title">排查日期</view>
<view slot="value">{{ hs.SCREENINGDATE }}</view>
</u-cell>
<u-cell v-if="hs.LISTNAME">
<view slot="title" class="title">隐患清单</view>
<view slot="value">{{ hs.LISTNAME }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">治理标准要求</view>
<view slot="value">{{ hs.GOVERNSTANDARDS }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">治理方法</view>
<view slot="value">{{ hs.GOVERNMETHOD }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">经费和物资的落实</view>
<view slot="value">{{ hs.EXPENDITURE }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">负责治理人员</view>
<view slot="value">{{ hs.PRINCIPAL }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">工时安排</view>
<view slot="value">{{ hs.PROGRAMMING }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">时限要求</view>
<view slot="value">{{ hs.TIMELIMITFOR }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">工作要求</view>
<view slot="value">{{ hs.JOBREQUIREMENT }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">其他事项</view>
<view slot="value">{{ hs.OTHERBUSINESS }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">方案图片:</view>
<view slot="label" class="mt-10">
<view style="display: flex;flex-wrap: wrap">
<view v-for="(item,index) in sImgs" :key="index" class="ml-10 mt-10">
<u--image :showLoading="true" :src="item" width="80px" height="80px"
@click="previewImage(sImgs,item)"></u--image>
</view>
</view>
</view>
</u-cell>
</template>
</u-cell-group>
</view>
</view>
<view class="card" v-if="form.STATE ==4">
<view class="view-title">
<u--text text="验收信息" bold></u--text>
</view>
<template v-if="form.RECTIFICATIONTYPE!='1'">
<view class="mt-10">
<u-cell-group :border="false" v-for="(item,index) in checkList" :key="index">
<u-cell>
<view slot="title" class="title">验收描述</view>
<view slot="label" class="mt-10">{{ item.CHECKDESCR }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">是否合格</view>
<view slot="value">
<template v-if="item.STATUS == '1'">是</template>
<template v-else-if="item.STATUS == '0'">否</template>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">验收部门</view>
<view slot="value">{{ item.CHECKDEPTNAME }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">验收人</view>
<view slot="value">{{ item.CHECKORNAME }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">验收时间</view>
<view slot="value">{{ item.CHECK_TIME }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">验收图片:</view>
<view slot="label" class="mt-10">
<view style="display: flex;flex-wrap: wrap">
<view v-for="(item1,index1) in cImgs" :key="index1" class="ml-10 mt-10">
<u--image :showLoading="true" :src="item1" width="80px" height="80px"
@click="previewImage(cImgs,item1)"></u--image>
</view>
</view>
</view>
</u-cell>
</u-cell-group>
</view>
</template>
<template v-if="form.RECTIFICATIONTYPE=='1'">
<view class="mt-10">
<u-cell-group :border="false">
<u-cell>
<view slot="title" class="title">验收人</view>
<view slot="value">{{ form.CHECKORNAME }}</view>
</u-cell>
</u-cell-group>
</view>
</template>
</view>
</view>
</template>
<script>
import {getHiddenGoEdit} from "../../../api";
export default {
data() {
return {
HIDDEN_ID: '',
form: {},
hImgs: [],
rImgs: [],
sImgs: [],
cImgs: [],
videoUrl: '',
modalShow: false,
hiddenFindPeople: [],
hiddenExamineList: [],
hs: {},
checkList: [],
}
},
onLoad(event) {
this.HIDDEN_ID = event.HIDDEN_ID;
this.getData()
},
methods: {
async getData() {
let resData = await getHiddenGoEdit({HIDDEN_ID: this.HIDDEN_ID});
this.form = resData.pd;
this.hs = resData.hs;
this.checkList = resData.checkList;
this.hiddenFindPeople = resData.hiddenFindPeople;
this.hiddenExamineList = resData.hiddenExa
for (let i = 0; i < resData.hImgs.length; i++) {
this.hImgs.push(this.$store.state.filePath + resData.hImgs[i].FILEPATH)
}
for (let i = 0; i < resData.rImgs.length; i++) {
this.rImgs.push(this.$store.state.filePath + resData.rImgs[i].FILEPATH)
}
for (let i = 0; i < resData.sImgs.length; i++) {
this.sImgs.push(this.$store.state.filePath + resData.sImgs[i].FILEPATH)
}
for (let i = 0; i < resData.cImgs && resData.cImgs.length; i++) {
this.cImgs.push(this.$store.state.filePath + resData.cImgs[i].FILEPATH)
}
for (let i = 0; i < resData.checkList.length; i++) {
for (let j = 0; j < resData.checkList[i].cImgs.length; j++) {
this.cImgs.push(this.$store.state.filePath + resData.checkList[i].cImgs[j].FILEPATH)
}
}
if (resData.hiddenVideo.length > 0) this.videoUrl = this.$store.state.filePath + resData.hiddenVideo[0].FILEPATH
resData.hiddenExa && resData.hiddenExa.forEach(item => {
if (item.TYPE == 0) {
this.form.oldUserName = item.editUserName
this.form.oldDeptName = item.editDeptName
this.form.oldLevelName = item.editLevelName
this.form.oldRectificationDeadline = item.spare3
}
})
},
previewImage(list, current) {
uni.previewImage({
urls: list,
current
});
},
downloadAppendix(DISPOSAL_FILE) {
uni.downloadFile({
url: this.$store.state.filePath + DISPOSAL_FILE,
success: (res) => {
uni.openDocument({
filePath: res.tempFilePath,
});
},
});
},
},
}
</script>
<style scoped>
.title {
min-width: 150rpx;
}
</style>