|
@@ -11,18 +11,18 @@
|
|
<div class="elementTag" id="inputBox">
|
|
<div class="elementTag" id="inputBox">
|
|
<div class="elementContent elementContent-r" v-if="selectData.DataPa && backMonitorIsShow">
|
|
<div class="elementContent elementContent-r" v-if="selectData.DataPa && backMonitorIsShow">
|
|
<div class="element-item"><span class="data-title">风机气压(Pa):</span><span>{{ selectData.DataPa ? selectData.DataPa : '-' }}</span></div>
|
|
<div class="element-item"><span class="data-title">风机气压(Pa):</span><span>{{ selectData.DataPa ? selectData.DataPa : '-' }}</span></div>
|
|
- <div class="element-item"><span class="data-title">风机静压(Pa):</span><span>{{ selectData.Fan2Negative ? selectData.Fan2Negative : '-' }}</span></div>
|
|
|
|
|
|
+ <div class="element-item"><span class="data-title">风机负压(Pa):</span><span>{{ selectData.Fan2Negative ? selectData.Fan2Negative : '-' }}</span></div>
|
|
<div class="element-item"><span class="data-title">风机风量(m³/s):</span><span>{{ selectData.Fan2m3 ? selectData.Fan2m3 : '-' }}</span></div>
|
|
<div class="element-item"><span class="data-title">风机风量(m³/s):</span><span>{{ selectData.Fan2m3 ? selectData.Fan2m3 : '-' }}</span></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="elementTag" id="inputBox1">
|
|
<div class="elementTag" id="inputBox1">
|
|
<div class="elementContent elementContent-r" v-if="selectData.DataPa && frontMonitorIsShow">
|
|
<div class="elementContent elementContent-r" v-if="selectData.DataPa && frontMonitorIsShow">
|
|
<div class="element-item"><span class="data-title">风机全压(Pa):</span><span>{{ selectData.DataPa ? selectData.DataPa : '-' }}</span></div>
|
|
<div class="element-item"><span class="data-title">风机全压(Pa):</span><span>{{ selectData.DataPa ? selectData.DataPa : '-' }}</span></div>
|
|
- <div class="element-item"><span class="data-title">风机静压(Pa):</span><span>{{ selectData.Fan1Negative ? selectData.Fan1Negative : '-' }}</span></div>
|
|
|
|
|
|
+ <div class="element-item"><span class="data-title">风机负压(Pa):</span><span>{{ selectData.Fan1Negative ? selectData.Fan1Negative : '-' }}</span></div>
|
|
<div class="element-item"><span class="data-title">风机风量(m³/s):</span><span>{{ selectData.Fan1m3 ? selectData.Fan1m3 : '-' }}</span></div>
|
|
<div class="element-item"><span class="data-title">风机风量(m³/s):</span><span>{{ selectData.Fan1m3 ? selectData.Fan1m3 : '-' }}</span></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="elementTag" id="fbm">
|
|
|
|
|
|
+ <!-- <div class="elementTag" id="fbm">
|
|
<div class="elementContent elementContent-r fbm-box">
|
|
<div class="elementContent elementContent-r fbm-box">
|
|
<div class="fbm-video">
|
|
<div class="fbm-video">
|
|
<LivePlayer id="main-player2" ref="player2" :videoUrl="flvURL2()" muted live/>
|
|
<LivePlayer id="main-player2" ref="player2" :videoUrl="flvURL2()" muted live/>
|
|
@@ -66,7 +66,7 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- </div>
|
|
|
|
|
|
+ </div> -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="main3D" style="width: 100%; height: 100%; position: absolute; overflow: hidden"> </div>
|
|
<div id="main3D" style="width: 100%; height: 100%; position: absolute; overflow: hidden"> </div>
|
|
@@ -75,8 +75,9 @@
|
|
|
|
|
|
<div class="scene-box" style="z-index: 999">
|
|
<div class="scene-box" style="z-index: 999">
|
|
<div class="title-text" style="position: absolute; z-index: 9999; width: 100%; text-align: center">{{ selectData.strname }}</div>
|
|
<div class="title-text" style="position: absolute; z-index: 9999; width: 100%; text-align: center">{{ selectData.strname }}</div>
|
|
- <div class="top-box control-group">
|
|
|
|
- <div class="button-box" v-for="(item, index) in modalTypeArr.centerBtnArr" :key="index" @click="showModal(item)">{{ item.value }}</div>
|
|
|
|
|
|
+ <div class="top-box control-group" v-if="globalConfig?.simulatedPassword">
|
|
|
|
+ <div class="button-box" v-for="(item, index) in modalTypeArr.centerBtnArr" :key="index">{{ item.value }}</div>
|
|
|
|
+ <!-- <div class="button-box" v-for="(item, index) in modalTypeArr.centerBtnArr" :key="index" @click="showModal(item)">{{ item.value }}</div> -->
|
|
</div>
|
|
</div>
|
|
<div class="data-show-box">
|
|
<div class="data-show-box">
|
|
<div class="data-item">
|
|
<div class="data-item">
|
|
@@ -92,7 +93,7 @@
|
|
</div>
|
|
</div>
|
|
<div class="container-group container-group-l">
|
|
<div class="container-group container-group-l">
|
|
<template v-if="deviceType">
|
|
<template v-if="deviceType">
|
|
- <div class="container-item" v-for="(data, index) in getTableHeaderColumns(deviceType + '_monitor_left')" :key="index">
|
|
|
|
|
|
+ <div class="container-item" v-for="(data, index) in leftColumns" :key="index">
|
|
<div class="item-icon">
|
|
<div class="item-icon">
|
|
<SvgIcon class="icon-style" size="18" name="temperature" />
|
|
<SvgIcon class="icon-style" size="18" name="temperature" />
|
|
</div>
|
|
</div>
|
|
@@ -137,7 +138,7 @@
|
|
</div>
|
|
</div>
|
|
<div class="warning-group">
|
|
<div class="warning-group">
|
|
<template v-if="deviceType">
|
|
<template v-if="deviceType">
|
|
- <div class="warning-item" v-for="(state, index) in getTableHeaderColumns(deviceType + '_monitor_right')" :key="index">
|
|
|
|
|
|
+ <div class="warning-item" v-for="(state, index) in rightColumns" :key="index">
|
|
<div class="item-name"><div class="icon"></div> {{ state.title }}</div>
|
|
<div class="item-name"><div class="icon"></div> {{ state.title }}</div>
|
|
<div v-if="state.dataIndex.startsWith('Fan')">
|
|
<div v-if="state.dataIndex.startsWith('Fan')">
|
|
<div class="signal-item" v-if="warningMonitorRowIndex == 0">
|
|
<div class="signal-item" v-if="warningMonitorRowIndex == 0">
|
|
@@ -210,7 +211,7 @@
|
|
</a-tab-pane> -->
|
|
</a-tab-pane> -->
|
|
<a-tab-pane key="3" tab="历史数据">
|
|
<a-tab-pane key="3" tab="历史数据">
|
|
<div class="tab-item" v-if="activeKey === '3'">
|
|
<div class="tab-item" v-if="activeKey === '3'">
|
|
- <HistoryTable columns-type="fanmain" device-type="fanmain" :device-list-api="baseList" designScope="fanmain-history" :scroll="scroll"/>
|
|
|
|
|
|
+ <HistoryTable device-type="fanmain" :device-list-api="baseList" designScope="fanmain-history" :scroll="scroll"/>
|
|
</div>
|
|
</div>
|
|
</a-tab-pane>
|
|
</a-tab-pane>
|
|
<a-tab-pane key="4" tab="报警历史">
|
|
<a-tab-pane key="4" tab="报警历史">
|
|
@@ -311,7 +312,7 @@
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
import { ExclamationCircleFilled } from '@ant-design/icons-vue';
|
|
import { ExclamationCircleFilled } from '@ant-design/icons-vue';
|
|
import FanEchrats from '/@/views/vent/monitorManager/mainFanMonitor/fanEchrats.vue';
|
|
import FanEchrats from '/@/views/vent/monitorManager/mainFanMonitor/fanEchrats.vue';
|
|
- import { onBeforeMount, computed, ref, onMounted, nextTick, onUnmounted, reactive, toRaw, watch } from 'vue';
|
|
|
|
|
|
+ import { onBeforeMount, computed, ref, onMounted, inject, onUnmounted, reactive, toRaw, watch } from 'vue';
|
|
import GroupMonitorTable from '../comment/GroupMonitorTable.vue';
|
|
import GroupMonitorTable from '../comment/GroupMonitorTable.vue';
|
|
import HistoryTable from '../comment/HistoryTable.vue';
|
|
import HistoryTable from '../comment/HistoryTable.vue';
|
|
import AlarmHistoryTable from '../comment/AlarmHistoryTable.vue';
|
|
import AlarmHistoryTable from '../comment/AlarmHistoryTable.vue';
|
|
@@ -331,6 +332,9 @@
|
|
import { useRouter } from 'vue-router';
|
|
import { useRouter } from 'vue-router';
|
|
import ConditionAssistance from './components/conditionAssistance.vue'
|
|
import ConditionAssistance from './components/conditionAssistance.vue'
|
|
import { useModal } from '/@/components/Modal';
|
|
import { useModal } from '/@/components/Modal';
|
|
|
|
+ import type { BasicColumn } from '/@/components/Table/src/types/table';
|
|
|
|
+ import lodash from 'lodash';
|
|
|
|
+ const globalConfig = inject('globalConfig');
|
|
|
|
|
|
const [registerModal, { openModal, closeModal }] = useModal();
|
|
const [registerModal, { openModal, closeModal }] = useModal();
|
|
const { currentRoute } = useRouter();
|
|
const { currentRoute } = useRouter();
|
|
@@ -372,7 +376,19 @@
|
|
deviceType: '',
|
|
deviceType: '',
|
|
});
|
|
});
|
|
|
|
|
|
- const deviceType = computed(() => selectData.deviceType);
|
|
|
|
|
|
+ const deviceType = ref(selectData.deviceType)
|
|
|
|
+ const rightColumns = ref<BasicColumn[]>([])
|
|
|
|
+ const leftColumns = ref<BasicColumn[]>([])
|
|
|
|
+ watch(deviceType, (type) => {
|
|
|
|
+ rightColumns.value = getTableHeaderColumns(type + '_monitor_right') as []
|
|
|
|
+ if (rightColumns.value && rightColumns.value.length < 1) {
|
|
|
|
+ rightColumns.value = getTableHeaderColumns(type.split('_')[0] + '_monitor_right') as []
|
|
|
|
+ }
|
|
|
|
+ leftColumns.value = getTableHeaderColumns(type + '_monitor_left') as []
|
|
|
|
+ if (leftColumns.value && leftColumns.value.length < 1) {
|
|
|
|
+ leftColumns.value = getTableHeaderColumns(type.split('_')[0] + '_monitor_left') as []
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
|
|
const flvURL1 = () => {
|
|
const flvURL1 = () => {
|
|
// return `https://muiplayer.js.org/media/media.m3u8`;
|
|
// return `https://muiplayer.js.org/media/media.m3u8`;
|
|
@@ -432,6 +448,7 @@
|
|
MonitorDataTable.value.setSelectedRowKeys(dataSource.value[0]['deviceID'])
|
|
MonitorDataTable.value.setSelectedRowKeys(dataSource.value[0]['deviceID'])
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ lodash.omit(selectData, lodash.keys(selectData))
|
|
Object.assign(selectData, deviceBaseList.value, dataSource.value[selectRowIndex.value]);
|
|
Object.assign(selectData, deviceBaseList.value, dataSource.value[selectRowIndex.value]);
|
|
if (selectData['Fan1StartStatus'] == 1 && selectData['Fan2StartStatus'] == 0) {
|
|
if (selectData['Fan1StartStatus'] == 1 && selectData['Fan2StartStatus'] == 0) {
|
|
frontMonitorIsShow.value = true
|
|
frontMonitorIsShow.value = true
|
|
@@ -442,7 +459,8 @@
|
|
} else {
|
|
} else {
|
|
// 正在运行
|
|
// 正在运行
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
|
|
+ deviceType.value = selectData.deviceType
|
|
addText();
|
|
addText();
|
|
playAnimate(selectData);
|
|
playAnimate(selectData);
|
|
if (timer) {
|
|
if (timer) {
|
|
@@ -638,6 +656,8 @@
|
|
})
|
|
})
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ } else if(selectData['Fan2StartStatus'] == 0 && selectData['Fan1StartStatus'] == 0){
|
|
|
|
+
|
|
} else if (modalType.value == 'changeSmoke') {
|
|
} else if (modalType.value == 'changeSmoke') {
|
|
// 不听风倒机
|
|
// 不听风倒机
|
|
if ((selectData['Fan1StartStatus'] == 1 && selectData['Fan2StartStatus'] == 0)) {
|
|
if ((selectData['Fan1StartStatus'] == 1 && selectData['Fan2StartStatus'] == 0)) {
|
|
@@ -848,6 +868,15 @@
|
|
top: 35px !important;
|
|
top: 35px !important;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ .button-box-disable{
|
|
|
|
+ border: 1px solid #65dbea !important;
|
|
|
|
+ &:hover {
|
|
|
|
+ background: none !important;
|
|
|
|
+ }
|
|
|
|
+ &:before {
|
|
|
|
+ background: linear-gradient(#5897c299, #4a92a899) !important;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
.data-show-box {
|
|
.data-show-box {
|
|
position: relative;
|
|
position: relative;
|