// Popup HTML 生成器 - 从 IconDiv 组件提取的渲染逻辑 // 用于在 map.ol.ts 中直接生成 HTML 字符串,避免 Vue 组件渲染导致的性能问题 /* 1. window.__lyConfigs 不知道是干什么的 2. 生态流量泄放设施 泄洪设施 猴子岩是 7 eqtpList 里面没有7 */ const isNil = (val: any) => val == null; /** * 根据数值大小动态保留小数位数 * - 个位数(0-9):保留两位小数 * - 两位数(10-99):保留一位小数 * - 三位及以上(100+):不保留小数(四舍五入) * @param val - 数值 * @returns 格式化后的字符串 */ const formatNumber = (val: number | string | null | undefined): string => { if (val == null || val === '') return '-'; const num = Number(val); if (isNaN(num)) return '-'; const absNum = Math.abs(num); if (absNum < 10) { return num.toFixed(2); } else if (absNum < 100) { return num.toFixed(1); } else { return Math.round(num).toString(); } }; const transUnitRender = (val: any, type: string, code: string) => { if (val == null) return '-'; return val; }; const transUnit = (val: any, type: string, code: string) => { if (val == null) return '-'; return val; }; const formatToOneDecimal = (val: any): string => { if (val == null) return '-'; const num = Number(val); if (isNaN(num)) return '-'; return (Math.round(num * 10) / 10).toFixed(1); }; const getUnitConfigByCode = (type: string, code: string) => { const units: Record = { ZJRL: 'MW', FDLYKW: '亿kW・h', QI: 'm³/s', QO: 'm³/s', QECLIMIT: 'm³/s', INTEMP: '℃', OUTTEMP: '℃', WTMP: '℃', WEI: '尾' }; return { unit: units[code] || '' }; }; const dwtpList: Record = { DW_1: '多层式进水口', DW_2: '叠梁门式进水口', DW_3: '翻板门式进水口', DW_4: '套筒式进水口', DW_5: '前置挡墙', DW_6: '隔水幕墙', DW_9: '其他设施' }; const fptpList: Record = { FP_1: '鱼道', FP_2: '仿自然通道', FP_3: '集运鱼系统', FP_4: '升鱼机', FP_5: '其它过鱼方式' }; const eqtpList: Record = { '1': '生态放流孔', '2': '生态放流闸', '3': '生态放流洞', '4': '生态放流管', '5': '基荷发电', '6': '生态机组' }; const locationList: Record = { '1': '库尾', '2': '库中', '3': '坝前', '4': '坝下' }; const allYs = [ 'CHLA', 'CL', 'CLARITY', 'CODCR', 'CODMN', 'COND', 'CYANO', 'DOX', 'FCG', 'FID', 'LAS', 'NH3N', 'NO3', 'PH', 'S2', 'SE', 'TN', 'TP', 'TU', 'WTMP', 'ZN' ]; const app = (typeof window !== 'undefined' ? (window as any).__appCode : undefined) || 'hbb'; const env = (typeof window !== 'undefined' ? (window as any).__env__ : undefined) || ''; const themecc_list = [ { fieldName: 'MZGJDDZSL', name: '闽浙赣基地', nameEn: '', color: '', unit: '座', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'GHDZSL', name: '规划', nameEn: '', color: '#96B0B5', unit: '座', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'SJNFDL', name: '年发电量', nameEn: '', color: '', unit: '亿kw·h', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'SSWZCBSSJ', name: '未正常报送数据', nameEn: '', color: '', unit: '个', theme: '', decpos: '', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'ARS', name: '砷', nameEn: 'ARS', color: '', unit: 'mg/L', theme: '', decpos: '1', mn: '0.00006', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'SYMJ', name: '水域面积', nameEn: '', color: '', unit: 'km2', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'SSWZCYX', name: '未正常运行', nameEn: '', color: '', unit: '个', theme: '', decpos: '', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'WTMP', name: '水温', nameEn: '', color: '#01B5B9', unit: '℃', theme: '', decpos: '6', mn: '0', mx: '25', norm: '18', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'DBJDDZSL', name: '东北基地', nameEn: '', color: '', unit: '座', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'SSDDSJYQ', name: '达到设计要求', nameEn: '', color: '', unit: '个', theme: '', decpos: '', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'YJDZZJRL', name: '已建', nameEn: '', color: '#78C300', unit: '万kW', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'OIL', name: '石油类', nameEn: 'OIL', color: '', unit: 'mg/L', theme: '', decpos: '1', mn: '0.01', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'FCG', name: '粪大肠菌群', nameEn: 'FCG', color: '', unit: '个/L', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'Ⅰ', name: 'I', nameEn: '', color: '#13ADE6', unit: '', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'DOX', name: '溶解氧', nameEn: 'DO', color: '#9A60B4', unit: 'mg/L', theme: '', decpos: '1', mn: '1', mx: '15', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'HHSYJDDZSL', name: '黄河上游基地', nameEn: '', color: '', unit: '座', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'DDHJDDZSL', name: 'ddh基地', nameEn: '', color: '', unit: '座', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'SSZCYX', name: '正常运行', nameEn: '', color: '', unit: '个', theme: '', decpos: '', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'ZN', name: '锌', nameEn: 'ZN', color: '', unit: 'mg/L', theme: '', decpos: '1', mn: '0.05', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'NPJJDDZSL', name: '南盘江&红水河基地', nameEn: '', color: '', unit: '座', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'STLLNONE', name: '无数据', nameEn: '', color: '', unit: '座', theme: '', decpos: '', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'LAS', name: '阴离子表面活性剂', nameEn: 'LAS', color: '', unit: 'mg/L', theme: '', decpos: '1', mn: '0.05', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'Ⅳ', name: 'IV', nameEn: '', color: '#FF8800', unit: '', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'BXSW', name: '坝下水位', nameEn: '', color: '', unit: 'm', theme: '', decpos: '', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'SSBDB', name: '不达标', nameEn: '', color: '', unit: '个', theme: '', decpos: '', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'CJSYJDDZSL', name: '长江上游基地', nameEn: '', color: '', unit: '座', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: '劣Ⅴ', name: '劣V', nameEn: '', color: '#D9001B', unit: '', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'CKLL', name: '出库流量', nameEn: '', color: '', unit: 'm3/s', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'TP', name: '总磷', nameEn: 'TP', color: '', unit: 'mg/L', theme: '', decpos: '1', mn: '0.01', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'STLLXZ', name: '生态流量限值', nameEn: '', color: '', unit: 'm3/s', theme: '', decpos: '', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'FE', name: '铁', nameEn: 'FE', color: '', unit: 'mg/L', theme: '', decpos: '1', mn: '0.03', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'SSYXQT', name: '其它', nameEn: '', color: '', unit: '个', theme: '', decpos: '', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'SJZJRL', name: '装机容量', nameEn: '', color: '', unit: 'MW', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'TN', name: '总氮', nameEn: 'TN', color: '', unit: 'mg/L', theme: '', decpos: '1', mn: '0.05', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'TU', name: '浊度', nameEn: 'TU', color: '#91CC75', unit: 'NTU', theme: '', decpos: '1', mn: '0.1', mx: '5000', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'SSSJWJR', name: '数据未接入', nameEn: '', color: '', unit: '个', theme: '', decpos: '', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'NJJDDZSL', name: '怒江基地', nameEn: '', color: '', unit: '座', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'PB', name: '铅', nameEn: 'PB', color: '', unit: 'mg/L', theme: '', decpos: '1', mn: '0.01', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'BOD5', name: '五日生化需氧量', nameEn: 'BOD?', color: '', unit: 'mg/L', theme: '', decpos: '1', mn: '2', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'S2', name: '硫化物', nameEn: 'S2', color: '', unit: 'mg/L', theme: '', decpos: '1', mn: '0.004', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'pH', name: 'pH', nameEn: 'pH', color: '#73C1DF', unit: '', theme: '', decpos: '1', mn: '6', mx: '10', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'QEC_STLL_90AND95', name: '90%-95%', nameEn: '', color: '', unit: '座', theme: '', decpos: '', mn: '90', mx: '95', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'SE', name: '硒', nameEn: 'SE', color: '', unit: 'mg/L', theme: '', decpos: '1', mn: '0.00025', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'CL', name: '氯化物', nameEn: 'CL', color: '', unit: 'mg/L', theme: '', decpos: '1', mn: '0.02', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'SO4', name: '硫酸盐', nameEn: 'SO?', color: '', unit: 'mg/L', theme: '', decpos: '1', mn: '0.4', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'SSWSJ', name: '无数据', nameEn: '', color: '', unit: '个', theme: '', decpos: '', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'WJJDDZSL', name: '乌江基地', nameEn: '', color: '', unit: '座', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'HHZYJDDZSL', name: '黄河中游基地', nameEn: '', color: '', unit: '座', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'Ⅴ', name: 'V', nameEn: '', color: '#E55555', unit: '', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'QEC_STLL_XY80', name: '<80%', nameEn: '', color: '', unit: '座', theme: '', decpos: '', mn: '', mx: '80', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'SSAYQYX', name: '按要求运行', nameEn: '', color: '', unit: '个', theme: '', decpos: '', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'STLL', name: '生态流量', nameEn: '', color: '', unit: 'm3/s', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'CN', name: '氰化物', nameEn: 'CN', color: '', unit: 'mg/L', theme: '', decpos: '1', mn: '0.002', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'COND', name: '电导率', nameEn: 'COND', color: '#C7C402', unit: 'uS/cm', theme: '', decpos: '1', mn: '300', mx: '500', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'SSXYH', name: '需优化', nameEn: '', color: '', unit: '个', theme: '', decpos: '', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'THRD', name: '总硬度', nameEn: 'THRD', color: '', unit: 'mmol/L', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'SSWYX', name: '未运行', nameEn: '', color: '', unit: '个', theme: '', decpos: '', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'BSSW', name: '坝上水位', nameEn: '', color: '', unit: 'm', theme: '', decpos: '', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'CU', name: '铜', nameEn: 'CU', color: '', unit: 'mg/L', theme: '', decpos: '1', mn: '0.001', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'Ⅱ', name: 'II', nameEn: '', color: '#4FC64D', unit: '', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'SSWAYQYX', name: '未按要求运行', nameEn: '', color: '', unit: '个', theme: '', decpos: '', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'F', name: '氟化物', nameEn: 'F', color: '', unit: 'mg/L', theme: '', decpos: '1', mn: '0.02', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'YLJJDDZSL', name: 'ylj基地', nameEn: '', color: '', unit: '座', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'CD', name: '镉', nameEn: 'CD', color: '', unit: 'mg/L', theme: '', decpos: '1', mn: '0.001', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'CODCR', name: '化学需氧量', nameEn: 'CODcr', color: '#02B2FF', unit: 'mg/L', theme: '', decpos: '1', mn: '0', mx: '50', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'YJDZSL', name: '已建', nameEn: '', color: '#78C300', unit: '座', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'HG', name: '汞', nameEn: 'HG', color: '', unit: 'mg/L', theme: '', decpos: '1', mn: '0.00005', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'QTJDDZSL', name: '其他基地', nameEn: '', color: '', unit: '座', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'NH3N', name: '氨氮', nameEn: '', color: '', unit: 'mg/L', theme: '', decpos: '1', mn: '0.01', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'NO3', name: '硝氮/硝酸盐氮', nameEn: 'NO3', color: '', unit: 'mg/L', theme: '', decpos: '1', mn: '0.02', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'CODMN', name: '高锰酸盐指数', nameEn: 'CODMN', color: '', unit: 'mg/L', theme: '', decpos: '1', mn: '0.5', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'ZJDZZJRL', name: '在建', nameEn: '', color: '#669ECF', unit: '万kW', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'MN', name: '锰', nameEn: 'MN', color: '', unit: 'mg/L', theme: '', decpos: '1', mn: '0.01', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'JSJJDDZSL', name: '金沙江基地', nameEn: '', color: '', unit: '座', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'STLLWYQ', name: '无要求', nameEn: '', color: '', unit: '座', theme: '', decpos: '', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'QEC_STLL_DY95', name: '≥95%', nameEn: '', color: '', unit: '座', theme: '', decpos: '', mn: '95', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'XXJDDZSL', name: '湘西基地', nameEn: '', color: '', unit: '座', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'SSYXDB', name: '达标', nameEn: '', color: '', unit: '个', theme: '', decpos: '', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'CLARITY', name: '透明度', nameEn: 'CLARITY', color: '', unit: 'mm', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'GC', name: '高程', nameEn: '', color: '', unit: 'm', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'CR6', name: '铬(六价)', nameEn: 'CR6', color: '', unit: 'mg/L', theme: '', decpos: '1', mn: '0.004', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'GHDZZJRL', name: '规划', nameEn: '', color: '#96B0B5', unit: '万kW', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'RKLL', name: '入库流量', nameEn: '', color: '', unit: 'm3/s', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'ZJDZSL', name: '在建', nameEn: '', color: '#669ECF', unit: '座', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'QEC_STLL_80AND90', name: '80%-90%', nameEn: '', color: '', unit: '座', theme: '', decpos: '', mn: '80', mx: '90', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'CYANO', name: '蓝绿藻', nameEn: 'CYANO', color: '', unit: '个/L', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'CHLA', name: '叶绿素a', nameEn: 'CHLA', color: '', unit: 'mg/L', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'SSYXZ', name: '运行中', nameEn: '', color: '', unit: '个', theme: '', decpos: '', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'VLPH', name: '挥发酚', nameEn: 'VLPH', color: '', unit: 'mg/L', theme: '', decpos: '1', mn: '0.002', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'AL', name: '铝', nameEn: 'AL', color: '', unit: 'mg/L', theme: '', decpos: '1', mn: '0.00231', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'Ⅲ', name: 'III', nameEn: '', color: '#FFCC00', unit: '', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'LCJGLJDDZSL', name: '澜沧江干流基地', nameEn: '', color: '', unit: '座', theme: '', decpos: '1', mn: '', mx: '', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' }, { fieldName: 'DO', name: '溶解氧', nameEn: 'DO', color: '', unit: 'mg/L', theme: '', decpos: '2', mn: '1', mx: '15', norm: '', enabled: '', remark: '', orderIndex: '', createUser: '', createTime: null, updateUser: '', updateTime: null, filterContent: '', tenantId: '', isDeleted: '', deleteUser: '', deleteTime: null, systemId: '' } ]; const getThemee = (fieldName?: string) => { let themeecList = themecc_list; let getitem: any = {}; if (fieldName && themeecList.length > 0) { let getitemList = themeecList.filter( (i: any) => i.fieldName.toUpperCase() == fieldName.toUpperCase() ); if (getitemList.length > 0) { getitem = getitemList[0]; } } return getitem; }; const getImageUrl = (logo: string) => { if (!logo) return ''; const token = (typeof window !== 'undefined' && (window as any).Session?.getToken?.()) || { accessToken: '' }; const fsAddress = (typeof window !== 'undefined' && (window as any).__fsAddress) || ''; return `${fsAddress}?${logo}&view=jpg&token=${token.accessToken}`; }; const getStatusHtml = (props: any) => { const { dtin, stdSstate, stdSstateName, dtinName, lcjStatus, lcjStatusName } = props; const _dtin = `${dtin}`; const baseId = '02'; const _stdSstate = lcjStatus; const _stdSstateName = lcjStatusName; if (_dtin == '0') { return `${dtinName || '未接入'}`; } else if (_dtin == '1' && _stdSstate == '1') { return `${ _stdSstateName || '正常运行' }`; } else if (_dtin == '1' && _stdSstate == '3') { return `${ _stdSstateName || '未正常运行' }`; } return `${_stdSstateName || '最近1年无数据'}`; }; const getLimitSpanHtml = (minVal: any, maxVal: any) => { if (!isNil(maxVal) && !isNil(minVal)) { return `(${minVal}~${maxVal})`; } else if (!isNil(maxVal)) { return `(≤${maxVal})`; } else if (!isNil(minVal)) { return `(≥${minVal})`; } return ''; }; const needNotShow = (minVal: any, maxVal: any, val: any) => { const _min = isNil(minVal) ? null : Number(minVal); const _max = isNil(maxVal) ? null : Number(maxVal); const _val = isNil(val) ? null : Number(val); if (isNil(_val)) return true; if (!isNil(_max) && !isNil(_min)) return _val >= _min && _val <= _max; if (!isNil(_max)) return _val <= _max; if (!isNil(_min)) return _val >= _min; return true; }; const getYsListHtml = (props: any) => { let html = ''; allYs.forEach((ys: any) => { const _ys = ys.toLowerCase(); const val = props[_ys]; const ystheme = getThemee(ys); const ysUpper = ys.toUpperCase(); let minVal, maxVal; const ysLimit = props; if (ysLimit?.min) { if (typeof ysLimit.min === 'string') { const minArr = JSON.parse(ysLimit.min); const found = minArr.find( (el: any) => el?.[ysUpper] !== null && el?.[ysUpper] !== undefined ); minVal = found?.[ysUpper]; } else { const found = ysLimit.min.find( (el: any) => el?.[ysUpper] !== null && el?.[ysUpper] !== undefined ); minVal = found?.[ysUpper]; } } if (ysLimit?.max) { if (typeof ysLimit.max === 'string') { const maxArr = JSON.parse(ysLimit.max); const found = maxArr.find( (el: any) => el?.[ysUpper] !== null && el?.[ysUpper] !== undefined ); maxVal = found?.[ysUpper]; } else { const found = ysLimit.max.find( (el: any) => el?.[ysUpper] !== null && el?.[ysUpper] !== undefined ); maxVal = found?.[ysUpper]; } } if (!needNotShow(minVal, maxVal, val)) { const unit = ysUpper === 'PH' ? '' : getUnitConfigByCode('WQ_R', ysUpper)?.unit || ystheme?.unit || ''; html += ` ${ystheme?.name}: ${val} ${unit} ${getLimitSpanHtml(minVal, maxVal)} `; } }); return html; }; const getStateClass = (props: any) => { let setclass = ''; if (props?.anchoPointState) { if ( props.anchoPointState.includes('large_eng') || props.anchoPointState.includes('eef_1') ) { setclass = 'large_eng'; } else if ( props.anchoPointState.includes('mid_eng') || props.anchoPointState.includes('eef_2') ) { setclass = 'mid_eng'; } else { setclass = 'large_eng'; } } else { setclass = 'large_eng'; } if (props?.ennm && props.ennm.length > 3) { setclass += ' smallfont'; } if ( props?.ttpwr && `${transUnitRender(props.ttpwr, 'Other', 'ZJRL')}`.length > 4 ) { setclass += ' leftsmallfont'; } if ( (props?.yrge && `${transUnitRender(props.yrge, 'Other', 'FDLYKW')}`.length > 4) || (props?.limit && `${props.limit}`.length > 4) ) { setclass += ' rightsmallfont'; } return setclass; }; /** * 根据文字长度获取标题 class * @param title - 标题文字 * @returns class 字符串 */ const getTitleClass = (title: string) => { if (!title) return ''; const len = title.length; if (len > 6) return 'title-xxs'; // 7个字及以上 if (len > 5) return 'title-xs'; // 6个字 if (len > 4) return 'title-sm'; // 5个字 if (len > 3) return 'title-md'; // 4个字 return ''; // 3个字及以下,使用默认大小 }; const timegj = [ new Date(new Date().getTime() - 7 * 24 * 60 * 60 * 1000) .toISOString() .slice(5, 10), new Date().toISOString().slice(5, 10) ]; /** * 生成 Popup HTML 字符串 * @param props - 锚点数据对象 * @returns HTML 字符串 */ export function generatePopupHtml(props: any): string { const p = props; const dzFdl = getUnitConfigByCode('Other', 'FDLYKW')?.unit; const dzZjrl = getUnitConfigByCode('Other', 'ZJRL')?.unit; const title = p?.ennm || p?.stnm; const titleClass = getTitleClass(title); let newsttpMap = p.sttpMap; console.log('newsttpMap', newsttpMap); if (p.qecInterval) { newsttpMap = 'eng2'; } let html = ''; switch (newsttpMap) { case 'ENG': html = ` ${title} ${transUnitRender(p?.ttpwr, 'Other', 'ZJRL')} ${dzZjrl || '万kW'} ${transUnitRender(p?.yrge, 'Other', 'FDLYKW')} ${ dzFdl || `亿kW・h` } `; break; case 'eng1': if ( p?.anchoPointState == 'eef_1_none' || p?.anchoPointState == 'eef_2_none' ) { html = ` ${p?.ennm || p?.stnm} 暂无数据 `; } else { html = ` ${p?.ennm || p?.stnm} ${transUnitRender( p?.ttpwr, 'Other', 'ZJRL' )} ${p?.limit} `; } break; case 'eng2': { let lastTmEngEqDataVo: any = {}; if (typeof p?.lastTmEngEqDataVo == 'string') { lastTmEngEqDataVo = JSON.parse(p.lastTmEngEqDataVo); } else { lastTmEngEqDataVo = p.lastTmEngEqDataVo; } if (!lastTmEngEqDataVo?.qo && !lastTmEngEqDataVo?.qi) return ''; const qecLimitVal = lastTmEngEqDataVo?.qecLimit; let qecLimitDisplay = '-'; if (qecLimitVal == 0 || qecLimitVal == null) { // qecLimitDisplay = app == 'hbb' ? '-' : '无生态流量要求'; qecLimitDisplay = '无生态流量要求'; } else { qecLimitDisplay = `${transUnitRender( qecLimitVal, 'HYDROPW_R', 'QECLIMIT' )} ${getUnitConfigByCode('HYDROPW_R', 'QECLIMIT')?.unit}`; } const vlsrHtml = lastTmEngEqDataVo?.vlsr ? `限值来源:${lastTmEngEqDataVo?.vlsr}` : ''; html = ` ${p?.ennm || p?.stnm} ${lastTmEngEqDataVo?.tm ?? ''} 入库流量: ${transUnitRender( formatNumber(lastTmEngEqDataVo?.qi), 'HYDROPW_R', 'QI' )} ${getUnitConfigByCode('HYDROPW_R', 'QI')?.unit} 出库流量: ${transUnitRender( lastTmEngEqDataVo?.qo, 'HYDROPW_R', 'QO' )} ${getUnitConfigByCode('HYDROPW_R', 'QO')?.unit} 生态流量限值: ${qecLimitDisplay} ${vlsrHtml} `; break; } case 'eng3': html = ` ${p?.ennm || p?.stnm} ${p?.tm ?? ''} 入库水温: ${transUnitRender(p?.inTemp, 'WTRV_R', 'INTEMP') ?? '-'} ${ getUnitConfigByCode('WTRV_R', 'INTEMP')?.unit } 出库水温: ${transUnitRender(p?.outTemp, 'WTRV_R', 'OUTTEMP') ?? '-'} ${ getUnitConfigByCode('WTRV_R', 'OUTTEMP')?.unit } `; break; case 'eng4': { let devStatusHtml = '数据未接入'; if (p?.development == '未完成') devStatusHtml = '未完成'; else if (p?.development == '未填报') devStatusHtml = '未填报'; else if (p?.development == '已完成') devStatusHtml = '已完成'; const targetInfo = p.targetNum ? `${p?.targetFtp || '-'}种/${p?.targetNum || '-'}万尾` : '--'; const actualInfo = p.actualNum ? `${p?.actualFtp || '-'}种/${p?.actualNum || '-'}万尾` : '--'; html = ` ${ p?.ennm || p?.stnm || p?.popName } 年份: ${p?.year || '-'} 目标放流种类/数量: ${targetInfo} 实际放流种类数量: ${actualInfo} 工作开展情况: ${devStatusHtml} `; break; } case 'VA': { const hbbLi = app == 'hbb' ? ` 接入状态: ${ p?.dtin === 0 ? '未接入' : p?.dtin === 1 ? '已接入' : '-' } ` : ''; html = ` ${p?.stnm} 建设状态: ${ p?.bldsttCcode == '0' ? '未建' : p?.bldsttCcode == '1' ? '在建' : p?.bldsttCcode == '2' ? '已建' : '-' } 关联电站: ${p?.ennm} ${hbbLi} `; break; } case 'DW': case 'DW_1': case 'DW_2': case 'DW_3': case 'DW_4': case 'DW_5': case 'DW_6': case 'DW_9': html = ` ${p?.stnm} 设施类型: ${ p?.sttpMap ? dwtpList[p.sttpMap] || '-' : '-' } 关联电站: ${p?.ennm} 运行状态: ${getStatusHtml(p)} `; break; case 'FP': case 'FP_1': case 'FP_2': case 'FP_3': case 'FP_4': case 'FP_5': html = ` ${p?.stnm} 设施类型: ${p?.dwtp ? fptpList[p.dwtp] : '-'} 建设状态: ${ p?.bldstt == '0' ? '未建' : p?.bldstt == '1' ? '在建' : p?.bldstt == '2' ? '已建' : '-' } 运行状态: ${getStatusHtml(p)} 关联电站: ${p?.ennm} `; break; case 'FB': html = ` ${p?.stnm} 建设状态: ${ p?.bldstt == '0' ? '未建' : p?.bldstt == '1' ? '在建' : p?.bldstt == '2' ? '已建' : '-' } 运行状态: ${getStatusHtml(p)} 服务电站: ${p?.ennm} `; break; case 'EQ': html = ` ${p?.ennm || p?.stnm} 设施类型: ${p?.eqtp ? eqtpList[p.eqtp] : '-'} 生态流量限值: ${p?.qecLimit || '-'} `; break; case 'WT': { let wtvtInfo: any = {}; if (typeof p?.wtvtInfo == 'string') { wtvtInfo = JSON.parse(p.wtvtInfo); } else { wtvtInfo = p.wtvtInfo; } const tt = p?.deviceType == '1' ? '水深' : '高程'; const sizeClass = p.enfc === 0 ? 'small' : 'middle'; if (p.enfc === 0) { html = ` ${p?.stnm ?? '-'} ${p?.tm ?? ''} 水温: ${transUnit(p?.temperature, 'WQ_R', 'WTMP') ?? '-'} ${getUnitConfigByCode('WQ_R', 'WTMP')?.unit} `; } else { html = ` ${p?.stnm} ${wtvtInfo?.tm ?? ''} ${tt} ${ transUnit(wtvtInfo?.minWthg, 'WQ_R', 'WTMP') || '-' }m: ${formatToOneDecimal(wtvtInfo?.minWthgWt)} ${getUnitConfigByCode('WQ_R', 'WTMP')?.unit} 平均水温: ${formatToOneDecimal(wtvtInfo?.avgWt)} ${getUnitConfigByCode('WQ_R', 'WTMP')?.unit} ${tt} ${ transUnit(wtvtInfo?.maxWthg, 'WQ_R', 'WTMP') || '-' }m: ${formatToOneDecimal(wtvtInfo?.maxWthgWt)} ${getUnitConfigByCode('WQ_R', 'WTMP')?.unit} `; } break; } case 'FH': { html = ` ${p?.stnm} 所在河流: ${p?.rvcdName || '-'} 关联电站: ${p?.ennm || '-'} `; break; } case 'WQFB': case 'WQ': { const wqGrdTheme = getThemee(p.wqGrdName); const wwqtgTheme = getThemee(p.wwqtgName); html = ` ${p.stnm} 监测时间: ${p?.tm ?? '-'} 水质等级: ${ wqGrdTheme?.name ?? '-' }类 (目标等级 ${ wwqtgTheme?.name ?? '-' }类) ${getYsListHtml(p)} `; break; } case 'WE': { const mergedFishList: any[] = []; const fishList = typeof p.fishList === 'string' ? JSON.parse(p.fishList) : p.fishList; fishList?.forEach((item: any) => { const existingItem = mergedFishList.find( (mergedItem: any) => mergedItem.fishName === item.fishName ); if (existingItem) { existingItem.count += item.count; } else { mergedFishList.push({ ...item }); } }); let fishItemsHtml = ''; if (mergedFishList.length > 0) { mergedFishList.slice(0, 3).forEach((item: any) => { fishItemsHtml += ` ${item.fishName}: ${transUnitRender(item.count, 'Other', 'WEI')} ${getUnitConfigByCode('Other', 'WEI')?.unit} `; }); } else { fishItemsHtml = '暂无数据'; } if (mergedFishList.length > 3) { fishItemsHtml += `...`; } html = ` ${p.stnm} 调查时间: ${p?.tm ?? '-'} 关联电站: ${p?.ennm ?? '-'} 调查鱼类 ${fishItemsHtml} `; break; } case 'WE_FISH': { const fishData = typeof p.fishList === 'string' ? JSON.parse(p.fishList) : p.fishList; const imgUrl = getImageUrl(p.logo); const imgHtml = p.logo ? `` : `暂无图片`; let yearsHtml = ''; fishData?.forEach((item: any) => { yearsHtml += ` ${item.year}:${transUnitRender(item.count, 'Other', 'WEI')} ${getUnitConfigByCode('Other', 'WEI')?.unit} `; }); html = ` ${imgHtml} ${fishData?.[0]?.fishName} ${yearsHtml} `; break; } case 'TE': { let listItemsHtml = ''; if (p.list?.length > 0) { p.list.slice(0, 3).forEach((item: any) => { listItemsHtml += ` ${item.name}: ${item.amount}k㎡ `; }); } else { listItemsHtml = '暂无数据'; } html = ` ${p.stnm} 调查时间: ${p?.tm ?? '-'} 关联电站: ${p?.ennm ?? '-'} 调查结果 ${listItemsHtml} `; break; } case 'VP': html = ` ${p.stnm} 建设状态: ${ p.bldsttCcode == '0' ? '未建' : p.bldsttCcode == '1' ? '在建' : p.bldsttCcode == '2' ? '已建' : '-' } 关联电站: ${p.ennm} `; break; case 'ENG_ALARM': { const sizeClass = app === 'hbb' ? 'small' : 'middle'; const timeRange = app == 'hbb' ? `${p?.yyyy ?? '-'}年` : `${timegj[0]}~${timegj[1]}`; let extraLi = ''; if ( env !== 'ddh' && env !== 'ddhpro' && app !== 'hbb' && env !== 'ylj' && env !== 'yljpro' ) { extraLi += ` 水位告警: ${ p?.zcount ?? '-' } 次 `; } if (app !== 'hbb' && env !== 'ylj' && env !== 'yljpro') { extraLi += ` 水温告警: ${ p?.wtCount ?? '-' } 次 `; } html = ` ${p.ennm} 电站告警统计 ${app == 'hbb' ? '统计年份' : '统计时间范围'}: ${timeRange} 生态流量告警: ${ p?.stqCount ?? '-' } 次 水质告警: ${ p?.wqCount ?? '-' } 次 ${extraLi} `; break; } case 'ylfb': html = ` ${p?.ftp ?? '-'} `; break; case 'ZQ': html = ` ${p?.stnm + '流量站'} ${p?.tm ?? ''} 水位(m): ${p?.z ?? '-'} 流量(m³/s): ${p?.q ?? '-'} 流速(m/s): ${p?.v ?? '-'} `; break; case 'VD': case 'AIVD': { html = ` ${ p?.stnm?.endsWith('视频站') ? p?.stnm : p?.stnm + '视频站' } 监控内容类型: ${ newsttpMap == 'VD' ? p?.sttpName : p?.aiSttpName } 关联电站:${ p?.ennm } `; break; } case 'REACH': { const wwqtgTheme = getThemee(p?.wwqtgName); const wqGrdTheme = getThemee(p?.wqGrdName); html = ` ${p?.reachname} 水质要求 ${ wwqtgTheme?.name || '-' } 类 监测结果 ${ wqGrdTheme?.name || '-' } 类 `; break; } case 'WT_ALARM': html = ` ${p?.stnm || p?.ennm} ${p?.tm ?? ''} 水温: ${p?.wt ?? '-'} ℃ `; break; case 'WQ_ALARM': { let warnItems = ''; p.warnDataList?.forEach((item: any) => { const theme = getThemee(item.ys); warnItems += ` ${theme.name}: ${item.ssz} ${getUnitConfigByCode('WQ_R', item.ys)?.unit} `; }); html = ` ${p?.stnm || p?.ennm} ${p?.warnDataList?.[0]?.tm ?? ''} ${warnItems} `; break; } case 'RZ_ALARM': html = ` ${p?.ennm || p?.stnm} ${p?.tm ?? ''} 水位: ${p?.rz ?? '-'} m `; break; case 'OPERAT_ALARM': html = ` ${p?.ennm || p?.stnm} ${p?.dtmel ?? ''} 运行情况: ${p?.warnStateName ?? '-'} `; break; case 'WVA': case 'FD': html = ` ${p.stnm} `; break; case 'TE_ANIMALS': { let _pic: string[] = []; if (p.logo) { _pic = [p] .filter((item: any) => item.logo !== null) .map((item: any) => item.logo?.split(',')) .flat(); } const imgUrl = _pic?.[0] ? getImageUrl(_pic[0]) : ''; const imgHtml = _pic?.[0] ? `` : `暂无图片`; html = ` ${imgHtml} ${p?.name} `; break; } default: html = ` ${p.ennm || p.stnm} `; } return html ? `${html}` : ''; }