integrated_traffic_vue/src/views/open_circuit/job_data/view.vue

357 lines
12 KiB
Vue
Raw 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>
<layout-print-table-package :entrance="entrance">
<table>
<thead>
<tr>
<td colspan="10" style="border: none">
<el-divider content-position="left"> 断路安全作业票 </el-divider>
<div class="tr">编号:{{ data.info.CHECK_NO }}</div>
</td>
</tr>
</thead>
<tr>
<td class="title">申请单位</td>
<td>{{ data.info.APPLY_DEPARTMENT_NAME }}</td>
<td class="title">作业单位</td>
<td>{{ data.info.CONSTRUCTION_DEPARTMENT_NAME }}</td>
<td class="title">作业负责人</td>
<td>{{ data.info.CONSTRUCTION_USER_NAME }}</td>
</tr>
<tr>
<td class="title">涉及相关单位部门</td>
<td colspan="3">{{ data.info.OTHER_DEPT }}</td>
<td class="title">监护人</td>
<td>
<div v-if="data.info.GUARDIAN_USER_SIGNER_PATH" class="tr">
<span>签字:</span>
<img
v-viewer
:src="VITE_FILE_URL + data.info.GUARDIAN_USER_SIGNER_PATH"
alt=""
width="100"
height="100"
/>
<span>{{ data.info.GUARDIAN_USER_SIGNER_TIME }}</span>
</div>
</td>
</tr>
<tr>
<td class="title">断路原因</td>
<td colspan="5">{{ data.info.WORK_REASON }}</td>
</tr>
<tr>
<td class="title">关联的其他特殊作业及安全作业票编号</td>
<td colspan="5">{{ data.info.SPECIAL_WORK }}</td>
</tr>
<tr>
<td colspan="6">
<div>
断路地段示意图(可另附图)及相关说明:{{ data.info.WORK_CONTENT }}
</div>
<div
style="
display: flex;
justify-content: space-between;
margin-top: 20px;
"
>
<img
v-viewer
:src="VITE_FILE_URL + data.info.CONTENT_IMG_PATH"
alt=""
width="100"
height="100"
/>
<div>
编制人:
<img
v-viewer
:src="VITE_FILE_URL + data.info.APPLY_USER_SIGNER_PATH"
alt=""
width="100"
height="100"
/>
{{ data.info.APPLY_USER_SIGNER_TIME }}
</div>
</div>
</td>
</tr>
<tr>
<td class="title">风险辨识结果</td>
<td colspan="5">
{{ data.info.HAZARD_IDENTIFICATION?.split(";_;")[0] }}
</td>
</tr>
<tr>
<td class="title">作业实施时间</td>
<td colspan="5">
{{ data.info.WORK_START_DATE }}至{{ data.info.WORK_END_DATE }}止
</td>
</tr>
<tr>
<td colspan="6">
<table>
<tr>
<td style="width: 80px">序号</td>
<td>安全措施</td>
<td style="width: 100px">是否涉及</td>
<td style="width: 100px">确认人</td>
</tr>
<tr v-for="(item, index) in data.measuresList" :key="index">
<td>{{ index + 1 }}</td>
<td>{{ item.PROTECTIVE_MEASURES }}</td>
<td>
<span v-if="item.STATUS === '1'">
<input type="radio" disabled checked />涉&nbsp;&nbsp;&nbsp;及
</span>
<span v-if="item.STATUS === '-1'">
<input type="radio" disabled checked />不涉及
</span>
</td>
<td>
{{ item.CONFIRM_NAME }}
</td>
</tr>
<tr
v-if="
data.info.APPLY_USER_MEASURES ||
data.info.CONSTRUCTION_USER_MEASURES ||
data.info.PRODUCTION_USER_MEASURES ||
data.info.SAFETY_USER_MEASURES ||
data.info.LEADER_USER_MEASURES
"
>
<td>{{ data.measuresList.length + 1 }}</td>
<td colspan="3">
<div
v-if="data.info.APPLY_USER_MEASURES"
style="display: flex; justify-content: space-between"
>
<span>其他安全措施:{{ data.info.APPLY_USER_MEASURES }}</span>
<span>编制人:{{ data.info.APPLY_USER_NAME }}</span>
</div>
<div
v-if="data.info.CONSTRUCTION_USER_MEASURES"
style="
display: flex;
justify-content: space-between;
margin-top: 10px;
"
>
<span>
其他安全措施:{{ data.info.CONSTRUCTION_USER_MEASURES }}
</span>
<span>编制人:{{ data.info.CONSTRUCTION_USER_NAME }}</span>
</div>
<div
v-if="
data.info.PRODUCTION_USER_ID &&
data.info.PRODUCTION_USER_MEASURES
"
style="
display: flex;
justify-content: space-between;
margin-top: 10px;
"
>
<span>
其他安全措施:{{ data.info.PRODUCTION_USER_MEASURES }}
</span>
<span>编制人:{{ data.info.PRODUCTION_USER_NAME }}</span>
</div>
<div
v-if="
data.info.SAFETY_USER_ID && data.info.SAFETY_USER_MEASURES
"
style="
display: flex;
justify-content: space-between;
margin-top: 10px;
"
>
<span>
其他安全措施:{{ data.info.SAFETY_USER_MEASURES }}
</span>
<span>编制人:{{ data.info.SAFETY_USER_NAME }}</span>
</div>
<div
v-if="
data.info.LEADER_USER_ID && data.info.LEADER_USER_MEASURES
"
style="
display: flex;
justify-content: space-between;
margin-top: 10px;
"
>
<span>
其他安全措施:{{ data.info.LEADER_USER_MEASURES }}
</span>
<span>编制人:{{ data.info.LEADER_USER_NAME }}</span>
</div>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="title">安全交底人</td>
<td colspan="10">
<div v-if="data.info.CONFESS_USER_SIGNER_PATH" class="tr">
<span>签字:</span>
<img
v-viewer
:src="VITE_FILE_URL + data.info.CONFESS_USER_SIGNER_PATH"
alt=""
width="100"
height="100"
/>
<span>{{ data.info.CONFESS_USER_SIGNER_TIME }}</span>
</div>
</td>
</tr>
<tr>
<td class="title">接受交底人</td>
<td colspan="10">
<div
v-for="item in data.imgList"
:key="item.ACCEPT_CONFESS_ID"
class="tr"
>
<span>签字:</span>
<img
v-viewer
:src="VITE_FILE_URL + item.ACCEPT_CONFESS_USER_SIGNER_PATH"
alt=""
width="100"
height="100"
/>
<span>{{ item.ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>
</div>
</td>
</tr>
<tr v-if="data.info.CONSTRUCTION_USER_SIGNER_PATH">
<td colspan="6">
<div>作业负责人意见:{{ data.info.CONSTRUCTION_CONTENT }}</div>
<div class="tr">
<span>签字:</span>
<img
v-viewer
:src="VITE_FILE_URL + data.info.CONSTRUCTION_USER_SIGNER_PATH"
alt=""
width="100"
height="100"
/>
<span>{{ data.info.CONSTRUCTION_USER_SIGNER_TIME }}</span>
</div>
</td>
</tr>
<tr v-if="data.info.PRODUCTION_USER_SIGNER_PATH">
<td colspan="6">
<div>所在单位意见:{{ data.info.PRODUCTION_CONTENT }}</div>
<div class="tr">
<span>签字:</span>
<img
v-viewer
:src="VITE_FILE_URL + data.info.PRODUCTION_USER_SIGNER_PATH"
alt=""
width="100"
height="100"
/>
<span>{{ data.info.PRODUCTION_USER_SIGNER_TIME }}</span>
</div>
</td>
</tr>
<tr v-if="data.info.SAFETY_USER_SIGNER_PATH">
<td colspan="6">
<div>消防、安全管理部门意见:{{ data.info.SAFETY_CONTENT }}</div>
<div class="tr">
<span>签字:</span>
<img
v-viewer
:src="VITE_FILE_URL + data.info.SAFETY_USER_SIGNER_PATH"
alt=""
width="100"
height="100"
/>
<span>{{ data.info.SAFETY_USER_SIGNER_TIME }}</span>
</div>
</td>
</tr>
<tr v-if="data.info.LEADER_USER_SIGNER_PATH">
<td colspan="6">
<div>审批部门意见:{{ data.info.LEADER_CONTENT }}</div>
<div class="tr">
<span>签字:</span>
<img
v-viewer
:src="VITE_FILE_URL + data.info.LEADER_USER_SIGNER_PATH"
alt=""
width="100"
height="100"
/>
<span>{{ data.info.LEADER_USER_SIGNER_TIME }}</span>
</div>
</td>
</tr>
<tr v-if="data.imgList1.length > 0">
<td colspan="10">
<div>完工验收:{{ data.info.ACCEPT_CONTENT }}</div>
<div
v-for="item in data.imgList1"
:key="item.ACCEPT_CONFESS_ID"
class="tr"
>
<span>签字:</span>
<img
v-viewer
:src="VITE_FILE_URL + item.ACCEPT_USER_SIGNER_PATH"
alt=""
width="100"
height="100"
/>
<span>{{ item.ACCEPT_USER_SIGNER_TIME }}</span>
</div>
</td>
</tr>
</table>
</layout-print-table-package>
</template>
<script setup>
import LayoutPrintTablePackage from "@/components/print_table_package/index.vue";
import { reactive } from "vue";
import { useRoute } from "vue-router";
import { getOpenCircuitView } from "@/request/open_circuit.js";
const VITE_FILE_URL = import.meta.env.VITE_FILE_URL;
const route = useRoute();
const { CUTROAD_ID, entrance } = route.query;
const data = reactive({
info: {},
imgList: [],
imgList1: [],
measuresList: [],
});
const fnGetData = async () => {
const resData = await getOpenCircuitView({ CUTROAD_ID });
data.info = resData.pd;
data.measuresList = resData.measuresList;
data.imgList = resData.imgList;
data.imgList1 = resData.imgList1;
data.info.APPLY_USER_MEASURES =
data.info.OTHER_PROTECTIVE_MEASURES.split(";_;")[0];
data.info.CONSTRUCTION_USER_MEASURES =
data.info.OTHER_PROTECTIVE_MEASURES.split(";_;")[1];
data.info.PRODUCTION_USER_MEASURES =
data.info.OTHER_PROTECTIVE_MEASURES.split(";_;")[2];
data.info.SAFETY_USER_MEASURES =
data.info.OTHER_PROTECTIVE_MEASURES.split(";_;")[3];
data.info.LEADER_USER_MEASURES =
data.info.OTHER_PROTECTIVE_MEASURES.split(";_;")[4];
};
fnGetData();
</script>
<style scoped lang="scss"></style>