|
@@ -7,8 +7,8 @@
|
|
|
</template>
|
|
|
<template v-else-if="activeKey == '1' && deviceType">
|
|
|
<MonitorTable ref="monitorTable" :columnsType="`${deviceType}_monitor`" :dataSource="dataSource"
|
|
|
- design-scope="device_monitor" :isShowPagination="false" :isShowActionColumn="true" :is-show-select="false" title="设备监测"
|
|
|
- :form-config="deviceType == 'safetymonitor' ? formConfig : undefined" >
|
|
|
+ design-scope="device_monitor" :isShowPagination="false" :isShowActionColumn="isHaveAction.includes(deviceType.split('_')[0]) ? false : true" :is-show-select="false" title="设备监测"
|
|
|
+ :form-config="deviceType == 'safetymonitor' ? formConfig : undefined" :scroll="{y: 650}">
|
|
|
<template #filterCell="{ column, record }">
|
|
|
<template v-if="deviceType.startsWith('gate')">
|
|
|
<template v-if="record.frontGateOpenCtrl == 1 || record.frontGateOpenCtrl === true">
|
|
@@ -60,6 +60,14 @@
|
|
|
<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 ? '断开' : '未监测'
|
|
@@ -143,8 +151,8 @@ import MonitorTable from '../comment/MonitorTable.vue';
|
|
|
import GroupMonitorTable from '../comment/GroupMonitorTable.vue';
|
|
|
import { Progress } from 'ant-design-vue';
|
|
|
import { useRouter } from 'vue-router';
|
|
|
-import { formConfig, chartsColumnsreal, chartsColumnsRect, chartsColumnsFan, chartsColumnsMain, chartsColumnsFiber, chartsColumnsObf, chartsColumnsBun } from './safety.data'
|
|
|
-
|
|
|
+import { formConfig, isHaveAction } from './safety.data'
|
|
|
+import { getDictItemsByCode } from '/@/utils/dict';
|
|
|
|
|
|
// import { BorderBox8 as DvBorderBox8 } from '@kjgl77/datav-vue3';
|
|
|
|
|
@@ -231,11 +239,33 @@ async function getDataSource() {
|
|
|
const formData = monitorTable.value.getForm()
|
|
|
const res = await list({ devicetype: deviceType.value, filterParams: { ...formData.getFieldsValue() } })
|
|
|
if (res.msgTxt.length > 0) {
|
|
|
- dataSource.value = res.msgTxt[0].datalist || [];
|
|
|
- dataSource.value.filter((data: any) => {
|
|
|
+ dataSource.value = []
|
|
|
+ const dataArr = res.msgTxt[0].datalist || [];
|
|
|
+ dataArr.filter((data: any) => {
|
|
|
const readData = data.readData;
|
|
|
return Object.assign(data, readData);
|
|
|
});
|
|
|
+ if(deviceType.value == 'safetymonitor'){
|
|
|
+ // 如果是安全监控的数据时需要过滤常见设备数据,根据设定的常用安全监控字典去匹配
|
|
|
+ const dictCodes = getDictItemsByCode('safetynormal')
|
|
|
+ const searchForm = formData.getFieldsValue()
|
|
|
+ if(!searchForm['dataTypeName'] && dictCodes && dictCodes.length){
|
|
|
+ for(let i=0; i< dictCodes.length; i++){
|
|
|
+ const dict = dictCodes[i]
|
|
|
+ dataArr.forEach((item) => {
|
|
|
+ if(dict['value'] == item['dataTypeName']){
|
|
|
+ dataSource.value.push(item)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ dataSource.value = dataArr
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ dataSource.value = dataArr
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
} else {
|
|
|
dataSource.value = []
|
|
|
}
|