|
|
@@ -62,6 +62,18 @@
|
|
|
<div class="label device-name" style="left: -0.1%; top: 45%"
|
|
|
>1#给煤机</div
|
|
|
>
|
|
|
+ <div
|
|
|
+ style="left: 4.5%; top: 45%"
|
|
|
+ class="alarm-badge"
|
|
|
+ v-if="gmj1.alarm.alarmLevel"
|
|
|
+ :class="{
|
|
|
+ 'alarm-yellow': gmj1.alarm.alarmLevel == 1,
|
|
|
+ 'alarm-orange': gmj1.alarm.alarmLevel == 2,
|
|
|
+ 'alarm-red': gmj1.alarm.alarmLevel == 3
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <i class="el-icon-bell alarm-icon"></i>
|
|
|
+ </div>
|
|
|
<div class="label data-box" style="left: 7%; top: 41%">{{
|
|
|
gmj1.频率.value.value + ' ' + gmj1.频率.value.unit
|
|
|
}}</div>
|
|
|
@@ -69,6 +81,18 @@
|
|
|
<div class="label device-name" style="left: -0.1%; top: 65%"
|
|
|
>2#给煤机</div
|
|
|
>
|
|
|
+ <div
|
|
|
+ style="left: 4.5%; top: 65%"
|
|
|
+ class="alarm-badge"
|
|
|
+ v-if="gmj2.alarm.alarmLevel"
|
|
|
+ :class="{
|
|
|
+ 'alarm-yellow': gmj2.alarm.alarmLevel == 1,
|
|
|
+ 'alarm-orange': gmj2.alarm.alarmLevel == 2,
|
|
|
+ 'alarm-red': gmj2.alarm.alarmLevel == 3
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <i class="el-icon-bell alarm-icon"></i>
|
|
|
+ </div>
|
|
|
<div class="label data-box" style="left: 7%; top: 59.5%">{{
|
|
|
gmj2.频率.value.value + ' ' + gmj2.频率.value.unit
|
|
|
}}</div>
|
|
|
@@ -79,6 +103,20 @@
|
|
|
<div class="label data-box" style="left: 19%; top: 8%">{{
|
|
|
lt.炉膛出口温度右.value.value + ' ' + lt.炉膛出口温度右.value.unit
|
|
|
}}</div>
|
|
|
+
|
|
|
+ <div
|
|
|
+ style="left: 16.5%; top: 20%"
|
|
|
+ class="alarm-badge"
|
|
|
+ v-if="lt.alarm.alarmLevel"
|
|
|
+ :class="{
|
|
|
+ 'alarm-yellow': lt.alarm.alarmLevel == 1,
|
|
|
+ 'alarm-orange': lt.alarm.alarmLevel == 2,
|
|
|
+ 'alarm-red': lt.alarm.alarmLevel == 3
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <i class="el-icon-bell alarm-icon"></i>
|
|
|
+ </div>
|
|
|
+
|
|
|
<!-- 锅炉上部 -->
|
|
|
<!-- <div class="label data-box" style="left: 15.5%; top: 22%"
|
|
|
>+104 Pa</div
|
|
|
@@ -117,6 +155,7 @@
|
|
|
<div class="label data-box" style="left: 17.5%; top: 71%">{{
|
|
|
lt.沸下温度右.value.value + ' ' + lt.沸下温度右.value.unit
|
|
|
}}</div>
|
|
|
+
|
|
|
<!-- 除尘器 -->
|
|
|
<div class="label data-box" style="left: 45.4%; top: 0"
|
|
|
>后烟压:{{
|
|
|
@@ -133,6 +172,18 @@
|
|
|
style="left: 46.6%; top: 12.6%; color: #333; text-shadow: none"
|
|
|
>除尘器</div
|
|
|
>
|
|
|
+ <div
|
|
|
+ style="left: 47.5%; top: 16%"
|
|
|
+ class="alarm-badge"
|
|
|
+ v-if="ccq.alarm.alarmLevel"
|
|
|
+ :class="{
|
|
|
+ 'alarm-yellow': ccq.alarm.alarmLevel == 1,
|
|
|
+ 'alarm-orange': ccq.alarm.alarmLevel == 2,
|
|
|
+ 'alarm-red': ccq.alarm.alarmLevel == 3
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <i class="el-icon-bell alarm-icon"></i>
|
|
|
+ </div>
|
|
|
<!-- 二次风机 -->
|
|
|
<div class="label device-name" style="left: 59%; top: 43%"
|
|
|
>二次风机</div
|
|
|
@@ -141,16 +192,43 @@
|
|
|
>二次风压:
|
|
|
{{ ecfj.风压.value.value + ' ' + ecfj.风压.value.unit }}</div
|
|
|
>
|
|
|
+
|
|
|
+ <div
|
|
|
+ style="left: 60%; top: 62%"
|
|
|
+ class="alarm-badge"
|
|
|
+ v-if="ecfj.alarm.alarmLevel"
|
|
|
+ :class="{
|
|
|
+ 'alarm-yellow': ecfj.alarm.alarmLevel == 1,
|
|
|
+ 'alarm-orange': ecfj.alarm.alarmLevel == 2,
|
|
|
+ 'alarm-red': ecfj.alarm.alarmLevel == 3
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <i class="el-icon-bell alarm-icon"></i>
|
|
|
+ </div>
|
|
|
+
|
|
|
<!-- 一次风机 -->
|
|
|
<div class="label device-name" style="left: 48%; top: 70%"
|
|
|
>一次风机</div
|
|
|
>
|
|
|
+
|
|
|
<!-- 底部功率 -->
|
|
|
<div class="label data-box" style="left: 48%; top: 94%"
|
|
|
>频率:{{
|
|
|
ycfj.频率.value.value + ' ' + ycfj.频率.value.unit
|
|
|
}}</div
|
|
|
>
|
|
|
+ <div
|
|
|
+ style="left: 49.5%; top: 88%"
|
|
|
+ class="alarm-badge"
|
|
|
+ v-if="ycfj.alarm.alarmLevel"
|
|
|
+ :class="{
|
|
|
+ 'alarm-yellow': ycfj.alarm.alarmLevel == 1,
|
|
|
+ 'alarm-orange': ycfj.alarm.alarmLevel == 2,
|
|
|
+ 'alarm-red': ycfj.alarm.alarmLevel == 3
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <i class="el-icon-bell alarm-icon"></i>
|
|
|
+ </div>
|
|
|
<!-- 引风机 -->
|
|
|
<div class="label device-name" style="left: 72%; top: 31%"
|
|
|
>引风机</div
|
|
|
@@ -158,6 +236,18 @@
|
|
|
<div class="label data-box" style="left: 71%; top: 56%"
|
|
|
>功率: {{ yfj.频率.value.value + ' ' + yfj.频率.value.unit }}</div
|
|
|
>
|
|
|
+ <div
|
|
|
+ style="left: 73%; top: 47%"
|
|
|
+ class="alarm-badge"
|
|
|
+ v-if="yfj.alarm.alarmLevel"
|
|
|
+ :class="{
|
|
|
+ 'alarm-yellow': yfj.alarm.alarmLevel == 1,
|
|
|
+ 'alarm-orange': yfj.alarm.alarmLevel == 2,
|
|
|
+ 'alarm-red': yfj.alarm.alarmLevel == 3
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <i class="el-icon-bell alarm-icon"></i>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -184,24 +274,23 @@
|
|
|
zzq.主蒸汽温度.value.value + ' ' + zzq.主蒸汽温度.value.unit
|
|
|
}}</div
|
|
|
>
|
|
|
- <!-- 高温过热器 -->
|
|
|
- <!-- <div class="label data-box" style="left: 21%; top: 1%"
|
|
|
- >温度:
|
|
|
- {{
|
|
|
- gwgrq.出口温度.value.value + ' ' + gwgrq.出口温度.value.unit
|
|
|
- }}</div
|
|
|
+ <div
|
|
|
+ style="left: 6%; top: 17%"
|
|
|
+ class="alarm-badge"
|
|
|
+ v-if="zzq.alarm.alarmLevel"
|
|
|
+ :class="{
|
|
|
+ 'alarm-yellow': zzq.alarm.alarmLevel == 1,
|
|
|
+ 'alarm-orange': zzq.alarm.alarmLevel == 2,
|
|
|
+ 'alarm-red': zzq.alarm.alarmLevel == 3
|
|
|
+ }"
|
|
|
>
|
|
|
- <div class="label data-box" style="left: 20.8%; top: 7%"
|
|
|
- >压力:{{
|
|
|
- gwgrq.进口蒸汽压力.value.value +
|
|
|
- ' ' +
|
|
|
- gwgrq.进口蒸汽压力.value.unit
|
|
|
- }}</div
|
|
|
- > -->
|
|
|
+ <i class="el-icon-bell alarm-icon"></i>
|
|
|
+ </div>
|
|
|
+
|
|
|
<div
|
|
|
class="label device-name"
|
|
|
style="
|
|
|
- left: 22%;
|
|
|
+ left: 22.5%;
|
|
|
top: 25%;
|
|
|
font-size: 18px;
|
|
|
color: #000;
|
|
|
@@ -212,7 +301,7 @@
|
|
|
<div
|
|
|
class="label device-name"
|
|
|
style="
|
|
|
- left: 21.5%;
|
|
|
+ left: 22%;
|
|
|
top: 29%;
|
|
|
font-size: 18px;
|
|
|
color: #000;
|
|
|
@@ -256,6 +345,19 @@
|
|
|
"
|
|
|
>过热器</div
|
|
|
>
|
|
|
+
|
|
|
+ <div
|
|
|
+ style="left: 37%; top: 20%"
|
|
|
+ class="alarm-badge"
|
|
|
+ v-if="dwgrq.alarm.alarmLevel"
|
|
|
+ :class="{
|
|
|
+ 'alarm-yellow': dwgrq.alarm.alarmLevel == 1,
|
|
|
+ 'alarm-orange': dwgrq.alarm.alarmLevel == 2,
|
|
|
+ 'alarm-red': dwgrq.alarm.alarmLevel == 3
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <i class="el-icon-bell alarm-icon"></i>
|
|
|
+ </div>
|
|
|
<!-- 气包 -->
|
|
|
<div
|
|
|
class="label device-name"
|
|
|
@@ -268,6 +370,19 @@
|
|
|
"
|
|
|
>汽包</div
|
|
|
>
|
|
|
+
|
|
|
+ <div
|
|
|
+ style="left: 52%; top: 29%"
|
|
|
+ class="alarm-badge"
|
|
|
+ v-if="qp.alarm.alarmLevel"
|
|
|
+ :class="{
|
|
|
+ 'alarm-yellow': qp.alarm.alarmLevel == 1,
|
|
|
+ 'alarm-orange': qp.alarm.alarmLevel == 2,
|
|
|
+ 'alarm-red': qp.alarm.alarmLevel == 3
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <i class="el-icon-bell alarm-icon"></i>
|
|
|
+ </div>
|
|
|
<div class="label data-box" style="left: 53%; top: 40%"
|
|
|
>汽包液位:{{
|
|
|
qp.汽包液位.value.value + ' ' + qp.汽包液位.value.unit
|
|
|
@@ -288,6 +403,18 @@
|
|
|
<div class="label device-name" style="left: 71%; top: 37%"
|
|
|
>省煤器</div
|
|
|
>
|
|
|
+ <div
|
|
|
+ style="left: 71%; top: 30%"
|
|
|
+ class="alarm-badge"
|
|
|
+ v-if="smq.alarm.alarmLevel"
|
|
|
+ :class="{
|
|
|
+ 'alarm-yellow': smq.alarm.alarmLevel == 1,
|
|
|
+ 'alarm-orange': smq.alarm.alarmLevel == 2,
|
|
|
+ 'alarm-red': smq.alarm.alarmLevel == 3
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <i class="el-icon-bell alarm-icon"></i>
|
|
|
+ </div>
|
|
|
<div class="label data-box" style="left: 70%; top: 6%"
|
|
|
>出口水温:
|
|
|
{{
|
|
|
@@ -300,6 +427,20 @@
|
|
|
sxyw.水位.value.value + ' ' + sxyw.水位.value.unit
|
|
|
}}</div
|
|
|
>
|
|
|
+
|
|
|
+ <div
|
|
|
+ style="left: 42%; top: 76%"
|
|
|
+ class="alarm-badge"
|
|
|
+ v-if="sxyw.alarm.alarmLevel"
|
|
|
+ :class="{
|
|
|
+ 'alarm-yellow': sxyw.alarm.alarmLevel == 1,
|
|
|
+ 'alarm-orange': sxyw.alarm.alarmLevel == 2,
|
|
|
+ 'alarm-red': sxyw.alarm.alarmLevel == 3
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <i class="el-icon-bell alarm-icon"></i>
|
|
|
+ </div>
|
|
|
+
|
|
|
<!-- 给水泵 -->
|
|
|
<div class="label device-name" style="left: 60%; top: 87%"
|
|
|
>给水泵</div
|
|
|
@@ -316,6 +457,20 @@
|
|
|
<div class="label device-name" style="left: 2%; top: 87.6%"
|
|
|
>给水</div
|
|
|
>
|
|
|
+
|
|
|
+ <div
|
|
|
+ v-if="gs.alarm.alarmLevel"
|
|
|
+ style="left: 5%; top: 90%"
|
|
|
+ class="alarm-badge"
|
|
|
+ :class="{
|
|
|
+ 'alarm-yellow': gs.alarm.alarmLevel == 1,
|
|
|
+ 'alarm-orange': gs.alarm.alarmLevel == 2,
|
|
|
+ 'alarm-red': gs.alarm.alarmLevel == 3
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <i class="el-icon-bell alarm-icon"></i>
|
|
|
+ </div>
|
|
|
+
|
|
|
<div class="label data-box" style="left: 4%; top: 82%"
|
|
|
>进口流量:
|
|
|
{{
|
|
|
@@ -365,8 +520,8 @@
|
|
|
|
|
|
<script>
|
|
|
import { component } from 'vue-fullscreen';
|
|
|
- import { getRealData } from '@/api/pcsData/index.js';
|
|
|
- import { values } from 'lodash';
|
|
|
+ import { getRealData, getRealAlarmLogInfo } from '@/api/pcsData/index.js';
|
|
|
+ import C from 'highlight.js/lib/languages/1c';
|
|
|
|
|
|
export default {
|
|
|
name: 'PcsDataDashboard',
|
|
|
@@ -377,6 +532,7 @@
|
|
|
return {
|
|
|
//烟气排放
|
|
|
yqpf: {
|
|
|
+ alarm: { alarmLevel: '' },
|
|
|
deviceId: {
|
|
|
5: '2036027830998446082',
|
|
|
6: '2036033114630303745',
|
|
|
@@ -432,6 +588,7 @@
|
|
|
},
|
|
|
//水箱液位
|
|
|
sxyw: {
|
|
|
+ alarm: { alarmLevel: '' },
|
|
|
deviceId: {
|
|
|
5: '2008477438320357378',
|
|
|
6: '2008477438257442817',
|
|
|
@@ -449,6 +606,7 @@
|
|
|
},
|
|
|
//主给水
|
|
|
zgs: {
|
|
|
+ alarm: { alarmLevel: '' },
|
|
|
deviceId: {
|
|
|
5: '2048945828386091010',
|
|
|
6: '2048945828440616962',
|
|
|
@@ -466,6 +624,7 @@
|
|
|
},
|
|
|
//给水
|
|
|
gs: {
|
|
|
+ alarm: { alarmLevel: '' },
|
|
|
deviceId: {
|
|
|
5: '2048945828327370754',
|
|
|
6: '2048945828289622018',
|
|
|
@@ -492,6 +651,7 @@
|
|
|
},
|
|
|
//省煤器
|
|
|
smq: {
|
|
|
+ alarm: { alarmLevel: '' },
|
|
|
deviceId: {
|
|
|
5: '2036027830256054273',
|
|
|
6: '2036033113808220162',
|
|
|
@@ -509,6 +669,7 @@
|
|
|
},
|
|
|
//气泡
|
|
|
qp: {
|
|
|
+ alarm: { alarmLevel: '' },
|
|
|
deviceId: {
|
|
|
5: '2036027832722305025',
|
|
|
6: '2036033116354162689',
|
|
|
@@ -545,6 +706,7 @@
|
|
|
|
|
|
//主蒸汽
|
|
|
zzq: {
|
|
|
+ alarm: { alarmLevel: '' },
|
|
|
deviceId: {
|
|
|
5: '2036027831287853057',
|
|
|
6: '2036033114848407554',
|
|
|
@@ -571,6 +733,7 @@
|
|
|
},
|
|
|
//高温过热器
|
|
|
gwgrq: {
|
|
|
+ alarm: { alarmLevel: '' },
|
|
|
deviceId: {
|
|
|
5: '2036027830004396033',
|
|
|
6: '2036033113632059394',
|
|
|
@@ -597,6 +760,7 @@
|
|
|
},
|
|
|
//低温过热器
|
|
|
dwgrq: {
|
|
|
+ alarm: { alarmLevel: '' },
|
|
|
deviceId: {
|
|
|
5: '2036027829865984001',
|
|
|
6: '2036033113489453058',
|
|
|
@@ -623,6 +787,7 @@
|
|
|
},
|
|
|
//给煤机
|
|
|
gmj1: {
|
|
|
+ alarm: { alarmLevel: '' },
|
|
|
deviceId: {
|
|
|
5: '2036027831950553090',
|
|
|
6: '2036033115469164546',
|
|
|
@@ -639,6 +804,7 @@
|
|
|
}
|
|
|
},
|
|
|
gmj2: {
|
|
|
+ alarm: { alarmLevel: '' },
|
|
|
deviceId: {
|
|
|
5: '2036027831766003713',
|
|
|
6: '2036033115326558209',
|
|
|
@@ -656,6 +822,7 @@
|
|
|
},
|
|
|
//料层
|
|
|
lc: {
|
|
|
+ alarm: { alarmLevel: '' },
|
|
|
deviceId: {
|
|
|
5: '2036027832571310081',
|
|
|
6: '2036033116027006978',
|
|
|
@@ -682,6 +849,7 @@
|
|
|
},
|
|
|
//炉膛
|
|
|
lt: {
|
|
|
+ alarm: { alarmLevel: '' },
|
|
|
deviceId: {
|
|
|
5: '2036027829618520065',
|
|
|
6: '2036033113225211905',
|
|
|
@@ -771,6 +939,7 @@
|
|
|
},
|
|
|
//除尘器
|
|
|
ccq: {
|
|
|
+ alarm: { alarmLevel: '' },
|
|
|
deviceId: {
|
|
|
5: '2008477400542261249',
|
|
|
6: '2008477400445792258',
|
|
|
@@ -796,6 +965,7 @@
|
|
|
}
|
|
|
},
|
|
|
ycfj: {
|
|
|
+ alarm: { alarmLevel: '' },
|
|
|
deviceId: {
|
|
|
5: '2008477365637263361',
|
|
|
6: '2008477365553377282',
|
|
|
@@ -812,6 +982,7 @@
|
|
|
}
|
|
|
},
|
|
|
ecfj: {
|
|
|
+ alarm: { alarmLevel: '' },
|
|
|
deviceId: {
|
|
|
5: '2008477365368827905',
|
|
|
6: '2008477365305913345',
|
|
|
@@ -828,6 +999,7 @@
|
|
|
}
|
|
|
},
|
|
|
yfj: {
|
|
|
+ alarm: { alarmLevel: '' },
|
|
|
deviceId: {
|
|
|
5: '2008477365154918402',
|
|
|
6: '2008477365087809538',
|
|
|
@@ -933,23 +1105,64 @@
|
|
|
},
|
|
|
methods: {
|
|
|
init() {
|
|
|
- this.getYqpf();
|
|
|
- this.getSxyw();
|
|
|
- this.getGs();
|
|
|
- this.getSmq();
|
|
|
- this.getQp();
|
|
|
- this.getZzq();
|
|
|
- // this.getGwgrq();
|
|
|
- this.getDwgrq();
|
|
|
- this.getGmj1();
|
|
|
- this.getGmj2();
|
|
|
- this.getLc();
|
|
|
- this.getLt();
|
|
|
- this.getCcq();
|
|
|
- this.getYcfj();
|
|
|
- this.getEcfj();
|
|
|
- this.getYfj();
|
|
|
- this.getZgs()
|
|
|
+ const devices = [
|
|
|
+ 'yqpf',
|
|
|
+ 'sxyw',
|
|
|
+ 'zgs',
|
|
|
+ 'gs',
|
|
|
+ 'smq',
|
|
|
+ 'qp',
|
|
|
+ 'zzq',
|
|
|
+ 'gwgrq',
|
|
|
+ 'dwgrq',
|
|
|
+ 'gmj1',
|
|
|
+ 'gmj2',
|
|
|
+ 'lc',
|
|
|
+ 'lt',
|
|
|
+ 'ccq',
|
|
|
+ 'ycfj',
|
|
|
+ 'ecfj',
|
|
|
+ 'yfj'
|
|
|
+ ];
|
|
|
+
|
|
|
+ let ids = [];
|
|
|
+ devices.forEach((key) => {
|
|
|
+ this.getDeviceData(key);
|
|
|
+ ids.push(this[key].deviceId[this.currentId]);
|
|
|
+ });
|
|
|
+ if (ids.length) {
|
|
|
+ //获取告警
|
|
|
+ getRealAlarmLogInfo(ids).then((res) => {
|
|
|
+ res.forEach((item) => {
|
|
|
+ devices.forEach((key) => {
|
|
|
+ if (item.deviceId == this[key].deviceId[this.currentId]) {
|
|
|
+ this[key].alarm.alarmLevel = item.alarmId;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ getDeviceData(deviceKey) {
|
|
|
+ const device = this[deviceKey];
|
|
|
+ if (!device || !device.deviceId) return;
|
|
|
+ const keys = Object.keys(device).filter(
|
|
|
+ (k) => k !== 'deviceId' && k !== 'alarm'
|
|
|
+ );
|
|
|
+ getRealData(device.deviceId[this.currentId]).then((res) => {
|
|
|
+ res &&
|
|
|
+ res.forEach((item) => {
|
|
|
+ keys.forEach((key) => {
|
|
|
+ if (item.identifier == device[key][this.currentId]) {
|
|
|
+ device[key].value = {
|
|
|
+ value: item.value,
|
|
|
+ unit: item.unit
|
|
|
+ };
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
},
|
|
|
|
|
|
onFullscreen() {
|
|
|
@@ -985,259 +1198,6 @@
|
|
|
(chart) => chart && chart.resize()
|
|
|
);
|
|
|
});
|
|
|
- },
|
|
|
-
|
|
|
- getYqpf() {
|
|
|
- const keys = ['颗粒物', 'NOX', 'O2', '排烟温度', 'SO2'];
|
|
|
- getRealData(this.yqpf.deviceId[this.currentId]).then((res) => {
|
|
|
- res.forEach((item) => {
|
|
|
- keys.forEach((key) => {
|
|
|
- if (item.identifier == this.yqpf[key][this.currentId]) {
|
|
|
- this.yqpf[key].value = {
|
|
|
- value: item.value,
|
|
|
- unit: item.unit
|
|
|
- };
|
|
|
- // console.log(this.yqpf[key]);
|
|
|
- // console.log(key);
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
- });
|
|
|
- },
|
|
|
- getSxyw() {
|
|
|
- const keys = ['水位'];
|
|
|
- getRealData(this.sxyw.deviceId[this.currentId]).then((res) => {
|
|
|
- res.forEach((item) => {
|
|
|
- keys.forEach((key) => {
|
|
|
- if (item.identifier == this.sxyw[key][this.currentId]) {
|
|
|
- this.sxyw[key].value = {
|
|
|
- value: item.value,
|
|
|
- unit: item.unit
|
|
|
- };
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
- });
|
|
|
- },
|
|
|
- getGs() {
|
|
|
- const keys = ['给水压力', '出口流量'];
|
|
|
- getRealData(this.gs.deviceId[this.currentId]).then((res) => {
|
|
|
- res.forEach((item) => {
|
|
|
- keys.forEach((key) => {
|
|
|
- if (item.identifier == this.gs[key][this.currentId]) {
|
|
|
- this.gs[key].value = {
|
|
|
- value: item.value,
|
|
|
- unit: item.unit
|
|
|
- };
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
- });
|
|
|
- },
|
|
|
- getSmq() {
|
|
|
- const keys = ['出口水温'];
|
|
|
- getRealData(this.smq.deviceId[this.currentId]).then((res) => {
|
|
|
- res.forEach((item) => {
|
|
|
- keys.forEach((key) => {
|
|
|
- if (item.identifier == this.smq[key][this.currentId]) {
|
|
|
- this.smq[key].value = {
|
|
|
- value: item.value,
|
|
|
- unit: item.unit
|
|
|
- };
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
- });
|
|
|
- },
|
|
|
- getQp() {
|
|
|
- const keys = ['汽包进口温度', '汽包液位', '汽包出口温度'];
|
|
|
- getRealData(this.qp.deviceId[this.currentId]).then((res) => {
|
|
|
- res.forEach((item) => {
|
|
|
- keys.forEach((key) => {
|
|
|
- if (item.identifier == this.qp[key][this.currentId]) {
|
|
|
- this.qp[key].value = {
|
|
|
- value: item.value,
|
|
|
- unit: item.unit
|
|
|
- };
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
- });
|
|
|
- },
|
|
|
- getZzq() {
|
|
|
- const keys = ['主蒸汽压力', '主蒸汽温度'];
|
|
|
- getRealData(this.zzq.deviceId[this.currentId]).then((res) => {
|
|
|
- res.forEach((item) => {
|
|
|
- keys.forEach((key) => {
|
|
|
- if (item.identifier == this.zzq[key][this.currentId]) {
|
|
|
- this.zzq[key].value = {
|
|
|
- value: item.value,
|
|
|
- unit: item.unit
|
|
|
- };
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
- });
|
|
|
- },
|
|
|
- getDwgrq() {
|
|
|
- const keys = ['低温过热器前烟压', '进口温度'];
|
|
|
- getRealData(this.dwgrq.deviceId[this.currentId]).then((res) => {
|
|
|
- res.forEach((item) => {
|
|
|
- keys.forEach((key) => {
|
|
|
- if (item.identifier == this.dwgrq[key][this.currentId]) {
|
|
|
- this.dwgrq[key].value = {
|
|
|
- value: item.value,
|
|
|
- unit: item.unit
|
|
|
- };
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
- });
|
|
|
- },
|
|
|
- getGmj1() {
|
|
|
- const keys = ['频率'];
|
|
|
- getRealData(this.gmj1.deviceId[this.currentId]).then((res) => {
|
|
|
- res.forEach((item) => {
|
|
|
- keys.forEach((key) => {
|
|
|
- if (item.identifier == this.gmj1[key][this.currentId]) {
|
|
|
- this.gmj1[key].value = {
|
|
|
- value: item.value,
|
|
|
- unit: item.unit
|
|
|
- };
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
- });
|
|
|
- },
|
|
|
- getGmj2() {
|
|
|
- const keys = ['频率'];
|
|
|
- getRealData(this.gmj2.deviceId[this.currentId]).then((res) => {
|
|
|
- res.forEach((item) => {
|
|
|
- keys.forEach((key) => {
|
|
|
- if (item.identifier == this.gmj2[key][this.currentId]) {
|
|
|
- this.gmj2[key].value = {
|
|
|
- value: item.value,
|
|
|
- unit: item.unit
|
|
|
- };
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
- });
|
|
|
- },
|
|
|
- getLc() {
|
|
|
- const keys = ['料层差压左', '料层差压右'];
|
|
|
- getRealData(this.lc.deviceId[this.currentId]).then((res) => {
|
|
|
- res.forEach((item) => {
|
|
|
- keys.forEach((key) => {
|
|
|
- if (item.identifier == this.lc[key][this.currentId]) {
|
|
|
- this.lc[key].value = {
|
|
|
- value: item.value,
|
|
|
- unit: item.unit
|
|
|
- };
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
- });
|
|
|
- },
|
|
|
- getLt() {
|
|
|
- const keys = [
|
|
|
- '下端温度左',
|
|
|
- '沸中温度左',
|
|
|
- '沸下温度左',
|
|
|
- '下端温度右',
|
|
|
- '沸中温度右',
|
|
|
- '沸下温度右',
|
|
|
- '炉膛温度左',
|
|
|
- '炉膛出口温度右',
|
|
|
- '炉膛出口压力'
|
|
|
- ];
|
|
|
- getRealData(this.lt.deviceId[this.currentId]).then((res) => {
|
|
|
- res.forEach((item) => {
|
|
|
- keys.forEach((key) => {
|
|
|
- if (item.identifier == this.lt[key][this.currentId]) {
|
|
|
- this.lt[key].value = {
|
|
|
- value: item.value,
|
|
|
- unit: item.unit
|
|
|
- };
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
- });
|
|
|
- },
|
|
|
- getCcq() {
|
|
|
- const keys = ['后烟压', '出口烟温'];
|
|
|
- getRealData(this.ccq.deviceId[this.currentId]).then((res) => {
|
|
|
- res.forEach((item) => {
|
|
|
- keys.forEach((key) => {
|
|
|
- if (item.identifier == this.ccq[key][this.currentId]) {
|
|
|
- this.ccq[key].value = {
|
|
|
- value: item.value,
|
|
|
- unit: item.unit
|
|
|
- };
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
- });
|
|
|
- },
|
|
|
- getYcfj() {
|
|
|
- const keys = ['频率'];
|
|
|
- getRealData(this.ycfj.deviceId[this.currentId]).then((res) => {
|
|
|
- res.forEach((item) => {
|
|
|
- keys.forEach((key) => {
|
|
|
- if (item.identifier == this.ycfj[key][this.currentId]) {
|
|
|
- this.ycfj[key].value = {
|
|
|
- value: item.value,
|
|
|
- unit: item.unit
|
|
|
- };
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
- });
|
|
|
- },
|
|
|
- getEcfj() {
|
|
|
- const keys = ['风压'];
|
|
|
- getRealData(this.ecfj.deviceId[this.currentId]).then((res) => {
|
|
|
- res.forEach((item) => {
|
|
|
- keys.forEach((key) => {
|
|
|
- if (item.identifier == this.ecfj[key][this.currentId]) {
|
|
|
- this.ecfj[key].value = {
|
|
|
- value: item.value,
|
|
|
- unit: item.unit
|
|
|
- };
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
- });
|
|
|
- },
|
|
|
- getYfj() {
|
|
|
- const keys = ['频率'];
|
|
|
- getRealData(this.yfj.deviceId[this.currentId]).then((res) => {
|
|
|
- res.forEach((item) => {
|
|
|
- keys.forEach((key) => {
|
|
|
- if (item.identifier == this.yfj[key][this.currentId]) {
|
|
|
- this.yfj[key].value = {
|
|
|
- value: item.value,
|
|
|
- unit: item.unit
|
|
|
- };
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
- });
|
|
|
- },
|
|
|
- getZgs() {
|
|
|
- const keys = ['进口流量'];
|
|
|
- getRealData(this.zgs.deviceId[this.currentId]).then((res) => {
|
|
|
- res.forEach((item) => {
|
|
|
- keys.forEach((key) => {
|
|
|
- if (item.identifier == this.zgs[key][this.currentId]) {
|
|
|
- this.zgs[key].value = {
|
|
|
- value: item.value,
|
|
|
- unit: item.unit
|
|
|
- };
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
- });
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
@@ -1453,7 +1413,7 @@
|
|
|
font-size: 14px;
|
|
|
font-weight: bold;
|
|
|
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
|
|
|
- padding: 2px 4px;
|
|
|
+ // padding: 2px 4px;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -1513,4 +1473,72 @@
|
|
|
[v-cloak] {
|
|
|
display: none;
|
|
|
}
|
|
|
+ .alarm-badge {
|
|
|
+ position: absolute;
|
|
|
+
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ gap: 4px;
|
|
|
+ z-index: 2;
|
|
|
+ animation: alarm-pulse 1.5s infinite;
|
|
|
+
|
|
|
+ .alarm-text {
|
|
|
+ font-size: 12px;
|
|
|
+ font-weight: 500;
|
|
|
+ }
|
|
|
+
|
|
|
+ .alarm-icon {
|
|
|
+ font-size: 24px;
|
|
|
+ }
|
|
|
+
|
|
|
+ &.alarm-yellow {
|
|
|
+ color: #ffcc00;
|
|
|
+ text-shadow: 0 0 10px #ffcc00, 0 0 20px #ffcc00;
|
|
|
+ }
|
|
|
+ &.alarm-orange {
|
|
|
+ color: #ff8800;
|
|
|
+ text-shadow: 0 0 10px #ff8800, 0 0 20px #ff8800;
|
|
|
+ }
|
|
|
+ &.alarm-red {
|
|
|
+ color: #ff2222;
|
|
|
+ text-shadow: 0 0 10px #ff2222, 0 0 20px #ff2222;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ @keyframes alarm-pulse {
|
|
|
+ 0%,
|
|
|
+ 100% {
|
|
|
+ transform: scale(1);
|
|
|
+ }
|
|
|
+ 50% {
|
|
|
+ transform: scale(1.2);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ @keyframes bellshake {
|
|
|
+ 0%,
|
|
|
+ 100% {
|
|
|
+ transform: rotate(0deg);
|
|
|
+ }
|
|
|
+ 10%,
|
|
|
+ 30%,
|
|
|
+ 50%,
|
|
|
+ 70%,
|
|
|
+ 90% {
|
|
|
+ transform: rotate(-10deg);
|
|
|
+ }
|
|
|
+ 20%,
|
|
|
+ 40%,
|
|
|
+ 60%,
|
|
|
+ 80% {
|
|
|
+ transform: rotate(10deg);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ @keyframes blink {
|
|
|
+ 0%,
|
|
|
+ 100% {
|
|
|
+ opacity: 1;
|
|
|
+ }
|
|
|
+ 50% {
|
|
|
+ opacity: 0.3;
|
|
|
+ }
|
|
|
+ }
|
|
|
</style>
|