diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/FocusedMonitoring/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/FocusedMonitoring/index.vue index b99c98e0..ea17bee5 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/FocusedMonitoring/index.vue +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/Home/components/FocusedMonitoring/index.vue @@ -25,12 +25,12 @@
施工路段
- 4 + {{ weatherForecast }}
气象预警
- 5 + {{ abnormalDeviceNum }}
异常设备
@@ -59,6 +59,8 @@ export default { trafficIncidents: [0, 0], constructionSection: 0, perceiveEvent: 0, + abnormalDeviceNum: 0, + weatherForecast: 0 } }, created() { @@ -74,8 +76,18 @@ export default { method: "post", data: {} }), + request({ + url: `/business/device/abnormalDevice`, + method: "get", + data: {} + }), + request({ + url: `/weatherForecast/queryTheNumberOfMeteorologicalWarning`, + method: "post", + data: {} + }), ]) - .then(([trafficIncidents, perceiveEvent]) => { + .then(([trafficIncidents, perceiveEvent, abnormalDeviceNum, weatherForecast]) => { if (trafficIncidents.status === 'fulfilled' && trafficIncidents.value.code == 200) { const data = trafficIncidents.value.data; @@ -92,7 +104,14 @@ export default { this.perceiveEvent = data.number || 0; } - + if (abnormalDeviceNum.status === 'fulfilled' && abnormalDeviceNum.value.code == 200) { + const data = abnormalDeviceNum.value.data; + this.abnormalDeviceNum = data || 0; + } + if (weatherForecast.status === 'fulfilled' && weatherForecast.value.code == 200) { + const data = weatherForecast.value.data; + this.weatherForecast = data || 0; + } }) } } 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 cb1ffa35..ec603d97 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/utils/enum.js +++ b/ruoyi-ui/src/views/JiHeExpressway/utils/enum.js @@ -246,6 +246,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) => {