|
|
|
@ -45,7 +45,11 @@
|
|
|
|
|
/> |
|
|
|
|
</div> |
|
|
|
|
<div class="hotWater-div"> |
|
|
|
|
<div class="hotWater-li" v-for="(boiler, index) in hotWaterBoilerData" :key="index"> |
|
|
|
|
<div |
|
|
|
|
class="hotWater-li" |
|
|
|
|
v-for="(boiler, index) in hotWaterBoilerData" |
|
|
|
|
:key="index" |
|
|
|
|
> |
|
|
|
|
<div class="special-div one"> |
|
|
|
|
<div class="special-top"> |
|
|
|
|
<div class="special-title"> |
|
|
|
@ -65,29 +69,43 @@
|
|
|
|
|
<div class="hotWater-tem"> |
|
|
|
|
<div class="pump-data-li"> |
|
|
|
|
<div>出水温度:</div> |
|
|
|
|
<div class="pump-data-text">{{ getTemperatureData(boiler, '出水温度') }}℃</div> |
|
|
|
|
<div class="pump-data-text"> |
|
|
|
|
{{ getTemperatureData(boiler, "出水温度") }}℃ |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="pump-data-li"> |
|
|
|
|
<div>回水温度:</div> |
|
|
|
|
<div class="pump-data-text">{{ getTemperatureData(boiler, '回水温度') }}℃</div> |
|
|
|
|
<div class="pump-data-text"> |
|
|
|
|
{{ getTemperatureData(boiler, "回水温度") }}℃ |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="pump-data-li"> |
|
|
|
|
<div>炉水温度:</div> |
|
|
|
|
<div class="pump-data-text">{{ getTemperatureData(boiler, '炉水温度') }}℃</div> |
|
|
|
|
<div class="pump-data-text"> |
|
|
|
|
{{ getTemperatureData(boiler, "炉水温度") }}℃ |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="pump-data-li"> |
|
|
|
|
<div>烟道温度:</div> |
|
|
|
|
<div class="pump-data-text">{{ getTemperatureData(boiler, '烟道温度') }}℃</div> |
|
|
|
|
<div class="pump-data-text"> |
|
|
|
|
{{ getTemperatureData(boiler, "烟道温度") }}℃ |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="port-right"> |
|
|
|
|
<div class="port"> |
|
|
|
|
<div :class="['port-li', getFireSignalClass(boiler, '大火')]">大火控制信号发出</div> |
|
|
|
|
<div :class="['port-li', getFireSignalClass(boiler, '小火')]">小火控制信号发出</div> |
|
|
|
|
<div :class="['port-li', getFireSignalClass(boiler, '大火')]"> |
|
|
|
|
大火控制信号发出 |
|
|
|
|
</div> |
|
|
|
|
<div :class="['port-li', getFireSignalClass(boiler, '小火')]"> |
|
|
|
|
小火控制信号发出 |
|
|
|
|
</div> |
|
|
|
|
<div class="port-li port-close">燃烧机电源</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="bad-div"> |
|
|
|
|
故障信息:<span class="bad-text">{{ getFaultInfo(boiler) }}</span> |
|
|
|
|
故障信息:<span class="bad-text">{{ |
|
|
|
|
getFaultInfo(boiler) |
|
|
|
|
}}</span> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
@ -265,73 +283,89 @@ export default {
|
|
|
|
|
methods: { |
|
|
|
|
// Get temperature data by type (keep as is) |
|
|
|
|
getTemperatureData(boiler, type) { |
|
|
|
|
if (!boiler || !boiler.values) return '--'; |
|
|
|
|
if (!boiler || !boiler.values) return "--"; |
|
|
|
|
|
|
|
|
|
const item = boiler.values.find(v => v.otherName && v.otherName.includes(type)); |
|
|
|
|
return item && item.curValue !== null ? item.curValue : '--'; |
|
|
|
|
const item = boiler.values.find( |
|
|
|
|
(v) => v.otherName && v.otherName.includes(type) |
|
|
|
|
); |
|
|
|
|
return item && item.curValue !== null ? item.curValue : "--"; |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
// Get fire signal class for individual signals |
|
|
|
|
getFireSignalClass(boiler, signalType) { |
|
|
|
|
if (!boiler || !boiler.values) return 'port-close'; |
|
|
|
|
if (!boiler || !boiler.values) return "port-close"; |
|
|
|
|
|
|
|
|
|
// Get fire signal values |
|
|
|
|
const fire1Item = boiler.values.find(v => v.otherName && v.otherName.includes('火力1')); |
|
|
|
|
const fire2Item = boiler.values.find(v => v.otherName && v.otherName.includes('火力2')); |
|
|
|
|
const fire1Item = boiler.values.find( |
|
|
|
|
(v) => v.otherName && v.otherName.includes("火力1") |
|
|
|
|
); |
|
|
|
|
const fire2Item = boiler.values.find( |
|
|
|
|
(v) => v.otherName && v.otherName.includes("火力2") |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
const fire1Value = fire1Item && fire1Item.curValue !== null ? fire1Item.curValue : 0; |
|
|
|
|
const fire2Value = fire2Item && fire2Item.curValue !== null ? fire2Item.curValue : 0; |
|
|
|
|
const fire1Value = |
|
|
|
|
fire1Item && fire1Item.curValue !== null ? fire1Item.curValue : 0; |
|
|
|
|
const fire2Value = |
|
|
|
|
fire2Item && fire2Item.curValue !== null ? fire2Item.curValue : 0; |
|
|
|
|
|
|
|
|
|
// Determine which signal should be open based on the logic: |
|
|
|
|
// 大火: fire1=1 and fire2=1 |
|
|
|
|
// 小火: fire1=1 and fire2=0 |
|
|
|
|
if (signalType === '大火' && fire1Value == 1 && fire2Value == 1) { |
|
|
|
|
return 'port-open'; |
|
|
|
|
} else if (signalType === '小火' && fire1Value == 1 && fire2Value == 0) { |
|
|
|
|
return 'port-open'; |
|
|
|
|
if (signalType === "大火" && fire1Value == 1 && fire2Value == 1) { |
|
|
|
|
return "port-open"; |
|
|
|
|
} else if (signalType === "小火" && fire1Value == 1 && fire2Value == 0) { |
|
|
|
|
return "port-open"; |
|
|
|
|
} else { |
|
|
|
|
return 'port-close'; |
|
|
|
|
return "port-close"; |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
// Get fire status text based on both fire signals (for other uses if needed) |
|
|
|
|
getFireStatusText(boiler) { |
|
|
|
|
if (!boiler || !boiler.values) return '未开机'; |
|
|
|
|
if (!boiler || !boiler.values) return "未开机"; |
|
|
|
|
|
|
|
|
|
const fire1Item = boiler.values.find(v => v.otherName && v.otherName.includes('火力1')); |
|
|
|
|
const fire2Item = boiler.values.find(v => v.otherName && v.otherName.includes('火力2')); |
|
|
|
|
const fire1Item = boiler.values.find( |
|
|
|
|
(v) => v.otherName && v.otherName.includes("火力1") |
|
|
|
|
); |
|
|
|
|
const fire2Item = boiler.values.find( |
|
|
|
|
(v) => v.otherName && v.otherName.includes("火力2") |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
const fire1Value = fire1Item && fire1Item.curValue !== null ? fire1Item.curValue : 0; |
|
|
|
|
const fire2Value = fire2Item && fire2Item.curValue !== null ? fire2Item.curValue : 0; |
|
|
|
|
const fire1Value = |
|
|
|
|
fire1Item && fire1Item.curValue !== null ? fire1Item.curValue : 0; |
|
|
|
|
const fire2Value = |
|
|
|
|
fire2Item && fire2Item.curValue !== null ? fire2Item.curValue : 0; |
|
|
|
|
|
|
|
|
|
// If both are 0, boiler is off |
|
|
|
|
if (fire1Value == 0 && fire2Value == 0) { |
|
|
|
|
return '无火信号'; |
|
|
|
|
return "无火信号"; |
|
|
|
|
} |
|
|
|
|
// If fire1 is 1 and fire2 is 0, small fire |
|
|
|
|
else if (fire1Value == 1 && fire2Value == 0) { |
|
|
|
|
return '小火控制信号发出'; |
|
|
|
|
return "小火控制信号发出"; |
|
|
|
|
} |
|
|
|
|
// If both fire1 and fire2 are 1, big fire |
|
|
|
|
else if (fire1Value == 1 && fire2Value == 1) { |
|
|
|
|
return '大火控制信号发出'; |
|
|
|
|
return "大火控制信号发出"; |
|
|
|
|
} |
|
|
|
|
// Any other case |
|
|
|
|
else { |
|
|
|
|
return '未开机'; |
|
|
|
|
return "未开机"; |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
// Get fault information (placeholder implementation) |
|
|
|
|
// Get fault information based on fault code |
|
|
|
|
getFaultInfo(boiler) { |
|
|
|
|
if (!boiler || !boiler.values) return '无故障'; |
|
|
|
|
if (!boiler || !boiler.values) return "无故障"; |
|
|
|
|
|
|
|
|
|
// Find the fault item - you might need to adjust this based on actual data structure |
|
|
|
|
const faultItem = boiler.values.find(v => v.otherName && v.otherName.includes('故障')); |
|
|
|
|
const faultItem = boiler.values.find( |
|
|
|
|
(v) => v.otherName && v.otherName.includes("故障") |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
if (!faultItem || faultItem.curValue === null) { |
|
|
|
|
return '无故障'; |
|
|
|
|
return "无故障"; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Convert fault code to descriptive text |
|
|
|
@ -339,38 +373,38 @@ export default {
|
|
|
|
|
|
|
|
|
|
switch (faultCode) { |
|
|
|
|
case 0: |
|
|
|
|
return '无故障'; |
|
|
|
|
return "无故障"; |
|
|
|
|
case 1: |
|
|
|
|
return '炉水温度传感器故障'; |
|
|
|
|
return "炉水温度传感器故障"; |
|
|
|
|
case 2: |
|
|
|
|
return '出水温度传感器故障'; |
|
|
|
|
return "出水温度传感器故障"; |
|
|
|
|
case 3: |
|
|
|
|
return '回水温度传感器故障'; |
|
|
|
|
return "回水温度传感器故障"; |
|
|
|
|
case 4: |
|
|
|
|
return '锅炉水位极低'; |
|
|
|
|
return "锅炉水位极低"; |
|
|
|
|
case 5: |
|
|
|
|
return '燃烧机故障'; |
|
|
|
|
return "燃烧机故障"; |
|
|
|
|
case 6: |
|
|
|
|
return '炉水超温'; |
|
|
|
|
return "炉水超温"; |
|
|
|
|
case 7: |
|
|
|
|
return '循环水流故障'; |
|
|
|
|
return "循环水流故障"; |
|
|
|
|
case 9: |
|
|
|
|
return '定时时间到关机(正常关机模式)'; |
|
|
|
|
return "定时时间到关机(正常关机模式)"; |
|
|
|
|
case 11: |
|
|
|
|
return '烟道传感器故障'; |
|
|
|
|
return "烟道传感器故障"; |
|
|
|
|
case 12: |
|
|
|
|
return '烟道超温故障'; |
|
|
|
|
return "烟道超温故障"; |
|
|
|
|
case 13: |
|
|
|
|
return '检漏故障'; |
|
|
|
|
return "检漏故障"; |
|
|
|
|
default: |
|
|
|
|
return '未知故障'; |
|
|
|
|
return "未知故障"; |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
// 获取热水锅炉数据 |
|
|
|
|
getHotWaterBoiler() { |
|
|
|
|
let queryParams = { |
|
|
|
|
systemType: '3', |
|
|
|
|
type: '0', |
|
|
|
|
systemType: "3", |
|
|
|
|
type: "0", |
|
|
|
|
}; |
|
|
|
|
hotWaterBoiler(queryParams).then((res) => { |
|
|
|
|
if (res.code == 200) { |
|
|
|
@ -447,7 +481,7 @@ export default {
|
|
|
|
|
} |
|
|
|
|
.title-right { |
|
|
|
|
width: 5.04rem; |
|
|
|
|
height: 0.61rem; |
|
|
|
|
height: 0.78rem; |
|
|
|
|
} |
|
|
|
|
.sys-title { |
|
|
|
|
position: absolute; |
|
|
|
@ -461,7 +495,7 @@ export default {
|
|
|
|
|
} |
|
|
|
|
.nowTime { |
|
|
|
|
position: absolute; |
|
|
|
|
top: 0.3rem; |
|
|
|
|
top: 0.37rem; |
|
|
|
|
right: 0.6rem; |
|
|
|
|
font-size: 0.18rem; |
|
|
|
|
color: #ffffff; |
|
|
|
@ -487,11 +521,11 @@ export default {
|
|
|
|
|
} |
|
|
|
|
.icon_warning { |
|
|
|
|
position: absolute; |
|
|
|
|
top: 0.33rem; |
|
|
|
|
top: 0.39rem; |
|
|
|
|
right: 4.4rem; |
|
|
|
|
z-index: 10; |
|
|
|
|
width: 0.3rem; |
|
|
|
|
height: 0.27rem; |
|
|
|
|
width: 0.35rem; |
|
|
|
|
height: 0.32rem; |
|
|
|
|
margin: 0 0.25rem 0 0.27rem; |
|
|
|
|
cursor: pointer; |
|
|
|
|
/* 添加闪烁动画 */ |
|
|
|
@ -507,21 +541,21 @@ export default {
|
|
|
|
|
} |
|
|
|
|
.icon_home { |
|
|
|
|
position: absolute; |
|
|
|
|
top: 0.33rem; |
|
|
|
|
top: 0.39rem; |
|
|
|
|
right: 4rem; |
|
|
|
|
z-index: 10; |
|
|
|
|
width: 0.3rem; |
|
|
|
|
height: 0.27rem; |
|
|
|
|
width: 0.35rem; |
|
|
|
|
height: 0.32rem; |
|
|
|
|
margin: 0 0.2rem 0 0.27rem; |
|
|
|
|
cursor: pointer; |
|
|
|
|
} |
|
|
|
|
.back-icon { |
|
|
|
|
position: absolute; |
|
|
|
|
top: 0.33rem; |
|
|
|
|
top: 0.39rem; |
|
|
|
|
right: 3.7rem; |
|
|
|
|
z-index: 10; |
|
|
|
|
width: 0.3rem; |
|
|
|
|
height: 0.27rem; |
|
|
|
|
width: 0.35rem; |
|
|
|
|
height: 0.32rem; |
|
|
|
|
cursor: pointer; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|