隐患排查清单管理

pull/1/head
zhangyanli 2024-02-04 14:02:30 +08:00
parent f5690e4056
commit 76af1d175e
12 changed files with 835 additions and 486 deletions

View File

@ -330,6 +330,15 @@ export default [
component:
"hazard_investigation/inventory_management/insurance_coverage",
},
{
path: "/hazard_investigation/inventory_management/insurance_coverage_custom",
meta: {
title: "设置包保责任类型",
activeMenu: "/hazard_investigation/inventory_management",
},
component:
"hazard_investigation/inventory_management/insurance_coverage_custom",
},
{
path: "/hazard_investigation/inventory_management/add",
meta: {

View File

@ -1,4 +1,4 @@
import { post } from "@/request/axios.js";
import { post, upload } from "@/request/axios.js";
export const getInventoryManagementList = (params) =>
post("/listmanager/list", params); // 清单管理列表
@ -21,7 +21,7 @@ export const setInventoryManagementInsuranceCoverageList = (params) =>
export const setInventoryManagementInsuranceCoverageSave = (params) =>
post("/listmanager/saveBaoBaoType", params); // 清单管理设置包保责任类型提交
export const getInventoryManagementInspectionItems = (params) =>
post("/richeckitem/itemlistAllsk", params); // 清单管理检查项列表
post("/richeckitem/itemlistAll", params); // 清单管理检查项列表
export const getInventoryManagementOtherRiskList = (params) =>
post("/riskcheckitem/list", params); // 清单管理选择其他存在风险列表
export const setInventoryManagementAdd = (params) =>
@ -86,7 +86,7 @@ export const getCheckstandardCommonList = (params) =>
export const setCheckStandardManagementAdd = (params) =>
post("/hiddenstandardCustom/add", params); // 隐患排查清单管理新增
export const setCheckStandardManagementEdit = (params) =>
post("/listmanager/hiddencheckedit", params); // 隐患排查清单管理修改
post("/hiddenstandardCustom/edit", params); // 隐患排查清单管理修改
export const getCheckStandardManagementView = (params) =>
post("/hiddenstandardCustom/goEdit", params); // 隐患排查清单管理查看
export const getCheckStandardOtherHiddenList = (params) =>
@ -95,6 +95,10 @@ export const setCheckStandardSupplementaryRecordingSubmit = (params) =>
post("/customCheckrecord/recording", params); // 隐患排查清单检查情况检查记录补录提交
export const setCheckStandardSubmit = (params) =>
post("/customCheckrecord/add", params); // 清单排查提交
export const setCommonItemEdit = (params) =>
post("/hiddenstandardCommon/edit", params); // 隐患排查检查标准修改
export const setCustomImport = (params) =>
upload("/hiddenstandardCustom/readExcel", params); // 导入隐患排查清单
export const getDeleteCustomList = (params) => post("/customStop/list", params); // 删除清单管理列表
export const setDeleteCustomRecovery = (params) =>
post("/customStop/restore", params); // 删除清单管理恢复
@ -107,3 +111,7 @@ export const getCustomCheckRecordView = (params) =>
post("/customCheckrecord/goEdit", params); // 隐患清单排查查询单个
export const setDeleteCustommCheckrecord = (params) =>
post("/customCheckrecord/delete", params); // 删除隐患清单排查记录
export const setCustomInsuranceCoverageList = (params) =>
post("/customLabelFactory/termList", params); // 隐患排查清单管理设置包保责任类型选择列表
export const setCustomInsuranceCoverageSave = (params) =>
post("/hiddenstandardCustom/saveBaoBaoType", params); // 清单管理设置包保责任类型提交

View File

@ -66,7 +66,7 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item v-if="!LISTMANAGER_ID" label="负责人" prop="USER_IDS">
<el-form-item v-if="!ID" label="负责人" prop="USER_IDS">
<el-select v-model="data.form.USER_IDS" multiple>
<el-option
v-for="item in data.userList"
@ -76,11 +76,7 @@
/>
</el-select>
</el-form-item>
<el-form-item
v-else-if="LISTMANAGER_ID"
label="负责人"
prop="USER_ID"
>
<el-form-item v-else-if="ID" label="负责人" prop="USER_ID">
<el-select v-model="data.form.USER_ID">
<el-option
v-for="item in data.userList"
@ -208,11 +204,16 @@
width="180"
/>
<el-table-column prop="CHECK_ITEM_NAME" label="检查项目" width="180" />
<el-table-column prop="CHECK_CONTENT" label="检查内容" width="300" />
<el-table-column prop="CHECK_STANDARD" label="检查标准" width="180" />
<el-table-column prop="CHECK_QUALIFIED" label="检查合格项" width="180" />
<el-table-column prop="CHECK_UNQUALIFIED" label="检查不合格项" />
<el-table-column label="操作类型">
<el-table-column prop="CHECK_CONTENT" label="检查内容" width="200" />
<el-table-column prop="CHECK_STANDARD" label="检查标准" width="200" />
<el-table-column prop="REFERENCE_BASIS" label="参考依据" width="200" />
<el-table-column prop="CHECK_QUALIFIED" label="检查合格项" width="200" />
<el-table-column
prop="CHECK_UNQUALIFIED"
label="检查不合格项"
width="200"
/>
<el-table-column label="操作类型" width="100">
<template v-slot="{ row }">
<span v-if="row.OPERATION_TYPE === 1"></span>
<span v-if="row.OPERATION_TYPE === 2"></span>
@ -231,9 +232,11 @@
:category-data="data.categoryList"
@submit="fnAddStandardSubmit"
/>
<select-checkstandard
<select-custom
v-model:visible="data.selectStandardDialogVisible"
v-model:list-data="data.listAll"
:standard-data="data.checkStandardList"
:category-data="data.categoryList"
@submit="fnSelectStandardSubmit"
/>
</layout-card>
@ -257,6 +260,7 @@ import {
} from "@/request/data_dictionary.js";
import { useRoute, useRouter } from "vue-router";
import {
getCheckStandardManagementView,
setCheckStandardManagementAdd,
setCheckStandardManagementEdit,
} from "@/request/hazard_investigation.js";
@ -264,11 +268,11 @@ import { debounce } from "throttle-debounce";
import useFormValidate from "@/assets/js/useFormValidate.js";
import { ElMessage } from "element-plus";
import AddCheckstandard from "@/views/hazard_investigation/inventory_management/components/checkstandard_add.vue";
import SelectCheckstandard from "./components/select_checkstandard.vue";
import SelectCustom from "./components/select_custom.vue";
const route = useRoute();
const router = useRouter();
const { LISTMANAGER_ID } = route.query;
const { ID } = route.query;
const userStore = useUserStore();
const CORPINFO_ID = userStore.getUserInfo.CORPINFO_ID;
const rules = {
@ -329,7 +333,6 @@ const data = reactive({
CHECK_QUALIFIED: "",
CHECK_UNQUALIFIED: "",
OPERATION_TYPE: "",
COMMON_ITEM_SORT: "",
letItemType: "",
letCategoryType: "",
},
@ -342,13 +345,15 @@ const taskTypeList = await layoutFnGetTaskType();
const troubleshootingTypeList = await layoutFnGetTroubleshootingType();
const troubleshootingCycleList = await layoutFnGetTroubleshootingCycle();
const inventoryTypeList = await layoutFnGetInventoryType();
// const fnGetInspectionItems = async () => {
// const resData = await getCheckStandardManagementInspectionItems();
// data.list = [...tableRef.value.getSelectionRows(), ...resData.varList];
// data.listAll = [...tableRef.value.getSelectionRows(), ...resData.varList];
// await fnTableSelection();
// };
// fnGetInspectionItems();
const fnGetData = async () => {
if (!ID) return;
const resData = await getCheckStandardManagementView({ ID });
data.form = resData.pd;
data.form.dates = [resData.pd.START_DATE, resData.pd.END_DATE];
data.list = resData.varList;
data.listAll = [...resData.varList];
};
fnGetData();
const fnDepartmentChange = () => {
data.postList = [];
data.userList = [];
@ -394,7 +399,6 @@ const fnTableSelection = async () => {
});
};
const fnAddStandardSubmit = (item) => {
console.log(item);
data.list.push(item);
data.listAll.push(item);
fnTableSelection();
@ -423,7 +427,7 @@ const fnSubmit = debounce(
END_DATE: data.form.dates[1],
BAO_BAO_TYPE: data.form.BAO_BAO_TYPE || "0",
};
!LISTMANAGER_ID
!ID
? await setCheckStandardManagementAdd(params)
: await setCheckStandardManagementEdit(params);
ElMessage.success("保存成功");
@ -451,7 +455,6 @@ const fnCheckStandard = async () => {
});
};
fnCheckStandard();
console.log(data.checkStandardList);
watchEffect(() => {
if (data.form.DEPARTMENT_ID) fnGetPost(data.form.DEPARTMENT_ID);
if (data.form.POST_ID) fnGetUser(data.form.POST_ID);

View File

@ -9,19 +9,31 @@
<el-col :span="24">
<el-form-item label="检查类别" prop="CHECK_CATEGORY">
<layout-select-create
v-if="type === 'add'"
:list="categoryData"
v-model="data.CHECK_CATEGORY_NAME"
@change="goChange"
/>
<el-input
v-if="type !== 'add'"
disabled
v-model="form.CHECK_CATEGORY_NAME"
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="检查项目" prop="CHECK_ITEM">
<layout-select-create
v-if="type === 'add'"
:list="data.itemData"
v-model="data.CHECK_ITEM_NAME"
@change="goChange"
/>
<el-input
v-if="type !== 'add'"
disabled
v-model="form.CHECK_ITEM_NAME"
/>
</el-form-item>
</el-col>
<el-col :span="24">
@ -57,14 +69,6 @@
</el-select>
</el-form-item>
</el-col>
<el-form-item label="排序" prop="COMMON_ITEM_SORT">
<el-input-number
:min="1"
:precision="0"
v-model="form.COMMON_ITEM_SORT"
controls-position="right"
/>
</el-form-item>
</el-row>
</el-form>
<template #footer>
@ -102,6 +106,11 @@ const props = defineProps({
required: true,
default: () => [],
},
listData: {
type: Array,
required: true,
default: () => [],
},
type: {
type: String,
required: true,
@ -122,16 +131,6 @@ const data = reactive({
standardData: props.standardData,
itemData: [],
});
// const fnCheckStandard = async () => {
// const list = await layoutFnGetCheckStandard();
// data.checkStandardList = list;
// list.forEach((item) => {
// if (item.PARENT_ID === "0") {
// data.categoryList.push(item);
// }
// });
// };
// fnCheckStandard();
const goChange = (event) => {
if (fnFindValueInList(props.categoryData, data.CHECK_CATEGORY_NAME)) {
form.value.letCategoryType = "select";
@ -141,7 +140,10 @@ const goChange = (event) => {
form.value.CHECK_CATEGORY_NAME = data.CHECK_CATEGORY_NAME;
}
if (form.value.letCategoryType === "select" && event) {
data.itemData = [];
getItemList(data.CHECK_CATEGORY_NAME);
} else {
data.itemData = [];
}
if (fnFindValueInList(data.itemData, data.CHECK_ITEM_NAME)) {
form.value.letItemType = "select";
@ -188,7 +190,7 @@ const rules = {
],
REFERENCE_BASIS: [
{
required: true,
required: false,
message: "参考依据不能为空",
trigger: "change",
},

View File

@ -0,0 +1,290 @@
<template>
<el-dialog
v-model="visible"
title="导入排查清单"
:before-close="fnClose"
width="70%"
>
<el-divider content-position="left">隐患排查清单信息</el-divider>
<el-form ref="formRef" :model="form" :rules="rules" label-width="100px">
<el-row>
<el-col :span="6">
<el-form-item label="清单名称" prop="NAME">
<el-input v-model="form.NAME" placeholder="请输入内容" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item
v-if="SPECIAL_ENTERPRISES.includes(CORPINFO_ID)"
label="是否包保责任人任务"
prop="BAO_BAO_TYPE"
label-width="160px"
>
<el-select v-model="form.BAO_BAO_TYPE">
<el-option
v-for="item in [
{ BIANMA: '0', NAME: '否' },
{ BIANMA: '1', NAME: '是' },
]"
:key="item.BIANMA"
:label="item.NAME"
:value="item.BIANMA"
/>
</el-select>
</el-form-item>
</el-col>
<el-col v-if="form.BAO_BAO_TYPE === '1'" :span="6">
<el-form-item label="任务类型" prop="TASK_TYPE">
<el-select v-model="form.TASK_TYPE">
<el-option
v-for="item in taskTypeList"
:key="item.DICTIONARIES_ID"
:label="item.NAME"
:value="item.DICTIONARIES_ID"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item prop="DEPARTMENT_ID" label="部门">
<layout-department
v-model="form.DEPARTMENT_ID"
@update:model-value="fnDepartmentChange"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="岗位" prop="POST_ID">
<el-select v-model="form.POST_ID" @change="fnPostChange">
<el-option
v-for="item in data.postList"
:key="item.POST_ID"
:label="item.NAME"
:value="item.POST_ID"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item v-if="!ID" label="负责人" prop="USER_IDS">
<el-select v-model="form.USER_IDS" multiple>
<el-option
v-for="item in data.userList"
:key="item.USER_ID"
:label="item.NAME"
:value="item.USER_ID"
/>
</el-select>
</el-form-item>
<el-form-item v-else-if="ID" label="负责人" prop="USER_ID">
<el-select v-model="form.USER_ID">
<el-option
v-for="item in data.userList"
:key="item.USER_ID"
:label="item.NAME"
:value="item.USER_ID"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="排查类型" prop="SCREENTYPE">
<el-select v-model="form.SCREENTYPE">
<el-option
v-for="item in troubleshootingTypeList"
:key="item.BIANMA"
:label="item.NAME"
:value="item.BIANMA"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="排查周期" prop="PERIOD">
<el-select v-model="form.PERIOD">
<el-option
v-for="item in troubleshootingCycleList"
:key="item.BIANMA"
:label="item.NAME"
:value="item.BIANMA"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="清单类型" prop="TYPE">
<el-select v-model="form.TYPE">
<el-option
v-for="item in inventoryTypeList"
:key="item.BIANMA"
:label="item.NAME"
:value="item.BIANMA"
/>
</el-select>
</el-form-item>
</el-col>
<el-col
v-if="form.TYPE === 'listType0005' || form.TYPE === 'listType0006'"
:key="form.TYPE"
:span="6"
>
<el-form-item label="排查日期" prop="dates">
<el-date-picker
v-model="form.dates"
:disabled-date="
form.TYPE === 'listType0006' ? fnDisabledDate : null
"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-divider content-position="left">导入Excel文件</el-divider>
<el-form-item prop="file">
<layout-upload v-model:file-list="form.file" accept=".xls" />
</el-form-item>
<template #footer>
<el-button @click="fnExportTemplates"></el-button>
<el-button @click="fnClose"></el-button>
<el-button type="primary" @click="fnSubmit"> </el-button>
</template>
</el-dialog>
</template>
<script setup>
import { reactive, ref, watchEffect } from "vue";
import { useVModels } from "@vueuse/core";
import { debounce } from "throttle-debounce";
import useFormValidate from "@/assets/js/useFormValidate.js";
import { SPECIAL_ENTERPRISES } from "@/assets/js/constant.js";
import LayoutDepartment from "@/components/department/index.vue";
import { useUserStore } from "@/pinia/user.js";
import {
layoutFnGetInventoryType,
layoutFnGetTaskType,
layoutFnGetTroubleshootingCycle,
layoutFnGetTroubleshootingType,
} from "@/assets/js/data_dictionary.js";
import { getPostListAll, getUserListAll } from "@/request/data_dictionary.js";
import LayoutUpload from "@/components/upload/index.vue";
import { ElMessage, ElMessageBox } from "element-plus";
const props = defineProps({
visible: {
type: Boolean,
required: true,
default: false,
},
form: {
type: Object,
required: true,
default: () => ({}),
},
});
const VITE_TEMPLATE_URL = import.meta.env.VITE_TEMPLATE_URL;
const emits = defineEmits(["update:visible", "update:form", "submit"]);
const { visible, form } = useVModels(props, emits);
const formRef = ref(null);
const userStore = useUserStore();
const CORPINFO_ID = userStore.getUserInfo.CORPINFO_ID;
const taskTypeList = await layoutFnGetTaskType();
const troubleshootingTypeList = await layoutFnGetTroubleshootingType();
const troubleshootingCycleList = await layoutFnGetTroubleshootingCycle();
const inventoryTypeList = await layoutFnGetInventoryType();
const data = reactive({
nameValue: "",
CHECK_CATEGORY_NAME: "",
CHECK_ITEM_NAME: "",
standardData: props.standardData,
itemData: [],
postList: [],
importDialogVisible: false,
});
const rules = {
NAME: [{ required: true, message: "清单名称不能为空", trigger: "blur" }],
BAO_BAO_TYPE: [
{
required: true,
message: "是否包保责任人任务不能为空",
trigger: "change",
},
],
TASK_TYPE: [
{ required: true, message: "任务类型不能为空", trigger: "change" },
],
DEPARTMENT_ID: [
{ required: true, message: "部门不能为空", trigger: "change" },
],
POST_ID: [{ required: true, message: "岗位不能为空", trigger: "change" }],
USER_IDS: [{ required: true, message: "负责人不能为空", trigger: "change" }],
USER_ID: [{ required: true, message: "负责人不能为空", trigger: "change" }],
SCREENTYPE: [
{ required: true, message: "排查类型不能为空", trigger: "change" },
],
PERIOD: [{ required: true, message: "排查周期不能为空", trigger: "change" }],
TYPE: [{ required: true, message: "清单类型不能为空", trigger: "change" }],
dates: [{ required: true, message: "排查日期不能为空", trigger: "change" }],
file: [{ required: true, message: "附件不能为空", trigger: "change" }],
};
const fnDepartmentChange = () => {
data.postList = [];
data.userList = [];
form.value.POST_ID = "";
form.value.USER_IDS = [];
form.value.USER_ID = "";
};
const fnPostChange = () => {
data.userList = [];
form.value.USER_IDS = [];
form.value.USER_ID = "";
};
const fnGetPost = async (DEPARTMENT_ID) => {
const resData = await getPostListAll({ DEPARTMENT_ID });
data.postList = resData.postList;
};
const fnGetUser = async (POST_ID) => {
const resData = await getUserListAll({ POST_ID });
data.userList = resData.userList;
};
const fnClose = () => {
// form.resetFields();
visible.value = false;
};
const fnSubmit = debounce(
1000,
async () => {
await useFormValidate(formRef);
if (!form.value.file[0]) {
ElMessage.warning("请上传文件!");
}
const formData = new FormData();
Object.keys(form.value).forEach((key) => {
formData.append(key, form.value[key]);
});
formData.append("FFILE", form.value.file[0].raw);
formData.append("FFILEName", form.value.file[0].name);
console.log(form.value);
console.log(formData);
emits("submit", formData);
fnClose();
},
{ atBegin: true }
);
const fnExportTemplates = async () => {
await ElMessageBox.confirm("确定要下载excel模板吗", { type: "warning" });
window.open(VITE_TEMPLATE_URL + props.templateUrl);
};
watchEffect(() => {
if (form.value.DEPARTMENT_ID) fnGetPost(form.value.DEPARTMENT_ID);
if (form.value.POST_ID) fnGetUser(form.value.POST_ID);
});
</script>
<style scoped lang="scss"></style>

View File

@ -0,0 +1,59 @@
<template>
<el-dialog v-model="visible" title="设置包保责任类型">
<layout-table :data="list" :show-pagination="false">
<el-table-column type="index" label="序号" width="55" />
<el-table-column prop="DESCRIBE" label="描述" />
<el-table-column label="操作" width="100px">
<template v-slot="{ row }">
<el-button type="primary" text link @click="fnCheck(row)">
选择
</el-button>
</template>
</el-table-column>
</layout-table>
<template #footer>
<el-button @click="fnClose"></el-button>
</template>
</el-dialog>
</template>
<script setup>
import { useVModel } from "@vueuse/core";
import useListData from "@/assets/js/useListData.js";
import { setCustomInsuranceCoverageList } from "@/request/hazard_investigation.js";
import { watchEffect } from "vue";
const props = defineProps({
visible: {
type: Boolean,
required: true,
default: false,
},
info: {
type: Object,
required: true,
default: () => ({}),
},
});
const emits = defineEmits(["update:visible", "check"]);
const visible = useVModel(props, "visible", emits);
const { list, fnGetData } = useListData(setCustomInsuranceCoverageList, {
usePagination: false,
immediate: false,
});
watchEffect(() => {
if (props.visible)
fnGetData({
WORK_TYPE: props.info.TASK_TYPE_NUM,
});
});
const fnClose = () => {
visible.value = false;
};
const fnCheck = (row) => {
emits("check", row);
fnClose();
};
</script>
<style scoped lang="scss"></style>

View File

@ -77,6 +77,13 @@
<el-button native-type="reset" @click="fnResetPaginationTransfer">
重置
</el-button>
<el-button
v-if="name !== 'risk'"
type="primary"
@click="data.importCustomDialogVisible.visible = true"
>
导入
</el-button>
</el-form-item>
</el-col>
</el-row>
@ -95,7 +102,7 @@
</template>
</el-table-column>
<el-table-column prop="NAME" label="清单名称" />
<el-table-column prop="DEPARTMENT_NAME_ALL" label="部门" />
<el-table-column prop="DEPARTMENT_NAME" label="部门" />
<el-table-column prop="POST_NAME" label="岗位" />
<el-table-column
prop="USER_NAME"
@ -143,10 +150,15 @@
text
link
@click="
router.push({
name === 'risk'
? router.push({
path: '/hazard_investigation/inventory_management/print',
query: { LISTMANAGER_ID: row.LISTMANAGER_ID },
})
: router.push({
path: '/hazard_investigation/inventory_management/print_custom',
query: { ID: row.CUSTOM_ID },
})
"
>
打印
@ -171,10 +183,15 @@
text
link
@click="
router.push({
name === 'risk'
? router.push({
path: '/hazard_investigation/inventory_management/edit',
query: { LISTMANAGER_ID: row.LISTMANAGER_ID },
})
: router.push({
path: '/hazard_investigation/inventory_management/edit_custom',
query: { ID: row.CUSTOM_ID },
})
"
>
修改
@ -240,10 +257,15 @@
text
link
@click="
router.push({
name === 'risk'
? router.push({
path: '/hazard_investigation/inventory_management/insurance_coverage',
query: { LISTMANAGER_ID: row.LISTMANAGER_ID },
})
: router.push({
path: '/hazard_investigation/inventory_management/insurance_coverage_custom',
query: { ID: row.CUSTOM_ID },
})
"
>
设置包保责任类型
@ -259,7 +281,7 @@
path:
name === 'risk'
? '/hazard_investigation/inventory_management/add'
: '/hazard_investigation/inventory_management/check_standard_add',
: '/hazard_investigation/inventory_management/add_custom',
})
"
>
@ -283,6 +305,7 @@
</layout-table>
<list-qr-code
:info="data.listQrCodeDialog.info"
:type="data.listQrCodeDialog.TYPE"
v-model:visible="data.listQrCodeDialog.visible"
/>
<inspection-route
@ -291,6 +314,11 @@
:info="data.inspectionRouteDialog.info"
/>
</div>
<import-custom
v-model:visible="data.importCustomDialogVisible.visible"
v-model:form="data.importCustomDialogVisible.form"
@submit="fnSubmitImport"
></import-custom>
</template>
<script setup>
@ -316,6 +344,7 @@ import {
setCustomBatchDeleteTemporary,
setCustomDisable,
setCustomEnable,
// setCustomImport,
setInventoryManagementBatchDelete,
setInventoryManagementBatchDeleteTemporary,
setInventoryManagementDisable,
@ -324,6 +353,7 @@ import {
import ListQrCode from "./list_qr_code.vue";
import InspectionRoute from "./inspection_route.vue";
import { useRouter } from "vue-router";
import ImportCustom from "./import_custom.vue";
const tabName = defineProps({
name: {
@ -348,12 +378,30 @@ const data = reactive({
listQrCodeDialog: {
visible: false,
info: {},
TYPE: "",
},
inspectionRouteDialog: {
visible: false,
list: [],
info: {},
},
importCustomDialogVisible: {
visible: false,
form: {
NAME: "",
BAO_BAO_TYPE: "",
TASK_TYPE: "",
DEPARTMENT_ID: "",
POST_ID: "",
USER_IDS: [],
USER_ID: "",
SCREENTYPE: "",
PERIOD: "",
TYPE: "",
dates: [],
file: [],
},
},
});
const fnGetDataTransfer = () => {
fnGetData({
@ -367,6 +415,7 @@ const fnResetPaginationTransfer = () => {
};
const fnListQRCode = (row) => {
data.listQrCodeDialog.visible = true;
data.listQrCodeDialog.TYPE = tabName.name;
data.listQrCodeDialog.info = row;
};
const fnInspectionRoute = async (row) => {
@ -478,6 +527,12 @@ const fnInheritanceList = () => {
},
});
};
const fnSubmitImport = async (formData) => {
console.log(formData.PERIOD);
// const resData = await setCustomImport(formData);
// ElMessage.success(resData.msg);
fnResetPagination();
};
</script>
<style scoped></style>

View File

@ -22,7 +22,9 @@
{{ info.TYPENAME }}
</el-descriptions-item>
</el-descriptions>
<layout-qr-code :src="info.LISTMANAGER_ID" />
<layout-qr-code
:src="type === 'risk' ? info.LISTMANAGER_ID : info.CUSTOM_ID"
/>
<el-divider content-position="left">APP-待排查-清单扫描</el-divider>
</div>
<template #footer>
@ -42,6 +44,11 @@ const props = defineProps({
required: true,
default: false,
},
type: {
type: String,
required: true,
default: String,
},
info: {
type: Object,
required: true,

View File

@ -7,13 +7,16 @@
>
<el-row>
<el-col :span="6">
<el-form-item label="检查类型" prop="KEYWORDS" @change="getLevelData">
<el-select v-model="searchForm.CHECK_CATEGORY">
<el-form-item label="检查类型" prop="KEYWORDS">
<el-select
v-model="searchForm.CHECK_CATEGORY"
@change="getLevelData"
>
<el-option
v-for="item in data.categoryList"
:key="item.DICTIONARY_ID"
:label="item.DICTIONARY_NAME"
:value="item.DICTIONARY_ID"
v-for="item in categoryData"
:key="item.DICTIONARIES_ID"
:label="item.NAME"
:value="item.DICTIONARIES_ID"
/>
</el-select>
</el-form-item>
@ -22,10 +25,10 @@
<el-form-item label="检查项目" prop="DEPARTMENT_ID">
<el-select v-model="searchForm.CHECK_ITEM">
<el-option
v-for="item in data.itemList"
:key="item.DICTIONARY_ID"
:label="item.DICTIONARY_ID"
:value="item.DICTIONARY_NAME"
v-for="item in data.itemData"
:key="item.DICTIONARIES_ID"
:label="item.NAME"
:value="item.DICTIONARIES_ID"
/>
</el-select>
</el-form-item>
@ -56,22 +59,23 @@
row-key="CUSTOM_ITEM_ID"
>
<el-table-column reserve-selection type="selection" width="55" />
<el-table-column label="序号" width="70">
<el-table-column label="序号" width="55">
<template v-slot="{ $index }">
{{ serialNumber(pagination, $index) }}
</template>
</el-table-column>
<el-table-column
prop="CHECK_CATEGORY_NAME"
label="检查类别"
width="105"
/>
<el-table-column prop="CHECK_CATEGORY_NAME" label="检查类别" width="90" />
<el-table-column prop="CHECK_ITEM_NAME" label="检查项目" width="90" />
<el-table-column prop="CHECK_CONTENT" label="检查内容" />
<el-table-column prop="CHECK_STANDARD" label="检查标准" width="100" />
<el-table-column prop="CHECK_QUALIFIED" label="检查合格项" width="90" />
<el-table-column prop="CHECK_UNQUALIFIED" label="检查不合格项" />
<el-table-column label="操作类型">
<el-table-column prop="CHECK_CONTENT" label="检查内容" width="200" />
<el-table-column prop="CHECK_STANDARD" label="检查标准" width="200" />
<el-table-column prop="REFERENCE_BASIS" label="参考依据" width="200" />
<el-table-column prop="CHECK_QUALIFIED" label="检查合格项" width="200" />
<el-table-column
prop="CHECK_UNQUALIFIED"
label="检查不合格项"
width="200"
/>
<el-table-column label="操作类型" width="100">
<template v-slot="{ row }">
<span v-if="row.OPERATION_TYPE === 1"></span>
<span v-if="row.OPERATION_TYPE === 2"></span>
@ -79,7 +83,7 @@
</el-table-column>
<el-table-column prop="OPERATION_TYPE" label="操作">
<template v-slot="{ row }">
<el-button type="primary" text link @click="edit(row)"
<el-button type="primary" text link @click="goEdit(row)"
>修改</el-button
>
</template>
@ -90,16 +94,29 @@
<el-button type="primary" @click="fnSubmit"> </el-button>
</template>
</el-dialog>
<add-checkstandard
title="修改检查标准"
type="edit"
v-model:visible="data.editOrEditDialog.visible"
v-model:form="data.editOrEditDialog.form"
@submit="fnEditStandardSubmit"
/>
</template>
<script setup>
import { useVModel } from "@vueuse/core";
import { debounce } from "throttle-debounce";
import useListData from "@/assets/js/useListData.js";
import { getCheckstandardCommonList } from "@/request/hazard_investigation.js";
import {
getCheckstandardCommonList,
setCommonItemEdit,
} from "@/request/hazard_investigation.js";
import { reactive, watch } from "vue";
import { serialNumber } from "@/assets/js/utils.js";
import { differenceWith } from "lodash-es";
// import useFormValidate from "@/assets/js/useFormValidate.js";
import { ElMessage } from "element-plus";
import AddCheckstandard from "@/views/hazard_investigation/inventory_management/components/checkstandard_add.vue";
const props = defineProps({
visible: {
@ -112,11 +129,24 @@ const props = defineProps({
required: true,
default: () => [],
},
standardData: {
type: Array,
required: true,
default: () => [],
},
categoryData: {
type: Array,
required: true,
default: () => [],
},
});
// const formRef = ref(null);
const data = reactive({
checkStandardList: [],
categoryList: [],
itemList: [],
itemData: [],
editOrEditDialog: {
visible: false,
form: {},
},
});
const emits = defineEmits(["update:visible", "submit"]);
const visible = useVModel(props, "visible", emits);
@ -125,23 +155,13 @@ const { list, searchForm, pagination, fnGetData, fnResetPagination, tableRef } =
immediate: false,
clearSelection: false,
});
// const fnCheckStandard = async () => {
// const list = await layoutFnGetCheckStandard();
// data.checkStandardList = list;
// list.forEach((item) => {
// if (item.PARENT_ID === "0") {
// data.categoryList.push(item);
// }
// });
// };
// fnCheckStandard();
const getLevelData = () => {
data.checkStandardList.forEach((item) => {
props.standardData.forEach((item) => {
if (
item.PARENT_ID !== "0" &&
item.PARENT_IDS.contains(searchForm.CHECK_CATEGORY)
item.PARENT_IDS.includes(searchForm.CHECK_CATEGORY)
) {
this.itemList.push(item);
data.itemData.push(item);
}
});
};
@ -167,6 +187,24 @@ const fnSubmit = debounce(
},
{ atBegin: true }
);
const goEdit = (row) => {
data.editOrEditDialog.form = row;
// data.editOrEditDialog.form.CHECK_CATEGORY = row.CHECK_CATEGORY_NAME;
// data.editOrEditDialog.form.CHECK_ITEM = row.CHECK_ITEM_NAME;
data.editOrEditDialog.visible = true;
};
const fnEditStandardSubmit = debounce(
1000,
async () => {
// await useFormValidate(formRef);
const params = {
...data.editOrEditDialog.form,
};
await setCommonItemEdit(params);
ElMessage.success("保存成功");
},
{ atBegin: true }
);
</script>
<style scoped lang="scss"></style>

View File

@ -1,385 +0,0 @@
<template>
<div>
<el-form
:model="searchForm"
label-width="90px"
@submit.prevent="fnResetPaginationTransfer"
>
<el-row
>{{ name }}
<el-col :span="6">
<el-form-item label="清单名称" prop="KEYWORDS">
<el-input
v-model="searchForm.KEYWORDS"
placeholder="请输入关键字"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="人员" prop="USERNAME">
<el-input
v-model="searchForm.USERNAME"
placeholder="请输入关键字"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="部门" prop="DEPTIDS">
<layout-department
v-model="searchForm.DEPTIDS"
multiple
show-checkbox
collapse-tags
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="清单类型" prop="TYPE">
<el-select v-model="searchForm.TYPE">
<el-option
v-for="item in inventoryTypeList"
:key="item.BIANMA"
:label="item.NAME"
:value="item.BIANMA"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="排查类型" prop="RISKCHECKLISTTYPE">
<el-select v-model="searchForm.RISKCHECKLISTTYPE">
<el-option
v-for="item in troubleshootingTypeList"
:key="item.BIANMA"
:label="item.NAME"
:value="item.BIANMA"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="清单级别" prop="LISTINGLEVEL">
<el-select v-model="searchForm.LISTINGLEVEL">
<el-option
v-for="item in [
{ BIANMA: '1', NAME: '公司' },
...inventoryLevelList,
]"
:key="item.BIANMA"
:label="item.NAME"
:value="item.BIANMA"
/>
</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>
<layout-table
ref="tableRef"
:data="list"
v-model:pagination="pagination"
@get-data="fnGetDataTransfer"
:row-key="CUSTOM_ID"
>
<el-table-column reserve-selection type="selection" width="55" />
<el-table-column label="序号" width="70">
<template v-slot="{ $index }">
{{ serialNumber(pagination, $index) }}
</template>
</el-table-column>
<el-table-column prop="NAME" label="清单名称" />
<el-table-column prop="DEPARTMENT_NAME_ALL" label="部门" />
<el-table-column prop="POST_NAME" label="岗位" />
<el-table-column
prop="USER_NAME"
label="人员"
width="100"
show-overflow-tooltip
/>
<el-table-column
prop="PERIODNAME"
label="排查周期"
width="100"
show-overflow-tooltip
/>
<el-table-column
prop="SCREENTYPENAME"
label="排查类型"
width="100"
show-overflow-tooltip
/>
<el-table-column
prop="TYPENAME"
label="清单类型"
width="100"
show-overflow-tooltip
/>
<el-table-column
v-if="SPECIAL_ENTERPRISES.includes(CORPINFO_ID)"
prop="TASK_TYPE_NAME"
label="任务类型"
width="100"
show-overflow-tooltip
/>
<el-table-column label="状态" width="100">
<template v-slot="{ row }">
<span v-if="row.ISDELETE === '0'"></span>
<span v-else-if="row.ISDELETE === '1'">禁用</span>
<span v-else-if="row.ISDELETE === '-99'">未开始</span>
</template>
</el-table-column>
<el-table-column label="操作" width="470">
<template v-slot="{ row }">
<el-button
v-if="buttonJurisdiction.edit"
type="primary"
text
link
@click="
router.push({
path: '/hazard_investigation/inventory_management/print',
query: { CUSTOM_ID: row.CUSTOM_ID },
})
"
>
打印
</el-button>
<el-button
v-if="buttonJurisdiction.edit"
type="primary"
text
link
@click="fnListQRCode(row)"
>
清单二维码
</el-button>
<el-button
v-if="
(row.cdcount === 0 &&
(row.USER_ID === USER_ID || buttonJurisdiction.edit) &&
row.TYPE !== 'listType0006') ||
row.ISDELETE === '-99'
"
type="primary"
text
link
@click="
router.push({
path: '/hazard_investigation/inventory_management/edit',
query: { CUSTOM_ID: row.CUSTOM_ID },
})
"
>
修改
</el-button>
<el-button
v-if="
row.ISDELETE === '0' &&
(row.USER_ID === USER_ID || buttonJurisdiction.edit)
"
type="primary"
text
link
@click="fnDisable(row.CUSTOM_ID)"
>
禁用
</el-button>
<el-button
v-if="
row.ISDELETE === '1' &&
(row.USER_ID === USER_ID || buttonJurisdiction.edit)
"
type="primary"
text
link
@click="fnEnable(row.CUSTOM_ID)"
>
启用
</el-button>
<el-button
v-if="row.TASK_TYPE && row.TASK_TYPE !== ''"
type="primary"
text
link
@click="
router.push({
path: '/hazard_investigation/inventory_management/insurance_coverage',
query: { CUSTOM_ID: row.CUSTOM_ID },
})
"
>
设置包保责任类型
</el-button>
</template>
</el-table-column>
<template #button>
<el-button
v-if="buttonJurisdiction.add"
type="primary"
@click="
router.push({
path:
name === 'risk'
? '/hazard_investigation/inventory_management/add'
: '/hazard_investigation/inventory_management/check_standard_add',
})
"
>
新增
</el-button>
<el-button
v-if="buttonJurisdiction.del"
type="danger"
@click="fnBatchDelete"
>
批量删除
</el-button>
</template>
</layout-table>
<list-qr-code
:info="data.listQrCodeDialog.info"
v-model:visible="data.listQrCodeDialog.visible"
/>
<inspection-route
v-model:visible="data.inspectionRouteDialog.visible"
v-model:list="data.inspectionRouteDialog.list"
:info="data.inspectionRouteDialog.info"
/>
</div>
</template>
<script setup>
import { serialNumber } from "@/assets/js/utils.js";
import { reactive } from "vue";
import useListData from "@/assets/js/useListData.js";
import LayoutDepartment from "@/components/department/index.vue";
import { debounce } from "throttle-debounce";
import { ElMessage, ElMessageBox } from "element-plus";
import useButtonJurisdiction from "@/assets/js/useButtonJurisdiction.js";
import {
layoutFnGetInventoryLevel,
layoutFnGetInventoryType,
layoutFnGetTroubleshootingType,
} from "@/assets/js/data_dictionary.js";
import { SPECIAL_ENTERPRISES } from "@/assets/js/constant.js";
import { useUserStore } from "@/pinia/user.js";
import {
getInventoryManagementList,
setCustomBatchBatchDelete,
setCustomBatchDeleteTemporary,
setCustomDisable,
setCustomEnable,
} from "@/request/hazard_investigation.js";
import ListQrCode from "./list_qr_code.vue";
import InspectionRoute from "./inspection_route.vue";
import { useRouter } from "vue-router";
defineProps({
name: {
type: String,
required: true,
default: "",
},
});
const router = useRouter();
const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } =
useListData(getInventoryManagementList);
// getCustomList
const userStore = useUserStore();
const USER_ID = userStore.getUserInfo.USER_ID;
const CORPINFO_ID = userStore.getUserInfo.CORPINFO_ID;
const buttonJurisdiction = await useButtonJurisdiction("listmanager");
const inventoryTypeList = await layoutFnGetInventoryType();
const troubleshootingTypeList = await layoutFnGetTroubleshootingType();
const inventoryLevelList = await layoutFnGetInventoryLevel();
const data = reactive({
listQrCodeDialog: {
visible: false,
info: {},
},
inspectionRouteDialog: {
visible: false,
list: [],
info: {},
},
});
const fnGetDataTransfer = () => {
fnGetData({
DEPTIDS: searchForm.value.DEPTIDS?.join(","),
});
};
const fnResetPaginationTransfer = () => {
fnResetPagination({
DEPTIDS: searchForm.value.DEPTIDS?.join(","),
});
};
const fnListQRCode = (row) => {
data.listQrCodeDialog.visible = true;
data.listQrCodeDialog.info = row;
};
const fnDisable = debounce(
1000,
async (ID) => {
await ElMessageBox.confirm("确定要禁用吗?", { type: "warning" });
await setCustomDisable({ ID });
ElMessage.success("禁用成功");
fnResetPaginationTransfer();
},
{ atBegin: true }
);
const fnEnable = debounce(
1000,
async (ID) => {
await ElMessageBox.confirm("确定要启用吗?", { type: "warning" });
await setCustomEnable({ ID });
ElMessage.success("启用成功");
fnResetPaginationTransfer();
},
{ atBegin: true }
);
const fnBatchDelete = debounce(
1000,
async () => {
const selectionData = tableRef.value.getSelectionRows();
if (selectionData.length === 0) {
ElMessage.warning("请选中要删除的项");
return;
}
const DATA_IDS1 = [];
const DATA_IDS2 = [];
selectionData.forEach((item) => {
if (item.TYPE === "listType0006") {
DATA_IDS1.push(item.CUSTOM_ID);
DATA_IDS2.push(item.CUSTOM_ID);
}
});
if (DATA_IDS1.length > 0) {
await ElMessageBox.confirm(
"临时清单会彻底被删除不可恢复,确定要删除吗?",
{ type: "warning" }
);
await setCustomBatchDeleteTemporary({
DATA_IDS: DATA_IDS1.join(","),
});
} else {
await ElMessageBox.confirm("确定要删除选中的数据吗?", {
type: "warning",
});
}
await setCustomBatchBatchDelete({ DATA_IDS: DATA_IDS2.join(",") });
ElMessage.success("删除成功");
fnResetPaginationTransfer();
},
{ atBegin: true }
);
</script>
<style scoped></style>

View File

@ -0,0 +1,127 @@
<template>
<layout-card>
<el-divider content-position="left">清单信息</el-divider>
<el-descriptions :column="2" border>
<el-descriptions-item label="清单名称">
{{ info.NAME }}
</el-descriptions-item>
<el-descriptions-item label="排查清单类型">
{{ info.SCREENTYPENAME }}
</el-descriptions-item>
<el-descriptions-item label="包保责任人部门">
{{ info.DEPARTMENT_NAME }}
</el-descriptions-item>
<el-descriptions-item label="包保责任人岗位">
{{ info.POST_NAME }}
</el-descriptions-item>
<el-descriptions-item label="排查周期">
{{ info.PERIODNAME }}
</el-descriptions-item>
<el-descriptions-item label="清单类型">
{{ info.TYPENAME }}
</el-descriptions-item>
<el-descriptions-item label="包保责任人">
{{ info.USER_NAME }}
</el-descriptions-item>
</el-descriptions>
<el-divider content-position="left">检查内容</el-divider>
<layout-table :data="list" :show-pagination="false">
<el-table-column type="index" label="序号" width="55" />
<el-table-column
prop="CHECK_CATEGORY_NAME"
label="检查类别"
width="120"
/>
<el-table-column prop="CHECK_ITEM_NAME" label="检查项目" width="120" />
<el-table-column prop="CHECK_CONTENT" label="检查内容" width="200" />
<el-table-column prop="CHECK_STANDARD" label="检查标准" width="200" />
<el-table-column prop="REFERENCE_BASIS" label="参考依据" width="200" />
<el-table-column prop="CHECK_QUALIFIED" label="检查合格项" width="150" />
<el-table-column
prop="CHECK_UNQUALIFIED"
label="检查不合格项"
width="150"
/>
<el-table-column label="操作类型" width="100">
<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
prop="BAO_BAO_NUM_NAME"
label="包保任务对应项"
width="150"
/>
<el-table-column label="操作">
<template v-slot="{ row, $index }">
<el-button type="primary" text link @click="fnSelect(row, $index)">
选择
</el-button>
</template>
</el-table-column>
</layout-table>
<div class="tc mt-10">
<el-button type="primary" @click="fnSubmit"></el-button>
</div>
<insurance-coverage-select-custom
v-model:visible="data.selectDialog.visible"
:info="data.selectDialog.info"
@check="fnCheck"
/>
</layout-card>
</template>
<script setup>
import {
getCheckStandardManagementView,
setCustomInsuranceCoverageSave,
} from "@/request/hazard_investigation.js";
import { useRoute, useRouter } from "vue-router";
import { reactive, ref } from "vue";
import { debounce } from "throttle-debounce";
import { ElMessage } from "element-plus";
import InsuranceCoverageSelectCustom from "./components/insurance_coverage_select_custom.vue";
import useListData from "@/assets/js/useListData.js";
const route = useRoute();
const router = useRouter();
const { ID } = route.query;
const info = ref({});
const data = reactive({
selectDialog: {
visible: false,
info: {},
index: 111,
},
});
const { list } = useListData(getCheckStandardManagementView, {
otherParams: { ID },
usePagination: false,
callbackFn: (list, resData) => {
info.value = resData.pd;
},
});
const fnSelect = (row, index) => {
data.selectDialog.visible = true;
data.selectDialog.info = row;
data.selectDialog.index = index;
};
const fnCheck = (row) => {
list.value[data.selectDialog.index].BAO_BAO_NUM_NAME = row.DESCRIBE;
list.value[data.selectDialog.index].BAO_BAO_NUM = row.TASK_NUM;
};
const fnSubmit = debounce(
1000,
async () => {
await setCustomInsuranceCoverageSave({
list: JSON.stringify(list.value),
});
ElMessage.success("保存成功");
router.back();
},
{ atBegin: true }
);
</script>
<style scoped lang="scss"></style>

View File

@ -0,0 +1,136 @@
<template>
<layout-card>
<div id="printContainer">
<el-divider content-position="left">清单信息</el-divider>
<el-descriptions :column="2" border>
<el-descriptions-item label="清单名称">
{{ info.NAME }}
</el-descriptions-item>
<el-descriptions-item label="排查清单类型">
{{ info.SCREENTYPENAME }}
</el-descriptions-item>
<el-descriptions-item
:label="info.BAO_BAO_TYPE !== '1' ? '所属部门' : '包保责任人部门'"
>
{{ info.DEPARTMENT_NAME }}
</el-descriptions-item>
<el-descriptions-item
:label="info.BAO_BAO_TYPE !== '1' ? '所属岗位' : '包保责任人岗位'"
>
{{ info.POST_NAME }}
</el-descriptions-item>
<el-descriptions-item label="排查周期">
{{ info.PERIODNAME }}
</el-descriptions-item>
<el-descriptions-item label="清单类型">
{{ info.TYPENAME }}
</el-descriptions-item>
<el-descriptions-item
label="排查日期"
:span="2"
v-if="info.TYPE === 'listType0006'"
>
{{ info.START_DATE }} - {{ info.END_DATE }}
</el-descriptions-item>
<template v-if="info.BAO_BAO_TYPE === '1'">
<el-descriptions-item label="是否包保责任人任务">
</el-descriptions-item>
<el-descriptions-item label="包保责任人">
{{ info.USER_NAME }}
</el-descriptions-item>
</template>
</el-descriptions>
<el-divider content-position="left">检查内容</el-divider>
<div class="print_no_use">
<layout-table :data="list" :show-pagination="false">
<el-table-column type="index" label="序号" width="55" />
<el-table-column
prop="CHECK_CATEGORY_NAME"
label="检查类别"
width="180"
/>
<el-table-column
prop="CHECK_ITEM_NAME"
label="检查项目"
width="180"
/>
<el-table-column prop="CHECK_CONTENT" label="检查内容" width="200" />
<el-table-column prop="CHECK_STANDARD" label="检查标准" width="200" />
<el-table-column
prop="REFERENCE_BASIS"
label="参考依据"
width="200"
/>
<el-table-column
prop="CHECK_QUALIFIED"
label="检查合格项"
width="200"
/>
<el-table-column
prop="CHECK_UNQUALIFIED"
label="检查不合格项"
width="200"
/>
<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>
</layout-table>
</div>
<table class="print_use">
<thead>
<tr>
<th width="50">序号</th>
<th width="100">检查类别</th>
<th width="100">检查项目</th>
<th width="100">检查内容</th>
<th>检查标准</th>
<th>检查合格项</th>
<th>检查不合格项</th>
<th width="100">操作类型</th>
</tr>
</thead>
<tbody>
<tr v-for="(item, index) in list" :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.CHECK_QUALIFIED }}</td>
<td>{{ item.CHECK_UNQUALIFIED }}</td>
<td>{{ item.OPERATION_TYPE === 1 ? "选择" : "填写" }}</td>
</tr>
</tbody>
</table>
</div>
<div class="tc mt-10">
<el-button v-print="'#printContainer'" type="primary"> </el-button>
</div>
<div v-html="PRINT_STYLE" />
</layout-card>
</template>
<script setup>
import { getCheckStandardManagementView } from "@/request/hazard_investigation.js";
import { useRoute } from "vue-router";
import { ref } from "vue";
import { PRINT_STYLE } from "@/assets/js/constant.js";
import useListData from "@/assets/js/useListData.js";
const route = useRoute();
const { ID } = route.query;
const info = ref({});
const { list } = useListData(getCheckStandardManagementView, {
otherParams: { ID },
usePagination: false,
callbackFn: (list, resData) => {
info.value = resData.pd;
},
});
</script>
<style scoped lang="scss"></style>