|
|
@ -75,6 +75,11 @@ |
|
|
|
<div v-if="isShowOn" class="off-bg on-animation">ON</div> |
|
|
|
<div v-if="isShowOn" class="off-bg on-animation">ON</div> |
|
|
|
<div v-else class="off-bg">OFF</div> |
|
|
|
<div v-else class="off-bg">OFF</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<!-- 系统提示 --> |
|
|
|
|
|
|
|
<div class="sysTips" v-if="startOrStopStatus"> |
|
|
|
|
|
|
|
<img class="step" src="../../../assets/images/step.png" alt="" /> |
|
|
|
|
|
|
|
<div class="tips-text">{{ startOrStopStatus }}</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
<!-- 整体图 --> |
|
|
|
<!-- 整体图 --> |
|
|
|
<img |
|
|
|
<img |
|
|
|
class="monitor-img" |
|
|
|
class="monitor-img" |
|
|
@ -96,7 +101,9 @@ |
|
|
|
alt="" |
|
|
|
alt="" |
|
|
|
:class="{ moveClass: hostListRunClass(0) }" |
|
|
|
:class="{ moveClass: hostListRunClass(0) }" |
|
|
|
/> |
|
|
|
/> |
|
|
|
<div class="hostLoad1">11%</div> |
|
|
|
<div class="hostLoad1" v-if="hostLoadData(0) && hostListRunClass(0)"> |
|
|
|
|
|
|
|
{{ hostLoad0 }}% |
|
|
|
|
|
|
|
</div> |
|
|
|
<div class="water-flow1"> |
|
|
|
<div class="water-flow1"> |
|
|
|
<div class="water-flow-li"> |
|
|
|
<div class="water-flow-li"> |
|
|
|
<span>1#冷却水流:</span> |
|
|
|
<span>1#冷却水流:</span> |
|
|
@ -139,7 +146,9 @@ |
|
|
|
alt="" |
|
|
|
alt="" |
|
|
|
:class="{ moveClass: hostListRunClass(1) }" |
|
|
|
:class="{ moveClass: hostListRunClass(1) }" |
|
|
|
/> |
|
|
|
/> |
|
|
|
<div class="hostLoad2">11%</div> |
|
|
|
<div class="hostLoad2" v-if="hostLoadData(1) && hostListRunClass(1)"> |
|
|
|
|
|
|
|
{{ hostLoad1 }}% |
|
|
|
|
|
|
|
</div> |
|
|
|
<div class="water-flow2"> |
|
|
|
<div class="water-flow2"> |
|
|
|
<div class="water-flow-li"> |
|
|
|
<div class="water-flow-li"> |
|
|
|
<span>2#冷却水流:</span> |
|
|
|
<span>2#冷却水流:</span> |
|
|
@ -185,7 +194,9 @@ |
|
|
|
:class="{ moveClass: hostListRunClass(2) }" |
|
|
|
:class="{ moveClass: hostListRunClass(2) }" |
|
|
|
/> |
|
|
|
/> |
|
|
|
<!-- 主机负载 --> |
|
|
|
<!-- 主机负载 --> |
|
|
|
<div class="hostLoad3">11%</div> |
|
|
|
<div class="hostLoad3" v-if="hostLoadData(2) && hostListRunClass(2)"> |
|
|
|
|
|
|
|
{{ hostLoad2 }}% |
|
|
|
|
|
|
|
</div> |
|
|
|
<!-- 主机冷却冷冻水流信息 --> |
|
|
|
<!-- 主机冷却冷冻水流信息 --> |
|
|
|
<div class="water-flow3"> |
|
|
|
<div class="water-flow3"> |
|
|
|
<div class="water-flow-li"> |
|
|
|
<div class="water-flow-li"> |
|
|
@ -243,13 +254,22 @@ |
|
|
|
:class="{ moveClass2: coolingPumpRunClass(2) }" |
|
|
|
:class="{ moveClass2: coolingPumpRunClass(2) }" |
|
|
|
/> |
|
|
|
/> |
|
|
|
<!-- 频率反馈 --> |
|
|
|
<!-- 频率反馈 --> |
|
|
|
<div class="cooling-hz1" v-if="coolingPumpHz(0)"> |
|
|
|
<div |
|
|
|
|
|
|
|
class="cooling-hz1" |
|
|
|
|
|
|
|
v-if="coolingPumpHz(0) && coolingPumpRunClass(0)" |
|
|
|
|
|
|
|
> |
|
|
|
{{ coolingPumpHz0 }}Hz |
|
|
|
{{ coolingPumpHz0 }}Hz |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="cooling-hz2" v-if="coolingPumpHz(1)"> |
|
|
|
<div |
|
|
|
|
|
|
|
class="cooling-hz2" |
|
|
|
|
|
|
|
v-if="coolingPumpHz(1) && coolingPumpRunClass(1)" |
|
|
|
|
|
|
|
> |
|
|
|
{{ coolingPumpHz1 }}Hz |
|
|
|
{{ coolingPumpHz1 }}Hz |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="cooling-hz3" v-if="coolingPumpHz(2)"> |
|
|
|
<div |
|
|
|
|
|
|
|
class="cooling-hz3" |
|
|
|
|
|
|
|
v-if="coolingPumpHz(2) && coolingPumpRunClass(2)" |
|
|
|
|
|
|
|
> |
|
|
|
{{ coolingPumpHz2 }}Hz |
|
|
|
{{ coolingPumpHz2 }}Hz |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<!-- 冷冻泵数据定位 --> |
|
|
|
<!-- 冷冻泵数据定位 --> |
|
|
@ -277,14 +297,23 @@ |
|
|
|
alt="" |
|
|
|
alt="" |
|
|
|
:class="{ moveClass2: freezingPumpRunClass(2) }" |
|
|
|
:class="{ moveClass2: freezingPumpRunClass(2) }" |
|
|
|
/> |
|
|
|
/> |
|
|
|
<!-- 频率反馈 --> |
|
|
|
<!-- 频率反馈 旋转+有频率反馈才显示 --> |
|
|
|
<div class="freezing-hz1" v-if="freezingPumpHz(0)"> |
|
|
|
<div |
|
|
|
|
|
|
|
class="freezing-hz1" |
|
|
|
|
|
|
|
v-if="freezingPumpHz(0) && freezingPumpRunClass(0)" |
|
|
|
|
|
|
|
> |
|
|
|
{{ freezingPumpHz0 }}Hz |
|
|
|
{{ freezingPumpHz0 }}Hz |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="freezing-hz2" v-if="freezingPumpHz(1)"> |
|
|
|
<div |
|
|
|
|
|
|
|
class="freezing-hz2" |
|
|
|
|
|
|
|
v-if="freezingPumpHz(1) && freezingPumpRunClass(1)" |
|
|
|
|
|
|
|
> |
|
|
|
{{ freezingPumpHz1 }}Hz |
|
|
|
{{ freezingPumpHz1 }}Hz |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="freezing-hz3" v-if="freezingPumpHz(2)"> |
|
|
|
<div |
|
|
|
|
|
|
|
class="freezing-hz3" |
|
|
|
|
|
|
|
v-if="freezingPumpHz(2) && freezingPumpRunClass(2)" |
|
|
|
|
|
|
|
> |
|
|
|
{{ freezingPumpHz2 }}Hz |
|
|
|
{{ freezingPumpHz2 }}Hz |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<!-- 冷却塔数据定位 五个风机 三个出水阀 --> |
|
|
|
<!-- 冷却塔数据定位 五个风机 三个出水阀 --> |
|
|
@ -293,11 +322,37 @@ |
|
|
|
<div class="coolingTower21">2#-1</div> |
|
|
|
<div class="coolingTower21">2#-1</div> |
|
|
|
<div class="coolingTower12">1#-2</div> |
|
|
|
<div class="coolingTower12">1#-2</div> |
|
|
|
<div class="coolingTower11">1#-1</div> |
|
|
|
<div class="coolingTower11">1#-1</div> |
|
|
|
<div class="colingTowerHz3">50Hz</div> |
|
|
|
<!-- 风机频率 --> |
|
|
|
<div class="colingTowerHz22">50Hz</div> |
|
|
|
<div |
|
|
|
<div class="colingTowerHz21">50Hz</div> |
|
|
|
class="coolingTowerHz3" |
|
|
|
<div class="colingTowerHz12">50Hz</div> |
|
|
|
v-if="coolingTowerHz(2, 1) && coolingTowerRunClass(2, 1)" |
|
|
|
<div class="colingTowerHz11">50Hz</div> |
|
|
|
> |
|
|
|
|
|
|
|
{{ coolingTowerHz31 }}Hz |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<div |
|
|
|
|
|
|
|
class="coolingTowerHz22" |
|
|
|
|
|
|
|
v-if="coolingTowerHz(1, 2) && coolingTowerRunClass(1, 2)" |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
{{ coolingTowerHz22 }}Hz |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<div |
|
|
|
|
|
|
|
class="coolingTowerHz21" |
|
|
|
|
|
|
|
v-if="coolingTowerHz(1, 1) && coolingTowerRunClass(1, 1)" |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
{{ coolingTowerHz21 }}Hz |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<div |
|
|
|
|
|
|
|
class="coolingTowerHz12" |
|
|
|
|
|
|
|
v-if="coolingTowerHz(0, 2) && coolingTowerRunClass(0, 2)" |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
{{ coolingTowerHz12 }}Hz |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<div |
|
|
|
|
|
|
|
class="coolingTowerHz11" |
|
|
|
|
|
|
|
v-if="coolingTowerHz(0, 1) && coolingTowerRunClass(0, 1)" |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
{{ coolingTowerHz11 }}Hz |
|
|
|
|
|
|
|
</div> |
|
|
|
<!-- 3号冷却塔风机1 --> |
|
|
|
<!-- 3号冷却塔风机1 --> |
|
|
|
<img |
|
|
|
<img |
|
|
|
class="fan-img1" |
|
|
|
class="fan-img1" |
|
|
@ -383,14 +438,60 @@ |
|
|
|
src="../../../assets/images/out-arrow.png" |
|
|
|
src="../../../assets/images/out-arrow.png" |
|
|
|
alt="" |
|
|
|
alt="" |
|
|
|
/> |
|
|
|
/> |
|
|
|
<!-- 冷冻进出水温度 --> |
|
|
|
<!-- 冷冻进出水温度 0是out供(出)水,1是in回(进)水 --> |
|
|
|
<div class="freezingInTem">20℃</div> |
|
|
|
<div class="freezingInTem">{{ freezingInTem }}℃</div> |
|
|
|
<div class="freezingOutTem">20℃</div> |
|
|
|
<div class="freezingOutTem">{{ freezingOutTem }}℃</div> |
|
|
|
|
|
|
|
<!-- 冷冻水流 --> |
|
|
|
|
|
|
|
<div class="freezingOutWater">{{ freezingOutWater }}m³/h</div> |
|
|
|
<!-- 冷冻进出水压力 --> |
|
|
|
<!-- 冷冻进出水压力 --> |
|
|
|
<div class="freezingInPre">20kpa</div> |
|
|
|
<div class="freezingInPre">{{ freezingInPre }}kpa</div> |
|
|
|
<div class="freezingOutPre">20kpa</div> |
|
|
|
<div class="freezingOutPre">{{ freezingOutPre }}kpa</div> |
|
|
|
|
|
|
|
<!-- 冷却进出水温度 --> |
|
|
|
|
|
|
|
<div class="coolingInTem">{{ coolingInTem }}℃</div> |
|
|
|
|
|
|
|
<div class="coolingOutTem">{{ coolingOutTem }}℃</div> |
|
|
|
|
|
|
|
<!-- 报警状态与系统模式 --> |
|
|
|
|
|
|
|
<div class="statusAndModel" v-if="isWarning"> |
|
|
|
|
|
|
|
<img src="../../../assets/images/red.png" class="warnStatus" alt="" /> |
|
|
|
|
|
|
|
<img |
|
|
|
|
|
|
|
src="../../../assets/images/border6.png" |
|
|
|
|
|
|
|
class="modelStatus" |
|
|
|
|
|
|
|
alt="" |
|
|
|
|
|
|
|
/> |
|
|
|
|
|
|
|
<div class="sysWarning" @click="showAlarm">Warning</div> |
|
|
|
|
|
|
|
<div class="sysStatus">{{ sysStatus }}</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="statusAndModel" v-else> |
|
|
|
|
|
|
|
<img src="../../../assets/images/blue.png" class="warnStatus" alt="" /> |
|
|
|
|
|
|
|
<img |
|
|
|
|
|
|
|
src="../../../assets/images/border5.png" |
|
|
|
|
|
|
|
class="modelStatus" |
|
|
|
|
|
|
|
alt="" |
|
|
|
|
|
|
|
/> |
|
|
|
|
|
|
|
<div class="sysNormal">Normal</div> |
|
|
|
|
|
|
|
<div class="sysStatus">{{ sysStatus }}</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<!-- 报警弹框内容 --> |
|
|
|
|
|
|
|
<el-dialog |
|
|
|
|
|
|
|
title="报警内容" |
|
|
|
|
|
|
|
:visible.sync="openDialog" |
|
|
|
|
|
|
|
width="680px" |
|
|
|
|
|
|
|
append-to-body |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
<el-table :data="alarmList"> |
|
|
|
|
|
|
|
<el-table-column |
|
|
|
|
|
|
|
prop="otherName" |
|
|
|
|
|
|
|
label="报警位置" |
|
|
|
|
|
|
|
:show-overflow-tooltip="true" |
|
|
|
|
|
|
|
></el-table-column> |
|
|
|
|
|
|
|
<el-table-column |
|
|
|
|
|
|
|
prop="curTime" |
|
|
|
|
|
|
|
label="报警时间" |
|
|
|
|
|
|
|
:show-overflow-tooltip="true" |
|
|
|
|
|
|
|
></el-table-column> |
|
|
|
|
|
|
|
</el-table> |
|
|
|
|
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
|
|
<script> |
|
|
|
<script> |
|
|
@ -400,6 +501,7 @@ import { |
|
|
|
oneKeyButton, |
|
|
|
oneKeyButton, |
|
|
|
monitorList, |
|
|
|
monitorList, |
|
|
|
operationConrol, |
|
|
|
operationConrol, |
|
|
|
|
|
|
|
systemMode, |
|
|
|
} from "@/api/centerairC/sysMonitor"; |
|
|
|
} from "@/api/centerairC/sysMonitor"; |
|
|
|
import LineChildren from "./lineChildren.vue"; |
|
|
|
import LineChildren from "./lineChildren.vue"; |
|
|
|
export default { |
|
|
|
export default { |
|
|
@ -418,9 +520,14 @@ export default { |
|
|
|
coolingValue: [], //冷却蝶阀 |
|
|
|
coolingValue: [], //冷却蝶阀 |
|
|
|
coolingTowerInlet: [], //冷却塔进水阀 |
|
|
|
coolingTowerInlet: [], //冷却塔进水阀 |
|
|
|
coolingTowerOutlet: [], //冷却塔出水阀 |
|
|
|
coolingTowerOutlet: [], //冷却塔出水阀 |
|
|
|
|
|
|
|
freezingManifold: [], //冷冻总管 |
|
|
|
isShowOn: false, //一键启停,false是Off,true显示On |
|
|
|
isShowOn: false, //一键启停,false是Off,true显示On |
|
|
|
oneKeyButtonId: "", |
|
|
|
oneKeyButtonId: "", |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 主机负载 |
|
|
|
|
|
|
|
hostLoad0: "", |
|
|
|
|
|
|
|
hostLoad1: "", |
|
|
|
|
|
|
|
hostLoad2: "", |
|
|
|
// 冷却泵频率反馈 |
|
|
|
// 冷却泵频率反馈 |
|
|
|
coolingPumpHz0: "", |
|
|
|
coolingPumpHz0: "", |
|
|
|
coolingPumpHz1: "", |
|
|
|
coolingPumpHz1: "", |
|
|
@ -429,6 +536,33 @@ export default { |
|
|
|
freezingPumpHz0: "", |
|
|
|
freezingPumpHz0: "", |
|
|
|
freezingPumpHz1: "", |
|
|
|
freezingPumpHz1: "", |
|
|
|
freezingPumpHz2: "", |
|
|
|
freezingPumpHz2: "", |
|
|
|
|
|
|
|
// 冷却塔风机频率 |
|
|
|
|
|
|
|
coolingTowerHz31: "", |
|
|
|
|
|
|
|
coolingTowerHz22: "", |
|
|
|
|
|
|
|
coolingTowerHz21: "", |
|
|
|
|
|
|
|
coolingTowerHz12: "", |
|
|
|
|
|
|
|
coolingTowerHz11: "", |
|
|
|
|
|
|
|
// 冷冻泵进出水温度 |
|
|
|
|
|
|
|
freezingInTem: "", |
|
|
|
|
|
|
|
freezingOutTem: "", |
|
|
|
|
|
|
|
// 冷冻水流 |
|
|
|
|
|
|
|
freezingOutWater: "", |
|
|
|
|
|
|
|
// 冷冻泵进出压力 |
|
|
|
|
|
|
|
freezingInPre: "", |
|
|
|
|
|
|
|
freezingOutPre: "", |
|
|
|
|
|
|
|
// 冷却进出水温度 |
|
|
|
|
|
|
|
coolingInTem: "", |
|
|
|
|
|
|
|
coolingOutTem: "", |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 报警标志 |
|
|
|
|
|
|
|
isWarning: false, |
|
|
|
|
|
|
|
// 报警列表 |
|
|
|
|
|
|
|
alarmList: [], |
|
|
|
|
|
|
|
// 系统模式 |
|
|
|
|
|
|
|
sysStatus: "", |
|
|
|
|
|
|
|
// 模式提示 |
|
|
|
|
|
|
|
startOrStopStatus: "", |
|
|
|
|
|
|
|
openDialog: false, |
|
|
|
timer: null, // 用于存储定时器 ID |
|
|
|
timer: null, // 用于存储定时器 ID |
|
|
|
}; |
|
|
|
}; |
|
|
|
}, |
|
|
|
}, |
|
|
@ -436,6 +570,7 @@ export default { |
|
|
|
mounted() { |
|
|
|
mounted() { |
|
|
|
// 首次进入页面时执行 |
|
|
|
// 首次进入页面时执行 |
|
|
|
this.getWeatherData(); |
|
|
|
this.getWeatherData(); |
|
|
|
|
|
|
|
this.getSystemMode(); |
|
|
|
this.getPerformance(); |
|
|
|
this.getPerformance(); |
|
|
|
this.getOneKeyButton(); |
|
|
|
this.getOneKeyButton(); |
|
|
|
this.getMonitorList(); |
|
|
|
this.getMonitorList(); |
|
|
@ -443,6 +578,7 @@ export default { |
|
|
|
// 设置定时器,每 10 秒执行一次 |
|
|
|
// 设置定时器,每 10 秒执行一次 |
|
|
|
this.timer = setInterval(() => { |
|
|
|
this.timer = setInterval(() => { |
|
|
|
this.getWeatherData(); |
|
|
|
this.getWeatherData(); |
|
|
|
|
|
|
|
this.getSystemMode(); |
|
|
|
this.getPerformance(); |
|
|
|
this.getPerformance(); |
|
|
|
this.getOneKeyButton(); |
|
|
|
this.getOneKeyButton(); |
|
|
|
this.getMonitorList(); |
|
|
|
this.getMonitorList(); |
|
|
@ -471,6 +607,29 @@ export default { |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
// 获取当前系统模式/启动、停止运行状态/报警列表 |
|
|
|
|
|
|
|
getSystemMode() { |
|
|
|
|
|
|
|
let data = { |
|
|
|
|
|
|
|
systemType: "0", |
|
|
|
|
|
|
|
paramType: "27", |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
systemMode(data).then((res) => { |
|
|
|
|
|
|
|
console.log("当前系统模式与报警列表返回", res); |
|
|
|
|
|
|
|
if (res.code == 200) { |
|
|
|
|
|
|
|
this.sysStatus = res.data.autoType; |
|
|
|
|
|
|
|
this.alarmList = res.data.alarmList; |
|
|
|
|
|
|
|
if (res.data.alarmList.length > 0) { |
|
|
|
|
|
|
|
this.isWarning = true; |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
this.isWarning = false; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
this.startOrStopStatus = res.data.startOrStopStatus; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
showAlarm() { |
|
|
|
|
|
|
|
this.openDialog = true; |
|
|
|
|
|
|
|
}, |
|
|
|
// 获取一键启停信息 |
|
|
|
// 获取一键启停信息 |
|
|
|
getOneKeyButton() { |
|
|
|
getOneKeyButton() { |
|
|
|
return new Promise((resolve, reject) => { |
|
|
|
return new Promise((resolve, reject) => { |
|
|
@ -562,6 +721,7 @@ export default { |
|
|
|
this.coolingValue = []; |
|
|
|
this.coolingValue = []; |
|
|
|
this.coolingTowerInlet = []; |
|
|
|
this.coolingTowerInlet = []; |
|
|
|
this.coolingTowerOutlet = []; |
|
|
|
this.coolingTowerOutlet = []; |
|
|
|
|
|
|
|
this.freezingManifold = []; |
|
|
|
|
|
|
|
|
|
|
|
res.rows.forEach((row) => { |
|
|
|
res.rows.forEach((row) => { |
|
|
|
switch (row.name) { |
|
|
|
switch (row.name) { |
|
|
@ -597,6 +757,11 @@ export default { |
|
|
|
this.coolingTowerOutlet = this.processDeviceList(row.values); |
|
|
|
this.coolingTowerOutlet = this.processDeviceList(row.values); |
|
|
|
console.log("冷却塔出水阀列表", this.coolingTowerOutlet); |
|
|
|
console.log("冷却塔出水阀列表", this.coolingTowerOutlet); |
|
|
|
break; |
|
|
|
break; |
|
|
|
|
|
|
|
case "15": |
|
|
|
|
|
|
|
this.freezingManifold = row.values; |
|
|
|
|
|
|
|
console.log("冷冻总管", this.freezingManifold); |
|
|
|
|
|
|
|
this.freezingManifoldData(); |
|
|
|
|
|
|
|
break; |
|
|
|
default: |
|
|
|
default: |
|
|
|
break; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
@ -627,6 +792,31 @@ export default { |
|
|
|
// 过滤掉 deviceList 中可能存在的空元素 |
|
|
|
// 过滤掉 deviceList 中可能存在的空元素 |
|
|
|
return deviceList.filter((item) => item); |
|
|
|
return deviceList.filter((item) => item); |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
// 主机负载 |
|
|
|
|
|
|
|
hostLoadData(index) { |
|
|
|
|
|
|
|
// 检查 hostList 长度是否足够 |
|
|
|
|
|
|
|
if (this.hostList.length <= index) { |
|
|
|
|
|
|
|
return false; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
// 检查 properties 数组是否存在 hostList[index]数组的properties数组 |
|
|
|
|
|
|
|
const properties = this.hostList[index].properties; |
|
|
|
|
|
|
|
if (!properties || properties.length === 0) { |
|
|
|
|
|
|
|
return false; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
// 遍历 properties 数组,如果当前对象paramType === 28表示主机负载 |
|
|
|
|
|
|
|
for (let i = 0; i < properties.length; i++) { |
|
|
|
|
|
|
|
const item = properties[i]; |
|
|
|
|
|
|
|
if (item.paramType === "28") { |
|
|
|
|
|
|
|
// 动态构造属性名 |
|
|
|
|
|
|
|
const propertyName = `hostLoad${index}`; |
|
|
|
|
|
|
|
// 使用方括号语法动态设置属性值 |
|
|
|
|
|
|
|
this[propertyName] = item.collectValue; |
|
|
|
|
|
|
|
return true; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
// 否则代表启停控制中的停止 |
|
|
|
|
|
|
|
return false; |
|
|
|
|
|
|
|
}, |
|
|
|
// 主机启停状态 |
|
|
|
// 主机启停状态 |
|
|
|
hostListControlClass(index) { |
|
|
|
hostListControlClass(index) { |
|
|
|
// 检查 hostList 长度是否足够 |
|
|
|
// 检查 hostList 长度是否足够 |
|
|
@ -751,7 +941,7 @@ export default { |
|
|
|
const propertyName = `coolingPumpHz${index}`; |
|
|
|
const propertyName = `coolingPumpHz${index}`; |
|
|
|
// 使用方括号语法动态设置属性值 |
|
|
|
// 使用方括号语法动态设置属性值 |
|
|
|
this[propertyName] = item.collectValue; |
|
|
|
this[propertyName] = item.collectValue; |
|
|
|
this.coolingPumpHz[index] = item.collectValue; |
|
|
|
// this.coolingPumpHz[index] = item.collectValue; |
|
|
|
return true; |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -799,7 +989,7 @@ export default { |
|
|
|
const propertyName = `freezingPumpHz${index}`; |
|
|
|
const propertyName = `freezingPumpHz${index}`; |
|
|
|
// 使用方括号语法动态设置属性值 |
|
|
|
// 使用方括号语法动态设置属性值 |
|
|
|
this[propertyName] = item.collectValue; |
|
|
|
this[propertyName] = item.collectValue; |
|
|
|
this.freezingPumpHz[index] = item.collectValue; |
|
|
|
// this.freezingPumpHz[index] = item.collectValue; |
|
|
|
return true; |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -835,8 +1025,8 @@ export default { |
|
|
|
// if (Object.keys(filterItem).length > 1) { |
|
|
|
// if (Object.keys(filterItem).length > 1) { |
|
|
|
// filteredProperties.push(filterItem); |
|
|
|
// filteredProperties.push(filterItem); |
|
|
|
// } |
|
|
|
// } |
|
|
|
console.log("paramType为1的对象", filteredProperties); |
|
|
|
// console.log("paramType为1的对象", filteredProperties); |
|
|
|
console.log("index, item", index, item); |
|
|
|
// console.log("index, item", index, item); |
|
|
|
// 根据 index 和 item 生成目标属性名称 |
|
|
|
// 根据 index 和 item 生成目标属性名称 |
|
|
|
const towerNumber = index + 1; |
|
|
|
const towerNumber = index + 1; |
|
|
|
const targetPropertyName = `${towerNumber}号冷却塔风机${item}运行`; |
|
|
|
const targetPropertyName = `${towerNumber}号冷却塔风机${item}运行`; |
|
|
@ -848,11 +1038,11 @@ export default { |
|
|
|
Number(filteredProperties[i].collectValue) !== 0 |
|
|
|
Number(filteredProperties[i].collectValue) !== 0 |
|
|
|
) { |
|
|
|
) { |
|
|
|
if (index === 0 && item === 1) { |
|
|
|
if (index === 0 && item === 1) { |
|
|
|
console.log( |
|
|
|
// console.log( |
|
|
|
"返回的true", |
|
|
|
// "返回的true", |
|
|
|
filteredProperties[i].collectName === targetPropertyName && |
|
|
|
// filteredProperties[i].collectName === targetPropertyName && |
|
|
|
Number(filteredProperties[i].collectValue) !== 0 |
|
|
|
// Number(filteredProperties[i].collectValue) !== 0 |
|
|
|
); |
|
|
|
// ); |
|
|
|
} |
|
|
|
} |
|
|
|
return true; |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
@ -861,6 +1051,62 @@ export default { |
|
|
|
// 否则代表运行状态中的不运行 |
|
|
|
// 否则代表运行状态中的不运行 |
|
|
|
return false; |
|
|
|
return false; |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
// 冷却塔风机频率,index为多少号风机,0表示1号风机;item表示风机x |
|
|
|
|
|
|
|
coolingTowerHz(index, item) { |
|
|
|
|
|
|
|
// 检查 coolingTower 长度是否足够 |
|
|
|
|
|
|
|
if (this.coolingTower.length <= index) { |
|
|
|
|
|
|
|
return false; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 获取指定索引的 coolingTower 元素的 properties 数组 |
|
|
|
|
|
|
|
const properties = this.coolingTower[index].properties; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 检查 properties 数组是否存在 |
|
|
|
|
|
|
|
if (!properties || properties.length === 0) { |
|
|
|
|
|
|
|
return false; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 创建一个新数组,用于存储 paramType === 4 的对象 |
|
|
|
|
|
|
|
const filteredProperties = []; |
|
|
|
|
|
|
|
let filterItem = {}; |
|
|
|
|
|
|
|
for (let i = 0; i < properties.length; i++) { |
|
|
|
|
|
|
|
// console.log('properties[i].paramType',properties[i].paramType) |
|
|
|
|
|
|
|
if (properties[i].paramType === "4") { |
|
|
|
|
|
|
|
filteredProperties.push(properties[i]); |
|
|
|
|
|
|
|
// filterItem = properties[i] |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
// // 将处理后的对象添加到 deviceList 中 |
|
|
|
|
|
|
|
// if (Object.keys(filterItem).length > 1) { |
|
|
|
|
|
|
|
// filteredProperties.push(filterItem); |
|
|
|
|
|
|
|
// } |
|
|
|
|
|
|
|
// console.log("paramType为4的对象", filteredProperties); |
|
|
|
|
|
|
|
// console.log("index, item", index, item); |
|
|
|
|
|
|
|
// 根据 index 和 item 生成目标属性名称 |
|
|
|
|
|
|
|
const towerNumber = index + 1; |
|
|
|
|
|
|
|
const targetPropertyName = `${towerNumber}号冷却塔风机${item}频率反馈`; |
|
|
|
|
|
|
|
// console.log("targetPropertyName",targetPropertyName) |
|
|
|
|
|
|
|
// 在新数组中查找与目标名称匹配的对象,并检查其 collectValue 是否不为 "0.00" |
|
|
|
|
|
|
|
for (let i = 0; i < filteredProperties.length; i++) { |
|
|
|
|
|
|
|
if (filteredProperties[i].collectName === targetPropertyName) { |
|
|
|
|
|
|
|
// 动态构造 coolingTowerHz 相关属性名 |
|
|
|
|
|
|
|
const coolingTowerHzPropertyName = `coolingTowerHz${towerNumber}${item}`; |
|
|
|
|
|
|
|
// console.log( |
|
|
|
|
|
|
|
// "coolingTowerHzPropertyName---", |
|
|
|
|
|
|
|
// coolingTowerHzPropertyName |
|
|
|
|
|
|
|
// ); |
|
|
|
|
|
|
|
// 获取 collectValue 转换为数字后的值 |
|
|
|
|
|
|
|
const value = Number(filteredProperties[i].collectValue); |
|
|
|
|
|
|
|
// 使用方括号语法动态设置属性值 |
|
|
|
|
|
|
|
this[coolingTowerHzPropertyName] = value; |
|
|
|
|
|
|
|
// console.log("Number(filteredProperties[i].collectValue)", value); |
|
|
|
|
|
|
|
return true; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 否则代表运行状态中的不运行 |
|
|
|
|
|
|
|
return false; |
|
|
|
|
|
|
|
}, |
|
|
|
// 冷却塔出水蝶阀启停状态 |
|
|
|
// 冷却塔出水蝶阀启停状态 |
|
|
|
towerValveControlClass(index) { |
|
|
|
towerValveControlClass(index) { |
|
|
|
// 检查 coolingTowerOutlet 长度是否足够 |
|
|
|
// 检查 coolingTowerOutlet 长度是否足够 |
|
|
@ -983,6 +1229,33 @@ export default { |
|
|
|
// 当阀开到位和阀关到位的条件都满足时返回 true ,才是真正的阀门开启,其他都是阀门关闭 |
|
|
|
// 当阀开到位和阀关到位的条件都满足时返回 true ,才是真正的阀门开启,其他都是阀门关闭 |
|
|
|
return valveOpenFeedbackFound && valveCloseFeedbackFound; |
|
|
|
return valveOpenFeedbackFound && valveCloseFeedbackFound; |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
// 冷冻总管数据 供回水温度、压力等 |
|
|
|
|
|
|
|
freezingManifoldData(index, val) { |
|
|
|
|
|
|
|
console.log("this.freezingManifold", this.freezingManifold); |
|
|
|
|
|
|
|
// 检查 freezingManifold 长度是否足够 |
|
|
|
|
|
|
|
if (this.freezingManifold.length <= index) { |
|
|
|
|
|
|
|
return false; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
this.freezingManifold.forEach((item) => { |
|
|
|
|
|
|
|
if (item.collectName === "冷冻供水温度") { |
|
|
|
|
|
|
|
this.freezingOutTem = item.collectValue; |
|
|
|
|
|
|
|
console.log("item.collectName", item.collectName); |
|
|
|
|
|
|
|
} else if (item.collectName === "冷冻回水温度") { |
|
|
|
|
|
|
|
this.freezingInTem = item.collectValue; |
|
|
|
|
|
|
|
} else if (item.collectName === "冷冻供水压力") { |
|
|
|
|
|
|
|
this.freezingOutPre = item.collectValue; |
|
|
|
|
|
|
|
} else if (item.collectName === "冷冻回水压力") { |
|
|
|
|
|
|
|
this.freezingInPre = item.collectValue; |
|
|
|
|
|
|
|
} else if (item.collectName === "冷却供水温度") { |
|
|
|
|
|
|
|
this.coolingOutTem = item.collectValue; |
|
|
|
|
|
|
|
} else if (item.collectName === "冷却回水温度") { |
|
|
|
|
|
|
|
this.coolingInTem = item.collectValue; |
|
|
|
|
|
|
|
} else if (item.collectName === "总冷量计瞬时流量") { |
|
|
|
|
|
|
|
this.freezingOutWater = item.collectValue; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
return true; |
|
|
|
|
|
|
|
}, |
|
|
|
}, |
|
|
|
}, |
|
|
|
}; |
|
|
|
}; |
|
|
|
</script> |
|
|
|
</script> |
|
|
@ -1111,12 +1384,28 @@ export default { |
|
|
|
height: 0.6rem; |
|
|
|
height: 0.6rem; |
|
|
|
z-index: 10; |
|
|
|
z-index: 10; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.coolingInTem { |
|
|
|
|
|
|
|
z-index: 10; |
|
|
|
|
|
|
|
position: absolute; |
|
|
|
|
|
|
|
top: 2.1rem; |
|
|
|
|
|
|
|
left: 8.35rem; |
|
|
|
|
|
|
|
font-size: 0.16rem; |
|
|
|
|
|
|
|
font-weight: bold; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.coolingOutTem { |
|
|
|
|
|
|
|
z-index: 10; |
|
|
|
|
|
|
|
position: absolute; |
|
|
|
|
|
|
|
top: 3rem; |
|
|
|
|
|
|
|
left: 4.77rem; |
|
|
|
|
|
|
|
font-size: 0.16rem; |
|
|
|
|
|
|
|
font-weight: bold; |
|
|
|
|
|
|
|
} |
|
|
|
.freezingInTem { |
|
|
|
.freezingInTem { |
|
|
|
z-index: 10; |
|
|
|
z-index: 10; |
|
|
|
position: absolute; |
|
|
|
position: absolute; |
|
|
|
top: 4.54rem; |
|
|
|
top: 4.54rem; |
|
|
|
right: 5.4rem; |
|
|
|
right: 5.3rem; |
|
|
|
font-size: 0.14rem; |
|
|
|
font-size: 0.16rem; |
|
|
|
font-weight: bold; |
|
|
|
font-weight: bold; |
|
|
|
} |
|
|
|
} |
|
|
|
.freezingOutTem { |
|
|
|
.freezingOutTem { |
|
|
@ -1124,15 +1413,24 @@ export default { |
|
|
|
position: absolute; |
|
|
|
position: absolute; |
|
|
|
top: 5.2rem; |
|
|
|
top: 5.2rem; |
|
|
|
right: 3.8rem; |
|
|
|
right: 3.8rem; |
|
|
|
font-size: 0.14rem; |
|
|
|
font-size: 0.16rem; |
|
|
|
|
|
|
|
font-weight: bold; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.freezingOutWater { |
|
|
|
|
|
|
|
z-index: 10; |
|
|
|
|
|
|
|
position: absolute; |
|
|
|
|
|
|
|
top: 6.2rem; |
|
|
|
|
|
|
|
right: 4.9rem; |
|
|
|
|
|
|
|
font-size: 0.16rem; |
|
|
|
font-weight: bold; |
|
|
|
font-weight: bold; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.freezingInPre { |
|
|
|
.freezingInPre { |
|
|
|
z-index: 10; |
|
|
|
z-index: 10; |
|
|
|
position: absolute; |
|
|
|
position: absolute; |
|
|
|
top: 5rem; |
|
|
|
top: 5rem; |
|
|
|
right: 5.3rem; |
|
|
|
right: 5.3rem; |
|
|
|
font-size: 0.14rem; |
|
|
|
font-size: 0.16rem; |
|
|
|
font-weight: bold; |
|
|
|
font-weight: bold; |
|
|
|
} |
|
|
|
} |
|
|
|
.freezingOutPre { |
|
|
|
.freezingOutPre { |
|
|
@ -1140,7 +1438,7 @@ export default { |
|
|
|
position: absolute; |
|
|
|
position: absolute; |
|
|
|
top: 5.7rem; |
|
|
|
top: 5.7rem; |
|
|
|
right: 3.7rem; |
|
|
|
right: 3.7rem; |
|
|
|
font-size: 0.14rem; |
|
|
|
font-size: 0.16rem; |
|
|
|
font-weight: bold; |
|
|
|
font-weight: bold; |
|
|
|
} |
|
|
|
} |
|
|
|
.host-line1 { |
|
|
|
.host-line1 { |
|
|
@ -1244,25 +1542,25 @@ export default { |
|
|
|
.hostLoad1 { |
|
|
|
.hostLoad1 { |
|
|
|
z-index: 10; |
|
|
|
z-index: 10; |
|
|
|
position: absolute; |
|
|
|
position: absolute; |
|
|
|
top: 6.2rem; |
|
|
|
top: 5.9rem; |
|
|
|
left: 3rem; |
|
|
|
left: 3.7rem; |
|
|
|
font-size: 0.14rem; |
|
|
|
font-size: 0.16rem; |
|
|
|
font-weight: bold; |
|
|
|
font-weight: bold; |
|
|
|
} |
|
|
|
} |
|
|
|
.hostLoad2 { |
|
|
|
.hostLoad2 { |
|
|
|
z-index: 10; |
|
|
|
z-index: 10; |
|
|
|
position: absolute; |
|
|
|
position: absolute; |
|
|
|
top: 5.42rem; |
|
|
|
top: 5.12rem; |
|
|
|
left: 5rem; |
|
|
|
left: 5.7rem; |
|
|
|
font-size: 0.14rem; |
|
|
|
font-size: 0.16rem; |
|
|
|
font-weight: bold; |
|
|
|
font-weight: bold; |
|
|
|
} |
|
|
|
} |
|
|
|
.hostLoad3 { |
|
|
|
.hostLoad3 { |
|
|
|
z-index: 10; |
|
|
|
z-index: 10; |
|
|
|
position: absolute; |
|
|
|
position: absolute; |
|
|
|
top: 4.52rem; |
|
|
|
top: 4.4rem; |
|
|
|
left: 7.1rem; |
|
|
|
left: 7.65rem; |
|
|
|
font-size: 0.14rem; |
|
|
|
font-size: 0.16rem; |
|
|
|
font-weight: bold; |
|
|
|
font-weight: bold; |
|
|
|
} |
|
|
|
} |
|
|
|
.water-flow1 { |
|
|
|
.water-flow1 { |
|
|
@ -1351,30 +1649,30 @@ export default { |
|
|
|
} |
|
|
|
} |
|
|
|
.coolingPump1 { |
|
|
|
.coolingPump1 { |
|
|
|
z-index: 10; |
|
|
|
z-index: 10; |
|
|
|
font-size: 0.18rem; |
|
|
|
font-size: 0.15rem; |
|
|
|
font-weight: bold; |
|
|
|
font-weight: bold; |
|
|
|
color: #46f1e3; |
|
|
|
color: #46f1e3; |
|
|
|
position: absolute; |
|
|
|
position: absolute; |
|
|
|
top: 3.8rem; |
|
|
|
top: 3.8rem; |
|
|
|
left: 7.22rem; |
|
|
|
left: 7.3rem; |
|
|
|
} |
|
|
|
} |
|
|
|
.coolingPump2 { |
|
|
|
.coolingPump2 { |
|
|
|
z-index: 10; |
|
|
|
z-index: 10; |
|
|
|
font-size: 0.18rem; |
|
|
|
font-size: 0.15rem; |
|
|
|
font-weight: bold; |
|
|
|
font-weight: bold; |
|
|
|
color: #46f1e3; |
|
|
|
color: #46f1e3; |
|
|
|
position: absolute; |
|
|
|
position: absolute; |
|
|
|
top: 3.45rem; |
|
|
|
top: 3.45rem; |
|
|
|
left: 8.12rem; |
|
|
|
left: 8.28rem; |
|
|
|
} |
|
|
|
} |
|
|
|
.coolingPump3 { |
|
|
|
.coolingPump3 { |
|
|
|
z-index: 10; |
|
|
|
z-index: 10; |
|
|
|
font-size: 0.18rem; |
|
|
|
font-size: 0.15rem; |
|
|
|
font-weight: bold; |
|
|
|
font-weight: bold; |
|
|
|
color: #46f1e3; |
|
|
|
color: #46f1e3; |
|
|
|
position: absolute; |
|
|
|
position: absolute; |
|
|
|
top: 3.11rem; |
|
|
|
top: 3.11rem; |
|
|
|
left: 9.05rem; |
|
|
|
left: 9.12rem; |
|
|
|
} |
|
|
|
} |
|
|
|
.cooling-img1 { |
|
|
|
.cooling-img1 { |
|
|
|
z-index: 10; |
|
|
|
z-index: 10; |
|
|
@ -1409,53 +1707,53 @@ export default { |
|
|
|
.cooling-hz1 { |
|
|
|
.cooling-hz1 { |
|
|
|
z-index: 10; |
|
|
|
z-index: 10; |
|
|
|
position: absolute; |
|
|
|
position: absolute; |
|
|
|
top: 3.88rem; |
|
|
|
top: 3.25rem; |
|
|
|
left: 7.52rem; |
|
|
|
left: 7.16rem; |
|
|
|
font-size: 0.14rem; |
|
|
|
font-size: 0.16rem; |
|
|
|
font-weight: bold; |
|
|
|
font-weight: bold; |
|
|
|
} |
|
|
|
} |
|
|
|
.cooling-hz2 { |
|
|
|
.cooling-hz2 { |
|
|
|
z-index: 10; |
|
|
|
z-index: 10; |
|
|
|
position: absolute; |
|
|
|
position: absolute; |
|
|
|
top: 3.51rem; |
|
|
|
top: 2.94rem; |
|
|
|
left: 8.5rem; |
|
|
|
left: 8.15rem; |
|
|
|
font-size: 0.14rem; |
|
|
|
font-size: 0.16rem; |
|
|
|
font-weight: bold; |
|
|
|
font-weight: bold; |
|
|
|
} |
|
|
|
} |
|
|
|
.cooling-hz3 { |
|
|
|
.cooling-hz3 { |
|
|
|
z-index: 10; |
|
|
|
z-index: 10; |
|
|
|
position: absolute; |
|
|
|
position: absolute; |
|
|
|
top: 3.18rem; |
|
|
|
top: 2.6rem; |
|
|
|
left: 9.38rem; |
|
|
|
left: 9.1rem; |
|
|
|
font-size: 0.14rem; |
|
|
|
font-size: 0.16rem; |
|
|
|
font-weight: bold; |
|
|
|
font-weight: bold; |
|
|
|
} |
|
|
|
} |
|
|
|
.freezingPump1 { |
|
|
|
.freezingPump1 { |
|
|
|
z-index: 10; |
|
|
|
z-index: 10; |
|
|
|
font-size: 0.18rem; |
|
|
|
font-size: 0.15rem; |
|
|
|
font-weight: bold; |
|
|
|
font-weight: bold; |
|
|
|
color: #46f1e3; |
|
|
|
color: #46f1e3; |
|
|
|
position: absolute; |
|
|
|
position: absolute; |
|
|
|
top: 7.5rem; |
|
|
|
top: 7.5rem; |
|
|
|
left: 6.6rem; |
|
|
|
left: 6.8rem; |
|
|
|
} |
|
|
|
} |
|
|
|
.freezingPump2 { |
|
|
|
.freezingPump2 { |
|
|
|
z-index: 10; |
|
|
|
z-index: 10; |
|
|
|
font-size: 0.18rem; |
|
|
|
font-size: 0.15rem; |
|
|
|
font-weight: bold; |
|
|
|
font-weight: bold; |
|
|
|
color: #46f1e3; |
|
|
|
color: #46f1e3; |
|
|
|
position: absolute; |
|
|
|
position: absolute; |
|
|
|
top: 6.82rem; |
|
|
|
top: 6.82rem; |
|
|
|
left: 8rem; |
|
|
|
left: 8.15rem; |
|
|
|
} |
|
|
|
} |
|
|
|
.freezingPump3 { |
|
|
|
.freezingPump3 { |
|
|
|
z-index: 10; |
|
|
|
z-index: 10; |
|
|
|
font-size: 0.18rem; |
|
|
|
font-size: 0.15rem; |
|
|
|
font-weight: bold; |
|
|
|
font-weight: bold; |
|
|
|
color: #46f1e3; |
|
|
|
color: #46f1e3; |
|
|
|
position: absolute; |
|
|
|
position: absolute; |
|
|
|
top: 6.28rem; |
|
|
|
top: 6.28rem; |
|
|
|
left: 9.1rem; |
|
|
|
left: 9.3rem; |
|
|
|
} |
|
|
|
} |
|
|
|
.freezing-img1 { |
|
|
|
.freezing-img1 { |
|
|
|
z-index: 10; |
|
|
|
z-index: 10; |
|
|
@ -1490,25 +1788,25 @@ export default { |
|
|
|
.freezing-hz1 { |
|
|
|
.freezing-hz1 { |
|
|
|
z-index: 10; |
|
|
|
z-index: 10; |
|
|
|
position: absolute; |
|
|
|
position: absolute; |
|
|
|
top: 7.6rem; |
|
|
|
top: 6.83rem; |
|
|
|
left: 7rem; |
|
|
|
left: 6.7rem; |
|
|
|
font-size: 0.14rem; |
|
|
|
font-size: 0.16rem; |
|
|
|
font-weight: bold; |
|
|
|
font-weight: bold; |
|
|
|
} |
|
|
|
} |
|
|
|
.freezing-hz2 { |
|
|
|
.freezing-hz2 { |
|
|
|
z-index: 10; |
|
|
|
z-index: 10; |
|
|
|
position: absolute; |
|
|
|
position: absolute; |
|
|
|
top: 6.9rem; |
|
|
|
top: 6.24rem; |
|
|
|
left: 8.42rem; |
|
|
|
left: 8.05rem; |
|
|
|
font-size: 0.14rem; |
|
|
|
font-size: 0.16rem; |
|
|
|
font-weight: bold; |
|
|
|
font-weight: bold; |
|
|
|
} |
|
|
|
} |
|
|
|
.freezing-hz3 { |
|
|
|
.freezing-hz3 { |
|
|
|
z-index: 10; |
|
|
|
z-index: 10; |
|
|
|
position: absolute; |
|
|
|
position: absolute; |
|
|
|
top: 6.32rem; |
|
|
|
top: 5.66rem; |
|
|
|
left: 9.5rem; |
|
|
|
left: 9.16rem; |
|
|
|
font-size: 0.14rem; |
|
|
|
font-size: 0.16rem; |
|
|
|
font-weight: bold; |
|
|
|
font-weight: bold; |
|
|
|
} |
|
|
|
} |
|
|
|
.coolingTower3 { |
|
|
|
.coolingTower3 { |
|
|
@ -1561,49 +1859,49 @@ export default { |
|
|
|
font-weight: bold; |
|
|
|
font-weight: bold; |
|
|
|
transform: rotateX(20deg) rotateY(-25deg) rotateZ(-5deg); |
|
|
|
transform: rotateX(20deg) rotateY(-25deg) rotateZ(-5deg); |
|
|
|
} |
|
|
|
} |
|
|
|
.colingTowerHz11 { |
|
|
|
.coolingTowerHz11 { |
|
|
|
z-index: 10; |
|
|
|
z-index: 10; |
|
|
|
font-size: 0.14rem; |
|
|
|
font-size: 0.16rem; |
|
|
|
color: #ffffff; |
|
|
|
color: #ffffff; |
|
|
|
position: absolute; |
|
|
|
position: absolute; |
|
|
|
top: -0.1rem; |
|
|
|
top: -0.08rem; |
|
|
|
left: 7.32rem; |
|
|
|
left: 7.36rem; |
|
|
|
font-weight: bold; |
|
|
|
font-weight: bold; |
|
|
|
transform: rotateX(20deg) rotateY(-25deg) rotateZ(-5deg); |
|
|
|
transform: rotateX(20deg) rotateY(-25deg) rotateZ(-5deg); |
|
|
|
} |
|
|
|
} |
|
|
|
.colingTowerHz12 { |
|
|
|
.coolingTowerHz12 { |
|
|
|
z-index: 10; |
|
|
|
z-index: 10; |
|
|
|
font-size: 0.14rem; |
|
|
|
font-size: 0.16rem; |
|
|
|
color: #ffffff; |
|
|
|
color: #ffffff; |
|
|
|
position: absolute; |
|
|
|
position: absolute; |
|
|
|
top: 0.033rem; |
|
|
|
top: 0.04rem; |
|
|
|
left: 6.8rem; |
|
|
|
left: 6.76rem; |
|
|
|
font-weight: bold; |
|
|
|
font-weight: bold; |
|
|
|
transform: rotateX(20deg) rotateY(-25deg) rotateZ(-5deg); |
|
|
|
transform: rotateX(20deg) rotateY(-25deg) rotateZ(-5deg); |
|
|
|
} |
|
|
|
} |
|
|
|
.colingTowerHz21 { |
|
|
|
.coolingTowerHz21 { |
|
|
|
z-index: 10; |
|
|
|
z-index: 10; |
|
|
|
font-size: 0.14rem; |
|
|
|
font-size: 0.16rem; |
|
|
|
color: #ffffff; |
|
|
|
color: #ffffff; |
|
|
|
position: absolute; |
|
|
|
position: absolute; |
|
|
|
top: 0.24rem; |
|
|
|
top: 0.22rem; |
|
|
|
left: 6rem; |
|
|
|
left: 6.06rem; |
|
|
|
font-weight: bold; |
|
|
|
font-weight: bold; |
|
|
|
transform: rotateX(20deg) rotateY(-25deg) rotateZ(-5deg); |
|
|
|
transform: rotateX(20deg) rotateY(-25deg) rotateZ(-5deg); |
|
|
|
} |
|
|
|
} |
|
|
|
.colingTowerHz22 { |
|
|
|
.coolingTowerHz22 { |
|
|
|
z-index: 10; |
|
|
|
z-index: 10; |
|
|
|
font-size: 0.14rem; |
|
|
|
font-size: 0.16rem; |
|
|
|
color: #ffffff; |
|
|
|
color: #ffffff; |
|
|
|
position: absolute; |
|
|
|
position: absolute; |
|
|
|
top: 0.37rem; |
|
|
|
top: 0.37rem; |
|
|
|
left: 5.5rem; |
|
|
|
left: 5.49rem; |
|
|
|
font-weight: bold; |
|
|
|
font-weight: bold; |
|
|
|
transform: rotateX(20deg) rotateY(-25deg) rotateZ(-5deg); |
|
|
|
transform: rotateX(20deg) rotateY(-25deg) rotateZ(-5deg); |
|
|
|
} |
|
|
|
} |
|
|
|
.colingTowerHz3 { |
|
|
|
.coolingTowerHz3 { |
|
|
|
z-index: 10; |
|
|
|
z-index: 10; |
|
|
|
font-size: 0.14rem; |
|
|
|
font-size: 0.16rem; |
|
|
|
color: #ffffff; |
|
|
|
color: #ffffff; |
|
|
|
position: absolute; |
|
|
|
position: absolute; |
|
|
|
top: 0.64rem; |
|
|
|
top: 0.64rem; |
|
|
@ -1683,6 +1981,71 @@ export default { |
|
|
|
background-color: #ebebeb; |
|
|
|
background-color: #ebebeb; |
|
|
|
border-radius: 50%; |
|
|
|
border-radius: 50%; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.statusAndModel { |
|
|
|
|
|
|
|
z-index: 10; |
|
|
|
|
|
|
|
position: absolute; |
|
|
|
|
|
|
|
top: 8.4rem; |
|
|
|
|
|
|
|
right: 3rem; |
|
|
|
|
|
|
|
width: 3rem; |
|
|
|
|
|
|
|
.warnStatus { |
|
|
|
|
|
|
|
position: absolute; |
|
|
|
|
|
|
|
left: 0.04rem; |
|
|
|
|
|
|
|
top: 0.3rem; |
|
|
|
|
|
|
|
width: 0.45rem; |
|
|
|
|
|
|
|
height: 0.45rem; |
|
|
|
|
|
|
|
animation: breathe 4s ease-in-out infinite; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
@keyframes breathe { |
|
|
|
|
|
|
|
0% { |
|
|
|
|
|
|
|
transform: scale(1); |
|
|
|
|
|
|
|
opacity: 0.5; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
50% { |
|
|
|
|
|
|
|
transform: scale(1.1); |
|
|
|
|
|
|
|
opacity: 1; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
100% { |
|
|
|
|
|
|
|
transform: scale(1); |
|
|
|
|
|
|
|
opacity: 0.5; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.modelStatus { |
|
|
|
|
|
|
|
position: absolute; |
|
|
|
|
|
|
|
top: 0; |
|
|
|
|
|
|
|
right: 0rem; |
|
|
|
|
|
|
|
width: 2.65rem; |
|
|
|
|
|
|
|
height: 0.83rem; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.sysNormal { |
|
|
|
|
|
|
|
position: absolute; |
|
|
|
|
|
|
|
top: 0.63rem; |
|
|
|
|
|
|
|
right: 0.7rem; |
|
|
|
|
|
|
|
font-size: 0.14rem; |
|
|
|
|
|
|
|
font-weight: bold; |
|
|
|
|
|
|
|
color: #3bb3f8; |
|
|
|
|
|
|
|
letter-spacing: 0.02rem; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.sysWarning { |
|
|
|
|
|
|
|
position: absolute; |
|
|
|
|
|
|
|
top: 0.63rem; |
|
|
|
|
|
|
|
right: 0.7rem; |
|
|
|
|
|
|
|
font-size: 0.14rem; |
|
|
|
|
|
|
|
font-weight: bold; |
|
|
|
|
|
|
|
cursor: pointer; |
|
|
|
|
|
|
|
color: #ffffff; |
|
|
|
|
|
|
|
letter-spacing: 0.02rem; |
|
|
|
|
|
|
|
animation: blink 0.5s ease-in-out infinite; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.sysStatus { |
|
|
|
|
|
|
|
position: absolute; |
|
|
|
|
|
|
|
top: 0.2rem; |
|
|
|
|
|
|
|
left: 0.8rem; |
|
|
|
|
|
|
|
font-size: 0.18rem; |
|
|
|
|
|
|
|
font-weight: bold; |
|
|
|
|
|
|
|
color: #1fb7f3; |
|
|
|
|
|
|
|
letter-spacing: 0.02rem; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
.weather { |
|
|
|
.weather { |
|
|
|
min-width: 2.5rem; |
|
|
|
min-width: 2.5rem; |
|
|
@ -1699,7 +2062,7 @@ export default { |
|
|
|
background-image: url(../../../assets/images/border1.png); |
|
|
|
background-image: url(../../../assets/images/border1.png); |
|
|
|
background-size: 100% 100%; |
|
|
|
background-size: 100% 100%; |
|
|
|
background-repeat: no-repeat; |
|
|
|
background-repeat: no-repeat; |
|
|
|
padding: 0.15rem 0 0.25rem 0rem; |
|
|
|
padding: 0.15rem 0.1rem 0.25rem 0rem; |
|
|
|
} |
|
|
|
} |
|
|
|
.weather-li { |
|
|
|
.weather-li { |
|
|
|
width: 100%; |
|
|
|
width: 100%; |
|
|
@ -1741,7 +2104,7 @@ export default { |
|
|
|
background-image: url(../../../assets/images/border4.png); |
|
|
|
background-image: url(../../../assets/images/border4.png); |
|
|
|
background-size: 100% 100%; |
|
|
|
background-size: 100% 100%; |
|
|
|
background-repeat: no-repeat; |
|
|
|
background-repeat: no-repeat; |
|
|
|
padding: 0.15rem 0 0.25rem 0rem; |
|
|
|
padding: 0.15rem 0.1rem 0.25rem 0rem; |
|
|
|
} |
|
|
|
} |
|
|
|
.title { |
|
|
|
.title { |
|
|
|
z-index: 10; |
|
|
|
z-index: 10; |
|
|
@ -1752,8 +2115,9 @@ export default { |
|
|
|
background-size: 2rem 0.45rem; |
|
|
|
background-size: 2rem 0.45rem; |
|
|
|
background-position: bottom left; |
|
|
|
background-position: bottom left; |
|
|
|
font-family: SourceHanSansCN-Medium; |
|
|
|
font-family: SourceHanSansCN-Medium; |
|
|
|
font-size: 0.16rem; |
|
|
|
font-size: 0.18rem; |
|
|
|
font-style: italic; |
|
|
|
font-style: italic; |
|
|
|
|
|
|
|
font-weight: bold; |
|
|
|
line-height: 0.6rem; |
|
|
|
line-height: 0.6rem; |
|
|
|
color: rgba(209, 214, 223, 1); |
|
|
|
color: rgba(209, 214, 223, 1); |
|
|
|
padding-left: 0.6rem; |
|
|
|
padding-left: 0.6rem; |
|
|
@ -1768,7 +2132,7 @@ export default { |
|
|
|
background-repeat: no-repeat; |
|
|
|
background-repeat: no-repeat; |
|
|
|
background-size: 100% 100%; |
|
|
|
background-size: 100% 100%; |
|
|
|
top: 0; |
|
|
|
top: 0; |
|
|
|
right: 2rem; |
|
|
|
right: 1.7rem; |
|
|
|
z-index: 10; |
|
|
|
z-index: 10; |
|
|
|
display: flex; |
|
|
|
display: flex; |
|
|
|
flex-direction: column; |
|
|
|
flex-direction: column; |
|
|
@ -1813,6 +2177,27 @@ export default { |
|
|
|
.offClass:hover .on-animation { |
|
|
|
.offClass:hover .on-animation { |
|
|
|
animation: none; |
|
|
|
animation: none; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.sysTips { |
|
|
|
|
|
|
|
position: absolute; |
|
|
|
|
|
|
|
top: 1.7rem; |
|
|
|
|
|
|
|
left: 13rem; |
|
|
|
|
|
|
|
display: flex; |
|
|
|
|
|
|
|
flex-direction: row; |
|
|
|
|
|
|
|
align-items: center; |
|
|
|
|
|
|
|
z-index: 10; |
|
|
|
|
|
|
|
.step { |
|
|
|
|
|
|
|
width: 0.2rem; |
|
|
|
|
|
|
|
height: 0.3rem; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.tips-text { |
|
|
|
|
|
|
|
border: 0.01rem solid transparent; |
|
|
|
|
|
|
|
border-image: linear-gradient(to right, #007bff, #00ffff); |
|
|
|
|
|
|
|
border-image-slice: 1; |
|
|
|
|
|
|
|
font-size: 0.18rem; |
|
|
|
|
|
|
|
color: #1fecf3; |
|
|
|
|
|
|
|
padding: 0.01rem 0.03rem; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
// @media (min-width: 1240px) and (max-width: 1440px) { |
|
|
|
// @media (min-width: 1240px) and (max-width: 1440px) { |
|
|
|
// } |
|
|
|
// } |
|
|
@ -1822,3 +2207,8 @@ export default { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
</style> |
|
|
|
</style> |
|
|
|
|
|
|
|
<style scoped> |
|
|
|
|
|
|
|
.monitor >>> .el-dialog:not(.is-fullscreen) { |
|
|
|
|
|
|
|
margin-top: 15% !important; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
</style> |
|
|
|