From 472c1c1e6fb0258e03b87c748a605dd274dcd4b0 Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期四, 29 一月 2026 15:47:25 +0800
Subject: [PATCH] 部分type改为字典

---
 src/views/safeProduction/emergencyPlanReview/index.vue       |   32 +++++-----
 src/views/safeProduction/hazardSourceLedger/index.vue        |    4 +
 src/views/safeProduction/hazardousMaterialsControl/index.vue |    4 +
 src/views/safeProduction/dangerInvestigation/index.vue       |   34 ++--------
 src/views/safeProduction/accidentReportingRecord/index.vue   |   53 +++++++++--------
 5 files changed, 57 insertions(+), 70 deletions(-)

diff --git a/src/views/safeProduction/accidentReportingRecord/index.vue b/src/views/safeProduction/accidentReportingRecord/index.vue
index bf064cd..b38f04a 100644
--- a/src/views/safeProduction/accidentReportingRecord/index.vue
+++ b/src/views/safeProduction/accidentReportingRecord/index.vue
@@ -229,10 +229,10 @@
             {{ currentKnowledge.happenLocation }}
           </el-descriptions-item>
           <el-descriptions-item label="浜嬫晠绛夌骇">
-            {{ currentKnowledge.accidentGrade }}
+            <el-tag :type="accidentGradeType(currentKnowledge.accidentGrade)">{{ currentKnowledge.accidentGrade }}</el-tag>
           </el-descriptions-item>
           <el-descriptions-item label="浜嬫晠绫诲瀷">
-            {{ currentKnowledge.accidentType }}
+            <el-tag type="info">{{ accidentTypeLabel(currentKnowledge.accidentType) }}</el-tag>
           </el-descriptions-item>
           <el-descriptions-item label="浜哄憳浼や骸鎯呭喌">
             {{ currentKnowledge.personLoss }}
@@ -409,6 +409,9 @@
       label: "浜嬫晠绫诲瀷",
       prop: "accidentType",
       showOverflowTooltip: true,
+      formatData: params => {
+        return accidentTypeLabel(params);
+      },
     },
     {
       dataType: "action",
@@ -462,6 +465,20 @@
     page.value.current = 1;
     getList();
   };
+  const accidentGradeType = val => {
+    switch (val) {
+      case "杞诲井浜嬫晠":
+        return "info";
+      case "涓�鑸簨鏁�":
+        return "info";
+      case "杈冨ぇ浜嬫晠":
+        return "warning";
+      case "閲嶅ぇ浜嬫晠":
+        return "danger";
+      default:
+        return "info";
+    }
+  };
   const accidentGradeOptions = [
     {
       label: "杞诲井浜嬫晠",
@@ -480,25 +497,15 @@
       value: "閲嶅ぇ浜嬫晠",
     },
   ];
-  const accidentTypeOptions = [
-    {
-      label: "璐d换浜嬫晠",
-      value: "璐d换浜嬫晠",
-    },
-    {
-      label: "闈炶矗浠讳簨鏁�",
-      value: "闈炶矗浠讳簨鏁�",
-    },
-    {
-      label: "鐮村潖鎬т簨鏁�",
-      value: "鐮村潖鎬т簨鏁�",
-    },
-    {
-      label: "閲嶅ぇ浜嬫晠",
-      value: "閲嶅ぇ浜嬫晠",
-    },
-  ];
-
+  const { proxy } = getCurrentInstance();
+  const { accident_type } = proxy.useDict("accident_type");
+  const accidentTypeOptions = computed(() => accident_type?.value || []);
+  const accidentTypeLabel = val => {
+    const item = accidentTypeOptions.value.find(
+      i => String(i.value) === String(val)
+    );
+    return item ? item.label : val;
+  };
   const getList = () => {
     tableLoading.value = true;
     safeAccidentListPage({ ...page.value, ...searchForm.value })
@@ -711,10 +718,6 @@
         // 鐢ㄦ埛鍙栨秷
       });
   };
-
-  // 瀵煎嚭
-  const { proxy } = getCurrentInstance();
-  const { knowledge_type } = proxy.useDict("knowledge_type");
 
   // 瀛楀吀宸ュ叿
   const knowledgeTypeOptions = computed(() => knowledge_type?.value || []);
diff --git a/src/views/safeProduction/dangerInvestigation/index.vue b/src/views/safeProduction/dangerInvestigation/index.vue
index 1878370..0fa284b 100644
--- a/src/views/safeProduction/dangerInvestigation/index.vue
+++ b/src/views/safeProduction/dangerInvestigation/index.vue
@@ -283,7 +283,7 @@
           <span class="detail-title">{{ form.hiddenDesc }}</span>
         </el-descriptions-item>
         <el-descriptions-item label="闅愭偅绫诲瀷">
-          <span class="detail-title">{{ form.type }}</span>
+          <span class="detail-title">{{ TypeLabel(form.type) }}</span>
         </el-descriptions-item>
         <el-descriptions-item label="闅愭偅椋庨櫓绛夌骇">
           <el-tag :type="getTypeTagType(form.riskLevel)">
@@ -422,7 +422,7 @@
 <script setup>
   import { getToken } from "@/utils/auth";
   import pagination from "@/components/PIMTable/Pagination.vue";
-  import { onMounted, ref, getCurrentInstance } from "vue";
+  import { onMounted, ref, getCurrentInstance, computed } from "vue";
   import { ElMessageBox, ElMessage } from "element-plus";
   import useUserStore from "@/store/modules/user";
   import { userListNoPage } from "@/api/system/user.js";
@@ -517,28 +517,12 @@
     verifyResult: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
     acceptDesc: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
   };
