|
@ -68,349 +68,13 @@ import Button from '@screen/components/Buttons/Button.vue'; |
|
|
import request from '@/utils/request'; |
|
|
import request from '@/utils/request'; |
|
|
import { Message } from "element-ui"; |
|
|
import { Message } from "element-ui"; |
|
|
import { throttle } from "lodash" |
|
|
import { throttle } from "lodash" |
|
|
import { controlModelMap, gzztMap } from "@screen/utils/enum.js"; |
|
|
import { controlModelMap, gzztMap, eventSubClassMap, trafficKV, perceptionKV } 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: [], |
|
|
|
|
|
} |
|
|
|
|
|
}; |
|
|
|
|
|
const typeMap = { |
|
|
const typeMap = { |
|
|
1: [{ |
|
|
1: trafficKV, |
|
|
value: 1, |
|
|
2: perceptionKV |
|
|
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: '逆行' |
|
|
|
|
|
}, |
|
|
|
|
|
] |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const gzmsMap = { |
|
|
const gzmsMap = { |
|
|
"SETMD0": "激光关闭", |
|
|
"SETMD0": "激光关闭", |
|
|
"SETMD1": "常亮模式", |
|
|
"SETMD1": "常亮模式", |
|
@ -559,7 +223,7 @@ export default { |
|
|
this.title = '修改预案'; |
|
|
this.title = '修改预案'; |
|
|
this.dialogType = 2; |
|
|
this.dialogType = 2; |
|
|
this.eventOptions = typeMap[this.detail.eventCategory]; |
|
|
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); |
|
|
this.initData(this.detail.id); |
|
|
} else { |
|
|
} else { |
|
|
this.title = '新增预案'; |
|
|
this.title = '新增预案'; |
|
@ -650,7 +314,7 @@ export default { |
|
|
return this.deviceData; |
|
|
return this.deviceData; |
|
|
}, |
|
|
}, |
|
|
changeEventType(value = 1) { |
|
|
changeEventType(value = 1) { |
|
|
this.mechanismOptions = optionsMap[this.formData.eventCategory || 1][value]; |
|
|
this.mechanismOptions = eventSubClassMap[this.formData.eventCategory || 1][value]; |
|
|
}, |
|
|
}, |
|
|
changeRadio(value = 1) { |
|
|
changeRadio(value = 1) { |
|
|
this.formData.triggerMechanism = ''; |
|
|
this.formData.triggerMechanism = ''; |
|
|