forked from integrated_whb/integrated_whb_vue
Merge remote-tracking branch 'origin/dev' into dev
commit
ecf918bc38
2
.env
2
.env
|
@ -1,4 +1,4 @@
|
||||||
VITE_BASE_URL=http://192.168.0.42:8099/
|
VITE_BASE_URL=http://192.168.0.49:8099/
|
||||||
VITE_PROXY=/api/
|
VITE_PROXY=/api/
|
||||||
VITE_FILE_URL=https://file.zcloudchina.com/YTHFile
|
VITE_FILE_URL=https://file.zcloudchina.com/YTHFile
|
||||||
VITE_TEMPLATE_URL=https://qaaq.qhdsafety.com/file/
|
VITE_TEMPLATE_URL=https://qaaq.qhdsafety.com/file/
|
||||||
|
|
|
@ -289,6 +289,14 @@ export default [
|
||||||
},
|
},
|
||||||
component: "hazard_investigation/inventory_management/print",
|
component: "hazard_investigation/inventory_management/print",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: "/hazard_investigation/inventory_management/print_custom",
|
||||||
|
meta: {
|
||||||
|
title: "打印",
|
||||||
|
activeMenu: "/hazard_investigation/inventory_management",
|
||||||
|
},
|
||||||
|
component: "hazard_investigation/inventory_management/print_custom",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: "/hazard_investigation/inventory_management/part_qr_code",
|
path: "/hazard_investigation/inventory_management/part_qr_code",
|
||||||
meta: {
|
meta: {
|
||||||
|
@ -331,13 +339,12 @@ export default [
|
||||||
component: "hazard_investigation/inventory_management/add",
|
component: "hazard_investigation/inventory_management/add",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/hazard_investigation/inventory_management/check_standard_add",
|
path: "/hazard_investigation/inventory_management/add_custom",
|
||||||
meta: {
|
meta: {
|
||||||
title: "新增",
|
title: "新增",
|
||||||
activeMenu: "/hazard_investigation/inventory_management",
|
activeMenu: "/hazard_investigation/inventory_management",
|
||||||
},
|
},
|
||||||
component:
|
component: "hazard_investigation/inventory_management/add_custom",
|
||||||
"hazard_investigation/inventory_management/check_standard_add",
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/hazard_investigation/inventory_management/edit",
|
path: "/hazard_investigation/inventory_management/edit",
|
||||||
|
@ -347,6 +354,14 @@ export default [
|
||||||
},
|
},
|
||||||
component: "hazard_investigation/inventory_management/add",
|
component: "hazard_investigation/inventory_management/add",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: "/hazard_investigation/inventory_management/edit_custom",
|
||||||
|
meta: {
|
||||||
|
title: "修改",
|
||||||
|
activeMenu: "/hazard_investigation/inventory_management",
|
||||||
|
},
|
||||||
|
component: "hazard_investigation/inventory_management/add_custom",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: "/hazard_investigation/inventory_management/inheritance_list",
|
path: "/hazard_investigation/inventory_management/inheritance_list",
|
||||||
meta: {
|
meta: {
|
||||||
|
@ -394,13 +409,13 @@ export default [
|
||||||
component: "hazard_investigation/inventory_troubleshooting/inspect",
|
component: "hazard_investigation/inventory_troubleshooting/inspect",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/hazard_investigation/inventory_troubleshooting/standard_inspect",
|
path: "/hazard_investigation/inventory_troubleshooting/inspect_custom",
|
||||||
meta: {
|
meta: {
|
||||||
title: "开始检查",
|
title: "开始检查",
|
||||||
activeMenu: "/hazard_investigation/inventory_troubleshooting",
|
activeMenu: "/hazard_investigation/inventory_troubleshooting",
|
||||||
},
|
},
|
||||||
component:
|
component:
|
||||||
"hazard_investigation/inventory_troubleshooting/standard_inspect",
|
"hazard_investigation/inventory_troubleshooting/inspect_custom",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
@ -861,8 +876,22 @@ export default [
|
||||||
title: "查看详情",
|
title: "查看详情",
|
||||||
activeMenu: "/keyprojects/inspection",
|
activeMenu: "/keyprojects/inspection",
|
||||||
},
|
},
|
||||||
|
component: "children",
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: "",
|
||||||
component: "keyprojects/inspection/record_view",
|
component: "keyprojects/inspection/record_view",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: "/keyprojects/inspection/hidden_view",
|
||||||
|
meta: {
|
||||||
|
title: "隐患信息",
|
||||||
|
activeMenu: "/keyprojects/inspection",
|
||||||
|
},
|
||||||
|
component: "keyprojects/inspection/hidden_view",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
@ -933,16 +962,6 @@ export default [
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
|
||||||
path: "/keyprojects/aiwarning",
|
|
||||||
meta: { title: "AI报警", isSubMenu: false },
|
|
||||||
component: "keyprojects/aiwarning/index",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/keyprojects/videomanager",
|
|
||||||
meta: { title: "视频监控", isSubMenu: false },
|
|
||||||
component: "keyprojects/videomanager/index",
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -993,6 +1012,88 @@ export default [
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: "/safety_environmental_management/inspectors_verify_management",
|
||||||
|
meta: { title: "检查人核实管理", isSubMenu: false },
|
||||||
|
component: "children",
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: "",
|
||||||
|
component:
|
||||||
|
"safety_environmental_management/inspectors_verify_management/index",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/safety_environmental_management/inspectors_verify_management/view",
|
||||||
|
meta: {
|
||||||
|
title: "查看",
|
||||||
|
activeMenu:
|
||||||
|
"/safety_environmental_management/inspectors_verify_management",
|
||||||
|
},
|
||||||
|
component:
|
||||||
|
"safety_environmental_management/inspectors_verify_management/view",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/safety_environmental_management/inspected_person_confirm",
|
||||||
|
meta: { title: "被检查人确认", isSubMenu: false },
|
||||||
|
component: "children",
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: "",
|
||||||
|
component:
|
||||||
|
"safety_environmental_management/inspected_person_confirm/index",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/safety_environmental_management/inspected_person_confirm/view",
|
||||||
|
meta: {
|
||||||
|
title: "查看",
|
||||||
|
activeMenu:
|
||||||
|
"/safety_environmental_management/inspected_person_confirm",
|
||||||
|
},
|
||||||
|
component:
|
||||||
|
"safety_environmental_management/inspected_person_confirm/view",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/safety_environmental_management/hazard_assignment_acceptance",
|
||||||
|
meta: { title: "隐患指派与验收", isSubMenu: false },
|
||||||
|
component: "children",
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: "",
|
||||||
|
component:
|
||||||
|
"safety_environmental_management/hazard_assignment_acceptance/index",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/safety_environmental_management/hazard_assignment_acceptance/view",
|
||||||
|
meta: {
|
||||||
|
title: "查看",
|
||||||
|
activeMenu:
|
||||||
|
"/safety_environmental_management/hazard_assignment_acceptance",
|
||||||
|
},
|
||||||
|
component:
|
||||||
|
"safety_environmental_management/hazard_assignment_acceptance/view",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "/safety_environmental_management/hazard_assignment_acceptance/assign",
|
||||||
|
meta: {
|
||||||
|
title: "指派",
|
||||||
|
activeMenu:
|
||||||
|
"/safety_environmental_management/hazard_assignment_acceptance",
|
||||||
|
},
|
||||||
|
component: "children",
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: "",
|
||||||
|
component:
|
||||||
|
"safety_environmental_management/hazard_assignment_acceptance/hidden_list",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -276,6 +276,7 @@ const fnGetData = async () => {
|
||||||
data.info = resData.pd;
|
data.info = resData.pd;
|
||||||
data.hs = resData.hs;
|
data.hs = resData.hs;
|
||||||
data.checkList = resData.checkList;
|
data.checkList = resData.checkList;
|
||||||
|
data.hImgs = [];
|
||||||
for (let i = 0; i < resData.hImgs.length; i++) {
|
for (let i = 0; i < resData.hImgs.length; i++) {
|
||||||
if (getFileSuffix(resData.hImgs[i].FILEPATH) === "mp4") {
|
if (getFileSuffix(resData.hImgs[i].FILEPATH) === "mp4") {
|
||||||
data.videoDialog.src = resData.hImgs[i].FILEPATH;
|
data.videoDialog.src = resData.hImgs[i].FILEPATH;
|
||||||
|
|
|
@ -95,10 +95,15 @@ export const setCheckStandardSupplementaryRecordingSubmit = (params) =>
|
||||||
post("/customCheckrecord/recording", params); // 隐患排查清单检查情况检查记录补录提交
|
post("/customCheckrecord/recording", params); // 隐患排查清单检查情况检查记录补录提交
|
||||||
export const setCheckStandardSubmit = (params) =>
|
export const setCheckStandardSubmit = (params) =>
|
||||||
post("/customCheckrecord/add", params); // 清单排查提交
|
post("/customCheckrecord/add", params); // 清单排查提交
|
||||||
|
|
||||||
export const getDeleteCustomList = (params) => post("/customStop/list", params); // 删除清单管理列表
|
export const getDeleteCustomList = (params) => post("/customStop/list", params); // 删除清单管理列表
|
||||||
export const setDeleteCustomRecovery = (params) =>
|
export const setDeleteCustomRecovery = (params) =>
|
||||||
post("/customStop/restore", params); // 删除清单管理恢复
|
post("/customStop/restore", params); // 删除清单管理恢复
|
||||||
export const setCustomBatchDelete = (params) =>
|
export const setCustomBatchDelete = (params) =>
|
||||||
post("/customStop/deleteAll", params); // 清单管理批量删除
|
post("/customStop/deleteAll", params); // 清单管理批量删除
|
||||||
export const getCustomStopView = (params) => post("/customStop/goEdit", params); // 清单管理查看
|
export const getCustomStopView = (params) => post("/customStop/goEdit", params); // 清单管理查看
|
||||||
|
export const getCustomCheckRecordList = (params) =>
|
||||||
|
post("/customCheckrecord/list", params); // 隐患清单排查列表
|
||||||
|
export const getCustomCheckRecordView = (params) =>
|
||||||
|
post("/customCheckrecord/goEdit", params); // 隐患清单排查查询单个
|
||||||
|
export const setDeleteCustommCheckrecord = (params) =>
|
||||||
|
post("/customCheckrecord/delete", params); // 删除隐患清单排查记录
|
||||||
|
|
|
@ -36,6 +36,8 @@ export const setOutsourcedGoEdit = (params) =>
|
||||||
post("/outsourced/goEdit", params); // 重点工程修改获取
|
post("/outsourced/goEdit", params); // 重点工程修改获取
|
||||||
export const setOutsourcedDelete = (params) =>
|
export const setOutsourcedDelete = (params) =>
|
||||||
post("/outsourced/delete", params); // 重点工程修改获取
|
post("/outsourced/delete", params); // 重点工程修改获取
|
||||||
|
export const getOutsourcedJie = (params) => post("/outsourced/jie", params); // 结束工程
|
||||||
|
export const getOutsourcedStart = (params) => post("/outsourced/start", params); // 结束工程
|
||||||
|
|
||||||
export const getKeyprojectcheckList = (params) =>
|
export const getKeyprojectcheckList = (params) =>
|
||||||
post("/keyprojectcheck/list", params); // 安全环保检查列表
|
post("/keyprojectcheck/list", params); // 安全环保检查列表
|
||||||
|
@ -49,3 +51,5 @@ export const getKeyprojectpunishList = (params) =>
|
||||||
post("/keyprojectpunish/list", params); // 处罚列表
|
post("/keyprojectpunish/list", params); // 处罚列表
|
||||||
export const getKeyprojectpunishGoEdit = (params) =>
|
export const getKeyprojectpunishGoEdit = (params) =>
|
||||||
post("/keyprojectpunish/goEdit", params); // 处罚列表详情
|
post("/keyprojectpunish/goEdit", params); // 处罚列表详情
|
||||||
|
|
||||||
|
export const getCorpinfoListAll = (params) => post("/corpinfo/listAll", params); // 监理单位名称
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { post } from "@/request/axios.js";
|
import { post, upload } from "@/request/axios.js";
|
||||||
|
|
||||||
export const getSafetyEnvironmentalList = (params) =>
|
export const getSafetyEnvironmentalList = (params) =>
|
||||||
post("/safetyenvironmental/list", params); // 安全环保管理列表
|
post("/safetyenvironmental/list", params); // 安全环保管理列表
|
||||||
|
@ -10,7 +10,25 @@ export const setSafetyEnvironmentalDefense = (params) =>
|
||||||
post("/safetyenvironmental/explain", params); // 安全环保管理申辩
|
post("/safetyenvironmental/explain", params); // 安全环保管理申辩
|
||||||
export const setSafetyEnvironmentalAdd = (params) =>
|
export const setSafetyEnvironmentalAdd = (params) =>
|
||||||
post("/safetyenvironmental/add", params); // 安全环保管理新增
|
post("/safetyenvironmental/add", params); // 安全环保管理新增
|
||||||
export const getSafetyEnvironmentalView = (params) =>
|
export const setSafetyEnvironmentalEdit = (params) =>
|
||||||
|
post("/safetyenvironmental/edit", params); // 安全环保管理编辑
|
||||||
|
export const getSafetyEnvironmentalViewInfo = (params) =>
|
||||||
post("/safetyenvironmental/goShow", params); // 安全环保管理查看
|
post("/safetyenvironmental/goShow", params); // 安全环保管理查看
|
||||||
|
export const getSafetyEnvironmentalView = (params) =>
|
||||||
|
post("/safetyenvironmental/goEdit", params); // 安全环保管理查看
|
||||||
export const getSafetyEnvironmentalViewFlowChart = (params) =>
|
export const getSafetyEnvironmentalViewFlowChart = (params) =>
|
||||||
post("/safetyenvironmental/getFlowChart", params); // 安全环保管理查看流程图
|
post("/safetyenvironmental/getFlowChart", params); // 安全环保管理查看流程图
|
||||||
|
export const getInspectorsVerifyManagementList = (params) =>
|
||||||
|
post("/safetyenvironmentalinspector/list", params); // 检查人核实列表
|
||||||
|
export const setInspectorsVerifyManagementVerify = (params) =>
|
||||||
|
post("/safetyenvironmentalinspector/verify", params); // 检查人核实管理核实
|
||||||
|
export const getInspectedPersonConfirmList = (params) =>
|
||||||
|
post("/safetyenvironmentalexplain/list", params); // 被检查人确认列表
|
||||||
|
export const getInspectedPersonConfirmHiddenCount = (params) =>
|
||||||
|
post("/safetyenvironmentalexplain/hiddencount", params); // 被检查人确认获取隐患数量
|
||||||
|
export const setInspectedPersonConfirmSubmit = (params) =>
|
||||||
|
upload("/safetyenvironmentalexplain/add", params); // 被检查人确认提交
|
||||||
|
export const getHazardAssignmentAcceptanceList = (params) =>
|
||||||
|
post("/safetyenvironmental/checkList", params); // 隐患指派与验收列表
|
||||||
|
export const getHazardAssignmentAcceptanceHiddenList = (params) =>
|
||||||
|
post("/hidden/listForAhZp", params); // 隐患指派与验收隐患列表
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<el-divider content-position="left">清单信息</el-divider>
|
<el-divider content-position="left">清单信息</el-divider>
|
||||||
<el-descriptions border :column="2">
|
<el-descriptions border :column="2">
|
||||||
<el-descriptions-item label="清单名称">
|
<el-descriptions-item label="清单名称">
|
||||||
{{ info.LIST_NAME }}
|
{{ info.LIST_NAME ? info.LIST_NAME : info.CUSTOM_NAME }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="排查清单类型">
|
<el-descriptions-item label="排查清单类型">
|
||||||
{{ info.SCREENTYPENAME }}
|
{{ info.SCREENTYPENAME }}
|
||||||
|
@ -66,7 +66,8 @@
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
<el-divider content-position="left">检查内容</el-divider>
|
<el-divider content-position="left">检查内容</el-divider>
|
||||||
<div class="print_no_use">
|
<!--1风险管控清单 -->
|
||||||
|
<div v-if="listType === '1'" class="print_no_use">
|
||||||
<layout-table :data="inspectionList" :show-pagination="false">
|
<layout-table :data="inspectionList" :show-pagination="false">
|
||||||
<el-table-column label="序号" width="70" type="index" />
|
<el-table-column label="序号" width="70" type="index" />
|
||||||
<el-table-column prop="RISKUNITNAME" label="风险点(单元)" />
|
<el-table-column prop="RISKUNITNAME" label="风险点(单元)" />
|
||||||
|
@ -109,7 +110,7 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</layout-table>
|
</layout-table>
|
||||||
</div>
|
</div>
|
||||||
<table class="print_use">
|
<table v-if="listType === '1'" class="print_use">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th width="55">序号</th>
|
<th width="55">序号</th>
|
||||||
|
@ -153,6 +154,97 @@
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
<!--2隐患排查清单 -->
|
||||||
|
<div v-if="listType === '2'" class="print_no_use">
|
||||||
|
<layout-table :data="inspectionList" :show-pagination="false">
|
||||||
|
<el-table-column label="序号" width="70" type="index" />
|
||||||
|
<el-table-column prop="CHECK_CATEGORY_NAME" label="检查类别" />
|
||||||
|
<el-table-column prop="CHECK_ITEM_NAME" label="检查项目" />
|
||||||
|
<el-table-column prop="CHECK_CONTENT" label="检查内容" />
|
||||||
|
<el-table-column prop="CHECK_STANDARD" label="检查标准" />
|
||||||
|
<el-table-column prop="REFERENCE_BASIS" label="参考依据" />
|
||||||
|
<el-table-column prop="CHECK_RESULT" label="检查结果" />
|
||||||
|
<el-table-column label="状态" width="100">
|
||||||
|
<template v-slot="{ row }">
|
||||||
|
<template v-if="row.ISNORMAL === 0">
|
||||||
|
<el-button
|
||||||
|
v-if="row.IMGCOUNT > 0"
|
||||||
|
type="primary"
|
||||||
|
text
|
||||||
|
link
|
||||||
|
@click="entrance && fnQualified(row.RECORDITEM_ID)"
|
||||||
|
>
|
||||||
|
合格
|
||||||
|
</el-button>
|
||||||
|
<div v-else>合格</div>
|
||||||
|
</template>
|
||||||
|
<el-button
|
||||||
|
v-else-if="row.ISNORMAL === 1"
|
||||||
|
type="primary"
|
||||||
|
text
|
||||||
|
link
|
||||||
|
@click="
|
||||||
|
entrance &&
|
||||||
|
router.push({
|
||||||
|
path: hiddenPath[entrance],
|
||||||
|
query: { HIDDEN_ID: row.HIDDEN_ID },
|
||||||
|
})
|
||||||
|
"
|
||||||
|
>
|
||||||
|
不合格
|
||||||
|
</el-button>
|
||||||
|
<div v-else-if="row.ISNORMAL === 2">不涉及</div>
|
||||||
|
<div v-else>存在未整改隐患</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</layout-table>
|
||||||
|
</div>
|
||||||
|
<table v-if="listType === '2'" class="print_use">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th width="55">序号</th>
|
||||||
|
<th width="125">检查类别</th>
|
||||||
|
<th width="100">检查项目</th>
|
||||||
|
<th>检查内容</th>
|
||||||
|
<th width="120">检查标准</th>
|
||||||
|
<th>参考依据</th>
|
||||||
|
<th width="100">检查结果</th>
|
||||||
|
<th>状态</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr v-for="(item, index) in inspectionList" :key="index">
|
||||||
|
<td>{{ index + 1 }}</td>
|
||||||
|
<td>{{ item.CHECK_CATEGORY_NAME }}</td>
|
||||||
|
<td>{{ item.CHECK_ITEM_NAME }}</td>
|
||||||
|
<td>{{ item.CHECK_CONTENT }}</td>
|
||||||
|
<td>{{ item.CHECK_STANDARD }}</td>
|
||||||
|
<td>{{ item.REFERENCE_BASIS }}</td>
|
||||||
|
<td>{{ item.CHECK_RESULT }}</td>
|
||||||
|
<template v-if="item.ISNORMAL === 0">
|
||||||
|
<template v-if="item.IMGCOUNT > 0">
|
||||||
|
<td>
|
||||||
|
<el-button type="primary" text link> 合格 </el-button>
|
||||||
|
</td>
|
||||||
|
</template>
|
||||||
|
<template v-else>
|
||||||
|
<td>合格</td>
|
||||||
|
</template>
|
||||||
|
</template>
|
||||||
|
<template v-else-if="item.ISNORMAL === 1">
|
||||||
|
<td>
|
||||||
|
<el-button type="primary" text link> 不合格 </el-button>
|
||||||
|
</td>
|
||||||
|
</template>
|
||||||
|
<template v-else-if="item.ISNORMAL === 2">
|
||||||
|
<td>不涉及</td>
|
||||||
|
</template>
|
||||||
|
<template v-else>
|
||||||
|
<td>存在未整改隐患</td>
|
||||||
|
</template>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
<el-divider content-position="left">其他隐患</el-divider>
|
<el-divider content-position="left">其他隐患</el-divider>
|
||||||
<div class="print_no_use">
|
<div class="print_no_use">
|
||||||
<layout-table :data="otherHiddenList" :show-pagination="false">
|
<layout-table :data="otherHiddenList" :show-pagination="false">
|
||||||
|
@ -209,6 +301,7 @@ import { useRouter } from "vue-router";
|
||||||
import { reactive, ref } from "vue";
|
import { reactive, ref } from "vue";
|
||||||
import {
|
import {
|
||||||
getChecklistInspectionStatusRecordView,
|
getChecklistInspectionStatusRecordView,
|
||||||
|
getCustomCheckRecordView,
|
||||||
getChecklistInspectionStatusRecordViewOtherHiddenDangerList,
|
getChecklistInspectionStatusRecordViewOtherHiddenDangerList,
|
||||||
} from "@/request/hazard_investigation.js";
|
} from "@/request/hazard_investigation.js";
|
||||||
import { getViewImg } from "@/request/api.js";
|
import { getViewImg } from "@/request/api.js";
|
||||||
|
@ -232,6 +325,11 @@ const props = defineProps({
|
||||||
required: true,
|
required: true,
|
||||||
default: "",
|
default: "",
|
||||||
},
|
},
|
||||||
|
listType: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
default: "",
|
||||||
|
},
|
||||||
});
|
});
|
||||||
const hiddenPath = {
|
const hiddenPath = {
|
||||||
checklist_inspection_status:
|
checklist_inspection_status:
|
||||||
|
@ -251,7 +349,9 @@ const data = reactive({
|
||||||
mapDialogVisible: false,
|
mapDialogVisible: false,
|
||||||
});
|
});
|
||||||
const { list: inspectionList } = useListData(
|
const { list: inspectionList } = useListData(
|
||||||
getChecklistInspectionStatusRecordView,
|
props.listType === 1
|
||||||
|
? getChecklistInspectionStatusRecordView
|
||||||
|
: getCustomCheckRecordView,
|
||||||
{
|
{
|
||||||
otherParams: { CHECKRECORD_ID: props.checkRecordId },
|
otherParams: { CHECKRECORD_ID: props.checkRecordId },
|
||||||
usePagination: false,
|
usePagination: false,
|
||||||
|
|
|
@ -210,7 +210,8 @@
|
||||||
router.push({
|
router.push({
|
||||||
path: '/hazard_investigation/checklist_inspection_status/inspection_record',
|
path: '/hazard_investigation/checklist_inspection_status/inspection_record',
|
||||||
query: {
|
query: {
|
||||||
LISTMANAGER_ID: row.LISTMANAGER_ID,
|
LIST_ID: row.LISTMANAGER_ID,
|
||||||
|
LIST_TYPE: row.list_type,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
"
|
"
|
||||||
|
|
|
@ -86,6 +86,7 @@
|
||||||
path: '/hazard_investigation/checklist_inspection_status/inspection_record/view',
|
path: '/hazard_investigation/checklist_inspection_status/inspection_record/view',
|
||||||
query: {
|
query: {
|
||||||
CHECKRECORD_ID: row.CHECKRECORD_ID,
|
CHECKRECORD_ID: row.CHECKRECORD_ID,
|
||||||
|
LIST_TYPE: LIST_TYPE,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
"
|
"
|
||||||
|
@ -114,7 +115,8 @@
|
||||||
CHECKRECORD_ID: row.CHECKRECORD_ID,
|
CHECKRECORD_ID: row.CHECKRECORD_ID,
|
||||||
DATESTART: row.DATESTART,
|
DATESTART: row.DATESTART,
|
||||||
DATEEND: row.DATEEND,
|
DATEEND: row.DATEEND,
|
||||||
LISTMANAGER_ID,
|
LIST_TYPE: LIST_TYPE,
|
||||||
|
LIST_ID,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
"
|
"
|
||||||
|
@ -136,6 +138,8 @@ import { serialNumber } from "@/assets/js/utils";
|
||||||
import {
|
import {
|
||||||
getChecklistInspectionStatusRecordList,
|
getChecklistInspectionStatusRecordList,
|
||||||
setChecklistInspectionStatusRecordDelete,
|
setChecklistInspectionStatusRecordDelete,
|
||||||
|
setDeleteCustommCheckrecord,
|
||||||
|
getCustomCheckRecordList,
|
||||||
} from "@/request/hazard_investigation.js";
|
} from "@/request/hazard_investigation.js";
|
||||||
import { debounce } from "throttle-debounce";
|
import { debounce } from "throttle-debounce";
|
||||||
import { ElMessage, ElMessageBox } from "element-plus";
|
import { ElMessage, ElMessageBox } from "element-plus";
|
||||||
|
@ -144,15 +148,23 @@ import useListData from "@/assets/js/useListData.js";
|
||||||
|
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const { LISTMANAGER_ID } = route.query;
|
const { LIST_ID, LIST_TYPE } = route.query;
|
||||||
const info = ref({});
|
const info = ref({});
|
||||||
const { list, pagination, searchForm, fnGetData, fnResetPagination } =
|
const { list, pagination, searchForm, fnGetData, fnResetPagination } =
|
||||||
useListData(getChecklistInspectionStatusRecordList, {
|
useListData(
|
||||||
otherParams: { LISTMANAGER_ID },
|
LIST_TYPE === "1"
|
||||||
|
? getChecklistInspectionStatusRecordList
|
||||||
|
: getCustomCheckRecordList,
|
||||||
|
{
|
||||||
|
otherParams:
|
||||||
|
LIST_TYPE === "1"
|
||||||
|
? { LISTMANAGER_ID: LIST_ID }
|
||||||
|
: { CUSTOM_ID: LIST_ID },
|
||||||
callbackFn: (list, resData) => {
|
callbackFn: (list, resData) => {
|
||||||
info.value = resData.ls;
|
info.value = resData.ls;
|
||||||
},
|
},
|
||||||
});
|
}
|
||||||
|
);
|
||||||
const fnGetDataTransfer = () => {
|
const fnGetDataTransfer = () => {
|
||||||
fnGetData({
|
fnGetData({
|
||||||
STARTTIME: searchForm.value.dates?.[0],
|
STARTTIME: searchForm.value.dates?.[0],
|
||||||
|
@ -170,7 +182,9 @@ const fnDelete = debounce(
|
||||||
1000,
|
1000,
|
||||||
async (CHECKRECORD_ID) => {
|
async (CHECKRECORD_ID) => {
|
||||||
await ElMessageBox.confirm("确定要删除吗?", { type: "warning" });
|
await ElMessageBox.confirm("确定要删除吗?", { type: "warning" });
|
||||||
await setChecklistInspectionStatusRecordDelete({ CHECKRECORD_ID });
|
LIST_TYPE === "1"
|
||||||
|
? await setChecklistInspectionStatusRecordDelete({ CHECKRECORD_ID })
|
||||||
|
: await setDeleteCustommCheckrecord({ CHECKRECORD_ID });
|
||||||
ElMessage.success("删除成功");
|
ElMessage.success("删除成功");
|
||||||
fnResetPaginationTransfer();
|
fnResetPaginationTransfer();
|
||||||
},
|
},
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
<inspection-record-view
|
<inspection-record-view
|
||||||
:entrance="entrance"
|
:entrance="entrance"
|
||||||
:check-record-id="CHECKRECORD_ID"
|
:check-record-id="CHECKRECORD_ID"
|
||||||
|
:list-type="LIST_TYPE"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="tc mt-10">
|
<div class="tc mt-10">
|
||||||
|
@ -23,7 +24,7 @@ defineProps({
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const { CHECKRECORD_ID } = route.query;
|
const { CHECKRECORD_ID, LIST_TYPE } = route.query;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss"></style>
|
<style scoped lang="scss"></style>
|
||||||
|
|
|
@ -103,6 +103,7 @@
|
||||||
path: '/hazard_investigation/inspection_record/view',
|
path: '/hazard_investigation/inspection_record/view',
|
||||||
query: {
|
query: {
|
||||||
CHECKRECORD_ID: row.CHECKRECORD_ID,
|
CHECKRECORD_ID: row.CHECKRECORD_ID,
|
||||||
|
LIST_TYPE: row.LIST_TYPE,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
"
|
"
|
||||||
|
@ -114,7 +115,7 @@
|
||||||
type="primary"
|
type="primary"
|
||||||
text
|
text
|
||||||
link
|
link
|
||||||
@click="fnDelete(row.CHECKRECORD_ID)"
|
@click="fnDelete(row.LIST_TYPE, row.CHECKRECORD_ID)"
|
||||||
>
|
>
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
|
@ -132,6 +133,7 @@
|
||||||
DATESTART: row.DATESTART,
|
DATESTART: row.DATESTART,
|
||||||
DATEEND: row.DATEEND,
|
DATEEND: row.DATEEND,
|
||||||
LISTMANAGER_ID: row.LISTMANAGER_ID,
|
LISTMANAGER_ID: row.LISTMANAGER_ID,
|
||||||
|
LIST_TYPE,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
"
|
"
|
||||||
|
@ -153,6 +155,7 @@ import { serialNumber } from "@/assets/js/utils";
|
||||||
import {
|
import {
|
||||||
getInspectionRecordList,
|
getInspectionRecordList,
|
||||||
setChecklistInspectionStatusRecordDelete,
|
setChecklistInspectionStatusRecordDelete,
|
||||||
|
setDeleteCustommCheckrecord,
|
||||||
} from "@/request/hazard_investigation.js";
|
} from "@/request/hazard_investigation.js";
|
||||||
import { debounce } from "throttle-debounce";
|
import { debounce } from "throttle-debounce";
|
||||||
import { ElMessage, ElMessageBox } from "element-plus";
|
import { ElMessage, ElMessageBox } from "element-plus";
|
||||||
|
@ -186,9 +189,11 @@ const fnResetPaginationTransfer = () => {
|
||||||
const buttonJurisdiction = await useButtonJurisdiction("checkrecord");
|
const buttonJurisdiction = await useButtonJurisdiction("checkrecord");
|
||||||
const fnDelete = debounce(
|
const fnDelete = debounce(
|
||||||
1000,
|
1000,
|
||||||
async (CHECKRECORD_ID) => {
|
async (LIST_TYPE, CHECKRECORD_ID) => {
|
||||||
await ElMessageBox.confirm("确定要删除吗?", { type: "warning" });
|
await ElMessageBox.confirm("确定要删除吗?", { type: "warning" });
|
||||||
await setChecklistInspectionStatusRecordDelete({ CHECKRECORD_ID });
|
LIST_TYPE === "1"
|
||||||
|
? await setChecklistInspectionStatusRecordDelete({ CHECKRECORD_ID })
|
||||||
|
: await setDeleteCustommCheckrecord({ CHECKRECORD_ID });
|
||||||
ElMessage.success("删除成功");
|
ElMessage.success("删除成功");
|
||||||
fnResetPaginationTransfer();
|
fnResetPaginationTransfer();
|
||||||
},
|
},
|
||||||
|
|
|
@ -190,7 +190,7 @@ const fnInspect = (ID, LIST_TYPE) => {
|
||||||
path:
|
path:
|
||||||
LIST_TYPE === "1"
|
LIST_TYPE === "1"
|
||||||
? "/hazard_investigation/inventory_troubleshooting/inspect"
|
? "/hazard_investigation/inventory_troubleshooting/inspect"
|
||||||
: "/hazard_investigation/inventory_troubleshooting/standard_inspect",
|
: "/hazard_investigation/inventory_troubleshooting/inspect_custom",
|
||||||
query: { ID },
|
query: { ID },
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
|
@ -244,7 +244,7 @@
|
||||||
v-model:form="data.unQualifiedDialog.form"
|
v-model:form="data.unQualifiedDialog.form"
|
||||||
:type="data.unQualifiedDialog.type"
|
:type="data.unQualifiedDialog.type"
|
||||||
:hidden-type="data.unQualifiedDialog.hiddenType"
|
:hidden-type="data.unQualifiedDialog.hiddenType"
|
||||||
:list-manager-id="LISTMANAGER_ID"
|
:list-manager-id="LIST_ID"
|
||||||
:info="{ ...data.unQualifiedDialog.info, ...info.value }"
|
:info="{ ...data.unQualifiedDialog.info, ...info.value }"
|
||||||
:longitude="data.longitude"
|
:longitude="data.longitude"
|
||||||
:latitude="data.latitude"
|
:latitude="data.latitude"
|
||||||
|
@ -262,6 +262,7 @@ import {
|
||||||
setHiddenDangerDelete,
|
setHiddenDangerDelete,
|
||||||
setInventoryTroubleshootingSubmit,
|
setInventoryTroubleshootingSubmit,
|
||||||
setChecklistInspectionStatusRecordSupplementaryRecordingSubmit,
|
setChecklistInspectionStatusRecordSupplementaryRecordingSubmit,
|
||||||
|
getCheckStandardManagementView,
|
||||||
} from "@/request/hazard_investigation.js";
|
} from "@/request/hazard_investigation.js";
|
||||||
import { useRoute, useRouter } from "vue-router";
|
import { useRoute, useRouter } from "vue-router";
|
||||||
import useListData from "@/assets/js/useListData.js";
|
import useListData from "@/assets/js/useListData.js";
|
||||||
|
@ -283,7 +284,7 @@ import { WarningFilled } from "@element-plus/icons-vue";
|
||||||
|
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const { LISTMANAGER_ID, CHECKRECORD_ID, DATEEND, DATESTART } = route.query;
|
const { LIST_ID, CHECKRECORD_ID, DATEEND, DATESTART, LIST_TYPE } = route.query;
|
||||||
// entrance: supplementaryRecording是补录,空值是正常录入
|
// entrance: supplementaryRecording是补录,空值是正常录入
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
entrance: {
|
entrance: {
|
||||||
|
@ -337,10 +338,16 @@ const data = reactive({
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
const { list: inspectionList } = useListData(getInventoryManagementView, {
|
const { list: inspectionList } = useListData(
|
||||||
otherParams: { LISTMANAGER_ID },
|
LIST_TYPE === "1"
|
||||||
|
? getInventoryManagementView
|
||||||
|
: getCheckStandardManagementView,
|
||||||
|
{
|
||||||
|
otherParams:
|
||||||
|
LIST_TYPE === "1" ? { LISTMANAGER_ID: LIST_ID } : { ID: LIST_ID },
|
||||||
usePagination: false,
|
usePagination: false,
|
||||||
callbackFn: (list, resData) => {
|
callbackFn: (list, resData) => {
|
||||||
|
if (LIST_TYPE === "1") {
|
||||||
for (let i = 0; i < list.length; i++) {
|
for (let i = 0; i < list.length; i++) {
|
||||||
if (list[i].HASHIDDEN <= 0) list[i].ISNORMAL = 0;
|
if (list[i].HASHIDDEN <= 0) list[i].ISNORMAL = 0;
|
||||||
if (list[i].ELECTRONIC_FENCE_ID) {
|
if (list[i].ELECTRONIC_FENCE_ID) {
|
||||||
|
@ -348,13 +355,15 @@ const { list: inspectionList } = useListData(getInventoryManagementView, {
|
||||||
data.canDoCheck = false;
|
data.canDoCheck = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
info.value = resData.pd;
|
info.value = resData.pd;
|
||||||
},
|
},
|
||||||
});
|
}
|
||||||
|
);
|
||||||
const { list: otherHiddenList, fnGetData: fnGetOtherHidden } = useListData(
|
const { list: otherHiddenList, fnGetData: fnGetOtherHidden } = useListData(
|
||||||
getInventoryTroubleshootingOtherHiddenList,
|
getInventoryTroubleshootingOtherHiddenList,
|
||||||
{
|
{
|
||||||
otherParams: { LISTMANAGER_ID },
|
otherParams: { LIST_ID },
|
||||||
usePagination: false,
|
usePagination: false,
|
||||||
key: "hiddenList",
|
key: "hiddenList",
|
||||||
}
|
}
|
||||||
|
@ -501,7 +510,7 @@ const fnSubmit = debounce(
|
||||||
const inspectedList = cloneDeep(data.form.inspectedList);
|
const inspectedList = cloneDeep(data.form.inspectedList);
|
||||||
if (inspectedList.length > 0) inspectedList.splice(0, 1);
|
if (inspectedList.length > 0) inspectedList.splice(0, 1);
|
||||||
const params = {
|
const params = {
|
||||||
LISTMANAGER_ID,
|
LIST_ID,
|
||||||
LIST_NAME: info.value.NAME,
|
LIST_NAME: info.value.NAME,
|
||||||
CHECK_TIME: data.form.CHECK_TIME,
|
CHECK_TIME: data.form.CHECK_TIME,
|
||||||
DESCR: data.form.DESCR,
|
DESCR: data.form.DESCR,
|
||||||
|
|
|
@ -41,14 +41,7 @@
|
||||||
<el-table-column prop="CHECK_ITEM_NAME" label="检查项目" />
|
<el-table-column prop="CHECK_ITEM_NAME" label="检查项目" />
|
||||||
<el-table-column prop="CHECK_CONTENT" label="检查内容" />
|
<el-table-column prop="CHECK_CONTENT" label="检查内容" />
|
||||||
<el-table-column prop="CHECK_STANDARD" label="检查标准" />
|
<el-table-column prop="CHECK_STANDARD" label="检查标准" />
|
||||||
<el-table-column prop="CHECK_QUALIFIED" label="检查合格项" />
|
<el-table-column prop="CHECK_RESULT" label="检查结果" />
|
||||||
<el-table-column prop="CHECK_UNQUALIFIED" label="检查不合格项" />
|
|
||||||
<el-table-column label="操作类型">
|
|
||||||
<template v-slot="{ row }">
|
|
||||||
<span v-if="row.OPERATION_TYPE === 1">选择</span>
|
|
||||||
<span v-if="row.OPERATION_TYPE === 2">填写</span>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="操作" width="280">
|
<el-table-column label="操作" width="280">
|
||||||
<template v-slot="{ row, $index }">
|
<template v-slot="{ row, $index }">
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
|
@ -384,6 +377,7 @@ const fnDisabledDate = (time) => {
|
||||||
else return false;
|
else return false;
|
||||||
};
|
};
|
||||||
const fnQualified = async (index, row) => {
|
const fnQualified = async (index, row) => {
|
||||||
|
row.CHECK_RESULT = row.CHECK_QUALIFIED;
|
||||||
if (row.HASHIDDEN > 0) return;
|
if (row.HASHIDDEN > 0) return;
|
||||||
data.qualifiedDialog.visible = true;
|
data.qualifiedDialog.visible = true;
|
||||||
await nextTick();
|
await nextTick();
|
||||||
|
@ -497,6 +491,7 @@ const fnSubmit = debounce(
|
||||||
item.CUSTOM_ITEM_ID = inspectionList.value[i].CUSTOM_ITEM_ID;
|
item.CUSTOM_ITEM_ID = inspectionList.value[i].CUSTOM_ITEM_ID;
|
||||||
item.ISNORMAL = inspectionList.value[i].ISNORMAL;
|
item.ISNORMAL = inspectionList.value[i].ISNORMAL;
|
||||||
item.RECORDITEM_ID = inspectionList.value[i].RECORDITEM_ID;
|
item.RECORDITEM_ID = inspectionList.value[i].RECORDITEM_ID;
|
||||||
|
item.CHECK_RESULT = inspectionList.value[i].CHECK_RESULT;
|
||||||
items.push(item);
|
items.push(item);
|
||||||
if (inspectionList.value[i].ISNORMAL === 1)
|
if (inspectionList.value[i].ISNORMAL === 1)
|
||||||
ids.push(inspectionList.value[i].HIDDEN_ID);
|
ids.push(inspectionList.value[i].HIDDEN_ID);
|
||||||
|
@ -505,7 +500,7 @@ const fnSubmit = debounce(
|
||||||
if (inspectedList.length > 0) inspectedList.splice(0, 1);
|
if (inspectedList.length > 0) inspectedList.splice(0, 1);
|
||||||
const params = {
|
const params = {
|
||||||
ID,
|
ID,
|
||||||
LIST_NAME: info.value.NAME,
|
CUSTOM_NAME: info.value.NAME,
|
||||||
CHECK_TIME: data.form.CHECK_TIME,
|
CHECK_TIME: data.form.CHECK_TIME,
|
||||||
DESCR: data.form.DESCR,
|
DESCR: data.form.DESCR,
|
||||||
ITEMS: JSON.stringify(items),
|
ITEMS: JSON.stringify(items),
|
|
@ -31,9 +31,9 @@
|
||||||
<el-form-item prop="CHECK_TIME" label="验收时间">
|
<el-form-item prop="CHECK_TIME" label="验收时间">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="data.form.CHECK_TIME"
|
v-model="data.form.CHECK_TIME"
|
||||||
type="date"
|
type="datetime"
|
||||||
value-format="YYYY-MM-DD"
|
value-format="YYYY-MM-DD HH:mm"
|
||||||
format="YYYY-MM-DD"
|
format="YYYY-MM-DD HH:mm"
|
||||||
placeholder="选择日期"
|
placeholder="选择日期"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
|
@ -62,9 +62,9 @@
|
||||||
<el-form-item label="整改时间" prop="RECTIFICATIONTIME">
|
<el-form-item label="整改时间" prop="RECTIFICATIONTIME">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="data.form.RECTIFICATIONTIME"
|
v-model="data.form.RECTIFICATIONTIME"
|
||||||
value-format="YYYY-MM-DD"
|
value-format="YYYY-MM-DD HH:mm"
|
||||||
format="YYYY-MM-DD"
|
format="YYYY-MM-DD HH:mm"
|
||||||
type="date"
|
type="datetime"
|
||||||
placeholder="选择日期"
|
placeholder="选择日期"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
|
@ -1,106 +0,0 @@
|
||||||
<template>
|
|
||||||
<div>
|
|
||||||
<el-card>
|
|
||||||
<el-form
|
|
||||||
:model="searchForm"
|
|
||||||
label-width="100px"
|
|
||||||
@submit.prevent="fnResetPagination"
|
|
||||||
>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="4">
|
|
||||||
<el-form-item label="关键字搜索" prop="KEYWORDS">
|
|
||||||
<el-input v-model="searchForm.KEYWORDS" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="6">
|
|
||||||
<el-form-item label-width="10px">
|
|
||||||
<el-button type="primary" native-type="submit">搜索</el-button>
|
|
||||||
<el-button native-type="reset" @click="fnResetPaginationTransfer">
|
|
||||||
重置
|
|
||||||
</el-button>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
</el-form>
|
|
||||||
</el-card>
|
|
||||||
<layout-card>
|
|
||||||
<layout-table
|
|
||||||
ref="tableRef"
|
|
||||||
:data="list"
|
|
||||||
@get-data="fnGetData"
|
|
||||||
v-model:pagination="pagination"
|
|
||||||
row-key="UNITS_ID"
|
|
||||||
>
|
|
||||||
<el-table-column reserve-selection type="selection" width="55" />
|
|
||||||
<el-table-column label="序号" width="60">
|
|
||||||
<template #default="{ $index }">
|
|
||||||
{{ serialNumber(pagination, $index) }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column prop="CREATOR_CORP_NAME" label="添加单位" />
|
|
||||||
<el-table-column prop="CREATOR_NAME" label="添加人" width="200" />
|
|
||||||
<el-table-column prop="UNITS_NAME" label="单位名称" width="150" />
|
|
||||||
<el-table-column prop="JOBTYPE" label="作业类别" width="100" />
|
|
||||||
<el-table-column prop="OPERATIONITEM" label="操作项目" />
|
|
||||||
<el-table-column prop="NAME" label="姓名" />
|
|
||||||
<el-table-column prop="SEX" label="性别" />
|
|
||||||
<el-table-column prop="CERTIFICATE_NUM" label="作业证书编号" />
|
|
||||||
<el-table-column prop="REVIEWTIME" label="复审时间" />
|
|
||||||
<el-table-column label="操作" align="center" width="120">
|
|
||||||
<template v-slot="{ row }">
|
|
||||||
<el-button
|
|
||||||
type="primary"
|
|
||||||
text
|
|
||||||
link
|
|
||||||
@click="fnView(row.PERSONNELMANAGEMENT_ID)"
|
|
||||||
>
|
|
||||||
查看
|
|
||||||
</el-button>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</layout-table>
|
|
||||||
</layout-card>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup>
|
|
||||||
import useListData from "@/assets/js/useListData";
|
|
||||||
import { serialNumber } from "@/assets/js/utils";
|
|
||||||
import {
|
|
||||||
getPersonnelmanagementList,
|
|
||||||
setPersonnelmanagementGoEdit,
|
|
||||||
} from "@/request/keyprojects.js";
|
|
||||||
import { reactive } from "vue";
|
|
||||||
|
|
||||||
const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } =
|
|
||||||
useListData(getPersonnelmanagementList);
|
|
||||||
const data = reactive({
|
|
||||||
type: "",
|
|
||||||
title: "",
|
|
||||||
editDialog: {
|
|
||||||
visible: false,
|
|
||||||
form: {},
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
const fnGoEdit = async (id) => {
|
|
||||||
const resData = await setPersonnelmanagementGoEdit({
|
|
||||||
PERSONNELMANAGEMENT_ID: id,
|
|
||||||
});
|
|
||||||
data.editDialog.form = resData.pd;
|
|
||||||
};
|
|
||||||
|
|
||||||
const fnResetPaginationTransfer = () => {
|
|
||||||
fnGetData(searchForm);
|
|
||||||
};
|
|
||||||
|
|
||||||
const fnView = async (id) => {
|
|
||||||
data.editDialog.form = {};
|
|
||||||
data.editDialog.visible = true;
|
|
||||||
data.editDialog.type = "view";
|
|
||||||
data.editDialog.title = "查看";
|
|
||||||
fnGoEdit(id);
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped></style>
|
|
|
@ -38,7 +38,14 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="OUTSOURCED_NAME" label="重点工程名称" />
|
<el-table-column prop="OUTSOURCED_NAME" label="重点工程名称" />
|
||||||
<el-table-column prop="DEPARTMENT_NAME" label="监管部门" width="250" />
|
<el-table-column prop="DEPARTMENT_NAME" label="监管部门">
|
||||||
|
<template v-slot="{ row }">
|
||||||
|
<span v-if="row.Q_DEPARTMENT_NAME">
|
||||||
|
{{ row.Q_DEPARTMENT_NAME }}
|
||||||
|
</span>
|
||||||
|
<span v-else>{{ row.DEPARTMENT_NAME }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="MANAGE_CORPS_NAME"
|
prop="MANAGE_CORPS_NAME"
|
||||||
label="监理单位"
|
label="监理单位"
|
||||||
|
|
|
@ -54,10 +54,10 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="隐患来源" width="200">
|
<el-table-column label="隐患来源" width="200">
|
||||||
<template v-slot="{ row }">
|
<template v-slot="{ row }">
|
||||||
<span v-if="row.SOURCE === 1">AI报警</span>
|
<span v-if="row.SOURCE === '1'">AI报警</span>
|
||||||
<span v-if="row.SOURCE === 2">AI报警</span>
|
<span v-if="row.SOURCE === '2'">AI报警</span>
|
||||||
<span v-if="row.SOURCE === 3">安全环保检查(监管端)</span>
|
<span v-if="row.SOURCE === '3'">安全环保检查(监管端)</span>
|
||||||
<span v-if="row.SOURCE === 4">安全环保检查(企业端)</span>
|
<span v-if="row.SOURCE === '5'">安全环保检查(企业端)</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="隐患发现人" width="150">
|
<el-table-column label="隐患发现人" width="150">
|
||||||
|
@ -72,9 +72,9 @@
|
||||||
<el-table-column prop="CHECKTIME" label="验收时间" width="100" />
|
<el-table-column prop="CHECKTIME" label="验收时间" width="100" />
|
||||||
<el-table-column label="隐患状态" width="100">
|
<el-table-column label="隐患状态" width="100">
|
||||||
<template v-slot="{ row }">
|
<template v-slot="{ row }">
|
||||||
<span v-if="row.SOURCE === 1">未整改</span>
|
<span v-if="row.STATE === '1'">未整改</span>
|
||||||
<span v-if="row.SOURCE === 2">已整改</span>
|
<span v-if="row.STATE === '2'">已整改</span>
|
||||||
<span v-if="row.SOURCE === 4">已验收</span>
|
<span v-if="row.STATE === '4'">已验收</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="是否处罚" width="100">
|
<el-table-column label="是否处罚" width="100">
|
||||||
|
|
|
@ -5,7 +5,15 @@
|
||||||
<el-divider content-position="left">检查信息</el-divider>
|
<el-divider content-position="left">检查信息</el-divider>
|
||||||
<el-descriptions border>
|
<el-descriptions border>
|
||||||
<el-descriptions-item label="隐患照片 ">
|
<el-descriptions-item label="隐患照片 ">
|
||||||
{{ data.info.INSPECTION_CATEGORY }}
|
<img
|
||||||
|
v-viewer
|
||||||
|
v-for="item in data.hiddenImgs"
|
||||||
|
:key="item.FILEPATH"
|
||||||
|
:src="item.url"
|
||||||
|
width="100"
|
||||||
|
height="100"
|
||||||
|
class="ml"
|
||||||
|
/>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="隐患描述">
|
<el-descriptions-item label="隐患描述">
|
||||||
{{ data.info.HIDDENDESCR }}
|
{{ data.info.HIDDENDESCR }}
|
||||||
|
@ -32,16 +40,32 @@
|
||||||
{{ data.info.RECTIFICATIONTIME }}
|
{{ data.info.RECTIFICATIONTIME }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="整改照片">
|
<el-descriptions-item label="整改照片">
|
||||||
{{ data.info.RECTIFICATIONTIME }}
|
<img
|
||||||
|
v-viewer
|
||||||
|
v-for="item in data.zgImgs"
|
||||||
|
:key="item.FILEPATH"
|
||||||
|
:src="item.url"
|
||||||
|
width="100"
|
||||||
|
height="100"
|
||||||
|
class="ml"
|
||||||
|
/>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="验收时间">
|
<el-descriptions-item label="验收时间">
|
||||||
{{ data.info.CHECKTIME }}
|
{{ data.info.CHECKTIME }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="验收图片">
|
<el-descriptions-item label="验收图片">
|
||||||
{{ data.info.CHECKTIME }}
|
<img
|
||||||
|
v-viewer
|
||||||
|
v-for="item in data.ysImgs"
|
||||||
|
:key="item.FILEPATH"
|
||||||
|
:src="item.url"
|
||||||
|
width="100"
|
||||||
|
height="100"
|
||||||
|
class="ml"
|
||||||
|
/>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="是否进行罚款">
|
<el-descriptions-item label="是否进行罚款">
|
||||||
{{ pd.ISPUNISH === "1" ? "是" : "否" }}
|
{{ data.info.ISPUNISH === "1" ? "是" : "否" }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
</div>
|
</div>
|
||||||
|
@ -50,6 +74,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
|
import { addingPrefixToFile } from "@/assets/js/utils";
|
||||||
import { getKeyprojectcheckFindHidden } from "@/request/keyprojects";
|
import { getKeyprojectcheckFindHidden } from "@/request/keyprojects";
|
||||||
import { reactive } from "vue";
|
import { reactive } from "vue";
|
||||||
import { useRoute } from "vue-router";
|
import { useRoute } from "vue-router";
|
||||||
|
@ -57,6 +82,9 @@ import { useRoute } from "vue-router";
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const data = reactive({
|
const data = reactive({
|
||||||
info: {},
|
info: {},
|
||||||
|
hiddenImgs: [],
|
||||||
|
ysImgs: [],
|
||||||
|
zgImgs: [],
|
||||||
});
|
});
|
||||||
|
|
||||||
const fnGetData = async () => {
|
const fnGetData = async () => {
|
||||||
|
@ -64,6 +92,10 @@ const fnGetData = async () => {
|
||||||
HIDDEN_ID: route.query.HIDDEN_ID,
|
HIDDEN_ID: route.query.HIDDEN_ID,
|
||||||
});
|
});
|
||||||
data.info = resData.pd;
|
data.info = resData.pd;
|
||||||
|
data.hiddenImgs = addingPrefixToFile(resData.pd.hiddenImgs);
|
||||||
|
data.ysImgs = addingPrefixToFile(resData.pd.ysImgs);
|
||||||
|
data.zgImgs = addingPrefixToFile(resData.pd.zgImgs);
|
||||||
|
|
||||||
};
|
};
|
||||||
fnGetData();
|
fnGetData();
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -0,0 +1,71 @@
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<layout-card>
|
||||||
|
<div id="printContent">
|
||||||
|
<el-divider content-position="left">检查信息</el-divider>
|
||||||
|
<el-descriptions border>
|
||||||
|
<el-descriptions-item label="隐患照片 ">
|
||||||
|
{{ data.info.INSPECTION_CATEGORY }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="隐患描述">
|
||||||
|
{{ data.info.HIDDENDESCR }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="隐患部位 ">
|
||||||
|
{{ data.info.HIDDENPART }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="隐患级别">
|
||||||
|
{{ data.info.HIDDENLEVEL_NAME }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="隐患类型 ">
|
||||||
|
限期整改
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="整改期限">
|
||||||
|
{{ data.info.RECTIFICATIONDEADLINE }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="整改部门 ">
|
||||||
|
{{ data.info.RECTIFICATIONDEPT_NAME }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="整改人">
|
||||||
|
{{ data.info.RECTIFICATIONOR_NAME }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="整改时间">
|
||||||
|
{{ data.info.RECTIFICATIONTIME }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="整改照片">
|
||||||
|
{{ data.info.RECTIFICATIONTIME }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="验收时间">
|
||||||
|
{{ data.info.CHECKTIME }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="验收图片">
|
||||||
|
{{ data.info.CHECKTIME }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="是否进行罚款">
|
||||||
|
{{ data.info.ISPUNISH === "1" ? "是" : "否" }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
</el-descriptions>
|
||||||
|
</div>
|
||||||
|
</layout-card>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { getKeyprojectcheckFindHidden } from "@/request/keyprojects";
|
||||||
|
import { reactive } from "vue";
|
||||||
|
import { useRoute } from "vue-router";
|
||||||
|
|
||||||
|
const route = useRoute();
|
||||||
|
const data = reactive({
|
||||||
|
info: {},
|
||||||
|
});
|
||||||
|
|
||||||
|
const fnGetData = async () => {
|
||||||
|
const resData = await getKeyprojectcheckFindHidden({
|
||||||
|
HIDDEN_ID: route.query.HIDDEN_ID,
|
||||||
|
});
|
||||||
|
data.info = resData.pd;
|
||||||
|
};
|
||||||
|
fnGetData();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss"></style>
|
|
@ -38,7 +38,14 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="OUTSOURCED_NAME" label="重点工程名称" />
|
<el-table-column prop="OUTSOURCED_NAME" label="重点工程名称" />
|
||||||
<el-table-column prop="DEPARTMENT_NAME" label="监管部门" width="200" />
|
<el-table-column prop="DEPARTMENT_NAME" label="监管部门">
|
||||||
|
<template v-slot="{ row }">
|
||||||
|
<span v-if="row.Q_DEPARTMENT_NAME">
|
||||||
|
{{ row.Q_DEPARTMENT_NAME }}
|
||||||
|
</span>
|
||||||
|
<span v-else>{{ row.DEPARTMENT_NAME }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="MANAGE_CORPS_NAME"
|
prop="MANAGE_CORPS_NAME"
|
||||||
label="监理单位"
|
label="监理单位"
|
||||||
|
|
|
@ -38,11 +38,14 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="INSPECTION_PLACE" label="检查场所" />
|
<el-table-column prop="INSPECTION_PLACE" label="检查场所" />
|
||||||
<el-table-column
|
<el-table-column label="检查状态" width="200">
|
||||||
prop="INSPECTION_STATUS"
|
<template v-slot="{ row }">
|
||||||
label="检查状态"
|
<span v-if="row.INSPECTION_STATUS === '-1'">检查人驳回</span>
|
||||||
width="200"
|
<span v-if="row.INSPECTION_STATUS === '0'">待被检查人确认</span>
|
||||||
/>
|
<span v-if="row.INSPECTION_STATUS === '1'">被检查人已确认</span>
|
||||||
|
<span v-if="row.INSPECTION_STATUS === '2'">已归档</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="INSPECTION_TYPE_NAME"
|
prop="INSPECTION_TYPE_NAME"
|
||||||
label="检查类型"
|
label="检查类型"
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<div>
|
<div>
|
||||||
<layout-card>
|
<layout-card>
|
||||||
<div id="printContent">
|
<div id="printContent">
|
||||||
<el-divider content-position="left">检查信息</el-divider>
|
<el-divider content-position="left">隐患信息</el-divider>
|
||||||
<el-descriptions border :column="2">
|
<el-descriptions border :column="2">
|
||||||
<el-descriptions-item label="检查题目 ">
|
<el-descriptions-item label="检查题目 ">
|
||||||
{{ data.info.INSPECTION_CATEGORY }}
|
{{ data.info.INSPECTION_CATEGORY }}
|
||||||
|
@ -47,7 +47,19 @@
|
||||||
<el-table-column prop="HIDDENDESCR" label="隐患描述" />
|
<el-table-column prop="HIDDENDESCR" label="隐患描述" />
|
||||||
<el-table-column label="状态" width="100">
|
<el-table-column label="状态" width="100">
|
||||||
<template v-slot="{ row }">
|
<template v-slot="{ row }">
|
||||||
<el-button type="primary" text link @click="row">
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
text
|
||||||
|
link
|
||||||
|
@click="
|
||||||
|
router.push({
|
||||||
|
path: '/keyprojects/inspection/hidden_view',
|
||||||
|
query: {
|
||||||
|
HIDDEN_ID: row.HIDDEN_ID,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
"
|
||||||
|
>
|
||||||
查看
|
查看
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
@ -62,6 +74,7 @@
|
||||||
import { getKeyprojectcheckGoEdit } from "@/request/keyprojects";
|
import { getKeyprojectcheckGoEdit } from "@/request/keyprojects";
|
||||||
import { reactive } from "vue";
|
import { reactive } from "vue";
|
||||||
import { useRoute } from "vue-router";
|
import { useRoute } from "vue-router";
|
||||||
|
import router from "@/router";
|
||||||
|
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const data = reactive({
|
const data = reactive({
|
||||||
|
|
|
@ -66,7 +66,7 @@
|
||||||
v-model="data.form.UNITS_ID"
|
v-model="data.form.UNITS_ID"
|
||||||
clearable
|
clearable
|
||||||
placeholder="请选择相关方"
|
placeholder="请选择相关方"
|
||||||
@change="fnGetUnitUser"
|
@change="fnGetUnitUser('', '')"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in data.unitsList"
|
v-for="item in data.unitsList"
|
||||||
|
@ -105,10 +105,18 @@
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="监理单位名称">
|
<el-form-item label="监理单位名称">
|
||||||
<el-input
|
<el-select
|
||||||
v-model="data.form.MANAGE_NAME"
|
v-model="data.form.MANAGE_NAME"
|
||||||
placeholder="请输入内容"
|
clearable
|
||||||
|
placeholder="请选择"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in data.mangeList"
|
||||||
|
:key="item.CORPINFO_ID"
|
||||||
|
:label="item.CORP_NAME"
|
||||||
|
:value="item.CORPINFO_ID"
|
||||||
/>
|
/>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
|
@ -126,12 +134,24 @@
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="集团单位">
|
<el-form-item label="集团单位">
|
||||||
<el-input v-model="data.form.GROUP_UNIT" placeholder="请输入内容" />
|
<el-select
|
||||||
|
v-model="data.form.GROUP_UNIT"
|
||||||
|
clearable
|
||||||
|
placeholder="请选择"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in data.groupCorpList"
|
||||||
|
:key="item.CORPINFO_ID"
|
||||||
|
:label="item.CORP_NAME"
|
||||||
|
:value="item.CORPINFO_ID"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="状态" prop="STATE">
|
<el-form-item label="状态" prop="STATE">
|
||||||
<el-select v-model="data.form.STATE" placeholder="请选择状态">
|
<el-select v-model="data.form.STATE" placeholder="请选择">
|
||||||
|
<el-option label="待开始" value="0" />
|
||||||
<el-option label="进行中" value="1" />
|
<el-option label="进行中" value="1" />
|
||||||
<el-option label="已结束" value="2" />
|
<el-option label="已结束" value="2" />
|
||||||
</el-select>
|
</el-select>
|
||||||
|
@ -139,59 +159,63 @@
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="是否发送短信">
|
<el-form-item label="是否发送短信">
|
||||||
<el-input v-model="data.form.IS_SMS" placeholder="请输入内容" />
|
<el-select v-model="data.form.IS_SMS" placeholder="请选择">
|
||||||
|
<el-option label="是" value="0" />
|
||||||
|
<el-option label="否" value="1" />
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="24">
|
||||||
<el-form-item label="安全管理协议(附件)" prop="CONTACTS">
|
<el-form-item label="安全管理协议(附件)" prop="fileList">
|
||||||
<el-input v-model="data.form.CONTACTS" placeholder="请输入内容" />
|
<layout-upload
|
||||||
|
v-model:file-list="data.fileList"
|
||||||
|
accept=".jpg,.jpeg,.png"
|
||||||
|
delete-to-server
|
||||||
|
:limit="9"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-form>
|
|
||||||
<el-divider content-position="left">
|
<el-divider content-position="left"> 处罚相关 </el-divider>
|
||||||
处罚相关
|
<el-row>
|
||||||
<el-button size="small" @click="addInspector"> 添加 </el-button>
|
|
||||||
</el-divider>
|
|
||||||
<template>
|
|
||||||
<template>
|
|
||||||
<template
|
<template
|
||||||
v-for="(item, index) in data.form.acceptanceList"
|
v-for="(item, index) in data.form.acceptanceList"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
>
|
>
|
||||||
<el-col :span="11">
|
<el-col :span="8">
|
||||||
<el-form-item
|
<el-form-item
|
||||||
label="验收部门"
|
label="主管部门"
|
||||||
:prop="'acceptanceList.' + index + '.DEPARTMENT_ID'"
|
:prop="'acceptanceList.' + index + '.INSPECTION_DEPARTMENT_ID'"
|
||||||
:rules="{
|
:rules="{
|
||||||
required: true,
|
required: true,
|
||||||
message: '请选择验收部门',
|
message: '请选择主管部门',
|
||||||
trigger: 'change',
|
trigger: 'change',
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
<layout-department
|
<layout-department
|
||||||
v-model="item.DEPARTMENT_ID"
|
v-model="item.INSPECTION_DEPARTMENT_ID"
|
||||||
@update:model-value="fnInspectDepartmentChange($event, index)"
|
@update:model-value="fnInspectDepartmentChange($event, index)"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="11">
|
<el-col :span="8">
|
||||||
<el-form-item
|
<el-form-item
|
||||||
label="验收人"
|
label="处罚人员"
|
||||||
:prop="'acceptanceList.' + index + '.USER_ID'"
|
:prop="'acceptanceList.' + index + '.INSPECTION_USER_ID'"
|
||||||
:rules="{
|
:rules="{
|
||||||
required: true,
|
required: true,
|
||||||
message: '请选择验收人',
|
message: '请选择处罚人员',
|
||||||
trigger: 'change',
|
trigger: 'change',
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
<el-select
|
<el-select
|
||||||
:model-value="item.USER_ID"
|
:model-value="item.INSPECTION_USER_ID"
|
||||||
@change="
|
@change="
|
||||||
verifyDuplicateSelection(
|
verifyDuplicateSelection(
|
||||||
data.form.acceptanceList,
|
data.form.acceptanceList,
|
||||||
index,
|
index,
|
||||||
'USER_ID',
|
'INSPECTION_USER_ID',
|
||||||
$event
|
$event
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
|
@ -224,8 +248,8 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</template>
|
</template>
|
||||||
</template>
|
</el-row>
|
||||||
</template>
|
</el-form>
|
||||||
<div class="tc mt-10">
|
<div class="tc mt-10">
|
||||||
<el-button type="primary" @click="fnSubmit"> 确定 </el-button>
|
<el-button type="primary" @click="fnSubmit"> 确定 </el-button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -240,6 +264,7 @@ import {
|
||||||
setOutsourcedEdit,
|
setOutsourcedEdit,
|
||||||
setOutsourcedGoEdit,
|
setOutsourcedGoEdit,
|
||||||
setPersonnelmanagementListAll,
|
setPersonnelmanagementListAll,
|
||||||
|
getCorpinfoListAll,
|
||||||
} from "@/request/keyprojects";
|
} from "@/request/keyprojects";
|
||||||
import { ElMessage } from "element-plus";
|
import { ElMessage } from "element-plus";
|
||||||
import { debounce } from "throttle-debounce";
|
import { debounce } from "throttle-debounce";
|
||||||
|
@ -247,6 +272,8 @@ import { reactive, ref } from "vue";
|
||||||
import { useRoute, useRouter } from "vue-router";
|
import { useRoute, useRouter } from "vue-router";
|
||||||
import LayoutDepartment from "@/components/department/index.vue";
|
import LayoutDepartment from "@/components/department/index.vue";
|
||||||
import { getUserListAll } from "@/request/data_dictionary";
|
import { getUserListAll } from "@/request/data_dictionary";
|
||||||
|
import { verifyDuplicateSelection } from "@/assets/js/utils.js";
|
||||||
|
import LayoutUpload from "@/components/upload/index.vue";
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
@ -279,26 +306,26 @@ const data = reactive({
|
||||||
acceptanceList: [
|
acceptanceList: [
|
||||||
{
|
{
|
||||||
id: Math.random(),
|
id: Math.random(),
|
||||||
DEPARTMENT_ID: "",
|
INSPECTION_DEPARTMENT_ID: "",
|
||||||
USER_ID: "",
|
INSPECTION_USER_ID: "",
|
||||||
userList: [],
|
userList: [],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
inspectorList: [
|
fileList: [],
|
||||||
{ INSPECTION_DEPARTMENT_ID: "", INSPECTION_USER_ID: "", USER_SIDE: "" },
|
|
||||||
],
|
|
||||||
INSPECTOR_List: [],
|
INSPECTOR_List: [],
|
||||||
unitsList: [],
|
unitsList: [],
|
||||||
|
groupCorpList: [],
|
||||||
|
mangeList: [],
|
||||||
});
|
});
|
||||||
|
|
||||||
const addInspector = () => {
|
const fnAddInspectedList = () => {
|
||||||
data.inspectorList.push({
|
data.form.acceptanceList.push({
|
||||||
|
id: Math.random(),
|
||||||
INSPECTION_DEPARTMENT_ID: "",
|
INSPECTION_DEPARTMENT_ID: "",
|
||||||
INSPECTION_USER_ID: "",
|
INSPECTION_USER_ID: "",
|
||||||
USER_SIDE: "",
|
userList: [],
|
||||||
});
|
});
|
||||||
data.INSPECTOR_List.push([]);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const fnGetData = async () => {
|
const fnGetData = async () => {
|
||||||
|
@ -307,21 +334,52 @@ const fnGetData = async () => {
|
||||||
});
|
});
|
||||||
data.form = resData.pd;
|
data.form = resData.pd;
|
||||||
data.form.acceptanceList = resData.punishThePerson;
|
data.form.acceptanceList = resData.punishThePerson;
|
||||||
|
data.form.STARTTIME_TIMES = [resData.pd.STARTTIME, resData.pd.ENDTIME];
|
||||||
|
data.form.DEPARTMENT_ID = data.form.DEPARTMENT_ID.split(",");
|
||||||
|
data.form.INVOLVING_CORPS_DEPART_ID =
|
||||||
|
data.form.INVOLVING_CORPS_DEPART_ID.split(",");
|
||||||
|
|
||||||
|
fnGetUnitUser(resData.pd.UNITS_PIC, resData.pd.UNITS_PHONE);
|
||||||
|
for (let index = 0; index < data.form.acceptanceList.length; index++) {
|
||||||
|
const item = data.form.acceptanceList[index];
|
||||||
|
fnInspectDepartmentChange(item.INSPECTION_DEPARTMENT_ID, index);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (let index = 0; index < resData.file9.length; index++) {
|
||||||
|
resData.file9[index].name = resData.file9[index].FILE_NAME;
|
||||||
|
}
|
||||||
|
data.fileList = resData.file9;
|
||||||
};
|
};
|
||||||
if (route.query.type === "edit") fnGetData();
|
if (route.query.type === "edit") fnGetData();
|
||||||
|
|
||||||
|
const fnGetCorpList = async () => {
|
||||||
|
const resData2 = await getCorpinfoListAll({});
|
||||||
|
data.mangeList = resData2.varList;
|
||||||
|
resData2.varList.forEach((item) => {
|
||||||
|
if (
|
||||||
|
item.CORPINFO_ID === "1e6dbbe16004402f8d2c0e52afd9a676" ||
|
||||||
|
item.CORPINFO_ID === "3a854eefa7894e06aaa1a2611bca80f6" ||
|
||||||
|
item.CORPINFO_ID === "020578a4c1f04bc692ee25145c2efbe5" ||
|
||||||
|
item.CORPINFO_ID === "90966974de3c4b83aca6f8fd6432d5c2"
|
||||||
|
) {
|
||||||
|
data.groupCorpList.push(item);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
fnGetCorpList();
|
||||||
|
|
||||||
const fnGetUnitsList = async () => {
|
const fnGetUnitsList = async () => {
|
||||||
const resData = await getUnitsListAll({});
|
const resData = await getUnitsListAll({});
|
||||||
data.unitsList = resData.varList;
|
data.unitsList = resData.varList;
|
||||||
};
|
};
|
||||||
fnGetUnitsList();
|
fnGetUnitsList();
|
||||||
|
|
||||||
const fnGetUnitUser = async () => {
|
const fnGetUnitUser = async (UNITS_PIC, UNITS_PHONE) => {
|
||||||
const resData = await setPersonnelmanagementListAll({
|
const resData = await setPersonnelmanagementListAll({
|
||||||
UNITS_ID: data.form.UNITS_ID,
|
UNITS_ID: data.form.UNITS_ID,
|
||||||
});
|
});
|
||||||
data.form.UNITS_PIC = "";
|
data.form.UNITS_PIC = UNITS_PIC;
|
||||||
data.form.UNITS_PHONE = "";
|
data.form.UNITS_PHONE = UNITS_PHONE;
|
||||||
data.unitsUserList = resData.varList;
|
data.unitsUserList = resData.varList;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -345,6 +403,7 @@ const fnSubmit = debounce(
|
||||||
1000,
|
1000,
|
||||||
async () => {
|
async () => {
|
||||||
await useFormValidate(formRef);
|
await useFormValidate(formRef);
|
||||||
|
|
||||||
const formData = new FormData();
|
const formData = new FormData();
|
||||||
Object.keys(data.form).forEach((key) => {
|
Object.keys(data.form).forEach((key) => {
|
||||||
formData.append(key, data.form[key]);
|
formData.append(key, data.form[key]);
|
||||||
|
@ -353,6 +412,24 @@ const fnSubmit = debounce(
|
||||||
formData.append("STARTTIME", data.form.STARTTIME_TIMES[0]);
|
formData.append("STARTTIME", data.form.STARTTIME_TIMES[0]);
|
||||||
formData.append("ENDTIME", data.form.STARTTIME_TIMES[1]);
|
formData.append("ENDTIME", data.form.STARTTIME_TIMES[1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let PUNISH_THE_PERSON = "";
|
||||||
|
data.form.acceptanceList.forEach((item) => {
|
||||||
|
PUNISH_THE_PERSON = item.INSPECTION_USER_ID + "," + PUNISH_THE_PERSON;
|
||||||
|
});
|
||||||
|
if (PUNISH_THE_PERSON.length > 0) {
|
||||||
|
PUNISH_THE_PERSON = PUNISH_THE_PERSON.substr(
|
||||||
|
0,
|
||||||
|
PUNISH_THE_PERSON.length - 1
|
||||||
|
);
|
||||||
|
}
|
||||||
|
formData.set("PUNISH_THE_PERSON", PUNISH_THE_PERSON);
|
||||||
|
|
||||||
|
for (let index = 0; index < data.fileList.length; index++) {
|
||||||
|
const item = data.fileList[index];
|
||||||
|
formData.append("file9", item.raw);
|
||||||
|
}
|
||||||
|
|
||||||
route.query.type === "edit"
|
route.query.type === "edit"
|
||||||
? await setOutsourcedEdit(formData)
|
? await setOutsourcedEdit(formData)
|
||||||
: await setOutsourcedAdd(formData);
|
: await setOutsourcedAdd(formData);
|
||||||
|
|
|
@ -62,7 +62,7 @@
|
||||||
/>
|
/>
|
||||||
<el-table-column prop="OUTSOURCED_NAME" label="重点工程名称" />
|
<el-table-column prop="OUTSOURCED_NAME" label="重点工程名称" />
|
||||||
<el-table-column prop="UNITS_NAME" label="施工相关方" />
|
<el-table-column prop="UNITS_NAME" label="施工相关方" />
|
||||||
<el-table-column prop="UNITS_NAME" label="辖区单位">
|
<el-table-column label="辖区单位">
|
||||||
<template v-slot="{ row }">
|
<template v-slot="{ row }">
|
||||||
<span v-if="row.JURISDICTION_UNIT_NAME">
|
<span v-if="row.JURISDICTION_UNIT_NAME">
|
||||||
{{ row.JURISDICTION_UNIT_NAME }}
|
{{ row.JURISDICTION_UNIT_NAME }}
|
||||||
|
@ -89,11 +89,12 @@
|
||||||
<el-table-column prop="MANAGE_CORPS_NAME" label="监理单位" />
|
<el-table-column prop="MANAGE_CORPS_NAME" label="监理单位" />
|
||||||
<el-table-column prop="STATE" label="状态">
|
<el-table-column prop="STATE" label="状态">
|
||||||
<template v-slot="{ row }">
|
<template v-slot="{ row }">
|
||||||
|
<span v-if="row.STATE === '0'">未开始</span>
|
||||||
<span v-if="row.STATE === '1'">进行中</span>
|
<span v-if="row.STATE === '1'">进行中</span>
|
||||||
<span v-if="row.STATE === '2'">已结束</span>
|
<span v-if="row.STATE === '2'">已结束</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="OUTSOURCED_CREATOR_NAME" label="创建人" />
|
<el-table-column prop="CREATOR" label="创建人" />
|
||||||
<el-table-column label="操作" align="center" width="200">
|
<el-table-column label="操作" align="center" width="200">
|
||||||
<template v-slot="{ row }">
|
<template v-slot="{ row }">
|
||||||
<el-button
|
<el-button
|
||||||
|
@ -111,9 +112,24 @@
|
||||||
>
|
>
|
||||||
查看
|
查看
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button type="primary" text link v-if="row.STATE === '1'">
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
text
|
||||||
|
link
|
||||||
|
v-if="row.STATE === '1'"
|
||||||
|
@click="fnHandleJie(row.OUTSOURCED_ID)"
|
||||||
|
>
|
||||||
结束
|
结束
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
text
|
||||||
|
link
|
||||||
|
v-if="row.STATE === '0'"
|
||||||
|
@click="fnHandleStart(row.OUTSOURCED_ID)"
|
||||||
|
>
|
||||||
|
审批
|
||||||
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
text
|
text
|
||||||
|
@ -167,10 +183,12 @@ import {
|
||||||
getOutsourcedList,
|
getOutsourcedList,
|
||||||
getUnitsListAll,
|
getUnitsListAll,
|
||||||
setOutsourcedDelete,
|
setOutsourcedDelete,
|
||||||
|
getOutsourcedJie,
|
||||||
|
getOutsourcedStart,
|
||||||
} from "@/request/keyprojects.js";
|
} from "@/request/keyprojects.js";
|
||||||
import { reactive } from "vue";
|
import { reactive } from "vue";
|
||||||
import router from "@/router";
|
import router from "@/router";
|
||||||
import { ElMessageBox } from "element-plus";
|
import { ElMessage, ElMessageBox } from "element-plus";
|
||||||
|
|
||||||
const { list, pagination, searchForm, fnGetData, fnResetPagination } =
|
const { list, pagination, searchForm, fnGetData, fnResetPagination } =
|
||||||
useListData(getOutsourcedList);
|
useListData(getOutsourcedList);
|
||||||
|
@ -194,6 +212,30 @@ const fnHandleDelete = async (OUTSOURCED_ID) => {
|
||||||
type: "warning",
|
type: "warning",
|
||||||
});
|
});
|
||||||
await setOutsourcedDelete({ OUTSOURCED_ID });
|
await setOutsourcedDelete({ OUTSOURCED_ID });
|
||||||
|
ElMessage.success("删除成功");
|
||||||
|
fnGetData();
|
||||||
|
};
|
||||||
|
|
||||||
|
const fnHandleJie = async (OUTSOURCED_ID) => {
|
||||||
|
await ElMessageBox.confirm("确定要结束吗?", {
|
||||||
|
type: "warning",
|
||||||
|
});
|
||||||
|
const resData = await getOutsourcedJie({ OUTSOURCED_ID });
|
||||||
|
if (resData.code === "0") {
|
||||||
|
ElMessage.success("操作成功");
|
||||||
|
} else {
|
||||||
|
ElMessage.warning(resData.message);
|
||||||
|
}
|
||||||
|
fnGetData();
|
||||||
|
};
|
||||||
|
|
||||||
|
const fnHandleStart = async (OUTSOURCED_ID) => {
|
||||||
|
const resData = await getOutsourcedStart({ OUTSOURCED_ID });
|
||||||
|
if (resData.code === "0") {
|
||||||
|
ElMessage.success("审批成功");
|
||||||
|
} else {
|
||||||
|
ElMessage.warning(resData.message);
|
||||||
|
}
|
||||||
fnGetData();
|
fnGetData();
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -27,7 +27,10 @@
|
||||||
{{ data.info.JURISDICTION_UNIT_NAME }}
|
{{ data.info.JURISDICTION_UNIT_NAME }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="企业监督部门">
|
<el-descriptions-item label="企业监督部门">
|
||||||
{{ data.info.DEPARTMENT_NAME }}
|
<span v-if="data.info.Q_COMPETENT_DEPT_NAME">
|
||||||
|
{{ data.info.Q_COMPETENT_DEPT_NAME }}
|
||||||
|
</span>
|
||||||
|
<span v-else>{{ data.info.MANAGER_DEPARTMENT_NAME }}</span>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="企业辖区部门" :span="2">
|
<el-descriptions-item label="企业辖区部门" :span="2">
|
||||||
{{ data.info.INVOLVING_CORPS_DEPART_NAME }}
|
{{ data.info.INVOLVING_CORPS_DEPART_NAME }}
|
||||||
|
@ -63,12 +66,14 @@
|
||||||
{{ data.info.IS_SMS === "0" ? "是" : "否" }}
|
{{ data.info.IS_SMS === "0" ? "是" : "否" }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="状态">
|
<el-descriptions-item label="状态">
|
||||||
{{ data.info.STATE === "1" ? "进行中" : "已结束" }}
|
<span v-if="data.info.STATE === '0'">未开始</span>
|
||||||
|
<span v-if="data.info.STATE === '1'">进行中</span>
|
||||||
|
<span v-if="data.info.STATE === '2'">已结束</span>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
<el-divider content-position="left">处罚相关</el-divider>
|
<el-divider content-position="left">处罚相关</el-divider>
|
||||||
<el-descriptions border :column="2">
|
<el-descriptions border :column="2">
|
||||||
<div v-for="(item, index) in punishThePerson" :key="index">
|
<div v-for="(item, index) in data.punishThePerson" :key="index">
|
||||||
<el-descriptions-item label="处罚人员部门">
|
<el-descriptions-item label="处罚人员部门">
|
||||||
{{ item.punishname }}
|
{{ item.punishname }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
|
|
|
@ -1,12 +1,14 @@
|
||||||
<template>
|
<template>
|
||||||
<el-dialog v-model="visible" :title="title" width="600" :on-close="fnClose">
|
<el-dialog v-model="visible" :title="title" width="600" :on-close="fnClose">
|
||||||
<el-form ref="formRef" :rules="rules" :model="form" label-width="110px">
|
<el-form
|
||||||
<el-form-item label="单位名称" prop="UNITS_ID">
|
ref="formRef"
|
||||||
<el-select
|
:rules="rules"
|
||||||
|
:model="form"
|
||||||
|
label-width="110px"
|
||||||
:disabled="type === 'view'"
|
:disabled="type === 'view'"
|
||||||
v-model="form.UNITS_ID"
|
|
||||||
placeholder="请选择状态"
|
|
||||||
>
|
>
|
||||||
|
<el-form-item label="单位名称" prop="UNITS_ID">
|
||||||
|
<el-select v-model="form.UNITS_ID" placeholder="请选择状态">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in data.unitsnameList"
|
v-for="item in data.unitsnameList"
|
||||||
:key="item.UNITS_ID"
|
:key="item.UNITS_ID"
|
||||||
|
@ -16,11 +18,7 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="作业类别">
|
<el-form-item label="作业类别">
|
||||||
<el-select
|
<el-select v-model="form.JOB_TYPE" placeholder="请选择状态">
|
||||||
:disabled="type === 'view'"
|
|
||||||
v-model="form.JOB_TYPE"
|
|
||||||
placeholder="请选择状态"
|
|
||||||
>
|
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in jobtypeList"
|
v-for="item in jobtypeList"
|
||||||
:key="item.DICTIONARIES_ID"
|
:key="item.DICTIONARIES_ID"
|
||||||
|
@ -30,7 +28,14 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="操作项目">
|
<el-form-item label="操作项目">
|
||||||
<el-input v-model="form.OPERATIONITEM" :disabled="type === 'view'" />
|
<el-select v-model="form.OPERATIONITEM" placeholder="请选择状态">
|
||||||
|
<el-option
|
||||||
|
v-for="item in data.operationitemList"
|
||||||
|
:key="item.DICTIONARIES_ID"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.DICTIONARIES_ID"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="手机号码" prop="PHONENUM">
|
<el-form-item label="手机号码" prop="PHONENUM">
|
||||||
<el-input v-model="form.PHONENUM" :disabled="type === 'view'" />
|
<el-input v-model="form.PHONENUM" :disabled="type === 'view'" />
|
||||||
|
@ -52,7 +57,12 @@
|
||||||
<el-input v-model="form.CERTIFICATE_NUM" :disabled="type === 'view'" />
|
<el-input v-model="form.CERTIFICATE_NUM" :disabled="type === 'view'" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="复审时间">
|
<el-form-item label="复审时间">
|
||||||
<el-input v-model="form.REVIEWTIME" :disabled="type === 'view'" />
|
<el-date-picker
|
||||||
|
v-model="form.REVIEWTIME"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
value-format="YYYY-MM-DD"
|
||||||
|
type="date"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="身份证号码">
|
<el-form-item label="身份证号码">
|
||||||
<el-input v-model="form.IDENTITYCARD" :disabled="type === 'view'" />
|
<el-input v-model="form.IDENTITYCARD" :disabled="type === 'view'" />
|
||||||
|
@ -82,7 +92,7 @@
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { useVModels } from "@vueuse/core";
|
import { useVModels } from "@vueuse/core";
|
||||||
import { reactive, ref } from "vue";
|
import { reactive, ref, watchEffect } from "vue";
|
||||||
import { debounce } from "throttle-debounce";
|
import { debounce } from "throttle-debounce";
|
||||||
import useFormValidate from "@/assets/js/useFormValidate.js";
|
import useFormValidate from "@/assets/js/useFormValidate.js";
|
||||||
import { ElMessage } from "element-plus";
|
import { ElMessage } from "element-plus";
|
||||||
|
@ -92,6 +102,7 @@ import {
|
||||||
setPersonnelmanagementAdd,
|
setPersonnelmanagementAdd,
|
||||||
setPersonnelmanagementEdit,
|
setPersonnelmanagementEdit,
|
||||||
} from "@/request/keyprojects";
|
} from "@/request/keyprojects";
|
||||||
|
import { getLevels } from "@/request/data_dictionary.js";
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
visible: {
|
visible: {
|
||||||
|
@ -132,28 +143,30 @@ const rules = {
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const formRef = ref(null);
|
||||||
const data = reactive({
|
const data = reactive({
|
||||||
unitsnameList: [],
|
unitsnameList: [],
|
||||||
|
operationitemList: [],
|
||||||
});
|
});
|
||||||
|
|
||||||
const formRef = ref(null);
|
|
||||||
|
|
||||||
const fnClose = () => {
|
const fnClose = () => {
|
||||||
formRef.value.resetFields();
|
formRef.value.resetFields();
|
||||||
visible.value = false;
|
visible.value = false;
|
||||||
|
data.operationitemList = [];
|
||||||
};
|
};
|
||||||
|
|
||||||
const fnSubmit = debounce(
|
const fnSubmit = debounce(
|
||||||
1000,
|
1000,
|
||||||
async () => {
|
async () => {
|
||||||
await useFormValidate(formRef);
|
await useFormValidate(formRef);
|
||||||
|
const form = props.form;
|
||||||
if (form.VALID_TIME && form.VALID_TIME.length !== 0) {
|
if (form.VALID_TIME && form.VALID_TIME.length !== 0) {
|
||||||
form.VALID_STIME = form.VALID_TIME[0];
|
form.VALID_STIME = form.VALID_TIME[0];
|
||||||
form.VALID_ETIME = form.VALID_TIME[1];
|
form.VALID_ETIME = form.VALID_TIME[1];
|
||||||
}
|
}
|
||||||
props.type === "add"
|
props.type === "add"
|
||||||
? await setPersonnelmanagementAdd(props.form)
|
? await setPersonnelmanagementAdd(form)
|
||||||
: await setPersonnelmanagementEdit(props.form);
|
: await setPersonnelmanagementEdit(form);
|
||||||
ElMessage.success("提交成功");
|
ElMessage.success("提交成功");
|
||||||
fnClose();
|
fnClose();
|
||||||
emits("get-data");
|
emits("get-data");
|
||||||
|
@ -167,6 +180,15 @@ const fnUnitsListAll = async () => {
|
||||||
data.unitsnameList = resData.varList;
|
data.unitsnameList = resData.varList;
|
||||||
};
|
};
|
||||||
fnUnitsListAll();
|
fnUnitsListAll();
|
||||||
|
|
||||||
|
const fnChangeType = async (DICTIONARIES_ID) => {
|
||||||
|
const resData = await getLevels({ DICTIONARIES_ID });
|
||||||
|
data.operationitemList = resData.list;
|
||||||
|
};
|
||||||
|
|
||||||
|
watchEffect(() => {
|
||||||
|
if (form.value.JOB_TYPE) fnChangeType(form.value.JOB_TYPE);
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss"></style>
|
<style scoped lang="scss"></style>
|
||||||
|
|
|
@ -57,9 +57,14 @@
|
||||||
<el-table-column prop="CREATOR_NAME" label="添加人" width="200" />
|
<el-table-column prop="CREATOR_NAME" label="添加人" width="200" />
|
||||||
<el-table-column prop="UNITS_NAME" label="单位名称" width="150" />
|
<el-table-column prop="UNITS_NAME" label="单位名称" width="150" />
|
||||||
<el-table-column prop="JOBTYPE" label="作业类别" width="100" />
|
<el-table-column prop="JOBTYPE" label="作业类别" width="100" />
|
||||||
<el-table-column prop="OPERATIONITEM" label="操作项目" />
|
<el-table-column prop="OPERATIONITEM_NAME" label="操作项目" />
|
||||||
<el-table-column prop="NAME" label="姓名" />
|
<el-table-column prop="NAME" label="姓名" />
|
||||||
<el-table-column prop="SEX" label="性别" />
|
<el-table-column prop="SEX" label="性别">
|
||||||
|
<template v-slot="{ row }">
|
||||||
|
<span v-if="row.SEX === '0'">男</span>
|
||||||
|
<span v-if="row.SEX === '1'">女</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column prop="CERTIFICATE_NUM" label="作业证书编号" />
|
<el-table-column prop="CERTIFICATE_NUM" label="作业证书编号" />
|
||||||
<el-table-column prop="REVIEWTIME" label="复审时间" />
|
<el-table-column prop="REVIEWTIME" label="复审时间" />
|
||||||
<el-table-column label="操作" align="center" width="240">
|
<el-table-column label="操作" align="center" width="240">
|
||||||
|
@ -183,6 +188,10 @@ const fnGoEdit = async (id) => {
|
||||||
PERSONNELMANAGEMENT_ID: id,
|
PERSONNELMANAGEMENT_ID: id,
|
||||||
});
|
});
|
||||||
data.editDialog.form = resData.pd;
|
data.editDialog.form = resData.pd;
|
||||||
|
data.editDialog.form.VALID_TIME = [
|
||||||
|
resData.pd.VALID_STIME,
|
||||||
|
resData.pd.VALID_ETIME,
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
const fnResetPaginationTransfer = () => {
|
const fnResetPaginationTransfer = () => {
|
||||||
|
|
|
@ -38,7 +38,14 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="OUTSOURCED_NAME" label="重点工程名称" />
|
<el-table-column prop="OUTSOURCED_NAME" label="重点工程名称" />
|
||||||
<el-table-column prop="DEPARTMENT_NAME" label="监管部门" width="200" />
|
<el-table-column prop="DEPARTMENT_NAME" label="监管部门">
|
||||||
|
<template v-slot="{ row }">
|
||||||
|
<span v-if="row.Q_DEPARTMENT_NAME">
|
||||||
|
{{ row.Q_DEPARTMENT_NAME }}
|
||||||
|
</span>
|
||||||
|
<span v-else>{{ row.DEPARTMENT_NAME }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="MANAGE_CORPS_NAME"
|
prop="MANAGE_CORPS_NAME"
|
||||||
label="监理单位"
|
label="监理单位"
|
||||||
|
|
|
@ -47,7 +47,7 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="OUTSOURCED_NAME" label="重点工程名称" />
|
<el-table-column prop="OUTSOURCED_NAME" label="重点工程名称" />
|
||||||
<el-table-column prop="REASON" label="处罚原因" width="200" />
|
<el-table-column prop="REASON" label="处罚原因" width="200" />
|
||||||
<el-table-column prop="CREATOR_NAME" label="下发人" width="150" />
|
<el-table-column prop="CREATOR_NAMES" label="下发人" width="150" />
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="OUTSOURCED_NAME"
|
prop="OUTSOURCED_NAME"
|
||||||
label="被处罚单位"
|
label="被处罚单位"
|
||||||
|
@ -67,7 +67,7 @@
|
||||||
link
|
link
|
||||||
@click="
|
@click="
|
||||||
router.push({
|
router.push({
|
||||||
path: '/keyprojects/inspection/record_view',
|
path: '/keyprojects/punish/record_view',
|
||||||
query: {
|
query: {
|
||||||
KEYPROJECTPUNISH_ID: row.KEYPROJECTPUNISH_ID,
|
KEYPROJECTPUNISH_ID: row.KEYPROJECTPUNISH_ID,
|
||||||
},
|
},
|
||||||
|
|
|
@ -23,7 +23,13 @@
|
||||||
{{ data.info.DATE }}
|
{{ data.info.DATE }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="罚款缴纳单 ">
|
<el-descriptions-item label="罚款缴纳单 ">
|
||||||
{{ data.info.INSPECTION_TIME_START }}
|
<img
|
||||||
|
v-viewer
|
||||||
|
:src="FILE_URL + data.info.HANDLE_IMG"
|
||||||
|
width="100"
|
||||||
|
height="100"
|
||||||
|
class="ml"
|
||||||
|
/>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="处罚处理人">
|
<el-descriptions-item label="处罚处理人">
|
||||||
{{ data.info.PERSON_NAME }}
|
{{ data.info.PERSON_NAME }}
|
||||||
|
@ -42,6 +48,7 @@ import { getKeyprojectpunishGoEdit } from "@/request/keyprojects";
|
||||||
import { reactive } from "vue";
|
import { reactive } from "vue";
|
||||||
import { useRoute } from "vue-router";
|
import { useRoute } from "vue-router";
|
||||||
|
|
||||||
|
const FILE_URL = import.meta.env.VITE_FILE_URL;
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const data = reactive({
|
const data = reactive({
|
||||||
info: {},
|
info: {},
|
||||||
|
|
|
@ -1,106 +0,0 @@
|
||||||
<template>
|
|
||||||
<div>
|
|
||||||
<el-card>
|
|
||||||
<el-form
|
|
||||||
:model="searchForm"
|
|
||||||
label-width="100px"
|
|
||||||
@submit.prevent="fnResetPagination"
|
|
||||||
>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="4">
|
|
||||||
<el-form-item label="关键字搜索" prop="KEYWORDS">
|
|
||||||
<el-input v-model="searchForm.KEYWORDS" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="6">
|
|
||||||
<el-form-item label-width="10px">
|
|
||||||
<el-button type="primary" native-type="submit">搜索</el-button>
|
|
||||||
<el-button native-type="reset" @click="fnResetPaginationTransfer">
|
|
||||||
重置
|
|
||||||
</el-button>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
</el-form>
|
|
||||||
</el-card>
|
|
||||||
<layout-card>
|
|
||||||
<layout-table
|
|
||||||
ref="tableRef"
|
|
||||||
:data="list"
|
|
||||||
@get-data="fnGetData"
|
|
||||||
v-model:pagination="pagination"
|
|
||||||
row-key="UNITS_ID"
|
|
||||||
>
|
|
||||||
<el-table-column reserve-selection type="selection" width="55" />
|
|
||||||
<el-table-column label="序号" width="60">
|
|
||||||
<template #default="{ $index }">
|
|
||||||
{{ serialNumber(pagination, $index) }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column prop="CREATOR_CORP_NAME" label="添加单位" />
|
|
||||||
<el-table-column prop="CREATOR_NAME" label="添加人" width="200" />
|
|
||||||
<el-table-column prop="UNITS_NAME" label="单位名称" width="150" />
|
|
||||||
<el-table-column prop="JOBTYPE" label="作业类别" width="100" />
|
|
||||||
<el-table-column prop="OPERATIONITEM" label="操作项目" />
|
|
||||||
<el-table-column prop="NAME" label="姓名" />
|
|
||||||
<el-table-column prop="SEX" label="性别" />
|
|
||||||
<el-table-column prop="CERTIFICATE_NUM" label="作业证书编号" />
|
|
||||||
<el-table-column prop="REVIEWTIME" label="复审时间" />
|
|
||||||
<el-table-column label="操作" align="center" width="120">
|
|
||||||
<template v-slot="{ row }">
|
|
||||||
<el-button
|
|
||||||
type="primary"
|
|
||||||
text
|
|
||||||
link
|
|
||||||
@click="fnView(row.PERSONNELMANAGEMENT_ID)"
|
|
||||||
>
|
|
||||||
查看
|
|
||||||
</el-button>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</layout-table>
|
|
||||||
</layout-card>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup>
|
|
||||||
import useListData from "@/assets/js/useListData";
|
|
||||||
import { serialNumber } from "@/assets/js/utils";
|
|
||||||
import {
|
|
||||||
getPersonnelmanagementList,
|
|
||||||
setPersonnelmanagementGoEdit,
|
|
||||||
} from "@/request/keyprojects.js";
|
|
||||||
import { reactive } from "vue";
|
|
||||||
|
|
||||||
const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } =
|
|
||||||
useListData(getPersonnelmanagementList);
|
|
||||||
const data = reactive({
|
|
||||||
type: "",
|
|
||||||
title: "",
|
|
||||||
editDialog: {
|
|
||||||
visible: false,
|
|
||||||
form: {},
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
const fnGoEdit = async (id) => {
|
|
||||||
const resData = await setPersonnelmanagementGoEdit({
|
|
||||||
PERSONNELMANAGEMENT_ID: id,
|
|
||||||
});
|
|
||||||
data.editDialog.form = resData.pd;
|
|
||||||
};
|
|
||||||
|
|
||||||
const fnResetPaginationTransfer = () => {
|
|
||||||
fnGetData(searchForm);
|
|
||||||
};
|
|
||||||
|
|
||||||
const fnView = async (id) => {
|
|
||||||
data.editDialog.form = {};
|
|
||||||
data.editDialog.visible = true;
|
|
||||||
data.editDialog.type = "view";
|
|
||||||
data.editDialog.title = "查看";
|
|
||||||
fnGoEdit(id);
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped></style>
|
|
|
@ -0,0 +1,97 @@
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<layout-card>
|
||||||
|
<layout-table
|
||||||
|
:data="list"
|
||||||
|
@get-data="fnGetData"
|
||||||
|
v-model:pagination="pagination"
|
||||||
|
>
|
||||||
|
<el-table-column label="序号" width="60">
|
||||||
|
<template #default="{ $index }">
|
||||||
|
{{ serialNumber(pagination, $index) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="HIDDENDESCR" label="隐患描述" />
|
||||||
|
<el-table-column label="隐患状态">
|
||||||
|
<template v-slot="{ row }">
|
||||||
|
{{ translationStatus(row.HIDDEN_STATUS, stateList) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" width="120">
|
||||||
|
<template #default="{ row }">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
text
|
||||||
|
link
|
||||||
|
@click="
|
||||||
|
router.push({
|
||||||
|
path: '/safety_environmental_management/hazard_assignment_acceptance/view',
|
||||||
|
query: { INSPECTION_ID: row.INSPECTION_ID },
|
||||||
|
})
|
||||||
|
"
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
v-if="
|
||||||
|
row.INSPECTED_SITEUSER_ID === USER_ID &&
|
||||||
|
(row.HIDDEN_STATUS === '101' || row.HIDDEN_STATUS === '16')
|
||||||
|
"
|
||||||
|
type="primary"
|
||||||
|
text
|
||||||
|
link
|
||||||
|
@click="goAssign(row, '-2')"
|
||||||
|
>
|
||||||
|
指派
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
v-if="
|
||||||
|
row.CREATOR === USER_ID &&
|
||||||
|
(row.HIDDEN_STATUS === '4' || row.HIDDEN_STATUS === '8') &&
|
||||||
|
(!row.FINAL_CHECK || row.FINAL_CHECK === '2')
|
||||||
|
"
|
||||||
|
type="primary"
|
||||||
|
text
|
||||||
|
link
|
||||||
|
@click="goAccept(row)"
|
||||||
|
>
|
||||||
|
验收
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</layout-table>
|
||||||
|
</layout-card>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { useRoute, useRouter } from "vue-router";
|
||||||
|
import { serialNumber, translationStatus } from "@/assets/js/utils";
|
||||||
|
import useListData from "@/assets/js/useListData.js";
|
||||||
|
import { getHazardAssignmentAcceptanceHiddenList } from "@/request/safety_environmental_management.js";
|
||||||
|
import { useUserStore } from "@/pinia/user.js";
|
||||||
|
|
||||||
|
const stateList = [
|
||||||
|
{ ID: "101", NAME: "待整改" },
|
||||||
|
{ ID: "1", NAME: "待整改" },
|
||||||
|
{ ID: "2", NAME: "待验收" },
|
||||||
|
{ ID: "10", NAME: "验收打回" },
|
||||||
|
{ ID: "4", NAME: "已验收" },
|
||||||
|
{ ID: "-2", NAME: "已指派确认人" },
|
||||||
|
{ ID: "8", NAME: "特殊处置通过" },
|
||||||
|
{ ID: "16", NAME: "确认打回" },
|
||||||
|
];
|
||||||
|
const router = useRouter();
|
||||||
|
const route = useRoute();
|
||||||
|
const { INSPECTION_ID } = route.query;
|
||||||
|
const userStore = useUserStore();
|
||||||
|
const USER_ID = userStore.getUserInfo.USER_ID;
|
||||||
|
const { list, pagination, fnGetData } = useListData(
|
||||||
|
getHazardAssignmentAcceptanceHiddenList,
|
||||||
|
{
|
||||||
|
otherParams: { INSPECTION_ID },
|
||||||
|
}
|
||||||
|
);
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped></style>
|
|
@ -0,0 +1,225 @@
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-card>
|
||||||
|
<el-form
|
||||||
|
:model="searchForm"
|
||||||
|
label-width="100px"
|
||||||
|
@submit.prevent="fnResetPaginationTransfer"
|
||||||
|
>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="4">
|
||||||
|
<el-form-item label="被检查单位" prop="INSPECTED_DEPARTMENT_ID">
|
||||||
|
<layout-department v-model="searchForm.INSPECTED_DEPARTMENT_ID" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="4">
|
||||||
|
<el-form-item label="检查部门" prop="INSPECTION_DEPARTMENT_ID">
|
||||||
|
<layout-department
|
||||||
|
v-model="searchForm.INSPECTION_DEPARTMENT_ID"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="4">
|
||||||
|
<el-form-item label="检查发起人" prop="INSPECTION_ORIGINATOR_NAME">
|
||||||
|
<el-input v-model="searchForm.INSPECTION_ORIGINATOR_NAME" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="4">
|
||||||
|
<el-form-item label="检查类型" prop="INSPECTION_TYPE">
|
||||||
|
<layout-inspection-type v-model="searchForm.INSPECTION_TYPE" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="检查时间" prop="dates">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="searchForm.dates"
|
||||||
|
type="daterange"
|
||||||
|
value-format="YYYY-MM-DD"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
range-separator="至"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="4">
|
||||||
|
<el-form-item label="检查状态" prop="INSPECTION_STATUS">
|
||||||
|
<el-select v-model="searchForm.INSPECTION_STATUS">
|
||||||
|
<el-option
|
||||||
|
v-for="item in stateList"
|
||||||
|
:key="item.ID"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.ID"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="4">
|
||||||
|
<el-form-item label="检查题目" prop="INSPECTION_SUBJECT">
|
||||||
|
<el-select v-model="searchForm.INSPECTION_SUBJECT">
|
||||||
|
<el-option
|
||||||
|
v-for="item in inspectionQuestionList"
|
||||||
|
:key="item.ID"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.ID"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label-width="10px">
|
||||||
|
<el-button type="primary" native-type="submit">搜索</el-button>
|
||||||
|
<el-button native-type="reset" @click="fnResetPaginationTransfer">
|
||||||
|
重置
|
||||||
|
</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
</el-card>
|
||||||
|
<layout-card>
|
||||||
|
<layout-table
|
||||||
|
:data="list"
|
||||||
|
@get-data="fnGetDataTransfer"
|
||||||
|
v-model:pagination="pagination"
|
||||||
|
>
|
||||||
|
<el-table-column label="序号" width="60">
|
||||||
|
<template #default="{ $index }">
|
||||||
|
{{ serialNumber(pagination, $index) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="INSPECTED_DEPARTMENT_NAMES" label="被检查单位" />
|
||||||
|
<el-table-column
|
||||||
|
prop="INSPECTED_SITEUSER_NAME"
|
||||||
|
label="被检查单位现场负责人"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="INSPECTION_DEPARTMENT_NAME" label="检查部门" />
|
||||||
|
<el-table-column
|
||||||
|
prop="INSPECTION_ORIGINATOR_NAME"
|
||||||
|
label="检查发起人"
|
||||||
|
width="120"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="INSPECTION_TYPE_NAME" label="检查类型" />
|
||||||
|
<el-table-column label="检查时间" width="270">
|
||||||
|
<template v-slot="{ row }">
|
||||||
|
<span>
|
||||||
|
自 {{ row.INSPECTION_TIME_START }} 至
|
||||||
|
{{ row.INSPECTION_TIME_END }} 止
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="状态" width="120">
|
||||||
|
<template v-slot="{ row }">
|
||||||
|
{{ translationStatus(row.INSPECTION_STATUS, stateList) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="INSPECTION_SUBJECT" label="检查题目" />
|
||||||
|
<el-table-column label="操作" width="120">
|
||||||
|
<template #default="{ row }">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
text
|
||||||
|
link
|
||||||
|
@click="
|
||||||
|
router.push({
|
||||||
|
path: '/safety_environmental_management/hazard_assignment_acceptance/view',
|
||||||
|
query: { INSPECTION_ID: row.INSPECTION_ID },
|
||||||
|
})
|
||||||
|
"
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
v-if="
|
||||||
|
(row.INSPECTION_STATUS === '3' ||
|
||||||
|
row.INSPECTION_STATUS === '4') &&
|
||||||
|
row.INSPECTED_SITEUSER_ID.includes(USER_ID)
|
||||||
|
"
|
||||||
|
type="primary"
|
||||||
|
text
|
||||||
|
link
|
||||||
|
@click="
|
||||||
|
router.push({
|
||||||
|
path: '/safety_environmental_management/hazard_assignment_acceptance/assign',
|
||||||
|
query: { INSPECTION_ID: row.INSPECTION_ID },
|
||||||
|
})
|
||||||
|
"
|
||||||
|
>
|
||||||
|
指派
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
v-if="
|
||||||
|
(row.INSPECTION_STATUS === '6' ||
|
||||||
|
row.INSPECTION_STATUS === '5' ||
|
||||||
|
row.INSPECTION_STATUS === '7') &&
|
||||||
|
row.checkout === 1
|
||||||
|
"
|
||||||
|
type="primary"
|
||||||
|
text
|
||||||
|
link
|
||||||
|
@click="
|
||||||
|
router.push({
|
||||||
|
path: '/safety_environmental_management/hazard_assignment_acceptance/acceptance',
|
||||||
|
query: { INSPECTION_ID: row.INSPECTION_ID },
|
||||||
|
})
|
||||||
|
"
|
||||||
|
>
|
||||||
|
验收
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</layout-table>
|
||||||
|
</layout-card>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { useRouter } from "vue-router";
|
||||||
|
import { serialNumber, translationStatus } from "@/assets/js/utils";
|
||||||
|
import useListData from "@/assets/js/useListData.js";
|
||||||
|
import LayoutDepartment from "@/components/department/index.vue";
|
||||||
|
import LayoutInspectionType from "@/components/inspection_type/index.vue";
|
||||||
|
import { getHazardAssignmentAcceptanceList } from "@/request/safety_environmental_management.js";
|
||||||
|
import { useUserStore } from "@/pinia/user.js";
|
||||||
|
|
||||||
|
const stateList = [
|
||||||
|
{ ID: "0", NAME: "待检查人核实" },
|
||||||
|
{ ID: "1", NAME: "检查人核实中" },
|
||||||
|
{ ID: "2", NAME: "待被检查人确认" },
|
||||||
|
{ ID: "3", NAME: "待指派整改人" },
|
||||||
|
{ ID: "4", NAME: "指派中" },
|
||||||
|
{ ID: "5", NAME: "指派完成" },
|
||||||
|
{ ID: "6", NAME: "检查待验收" },
|
||||||
|
{ ID: "7", NAME: "检查已验收" },
|
||||||
|
{ ID: "8", NAME: "已归档" },
|
||||||
|
{ ID: "-1", NAME: "检查人核实打回" },
|
||||||
|
{ ID: "-2", NAME: "被检查人申辩" },
|
||||||
|
];
|
||||||
|
const inspectionQuestionList = [
|
||||||
|
{ ID: "安全", NAME: "安全" },
|
||||||
|
{ ID: "环保", NAME: "环保" },
|
||||||
|
{ ID: "综合", NAME: "综合" },
|
||||||
|
];
|
||||||
|
const router = useRouter();
|
||||||
|
const userStore = useUserStore();
|
||||||
|
const USER_ID = userStore.getUserInfo.USER_ID;
|
||||||
|
const { list, pagination, searchForm, fnGetData, fnResetPagination } =
|
||||||
|
useListData(getHazardAssignmentAcceptanceList, {
|
||||||
|
otherParams: {
|
||||||
|
ARCHIVE_USER_ID: USER_ID,
|
||||||
|
INSPECTION_STATUS: "3-7",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
const fnGetDataTransfer = () => {
|
||||||
|
fnGetData({
|
||||||
|
INSPECTION_TIME_START: searchForm.value.dates?.[0],
|
||||||
|
INSPECTION_TIME_END: searchForm.value.dates?.[1],
|
||||||
|
});
|
||||||
|
};
|
||||||
|
const fnResetPaginationTransfer = () => {
|
||||||
|
fnResetPagination({
|
||||||
|
INSPECTION_TIME_START: searchForm.value.dates?.[0],
|
||||||
|
INSPECTION_TIME_END: searchForm.value.dates?.[1],
|
||||||
|
});
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped></style>
|
|
@ -0,0 +1,9 @@
|
||||||
|
<template>
|
||||||
|
<view-info />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import ViewInfo from "../safety_environmental/view.vue";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,116 @@
|
||||||
|
<template>
|
||||||
|
<el-dialog v-model="visible" title="检查确认" :on-close="fnClose">
|
||||||
|
<el-form ref="formRef" :rules="rules" :model="form" label-width="110px">
|
||||||
|
<el-form-item label="是否申辩" prop="INSPECTION_STATUS">
|
||||||
|
<el-radio v-model="form.INSPECTION_STATUS" label="3">否</el-radio>
|
||||||
|
<el-radio
|
||||||
|
v-if="hiddenCount === 1"
|
||||||
|
v-model="form.INSPECTION_STATUS"
|
||||||
|
label="-2"
|
||||||
|
>
|
||||||
|
是
|
||||||
|
</el-radio>
|
||||||
|
</el-form-item>
|
||||||
|
<template v-if="form.INSPECTION_STATUS === '-2'">
|
||||||
|
<el-form-item label="申辩内容" prop="INSPECTED_EXPLAIN">
|
||||||
|
<el-input
|
||||||
|
v-model="form.INSPECTED_EXPLAIN"
|
||||||
|
:autosize="{ minRows: 3 }"
|
||||||
|
type="textarea"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="附件" prop="file">
|
||||||
|
<layout-upload v-model:file-list="form.file" accept=".pdf" />
|
||||||
|
</el-form-item>
|
||||||
|
</template>
|
||||||
|
<el-form-item label="确认人" prop="INSPECTED_SITEUSER_SIGN_IMG">
|
||||||
|
<layout-sign v-model="form.INSPECTED_SITEUSER_SIGN_IMG" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<template #footer>
|
||||||
|
<el-button @click="fnClose">取 消</el-button>
|
||||||
|
<el-button type="primary" @click="fnSubmit">提交</el-button>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import LayoutSign from "@/components/sign/index.vue";
|
||||||
|
import { useVModel } from "@vueuse/core";
|
||||||
|
import { ref } from "vue";
|
||||||
|
import { debounce } from "throttle-debounce";
|
||||||
|
import useFormValidate from "@/assets/js/useFormValidate.js";
|
||||||
|
import { ElMessage } from "element-plus";
|
||||||
|
import LayoutUpload from "@/components/upload/index.vue";
|
||||||
|
import { setInspectedPersonConfirmSubmit } from "@/request/safety_environmental_management.js";
|
||||||
|
import dayjs from "dayjs";
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
visible: {
|
||||||
|
type: Boolean,
|
||||||
|
required: true,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
id: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
default: "",
|
||||||
|
},
|
||||||
|
hiddenCount: {
|
||||||
|
type: Number,
|
||||||
|
required: true,
|
||||||
|
default: 0,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
const emits = defineEmits(["update:visible", "get-data"]);
|
||||||
|
const visible = useVModel(props, "visible", emits);
|
||||||
|
const formRef = ref(null);
|
||||||
|
const form = ref({
|
||||||
|
INSPECTION_STATUS: "3",
|
||||||
|
INSPECTED_EXPLAIN: "",
|
||||||
|
file: [],
|
||||||
|
INSPECTED_SITEUSER_SIGN_IMG: "",
|
||||||
|
});
|
||||||
|
const rules = {
|
||||||
|
INSPECTION_STATUS: [
|
||||||
|
{ required: true, message: "请选择是否申辩", trigger: "change" },
|
||||||
|
],
|
||||||
|
INSPECTED_EXPLAIN: [
|
||||||
|
{ required: true, message: "请输入申辩内容", trigger: "blur" },
|
||||||
|
],
|
||||||
|
INSPECTED_SITEUSER_SIGN_IMG: [
|
||||||
|
{ required: true, message: "请签名", trigger: "blur" },
|
||||||
|
],
|
||||||
|
};
|
||||||
|
const fnClose = () => {
|
||||||
|
formRef.value.resetFields();
|
||||||
|
visible.value = false;
|
||||||
|
};
|
||||||
|
const fnSubmit = debounce(
|
||||||
|
1000,
|
||||||
|
async () => {
|
||||||
|
await useFormValidate(formRef);
|
||||||
|
const formData = new FormData();
|
||||||
|
Object.keys(form.value).forEach((key) => {
|
||||||
|
formData.append(key, form.value[key]);
|
||||||
|
});
|
||||||
|
formData.append("INSPECTION_ID", props.id);
|
||||||
|
formData.append(
|
||||||
|
"INSPECTED_SITEUSER_SIGN_TIME",
|
||||||
|
dayjs().format("YYYY-MM-DD HH:mm")
|
||||||
|
);
|
||||||
|
formData.delete("file");
|
||||||
|
if (form.value.file[0]?.raw) {
|
||||||
|
formData.append("file", form.value.file[0].raw);
|
||||||
|
formData.append("INSPECTED_EXPLAIN_FILENAME", form.value.file[0].name);
|
||||||
|
}
|
||||||
|
await setInspectedPersonConfirmSubmit(formData);
|
||||||
|
fnClose();
|
||||||
|
ElMessage.success("核实成功");
|
||||||
|
emits("get-data");
|
||||||
|
},
|
||||||
|
{ atBegin: true }
|
||||||
|
);
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,223 @@
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-card>
|
||||||
|
<el-form
|
||||||
|
:model="searchForm"
|
||||||
|
label-width="100px"
|
||||||
|
@submit.prevent="fnResetPaginationTransfer"
|
||||||
|
>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="4">
|
||||||
|
<el-form-item label="被检查单位" prop="INSPECTED_DEPARTMENT_ID">
|
||||||
|
<layout-department v-model="searchForm.INSPECTED_DEPARTMENT_ID" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="4">
|
||||||
|
<el-form-item label="检查部门" prop="INSPECTION_DEPARTMENT_ID">
|
||||||
|
<layout-department
|
||||||
|
v-model="searchForm.INSPECTION_DEPARTMENT_ID"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="4">
|
||||||
|
<el-form-item label="检查发起人" prop="INSPECTION_ORIGINATOR_NAME">
|
||||||
|
<el-input v-model="searchForm.INSPECTION_ORIGINATOR_NAME" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="4">
|
||||||
|
<el-form-item label="检查类型" prop="INSPECTION_TYPE">
|
||||||
|
<layout-inspection-type v-model="searchForm.INSPECTION_TYPE" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="检查时间" prop="dates">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="searchForm.dates"
|
||||||
|
type="daterange"
|
||||||
|
value-format="YYYY-MM-DD"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
range-separator="至"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="4">
|
||||||
|
<el-form-item label="检查状态" prop="INSPECTION_STATUS">
|
||||||
|
<el-select v-model="searchForm.INSPECTION_STATUS">
|
||||||
|
<el-option
|
||||||
|
v-for="item in stateList"
|
||||||
|
:key="item.ID"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.ID"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="4">
|
||||||
|
<el-form-item label="检查题目" prop="INSPECTION_SUBJECT">
|
||||||
|
<el-select v-model="searchForm.INSPECTION_SUBJECT">
|
||||||
|
<el-option
|
||||||
|
v-for="item in inspectionQuestionList"
|
||||||
|
:key="item.ID"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.ID"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label-width="10px">
|
||||||
|
<el-button type="primary" native-type="submit">搜索</el-button>
|
||||||
|
<el-button native-type="reset" @click="fnResetPaginationTransfer">
|
||||||
|
重置
|
||||||
|
</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
</el-card>
|
||||||
|
<layout-card>
|
||||||
|
<layout-table
|
||||||
|
:data="list"
|
||||||
|
@get-data="fnGetDataTransfer"
|
||||||
|
v-model:pagination="pagination"
|
||||||
|
>
|
||||||
|
<el-table-column label="序号" width="60">
|
||||||
|
<template #default="{ $index }">
|
||||||
|
{{ serialNumber(pagination, $index) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="INSPECTED_DEPARTMENT_NAMES" label="被检查单位" />
|
||||||
|
<el-table-column
|
||||||
|
prop="INSPECTED_SITEUSER_NAME"
|
||||||
|
label="被检查单位现场负责人"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="INSPECTION_DEPARTMENT_NAME" label="检查部门" />
|
||||||
|
<el-table-column
|
||||||
|
prop="INSPECTION_ORIGINATOR_NAME"
|
||||||
|
label="检查发起人"
|
||||||
|
width="120"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="INSPECTION_TYPE_NAME" label="检查类型" />
|
||||||
|
<el-table-column label="检查时间" width="270">
|
||||||
|
<template v-slot="{ row }">
|
||||||
|
<span>
|
||||||
|
自 {{ row.INSPECTION_TIME_START }} 至
|
||||||
|
{{ row.INSPECTION_TIME_END }} 止
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="状态" width="120">
|
||||||
|
<template v-slot="{ row }">
|
||||||
|
{{ translationStatus(row.INSPECTION_STATUS, stateList) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="INSPECTION_SUBJECT" label="检查题目" />
|
||||||
|
<el-table-column label="操作" width="120">
|
||||||
|
<template #default="{ row }">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
text
|
||||||
|
link
|
||||||
|
@click="
|
||||||
|
router.push({
|
||||||
|
path: '/safety_environmental_management/inspected_person_confirm/view',
|
||||||
|
query: { INSPECTION_ID: row.INSPECTION_ID },
|
||||||
|
})
|
||||||
|
"
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
v-if="
|
||||||
|
buttonJurisdiction.edit &&
|
||||||
|
row.INSPECTION_STATUS === '2' &&
|
||||||
|
row.INSPECTED_SITEUSER_ID === userStore.getUserInfo.USER_ID
|
||||||
|
"
|
||||||
|
type="primary"
|
||||||
|
text
|
||||||
|
link
|
||||||
|
@click="fnConfirm(row.INSPECTION_ID)"
|
||||||
|
>
|
||||||
|
确认
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</layout-table>
|
||||||
|
</layout-card>
|
||||||
|
<confirm
|
||||||
|
v-model:visible="data.confirmDialog.visible"
|
||||||
|
:id="data.confirmDialog.INSPECTION_ID"
|
||||||
|
:hidden-count="data.confirmDialog.hiddenCount"
|
||||||
|
@get-data="fnResetPaginationTransfer"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { useRouter } from "vue-router";
|
||||||
|
import { serialNumber, translationStatus } from "@/assets/js/utils";
|
||||||
|
import useButtonJurisdiction from "@/assets/js/useButtonJurisdiction.js";
|
||||||
|
import useListData from "@/assets/js/useListData.js";
|
||||||
|
import LayoutDepartment from "@/components/department/index.vue";
|
||||||
|
import LayoutInspectionType from "@/components/inspection_type/index.vue";
|
||||||
|
import {
|
||||||
|
getInspectedPersonConfirmHiddenCount,
|
||||||
|
getInspectedPersonConfirmList,
|
||||||
|
} from "@/request/safety_environmental_management.js";
|
||||||
|
import { reactive } from "vue";
|
||||||
|
import Confirm from "./components/confirm.vue";
|
||||||
|
import { useUserStore } from "@/pinia/user.js";
|
||||||
|
|
||||||
|
const stateList = [
|
||||||
|
{ ID: "0", NAME: "待检查人核实" },
|
||||||
|
{ ID: "1", NAME: "检查人核实中" },
|
||||||
|
{ ID: "2", NAME: "待被检查人确认" },
|
||||||
|
{ ID: "3", NAME: "待指派整改人" },
|
||||||
|
{ ID: "4", NAME: "指派中" },
|
||||||
|
{ ID: "5", NAME: "指派完成" },
|
||||||
|
{ ID: "6", NAME: "检查待验收" },
|
||||||
|
{ ID: "7", NAME: "检查已验收" },
|
||||||
|
{ ID: "8", NAME: "已归档" },
|
||||||
|
{ ID: "-1", NAME: "检查人核实打回" },
|
||||||
|
{ ID: "-2", NAME: "被检查人申辩" },
|
||||||
|
];
|
||||||
|
const inspectionQuestionList = [
|
||||||
|
{ ID: "安全", NAME: "安全" },
|
||||||
|
{ ID: "环保", NAME: "环保" },
|
||||||
|
{ ID: "综合", NAME: "综合" },
|
||||||
|
];
|
||||||
|
const router = useRouter();
|
||||||
|
const userStore = useUserStore();
|
||||||
|
const { list, pagination, searchForm, fnGetData, fnResetPagination } =
|
||||||
|
useListData(getInspectedPersonConfirmList);
|
||||||
|
const data = reactive({
|
||||||
|
confirmDialog: {
|
||||||
|
visible: false,
|
||||||
|
INSPECTION_ID: "",
|
||||||
|
hiddenCount: 0,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
const fnGetDataTransfer = () => {
|
||||||
|
fnGetData({
|
||||||
|
INSPECTION_TIME_START: searchForm.value.dates?.[0],
|
||||||
|
INSPECTION_TIME_END: searchForm.value.dates?.[1],
|
||||||
|
});
|
||||||
|
};
|
||||||
|
const fnResetPaginationTransfer = () => {
|
||||||
|
fnResetPagination({
|
||||||
|
INSPECTION_TIME_START: searchForm.value.dates?.[0],
|
||||||
|
INSPECTION_TIME_END: searchForm.value.dates?.[1],
|
||||||
|
});
|
||||||
|
};
|
||||||
|
const buttonJurisdiction = await useButtonJurisdiction(
|
||||||
|
"safetyenvironmentalinspector"
|
||||||
|
);
|
||||||
|
const fnConfirm = async (INSPECTION_ID) => {
|
||||||
|
const resData = await getInspectedPersonConfirmHiddenCount({ INSPECTION_ID });
|
||||||
|
data.confirmDialog.hiddenCount = +resData.hiddencount;
|
||||||
|
data.confirmDialog.INSPECTION_ID = INSPECTION_ID;
|
||||||
|
data.confirmDialog.visible = true;
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped></style>
|
|
@ -0,0 +1,9 @@
|
||||||
|
<template>
|
||||||
|
<view-info />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import ViewInfo from "../safety_environmental/view.vue";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,88 @@
|
||||||
|
<template>
|
||||||
|
<el-dialog v-model="visible" title="核实" :on-close="fnClose">
|
||||||
|
<el-form ref="formRef" :rules="rules" :model="form" label-width="110px">
|
||||||
|
<el-form-item label="检查人意见" prop="INSPECTION_USER_OPINION">
|
||||||
|
<el-input
|
||||||
|
v-model="form.INSPECTION_USER_OPINION"
|
||||||
|
:autosize="{ minRows: 3 }"
|
||||||
|
type="textarea"
|
||||||
|
placeholder="这里输入检查人意见(有异议时必填)..."
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="检查人" prop="INSPECTION_USER_SIGN_IMG">
|
||||||
|
<layout-sign v-model="form.INSPECTION_USER_SIGN_IMG" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<template #footer>
|
||||||
|
<el-button @click="fnClose">取 消</el-button>
|
||||||
|
<el-button type="danger" @click="fnSubmit('-1')">不通过</el-button>
|
||||||
|
<el-button type="primary" @click="fnSubmit('1')">通 过</el-button>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import LayoutSign from "@/components/sign/index.vue";
|
||||||
|
import { useVModel } from "@vueuse/core";
|
||||||
|
import { ref } from "vue";
|
||||||
|
import { debounce } from "throttle-debounce";
|
||||||
|
import useFormValidate from "@/assets/js/useFormValidate.js";
|
||||||
|
import { ElMessage } from "element-plus";
|
||||||
|
import { setInspectorsVerifyManagementVerify } from "@/request/safety_environmental_management.js";
|
||||||
|
import dayjs from "dayjs";
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
visible: {
|
||||||
|
type: Boolean,
|
||||||
|
required: true,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
info: {
|
||||||
|
type: Object,
|
||||||
|
required: true,
|
||||||
|
default: () => ({}),
|
||||||
|
},
|
||||||
|
});
|
||||||
|
const emits = defineEmits(["update:visible", "get-data"]);
|
||||||
|
const visible = useVModel(props, "visible", emits);
|
||||||
|
const formRef = ref(null);
|
||||||
|
const form = ref({
|
||||||
|
INSPECTION_USER_OPINION: "",
|
||||||
|
INSPECTION_USER_SIGN_IMG: "",
|
||||||
|
});
|
||||||
|
const rules = {
|
||||||
|
INSPECTION_USER_SIGN_IMG: [
|
||||||
|
{ required: true, message: "请签名", trigger: "blur" },
|
||||||
|
],
|
||||||
|
};
|
||||||
|
const fnClose = () => {
|
||||||
|
formRef.value.resetFields();
|
||||||
|
visible.value = false;
|
||||||
|
};
|
||||||
|
const fnSubmit = debounce(
|
||||||
|
1000,
|
||||||
|
async (INSPECTION_STATUS) => {
|
||||||
|
await useFormValidate(formRef);
|
||||||
|
if (INSPECTION_STATUS === "-1") {
|
||||||
|
if (!form.value.INSPECTION_USER_OPINION) {
|
||||||
|
ElMessage.warning("有异议时,检查人意见不能为空");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
await setInspectorsVerifyManagementVerify({
|
||||||
|
...form.value,
|
||||||
|
INSPECTION_INSPECTOR_ID: props.info.INSPECTION_INSPECTOR_ID,
|
||||||
|
INSPECTION_ID: props.info.INSPECTION_ID,
|
||||||
|
INSPECTION_USER_ID: props.info.INSPECTION_USER_ID,
|
||||||
|
INSPECTION_USER_SIGN_TIME: dayjs().format("YYYY-MM-DD HH:mm"),
|
||||||
|
INSPECTION_STATUS,
|
||||||
|
});
|
||||||
|
fnClose();
|
||||||
|
ElMessage.success("核实成功");
|
||||||
|
emits("get-data");
|
||||||
|
},
|
||||||
|
{ atBegin: true }
|
||||||
|
);
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,214 @@
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-card>
|
||||||
|
<el-form
|
||||||
|
:model="searchForm"
|
||||||
|
label-width="100px"
|
||||||
|
@submit.prevent="fnResetPaginationTransfer"
|
||||||
|
>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="4">
|
||||||
|
<el-form-item label="被检查单位" prop="INSPECTED_DEPARTMENT_ID">
|
||||||
|
<layout-department v-model="searchForm.INSPECTED_DEPARTMENT_ID" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="4">
|
||||||
|
<el-form-item label="检查部门" prop="INSPECTION_DEPARTMENT_ID">
|
||||||
|
<layout-department
|
||||||
|
v-model="searchForm.INSPECTION_DEPARTMENT_ID"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="4">
|
||||||
|
<el-form-item label="检查发起人" prop="INSPECTION_ORIGINATOR_NAME">
|
||||||
|
<el-input v-model="searchForm.INSPECTION_ORIGINATOR_NAME" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="4">
|
||||||
|
<el-form-item label="检查类型" prop="INSPECTION_TYPE">
|
||||||
|
<layout-inspection-type v-model="searchForm.INSPECTION_TYPE" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="检查时间" prop="dates">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="searchForm.dates"
|
||||||
|
type="daterange"
|
||||||
|
value-format="YYYY-MM-DD"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
range-separator="至"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="4">
|
||||||
|
<el-form-item label="检查状态" prop="INSPECTION_STATUS">
|
||||||
|
<el-select v-model="searchForm.INSPECTION_STATUS">
|
||||||
|
<el-option
|
||||||
|
v-for="item in stateList"
|
||||||
|
:key="item.ID"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.ID"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="4">
|
||||||
|
<el-form-item label="检查题目" prop="INSPECTION_SUBJECT">
|
||||||
|
<el-select v-model="searchForm.INSPECTION_SUBJECT">
|
||||||
|
<el-option
|
||||||
|
v-for="item in inspectionQuestionList"
|
||||||
|
:key="item.ID"
|
||||||
|
:label="item.NAME"
|
||||||
|
:value="item.ID"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label-width="10px">
|
||||||
|
<el-button type="primary" native-type="submit">搜索</el-button>
|
||||||
|
<el-button native-type="reset" @click="fnResetPaginationTransfer">
|
||||||
|
重置
|
||||||
|
</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
</el-card>
|
||||||
|
<layout-card>
|
||||||
|
<layout-table
|
||||||
|
:data="list"
|
||||||
|
@get-data="fnGetDataTransfer"
|
||||||
|
v-model:pagination="pagination"
|
||||||
|
>
|
||||||
|
<el-table-column label="序号" width="60">
|
||||||
|
<template #default="{ $index }">
|
||||||
|
{{ serialNumber(pagination, $index) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="INSPECTED_DEPARTMENT_NAMES" label="被检查单位" />
|
||||||
|
<el-table-column
|
||||||
|
prop="INSPECTED_SITEUSER_NAME"
|
||||||
|
label="被检查单位现场负责人"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="INSPECTION_DEPARTMENT_NAME" label="检查部门" />
|
||||||
|
<el-table-column
|
||||||
|
prop="INSPECTION_ORIGINATOR_NAME"
|
||||||
|
label="检查发起人"
|
||||||
|
width="120"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="INSPECTION_TYPE_NAME" label="检查类型" />
|
||||||
|
<el-table-column label="检查时间" width="270">
|
||||||
|
<template v-slot="{ row }">
|
||||||
|
<span>
|
||||||
|
自 {{ row.INSPECTION_TIME_START }} 至
|
||||||
|
{{ row.INSPECTION_TIME_END }} 止
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="状态" width="120">
|
||||||
|
<template v-slot="{ row }">
|
||||||
|
{{ translationStatus(row.INSPECTION_STATUS, stateList) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="INSPECTION_SUBJECT" label="检查题目" />
|
||||||
|
<el-table-column label="操作" width="120">
|
||||||
|
<template #default="{ row }">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
text
|
||||||
|
link
|
||||||
|
@click="
|
||||||
|
router.push({
|
||||||
|
path: '/safety_environmental_management/inspectors_verify_management/view',
|
||||||
|
query: { INSPECTION_ID: row.INSPECTION_ID },
|
||||||
|
})
|
||||||
|
"
|
||||||
|
>
|
||||||
|
查看
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
v-if="
|
||||||
|
buttonJurisdiction.edit &&
|
||||||
|
!row.INSPECTION_USER_SIGN_TIME &&
|
||||||
|
(row.INSPECTION_STATUS === '0' || row.INSPECTION_STATUS === '1')
|
||||||
|
"
|
||||||
|
type="primary"
|
||||||
|
text
|
||||||
|
link
|
||||||
|
@click="fnVerify(row)"
|
||||||
|
>
|
||||||
|
核实
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</layout-table>
|
||||||
|
</layout-card>
|
||||||
|
<verify
|
||||||
|
v-model:visible="data.verifyDialog.visible"
|
||||||
|
:info="data.verifyDialog.info"
|
||||||
|
@get-data="fnResetPaginationTransfer"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { useRouter } from "vue-router";
|
||||||
|
import { serialNumber, translationStatus } from "@/assets/js/utils";
|
||||||
|
import useButtonJurisdiction from "@/assets/js/useButtonJurisdiction.js";
|
||||||
|
import useListData from "@/assets/js/useListData.js";
|
||||||
|
import LayoutDepartment from "@/components/department/index.vue";
|
||||||
|
import LayoutInspectionType from "@/components/inspection_type/index.vue";
|
||||||
|
import { getInspectorsVerifyManagementList } from "@/request/safety_environmental_management.js";
|
||||||
|
import { reactive } from "vue";
|
||||||
|
import Verify from "./components/verify.vue";
|
||||||
|
|
||||||
|
const stateList = [
|
||||||
|
{ ID: "0", NAME: "待检查人核实" },
|
||||||
|
{ ID: "1", NAME: "检查人核实中" },
|
||||||
|
{ ID: "2", NAME: "待被检查人确认" },
|
||||||
|
{ ID: "3", NAME: "待指派整改人" },
|
||||||
|
{ ID: "4", NAME: "指派中" },
|
||||||
|
{ ID: "5", NAME: "指派完成" },
|
||||||
|
{ ID: "6", NAME: "检查待验收" },
|
||||||
|
{ ID: "7", NAME: "检查已验收" },
|
||||||
|
{ ID: "8", NAME: "已归档" },
|
||||||
|
{ ID: "-1", NAME: "检查人核实打回" },
|
||||||
|
{ ID: "-2", NAME: "被检查人申辩" },
|
||||||
|
];
|
||||||
|
const inspectionQuestionList = [
|
||||||
|
{ ID: "安全", NAME: "安全" },
|
||||||
|
{ ID: "环保", NAME: "环保" },
|
||||||
|
{ ID: "综合", NAME: "综合" },
|
||||||
|
];
|
||||||
|
const router = useRouter();
|
||||||
|
const { list, pagination, searchForm, fnGetData, fnResetPagination } =
|
||||||
|
useListData(getInspectorsVerifyManagementList);
|
||||||
|
const data = reactive({
|
||||||
|
verifyDialog: {
|
||||||
|
visible: false,
|
||||||
|
info: {},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
const fnGetDataTransfer = () => {
|
||||||
|
fnGetData({
|
||||||
|
INSPECTION_TIME_START: searchForm.value.dates?.[0],
|
||||||
|
INSPECTION_TIME_END: searchForm.value.dates?.[1],
|
||||||
|
});
|
||||||
|
};
|
||||||
|
const fnResetPaginationTransfer = () => {
|
||||||
|
fnResetPagination({
|
||||||
|
INSPECTION_TIME_START: searchForm.value.dates?.[0],
|
||||||
|
INSPECTION_TIME_END: searchForm.value.dates?.[1],
|
||||||
|
});
|
||||||
|
};
|
||||||
|
const buttonJurisdiction = await useButtonJurisdiction(
|
||||||
|
"safetyenvironmentalinspector"
|
||||||
|
);
|
||||||
|
const fnVerify = (row) => {
|
||||||
|
data.verifyDialog.info = row;
|
||||||
|
data.verifyDialog.visible = true;
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped></style>
|
|
@ -0,0 +1,9 @@
|
||||||
|
<template>
|
||||||
|
<view-info />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import ViewInfo from "../safety_environmental/view.vue";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss"></style>
|
|
@ -248,13 +248,19 @@ import { useUserStore } from "@/pinia/user.js";
|
||||||
import { debounce } from "throttle-debounce";
|
import { debounce } from "throttle-debounce";
|
||||||
import useFormValidate from "@/assets/js/useFormValidate.js";
|
import useFormValidate from "@/assets/js/useFormValidate.js";
|
||||||
import { ElMessage } from "element-plus";
|
import { ElMessage } from "element-plus";
|
||||||
import { useRouter } from "vue-router";
|
import { useRoute, useRouter } from "vue-router";
|
||||||
import { setSafetyEnvironmentalAdd } from "@/request/safety_environmental_management.js";
|
import {
|
||||||
|
getSafetyEnvironmentalView,
|
||||||
|
setSafetyEnvironmentalAdd,
|
||||||
|
setSafetyEnvironmentalEdit,
|
||||||
|
} from "@/request/safety_environmental_management.js";
|
||||||
import { setUploadImg, setUploadVideo } from "@/request/api.js";
|
import { setUploadImg, setUploadVideo } from "@/request/api.js";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
|
|
||||||
|
const route = useRoute();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
|
const { INSPECTION_ID } = route.query;
|
||||||
const rules = {
|
const rules = {
|
||||||
INSPECTION_SUBJECT: [
|
INSPECTION_SUBJECT: [
|
||||||
{ required: true, message: "请选择检查题目", trigger: "change" },
|
{ required: true, message: "请选择检查题目", trigger: "change" },
|
||||||
|
@ -291,6 +297,8 @@ const rules = {
|
||||||
const formRef = ref(null);
|
const formRef = ref(null);
|
||||||
const data = reactive({
|
const data = reactive({
|
||||||
form: {
|
form: {
|
||||||
|
INSPECTION_SOURCE: "5",
|
||||||
|
INSPECTION_STATUS: "0",
|
||||||
INSPECTION_SUBJECT: "安全",
|
INSPECTION_SUBJECT: "安全",
|
||||||
INSPECTED_DEPARTMENT_ID: "",
|
INSPECTED_DEPARTMENT_ID: "",
|
||||||
INSPECTED_SITEUSER_ID: "",
|
INSPECTED_SITEUSER_ID: "",
|
||||||
|
@ -318,14 +326,28 @@ const fnAddInspectorList = () => {
|
||||||
id: Math.random(),
|
id: Math.random(),
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
fnAddInspectorList();
|
|
||||||
const fnAddSituationList = () => {
|
const fnAddSituationList = () => {
|
||||||
data.form.situationList.push({
|
data.form.situationList.push({
|
||||||
SITUATION: "",
|
SITUATION: "",
|
||||||
id: Math.random(),
|
id: Math.random(),
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
fnAddSituationList();
|
const fnGetData = async () => {
|
||||||
|
if (!INSPECTION_ID) {
|
||||||
|
fnAddInspectorList();
|
||||||
|
fnAddSituationList();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const resData = await getSafetyEnvironmentalView({ INSPECTION_ID });
|
||||||
|
data.form = resData.pd;
|
||||||
|
for (let i = 0; i < resData.pd.inspectorList.length; i++) {
|
||||||
|
await fnGetInspectionSitUserList(
|
||||||
|
resData.pd.inspectorList[i].INSPECTION_DEPARTMENT_ID,
|
||||||
|
i
|
||||||
|
);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
fnGetData();
|
||||||
const fnInspectedDepartmentChange = () => {
|
const fnInspectedDepartmentChange = () => {
|
||||||
data.inspectedSiteUserList = [];
|
data.inspectedSiteUserList = [];
|
||||||
data.form.INSPECTED_SITEUSER_ID = "";
|
data.form.INSPECTED_SITEUSER_ID = "";
|
||||||
|
@ -375,15 +397,39 @@ const fnSubmit = debounce(
|
||||||
1000,
|
1000,
|
||||||
async () => {
|
async () => {
|
||||||
await useFormValidate(formRef);
|
await useFormValidate(formRef);
|
||||||
|
const inspectorList = [...data.form.inspectorList];
|
||||||
|
if (
|
||||||
|
!inspectorList.some(
|
||||||
|
(item) => userStore.getUserInfo.USER_ID === item.INSPECTION_USER_ID
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
inspectorList.push({
|
||||||
|
INSPECTION_INSPECTOR_ID: "",
|
||||||
|
INSPECTION_DEPARTMENT_ID: userStore.getUserInfo.DEPARTMENT_ID,
|
||||||
|
INSPECTION_USER_ID: userStore.getUserInfo.USER_ID,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
let hiddenList = [];
|
||||||
|
if (!INSPECTION_ID) {
|
||||||
const resData = await setSafetyEnvironmentalAdd({
|
const resData = await setSafetyEnvironmentalAdd({
|
||||||
...data.form,
|
...data.form,
|
||||||
HIDDENFINDDEPT: userStore.getUserInfo.DEPARTMENT_ID,
|
HIDDENFINDDEPT: userStore.getUserInfo.DEPARTMENT_ID,
|
||||||
INSPECTORJSON: JSON.stringify(data.form.inspectorList),
|
INSPECTORJSON: JSON.stringify(inspectorList),
|
||||||
SITUATIONJSON: JSON.stringify(data.form.situationList),
|
SITUATIONJSON: JSON.stringify(data.form.situationList),
|
||||||
HIDDENJSON: JSON.stringify(data.form.hiddenList),
|
HIDDENJSON: JSON.stringify(data.form.hiddenList),
|
||||||
CONFIRM_MESSAGE_TIME: dayjs().format("YYYY-MM-DD HH:mm"),
|
CONFIRM_MESSAGE_TIME: dayjs().format("YYYY-MM-DD HH:mm"),
|
||||||
});
|
});
|
||||||
const hiddenList = resData.pd.hiddenList;
|
hiddenList = resData.pd.hiddenList;
|
||||||
|
} else {
|
||||||
|
const resData = await setSafetyEnvironmentalEdit({
|
||||||
|
...data.form,
|
||||||
|
INSPECTORJSON: JSON.stringify(inspectorList),
|
||||||
|
SITUATIONJSON: JSON.stringify(data.form.situationList),
|
||||||
|
HIDDENJSON: JSON.stringify(data.form.hiddenList),
|
||||||
|
CONFIRM_MESSAGE_TIME: dayjs().format("YYYY-MM-DD HH:mm"),
|
||||||
|
});
|
||||||
|
hiddenList = resData.pd.hiddenList;
|
||||||
|
}
|
||||||
for (let i = 0; i < hiddenList.length; i++) {
|
for (let i = 0; i < hiddenList.length; i++) {
|
||||||
await fnUploadImage(
|
await fnUploadImage(
|
||||||
hiddenList[i].HIDDEN_ID,
|
hiddenList[i].HIDDEN_ID,
|
||||||
|
|
|
@ -43,7 +43,10 @@
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="隐患类型" prop="HIDDENTYPE">
|
<el-form-item label="隐患类型" prop="HIDDENTYPE">
|
||||||
<layout-hidden-danger-type v-model="form.HIDDENTYPE" type="tree" />
|
<layout-hidden-danger-type
|
||||||
|
v-model="form.HIDDENTYPE"
|
||||||
|
ref="hiddenDangerTypeRef"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
|
@ -133,12 +136,13 @@ const form = ref({
|
||||||
DISCOVERYTIME: "",
|
DISCOVERYTIME: "",
|
||||||
HIDDENPART: "",
|
HIDDENPART: "",
|
||||||
HIDDENLEVEL: "",
|
HIDDENLEVEL: "",
|
||||||
HIDDENTYPE: "",
|
HIDDENTYPE: [],
|
||||||
hiddenImgs: [],
|
hiddenImgs: [],
|
||||||
videoFiles: [],
|
videoFiles: [],
|
||||||
CREATOR: "",
|
CREATOR: "",
|
||||||
});
|
});
|
||||||
const formRef = ref(null);
|
const formRef = ref(null);
|
||||||
|
const hiddenDangerTypeRef = ref(null);
|
||||||
const fnClose = () => {
|
const fnClose = () => {
|
||||||
formRef.value.resetFields();
|
formRef.value.resetFields();
|
||||||
visible.value = false;
|
visible.value = false;
|
||||||
|
@ -158,7 +162,13 @@ const fnSubmit = async () => {
|
||||||
if (form.value.videoFiles[i].raw)
|
if (form.value.videoFiles[i].raw)
|
||||||
throwForm.videoFiles.push(form.value.videoFiles[i].raw);
|
throwForm.videoFiles.push(form.value.videoFiles[i].raw);
|
||||||
}
|
}
|
||||||
emits("submit", throwForm);
|
emits("submit", {
|
||||||
|
...throwForm,
|
||||||
|
HIDDENTYPE1: form.value.HIDDENTYPE[0],
|
||||||
|
HIDDENTYPE2: form.value.HIDDENTYPE[1],
|
||||||
|
HIDDENTYPE3: form.value.HIDDENTYPE[2],
|
||||||
|
HIDDENTYPE_NAME: hiddenDangerTypeRef.value.getCheckedNodes(),
|
||||||
|
});
|
||||||
fnClose();
|
fnClose();
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -99,10 +99,7 @@
|
||||||
:data="list"
|
:data="list"
|
||||||
@get-data="fnGetDataTransfer"
|
@get-data="fnGetDataTransfer"
|
||||||
v-model:pagination="pagination"
|
v-model:pagination="pagination"
|
||||||
ref="tableRef"
|
|
||||||
row-key="INSPECTION_ID"
|
|
||||||
>
|
>
|
||||||
<el-table-column reserve-selection type="selection" width="55" />
|
|
||||||
<el-table-column label="序号" width="60">
|
<el-table-column label="序号" width="60">
|
||||||
<template #default="{ $index }">
|
<template #default="{ $index }">
|
||||||
{{ serialNumber(pagination, $index) }}
|
{{ serialNumber(pagination, $index) }}
|
||||||
|
@ -112,6 +109,7 @@
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="INSPECTED_SITEUSER_NAME"
|
prop="INSPECTED_SITEUSER_NAME"
|
||||||
label="被检查单位现场负责人"
|
label="被检查单位现场负责人"
|
||||||
|
width="150"
|
||||||
/>
|
/>
|
||||||
<el-table-column prop="INSPECTION_DEPARTMENT_NAME" label="检查部门" />
|
<el-table-column prop="INSPECTION_DEPARTMENT_NAME" label="检查部门" />
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -159,7 +157,11 @@
|
||||||
流程图
|
流程图
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="buttonJurisdiction.edit && row.INSPECTION_STATUS === '-1'"
|
v-if="
|
||||||
|
buttonJurisdiction.edit &&
|
||||||
|
row.INSPECTION_ORIGINATOR_ID === USER_ID &&
|
||||||
|
row.INSPECTION_STATUS === '-1'
|
||||||
|
"
|
||||||
type="primary"
|
type="primary"
|
||||||
text
|
text
|
||||||
link
|
link
|
||||||
|
@ -269,7 +271,7 @@ const hiddenTotal = ref(0);
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
const USER_ID = userStore.getUserInfo.USER_ID;
|
const USER_ID = userStore.getUserInfo.USER_ID;
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } =
|
const { list, pagination, searchForm, fnGetData, fnResetPagination } =
|
||||||
useListData(getSafetyEnvironmentalList, {
|
useListData(getSafetyEnvironmentalList, {
|
||||||
callbackFn: (list, resData) => {
|
callbackFn: (list, resData) => {
|
||||||
safetyTotal.value = resData.safetyTotal;
|
safetyTotal.value = resData.safetyTotal;
|
||||||
|
|
|
@ -147,7 +147,7 @@
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { useRoute } from "vue-router";
|
import { useRoute } from "vue-router";
|
||||||
import { getSafetyEnvironmentalView } from "@/request/safety_environmental_management.js";
|
import { getSafetyEnvironmentalViewInfo } from "@/request/safety_environmental_management.js";
|
||||||
import { reactive } from "vue";
|
import { reactive } from "vue";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import FlowChart from "./components/flow_chart.vue";
|
import FlowChart from "./components/flow_chart.vue";
|
||||||
|
@ -169,7 +169,7 @@ const data = reactive({
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
const fnGetData = async () => {
|
const fnGetData = async () => {
|
||||||
const resData = await getSafetyEnvironmentalView({ INSPECTION_ID });
|
const resData = await getSafetyEnvironmentalViewInfo({ INSPECTION_ID });
|
||||||
data.info = resData.pd;
|
data.info = resData.pd;
|
||||||
};
|
};
|
||||||
fnGetData();
|
fnGetData();
|
||||||
|
|
Loading…
Reference in New Issue