-  const typeList = ref([
-    {
-      value: "璁惧瀹夊叏",
-      label: "璁惧瀹夊叏",
-    },
-    {
-      value: "浜哄憳鎿嶄綔",
-      label: "浜哄憳鎿嶄綔",
-    },
-    {
-      value: "鐜椋庨櫓",
-      label: "鐜椋庨櫓",
-    },
-    {
-      value: "鐗╂枡绠℃帶",
-      label: "鐗╂枡绠℃帶",
-    },
-    {
-      value: "鍏朵粬",
-      label: "鍏朵粬",
-    },
-  ]);
+  const { hidden_danger_type } = proxy.useDict("hidden_danger_type");
+  const typeList = computed(() => hidden_danger_type?.value || []);
+  const TypeLabel = val => {
+    const item = typeList.value.find(i => String(i.value) === String(val));
+    return item ? item.label : val;
+  };
   const form2 = ref({
     rectifyActualTime: "", // 瀹為檯鏁存敼瀹屾垚鏃堕棿
     rectifyMeasures: "", // 鏁存敼鍏蜂綋鎺柦
@@ -569,8 +553,6 @@
       label: "浣庨闄�",
     },
   ]);
-  // 闅愭偅绫诲瀷閫夐」
-  const { type_qualification } = proxy.useDict("type_qualification");
   const { form, rules } = toRefs(data);
   const { form: searchForm } = useFormData(data.searchForm);
   // 浜у搧琛ㄥ崟寮规鏁版嵁
diff --git a/src/views/safeProduction/emergencyPlanReview/index.vue b/src/views/safeProduction/emergencyPlanReview/index.vue
index 07bf56e..26a3cfe 100644
--- a/src/views/safeProduction/emergencyPlanReview/index.vue
+++ b/src/views/safeProduction/emergencyPlanReview/index.vue
@@ -192,7 +192,7 @@
             {{ currentKnowledge.coreResponsorUserName }}
           </el-descriptions-item>
           <el-descriptions-item label="棰勬绫诲瀷">
-            <el-tag type="warning"> {{ currentKnowledge.planType }}</el-tag>
+            <el-tag type="warning"> {{ emergencyPlanTypeLabel(currentKnowledge.planType) }}</el-tag>
           </el-descriptions-item>
           <el-descriptions-item label="澶囨敞">
             {{ currentKnowledge.remark }}
@@ -352,6 +352,9 @@
       label: "棰勬绫诲瀷",
       prop: "planType",
       showOverflowTooltip: true,
+      formatData: params => {
+        return emergencyPlanTypeLabel(params);
+      },
     },
     {
       label: "澶囨敞",
@@ -569,20 +572,17 @@
     };
     return timeMap[efficiency] || "鏈煡";
   };
-  const emergencyPlanTypeOptions = computed(() => [
-    {
-      value: "棰勯槻鎬у簲鎬ラ妗�",
-      label: "棰勯槻鎬у簲鎬ラ妗�",
-    },
-    {
-      value: "搴旀�ュ鐞嗛妗�",
-      label: "搴旀�ュ鐞嗛妗�",
-    },
-    {
-      value: "鎭㈠鎬у簲鎬ラ妗�",
-      label: "鎭㈠鎬у簲鎬ラ妗�",
-    },
-  ]);
+  const { proxy } = getCurrentInstance();
+  const { emergency_plan_type } = proxy.useDict("emergency_plan_type");
+  const emergencyPlanTypeOptions = computed(
+    () => emergency_plan_type?.value || []
+  );
+  const emergencyPlanTypeLabel = val => {
+    const item = emergencyPlanTypeOptions.value.find(
+      i => String(i.value) === String(val)
+    );
+    return item ? item.label : val;
+  };
   // 鎻愪氦搴旀�ラ妗堣〃鍗�
   const submitForm = async () => {
     try {
@@ -664,8 +664,6 @@
   };
 
   // 瀵煎嚭
-  const { proxy } = getCurrentInstance();
-  const { knowledge_type } = proxy.useDict("knowledge_type");
 
   // 瀛楀吀宸ュ叿
   const knowledgeTypeOptions = computed(() => knowledge_type?.value || []);
diff --git a/src/views/safeProduction/hazardSourceLedger/index.vue b/src/views/safeProduction/hazardSourceLedger/index.vue
index dfa4650..2a78c48 100644
--- a/src/views/safeProduction/hazardSourceLedger/index.vue
+++ b/src/views/safeProduction/hazardSourceLedger/index.vue
@@ -181,7 +181,9 @@
             {{ currentKnowledge.code }}
           </el-descriptions-item>
           <el-descriptions-item label="鍗遍櫓婧愮被鍨�">
-            {{ getTypeLabel(currentKnowledge.type) }}
+            <el-tag type="info">
+              {{ getTypeLabel(currentKnowledge.type) }}
+            </el-tag>
           </el-descriptions-item>
           <el-descriptions-item label="鎵�鍦ㄤ綅缃�">
             {{ currentKnowledge.location }}
diff --git a/src/views/safeProduction/hazardousMaterialsControl/index.vue b/src/views/safeProduction/hazardousMaterialsControl/index.vue
index 5be4bdc..cf1d731 100644
--- a/src/views/safeProduction/hazardousMaterialsControl/index.vue
+++ b/src/views/safeProduction/hazardousMaterialsControl/index.vue
@@ -162,7 +162,9 @@
           <span>{{ form.name }}</span>
         </el-descriptions-item>
         <el-descriptions-item label="鍗遍櫓婧愮被鍨�">
-          <span>{{ getTypeLabel(form.type) }}</span>
+          <el-tag type="info">
+            {{ getTypeLabel(form.type) }}
+          </el-tag>
         </el-descriptions-item>
         <el-descriptions-item label="鎵�鍦ㄤ綅缃�">
           <span>{{ form.location }}</span>

--
Gitblit v1.9.3