/** @format */ import uniq from 'lodash/uniq'; import { IEventListFilter } from '.'; export const EVENT_TYPE_IMAGES: Record = { FireControlAlarm: 'https://gt-toolbox.oss-cn-beijing.aliyuncs.com/gt-toolbox/80938d88-95c8-45d9-a6c9-db804bd5866c.png', ManholeCoverTilt: 'https://gt-toolbox.oss-cn-beijing.aliyuncs.com/gt-toolbox/980015e9-d1a4-4507-ba7d-dbc3c774bef7.png', ChargingPileOverload: 'https://gt-toolbox.oss-cn-beijing.aliyuncs.com/gt-toolbox/a53a23cb-9b43-4316-9fde-aabadc5edf7f.png', HighAltitudeParabolic: 'https://gt-toolbox.oss-cn-beijing.aliyuncs.com/gt-toolbox/39444590-1e20-4a87-ba0e-02c7b926a97c.png', }; export const EVENT_STATUS_MAP: Record = { '0': '离线', '1': '故障', '2': '正常', }; const DEVICE_ICON_MAPPER = { // 液位 liquid: 'https://gt-toolbox.oss-cn-beijing.aliyuncs.com/gt-toolbox/32562aef-b0b5-4452-b3b1-6302e424a8c2.png', // 液压 hydraulic: 'https://gt-toolbox.oss-cn-beijing.aliyuncs.com/gt-toolbox/c9872b38-aea9-45b6-a571-2bf6ff99a52e.png', // 温度 temperature: 'https://gt-toolbox.oss-cn-beijing.aliyuncs.com/gt-toolbox/e9e4057d-0b88-4e53-b016-e355ceb92827.png', // UPS ups: 'https://gt-toolbox.oss-cn-beijing.aliyuncs.com/gt-toolbox/26eb1944-3e19-48b5-9b27-f7573c07db9e.png', // 电量仪 electric: 'https://gt-toolbox.oss-cn-beijing.aliyuncs.com/gt-toolbox/bc55fb03-440b-44ae-adde-0cb14254398f.png', }; // 设备映射 export const DEVICE_MAP: Record = { SmokeSensor: '烟感', Camera: '摄像头', PersonGate: '人闸', CarGate: '车闸', Door: '门禁', EBikeChargingPile: '电瓶车充电桩', CarChargingPile: '汽车充电桩', ManholeCover: '井盖', FireHydrant: '消防栓', EnvironmentalMonitor: '环境监测器', WaterMeter: '水表', GasMeter: '燃气表', ElectricMeter: '电表', ParkingSpaceSensor: '地磁', Streetlight: '路灯', Dustbin: '垃圾桶', ElectricityMeter: '用电监测器', HydraulicSensor: '液压传感器', LiquidLevelSensor: '液位传感器', EmergencyButton: 'SOS报警按钮', EmergencyColumn: '一键报警柱', SoundLightButton: '声光报警按钮', TemperatureHumidityMeter: '温湿度监测器', SmartUPS: 'UPS', ElectricityMonitor: '电量仪', elevator: '电梯', OneMinClinic: '一分钟诊所', BreathRecordMonitor: '呼吸监测器', HeartRecordMonitor: '心率监测器', SleepQualityMonitor: '睡眠监测器', SmartLocker: '智能快递柜', Unkown: '未知', }; export function getTextEventImg(eventType: string) { // 液位偏低、液位偏高 const st1 = ['LowWaterLevel', 'HighWaterLevel']; // 液压偏低 、液压偏高 const st2 = ['HighWaterPressure', 'LowWaterPressure']; // 机房温度 const st3 = ['LowTemperature', 'LowTemperature']; // ups const st4 = [ 'OutUaHighVoltage', 'OutUaLowVoltage', 'OutUbHighVoltage', 'OutUbLowVoltage', 'OutUcHighVoltage', 'OutUcLowVoltage', 'ByPassUaHighVoltage', 'ByPassUaLowVoltage', 'ByPassUbHighVoltage', 'ByPassUbLowVoltage', 'ByPassUcHighVoltage', 'ByPassUcLowVoltage', ]; // 电量仪 const st5 = [ 'AHighVoltage', 'ALowVoltage', 'BHighVoltage', 'BLowVoltage', 'CHighVoltage', 'CLowVoltage', ]; if (st1.includes(eventType)) { return DEVICE_ICON_MAPPER.liquid; } if (st2.includes(eventType)) { return DEVICE_ICON_MAPPER.hydraulic; } if (st3.includes(eventType)) { return DEVICE_ICON_MAPPER.temperature; } if (st4.includes(eventType)) { return DEVICE_ICON_MAPPER.ups; } if (st5.includes(eventType)) { return DEVICE_ICON_MAPPER.electric; } return ''; } /** * 获取事件列表筛选条件 * @param eventCategories * @param filter */ export function getEventFilter( eventCategories: string[], filter: IEventListFilter | undefined, ) { const result: Record = { eventCategories, }; if (!filter) { return result; } const { effectiveTime, eventTypes } = filter; if (typeof effectiveTime !== 'undefined') { result.effectiveTime = effectiveTime; } if (eventTypes.length) { const _typeArray = eventTypes.filter(item => item?.length === 2); const _eventCategories = _typeArray.map(item => item[0]); const _eventTypes = _typeArray.map(item => item[1]); result.eventCategories = uniq(_eventCategories); result.eventTypes = uniq(_eventTypes); } return result; }