From a22b7d369f839eb3e838c61a38d721976c182a06 Mon Sep 17 00:00:00 2001
From: zhoule <zz221011@163.com>
Date: Wed, 20 Mar 2024 13:59:54 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9E=9A=E4=B8=BE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../event/plan/addAndEditDialog/index.vue     | 348 +----------
 .../src/views/JiHeExpressway/utils/enum.js    | 574 ++++++++++++++++++
 2 files changed, 580 insertions(+), 342 deletions(-)

diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/plan/addAndEditDialog/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/plan/addAndEditDialog/index.vue
index 7e87577d..0f66cb4b 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/plan/addAndEditDialog/index.vue
+++ b/ruoyi-ui/src/views/JiHeExpressway/pages/control/event/plan/addAndEditDialog/index.vue
@@ -68,349 +68,13 @@ import Button from '@screen/components/Buttons/Button.vue';
 import request from '@/utils/request';
 import { Message } from "element-ui";
 import { throttle } from "lodash"
-import { controlModelMap, gzztMap } from "@screen/utils/enum.js";
-const optionsMap = {
-  1: {
-    1: [
-      {
-        value: "1-1",
-        label: "追尾",
-      },
-      {
-        value: "1-2",
-        label: "侧翻",
-      },
-      {
-        value: "1-3",
-        label: "撞护栏",
-      },
-      {
-        value: "1-4",
-        label: "自然",
-      },
-      {
-        value: "1-5",
-        label: "其他事故",
-      },
-    ],
-    2: [
-      {
-        value: 1,
-        label: '高速主线'
-      },
-      {
-        value: 2,
-        label: '服务区'
-      },
-      {
-        value: 3,
-        label: '立交桥'
-      },
-      {
-        value: 4,
-        label: '收费站'
-      }
-    ],
-    3: [
-      {
-        value: 1,
-        label: '主线关闭'
-      },
-      {
-        value: 2,
-        label: '主线限行'
-      },
-      {
-        value: 6,
-        label: '收费站关闭'
-      },
-      {
-        value: 7,
-        label: '收费站限行'
-      },
-      {
-        value: 10,
-        label: '匝道立交关闭'
-      },
-      {
-        value: 12,
-        label: '匝道立交限行'
-      },
-      {
-        value: 14,
-        label: '服务区关闭'
-      }
-    ],
-    4: [
-      {
-        value: '4-1',
-        label: '道路拥堵'
-      },
-      {
-        value: '4-2',
-        label: '立交拥堵'
-      },
-      {
-        value: '4-3',
-        label: '收费站拥堵'
-      },
-      {
-        value: '4-4',
-        label: '收费站服务区拥堵'
-      }
-    ],
-    5: [
-      {
-        value: '5-1',
-        label: '行人'
-      },
-      {
-        value: '5-2',
-        label: '非机动车'
-      },
-      {
-        value: '5-3',
-        label: '摩托车'
-      },
-      {
-        value: '5-4',
-        label: '其他'
-      }
-    ],
-    6: [
-      {
-        value: '6-1',
-        label: '烟雾'
-      },
-      {
-        value: '6-2',
-        label: '倒伏树木'
-      },
-      {
-        value: '6-3',
-        label: '撒落物'
-      },
-      {
-        value: '6-4',
-        label: '动物'
-      },
-      {
-        value: '6-5',
-        label: '其他'
-      }
-    ],
-    7: [
-      {
-        value: 1,
-        label: '道路养护施工'
-      },
-      {
-        value: 2,
-        label: '收费站养护施工'
-      },
-      {
-        value: 3,
-        label: '服务区养护施工'
-      },
-      {
-        value: 4,
-        label: '枢纽立交匝道养护施工'
-      },
-      {
-        value: 5,
-        label: '地方道路养护施工'
-      },
-      {
-        value: 6,
-        label: '道路工程建设施工'
-      },
-      {
-        value: 7,
-        label: '收费站工程建设施工'
-      },
-      {
-        value: 8,
-        label: '服务区工程建设施工'
-      },
-      {
-        value: 9,
-        label: '枢纽立交匝道工程建设施工'
-      },
-      {
-        value: 10,
-        label: '地方道路工程建设施工'
-      }
-    ],
-    8: [
-      {
-        value: '8-1',
-        label: '封闭、暂停营业'
-      },
-      {
-        value: '8-2',
-        label: '重要设施停用'
-      },
-      {
-        value: '8-3',
-        label: '服务区其他异常'
-      },
-    ],
-    9: [
-      {
-        value: 1,
-        label: '摄像机'
-      },
-      {
-        value: 2,
-        label: '护栏'
-      },
-      {
-        value: 3,
-        label: '隔离栅'
-      },
-      {
-        value: 4,
-        label: '情报板'
-      },
-      {
-        value: 5,
-        label: '防炫板'
-      },
-      {
-        value: 6,
-        label: '其他'
-      }
-    ],
-    10: [{
-      value: '10-1',
-      label: '雨'
-    },
-    {
-      value: '10-2',
-      label: '雪'
-    },
-    {
-      value: '10-3',
-      label: '雾'
-    },
-    {
-      value: '10-4',
-      label: '大风'
-    },
-    {
-      value: '10-5',
-      label: '低温寒潮'
-    }, {
-      value: '10-6',
-      label: '路面积雪'
-    },
-    {
-      value: '10-7',
-      label: '路面结冰'
-    },
-    {
-      value: '10-8',
-      label: '路面积水'
-    },
-    {
-      value: '10-9',
-      label: '其他'
-    }],
-    11: [{
-      value: 1,
-      label: '其他事件'
-    }]
-  },
-  2: {
-    1: [{
-      value: 1,
-      label: '雾'
-    }],
-    2: [],
-    3: [],
-    4: [],
-    5: [],
-    6: [],
-    7: [],
-  }
-};
+import { controlModelMap, gzztMap, eventSubClassMap, trafficKV, perceptionKV } from "@screen/utils/enum.js";
+
 const typeMap = {
-  1: [{
-    value: 1,
-    label: '交通事故'
-  },
-  {
-    value: 2,
-    label: '车辆故障'
-  },
-  {
-    value: 3,
-    label: '交通管制'
-  },
-  {
-    value: 4,
-    label: '交通拥堵'
-  },
-  {
-    value: 5,
-    label: '非法上路'
-  },
-  {
-    value: 6,
-    label: '路障清除'
-  },
-  {
-    value: 7,
-    label: '施工建设'
-  },
-  {
-    value: 8,
-    label: '服务区异常'
-  },
-  {
-    value: 9,
-    label: '设施设备隐患'
-  },
-  {
-    value: 10,
-    label: '异常天气'
-  },
-  {
-    value: 11,
-    label: '其他事件'
-  }],
-  2: [{
-    value: 1,
-    label: '异常天气'
-  },
-  {
-    value: 2,
-    label: '拥堵'
-  },
-  {
-    value: 3,
-    label: '非机动车'
-  },
-  {
-    value: 4,
-    label: '行人'
-  },
-  {
-    value: 5,
-    label: '烟火'
-  },
-  {
-    value: 6,
-    label: '抛洒物'
-  },
-  {
-    value: 7,
-    label: '逆行'
-  },
-  ]
+  1: trafficKV,
+  2: perceptionKV
 }
 
