2026-04-13 21:23:24 +08:00
|
|
|
import {
|
|
|
|
|
debrisFlowIcon,
|
|
|
|
|
flashFloodIcon,
|
|
|
|
|
landslideIcon,
|
|
|
|
|
waterLoggingIcon,
|
|
|
|
|
} from '@/assets';
|
|
|
|
|
|
2026-04-13 22:28:56 +08:00
|
|
|
/**
|
|
|
|
|
* 隐患点相关钩子函数
|
|
|
|
|
* @returns 字段映射和获取灾害图标方法
|
|
|
|
|
*/
|
2026-04-13 21:23:24 +08:00
|
|
|
export const useHiddenPoint = () => {
|
2026-04-13 22:28:56 +08:00
|
|
|
/**
|
|
|
|
|
* 字段映射配置
|
|
|
|
|
*/
|
2026-04-13 21:23:24 +08:00
|
|
|
const field = {
|
|
|
|
|
fieldCode: '野外编号',
|
|
|
|
|
disasterName: '灾害点名称',
|
|
|
|
|
position: '位置',
|
|
|
|
|
disasterType: '灾害类型',
|
|
|
|
|
scaleGrade: '规模等级',
|
|
|
|
|
riskGrade: '风险等级',
|
|
|
|
|
};
|
|
|
|
|
|
2026-04-13 22:28:56 +08:00
|
|
|
/**
|
|
|
|
|
* 根据灾害类型获取对应图标
|
2026-04-28 10:05:49 +08:00
|
|
|
* @param disasterType - 灾害类型(支持中英文)
|
2026-04-13 22:28:56 +08:00
|
|
|
* @returns 图标路径
|
|
|
|
|
*/
|
2026-04-13 21:23:24 +08:00
|
|
|
function getDisasterIcon(disasterType?: string): string {
|
2026-04-28 10:05:49 +08:00
|
|
|
// 支持英文和中文两种格式
|
2026-04-13 21:23:24 +08:00
|
|
|
switch (disasterType) {
|
2026-04-28 10:05:49 +08:00
|
|
|
case 'landslide':
|
2026-04-13 21:23:24 +08:00
|
|
|
case '滑坡':
|
|
|
|
|
return landslideIcon;
|
2026-04-28 10:05:49 +08:00
|
|
|
case 'debris_flow':
|
2026-04-13 21:23:24 +08:00
|
|
|
case '泥石流':
|
|
|
|
|
return debrisFlowIcon;
|
2026-04-28 10:05:49 +08:00
|
|
|
case 'water_logging':
|
2026-04-13 21:23:24 +08:00
|
|
|
case '内涝':
|
|
|
|
|
return waterLoggingIcon;
|
2026-04-28 10:05:49 +08:00
|
|
|
case 'flash_flood':
|
2026-04-13 21:23:24 +08:00
|
|
|
case '山洪':
|
|
|
|
|
return flashFloodIcon;
|
|
|
|
|
default:
|
|
|
|
|
throw new Error(`未知的灾害类型: ${disasterType}`);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return { field, getDisasterIcon };
|
|
|
|
|
};
|