|
|
@@ -39,11 +39,11 @@
|
|
|
<div class="row">
|
|
|
<div class="col">
|
|
|
<div class="label">主责部门执行人所属分组名称:</div>
|
|
|
- <div class="value">{{ viewDetail.mainDeptExecutorGroupName || '-' }}</div>
|
|
|
+ <div class="value">{{ viewDetail.primaryResponsibleDeptExecGroupName || '-' }}</div>
|
|
|
</div>
|
|
|
<div class="col">
|
|
|
<div class="label">主责部门责任人:</div>
|
|
|
- <div class="value">{{ viewDetail.mainDeptResponsiblePerson || '-' }}</div>
|
|
|
+ <div class="value">{{ viewDetail.primaryResponsibleDeptPersonName || '-' }}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="row">
|
|
|
@@ -58,12 +58,12 @@
|
|
|
</div>
|
|
|
<div class="row">
|
|
|
<div class="col">
|
|
|
- <div class="label">安全应急部执行人所属分组名称:</div>
|
|
|
- <div class="value">{{ viewDetail.safetyEmergencyExecutorGroupName || '-' }}</div>
|
|
|
+ <div class="label">安全应急部执行人所属分组名称:</div>
|
|
|
+ <div class="value">{{ viewDetail.safetyEmergencyExecGroupName || '-' }}</div>
|
|
|
</div>
|
|
|
<div class="col">
|
|
|
<div class="label">安全应急部责任人:</div>
|
|
|
- <div class="value">{{ viewDetail.safetyEmergencyResponsiblePerson || '-' }}</div>
|
|
|
+ <div class="value">{{ viewDetail.safetyEmergencyPersonName || '-' }}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="row">
|
|
|
@@ -79,11 +79,11 @@
|
|
|
<div class="row">
|
|
|
<div class="col">
|
|
|
<div class="label">院领导执行人所属分组名称:</div>
|
|
|
- <div class="value">{{ viewDetail.hospitalLeaderExecutorGroupName || '-' }}</div>
|
|
|
+ <div class="value">{{ viewDetail.hospitalLeaderExecGroupName || '-' }}</div>
|
|
|
</div>
|
|
|
<div class="col">
|
|
|
<div class="label">院领导责任人:</div>
|
|
|
- <div class="value">{{ viewDetail.hospitalLeaderResponsiblePerson || '-' }}</div>
|
|
|
+ <div class="value">{{ viewDetail.hospitalLeaderPersonName || '-' }}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="row">
|
|
|
@@ -175,17 +175,17 @@
|
|
|
</el-button>
|
|
|
</template>
|
|
|
<template #sign="scope">
|
|
|
- <template v-if="parseSignFiles(scope.row.checkedPersonSign || scope.row.signFile).length">
|
|
|
+ <template v-if="JSON.parse(scope.row.checkedPersonSign || '[]').length">
|
|
|
<div
|
|
|
class="file-container--div"
|
|
|
- v-for="item in parseSignFiles(scope.row.checkedPersonSign || scope.row.signFile)"
|
|
|
+ v-for="item in JSON.parse(scope.row.checkedPersonSign || '[]')"
|
|
|
:key="item.fileUrl || item.fileName"
|
|
|
>
|
|
|
- <img
|
|
|
+ <!-- <img
|
|
|
class="file-container--div__icon"
|
|
|
:src="FILE_TYPE_ICON[item.fileType as keyof typeof FILE_TYPE_ICON]"
|
|
|
@click="previewOnline(item.fileUrl, item.fileType as keyof typeof FILE_TYPE_ICON)"
|
|
|
- />
|
|
|
+ /> -->
|
|
|
<span
|
|
|
class="file-container--div__name"
|
|
|
@click="previewOnline(item.fileUrl, item.fileType as keyof typeof FILE_TYPE_ICON)"
|
|
|
@@ -293,6 +293,23 @@
|
|
|
</el-radio>
|
|
|
</el-radio-group>
|
|
|
</template>
|
|
|
+ <template #venueCategoryName>
|
|
|
+ <el-select
|
|
|
+ v-model="ruleFormData.venueCategoryName"
|
|
|
+ placeholder="请选择检查类别"
|
|
|
+ filterable
|
|
|
+ clearable
|
|
|
+ :disabled="isViewMode"
|
|
|
+ style="width: 100%"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in venueCategoryOptions"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
</BasicForm>
|
|
|
</main>
|
|
|
<footer class="safety-platform-container__footer">
|
|
|
@@ -445,6 +462,7 @@
|
|
|
queryCheckListTemplateNameList,
|
|
|
queryUnqualifiedItemNumPage,
|
|
|
sandAreaCheckRecordToProductionHiddenDanger,
|
|
|
+ exportInspectionRecordTow,
|
|
|
type ChecklistTemplate,
|
|
|
type UnqualifiedItemNumRecord,
|
|
|
type SandAreaCheckRecordToHiddenDangerReq,
|
|
|
@@ -455,6 +473,8 @@
|
|
|
HIDDEN_DANGER_FORM_DATA,
|
|
|
HIDDEN_DANGER_FORM_RULES,
|
|
|
} from '@/views/production-safety/hiddenTroubleInvestigationAndGovernance/hiddenTroubleAccountManagement/configs/form';
|
|
|
+ import { downloadByData } from '@/utils/file/download';
|
|
|
+import { id } from 'element-plus/es/locale';
|
|
|
|
|
|
const router = useRouter();
|
|
|
const route = useRoute();
|
|
|
@@ -464,7 +484,7 @@
|
|
|
const isCreateMode = computed(() => operate.value === 'area-check-plan-create');
|
|
|
const isEditMode = computed(() => operate.value === 'area-check-plan-edit');
|
|
|
const isViewMode = computed(() => operate.value === 'area-check-plan-view');
|
|
|
-
|
|
|
+ const venueCategoryOptions = ref<Array<{ label: string; value: string }>>([]);
|
|
|
const AREA_CHECK_PLAN_FORM_CONFIG = AREA_CHECK_PLAN_FORM_CONFIG_IMPORT ?? [];
|
|
|
const AREA_CHECK_PLAN_FORM_DATA = AREA_CHECK_PLAN_FORM_DATA_IMPORT ?? {};
|
|
|
const AREA_CHECK_PLAN_FORM_RULES = AREA_CHECK_PLAN_FORM_RULES_IMPORT ?? {};
|
|
|
@@ -654,6 +674,12 @@
|
|
|
createdPersonName: d?. createdPersonName ?? '-',
|
|
|
createdAt: d?.createdAt ?? '-',
|
|
|
businessWork: d?.businessWork ?? '-',
|
|
|
+ primaryResponsibleDeptExecGroupName: d?.primaryResponsibleDeptExecGroupName ?? '-',
|
|
|
+ primaryResponsibleDeptPersonName: d?.primaryResponsibleDeptPersonName ?? '-',
|
|
|
+ safetyEmergencyExecGroupName: d?.safetyEmergencyExecGroupName ?? '-',
|
|
|
+ safetyEmergencyPersonName: d?.safetyEmergencyPersonName ?? '-',
|
|
|
+ hospitalLeaderExecGroupName: d?.hospitalLeaderExecGroupName ?? '-',
|
|
|
+ hospitalLeaderPersonName: d?.hospitalLeaderPersonName ?? '-',
|
|
|
};
|
|
|
});
|
|
|
|
|
|
@@ -825,8 +851,27 @@
|
|
|
recordPagination.pageNumber = 1;
|
|
|
loadRecordList();
|
|
|
};
|
|
|
- const onRecordExport = () => {
|
|
|
- ElMessage.success('导出功能开发中');
|
|
|
+ const onRecordExport = async () => {
|
|
|
+ try {
|
|
|
+ const [start, end] = recordDateRange.value && recordDateRange.value.length === 2
|
|
|
+ ? recordDateRange.value
|
|
|
+ : ['', ''];
|
|
|
+ const queryParam = {
|
|
|
+ id: currentId.value,
|
|
|
+ searchKey: recordSearchKeyword.value || undefined,
|
|
|
+ startDate: start || undefined,
|
|
|
+ endDate: end || undefined,
|
|
|
+ };
|
|
|
+ const response = await exportInspectionRecordTow(queryParam);
|
|
|
+ if (response) {
|
|
|
+ const fileName = `区域检查记录_${new Date().toISOString().split('T')[0]}.xlsx`;
|
|
|
+ downloadByData(response, fileName);
|
|
|
+ ElMessage.success('导出成功');
|
|
|
+ }
|
|
|
+ } catch (e) {
|
|
|
+ console.error('导出区域检查记录失败:', e);
|
|
|
+ ElMessage.error('导出失败,请重试');
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
const handleSandToHiddenDanger = (row: { id?: number } & Record<string, unknown>) => {
|
|
|
@@ -958,6 +1003,12 @@
|
|
|
ruleFormData.categoryName = detail.categoryName ?? '';
|
|
|
ruleFormData.checklistTemplateName = detail.checklistTemplateName ?? '';
|
|
|
ruleFormData.checkKeyContent = detail.checkKeyContent ?? '';
|
|
|
+ ruleFormData.primaryResponsibleDeptExecGroupName = detail.primaryResponsibleDeptExecGroupName ?? '';
|
|
|
+ ruleFormData.primaryResponsibleDeptPersonName = detail.primaryResponsibleDeptPersonName ?? '';
|
|
|
+ ruleFormData.safetyEmergencyExecGroupName = detail.safetyEmergencyExecGroupName ?? '';
|
|
|
+ ruleFormData.safetyEmergencyPersonName = detail.safetyEmergencyPersonName ?? '';
|
|
|
+ ruleFormData.hospitalLeaderExecGroupName = detail.hospitalLeaderExecGroupName ?? '';
|
|
|
+ ruleFormData.hospitalLeaderPersonName = detail.hospitalLeaderPersonName ?? '';
|
|
|
updateChecklistTemplateOptionsByCategory(ruleFormData.categoryName as string | undefined);
|
|
|
cloneRuleFormData();
|
|
|
if (isViewMode.value) {
|
|
|
@@ -987,6 +1038,36 @@
|
|
|
|
|
|
onMounted(async () => {
|
|
|
cloneRuleFormData();
|
|
|
+ venueCategoryOptions.value = [
|
|
|
+ { label: '各级风险点', value: '各级风险点' },
|
|
|
+ { label: '关键业务活动', value: '关键业务活动' },
|
|
|
+ { label: '日常安全', value: '日常安全' },
|
|
|
+ { label: '各级危险点', value: '各级危险点' },
|
|
|
+ { label: '试验室及试验过程', value: '试验室及试验过程' },
|
|
|
+ { label: '办公区域(含地下车库、图书馆、档案库房、仓库等)', value: '办公区域(含地下车库、图书馆、档案库房、仓库等)' },
|
|
|
+ { label: '老旧厂房', value: '老旧厂房' },
|
|
|
+ { label: '施工现场', value: '施工现场' },
|
|
|
+ { label: '职工食堂', value: '职工食堂' },
|
|
|
+ { label: '职工宿舍', value: '职工宿舍' },
|
|
|
+ { label: '体育活动场所', value: '体育活动场所' },
|
|
|
+ { label: '托育园', value: '托育园' },
|
|
|
+ { label: '租、出借房屋', value: '租、出借房屋' },
|
|
|
+ { label: '院内经营服务场所', value: '院内经营服务场所' },
|
|
|
+ { label: '垃圾房', value: '垃圾房' },
|
|
|
+ { label: '院内交通', value: '院内交通' },
|
|
|
+ { label: '消防设施设备', value: '消防设施设备' },
|
|
|
+ { label: '特种设备', value: '特种设备' },
|
|
|
+ { label: '防雷设施', value: '防雷设施' },
|
|
|
+ { label: '供、配电设施设备(含弱电)', value: '供、配电设施设备(含弱电)' },
|
|
|
+ { label: '公务车辆', value: '公务车辆' },
|
|
|
+ { label: '燃气管道设施(含报警装置)', value: '燃气管道设施(含报警装置)' },
|
|
|
+ { label: '建筑物外墙标识物、装饰物', value: '建筑物外墙标识物、装饰物' },
|
|
|
+ { label: 'UPS电源', value: 'UPS电源' },
|
|
|
+ { label: '危险化学品', value: '危险化学品' },
|
|
|
+ { label: '设施设备应急操作流程', value: '设施设备应急操作流程' },
|
|
|
+ { label: '堆场、物资库房', value: '堆场、物资库房' },
|
|
|
+ { label: '室内外停车场', value: '室内外停车场' }
|
|
|
+ ];
|
|
|
await getDeptTreeData();
|
|
|
await loadChecklistCategoryOptions();
|
|
|
await loadChecklistTemplateOptions();
|