Files
xian_vue_new/src/hooks/rain-earthquake/useHiddenPoint.ts
T

52 lines
1.2 KiB
TypeScript
Raw Normal View History

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