343 lines
12 KiB
Vue
343 lines
12 KiB
Vue
<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">{{ sourceName }}</view>
|
|
</u-cell>
|
|
<u-cell>
|
|
<view slot="title" class="title">隐患描述</view>
|
|
<view slot="label" class="mt-10">{{ form.hiddendescr }}</view>
|
|
</u-cell>
|
|
<template v-if="form.source === '2'">
|
|
<u-cell>
|
|
<view slot="title" class="title">风险点(单元)</view>
|
|
<view slot="value">{{ form.riskUnit }}</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.riskDescr }}</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.checkContent }}</view>
|
|
</u-cell>
|
|
</template>
|
|
<u-cell>
|
|
<view slot="title" class="title">隐患级别</view>
|
|
<view slot="value">{{ form.hiddenlevelName }}</view>
|
|
</u-cell>
|
|
<u-cell>
|
|
<view slot="title" class="title">隐患状态</view>
|
|
<view slot="value">
|
|
<template>已核定</template>
|
|
</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">{{ form.hiddenpartStr || info.hiddenpart }}</view>
|
|
</u-cell>
|
|
<u-cell>
|
|
<view slot="title" class="title">是否是相关方:</view>
|
|
<view slot="value">{{ form.isrelevant === '1'?'是':'否' }}</view>
|
|
</u-cell>
|
|
<u-cell>
|
|
<view slot="title" class="title">隐患位置描述:</view>
|
|
<view slot="value">{{ form.positiondesc }}</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">
|
|
<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>
|
|
<view slot="title" class="title">隐患发现人</view>
|
|
<view slot="value">
|
|
{{
|
|
hiddenFindPeople
|
|
.map((item) => item.userName)
|
|
.filter(Boolean)
|
|
.join("、") || info.creatorName
|
|
}}
|
|
</view>
|
|
</u-cell>
|
|
<u-cell>
|
|
<view slot="title" class="title">隐患发现时间</view>
|
|
<view slot="value">{{ form.discoverytime }}</view>
|
|
</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>
|
|
</u-cell>
|
|
<u-cell v-if="majorinforPdf">
|
|
<view slot="title" class="title">临时处置信息</view>
|
|
<view slot="value">
|
|
<u-button type="primary" text="下载" size="mini"
|
|
@click="downloadAppendix(majorinforPdf)"></u-button>
|
|
</view>
|
|
</u-cell>
|
|
<u-cell v-if="supplementPdf">
|
|
<view slot="title" class="title">补充重大隐患信息</view>
|
|
<view slot="value">
|
|
<u-button type="primary" text="下载" size="mini"
|
|
@click="downloadAppendix(supplementPdf)"></u-button>
|
|
</view>
|
|
</u-cell>
|
|
<u-cell>
|
|
<view slot="title" class="title">隐患确认人</view>
|
|
<view slot="value">{{ form.confirmUserName }}</view>
|
|
</u-cell>
|
|
<u-cell>
|
|
<view slot="title" class="title">隐患确认时间</view>
|
|
<view slot="value">{{ form.confirmTime }}</view>
|
|
</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>
|
|
</u-cell>
|
|
<u-cell v-if="safetyofficePdf">
|
|
<view slot="title" class="title">安委会办公室会议记录</view>
|
|
<view slot="value">
|
|
<u-button type="primary" text="下载" size="mini"
|
|
@click="downloadAppendix(safetyofficePdf)"></u-button>
|
|
</view>
|
|
</u-cell>
|
|
<u-cell v-if="majorapprovedPdf">
|
|
<view slot="title" class="title">临时处置信息</view>
|
|
<view slot="value">
|
|
<u-button type="primary" text="下载" size="mini"
|
|
@click="downloadAppendix(majorapprovedPdf)"></u-button>
|
|
</view>
|
|
</u-cell>
|
|
<u-cell>
|
|
<view slot="title" class="title">核对结果</view>
|
|
<view slot="value">{{ resultslist.checkresults === '2' ? '核对确定' : '' }}</view>
|
|
</u-cell>
|
|
<u-cell>
|
|
<view slot="title" class="title">核实人</view>
|
|
<view slot="value">{{ resultslist.checker }}</view>
|
|
</u-cell>
|
|
<u-cell>
|
|
<view slot="title" class="title">核实时间</view>
|
|
<view slot="value">{{ resultslist.checkTime }}</view>
|
|
</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>
|
|
</u-cell>
|
|
<u-cell>
|
|
<view slot="title" class="title">核定人</view>
|
|
<view slot="value">{{ resultslist.approved || resultslist.checker }}</view>
|
|
</u-cell>
|
|
<u-cell>
|
|
<view slot="title" class="title">核定时间</view>
|
|
<view slot="value">{{ resultslist.approvedTime }}</view>
|
|
</u-cell>
|
|
<u-cell v-if="reportPdf">
|
|
<view slot="title" class="title">隐患调查报告</view>
|
|
<view slot="value">
|
|
<u-button type="primary" text="下载" size="mini"
|
|
@click="downloadAppendix(reportPdf)"></u-button>
|
|
</view>
|
|
</u-cell>
|
|
<u-cell v-if="resolutionPdf">
|
|
<view slot="title" class="title">安委会或党委会决议记录</view>
|
|
<view slot="value">
|
|
<u-button type="primary" text="下载" size="mini"
|
|
@click="downloadAppendix(resolutionPdf)"></u-button>
|
|
</view>
|
|
</u-cell>
|
|
</u-cell-group>
|
|
</view>
|
|
<view class="card" v-if="form.rectificationName">
|
|
<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>
|
|
</u-cell>
|
|
<u-cell>
|
|
<view slot="title" class="title">整改人</view>
|
|
<view slot="value">{{ form.rectificationName }}</view>
|
|
</u-cell>
|
|
<u-cell v-if="rectificationPdf">
|
|
<view slot="title" class="title">隐患调查报告</view>
|
|
<view slot="value">
|
|
<u-button type="primary" text="下载" size="mini"
|
|
@click="downloadAppendix(rectificationPdf)"></u-button>
|
|
</view>
|
|
</u-cell>
|
|
<u-cell v-if="processPdf">
|
|
<view slot="title" class="title">安委会或党委会决议记录</view>
|
|
<view slot="value">
|
|
<u-button type="primary" text="下载" size="mini"
|
|
@click="downloadAppendix(processPdf)"></u-button>
|
|
</view>
|
|
</u-cell>
|
|
</u-cell-group>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import {getHiddenGoEdit} from "@/api";
|
|
|
|
export default {
|
|
data() {
|
|
return {
|
|
hiddenId: '',
|
|
form: {},
|
|
hImgs: [],
|
|
videoUrl: '',
|
|
modalShow: false,
|
|
majorinforPdf: {},
|
|
supplementPdf: {},
|
|
safetyofficePdf: {},
|
|
majorapprovedPdf: {},
|
|
resultslist: {},
|
|
reportPdf: {},
|
|
resolutionPdf: {},
|
|
rectificationPdf: {},
|
|
processPdf: {},
|
|
hiddenFindPeople: [],
|
|
}
|
|
},
|
|
onLoad(event) {
|
|
this.hiddenId = event.hiddenId;
|
|
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)?.[0];
|
|
this.majorapprovedPdf = this.findAPicture(resData.data?.files, 107)?.[0];
|
|
this.resolutionPdf = this.findAPicture(resData.data?.files, 109)?.[0];
|
|
this.reportPdf = this.findAPicture(resData.data?.files, 108)?.[0];
|
|
this.rectificationPdf = this.findAPicture(resData.data?.files, 110)?.[0];
|
|
this.processPdf = this.findAPicture(resData.data?.files, 111)?.[0];
|
|
this.supplementPdf = this.findAPicture(resData.data?.files, 112)?.[0];
|
|
this.safetyofficePdf = this.findAPicture(resData.data?.files, 113)?.[0];
|
|
this.hImgs = this.findAPicture(resData.data?.files, 3);
|
|
this.videoUrl = this.findAPicture(resData.data?.files, 102)?.[0];
|
|
},
|
|
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,
|
|
});
|
|
},
|
|
});
|
|
},
|
|
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;
|
|
}
|
|
},
|
|
computed: {
|
|
sourceName: function () {
|
|
switch (this.form.source) {
|
|
case '1':
|
|
return '隐患快报';
|
|
case '2':
|
|
return '清单排查';
|
|
case '3':
|
|
return '清单排查';
|
|
case '4':
|
|
return '安全环保检查(监管端)';
|
|
case '5':
|
|
return '安全环保检查(企业端)';
|
|
case '6':
|
|
return '消防检查';
|
|
case '8':
|
|
return '点检隐患';
|
|
default:
|
|
return '';
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped>
|
|
|
|
</style>
|