WholeProcessPlatform/frontend/src/utils/popupHtmlGenerator.ts

3590 lines
78 KiB
TypeScript
Raw Normal View History

// 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<string, string> = {
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<string, string> = {
DW_1: '多层式进水口',
DW_2: '叠梁门式进水口',
DW_3: '翻板门式进水口',
DW_4: '套筒式进水口',
DW_5: '前置挡墙',
DW_6: '隔水幕墙',
DW_9: '其他设施'
};
const fptpList: Record<string, string> = {
FP_1: '鱼道',
FP_2: '仿自然通道',
FP_3: '集运鱼系统',
FP_4: '升鱼机',
FP_5: '其它过鱼方式'
};
const eqtpList: Record<string, string> = {
'1': '生态放流孔',
'2': '生态放流闸',
'3': '生态放流洞',
'4': '生态放流管',
'5': '基荷发电',
'6': '生态机组'
};
const locationList: Record<string, string> = {
'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 `<span>${dtinName || '未接入'}</span>`;
} else if (_dtin == '1' && _stdSstate == '1') {
return `<span style="color: #76C500">${
_stdSstateName || '正常运行'
}</span>`;
} else if (_dtin == '1' && _stdSstate == '3') {
return `<span style="color: #FF6B6B">${
_stdSstateName || '未正常运行'
}</span>`;
}
return `<span>${_stdSstateName || '最近1年无数据'}</span>`;
};
const getLimitSpanHtml = (minVal: any, maxVal: any) => {
if (!isNil(maxVal) && !isNil(minVal)) {
return `<span style="color: rgba(255,255,255,0.45)">(${minVal}~${maxVal})</span>`;
} else if (!isNil(maxVal)) {
return `<span style="color: rgba(255,255,255,0.45)">(≤${maxVal})</span>`;
} else if (!isNil(minVal)) {
return `<span style="color: rgba(255,255,255,0.45)">(≥${minVal})</span>`;
}
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 += `
<li>
<div class="__label">${ystheme?.name}</div>
<span style="color: #E55555">
${val} ${unit}
${getLimitSpanHtml(minVal, maxVal)}
</span>
</li>
`;
}
});
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 = `
<div class="${'iconEngDiv_' + props.anchoPointState} ${
'iconEngDiv-' + props.anchoPointState + '-' + props?.bldsttCcode
}">
<div class="iconDivTitle ${getTitleClass(titleClass)}">${title}</div>
<div class="iconDivContent">
<div class="iconDivLeft">
<div>${transUnitRender(p?.ttpwr, 'Other', 'ZJRL')}</div>
<div style="font-size: 12px">${dzZjrl || '万kW'}</div>
</div>
<div class="iconDivRight">
<div>${transUnitRender(p?.yrge, 'Other', 'FDLYKW')}</div>
<div style="font-size: 12px;white-space: nowrap;letter-spacing: -1px;">${
dzFdl || `亿kW・h`
}</div>
</div>
</div>
</div>
`;
break;
case 'eng1':
if (
p?.anchoPointState == 'eef_1_none' ||
p?.anchoPointState == 'eef_2_none'
) {
html = `
<div class="iconDiv ${getStateClass(p)} ${p?.anchoPointState || ''}">
<div class="iconDivTitle">${p?.ennm || p?.stnm}</div>
<div class="iconDivContent"></div>
</div>
`;
} else {
html = `
<div class="iconDiv ${getStateClass(p)} ${p?.anchoPointState || ''}">
<div class="iconDivTitle">${p?.ennm || p?.stnm}</div>
<div class="iconDivContent">
<div class="iconDivLeft">${transUnitRender(
p?.ttpwr,
'Other',
'ZJRL'
)}</div>
<div class="iconDivRight">${p?.limit}</div>
</div>
</div>
`;
}
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
? `<li style="border-top: 1px dashed #12aaeb;margin-top: 10px;padding-top: 10px;"><div>限值来源:${lastTmEngEqDataVo?.vlsr}</div></li>`
: '';
html = `
<div class="map-tooltip map-tooltip-middle">
<div class="map-tooltip-box">
<div class="map-tooltip-title">${p?.ennm || p?.stnm}</div>
<div class="map-tooltip-sub">${lastTmEngEqDataVo?.tm ?? ''}</div>
<ul class="map-tooltip-content map-tooltip-list">
<li>
<div class="__label"></div>
<div class="__info">
${transUnitRender(
formatNumber(lastTmEngEqDataVo?.qi),
'HYDROPW_R',
'QI'
)} ${getUnitConfigByCode('HYDROPW_R', 'QI')?.unit}
</div>
</li>
<li>
<div class="__label"> </div>
<div class="__info">
${transUnitRender(
lastTmEngEqDataVo?.qo,
'HYDROPW_R',
'QO'
)} ${getUnitConfigByCode('HYDROPW_R', 'QO')?.unit}
</div>
</li>
<li>
<div class="__label"></div>
<div class="__info">${qecLimitDisplay}</div>
</li>
${vlsrHtml}
</ul>
</div>
</div>
`;
break;
}
case 'eng3':
html = `
<div class="map-tooltip map-tooltip-small">
<div class="map-tooltip-box">
<div class="map-tooltip-title">${p?.ennm || p?.stnm}</div>
<div class="map-tooltip-sub">${p?.tm ?? ''}</div>
<ul class="map-tooltip-content map-tooltip-list">
<li>
<div class="__label"></div>
<div class="__info">
${transUnitRender(p?.inTemp, 'WTRV_R', 'INTEMP') ?? '-'} ${
getUnitConfigByCode('WTRV_R', 'INTEMP')?.unit
}
</div>
</li>
<li>
<div class="__label"></div>
<div class="__info">
${transUnitRender(p?.outTemp, 'WTRV_R', 'OUTTEMP') ?? '-'} ${
getUnitConfigByCode('WTRV_R', 'OUTTEMP')?.unit
}
</div>
</li>
</ul>
</div>
</div>
`;
break;
case 'eng4': {
let devStatusHtml = '<span>数据未接入</span>';
if (p?.development == '未完成')
devStatusHtml = '<span style="color: #FF6B6B">未完成</span>';
else if (p?.development == '未填报')
devStatusHtml = '<span style="color: #F0CC1D">未填报</span>';
else if (p?.development == '已完成')
devStatusHtml = '<span style="color: #76C500">已完成</span>';
const targetInfo = p.targetNum
? `${p?.targetFtp || '-'}种/${p?.targetNum || '-'}万尾`
: '--';
const actualInfo = p.actualNum
? `${p?.actualFtp || '-'}种/${p?.actualNum || '-'}万尾`
: '--';
html = `
<div class="map-tooltip">
<div class="map-tooltip-box">
<div class="map-tooltip-title">${
p?.ennm || p?.stnm || p?.popName
}</div>
<ul class="map-tooltip-content map-tooltip-list">
<li>
<div class="__label"></div>
<div class="__info">${p?.year || '-'}</div>
</li>
<li>
<div class="__label">/</div>
<div class="__info">${targetInfo}</div>
</li>
<li>
<div class="__label"></div>
<div class="__info">${actualInfo}</div>
</li>
<li>
<div class="__label"></div>
<div class="__info">${devStatusHtml}</div>
</li>
</ul>
</div>
</div>
`;
break;
}
case 'VA': {
const hbbLi =
app == 'hbb'
? `
<li>
<div class="__label"></div>
<div class="__info">${
p?.dtin === 0 ? '未接入' : p?.dtin === 1 ? '已接入' : '-'
}</div>
</li>
`
: '';
html = `
<div class="map-tooltip map-tooltip-small">
<div class="map-tooltip-box">
<div class="map-tooltip-title">${p?.stnm}</div>
<ul class="map-tooltip-content map-tooltip-list">
<li>
<div class="__label"></div>
<div class="__info">
${
p?.bldsttCcode == '0'
? '未建'
: p?.bldsttCcode == '1'
? '在建'
: p?.bldsttCcode == '2'
? '已建'
: '-'
}
</div>
</li>
<li>
<div class="__label"></div>
<div class="__info">${p?.ennm}</div>
</li>
${hbbLi}
</ul>
</div>
</div>
`;
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 = `
<div class="map-tooltip map-tooltip-small">
<div class="map-tooltip-box">
<div class="map-tooltip-title">${p?.stnm}</div>
<ul class="map-tooltip-content map-tooltip-list">
<li>
<div class="__label"></div>
<div class="__info">${
p?.sttpMap ? dwtpList[p.sttpMap] || '-' : '-'
}</div>
</li>
<li>
<div class="__label"></div>
<div class="__info">${p?.ennm}</div>
</li>
<li>
<div class="__label"></div>
<div class="__info">${getStatusHtml(p)}</div>
</li>
</ul>
</div>
</div>
`;
break;
case 'FP':
case 'FP_1':
case 'FP_2':
case 'FP_3':
case 'FP_4':
case 'FP_5':
html = `
<div class="map-tooltip map-tooltip-small">
<div class="map-tooltip-box">
<div class="map-tooltip-title">${p?.stnm}</div>
<ul class="map-tooltip-content map-tooltip-list">
<li>
<div class="__label"></div>
<div class="__info">${p?.dwtp ? fptpList[p.dwtp] : '-'}</div>
</li>
<li>
<div class="__label"></div>
<div class="__info">${
p?.bldstt == '0'
? '未建'
: p?.bldstt == '1'
? '在建'
: p?.bldstt == '2'
? '已建'
: '-'
}</div>
</li>
<li>
<div class="__label"></div>
<div class="__info">${getStatusHtml(p)}</div>
</li>
<li>
<div class="__label"></div>
<div class="__info">${p?.ennm}</div>
</li>
</ul>
</div>
</div>
`;
break;
case 'FB':
html = `
<div class="map-tooltip map-tooltip-small">
<div class="map-tooltip-box">
<div class="map-tooltip-title">${p?.stnm}</div>
<ul class="map-tooltip-content map-tooltip-list">
<li>
<div class="__label"></div>
<div class="__info">${
p?.bldstt == '0'
? '未建'
: p?.bldstt == '1'
? '在建'
: p?.bldstt == '2'
? '已建'
: '-'
}</div>
</li>
<li>
<div class="__label"></div>
<div class="__info">${getStatusHtml(p)}</div>
</li>
<li>
<div class="__label"></div>
<div class="__info">${p?.ennm}</div>
</li>
</ul>
</div>
</div>
`;
break;
case 'EQ':
html = `
<div class="map-tooltip map-tooltip-small">
<div class="map-tooltip-box">
<div class="map-tooltip-title">${p?.ennm || p?.stnm}</div>
<ul class="map-tooltip-content map-tooltip-list">
<li>
<div class="__label"></div>
<div class="__info">${p?.eqtp ? eqtpList[p.eqtp] : '-'}</div>
</li>
<li>
<div class="__label" style="flex: 0 0 110px; width: 110px"></div>
<div class="__info">${p?.qecLimit || '-'}</div>
</li>
</ul>
</div>
</div>
`;
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 = `
<div class="map-tooltip map-tooltip-${sizeClass}">
<div class="map-tooltip-box">
<div class="map-tooltip-title">${p?.stnm ?? '-'}</div>
<div class="map-tooltip-sub">${p?.tm ?? ''}</div>
<ul class="map-tooltip-content map-tooltip-list">
<li>
<div class="__label"></div>
<div class="__info">
${transUnit(p?.temperature, 'WQ_R', 'WTMP') ?? '-'}
${getUnitConfigByCode('WQ_R', 'WTMP')?.unit}
</div>
</li>
</ul>
</div>
</div>
`;
} else {
html = `
<div class="map-tooltip map-tooltip-${sizeClass}">
<div class="map-tooltip-box">
<div class="map-tooltip-title">${p?.stnm}</div>
<div class="map-tooltip-sub">${wtvtInfo?.tm ?? ''}</div>
<ul class="map-tooltip-content map-tooltip-list">
<li>
<div class="__label">
${tt} ${
transUnit(wtvtInfo?.minWthg, 'WQ_R', 'WTMP') || '-'
}m
</div>
<div class="__info">
${formatToOneDecimal(wtvtInfo?.minWthgWt)}
${getUnitConfigByCode('WQ_R', 'WTMP')?.unit}
</div>
</li>
<li>
<div class="__label"></div>
<div class="__info">
${formatToOneDecimal(wtvtInfo?.avgWt)}
${getUnitConfigByCode('WQ_R', 'WTMP')?.unit}
</div>
</li>
<li>
<div class="__label">
${tt} ${
transUnit(wtvtInfo?.maxWthg, 'WQ_R', 'WTMP') || '-'
}m
</div>
<div class="__info">
${formatToOneDecimal(wtvtInfo?.maxWthgWt)}
${getUnitConfigByCode('WQ_R', 'WTMP')?.unit}
</div>
</li>
</ul>
</div>
</div>
`;
}
break;
}
case 'FH': {
html = `
<div class="map-tooltip map-tooltip-small">
<div class="map-tooltip-box">
<div class="map-tooltip-title">${p?.stnm}</div>
<ul class="map-tooltip-content map-tooltip-list">
<li>
<div class="__label"></div>
<div class="__info">${p?.rvcdName || '-'}</div>
</li>
<li>
<div class="__label"></div>
<div class="__info">${p?.ennm || '-'}</div>
</li>
</ul>
</div>
</div>
`;
break;
}
case 'WQFB':
case 'WQ': {
const wqGrdTheme = getThemee(p.wqGrdName);
const wwqtgTheme = getThemee(p.wwqtgName);
html = `
<div class="map-tooltip">
<div class="map-tooltip-box">
<div class="map-tooltip-title">${p.stnm}</div>
<ul class="map-tooltip-sub map-tooltip-list">
<li>
<div class="__label"></div>
<div class="__info">${p?.tm ?? '-'}</div>
</li>
<li>
<div class="__label"></div>
<div class="__info">
<span style="color: ${wqGrdTheme?.color}">${
wqGrdTheme?.name ?? '-'
}</span>
( <span style="color: ${wwqtgTheme?.color}">${
wwqtgTheme?.name ?? '-'
}</span>)
</div>
</li>
</ul>
<ul class="map-tooltip-content map-tooltip-list">
${getYsListHtml(p)}
</ul>
</div>
</div>
`;
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 += `
<li>
<div class="__label">${item.fishName}</div>
<div class="__info">
${transUnitRender(item.count, 'Other', 'WEI')}
${getUnitConfigByCode('Other', 'WEI')?.unit}
</div>
</li>
`;
});
} else {
fishItemsHtml = '<li>暂无数据</li>';
}
if (mergedFishList.length > 3) {
fishItemsHtml += `<li><div style="text-align: center; flex: 0 0 100%; width: 100%">...</div></li>`;
}
html = `
<div class="map-tooltip map-tooltip-middle">
<div class="map-tooltip-box">
<div class="map-tooltip-title">${p.stnm}</div>
<ul class="map-tooltip-sub map-tooltip-list __list2">
<li>
<div class="__label"></div>
<div class="__info">${p?.tm ?? '-'}</div>
</li>
<li>
<div class="__label"></div>
<div class="__info">${p?.ennm ?? '-'} </div>
</li>
</ul>
<div class="map-tooltip-sub1">
<span class="__content"></span>
</div>
<ul class="map-tooltip-content map-tooltip-list __noborder __small __list2">
${fishItemsHtml}
</ul>
</div>
</div>
`;
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
? `<img style="width: 100px; object-fit: cover; margin-right: 10px" src="${imgUrl}" alt="" />`
: `<div style="width: 100px; object-fit: cover; margin-right: 10px">暂无图片</div>`;
let yearsHtml = '';
fishData?.forEach((item: any) => {
yearsHtml += `
<div class="__label">
${item.year}${transUnitRender(item.count, 'Other', 'WEI')}
${getUnitConfigByCode('Other', 'WEI')?.unit}
</div>
`;
});
html = `
<div class="map-tooltip map-tooltip-middle">
<div class="map-tooltip-box">
<div style="display: flex; justify-content: center">
${imgHtml}
<div style="text-align: left">
<div>${fishData?.[0]?.fishName}</div>
<div>${yearsHtml}</div>
</div>
</div>
</div>
</div>
`;
break;
}
case 'TE': {
let listItemsHtml = '';
if (p.list?.length > 0) {
p.list.slice(0, 3).forEach((item: any) => {
listItemsHtml += `
<li>
<div class="__label">${item.name}</div>
<div class="__info">${item.amount}k</div>
</li>
`;
});
} else {
listItemsHtml = '<li>暂无数据</li>';
}
html = `
<div class="map-tooltip map-tooltip-middle">
<div class="map-tooltip-box">
<div class="map-tooltip-title">${p.stnm}</div>
<ul class="map-tooltip-sub map-tooltip-list __list2">
<li>
<div class="__label"></div>
<div class="__info">${p?.tm ?? '-'}</div>
</li>
<li>
<div class="__label"></div>
<div class="__info">${p?.ennm ?? '-'} </div>
</li>
</ul>
<div class="map-tooltip-sub1">
<span class="__content"></span>
</div>
<ul class="map-tooltip-content map-tooltip-list __noborder __small">
${listItemsHtml}
</ul>
</div>
</div>
`;
break;
}
case 'VP':
html = `
<div class="map-tooltip map-tooltip-small">
<div class="map-tooltip-box">
<div class="map-tooltip-title">${p.stnm}</div>
<ul class="map-tooltip-content map-tooltip-list">
<li>
<div class="__label"></div>
<div class="__info">${
p.bldsttCcode == '0'
? '未建'
: p.bldsttCcode == '1'
? '在建'
: p.bldsttCcode == '2'
? '已建'
: '-'
}</div>
</li>
<li>
<div class="__label"></div>
<div class="__info">${p.ennm}</div>
</li>
</ul>
</div>
</div>
`;
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 += `
<li>
<div class="__label" style="flex: 0 0 100px; width: 100px"></div>
<div class="__info${p?.zcount > 0 ? ' __warn' : ''}">${
p?.zcount ?? '-'
} </div>
</li>
`;
}
if (app !== 'hbb' && env !== 'ylj' && env !== 'yljpro') {
extraLi += `
<li>
<div class="__label" style="flex: 0 0 100px; width: 100px"></div>
<div class="__info${p?.wtCount > 0 ? ' __warn' : ''}">${
p?.wtCount ?? '-'
} </div>
</li>
`;
}
html = `
<div class="map-tooltip map-tooltip-${sizeClass}">
<div class="map-tooltip-box">
<div class="map-tooltip-title">${p.ennm}</div>
<div class="map-tooltip-sub1">
<span class="__content"></span>
</div>
<ul class="map-tooltip-content map-tooltip-list __noborder">
<li>
<div class="__label" style="flex: 0 0 100px; width: 100px">
${app == 'hbb' ? '统计年份' : '统计时间范围'}
</div>
<div class="__info">${timeRange}</div>
</li>
<li>
<div class="__label" style="flex: 0 0 100px; width: 100px"></div>
<div class="__info${p?.stqCount > 0 ? ' __warn' : ''}">${
p?.stqCount ?? '-'
} </div>
</li>
<li>
<div class="__label" style="flex: 0 0 100px; width: 100px"></div>
<div class="__info${p?.wqCount > 0 ? ' __warn' : ''}">${
p?.wqCount ?? '-'
} </div>
</li>
${extraLi}
</ul>
</div>
</div>
`;
break;
}
case 'ylfb':
html = `
<div class="map-tooltip">
<div class="map-tooltip-box">${p?.ftp ?? '-'}</div>
</div>
`;
break;
case 'ZQ':
html = `
<div class="map-tooltip map-tooltip-small">
<div class="map-tooltip-box">
<div class="map-tooltip-title">${p?.stnm + '流量站'}</div>
<div class="map-tooltip-sub">${p?.tm ?? ''}</div>
<ul class="map-tooltip-content map-tooltip-list">
<li>
<div class="__label">(m)</div>
<div class="__info">${p?.z ?? '-'}</div>
</li>
<li>
<div class="__label">(m³/s)</div>
<div class="__info">${p?.q ?? '-'}</div>
</li>
<li>
<div class="__label">(m/s)</div>
<div class="__info">${p?.v ?? '-'}</div>
</li>
</ul>
</div>
</div>
`;
break;
case 'VD':
case 'AIVD': {
html = `
<div class="map-tooltip">
<div class="map-tooltip-box">
<div class="map-tooltip-title">${
p?.stnm?.endsWith('视频站') ? p?.stnm : p?.stnm + '视频站'
}</div>
<ul class="map-tooltip-content map-tooltip-list">
<li>
<div class="__label"></div>
<div class="__info">${
newsttpMap == 'VD' ? p?.sttpName : p?.aiSttpName
}</div>
</li>
<li><div class="__label"></div><div class="__info">${
p?.ennm
}</div></li>
</ul>
</div>
</div>
`;
break;
}
case 'REACH': {
const wwqtgTheme = getThemee(p?.wwqtgName);
const wqGrdTheme = getThemee(p?.wqGrdName);
html = `
<div class="map-tooltip map-tooltip-small">
<div class="map-tooltip-box">
<div class="map-tooltip-title">${p?.reachname}</div>
<div class="map-waterQuality-subtitle">
<div class="map-waterQuality-leftType">
<br/>
<span style="color: ${wwqtgTheme?.color}">${
wwqtgTheme?.name || '-'
}</span>
</div>
<div class="map-waterQuality-rightType">
<br/>
<span style="color: ${wqGrdTheme?.color}">${
wqGrdTheme?.name || '-'
}</span>
</div>
</div>
</div>
</div>
`;
break;
}
case 'WT_ALARM':
html = `
<div class="map-tooltip map-tooltip-small">
<div class="map-tooltip-box">
<div class="map-tooltip-title">${p?.stnm || p?.ennm}</div>
<div class="map-tooltip-sub">${p?.tm ?? ''}</div>
<ul class="map-tooltip-content map-tooltip-list">
<li>
<div class="__label"></div>
<div class="__info">${p?.wt ?? '-'} </div>
</li>
</ul>
</div>
</div>
`;
break;
case 'WQ_ALARM': {
let warnItems = '';
p.warnDataList?.forEach((item: any) => {
const theme = getThemee(item.ys);
warnItems += `
<li>
<div class="__label">${theme.name}</div>
<div class="__info">
${item.ssz} ${getUnitConfigByCode('WQ_R', item.ys)?.unit}
</div>
</li>
`;
});
html = `
<div class="map-tooltip map-tooltip-small">
<div class="map-tooltip-box">
<div class="map-tooltip-title">${p?.stnm || p?.ennm}</div>
<div class="map-tooltip-sub">${p?.warnDataList?.[0]?.tm ?? ''}</div>
<ul class="map-tooltip-content map-tooltip-list">
${warnItems}
</ul>
</div>
</div>
`;
break;
}
case 'RZ_ALARM':
html = `
<div class="map-tooltip map-tooltip-small">
<div class="map-tooltip-box">
<div class="map-tooltip-title">${p?.ennm || p?.stnm}</div>
<div class="map-tooltip-sub">${p?.tm ?? ''}</div>
<ul class="map-tooltip-content map-tooltip-list">
<li>
<div class="__label"></div>
<div class="__info">${p?.rz ?? '-'} m</div>
</li>
</ul>
</div>
</div>
`;
break;
case 'OPERAT_ALARM':
html = `
<div class="map-tooltip map-tooltip-small">
<div class="map-tooltip-box">
<div class="map-tooltip-title">${p?.ennm || p?.stnm}</div>
<div class="map-tooltip-sub">${p?.dtmel ?? ''}</div>
<ul class="map-tooltip-content map-tooltip-list">
<li>
<div class="__label"></div>
<div class="__info">${p?.warnStateName ?? '-'}</div>
</li>
</ul>
</div>
</div>
`;
break;
case 'WVA':
case 'FD':
html = `
<div class="map-tooltip map-tooltip-small">
<div class="map-tooltip-box">${p.stnm}</div>
</div>
`;
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]
? `<img style="width: 100px; object-fit: cover; margin-right: 10px" src="${imgUrl}" alt="" />`
: `<div style="width: 100px; object-fit: cover; margin-right: 10px">暂无图片</div>`;
html = `
<div class="map-tooltip map-tooltip-middle">
<div class="map-tooltip-box">
<div style="display: flex; justify-content: center">
${imgHtml}
</div>
<div style="text-align: center">
<div>${p?.name}</div>
</div>
</div>
</div>
`;
break;
}
default:
html = `
<div class="map-tooltip map-tooltip-small">
<div class="map-tooltip-box">${p.ennm || p.stnm}</div>
</div>
`;
}
return html ? `<div>${html}</div>` : '';
}