|  | @@ -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 = []
 | 
	
		
			
				|  |  |    }
 |