105 lines
2.3 KiB
JavaScript
105 lines
2.3 KiB
JavaScript
|
|
import { ref, computed } from 'vue'
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 灾害数据状态管理
|
|||
|
|
*/
|
|||
|
|
export function useDisasterData() {
|
|||
|
|
// 灾害基本信息
|
|||
|
|
const disasterInfo = ref({
|
|||
|
|
type: '边坡垮塌',
|
|||
|
|
volume: '10022',
|
|||
|
|
volumeUnit: 'm³',
|
|||
|
|
length: '13',
|
|||
|
|
lengthUnit: 'm',
|
|||
|
|
width: '5',
|
|||
|
|
widthUnit: 'm',
|
|||
|
|
casualties: '0',
|
|||
|
|
vehicles: '0',
|
|||
|
|
location: '巴南G348武大线三峭湾'
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
// 力量预置信息
|
|||
|
|
const forcePreset = ref({
|
|||
|
|
equipment: 23,
|
|||
|
|
bases: 2,
|
|||
|
|
personnel: 2124,
|
|||
|
|
searchRadius: 10, // km
|
|||
|
|
stations: [
|
|||
|
|
{
|
|||
|
|
id: 1,
|
|||
|
|
name: '大进养护站',
|
|||
|
|
distance: 8,
|
|||
|
|
type: 'maintenance'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
id: 2,
|
|||
|
|
name: '郭家养护站',
|
|||
|
|
distance: 8,
|
|||
|
|
type: 'maintenance'
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
// 力量调度信息
|
|||
|
|
const forceDispatch = ref({
|
|||
|
|
responseLevel: 3, // 三级
|
|||
|
|
estimatedClearTime: '2025/10/21 22:00',
|
|||
|
|
plan: {
|
|||
|
|
name: '智能应急方案',
|
|||
|
|
status: 'ready'
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
// 协同信息
|
|||
|
|
const collaborationInfo = ref([
|
|||
|
|
{
|
|||
|
|
id: 1,
|
|||
|
|
source: '气象预警',
|
|||
|
|
content:
|
|||
|
|
'巫溪县气象台2025年10月17日12时30分升级发布"暴雨黄色预警信号",过去6小时,文峰、红池坝、天元、长桂等乡镇累计降雨量已达70毫米以上。',
|
|||
|
|
timestamp: '2025-10-17 12:30'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
id: 2,
|
|||
|
|
source: '公安部门',
|
|||
|
|
content: '对巴南G348武大线三峭湾进行交通管制。',
|
|||
|
|
timestamp: '2025-10-17 13:00'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
id: 3,
|
|||
|
|
source: '融媒体中心',
|
|||
|
|
content:
|
|||
|
|
'发布了阻断信息:巴南G348武大线三湾于6月28日发生山体滑坡,边坡有继续垮塌风险,需断道观察,车辆从桥口坝绕行金田村,预计2025年10月17日18时30分恢复通行。',
|
|||
|
|
timestamp: '2025-10-17 14:30'
|
|||
|
|
}
|
|||
|
|
])
|
|||
|
|
|
|||
|
|
// 调度力量建议
|
|||
|
|
const dispatchSuggestion = ref({
|
|||
|
|
supplies: 23,
|
|||
|
|
personnel: 124,
|
|||
|
|
blockInfo: '需发布',
|
|||
|
|
stations: 4,
|
|||
|
|
excavators: 2,
|
|||
|
|
trafficControl: '需要'
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
// 计算属性
|
|||
|
|
const totalResources = computed(() => {
|
|||
|
|
return (
|
|||
|
|
forcePreset.value.equipment +
|
|||
|
|
forcePreset.value.bases +
|
|||
|
|
forcePreset.value.personnel
|
|||
|
|
)
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
return {
|
|||
|
|
disasterInfo,
|
|||
|
|
forcePreset,
|
|||
|
|
forceDispatch,
|
|||
|
|
collaborationInfo,
|
|||
|
|
dispatchSuggestion,
|
|||
|
|
totalResources
|
|||
|
|
}
|
|||
|
|
}
|