|
@@ -1,196 +1,91 @@
|
|
|
<template>
|
|
|
<div id="compressor3D" style="width: 100%; height: 100%; position: absolute; overflow: hidden"></div>
|
|
|
<div
|
|
|
- v-show="monitorDataGroupFlag == 1"
|
|
|
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"
|
|
|
>
|
|
|
- <!-- <a-spin :spinning="loading" /> -->
|
|
|
- <div v-for="(groupNum, index) in monitorDataGroupNum1" :key="index" class="modal-monitor">
|
|
|
- <fourBorderBg :class="`kyj${groupNum}`" :id="`nitrogenMonitor${groupNum}`">
|
|
|
- <div class="title">{{ groupNum }}号空压机 </div>
|
|
|
- <div class="monitor-item">
|
|
|
- <span class="monitor-title">机头温度:</span>
|
|
|
- <span class="monitor-val"
|
|
|
- ><span class="val">{{ monitorData[`PRE${groupNum}_CPR_HeadTemp`] ? monitorData[`PRE${groupNum}_CPR_HeadTemp`] : '-' }}</span
|
|
|
- ><span class="unit"></span>℃</span
|
|
|
- >
|
|
|
- </div>
|
|
|
- <div class="monitor-item">
|
|
|
- <span class="monitor-title">冷却温度:</span>
|
|
|
- <span class="monitor-val"
|
|
|
- ><span class="val">{{ monitorData[`PRE${groupNum}_CPR_CoolantTemp`] ? monitorData[`PRE${groupNum}_CPR_CoolantTemp`] : '-' }}</span
|
|
|
- ><span class="unit">℃</span></span
|
|
|
- >
|
|
|
- </div>
|
|
|
- <div class="monitor-item">
|
|
|
- <span class="monitor-title">排气温度:</span>
|
|
|
- <span class="monitor-val"
|
|
|
- ><span class="val">{{ monitorData[`PRE${groupNum}_CPR_ExhaustTemp`] ? monitorData[`PRE${groupNum}_CPR_ExhaustTemp`] : '-' }}</span
|
|
|
- ><span class="unit">℃</span></span
|
|
|
- >
|
|
|
- </div>
|
|
|
- <div class="signal-item">
|
|
|
- <div class="signal"
|
|
|
- ><span class="monitor-title">运行信号</span
|
|
|
- ><span
|
|
|
- :class="{
|
|
|
- 'signal-round': true,
|
|
|
- 'signal-round-run': monitorData[`PRE${groupNum}_MOT_Running`] == '1',
|
|
|
- 'signal-round-gry': monitorData[`PRE${groupNum}_MOT_Running`] != '1',
|
|
|
- }"
|
|
|
- ></span>
|
|
|
+ <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 class="signal"
|
|
|
- ><span class="monitor-title">故障信号</span
|
|
|
- ><span
|
|
|
- :class="{
|
|
|
- 'signal-round': true,
|
|
|
- 'signal-round-warning': monitorData[`PRE${groupNum}_MOT_Fault`] == '1',
|
|
|
- 'signal-round-gry': monitorData[`PRE${groupNum}_MOT_Fault`] != '1',
|
|
|
- }"
|
|
|
- ></span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </fourBorderBg>
|
|
|
- <fourBorderBg :class="`cqg${groupNum}`" :id="`cqgMonitor${groupNum}`">
|
|
|
- <div class="title">{{ groupNum }}号储气罐 </div>
|
|
|
- <div class="monitor-item">
|
|
|
- <span class="monitor-title">气囊温度:</span>
|
|
|
- <span class="monitor-val"
|
|
|
- ><span class="val">{{ monitorData[`PRE${groupNum}_VLS_Temp`] ? monitorData[`PRE${groupNum}_VLS_Temp`] : '-' }}</span
|
|
|
- ><span class="unit">℃</span></span
|
|
|
- >
|
|
|
- </div>
|
|
|
- <!-- <div class="monitor-item">
|
|
|
- <span class="monitor-title">气囊压力<span class="unit"></span>:</span>
|
|
|
- <span class="monitor-val"><span class="val">{{ monitorData[groupNum - 1] && monitorData[groupNum - 1]['airReceiverPress'] ?
|
|
|
- monitorData[groupNum - 1]['airReceiverPress'] : '-' }}</span><span class="unit">Mpa</span></span>
|
|
|
+ <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 class="monitor-item">
|
|
|
- <span class="monitor-title">气囊流量<span class="unit"></span>:</span>
|
|
|
- <span class="monitor-val"><span class="val">{{ monitorData[groupNum - 1] && monitorData[groupNum - 1]['airReceiverFlow'] ?
|
|
|
- monitorData[groupNum - 1]['airReceiverFlow'] : '-' }}</span><span class="unit">m³/k</span></span>
|
|
|
- </div> -->
|
|
|
- </fourBorderBg>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div
|
|
|
- v-show="monitorDataGroupFlag == 2"
|
|
|
- id="compressorCss3D1"
|
|
|
- class="threejs-Object-CSS compressorCss3D-box"
|
|
|
- style="width: 100%; height: 100%; position: absolute; pointer-events: none; overflow: hidden; z-index: 3; top: 0px; left: 0px"
|
|
|
- >
|
|
|
- <div v-for="(groupNum, index) in monitorDataGroupNum2" :key="index" class="modal-monitor">
|
|
|
- <fourBorderBg :class="`kyj${groupNum}`" :id="`nitrogenMonitor${groupNum}`">
|
|
|
- <div class="title">{{ groupNum }}号空压机 </div>
|
|
|
- <div class="monitor-item">
|
|
|
- <span class="monitor-title">机头温度:</span>
|
|
|
- <span class="monitor-val"
|
|
|
- ><span class="val">{{ monitorData[`PRE${groupNum}_CPR_HeadTemp`] ? formatNum(monitorData[`PRE${groupNum}_CPR_HeadTemp`]) : '-' }}</span
|
|
|
- ><span class="unit">℃</span></span
|
|
|
- >
|
|
|
- </div>
|
|
|
- <div class="monitor-item">
|
|
|
- <span class="monitor-title">冷却温度:</span>
|
|
|
- <span class="monitor-val"
|
|
|
- ><span class="val">{{
|
|
|
- monitorData[`PRE${groupNum}_CPR_CoolantTemp`] ? formatNum(monitorData[`PRE${groupNum}_CPR_CoolantTemp`]) : '-'
|
|
|
- }}</span
|
|
|
- ><span class="unit">℃</span></span
|
|
|
- >
|
|
|
- </div>
|
|
|
- <div class="monitor-item">
|
|
|
- <span class="monitor-title">排气温度:</span>
|
|
|
- <span class="monitor-val"
|
|
|
- ><span class="val">{{
|
|
|
- monitorData[`PRE${groupNum}_CPR_ExhaustTemp`] ? formatNum(monitorData[`PRE${groupNum}_CPR_ExhaustTemp`]) : '-'
|
|
|
- }}</span
|
|
|
- ><span class="unit">℃</span></span
|
|
|
- >
|
|
|
- </div>
|
|
|
- <div class="signal-item">
|
|
|
- <div class="signal"
|
|
|
- ><span class="monitor-title">运行信号</span
|
|
|
- ><span
|
|
|
- :class="{
|
|
|
- 'signal-round': true,
|
|
|
- 'signal-round-run': monitorData[`PRE${groupNum}_MOT_Running`] == '1',
|
|
|
- 'signal-round-gry': monitorData[`PRE${groupNum}_MOT_Running`] != '1',
|
|
|
- }"
|
|
|
- ></span>
|
|
|
- </div>
|
|
|
- <div class="signal"
|
|
|
- ><span class="monitor-title">故障信号</span
|
|
|
- ><span
|
|
|
- :class="{
|
|
|
- 'signal-round': true,
|
|
|
- 'signal-round-warning': monitorData[`PRE${groupNum}_MOT_Fault`] == '1',
|
|
|
- 'signal-round-gry': monitorData[`PRE${groupNum}_MOT_Fault`] != '1',
|
|
|
- }"
|
|
|
- ></span>
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ </template>
|
|
|
</fourBorderBg>
|
|
|
- <fourBorderBg :class="`cqg${groupNum}`" :id="`cqgMonitor${groupNum}`">
|
|
|
- <div class="title">{{ groupNum }}号储气罐 </div>
|
|
|
- <div class="monitor-item">
|
|
|
- <span class="monitor-title">气囊温度:</span>
|
|
|
- <span class="monitor-val"
|
|
|
- ><span class="val">{{ monitorData[`PRE${groupNum}_VLS_Temp`] ? formatNum(monitorData[`PRE${groupNum}_VLS_Temp`]) : '-' }}</span
|
|
|
- ><span class="unit">℃</span></span
|
|
|
- >
|
|
|
- </div>
|
|
|
- <!-- <div class="monitor-item">
|
|
|
- <span class="monitor-title">气囊压力<span class="unit"></span>:</span>
|
|
|
- <span class="monitor-val"><span class="val">{{ monitorData[groupNum - 1] && monitorData[groupNum - 1]['airReceiverPress'] ?
|
|
|
- monitorData[groupNum - 1]['airReceiverPress'] : '-' }}</span><span class="unit">Mpa</span></span>
|
|
|
- </div>
|
|
|
- <div class="monitor-item">
|
|
|
- <span class="monitor-title">气囊流量<span class="unit"></span>:</span>
|
|
|
- <span class="monitor-val"><span class="val">{{ monitorData[groupNum - 1] && monitorData[groupNum - 1]['airReceiverFlow'] ?
|
|
|
- monitorData[groupNum - 1]['airReceiverFlow'] : '-' }}</span><span class="unit">m³/k</span></span>
|
|
|
- </div> -->
|
|
|
+ <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>
|
|
|
</div>
|
|
|
<div class="nitrogen-home">
|
|
|
<div style="position: absolute; color: #fff; top: 30px; pointer-events: auto; display: flex">
|
|
|
- <span
|
|
|
+ <div
|
|
|
+ v-for="(sysItem, sysIndex) in monitorDataGroupArr"
|
|
|
+ :key="sysIndex"
|
|
|
class="tab-button-box"
|
|
|
- :class="{ 'tab-button-box-active': monitorDataGroupFlag == 1 }"
|
|
|
- @click="setMonitorGroupNum(monitorDataGroupNum1, 1)"
|
|
|
- >压风系统1</span
|
|
|
- >
|
|
|
- <span
|
|
|
- class="tab-button-box"
|
|
|
- :class="{ 'tab-button-box-active': monitorDataGroupFlag == 2 }"
|
|
|
- @click="setMonitorGroupNum(monitorDataGroupNum2, 2)"
|
|
|
- >压风系统2</span
|
|
|
+ :class="{ 'tab-button-box-active': monitorDataGroupFlag == sysIndex + 1 }"
|
|
|
+ @click="setMonitorGroupNum(monitorDataGroup1, sysIndex + 1)"
|
|
|
+ >{{ '压风系统' + (sysIndex + 1) }} (运行: <p style="padding: 0 5px"></p
|
|
|
+ ><span
|
|
|
+ :class="{
|
|
|
+ 'signal-round': true,
|
|
|
+ 'signal-round-run': sysStateList[sysIndex] && sysStateList[sysIndex].isRun,
|
|
|
+ 'signal-round-gry': sysStateList[sysIndex] && !sysStateList[sysIndex].isRun,
|
|
|
+ }"
|
|
|
+ ></span>
|
|
|
+ <p style="padding: 0 5px"></p>故障:<p style="padding: 0 5px"></p
|
|
|
+ ><span
|
|
|
+ :class="{
|
|
|
+ 'signal-round': true,
|
|
|
+ 'signal-round-warning': sysStateList[sysIndex] && sysStateList[sysIndex].fault,
|
|
|
+ 'signal-round-gry': sysStateList[sysIndex] && !sysStateList[sysIndex].fault,
|
|
|
+ }"
|
|
|
+ ></span
|
|
|
+ ><p style="padding: 0 5px"></p> )</div
|
|
|
>
|
|
|
</div>
|
|
|
<div class="total-data">
|
|
|
<div class="vent-flex-row">
|
|
|
<div class="item"
|
|
|
- >总流量(m³/min):<span class="val">{{
|
|
|
- monitorData[`PreSys_TotalOutPipeFlow${monitorDataGroupFlag}`]
|
|
|
- ? formatNum(monitorData[`PreSys_TotalOutPipeFlow${monitorDataGroupFlag}`])
|
|
|
- : '-'
|
|
|
- }}</span></div
|
|
|
- >
|
|
|
- <div class="item"
|
|
|
- >总压力(bar):<span class="val">{{
|
|
|
- monitorData[`PreSys_TotalOutPipePre${monitorDataGroupFlag}`]
|
|
|
- ? formatNum(monitorData[`PreSys_TotalOutPipePre${monitorDataGroupFlag}`])
|
|
|
- : '-'
|
|
|
- }}</span></div
|
|
|
+ >总管压力(bar):<span class="val">{{ monitorData[`MainPipePressure`] ? formatNum(monitorData[`MainPipePressure`]) : '-' }}</span></div
|
|
|
>
|
|
|
</div>
|
|
|
- <div class="" style="margin-left: 30px; margin-top: 10px">
|
|
|
- <div v-if="Number(monitorData[`PreSys_TotalOutPipeFlow${monitorDataGroupFlag}`]) < 0" style="color: red">总流量异常</div>
|
|
|
- <div v-if="Number(monitorData[`PreSys_TotalOutPipePre${monitorDataGroupFlag}`]) < 0" style="color: red">总压力异常</div>
|
|
|
- </div>
|
|
|
</div>
|
|
|
<div class="nitrogen-container">
|
|
|
<div v-if="monitorData['netStatus'] == 0" class="device-state">网络断开</div>
|
|
@@ -198,29 +93,29 @@
|
|
|
<!-- 左边监测数据 -->
|
|
|
<div class="lr-box left-box">
|
|
|
<div class="left-container">
|
|
|
- <div class="item item-l" v-for="(groupNum, index) in monitorDataGroupNum" :key="index">
|
|
|
+ <div class="item item-l" v-for="(groupNum, index) in monitorDataGroup" :key="index">
|
|
|
<div class="monitor-box">
|
|
|
<ventBox1>
|
|
|
<template #title>
|
|
|
- <div>{{ groupNum }}号空压机组</div>
|
|
|
+ <div>{{ groupNum }}号压风机</div>
|
|
|
</template>
|
|
|
<template #container>
|
|
|
- <div class="state-item" v-for="(data, index) in showMonitorData" :key="index">
|
|
|
- <div class="item-col">
|
|
|
- <span class="state-title">{{ Object.values(data)[0] }} :</span>
|
|
|
- <span class="state-val">{{
|
|
|
- monitorData[Object.keys(data)[0].replace('PRE', 'PRE' + groupNum)] >= 0
|
|
|
- ? formatNum(Number(monitorData[Object.keys(data)[0].replace('PRE', 'PRE' + groupNum)]))
|
|
|
- : '-'
|
|
|
- }}</span>
|
|
|
- </div>
|
|
|
- <div class="item-col">
|
|
|
- <span class="state-title">{{ Object.values(data)[1] }} :</span>
|
|
|
- <span class="state-val">{{
|
|
|
- monitorData[Object.keys(data)[0].replace('PRE', 'PRE' + groupNum)] >= 0
|
|
|
- ? formatNum(Number(monitorData[Object.keys(data)[0].replace('PRE', 'PRE' + groupNum)]))
|
|
|
+ <div class="state-item">
|
|
|
+ <div class="item-col" v-for="(preFan, preFanIndex) in preFanMonitorData" :key="preFanIndex">
|
|
|
+ <span class="state-title">{{ preFan.title + (preFan.unit !== 'signal' ? `(${preFan.unit})` : '') }}</span>
|
|
|
+ <span v-if="preFan.unit !== 'signal'" class="state-val">{{
|
|
|
+ monitorData[preFan.code.replace(prefix[2], prefix[2] + groupNum)] >= 0
|
|
|
+ ? formatNum(Number(monitorData[preFan.code.replace(prefix[2], prefix[2] + groupNum)]))
|
|
|
: '-'
|
|
|
}}</span>
|
|
|
+ <span
|
|
|
+ v-else
|
|
|
+ :class="{
|
|
|
+ 'signal-round': true,
|
|
|
+ 'signal-round-warning': monitorData[preFan.code.replace(prefix[2], `${prefix[2]}${groupNum}`)] == '1',
|
|
|
+ 'signal-round-gry': monitorData[preFan.code.replace(prefix[2], `${prefix[2]}${groupNum}`)] != '1',
|
|
|
+ }"
|
|
|
+ ></span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -229,83 +124,6 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <!-- 右边控制状态 -->
|
|
|
- <div class="lr-box right-box" style="display: none">
|
|
|
- <ventBox1>
|
|
|
- <template #title>
|
|
|
- <div>远程控制</div>
|
|
|
- </template>
|
|
|
- <template #container>
|
|
|
- <div class="control-group">
|
|
|
- <div class="control-item" v-for="groupNum in monitorDataGroupNum" :key="groupNum">
|
|
|
- <div class="control-item-title">{{ kyjs[groupNum - 1] }}</div>
|
|
|
- <div class="control-item-state">
|
|
|
- <a-switch
|
|
|
- v-model="airCompressorState[groupNum - 1][`compressRunSigF1`]"
|
|
|
- size="small"
|
|
|
- checked-children="开启"
|
|
|
- un-checked-children="关闭"
|
|
|
- :disabled="airCompressorState[groupNum - 1][`controlModel`]"
|
|
|
- @change="handlerDevice(airCompressorState[groupNum - 1])"
|
|
|
- />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="control-item" v-for="groupNum in monitorDataGroupNum" :key="groupNum">
|
|
|
- <div class="control-item-title">{{ cqgs[groupNum - 1] }}</div>
|
|
|
- <div class="control-item-state">
|
|
|
- <a-switch
|
|
|
- v-model="airCompressorState[groupNum - 1][`compressRunSigF1`]"
|
|
|
- size="small"
|
|
|
- checked-children="开启"
|
|
|
- un-checked-children="关闭"
|
|
|
- :disabled="airCompressorState[groupNum - 1][`controlModel`]"
|
|
|
- @change="handlerDevice(airCompressorState[groupNum - 1])"
|
|
|
- />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <a-divider style="height: 1px; background-color: #d7d7d755" />
|
|
|
- <div class="control-btn-group vent-margin-b-20">
|
|
|
- <div class="control-left-box">
|
|
|
- <div class="btn-box">
|
|
|
- <span @click="handlerDevice({ remote: true })">远程</span>
|
|
|
- <span @click="handlerDevice({ remote: false })">就地</span>
|
|
|
- </div>
|
|
|
- <div class="icon-box" :class="{ 'remote-icon-box': true }">
|
|
|
- <div class="icon"></div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="control-right-box">
|
|
|
- <div class="control-item-title">是否开启联动</div>
|
|
|
- <div class="item-data-box">
|
|
|
- <div
|
|
|
- :class="{
|
|
|
- 'state-icon': true,
|
|
|
- open: monitorData[0] && monitorData[0].linkState,
|
|
|
- close: monitorData[0] && !monitorData[0].linkState,
|
|
|
- }"
|
|
|
- >
|
|
|
- </div>
|
|
|
- <div>{{ monitorData[0] && !monitorData[0].linkState ? '不联动' : '联动' }}</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </ventBox1>
|
|
|
-
|
|
|
- <!-- <div class="control-item">
|
|
|
- <div class="control-item-l">
|
|
|
- <span class="round"></span>
|
|
|
- <span>控制模式</span>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <a-switch v-model="airCompressorState[0][`controlModel`]" checked-children="就地" un-checked-children="远程"
|
|
|
- @change="handlerControlModel(airCompressorState[0])">
|
|
|
- </a-switch>
|
|
|
- </div>
|
|
|
- </div> -->
|
|
|
- </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -313,17 +131,34 @@
|
|
|
<script lang="ts" setup name="nitrogenHome">
|
|
|
import { onMounted, onUnmounted, ref, watch } from 'vue';
|
|
|
import fourBorderBg from '../../../comment/components/fourBorderBg.vue';
|
|
|
- import { mountedThree, destroy, setModelType, clearCssText } from '../nitrogen.threejs';
|
|
|
+ import { mountedThree, destroy, setModelType } from '../nitrogen.threejs';
|
|
|
import { list } from '../nitrogen.api';
|
|
|
import ventBox1 from '/@/components/vent/ventBox1.vue';
|
|
|
- import { monitorDataGroupNum1, monitorDataGroupNum2, airCompressorState, showMonitorData, monitorData } from '../nitrogen.data';
|
|
|
+ // 锦界
|
|
|
+ // 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, 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 type { State } from '../nitrogen.dataDlt';
|
|
|
+ // 窑街三矿
|
|
|
+ // import { monitorDataGroupArr, preFanMonitorData, monitorData, preMonitorList, cqgMonitorList, prefix, getSysState } from '../nitrogen.dataYJ';
|
|
|
+ // import type { State } from '../nitrogen.dataYJ';
|
|
|
+
|
|
|
import { formatNum } from '/@/utils/ventutil';
|
|
|
|
|
|
const loading = ref(true);
|
|
|
- const monitorDataGroupNum = ref(monitorDataGroupNum1);
|
|
|
- const monitorDataGroupFlag = ref(1);
|
|
|
- const kyjs = ['1号空压机', '2号空压机', '3号空压机', '4号空压机'];
|
|
|
- const cqgs = ['1号储气罐', '2号储气罐', '3号储气罐', '4号储气罐'];
|
|
|
+ const monitorDataGroupFlag = ref(0);
|
|
|
+ const monitorDataGroup = ref([]);
|
|
|
+ const kyjs = ref([]);
|
|
|
+ const cqgs = ref([]);
|
|
|
+ const monitorData = ref([]);
|
|
|
+ const sysStateList = ref<State[]>([]);
|
|
|
|
|
|
// https获取监测数据
|
|
|
let timer: null | NodeJS.Timeout = null;
|
|
@@ -335,7 +170,7 @@
|
|
|
if (timer) {
|
|
|
timer = null;
|
|
|
}
|
|
|
- await getMonitor();
|
|
|
+ await getMonitor(false);
|
|
|
},
|
|
|
flag ? 0 : 1000
|
|
|
);
|
|
@@ -344,191 +179,44 @@
|
|
|
|
|
|
async function getDataSource() {
|
|
|
const res = await list({ devicetype: 'forcFan', pagetype: 'normal' });
|
|
|
- let dataSource = res.msgTxt[0].datalist[0];
|
|
|
- // dataSource =
|
|
|
- // {
|
|
|
- // "msgType": null,
|
|
|
- // "deviceID": "1705212847586627592",
|
|
|
- // "strname": "压风机系统",
|
|
|
- // "strinstallpos": "压风机系统",
|
|
|
- // "fsectarea": "null",
|
|
|
- // "stationname": "压风机系统分站",
|
|
|
- // "deviceType": "forcFan",
|
|
|
- // "typeName": null,
|
|
|
- // "netStatus": 1,
|
|
|
- // "warnFlag": 0,
|
|
|
- // "warnLevel": null,
|
|
|
- // "warnLevel_str": null,
|
|
|
- // "warnTime": null,
|
|
|
- // "readTime": "2023-10-24 08:47:27",
|
|
|
- // "warnDes": "",
|
|
|
- // "frontGateOpenCtrl": null,
|
|
|
- // "rearGateOpenCtrl": null,
|
|
|
- // "readData": {
|
|
|
- // "PRE1_MOT_PhaseATemp": "526",
|
|
|
- // "PRE3_CPR_CoolantTemp": "12",
|
|
|
- // "PRE4_CPR_HeadTemp": "13",
|
|
|
- // "PRE2_MOT_PhaseATempAlarm": "0",
|
|
|
- // "PRE5_MOT_Fault": "0",
|
|
|
- // "PRE4_MOT_PhaseATempStop": "0",
|
|
|
- // "PRE4_CPR_LoadPre": "65",
|
|
|
- // "PRE5_CPR_LoadPre": "62",
|
|
|
- // "PRE4_MOT_CtrlMode": "1",
|
|
|
- // "PRE2_CPR_LoadorUnload": "1",
|
|
|
- // "PRE3_MOT_PhaseBTemp": "133",
|
|
|
- // "PRE1_CPR_ExhaustPre": "66",
|
|
|
- // "PRE1_MOT_PhaseATempAlarm": "0",
|
|
|
- // "PRE5_CPR_UnLoadPre": "69",
|
|
|
- // "PRE4_MOT_PhaseATemp": "129",
|
|
|
- // "PRE5_MOT_PhaseCTemp": "685",
|
|
|
- // "PRE5_MOT_PhaseATemp": "681",
|
|
|
- // "PRE5_VLS_Temp": "590",
|
|
|
- // "PRE1_CPR_LoadTime": "8344",
|
|
|
- // "PRE2_CPR_LoadTime": "5553",
|
|
|
- // "PRE4_CPR_LoadorUnload": "0",
|
|
|
- // "PRE5_MOT_PhaseATempAlarm": "0",
|
|
|
- // "PRE3_CPR_LoadTime": "4511",
|
|
|
- // "PRE5_CPR_LoadTime": "6032",
|
|
|
- // "PRE1_MOT_PhaseATempStop": "0",
|
|
|
- // "PRE2_MOT_CompProtFault": "0",
|
|
|
- // "PRE5_MOT_PhaseATempStop": "0",
|
|
|
- // "PRE3_MOT_PhaseATempStop": "0",
|
|
|
- // "PRE1_VLS_Temp": "436",
|
|
|
- // "PRE2_CPR_ExhaustPre": "71",
|
|
|
- // "PRE5_MOT_CtrlMode": "1",
|
|
|
- // "PRE3_CPR_ExhaustTemp": "10",
|
|
|
- // "PRE3_MOT_TotalRunTime": "5342",
|
|
|
- // "P RE2_MOT_PhaseATemp": "541",
|
|
|
- // "PRE4_MOT_PhaseCTemp": "130",
|
|
|
- // "PRE4_MOT_PhaseATempAlarm": "0",
|
|
|
- // "timestamp": "1698108447720",
|
|
|
- // "PRE3_VLS_Temp": "219",
|
|
|
- // "PRE1_HostorLoc": "0",
|
|
|
- // "PRE2_MOT_Running": "1",
|
|
|
- // "PRE1_CPR_LoadPre": "65",
|
|
|
- // "PRE1_MOT_Running": "1",
|
|
|
- // "PRE4_MOT_Fault": "0",
|
|
|
- // "PRE2_CPR_LoadPre": "65",
|
|
|
- // "PRE3_MOT_Running": "0",
|
|
|
- // "PRE4_MOT_Running": "0",
|
|
|
- // "PRE3_CPR_LoadPre": "65",
|
|
|
- // "PRE1_MOT_CtrlMode": "1",
|
|
|
- // "PRE3_MOT_CtrlMode": "1",
|
|
|
- // "PRE3_CPR_LoadorUnload": "0",
|
|
|
- // "PRE2_MOT_PhaseCTemp": "550",
|
|
|
- // "PRE1_CPR_CoolantTemp": "71",
|
|
|
- // "PRE1_MOT_PhaseBTemp": "539",
|
|
|
- // "PRE3_MOT_PhaseATempAlarm": "0",
|
|
|
- // "PRE5_MOT_Running": "1",
|
|
|
- // "PRE1_MOT_Fault": "0",
|
|
|
- // "PRE4_CPR_ExhaustPre": "66",
|
|
|
- // "PRE4_CPR_CoolantTemp": "12",
|
|
|
- // "PRE5_CPR_ExhaustTemp": "76",
|
|
|
- // "PRE2_CPR_HeadTemp": "89",
|
|
|
- // "PRE3_MOT_PhaseCTemp": "135",
|
|
|
- // "PRE4_CPR_LoadTime": "5084",
|
|
|
- // "sign": "0",
|
|
|
- // "PRE1_CPR_UnLoadPre": "72",
|
|
|
- // "PRE4_HostorLoc": "0",
|
|
|
- // "PRE4_MOT_CompProtFault": "0",
|
|
|
- // "PRE1_CPR_LoadorUnload": "1",
|
|
|
- // "PRE3_CPR_ExhaustPre": "68",
|
|
|
- // "PRE2_CPR_ExhaustTemp": "77",
|
|
|
- // "PRE2_MOT_PhaseATempStop": "0",
|
|
|
- // "PRE5_MOT_CompProtFault": "0",
|
|
|
- // "PRE2_MOT_Fault": "0",
|
|
|
- // "PRE5_MOT_PhaseBTemp": "676",
|
|
|
- // "PRE3_MOT_PhaseATemp": "134",
|
|
|
- // "PRE4_MOT_PhaseBTemp": "130",
|
|
|
- // "PRE2_CPR_CoolantTemp": "66",
|
|
|
- // "PRE3_HostorLoc": "0",
|
|
|
- // "PRE4_MOT_TotalRunTime": "5104",
|
|
|
- // "PRE1_MOT_TotalRunTime": "8416",
|
|
|
- // "PRE3_MOT_CompProtFault": "0",
|
|
|
- // "PRE3_MOT_Fault": "0",
|
|
|
- // "PRE4_CPR_UnLoadPre": "72",
|
|
|
- // "PRE1_CPR_HeadTemp": "97",
|
|
|
- // "PRE2_HostorLoc": "0",
|
|
|
- // "PRE2_MOT_PhaseBTemp": "562",
|
|
|
- // "PRE3_CPR_HeadTemp": "13",
|
|
|
- // "PRE2_MOT_TotalRunTime": "5586",
|
|
|
- // "PRE5_CPR_HeadTemp": "95",
|
|
|
- // "PRE3_CPR_UnLoadPre": "72",
|
|
|
- // "PRE4_VLS_Temp": "166",
|
|
|
- // "PRE5_CPR_CoolantTemp": "70",
|
|
|
- // "PRE1_MOT_CompProtFault": "0",
|
|
|
- // "PRE5_MOT_TotalRunTime": "7825",
|
|
|
- // "PRE2_MOT_CtrlMode": "1",
|
|
|
- // "PRE5_CPR_ExhaustPre": "68",
|
|
|
- // "PRE1_MOT_PhaseCTemp": "544",
|
|
|
- // "PRE5_CPR_LoadorUnload": "1",
|
|
|
- // "PRE2_CPR_UnLoadPre": "72",
|
|
|
- // "PRE4_CPR_ExhaustTemp": "11",
|
|
|
- // "PRE2_VLS_Temp": "445",
|
|
|
- // "isRun": "-2",
|
|
|
- // "PRE5_HostorLoc": "0",
|
|
|
- // "PRE1_CPR_ExhaustTemp": "68"
|
|
|
- // },
|
|
|
- // "readDataDes": null,
|
|
|
- // "summaryHour": [],
|
|
|
- // "summaryDay": [],
|
|
|
- // "history": [],
|
|
|
- // "totalInfo": null,
|
|
|
- // "sign": null,
|
|
|
- // "cameras": [],
|
|
|
- // "links": [],
|
|
|
- // "other1": null,
|
|
|
- // "other2": null,
|
|
|
- // "other3": null
|
|
|
- // }
|
|
|
+ let dataSource = res.msgTxt[0] && res.msgTxt[0].datalist ? res.msgTxt[0].datalist[0] : [];
|
|
|
if (dataSource) {
|
|
|
monitorData.value = Object.assign(dataSource, dataSource.readData);
|
|
|
}
|
|
|
- // dataSource.forEach((data, index) => {
|
|
|
- // const item = data.readData;
|
|
|
- // Object.assign(item, data);
|
|
|
- // item.compressRunSigF1 = item.compressRunSigF1 ? true : false
|
|
|
- // airCompressorState.value[index].id = item.id
|
|
|
- // airCompressorState.value[index].compressRunSigF1 = item.compressRunSigF1
|
|
|
- // airCompressorState.value[index].controlModel = item.controlModel === 'LOC' ? true : false
|
|
|
- // monitorData.value[index] = item
|
|
|
- // });
|
|
|
- // monitorDataGroupNum.value = monitorData.value.length
|
|
|
loading.value = false;
|
|
|
+ sysStateList.value = getSysState(monitorData.value);
|
|
|
}
|
|
|
|
|
|
function setMonitorGroupNum(num, flag) {
|
|
|
- monitorDataGroupNum.value = num;
|
|
|
monitorDataGroupFlag.value = flag;
|
|
|
}
|
|
|
|
|
|
- function handlerDevice(data) {
|
|
|
- // if (data.length < 1) return
|
|
|
- // handleAirCompressor({ id: data.id, compressRunF1: data.compressRunSigF1 }).then(res => {
|
|
|
- // if (res.success) {
|
|
|
- // message.success('操作成功')
|
|
|
- // } else {
|
|
|
- // message.warning(data.msg)
|
|
|
- // }
|
|
|
- // })
|
|
|
+ function changeGroup(val) {
|
|
|
+ kyjs.value = val.map((item) => `${item}号空压机`);
|
|
|
+ cqgs.value = val.map((item) => `${item}号储气罐`);
|
|
|
+ monitorData.value = new Array(val.length).fill({
|
|
|
+ strName: '空压机',
|
|
|
+ compressGroupName: '',
|
|
|
+ compressExhaustPressF1: '-',
|
|
|
+ compressSeparatePressF1: '-',
|
|
|
+ compressHostTempF1: '-',
|
|
|
+ compressCrewTempF1: '-',
|
|
|
+ compressRunTimeF1: '-',
|
|
|
+ controlModel: 'LOC',
|
|
|
+ });
|
|
|
}
|
|
|
- function resetDevice(data) {}
|
|
|
-
|
|
|
- function handlerControlModel(data) {}
|
|
|
|
|
|
watch(monitorDataGroupFlag, (newVal) => {
|
|
|
- if (newVal == 1) {
|
|
|
- setModelType('compressor1');
|
|
|
- }
|
|
|
- if (newVal == 2) {
|
|
|
- setModelType('compressor2');
|
|
|
- }
|
|
|
+ const monitorGroup = monitorDataGroupArr[newVal - 1];
|
|
|
+ changeGroup(monitorGroup);
|
|
|
+ monitorDataGroup.value = monitorGroup;
|
|
|
+ setModelType(monitorGroup);
|
|
|
});
|
|
|
|
|
|
onMounted(async () => {
|
|
|
- mountedThree(monitorDataGroupNum1, monitorDataGroupNum2).then(async () => {
|
|
|
+ mountedThree().then(async () => {
|
|
|
await getMonitor(true);
|
|
|
- setModelType('compressor1');
|
|
|
+ monitorDataGroupFlag.value = 1;
|
|
|
});
|
|
|
});
|
|
|
|
|
@@ -556,7 +244,7 @@
|
|
|
z-index: 9;
|
|
|
top: 50px;
|
|
|
right: 30px;
|
|
|
- //display: flex;
|
|
|
+ // display: flex;
|
|
|
font-size: 18px;
|
|
|
.item {
|
|
|
width: 200px;
|
|
@@ -699,7 +387,7 @@
|
|
|
.device-state {
|
|
|
width: 100%;
|
|
|
position: absolute;
|
|
|
- top: 70px;
|
|
|
+ top: 20px;
|
|
|
color: #e90000;
|
|
|
display: flex;
|
|
|
justify-content: center;
|
|
@@ -804,17 +492,17 @@
|
|
|
}
|
|
|
|
|
|
.state-item {
|
|
|
+ width: 100%;
|
|
|
display: flex;
|
|
|
flex-direction: row;
|
|
|
- padding: 5px;
|
|
|
|
|
|
+ flex-wrap: wrap;
|
|
|
.item-col {
|
|
|
width: 50%;
|
|
|
display: flex;
|
|
|
justify-content: center;
|
|
|
align-items: center;
|
|
|
- padding-right: 4px;
|
|
|
-
|
|
|
+ padding: 5px;
|
|
|
.state-title {
|
|
|
color: #ffffffcc;
|
|
|
flex: 9;
|