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

352 lines
14 KiB
Vue
Raw Normal View History

2023-11-07 10:08:37 +08:00
<template>
<view class="content">
<view class="card">
<view class="view-title">
<u--text text="隐患信息" bold></u--text>
</view>
<u-cell-group :border="false">
<u-cell>
<view slot="title" class="title">隐患来源</view>
<view slot="value">
<template v-if="form.source === '1'">
2023-11-07 10:08:37 +08:00
隐患快报
</template>
<template v-else-if="form.source === '2'">
2023-11-07 10:08:37 +08:00
清单排查
</template>
<template v-else-if="form.source === '3'">
2023-11-07 10:08:37 +08:00
清单排查
</template>
<template v-else-if="form.source === '4'">
2023-11-07 10:08:37 +08:00
安全环保检查(监管端)
</template>
<template v-else-if="form.source === '5'">
2023-11-07 10:08:37 +08:00
安全环保检查(企业端)
</template>
<template v-else-if="form.source === '6'">
2023-11-07 10:08:37 +08:00
消防检查
</template>
</view>
</u-cell>
2024-10-10 10:14:31 +08:00
<u-cell>
2023-11-07 10:08:37 +08:00
<view slot="title" class="title">隐患描述</view>
<view slot="label" class="mt-10">{{ form.hiddendescr }}</view>
2023-11-07 10:08:37 +08:00
</u-cell>
<template v-if="form.source === '2'">
2023-11-07 10:08:37 +08:00
<u-cell>
<view slot="title" class="title">风险点单元</view>
<view slot="value">{{ form.riskUnit }}</view>
2023-11-07 10:08:37 +08:00
</u-cell>
<u-cell>
<view slot="title" class="title">辨识部位</view>
<view slot="value">{{ form.identification }}</view>
2023-11-07 10:08:37 +08:00
</u-cell>
<u-cell>
<view slot="title" class="title">存在风险</view>
<view slot="value">{{ form.riskDescr }}</view>
2023-11-07 10:08:37 +08:00
</u-cell>
<u-cell>
<view slot="title" class="title">风险分级</view>
<view slot="value">{{ form.level }}</view>
2023-11-07 10:08:37 +08:00
</u-cell>
<u-cell>
<view slot="title" class="title">检查内容</view>
<view slot="value">{{ form.checkContent }}</view>
2023-11-07 10:08:37 +08:00
</u-cell>
</template>
<u-cell>
<view slot="title" class="title">隐患级别</view>
<view slot="value">{{ form.hiddenlevelName }}</view>
2023-11-07 10:08:37 +08:00
</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 === '-1'">已超期</template>
<template v-else-if="form.state === '-2'">待确认</template>
2023-11-07 10:08:37 +08:00
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患类型</view>
<view slot="value">{{ form.hiddenTypeName }}</view>
2023-11-07 10:08:37 +08:00
</u-cell>
<u-cell>
<view slot="title" class="title">隐患部位</view>
<view slot="value">{{ form.hiddenpartStr ? form.hiddenpartStr : form.hiddenpart }}</view>
2023-11-07 10:08:37 +08:00
</u-cell>
2024-10-10 10:14:31 +08:00
<u-cell>
2023-11-07 10:08:37 +08:00
<view slot="title" class="title">隐患上报位置</view>
2024-10-10 10:14:31 +08:00
<view slot="label" class="mt-10">
<view>经度:{{ form.longitude }}</view>
<view>纬度:{{ form.latitude }}</view>
2023-11-07 10:08:37 +08:00
</view>
</u-cell>
2024-10-10 10:14:31 +08:00
<u-cell>
2023-11-07 10:08:37 +08:00
<view slot="title" class="title">隐患位置描述</view>
<view slot="label" class="mt-10">{{ form.positiondesc }}</view>
2023-11-07 10:08:37 +08:00
</u-cell>
2024-10-10 10:14:31 +08:00
<u-cell>
2023-11-07 10:08:37 +08:00
<view slot="title" class="title">隐患照片</view>
2024-10-10 10:14:31 +08:00
<view slot="label" class="mt-10">
2024-10-16 09:25:19 +08:00
<view style="display: flex;flex-wrap: wrap">
<view v-for="(item,index) in hImgs" :key="index" class="ml-10 mt-10">
2023-11-07 10:08:37 +08:00
<u--image :showLoading="true" :src="item" width="80px" height="80px"
@click="previewImage(hImgs,item)"></u--image>
2024-10-16 09:25:19 +08:00
</view>
</view>
2023-11-07 10:08:37 +08:00
</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.userName }}</view>
2023-11-07 10:08:37 +08:00
</u-cell>
<u-cell>
<view slot="title" class="title">隐患发现时间</view>
<view slot="value">{{ form.discoverytime }}</view>
2023-11-07 10:08:37 +08:00
</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>
2023-11-07 10:08:37 +08:00
</view>
</u-cell>
<u-cell v-if="form.rectificationtype === '1'">
2023-11-07 10:08:37 +08:00
<view slot="title" class="title">整改描述</view>
<view slot="value">{{ form.rectifydescr }}</view>
2023-11-07 10:08:37 +08:00
</u-cell>
<u-cell v-if="form.SOURCE != '4'">
<view slot="title" class="title">整改负责部门</view>
<view slot="value">{{ form.editDeptName || form.rectificationDeptName }}</view>
2023-11-07 10:08:37 +08:00
</u-cell>
<u-cell v-if="form.SOURCE != '4'">
<view slot="title" class="title">整改负责人</view>
<view slot="value">{{ form.editUserName || form.rectificationName }}</view>
2023-11-07 10:08:37 +08:00
</u-cell>
<u-cell v-if="form.rectificationtype === '1'">
2023-11-07 10:08:37 +08:00
<view slot="title" class="title">整改后图片</view>
2024-10-10 10:14:31 +08:00
<view slot="label" class="mt-10">
2024-10-16 09:25:19 +08:00
<view style="display: flex;flex-wrap: wrap">
<view v-for="(item,index) in rImgs" :key="index" class="ml-10 mt-10">
2023-11-07 10:08:37 +08:00
<u--image :showLoading="true" :src="item" width="80px" height="80px"
@click="previewImage(rImgs,item)"></u--image>
2024-10-16 09:25:19 +08:00
</view>
</view>
2023-11-07 10:08:37 +08:00
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">整改完成期限</view>
<view slot="value">{{ form.rectificationdeadline }}</view>
2023-11-07 10:08:37 +08:00
</u-cell>
<u-cell>
<view slot="title" class="title">是否相关方</view>
<view slot="value">{{ form.isrelevant === '1' ? '是' : '否' }}</view>
2023-11-07 10:08:37 +08:00
</u-cell>
</u-cell-group>
</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>
2023-11-07 10:08:37 +08:00
</view>
2024-10-10 10:14:31 +08:00
<view class="mt-10">
<u-cell-group :border="false" v-if="item.type === 4">
2024-10-10 10:14:31 +08:00
<u-cell>
<view slot="title" class="title">隐患级别</view>
<view slot="value">{{ item.hiddenlevelName }}</view>
2024-10-10 10:14:31 +08:00
</u-cell>
<u-cell>
<view slot="title" class="title">整改负责人</view>
<view slot="value">{{ item.spare2Name }}</view>
2024-10-10 10:14:31 +08:00
</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.confirmUserName }}</view>
2024-10-10 10:14:31 +08:00
</u-cell>
<u-cell>
<view slot="title" class="title">隐患确认时间</view>
<view slot="value">{{ form.confirmTime }}</view>
2024-10-10 10:14:31 +08:00
</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.creattime }}</view>
2024-10-10 10:14:31 +08:00
</u-cell>
<u-cell>
<view slot="title" class="title">审核人</view>
<view slot="value">{{ form.confirmUserName }}</view>
2024-10-10 10:14:31 +08:00
</u-cell>
<u-cell>
<view slot="title" class="title">延期日期</view>
<view slot="value">{{ item.DELAY_TIME }}</view>
</u-cell>
<u-cell v-if="item.disposalPlan">
2024-10-10 10:14:31 +08:00
<view slot="title" class="title">处置方案</view>
<view slot="value">{{ item.disposalPlan }}</view>
2024-10-10 10:14:31 +08:00
</u-cell>
<u-cell v-if="item.disposalFile">
2024-10-10 10:14:31 +08:00
<view slot="title" class="title">方案附件</view>
<view slot="value">
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(item.disposalFile)"></u-button>
2024-10-10 10:14:31 +08:00
</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>
2024-10-10 10:14:31 +08:00
</view>
</u-cell>
<u-cell v-if="item.state === 1">
2024-10-10 10:14:31 +08:00
<view slot="title" class="title">审核时间</view>
<view slot="value">{{ item.operattime }}</view>
2024-10-10 10:14:31 +08:00
</u-cell>
</u-cell-group>
</view>
<view class="mt-10">
<u-cell-group :border="false" v-if="item.type === 1">
2024-10-10 10:14:31 +08:00
<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>
2024-10-10 10:14:31 +08:00
</view>
</u-cell>
<u-cell v-if="item.state!==-1">
2024-10-10 10:14:31 +08:00
<view slot="title" class="title">审核时间</view>
<view slot="value">{{ item.operattime }}</view>
2024-10-10 10:14:31 +08:00
</u-cell>
<u-cell v-if="item.EXAMINE">
<view slot="title" class="title">处置方案</view>
<view slot="value">{{ item.disposalPlan }}</view>
2024-10-10 10:14:31 +08:00
</u-cell>
<u-cell v-if="item.disposalFile">
2024-10-10 10:14:31 +08:00
<view slot="title" class="title">方案附件</view>
<view slot="value">
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(item.disposalFile)"></u-button>
2024-10-10 10:14:31 +08:00
</view>
</u-cell>
<u-cell v-if="item.STATE!==-1">
<view slot="title" class="title">是否更换整改负责人</view>
<view slot="value">{{ item.spare2 ? '是' : '否' }}</view>
</u-cell>
<u-cell v-if="item.spare2">
<view slot="title" class="title">更换整改负责人姓名</view>
<view slot="value">{{ form.editUserName || form.newRectificationor }}</view>
2024-10-10 10:14:31 +08:00
</u-cell>
</u-cell-group>
</view>
2023-11-07 10:08:37 +08:00
</view>
</view>
</template>
<script>
import {getHiddenGoEdit} from "@/api";
2023-11-07 10:08:37 +08:00
export default {
data() {
return {
hiddenId: '',
2023-11-07 10:08:37 +08:00
form: {},
hImgs: [],
rImgs: [],
videoUrl: '',
modalShow: false,
hiddenFindPeople: [],
hiddenExamineList: [],
}
},
onLoad(event) {
this.hiddenId = event.hiddenId;
2023-11-07 10:08:37 +08:00
this.getData()
},
methods: {
async getData() {
let { data } = await getHiddenGoEdit({id: this.hiddenId});
this.form = data;
this.hiddenFindPeople = data?.acceptor;
this.hiddenExamineList = data?.examines;
this.hImgs = this.findAPicture(resData.data?.files, 3);
this.rImgs = this.findAPicture(resData.data?.files, 4);
if (resData.hiddenVideo.length > 0) this.videoUrl = this.findAPicture(resData.data?.files, 102)?.[0];
// if (resData.hiddenExa.length > 0) {
// resData.hiddenExa.forEach(item => {
// if (item.TYPE == 4) {
// this.form.editUserName = item.editUserName
// this.form.editDeptName = item.editDeptName
// this.form.editLevelName = item.editLevelName
// this.form.editRectificationDeadline = item.spare3
// }
// })
// }
2023-11-07 10:08:37 +08:00
},
previewImage(list, current) {
uni.previewImage({
urls: list,
current
});
},
downloadAppendix(DISPOSAL_FILE) {
2024-10-16 09:25:19 +08:00
uni.downloadFile({
url: this.$store.state.filePath + DISPOSAL_FILE,
success: (res) => {
uni.openDocument({
filePath: res.tempFilePath,
});
},
2023-11-07 10:08:37 +08:00
});
},
findAPicture(files, type) {
const result = [];
files?.forEach((item) => {
if (item?.type === type) {
result.push(this.$store.state.filePath + item.filepath);
}
});
return result.length > 0 ? result : null;
}
2023-11-07 10:08:37 +08:00
},
}
</script>
<style scoped>
2024-08-28 16:29:32 +08:00
.title {
min-width: 150rpx;
}
2023-11-07 10:08:37 +08:00
</style>