|
@@ -32,9 +32,7 @@
|
|
|
<MonitorTable ref="monitorTable" :columnsType="`${deviceType}_monitor`"
|
|
|
:dataSource="dataSource" design-scope="device_monitor" :isShowPagination="false"
|
|
|
:isShowActionColumn="isHaveAction.includes(deviceType.split('_')[0]) ? false : true"
|
|
|
- :is-show-select="false" title="设备监测"
|
|
|
- :form-config="deviceType == 'safetymonitor' && sysOrgCode != 'zjtzqctmk' ? formConfig : undefined"
|
|
|
- :scroll="{ y: 650 }">
|
|
|
+ :is-show-select="false" title="设备监测" :form-config="undefined" :scroll="{ y: 650 }">
|
|
|
<template #filterCell="{ column, record }">
|
|
|
<template v-if="deviceType.startsWith('gate')">
|
|
|
<template
|
|
@@ -117,92 +115,81 @@
|
|
|
</template>
|
|
|
</a-tab-pane>
|
|
|
<a-tab-pane key="2" tab="瓦斯抽放">
|
|
|
- <template>
|
|
|
- <template>
|
|
|
- <MonitorTable ref="monitorTable" :columnsType="`${deviceType}_monitor`"
|
|
|
- :dataSource="dataSource" design-scope="device_monitor" :isShowPagination="false"
|
|
|
- :isShowActionColumn="isHaveAction.includes(deviceType.split('_')[0]) ? false : true"
|
|
|
- :is-show-select="false" title="设备监测" :form-config="undefined" :scroll="{ y: 360 }">
|
|
|
- <template #filterCell="{ column, record }">
|
|
|
- <template v-if="deviceType.startsWith('gate')">
|
|
|
- <template
|
|
|
- v-if="record.frontGateOpenCtrl == 1 || record.frontGateOpenCtrl === true">
|
|
|
- <a-tag
|
|
|
- v-if="column.dataIndex === 'frontGateOpen' && record.frontGateOpen == 0 && record.frontGateClose == 0"
|
|
|
- color="red">正在打开</a-tag>
|
|
|
- <a-tag v-else-if="column.dataIndex === 'frontGateOpen'"
|
|
|
- color="processing">打开</a-tag>
|
|
|
- </template>
|
|
|
- <template
|
|
|
- v-else-if="record.frontGateOpenCtrl == 0 || record.frontGateOpenCtrl === false">
|
|
|
- <a-tag
|
|
|
- v-if="column.dataIndex === 'frontGateOpen' && record.frontGateOpen == 0 && record.frontGateClose == 0"
|
|
|
- color="red">正在关闭</a-tag>
|
|
|
- <a-tag
|
|
|
- v-else-if="column.dataIndex === 'frontGateOpen' && record.frontGateOpen == 0 && record.frontGateClose == 1"
|
|
|
- color="default">关闭</a-tag>
|
|
|
- <a-tag
|
|
|
- v-else-if="column.dataIndex === 'frontGateOpen' && record.frontGateOpen == 1 && record.frontGateClose == 0"
|
|
|
- color="default">打开</a-tag>
|
|
|
- </template>
|
|
|
- <template
|
|
|
- v-if="record.rearGateOpenCtrl == 1 || record.rearGateOpenCtrl === true">
|
|
|
- <a-tag
|
|
|
- v-if="column.dataIndex === 'rearGateOpen' && record.rearGateOpen == 0 && record.rearGateClose == 0"
|
|
|
- color="red">正在打开</a-tag>
|
|
|
- <a-tag v-else-if="column.dataIndex === 'rearGateOpen'"
|
|
|
- color="processing">打开</a-tag>
|
|
|
- </template>
|
|
|
- <template
|
|
|
- v-else-if="record.rearGateOpenCtrl == 0 || record.rearGateOpenCtrl === false">
|
|
|
- <a-tag
|
|
|
- v-if="column.dataIndex === 'rearGateOpen' && record.rearGateOpen == 0 && record.rearGateClose == 0"
|
|
|
- color="red">正在关闭</a-tag>
|
|
|
- <a-tag
|
|
|
- v-else-if="column.dataIndex === 'rearGateOpen' && record.rearGateOpen == 0 && record.rearGateClose == 1"
|
|
|
- color="default">关闭</a-tag>
|
|
|
- <a-tag
|
|
|
- v-else-if="column.dataIndex === 'rearGateOpen' && record.rearGateOpen == 1 && record.rearGateClose == 0"
|
|
|
- color="default">打开</a-tag>
|
|
|
- </template>
|
|
|
- </template>
|
|
|
- <template v-if="deviceType.startsWith('windrect')">
|
|
|
- <a-tag v-if="column.dataIndex === 'sign'"
|
|
|
- :color="record.sign == '0' ? '#95CF65' : record.sign == 1 ? '#4590EA' : '#9876AA'">
|
|
|
- {{ record.sign == '0' ? '高位' : record.sign == 1 ? '中位' : '低位' }}</a-tag>
|
|
|
- <template
|
|
|
- v-if="record && column && column.dataIndex === 'isRun' && record.isRun">
|
|
|
- <a-tag v-if="record.isRun == -2 || record.isRun == -1"
|
|
|
- :color="record.isRun == -2 ? '#95CF65' : '#ED5700'">{{
|
|
|
- record.isRun == -2 ? '空闲' : '等待'
|
|
|
- }}</a-tag>
|
|
|
- <a-tag v-else-if="record.isRun == 100" color="#4693FF">完成</a-tag>
|
|
|
- <Progress v-else :percent="Number(record.isRun)" size="small"
|
|
|
- status="active" />
|
|
|
- </template>
|
|
|
- </template>
|
|
|
- <template v-if="deviceType.startsWith('safetymonitor')">
|
|
|
- <div v-if="!record.devicename && column.dataIndex === 'devicename'">-</div>
|
|
|
- <div v-if="!record.V && column.dataIndex === 'V'">-</div>
|
|
|
- <div v-if="!record.PointUnit && column.dataIndex === 'PointUnit'">-</div>
|
|
|
- <div v-if="!record.highRange && column.dataIndex === 'highRange'">-</div>
|
|
|
- <div v-if="!record.lowRange && column.dataIndex === 'lowRange'">-</div>
|
|
|
- <div v-if="!record.dataTypeName && column.dataIndex === 'dataTypeName'">-</div>
|
|
|
- </template>
|
|
|
- <a-tag v-if="column.dataIndex === 'warnFlag'"
|
|
|
- :color="record.warnFlag == '0' ? 'green' : record.warnFlag == 1 ? '#FF5812' : 'gray'">
|
|
|
- {{ record.warnFlag == '0' ? '正常' : record.warnFlag == 1 ? '报警' : record.warnFlag
|
|
|
- == 2 ? '断开' : '未监测'
|
|
|
- }}</a-tag>
|
|
|
- <a-tag v-if="column.dataIndex === 'netStatus'"
|
|
|
- :color="record.netStatus == '0' ? '#f00' : 'green'">{{
|
|
|
- record.netStatus == '0' ? '断开' : '连接'
|
|
|
+ <MonitorTable ref="monitorTable" :columnsType="`${deviceType1}_monitor`" :dataSource="dataSource"
|
|
|
+ design-scope="device_monitor" :isShowPagination="false"
|
|
|
+ :isShowActionColumn="isHaveAction.includes(deviceType1.split('_')[0]) ? false : true"
|
|
|
+ :is-show-select="false" title="设备监测" :form-config="undefined" :scroll="{ y: 360 }">
|
|
|
+ <template #filterCell="{ column, record }">
|
|
|
+ <template v-if="deviceType1.startsWith('gate')">
|
|
|
+ <template v-if="record.frontGateOpenCtrl == 1 || record.frontGateOpenCtrl === true">
|
|
|
+ <a-tag
|
|
|
+ v-if="column.dataIndex === 'frontGateOpen' && record.frontGateOpen == 0 && record.frontGateClose == 0"
|
|
|
+ color="red">正在打开</a-tag>
|
|
|
+ <a-tag v-else-if="column.dataIndex === 'frontGateOpen'"
|
|
|
+ color="processing">打开</a-tag>
|
|
|
+ </template>
|
|
|
+ <template
|
|
|
+ v-else-if="record.frontGateOpenCtrl == 0 || record.frontGateOpenCtrl === false">
|
|
|
+ <a-tag
|
|
|
+ v-if="column.dataIndex === 'frontGateOpen' && record.frontGateOpen == 0 && record.frontGateClose == 0"
|
|
|
+ color="red">正在关闭</a-tag>
|
|
|
+ <a-tag
|
|
|
+ v-else-if="column.dataIndex === 'frontGateOpen' && record.frontGateOpen == 0 && record.frontGateClose == 1"
|
|
|
+ color="default">关闭</a-tag>
|
|
|
+ <a-tag
|
|
|
+ v-else-if="column.dataIndex === 'frontGateOpen' && record.frontGateOpen == 1 && record.frontGateClose == 0"
|
|
|
+ color="default">打开</a-tag>
|
|
|
+ </template>
|
|
|
+ <template v-if="record.rearGateOpenCtrl == 1 || record.rearGateOpenCtrl === true">
|
|
|
+ <a-tag
|
|
|
+ v-if="column.dataIndex === 'rearGateOpen' && record.rearGateOpen == 0 && record.rearGateClose == 0"
|
|
|
+ color="red">正在打开</a-tag>
|
|
|
+ <a-tag v-else-if="column.dataIndex === 'rearGateOpen'" color="processing">打开</a-tag>
|
|
|
+ </template>
|
|
|
+ <template v-else-if="record.rearGateOpenCtrl == 0 || record.rearGateOpenCtrl === false">
|
|
|
+ <a-tag
|
|
|
+ v-if="column.dataIndex === 'rearGateOpen' && record.rearGateOpen == 0 && record.rearGateClose == 0"
|
|
|
+ color="red">正在关闭</a-tag>
|
|
|
+ <a-tag
|
|
|
+ v-else-if="column.dataIndex === 'rearGateOpen' && record.rearGateOpen == 0 && record.rearGateClose == 1"
|
|
|
+ color="default">关闭</a-tag>
|
|
|
+ <a-tag
|
|
|
+ v-else-if="column.dataIndex === 'rearGateOpen' && record.rearGateOpen == 1 && record.rearGateClose == 0"
|
|
|
+ color="default">打开</a-tag>
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
+ <template v-if="deviceType1.startsWith('windrect')">
|
|
|
+ <a-tag v-if="column.dataIndex === 'sign'"
|
|
|
+ :color="record.sign == '0' ? '#95CF65' : record.sign == 1 ? '#4590EA' : '#9876AA'">
|
|
|
+ {{ record.sign == '0' ? '高位' : record.sign == 1 ? '中位' : '低位' }}</a-tag>
|
|
|
+ <template v-if="record && column && column.dataIndex === 'isRun' && record.isRun">
|
|
|
+ <a-tag v-if="record.isRun == -2 || record.isRun == -1"
|
|
|
+ :color="record.isRun == -2 ? '#95CF65' : '#ED5700'">{{
|
|
|
+ record.isRun == -2 ? '空闲' : '等待'
|
|
|
}}</a-tag>
|
|
|
+ <a-tag v-else-if="record.isRun == 100" color="#4693FF">完成</a-tag>
|
|
|
+ <Progress v-else :percent="Number(record.isRun)" size="small" status="active" />
|
|
|
</template>
|
|
|
- </MonitorTable>
|
|
|
+ </template>
|
|
|
+ <template v-if="deviceType1.startsWith('safetymonitor')">
|
|
|
+ <div v-if="!record.devicename && column.dataIndex === 'devicename'">-</div>
|
|
|
+ <div v-if="!record.V && column.dataIndex === 'V'">-</div>
|
|
|
+ <div v-if="!record.PointUnit && column.dataIndex === 'PointUnit'">-</div>
|
|
|
+ <div v-if="!record.highRange && column.dataIndex === 'highRange'">-</div>
|
|
|
+ <div v-if="!record.lowRange && column.dataIndex === 'lowRange'">-</div>
|
|
|
+ <div v-if="!record.dataTypeName && column.dataIndex === 'dataTypeName'">-</div>
|
|
|
+ </template>
|
|
|
+ <a-tag v-if="column.dataIndex === 'warnFlag'"
|
|
|
+ :color="record.warnFlag == '0' ? 'green' : record.warnFlag == 1 ? '#FF5812' : 'gray'">
|
|
|
+ {{ record.warnFlag == '0' ? '正常' : record.warnFlag == 1 ? '报警' : record.warnFlag
|
|
|
+ == 2 ? '断开' : '未监测'
|
|
|
+ }}</a-tag>
|
|
|
+ <a-tag v-if="column.dataIndex === 'netStatus'"
|
|
|
+ :color="record.netStatus == '0' ? '#f00' : 'green'">{{
|
|
|
+ record.netStatus == '0' ? '断开' : '连接'
|
|
|
+ }}</a-tag>
|
|
|
</template>
|
|
|
-
|
|
|
- </template>
|
|
|
+ </MonitorTable>
|
|
|
</a-tab-pane>
|
|
|
</a-tabs>
|
|
|
|
|
@@ -218,25 +205,23 @@ import MonitorTable from '../comment/MonitorTable.vue';
|
|
|
import { cameraAddr, } from '../camera/camera.api'
|
|
|
import { list } from '../safetyMonitor/safety.api';
|
|
|
import { formConfig, isHaveAction } from '../safetyMonitor/safety.data';
|
|
|
-import { getDictItemsByCode } from '/@/utils/dict';
|
|
|
import Player, { I18N } from 'xgplayer';
|
|
|
import ZH from 'xgplayer/es/lang/zh-cn'
|
|
|
import HlsPlugin from 'xgplayer-hls';
|
|
|
import FlvPlugin from 'xgplayer-flv';
|
|
|
import 'xgplayer/dist/index.min.css';
|
|
|
import { usePermission } from '/@/hooks/web/usePermission';
|
|
|
-import { useGlobSetting } from '/@/hooks/setting';
|
|
|
const { hasPermission } = usePermission();
|
|
|
-const { sysOrgCode } = useGlobSetting();
|
|
|
const activeKey = ref('1'); // tab key
|
|
|
const deviceType = ref('safetymonitor'); // 监测设备类型
|
|
|
+const deviceType1 = ref('safetymonitor'); // 监测设备类型
|
|
|
const dataSource = shallowRef([]); // 实时监测数据
|
|
|
const monitorTable = ref();
|
|
|
const playerList = ref([])
|
|
|
const webRtcServerList = <any[]>[]
|
|
|
-let addrList = ref<{ name: string, addr: string,devicekind:string }[]>([
|
|
|
- { name: '摄像头1', addr: "http://0.0.0.0:8080/live/16.flv",devicekind:'wasichoufang' },
|
|
|
- { name: '摄像头2', addr: "http://0.0.0.0:8080/live/17.flv",devicekind:'wasichoufang' }
|
|
|
+let addrList = ref<{ name: string, addr: string, devicekind: string }[]>([
|
|
|
+ { name: '摄像头1', addr: "http://0.0.0.0:8080/live/16.flv", devicekind: 'wasichoufang' },
|
|
|
+ { name: '摄像头2', addr: "http://0.0.0.0:8080/live/17.flv", devicekind: 'wasichoufang' }
|
|
|
])
|
|
|
I18N.use(ZH)
|
|
|
|
|
@@ -263,7 +248,6 @@ async function tabChange(activeKeyVal) {
|
|
|
clearTimeout(timer);
|
|
|
if (activeKey.value != '1') {
|
|
|
deviceType.value = 'wasichoufang'
|
|
|
-
|
|
|
} else {
|
|
|
deviceType.value = 'safetymonitor'
|
|
|
}
|
|
@@ -280,39 +264,8 @@ async function getDataSource() {
|
|
|
return Object.assign(data, readData);
|
|
|
});
|
|
|
if (deviceType.value == 'safetymonitor') {
|
|
|
- // 如果是安全监控的数据时需要过滤常见设备数据,根据设定的常用安全监控字典去匹配
|
|
|
- let dictCodes = getDictItemsByCode('safetynormal');
|
|
|
- let formData = monitorTable.value.getForm();
|
|
|
- const searchForm = formData.getFieldsValue();
|
|
|
- if (searchForm && !searchForm['dataTypeName'] && dictCodes && dictCodes.length > 0) {
|
|
|
- const tempData = [];
|
|
|
- const tempData1 = [];
|
|
|
- for (let i = 0; i < dataArr.length; i++) {
|
|
|
- const item = dataArr[i];
|
|
|
- let flag = false;
|
|
|
- for (let i = 0; i < dictCodes.length; i++) {
|
|
|
- const dict = dictCodes[i];
|
|
|
- if (dict['value'] == item['dataTypeName']) {
|
|
|
- flag = true;
|
|
|
- }
|
|
|
- }
|
|
|
- if (flag) {
|
|
|
- tempData.push(item);
|
|
|
- } else {
|
|
|
- tempData1.push(item);
|
|
|
- }
|
|
|
- }
|
|
|
- if (sysOrgCode == 'zjtzqctmk' || hasPermission('btn:noGb')) {
|
|
|
- dataSource.value = [...tempData, ...tempData1];
|
|
|
- } else {
|
|
|
- dataSource.value = [...tempData];
|
|
|
- }
|
|
|
- dataSource.value = dataSource.value.filter(v => v.strinstallpos == '31102采面钻孔下风侧一氧化碳' || v.strinstallpos == '31102采面钻孔下风侧甲烷')
|
|
|
-
|
|
|
- } else {
|
|
|
- dataSource.value = dataArr;
|
|
|
- dataSource.value = dataArr.filter(v => v.strinstallpos == '31102采面钻孔下风侧一氧化碳' || v.strinstallpos == '31102采面钻孔下风侧甲烷')
|
|
|
- }
|
|
|
+ dataSource.value = dataArr;
|
|
|
+ dataSource.value = dataArr.filter(v => v.strinstallpos == '31102采面钻孔下风侧一氧化碳' || v.strinstallpos == '31102采面钻孔下风侧甲烷')
|
|
|
} else {
|
|
|
dataSource.value = dataArr;
|
|
|
}
|
|
@@ -529,6 +482,7 @@ onUnmounted(() => {
|
|
|
padding-top: 80px;
|
|
|
|
|
|
.video-module {
|
|
|
+ position: relative;
|
|
|
width: 45%;
|
|
|
height: 100%;
|
|
|
background: url('/@/assets/images/vent/camera_bg.png');
|