-
 const gzmsMap = {
   "SETMD0": "激光关闭",
   "SETMD1": "常亮模式",
@@ -559,7 +223,7 @@ export default {
             this.title = '修改预案';
             this.dialogType = 2;
             this.eventOptions = typeMap[this.detail.eventCategory];
-            this.mechanismOptions = optionsMap[this.detail.eventCategory || 1][this.detail.eventType];
+            this.mechanismOptions = eventSubClassMap[this.detail.eventCategory || 1][this.detail.eventType];
             this.initData(this.detail.id);
           } else {
             this.title = '新增预案';
@@ -650,7 +314,7 @@ export default {
       return this.deviceData;
     },
     changeEventType(value = 1) {
-      this.mechanismOptions = optionsMap[this.formData.eventCategory || 1][value];
+      this.mechanismOptions = eventSubClassMap[this.formData.eventCategory || 1][value];
     },
     changeRadio(value = 1) {
       this.formData.triggerMechanism = '';
diff --git a/ruoyi-ui/src/views/JiHeExpressway/utils/enum.js b/ruoyi-ui/src/views/JiHeExpressway/utils/enum.js
index 885ce618..4ba32550 100644
--- a/ruoyi-ui/src/views/JiHeExpressway/utils/enum.js
+++ b/ruoyi-ui/src/views/JiHeExpressway/utils/enum.js
@@ -238,6 +238,580 @@ export const WarningSubclass = {
   },
 };
 
+//========= 交通事件 主类(key vulue)=========
+export const trafficKV = [
+  {
+    value: 1,
+    label: "交通事故",
+  },
+  {
+    value: 2,
+    label: "车辆故障",
+  },
+  {
+    value: 3,
+    label: "交通管制",
+  },
+  {
+    value: 4,
+    label: "交通拥堵",
+  },
+  {
+    value: 5,
+    label: "非法上路",
+  },
+  {
+    value: 6,
+    label: "路障清除",
+  },
+  {
+    value: 7,
+    label: "施工建设",
+  },
+  {
+    value: 8,
+    label: "服务区异常",
+  },
+  {
+    value: 9,
+    label: "设施设备隐患",
+  },
+  {
+    value: 10,
+    label: "异常天气",
+  },
+  {
+    value: 11,
+    label: "其他事件",
+  },
+];
+//========= 感知事件 主类(key vulue)=========
+export const perceptionKV = [
+  [
+    {
+      value: 1,
+      label: "交通拥堵",
+    },
+    {
+      value: 2,
+      label: "行人",
+    },
+    {
+      value: 3,
+      label: "非机动车",
+    },
+    {
+      value: 4,
+      label: "停车",
+    },
+    {
+      value: 5,
+      label: "违规驾驶",
+    },
+    {
+      value: 6,
+      label: "路障",
+    },
+    {
+      value: 7,
+      label: "道路施工",
+    },
+    {
+      value: 8,
+      label: "异常天气",
+    },
+    ,
+    {
+      value: 9,
+      label: "护栏碰撞",
+    },
+    ,
+    {
+      value: 10,
+      label: "交通事故",
+    },
+    ,
+    {
+      value: 11,
+      label: "车辆故障",
+    },
+    ,
+    {
+      value: 99,
+      label: "其他事件",
+    },
+  ],
+];
+//交通事件、感知事件 子类(key vulue)预案使用
+export const eventSubClassMap = {
+  1: {
+    1: [
+      {
+        value: "1-1",
+        label: "追尾",
+      },
+      {
+        value: "1-2",
+        label: "侧翻",
+      },
+      {
+        value: "1-3",
+        label: "撞护栏",
+      },
+      {
+        value: "1-4",
+        label: "自然",
+      },
+      {
+        value: "1-5",
+        label: "其他事故",
+      },
+    ],
+    2: [
+      {
+        value: 1,
+        label: "高速主线",
+      },
+      {
+        value: 2,
+        label: "服务区",
+      },
+      {
+        value: 3,
+        label: "立交桥",
+      },
+      {
+        value: 4,
+        label: "收费站",
+      },
+    ],
+    3: [
+      {
+        value: 1,
+        label: "主线关闭",
+      },
+      {
+        value: 2,
+        label: "主线限行",
+      },
+      {
+        value: 6,
+        label: "收费站关闭",
+      },
+      {
+        value: 7,
+        label: "收费站限行",
+      },
+      {
+        value: 10,
+        label: "匝道立交关闭",
+      },
+      {
+        value: 12,
+        label: "匝道立交限行",
+      },
+      {
+        value: 14,
+        label: "服务区关闭",
+      },
+    ],
+    4: [
+      {
+        value: "4-1",
+        label: "道路拥堵",
+      },
+      {
+        value: "4-2",
+        label: "立交拥堵",
+      },
+      {
+        value: "4-3",
+        label: "收费站拥堵",
+      },
+      {
+        value: "4-4",
+        label: "收费站服务区拥堵",
+      },
+    ],
+    5: [
+      {
+        value: "5-1",
+        label: "行人",
+      },
+      {
+        value: "5-2",
+        label: "非机动车",
+      },
+      {
+        value: "5-3",
+        label: "摩托车",
+      },
+      {
+        value: "5-4",
+        label: "其他",
+      },
+    ],
+    6: [
+      {
+        value: "6-1",
+        label: "烟雾",
+      },
+      {
+        value: "6-2",
+        label: "倒伏树木",
+      },
+      {
+        value: "6-3",
+        label: "撒落物",
+      },
+      {
+        value: "6-4",
+        label: "动物",
+      },
+      {
+        value: "6-5",
+        label: "其他",
+      },
+    ],
+    7: [
+      {
+        value: 1,
+        label: "道路养护施工",
+      },
+      {
+        value: 2,
+        label: "收费站养护施工",
+      },
+      {
+        value: 3,
+        label: "服务区养护施工",
+      },
+      {
+        value: 4,
+        label: "枢纽立交匝道养护施工",
+      },
+      {
+        value: 5,
+        label: "地方道路养护施工",
+      },
+      {
+        value: 6,
+        label: "道路工程建设施工",
+      },
+      {
+        value: 7,
+        label: "收费站工程建设施工",
+      },
+      {
+        value: 8,
+        label: "服务区工程建设施工",
+      },
+      {
+        value: 9,
+        label: "枢纽立交匝道工程建设施工",
+      },
+      {
+        value: 10,
+        label: "地方道路工程建设施工",
+      },
+    ],
+    8: [
+      {
+        value: "8-1",
+        label: "封闭、暂停营业",
+      },
+      {
+        value: "8-2",
+        label: "重要设施停用",
+      },
+      {
+        value: "8-3",
+        label: "服务区其他异常",
+      },
+    ],
+    9: [
+      {
+        value: 1,
+        label: "摄像机",
+      },
+      {
+        value: 2,
+        label: "护栏",
+      },
+      {
+        value: 3,
+        label: "隔离栅",
+      },
+      {
+        value: 4,
+        label: "情报板",
+      },
+      {
+        value: 5,
+        label: "防炫板",
+      },
+      {
+        value: 6,
+        label: "其他",
+      },
+    ],
+    10: [
+      {
+        value: "10-1",
+        label: "雨",
+      },
+      {
+        value: "10-2",
+        label: "雪",
+      },
+      {
+        value: "10-3",
+        label: "雾",
+      },
+      {
+        value: "10-4",
+        label: "大风",
+      },
+      {
+        value: "10-5",
+        label: "低温寒潮",
+      },
+      {
+        value: "10-6",
+        label: "路面积雪",
+      },
+      {
+        value: "10-7",
+        label: "路面结冰",
+      },
+      {
+        value: "10-8",
+        label: "路面积水",
+      },
+      {
+        value: "10-9",
+        label: "其他",
+      },
+    ],
+    11: [
+      {
+        value: 1,
+        label: "其他事件",
+      },
+    ],
+  },
+  2: {
+    1: [
+      {
+        value: "1-1",
+        label: "拥堵",
+      },
+      {
+        value: "1-2",
+        label: "缓行",
+      },
+    ],
+    2: [
+      {
+        value: "2-1",
+        label: "普通行人",
+      },
+      {
+        value: "2-2",
+        label: "工作人员",
+      },
+    ],
+    3: [
+      {
+        value: "3-1",
+        label: "摩托车",
+      },
+      {
+        value: "3-2",
+        label: "自行车",
+      },
+      {
+        value: "3-3",
+        label: "三轮车",
+      },
+    ],
+    4: [
+      {
+        value: "4-1",
+        label: "非工程车",
+      },
+      {
+        value: "4-2",
+        label: "工程车",
+      },
+      {
+        value: "4-3",
+        label: "主路有车",
+      },
+      {
+        value: "4-4",
+        label: "匝道有车",
+      },
+      {
+        value: "4-7",
+        label: "应急车道被占用",
+      },
+      {
+        value: "4-9",
+        label: "其他",
+      },
+      {
+        value: "4-10",
+        label: "未知车辆",
+      },
+    ],
+    5: [
+      {
+        value: "5-1",
+        label: "倒车/逆行",
+      },
+      {
+        value: "5-2",
+        label: "压线",
+      },
+      {
+        value: "5-3",
+        label: "掉头",
+      },
+      {
+        value: "5-4",
+        label: "超速",
+      },
+      {
+        value: "5-5",
+        label: "低速",
+      },
+      {
+        value: "5-6",
+        label: "违规变道",
+      },
+      {
+        value: "5-7",
+        label: "未保持安全距离",
+      },
+    ],
+    6: [
+      {
+        value: "6-1",
+        label: "烟雾",
+      },
+      {
+        value: "6-2",
+        label: "火灾",
+      },
+      {
+        value: "6-3",
+        label: "障碍物",
+      },
+      {
+        value: "6-4",
+        label: "抛洒物",
+      },
+    ],
+    7: [
+      {
+        value: "7-1",
+        label: "道路施工",
+      },
+    ],
+    8: [
+      {
+        value: "8-1",
+        label: "雨",
+      },
+      {
+        value: "8-2",
+        label: "冰雹",
+      },
+      {
+        value: "8-3",
+        label: "风",
+      },
+      {
+        value: "8-4",
+        label: "雾",
+      },
+      {
+        value: "8-5",
+        label: "高温",
+      },
+      {
+        value: "8-6",
+        label: "积水",
+      },
+      {
+        value: "8-7",
+        label: "路面湿滑",
+      },
+      {
+        value: "8-8",
+        label: "路面结冰",
+      },
+      {
+        value: "8-9",
+        label: "道路能见度低",
+      },
+      {
+        value: "8-10",
+        label: "道路团雾",
+      },
+    ],
+    9: [
+      {
+        value: "9-1",
+        label: "只碰撞不倾斜",
+      },
+      {
+        value: "9-2",
+        label: "只倾斜无碰撞",
+      },
+      {
+        value: "9-3",
+        label: "碰撞后倾斜",
+      },
+    ],
+    10: [
+      {
+        value: "10-1",
+        label: "未知",
+      },
+      {
+        value: "10-1",
+        label: "单车事故",
+      },
+      {
+        value: "10-1",
+        label: "多车事故",
+      },
+    ],
+    11: [
+      {
+        value: "11-1",
+        label: "车辆抛锚",
+      },
+      {
+        value: "11-1",
+        label: "车辆炸胎(有备胎)",
+      },
+      {
+        value: "11-1",
+        label: "车辆炸胎(无备胎)",
+      },
+    ],
+    99: [
+      {
+        value: "99-1",
+        label: "其他事件",
+      },
+    ],
+  },
+};
+
 export const WarningSubclassList = Object.keys(WarningSubclass).reduce(
   (prev, key) => {
     prev[key] = Object.keys(WarningSubclass[key]).map((subKey) => {