|
@@ -1,58 +1,66 @@
|
|
|
<template>
|
|
|
<div id="compressor3D" style="width: 100%; height: 100%; position: absolute; overflow: hidden"></div>
|
|
|
- <div
|
|
|
- id="compressorCss3D"
|
|
|
- class="threejs-Object-CSS compressorCss3D-box"
|
|
|
- style="width: 100%; height: 100%; position: absolute; pointer-events: none; overflow: hidden; z-index: 2; top: 0px; left: 0px"
|
|
|
- >
|
|
|
- <div v-for="(groupNum, index) in monitorDataGroup" :key="index" class="modal-monitor">
|
|
|
- <fourBorderBg :class="`kyj${index}`" :id="`nitrogenMonitor${groupNum}`">
|
|
|
- <div class="title">{{ kyjs[index] }} </div>
|
|
|
- <template v-for="(preMonitor, preMonitorIndex) in preMonitorList" :key="preMonitorIndex">
|
|
|
- <div v-if="preMonitor.code !== 'signal'" class="monitor-item">
|
|
|
- <span class="monitor-title">{{ preMonitor.title }}:</span>
|
|
|
- <span class="monitor-val"
|
|
|
- ><span class="val">{{
|
|
|
- monitorData[preMonitor.code.replace(prefix[0], `${prefix[0]}${groupNum}`)]
|
|
|
- ? formatNum(monitorData[preMonitor.code.replace(prefix[0], `${prefix[0]}${groupNum}`)])
|
|
|
- : '-'
|
|
|
- }}</span
|
|
|
- ><span class="unit">{{ preMonitor.unit }}</span></span
|
|
|
- >
|
|
|
- </div>
|
|
|
- <div v-else class="signal-item">
|
|
|
- <div class="signal" v-for="(signal, childIndex) in preMonitor.child" :key="childIndex">
|
|
|
- <span class="monitor-title">{{ signal.title }}</span>
|
|
|
- <span
|
|
|
- :class="{
|
|
|
- 'signal-round': true,
|
|
|
- 'signal-round-run': signal.title != '故障信号' && monitorData[signal.code.replace(prefix[0], `${prefix[0]}${groupNum}`)] == '1',
|
|
|
- 'signal-round-warning': signal.title == '故障信号' && monitorData[signal.code.replace(prefix[0], `${prefix[0]}${groupNum}`)] == '1',
|
|
|
- 'signal-round-gry': monitorData[signal.code.replace(prefix[0], `${prefix[0]}${groupNum}`)] != '1',
|
|
|
- }"
|
|
|
- ></span>
|
|
|
+ <template v-for="(sysItem, sysIndex) in monitorDataGroupArr" :key="sysIndex">
|
|
|
+ <div
|
|
|
+ :id="`compressorCss3D${sysIndex + 1}`"
|
|
|
+ class="threejs-Object-CSS compressorCss3D-box"
|
|
|
+ style="width: 100%; height: 100%; position: absolute; pointer-events: none; overflow: hidden; z-index: 2; top: 0px; left: 0px"
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <div v-for="(sysItem, sysIndex) in monitorDataGroupArr" :key="sysIndex">
|
|
|
+ <div v-show="monitorDataGroupFlag == sysIndex + 1">
|
|
|
+ <div v-for="(groupNum, index) in sysItem" :key="index" class="modal-monitor">
|
|
|
+ <fourBorderBg :class="`kyj${groupNum}`" :id="`nitrogenMonitor${groupNum}`">
|
|
|
+ <div class="title">{{ kyjs[index] }} </div>
|
|
|
+ <template v-for="(preMonitor, preMonitorIndex) in preMonitorList" :key="preMonitorIndex">
|
|
|
+ <div v-if="preMonitor.code !== 'signal'" class="monitor-item">
|
|
|
+ <span class="monitor-title">{{ preMonitor.title }}:</span>
|
|
|
+ <span class="monitor-val"
|
|
|
+ ><span class="val">{{
|
|
|
+ monitorData[preMonitor.code.replace(prefix[0], `${prefix[0]}${groupNum}`)]
|
|
|
+ ? formatNum(monitorData[preMonitor.code.replace(prefix[0], `${prefix[0]}${groupNum}`)])
|
|
|
+ : '-'
|
|
|
+ }}</span
|
|
|
+ ><span class="unit">{{ preMonitor.unit }}</span></span
|
|
|
+ >
|
|
|
</div>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </fourBorderBg>
|
|
|
- <fourBorderBg :class="`cqg${index}`" :id="`cqgMonitor${groupNum}`">
|
|
|
- <div class="title">{{ cqgs[index] }}</div>
|
|
|
- <template v-for="(cqgMonitor, cqgMonitorIndex) in cqgMonitorList" :key="cqgMonitorIndex">
|
|
|
- <div class="monitor-item">
|
|
|
- <span class="monitor-title">{{ cqgMonitor.title }}:</span>
|
|
|
- <span class="monitor-val"
|
|
|
- ><span class="val">{{
|
|
|
- monitorData[cqgMonitor.code.replace(prefix[0], `${prefix[1]}${groupNum}`)]
|
|
|
- ? formatNum(monitorData[cqgMonitor.code.replace(prefix[1], `${prefix[1]}${groupNum}`)])
|
|
|
- : '-'
|
|
|
- }}</span
|
|
|
- ><span class="unit">{{ cqgMonitor.unit }}</span></span
|
|
|
- >
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </fourBorderBg>
|
|
|
+ <div v-else class="signal-item">
|
|
|
+ <div class="signal" v-for="(signal, childIndex) in preMonitor.child" :key="childIndex">
|
|
|
+ <span class="monitor-title">{{ signal.title }}</span>
|
|
|
+ <span
|
|
|
+ :class="{
|
|
|
+ 'signal-round': true,
|
|
|
+ 'signal-round-run': signal.title != '故障信号' && monitorData[signal.code.replace(prefix[0], `${prefix[0]}${groupNum}`)] == '1',
|
|
|
+ 'signal-round-warning':
|
|
|
+ signal.title == '故障信号' && monitorData[signal.code.replace(prefix[0], `${prefix[0]}${groupNum}`)] == '1',
|
|
|
+ 'signal-round-gry': monitorData[signal.code.replace(prefix[0], `${prefix[0]}${groupNum}`)] != '1',
|
|
|
+ }"
|
|
|
+ ></span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </fourBorderBg>
|
|
|
+ <fourBorderBg :class="`cqg${groupNum}`" :id="`cqgMonitor${groupNum}`">
|
|
|
+ <div class="title">{{ cqgs[index] }}</div>
|
|
|
+ <template v-for="(cqgMonitor, cqgMonitorIndex) in cqgMonitorList" :key="cqgMonitorIndex">
|
|
|
+ <div class="monitor-item">
|
|
|
+ <span class="monitor-title">{{ cqgMonitor.title }}:</span>
|
|
|
+ <span class="monitor-val"
|
|
|
+ ><span class="val">{{
|
|
|
+ monitorData[cqgMonitor.code.replace(prefix[0], `${prefix[1]}${groupNum}`)]
|
|
|
+ ? formatNum(monitorData[cqgMonitor.code.replace(prefix[1], `${prefix[1]}${groupNum}`)])
|
|
|
+ : '-'
|
|
|
+ }}</span
|
|
|
+ ><span class="unit">{{ cqgMonitor.unit }}</span></span
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </fourBorderBg>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+
|
|
|
<div class="nitrogen-home">
|
|
|
<div style="position: absolute; color: #fff; top: 30px; pointer-events: auto; display: flex">
|
|
|
<div
|
|
@@ -60,7 +68,7 @@
|
|
|
:key="sysIndex"
|
|
|
class="tab-button-box"
|
|
|
:class="{ 'tab-button-box-active': monitorDataGroupFlag == sysIndex + 1 }"
|
|
|
- @click="setMonitorGroupNum(monitorDataGroup1, sysIndex + 1)"
|
|
|
+ @click="setMonitorGroupNum(sysIndex + 1)"
|
|
|
>{{ '压风系统' + (sysIndex + 1) }} (运行: <p style="padding: 0 5px"></p
|
|
|
><span
|
|
|
:class="{
|
|
@@ -82,8 +90,10 @@
|
|
|
</div>
|
|
|
<div class="total-data">
|
|
|
<div class="vent-flex-row">
|
|
|
- <div class="item"
|
|
|
- >总管压力(bar):<span class="val">{{ monitorData[`MainPipePressure`] ? formatNum(monitorData[`MainPipePressure`]) : '-' }}</span></div
|
|
|
+ <div class="item" v-for="(data, index) in totalData" :key="index"
|
|
|
+ >{{ data.title + '(' + data.unit + ')' }}:<span class="val">{{
|
|
|
+ monitorData[data.code] ? formatNum(monitorData[data.code]) : '-'
|
|
|
+ }}</span></div
|
|
|
>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -129,7 +139,7 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
<script lang="ts" setup name="nitrogenHome">
|
|
|
- import { onMounted, onUnmounted, ref, watch } from 'vue';
|
|
|
+ import { onMounted, onUnmounted, ref } from 'vue';
|
|
|
import fourBorderBg from '../../../comment/components/fourBorderBg.vue';
|
|
|
import { mountedThree, destroy, setModelType } from '../nitrogen.threejs';
|
|
|
import { list } from '../nitrogen.api';
|
|
@@ -138,26 +148,35 @@
|
|
|
// import { monitorDataGroupArr, preFanMonitorData, monitorData, preMonitorList, cqgMonitorList, prefix, getSysState } from '../nitrogen.dataJj';
|
|
|
// import type { State } from '../nitrogen.dataJj';
|
|
|
// 布尔台
|
|
|
- import { monitorDataGroupArr, preFanMonitorData, monitorData, preMonitorList, cqgMonitorList, prefix, getSysState } from '../nitrogen.dataBet';
|
|
|
- import type { State } from '../nitrogen.dataBet';
|
|
|
+ // import { monitorDataGroupArr, preFanMonitorData, preMonitorList, cqgMonitorList, prefix, getSysState, totalData } from '../nitrogen.dataBet';
|
|
|
+ // import type { State } from '../nitrogen.dataBet';
|
|
|
// 活鸡兔
|
|
|
// import { monitorDataGroupArr, preFanMonitorData, monitorData, preMonitorList, cqgMonitorList, prefix, getSysState } from '../nitrogen.dataHjt';
|
|
|
// import type { State } from '../nitrogen.dataHjt';
|
|
|
// 大柳塔
|
|
|
- // import { monitorDataGroupArr, preFanMonitorData, monitorData, preMonitorList, cqgMonitorList, prefix, getSysState } from '../nitrogen.dataDlt';
|
|
|
+ // import {
|
|
|
+ // monitorDataGroupArr,
|
|
|
+ // preFanMonitorData,
|
|
|
+ // monitorData,
|
|
|
+ // preMonitorList,
|
|
|
+ // cqgMonitorList,
|
|
|
+ // prefix,
|
|
|
+ // getSysState,
|
|
|
+ // totalData,
|
|
|
+ // } from '../nitrogen.dataDlt';
|
|
|
// import type { State } from '../nitrogen.dataDlt';
|
|
|
// 窑街三矿
|
|
|
- // import { monitorDataGroupArr, preFanMonitorData, monitorData, preMonitorList, cqgMonitorList, prefix, getSysState } from '../nitrogen.dataYJ';
|
|
|
- // import type { State } from '../nitrogen.dataYJ';
|
|
|
+ import { monitorDataGroupArr, preFanMonitorData, preMonitorList, cqgMonitorList, prefix, getSysState } from '../nitrogen.dataYJ';
|
|
|
+ import type { State } from '../nitrogen.dataYJ';
|
|
|
|
|
|
import { formatNum } from '/@/utils/ventutil';
|
|
|
|
|
|
const loading = ref(true);
|
|
|
- const monitorDataGroupFlag = ref(0);
|
|
|
- const monitorDataGroup = ref([]);
|
|
|
- const kyjs = ref([]);
|
|
|
- const cqgs = ref([]);
|
|
|
- const monitorData = ref([]);
|
|
|
+ const monitorDataGroupFlag = ref(1);
|
|
|
+ const monitorDataGroup = ref<Number[]>([]);
|
|
|
+ const kyjs = ref<string[]>([]);
|
|
|
+ const cqgs = ref<string[]>([]);
|
|
|
+ const monitorData = ref<Object | []>({});
|
|
|
const sysStateList = ref<State[]>([]);
|
|
|
|
|
|
// https获取监测数据
|
|
@@ -187,8 +206,12 @@
|
|
|
sysStateList.value = getSysState(monitorData.value);
|
|
|
}
|
|
|
|
|
|
- function setMonitorGroupNum(num, flag) {
|
|
|
+ function setMonitorGroupNum(flag) {
|
|
|
monitorDataGroupFlag.value = flag;
|
|
|
+ const monitorGroup = monitorDataGroupArr[flag - 1];
|
|
|
+ changeGroup(monitorGroup);
|
|
|
+ setModelType('compressor' + (flag - 1));
|
|
|
+ monitorDataGroup.value = monitorGroup;
|
|
|
}
|
|
|
|
|
|
function changeGroup(val) {
|
|
@@ -206,17 +229,11 @@
|
|
|
});
|
|
|
}
|
|
|
|
|
|
- watch(monitorDataGroupFlag, (newVal) => {
|
|
|
- const monitorGroup = monitorDataGroupArr[newVal - 1];
|
|
|
- changeGroup(monitorGroup);
|
|
|
- monitorDataGroup.value = monitorGroup;
|
|
|
- setModelType(monitorGroup);
|
|
|
- });
|
|
|
-
|
|
|
onMounted(async () => {
|
|
|
- mountedThree().then(async () => {
|
|
|
+ mountedThree(monitorDataGroupArr).then(async () => {
|
|
|
await getMonitor(true);
|
|
|
monitorDataGroupFlag.value = 1;
|
|
|
+ setMonitorGroupNum(1);
|
|
|
});
|
|
|
});
|
|
|
|