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

359 lines
13 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 === '8'">
点检隐患
</template>
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.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 === '13'"></template>
<template v-else-if="form.state === '14'">待验收</template>
<template v-else-if="form.state === '15'">已归档</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 || info.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">
2023-11-07 10:08:37 +08:00
<view>
经度:{{ form.longitude }}
2023-11-07 10:08:37 +08:00
</view>
<view>
纬度:{{ form.latitude }}
2023-11-07 10:08:37 +08:00
</view>
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患位置描述</view>
<view slot="value">{{ 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>
<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>
<view slot="title" class="title">隐患发现人</view>
<view slot="value">
{{
hiddenFindPeople
.map((item) => item.userName)
.filter(Boolean)
.join("、") || info.creatorName
}}
</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-group>
</view>
<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">{{ form.hiddenlevelName }}</view>
2023-11-07 10:08:37 +08:00
</u-cell>
<u-cell v-if="majorinforPdf?.[0]">
2023-11-07 10:08:37 +08:00
<view slot="title" class="title">临时处置信息</view>
<view slot="value">
2024-10-10 10:14:31 +08:00
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(majorinforPdf?.[0])"></u-button>
2023-11-07 10:08:37 +08:00
</view>
</u-cell>
<u-cell v-if="supplementPdf?.[0]">
2023-11-07 10:08:37 +08:00
<view slot="title" class="title">补充重大隐患信息</view>
<view slot="value">
2024-10-10 10:14:31 +08:00
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(supplementPdf?.[0])"></u-button>
2023-11-07 10:08:37 +08:00
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">隐患确认人</view>
<view slot="value">{{ form.confirmUserName }}</view>
2023-11-07 10:08:37 +08:00
</u-cell>
<u-cell>
<view slot="title" class="title">隐患确认时间</view>
<view slot="value">{{ form.confirmTime }}</view>
2023-11-07 10:08:37 +08:00
</u-cell>
</u-cell-group>
</view>
<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">{{ form.hiddenlevelName }}</view>
2023-11-07 10:08:37 +08:00
</u-cell>
<u-cell v-if="safetyofficePdf?.[0]">
2023-11-07 10:08:37 +08:00
<view slot="title" class="title">安委会办公室会议记录</view>
<view slot="value">
2024-10-10 10:14:31 +08:00
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(safetyofficePdf?.[0])"></u-button>
2023-11-07 10:08:37 +08:00
</view>
</u-cell>
<u-cell v-if="majorapprovedPdf?.[0]">
2023-11-07 10:08:37 +08:00
<view slot="title" class="title">整改建议及方案</view>
<view slot="value">
2024-10-10 10:14:31 +08:00
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(majorapprovedPdf?.[0])"></u-button>
2023-11-07 10:08:37 +08:00
</view>
</u-cell>
<u-cell>
<view slot="title" class="title">核对结果</view>
<view slot="value">{{ resultslist.checkresults === '2' ? '核对确定' : '' }}</view>
2023-11-07 10:08:37 +08:00
</u-cell>
<u-cell>
<view slot="title" class="title">核实人</view>
<view slot="value">{{ resultslist.checker }}</view>
2023-11-07 10:08:37 +08:00
</u-cell>
<u-cell>
<view slot="title" class="title">核实时间</view>
<view slot="value">{{ resultslist.checkTime }}</view>
2023-11-07 10:08:37 +08:00
</u-cell>
</u-cell-group>
</view>
<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">{{ form.hiddenlevelName }}</view>
2023-11-07 10:08:37 +08:00
</u-cell>
<u-cell>
<view slot="title" class="title">核定人</view>
<view slot="value">{{ resultslist.approved || resultslist.checker }}</view>
2023-11-07 10:08:37 +08:00
</u-cell>
<u-cell>
<view slot="title" class="title">核定时间</view>
<view slot="value">{{ resultslist.approvedTime }}</view>
2023-11-07 10:08:37 +08:00
</u-cell>
<u-cell v-if="reportPdf?.[0]">
2023-11-07 10:08:37 +08:00
<view slot="title" class="title">隐患调查报告</view>
<view slot="value">
2024-10-10 10:14:31 +08:00
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(reportPdf?.[0])"></u-button>
2023-11-07 10:08:37 +08:00
</view>
</u-cell>
<u-cell v-if="resolutionPdf?.[0]">
2023-11-07 10:08:37 +08:00
<view slot="title" class="title">安委会或党委会决议记录</view>
<view slot="value">
2024-10-10 10:14:31 +08:00
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(resolutionPdf?.[0])"></u-button>
2023-11-07 10:08:37 +08:00
</view>
</u-cell>
</u-cell-group>
</view>
<view class="card" v-if="form.state >='14'">
2023-11-07 10:08:37 +08:00
<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">{{ form.rectificationDeptName }}</view>
2023-11-07 10:08:37 +08:00
</u-cell>
<u-cell>
<view slot="title" class="title">整改人</view>
<view slot="value">{{ form.rectificationName }}</view>
2023-11-07 10:08:37 +08:00
</u-cell>
<u-cell v-if="rectificationPdf?.[0]">
2023-11-07 10:08:37 +08:00
<view slot="title" class="title">临时处置措施与隐患整改方案</view>
<view slot="value">
2024-10-10 10:14:31 +08:00
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(rectificationPdf?.[0])"></u-button>
2023-11-07 10:08:37 +08:00
</view>
</u-cell>
<u-cell v-if="processPdf?.[0]">
2023-11-07 10:08:37 +08:00
<view slot="title" class="title">隐患整改过程记录</view>
<view slot="value">
2024-10-10 10:14:31 +08:00
<u-button type="primary" text="下载" size="mini"
@click="downloadAppendix(processPdf?.[0])"></u-button>
2023-11-07 10:08:37 +08:00
</view>
</u-cell>
</u-cell-group>
</view>
<view class="card" v-if="form.state === '15'">
2023-11-07 10:08:37 +08:00
<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">{{ form.acceptName }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">验收时间</view>
<view slot="value">{{ form.CHECKTIME }}</view>
</u-cell>
<u-cell>
<view slot="title" class="title">验收结果</view>
<view slot="value">验收通过</view>
</u-cell>
</u-cell-group>
</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: [],
videoUrl: '',
modalShow: false,
majorinforPdf:{},
supplementPdf:{},
safetyofficePdf:{},
majorapprovedPdf:{},
resultslist:{},
reportPdf:{},
resolutionPdf:{},
rectificationPdf:{},
processPdf:{},
hiddenFindPeople: [],
2023-11-07 10:08:37 +08:00
}
},
onLoad(event) {
this.hiddenId = event.hiddenId;
2023-11-07 10:08:37 +08:00
this.getData()
},
methods: {
async getData() {
let resData = await getHiddenGoEdit({ id: this.hiddenId });
this.form = resData.data;
this.hiddenFindPeople = resData.data?.acceptor;
this.resultslist = resData.data?.major?.[0] || {};
this.majorinforPdf = this.findAPicture(resData.data?.files, 106);
this.majorapprovedPdf = this.findAPicture(resData.data?.files, 107);
this.resolutionPdf = this.findAPicture(resData.data?.files, 109);
this.rectificationPdf = this.findAPicture(resData.data?.files, 110);
this.processPdf = this.findAPicture(resData.data?.files, 111);
this.reportPdf = this.findAPicture(resData.data?.files, 108);
this.supplementPdf = this.findAPicture(resData.data?.files, 112);
this.safetyofficePdf = this.findAPicture(resData.data?.files, 113);
this.hImgs = this.findAPicture(resData.data?.files, 3);
this.videoUrl = this.findAPicture(resData.data?.files, 102)?.[0];
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>
</style>