| 
					
				 | 
			
			
				@@ -27,8 +27,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // 以压风机为例,设压风机设备的历史数据编码为forcFan_history。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // 那么字段code中需要把所有字段悉数配置,例子如下: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   //  显示字段    字段code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  //   温度     forcFan1Temp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  //   温度     forcFan2Temp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  //   温度     forcFanTemp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   //  安装位置      name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // 2、配置数据字典(参考系统管理-数据字典),为上述设备配置子设备 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -44,10 +43,11 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // 4、其他内容说明 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // 同以压风机为例,当子设备没有数据时,不进行过滤,此时展示的数据是: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   //      温度    安装位置 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  // 取forcFan2Temp    取name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 取forcFanTemp    取name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // 同以压风机为例,当子设备选择压风机1时,过滤压风机1相关的表头,此时展示的数据是: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   //      温度        安装位置 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // 取forcFan1Temp    取name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 当设备字段不含数据字典关键词(forcFan)时不做处理,当设备字段包含关键词但已指定编号(即字段包含数字)时不做处理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   import { onMounted, ref, shallowRef } from 'vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   import { BasicColumn, PaginationProps, BasicTable } from '/@/components/Table'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   import { getTableHeaderColumns } from '/@/hooks/web/useWebColumns'; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -102,7 +102,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const cols = getTableHeaderColumns(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (cols.length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         originColumns = cols; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        updateColumns(dictOptions[0].value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -122,13 +121,20 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   function updateColumns(prefix?: string) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (!prefix) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 如果有子设备信息,筛选符合规范的表头 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const cols = originColumns.filter(({ dataIndex }) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // 获取到子设备编码的前缀,如 forcFan 之于 forcFan1,如果表头以该前缀打头则进行过滤,否则放行 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const cols = originColumns.map((col) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const dataIndex = col.dataIndex as string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 获取到子设备编码的前缀及编码,正则例子:forcFan1 => [forcFan1, forcFan, 1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const [_, pfx] = prefix.match(/([A-Za-z]+)([0-9]+)/) || []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if ((dataIndex as string).startsWith(pfx)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return (dataIndex as string).startsWith(prefix); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 同时,如若已经配置了编号则不要更改 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (dataIndex.search(/[0-9]/) !== -1) return col; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (dataIndex.includes(pfx)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ...col, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          dataIndex: dataIndex.replace(pfx, prefix), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 默认直接放行 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return col; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     setColumns(cols); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 |