This commit is contained in:
parent
8e0c6b01ff
commit
03d8748541
|
|
@ -284,49 +284,28 @@ const disposalProcess = ref([
|
|||
title: '事件研判与处置触发',
|
||||
status: 'done',
|
||||
statusText: '已完成',
|
||||
content: [
|
||||
{label: '接入来源', value: '视频AI自动检测'},
|
||||
{label: '研判耗时', value: '3分钟'},
|
||||
{
|
||||
label: '影响范围',
|
||||
value: '<span class="text-danger">3条</span>路段,<span class="text-danger">1.5公里</span>拥堵'
|
||||
}
|
||||
]
|
||||
content: []
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
title: '智能方案生成与推荐',
|
||||
status: 'done',
|
||||
statusText: '已完成',
|
||||
content: [
|
||||
{label: 'AI方案', value: '方案A(推荐指数95%)'},
|
||||
{label: '关键措施', value: '远程信控,派遣交警,发布诱导'},
|
||||
{label: '生成耗时', value: '10秒'}
|
||||
]
|
||||
content: []
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
title: '处置措施执行与跟踪',
|
||||
status: 'processing',
|
||||
statusText: '执行中',
|
||||
content: [
|
||||
{label: '当前动作', value: '现场清障中(推荐指数95%)'},
|
||||
{
|
||||
label: '资源到位',
|
||||
value: '交警(已到)、<span class="text-success">救护车(途中)</span>、<span class="text-danger">拖车(已调度)</span>'
|
||||
},
|
||||
{label: '交通管制', value: '主路封闭,辅路缓行'}
|
||||
]
|
||||
content: []
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
title: '动态调整与协同',
|
||||
status: 'pending',
|
||||
statusText: '待处理',
|
||||
content: [
|
||||
{label: '协同部门', value: '交管,卫健,消防'},
|
||||
{label: '最新指令', value: '11:05 解除部分外围封锁'}
|
||||
]
|
||||
content: []
|
||||
}
|
||||
])
|
||||
|
||||
|
|
@ -340,41 +319,85 @@ const processSegments = Array.from({length: 60}, (_, index) => index < 45)
|
|||
|
||||
// 应急救援监测数据
|
||||
const rescueMonitoring = ref({
|
||||
avgSpeed: 45,
|
||||
avgTime: 6,
|
||||
efficiency: 35
|
||||
avgSpeed: '',
|
||||
avgTime: '',
|
||||
efficiency: ''
|
||||
})
|
||||
|
||||
// 区域协同管控概况
|
||||
const controlOverview = ref({
|
||||
intersectionCount: 6,
|
||||
signalCount: 20,
|
||||
laneControl: 6,
|
||||
busLines: 25,
|
||||
vmsStatus: 'VMS、移动应用已推送'
|
||||
intersectionCount: '',
|
||||
signalCount: '',
|
||||
laneControl: '',
|
||||
busLines: '',
|
||||
vmsStatus: ''
|
||||
})
|
||||
|
||||
// 效果评估与态势研判
|
||||
const effectEvaluation = ref({
|
||||
recoveryTime: 25,
|
||||
avgDelay: 15,
|
||||
emissionReduction: 10,
|
||||
recoveryIndex: 95
|
||||
recoveryTime: '',
|
||||
avgDelay: '',
|
||||
emissionReduction: '',
|
||||
recoveryIndex: ''
|
||||
})
|
||||
|
||||
const getPageData = async () => {
|
||||
const res = await api.getPageData('emergency')
|
||||
const data = JSON.parse(res.data)
|
||||
console.log("🚀 ~ getPageData ~ data: ", data);
|
||||
data['basic_info_and_realtime_monitor'].items.forEach(item => {
|
||||
if (item['project'] === '当前事件ID') {
|
||||
currentEvent.value.id = item['data']
|
||||
} else if (item['project'] === '事故严重性') {
|
||||
currentEvent.value.level = item['data']
|
||||
} else if (item['project'] === '事故影响') {
|
||||
currentEvent.value.impact = item['data']
|
||||
}
|
||||
const fieldMappings = {
|
||||
'basic_info_and_realtime_monitor': [
|
||||
['当前事件ID', currentEvent, 'id'],
|
||||
['事故严重性', currentEvent, 'level'],
|
||||
['事故影响', currentEvent, 'impact']
|
||||
],
|
||||
'rescue_operation_monitor': [
|
||||
['应急车辆平均速度', rescueMonitoring, 'avgSpeed'],
|
||||
['应急车辆平均行程时间', rescueMonitoring, 'avgTime'],
|
||||
['应急路径效率提升', rescueMonitoring, 'efficiency']
|
||||
],
|
||||
'regional_coordination': [
|
||||
['受控路口数量', controlOverview, 'intersectionCount'],
|
||||
['受控信号灯具', controlOverview, 'signalCount'],
|
||||
['实施匝道管控', controlOverview, 'laneControl'],
|
||||
['公交优先保障路线', controlOverview, 'busLines'],
|
||||
['交通诱导发布', controlOverview, 'vmsStatus']
|
||||
],
|
||||
'effect_evaluation': [
|
||||
['预计交通恢复时长', effectEvaluation, 'recoveryTime'],
|
||||
['预计平均延误', effectEvaluation, 'avgDelay'],
|
||||
['预计碳排放削减', effectEvaluation, 'emissionReduction'],
|
||||
['交通流恢复指数', effectEvaluation, 'recoveryIndex']
|
||||
]
|
||||
}
|
||||
Object.entries(fieldMappings).forEach(([sectionKey, mappings]) => {
|
||||
const items = data[sectionKey]?.items || []
|
||||
const map = new Map(items.map(item => [item['project'], item['data']]))
|
||||
mappings.forEach(([projectName, targetObj, propName]) => {
|
||||
if (map.has(projectName)) {
|
||||
targetObj.value[propName] = map.get(projectName)
|
||||
}
|
||||
})
|
||||
})
|
||||
const disposalProcessMapping = {
|
||||
'incident_assessment_and_trigger': 0,
|
||||
'intelligent_plan_generation': 1,
|
||||
'measure_execution_tracking': 2,
|
||||
'dynamic_adjustment_collab': 3
|
||||
}
|
||||
if (data['disposal_process']) {
|
||||
Object.entries(data['disposal_process']).forEach(([key, section]) => {
|
||||
const index = disposalProcessMapping[key]
|
||||
if (index !== undefined && section?.items) {
|
||||
disposalProcess.value[index].content = section.items
|
||||
.filter(item => item['project'] !== '完成')
|
||||
.map(item => ({
|
||||
label: item['project'],
|
||||
value: item['data']
|
||||
}))
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
|
|
|
|||
Loading…
Reference in New Issue