|
@@ -111,64 +111,65 @@ function goToHistory() {
|
|
|
}
|
|
}
|
|
|
// 预警等级映射
|
|
// 预警等级映射
|
|
|
const warnTypeMap = {
|
|
const warnTypeMap = {
|
|
|
- '102': '蓝色预警(一般风险)',
|
|
|
|
|
- '103': '黄色预警(较大风险)',
|
|
|
|
|
- '104': '橙色预警(重大风险)',
|
|
|
|
|
- '201': '红色预警(特别重大风险)',
|
|
|
|
|
|
|
+ '102': '黄色预警(较大风险)',
|
|
|
|
|
+ '103': '橙色预警(重大风险)',
|
|
|
|
|
+ '104': '红色预警(特别重大风险)',
|
|
|
};
|
|
};
|
|
|
-const deviceRuleMap = {
|
|
|
|
|
- modelsensor_co: { label: 'CO浓度', useFminMax: true },
|
|
|
|
|
- modelsensor_temperature: { label: '温度传感器', useFminMax: true },
|
|
|
|
|
- modelsensor_hcl: { label: 'HCL浓度', useFminMax: true },
|
|
|
|
|
- fiber_v1: { label: '光纤测温', useFminMax: false },
|
|
|
|
|
- modelsensor_fire: { label: '火焰传感器', useFminMax: false },
|
|
|
|
|
- modelsensor_smoke: { label: '烟雾传感器', useFminMax: false },
|
|
|
|
|
-};
|
|
|
|
|
-// 刷新数据
|
|
|
|
|
-async function refresh() {
|
|
|
|
|
- // await fetchConfigs('sys_Leather');
|
|
|
|
|
|
|
+// 处理接口返回数据
|
|
|
|
|
+interface WarnResult {
|
|
|
|
|
+ warnName: string;
|
|
|
|
|
+ coRange?: string;
|
|
|
|
|
+ coTrend?: string;
|
|
|
|
|
+ tempRange?: string;
|
|
|
|
|
+ tempTrend?: string;
|
|
|
|
|
+ hclRange?: string;
|
|
|
|
|
+}
|
|
|
|
|
+function groupWarnByType(data: any) {
|
|
|
|
|
+ const result: WarnResult[] = [];
|
|
|
|
|
|
|
|
- // if (pageType.value === 'fire_risk_warn') {
|
|
|
|
|
- // configs.value = testBeltNew;
|
|
|
|
|
- // const res = await getMonitorAndAlertBelt({
|
|
|
|
|
- // sysId: '2028657172566073346',
|
|
|
|
|
- // dataList: 'fire_risk_warn,warn_result,vehicle_co_correlate',
|
|
|
|
|
- // });
|
|
|
|
|
- // updateData(res);
|
|
|
|
|
- // } else if (pageType.value === 'emergencyControl') {
|
|
|
|
|
- // configs.value = testYjkf;
|
|
|
|
|
- // const res = await getSystem({
|
|
|
|
|
- // devicetype: 'sys',
|
|
|
|
|
- // systemID: '2028657172566073346',
|
|
|
|
|
- // type: 'ventS',
|
|
|
|
|
- // });
|
|
|
|
|
- // updateData(res);
|
|
|
|
|
- // } else if (pageType.value === 'sprayControl') {
|
|
|
|
|
- // const params = {
|
|
|
|
|
- // devicetype: 'sys',
|
|
|
|
|
- // systemID: '2028657172566073346',
|
|
|
|
|
- // };
|
|
|
|
|
- // Promise.resolve(getDevice(params)).then((originalData) => {
|
|
|
|
|
- // updateData(originalData);
|
|
|
|
|
- // const sprayData: any[] = [];
|
|
|
|
|
- // if (data.value?.msgTxt) {
|
|
|
|
|
- // data.value.msgTxt.forEach((item) => {
|
|
|
|
|
- // const hasSprayAuto = item.type && item.type.toLowerCase().includes('spray_auto');
|
|
|
|
|
- // if (hasSprayAuto) {
|
|
|
|
|
- // sprayData.push({
|
|
|
|
|
- // ...item,
|
|
|
|
|
- // ...item.readData,
|
|
|
|
|
- // });
|
|
|
|
|
- // }
|
|
|
|
|
- // });
|
|
|
|
|
- // }
|
|
|
|
|
- // data.value.sprayData = sprayData;
|
|
|
|
|
- // updateData(data.value);
|
|
|
|
|
- // });
|
|
|
|
|
- // configs.value = testSpary;
|
|
|
|
|
- // }
|
|
|
|
|
- // if (isFirst) initialized.value = true;
|
|
|
|
|
|
|
+ // 遍历 102、103、104...
|
|
|
|
|
+ Object.keys(data).forEach((warnKey) => {
|
|
|
|
|
+ const list = data[warnKey] || [];
|
|
|
|
|
+ const warnName = warnTypeMap[warnKey as keyof typeof warnTypeMap];
|
|
|
|
|
+
|
|
|
|
|
+ // 构建当前预警对象
|
|
|
|
|
+ const warnObj: WarnResult = { warnName };
|
|
|
|
|
+
|
|
|
|
|
+ list.forEach((item: any) => {
|
|
|
|
|
+ const { deviceType, fmin, fmax, trendMin, trendMax, trendCxTimeUnit } = item;
|
|
|
|
|
+ // CO
|
|
|
|
|
+ if (deviceType === 'modelsensor_co') {
|
|
|
|
|
+ if (fmin != null && fmax != null) {
|
|
|
|
|
+ warnObj.coRange = `${fmin} - ${fmax}`;
|
|
|
|
|
+ } else if (trendMin != null && trendMax != null) {
|
|
|
|
|
+ warnObj.coTrend = `${trendMin} - ${trendMax}`;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ // 温度(带单位)
|
|
|
|
|
+ else if (deviceType === 'modelsensor_temperature') {
|
|
|
|
|
+ if (fmin != null && fmax != null) {
|
|
|
|
|
+ warnObj.tempRange = `${fmin} - ${fmax}℃`;
|
|
|
|
|
+ } else if (trendMin != null) {
|
|
|
|
|
+ let unit = '';
|
|
|
|
|
+ if (trendCxTimeUnit === 0) unit = '分钟';
|
|
|
|
|
+ if (trendCxTimeUnit === 1) unit = '小时';
|
|
|
|
|
+ warnObj.tempTrend = `>${trendMin}℃ +${unit}`;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ // HCL
|
|
|
|
|
+ else if (deviceType === 'modelsensor_hcl') {
|
|
|
|
|
+ if (fmin != null && fmax != null) {
|
|
|
|
|
+ warnObj.hclRange = `${fmin} - ${fmax}`;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ result.push(warnObj);
|
|
|
|
|
+ });
|
|
|
|
|
|
|
|
|
|
+ return result;
|
|
|
|
|
+}
|
|
|
|
|
+// 刷新数据
|
|
|
|
|
+async function refresh() {
|
|
|
// 由于模型中需要用到风门的监测数据,这里进行公共调用(后期精确调用风门)
|
|
// 由于模型中需要用到风门的监测数据,这里进行公共调用(后期精确调用风门)
|
|
|
const modalRes = {};
|
|
const modalRes = {};
|
|
|
const systemParams = {
|
|
const systemParams = {
|
|
@@ -176,6 +177,11 @@ async function refresh() {
|
|
|
systemID: optionValue.value,
|
|
systemID: optionValue.value,
|
|
|
};
|
|
};
|
|
|
const resSys = await getSystem(systemParams);
|
|
const resSys = await getSystem(systemParams);
|
|
|
|
|
+ const params = {
|
|
|
|
|
+ sysId: optionValue.value,
|
|
|
|
|
+ monitorType: 2,
|
|
|
|
|
+ };
|
|
|
|
|
+ const warnInfo = await getWarnInfo(params);
|
|
|
Object.assign(modalRes, resSys);
|
|
Object.assign(modalRes, resSys);
|
|
|
if (pageType.value == 'fire_risk_warn') {
|
|
if (pageType.value == 'fire_risk_warn') {
|
|
|
configs.value = [...testBeltNew];
|
|
configs.value = [...testBeltNew];
|
|
@@ -198,6 +204,8 @@ async function refresh() {
|
|
|
if (alarmRes.warn_result) {
|
|
if (alarmRes.warn_result) {
|
|
|
data.value.warn_result = alarmRes.warn_result;
|
|
data.value.warn_result = alarmRes.warn_result;
|
|
|
}
|
|
}
|
|
|
|
|
+ data.value.warnInfo = groupWarnByType(warnInfo);
|
|
|
|
|
+ console.log(data.value, '11111111');
|
|
|
updateData(data.value);
|
|
updateData(data.value);
|
|
|
} else if (pageType.value == 'sprayControl') {
|
|
} else if (pageType.value == 'sprayControl') {
|
|
|
updateData(resSys);
|
|
updateData(resSys);
|