Commit 18f26eba5d8eb1ea73492bff982596e23c80ef29

Authored by xp.Huang
2 parents f04fa804 2aa20b72

Merge branch 'perf/device-things-model' into 'main_dev'

perf: 优化设备物模型无有效数据时过滤无效数据

See merge request yunteng/thingskit-front!925
@@ -15,7 +15,7 @@ @@ -15,7 +15,7 @@
15 import { getDeviceAttrs } from '/@/api/device/deviceManager'; 15 import { getDeviceAttrs } from '/@/api/device/deviceManager';
16 import { DeviceModelOfMatterAttrs, DeviceRecord } from '/@/api/device/model/deviceModel'; 16 import { DeviceModelOfMatterAttrs, DeviceRecord } from '/@/api/device/model/deviceModel';
17 import { Specs, StructJSON } from '/@/api/device/model/modelOfMatterModel'; 17 import { Specs, StructJSON } from '/@/api/device/model/modelOfMatterModel';
18 - import { isArray, isObject } from '/@/utils/is'; 18 + import { isArray, isNull, isObject } from '/@/utils/is';
19 import { DataTypeEnum } from '/@/components/Form/src/externalCompns/components/StructForm/config'; 19 import { DataTypeEnum } from '/@/components/Form/src/externalCompns/components/StructForm/config';
20 import { useGlobSetting } from '/@/hooks/setting'; 20 import { useGlobSetting } from '/@/hooks/setting';
21 import { ModeSwitchButton, EnumTableCardMode } from '/@/components/Widget'; 21 import { ModeSwitchButton, EnumTableCardMode } from '/@/components/Widget';
@@ -161,14 +161,14 @@ @@ -161,14 +161,14 @@
161 161
162 handleFilterChange(); 162 handleFilterChange();
163 163
164 - unref(mode) === EnumTableCardMode.TABLE && setTableData(socketInfo.dataSource); 164 + unref(mode) === EnumTableCardMode.TABLE && setTableModeData();
165 } catch (error) {} 165 } catch (error) {}
166 }, 166 },
167 resetFunc: async () => { 167 resetFunc: async () => {
168 try { 168 try {
169 socketInfo.filterAttrKeys = []; 169 socketInfo.filterAttrKeys = [];
170 handleFilterChange(); 170 handleFilterChange();
171 - unref(mode) === EnumTableCardMode.TABLE && setTableData(socketInfo.dataSource); 171 + unref(mode) === EnumTableCardMode.TABLE && setTableModeData();
172 } catch (error) {} 172 } catch (error) {}
173 }, 173 },
174 }); 174 });
@@ -200,7 +200,7 @@ @@ -200,7 +200,7 @@
200 const switchMode = async (value: EnumTableCardMode) => { 200 const switchMode = async (value: EnumTableCardMode) => {
201 mode.value = value; 201 mode.value = value;
202 await nextTick(); 202 await nextTick();
203 - unref(mode) === EnumTableCardMode.TABLE && setTableData(socketInfo.dataSource); 203 + unref(mode) === EnumTableCardMode.TABLE && setTableModeData();
204 socketInfo.filterAttrKeys = []; 204 socketInfo.filterAttrKeys = [];
205 }; 205 };
206 206
@@ -280,7 +280,7 @@ @@ -280,7 +280,7 @@
280 280
281 await nextTick(); 281 await nextTick();
282 282
283 - unref(mode) === EnumTableCardMode.TABLE && setTableData(socketInfo.dataSource); 283 + unref(mode) === EnumTableCardMode.TABLE && setTableModeData();
284 } 284 }
285 } catch (error) {} 285 } catch (error) {}
286 }, 286 },
@@ -292,6 +292,10 @@ @@ -292,6 +292,10 @@
292 }, 292 },
293 }); 293 });
294 294
  295 + function setTableModeData() {
  296 + setTableData(socketInfo.dataSource.filter((item) => !isNull(item.value)));
  297 + }
  298 +
295 const handleShowDetail = (record: DataSource) => { 299 const handleShowDetail = (record: DataSource) => {
296 const { key } = record; 300 const { key } = record;
297 socketInfo.attr = key; 301 socketInfo.attr = key;
@@ -308,9 +312,11 @@ @@ -308,9 +312,11 @@
308 312
309 const formatValue = (item: DataSource) => { 313 const formatValue = (item: DataSource) => {
310 return item.type === DataTypeEnum.IS_BOOL 314 return item.type === DataTypeEnum.IS_BOOL
311 - ? !!Number(item.value)  
312 - ? item.boolOpen  
313 - : item.boolClose 315 + ? !isNull(item.value)
  316 + ? !!Number(item.value)
  317 + ? item.boolOpen
  318 + : item.boolClose
  319 + : '--'
314 : item.value || '--'; 320 : item.value || '--';
315 }; 321 };
316 322
@@ -406,7 +412,11 @@ @@ -406,7 +412,11 @@
406 </List> 412 </List>
407 </section> 413 </section>
408 414
409 - <BasicTable v-if="mode === EnumTableCardMode.TABLE" @register="registerTable"> 415 + <BasicTable
  416 + v-if="mode === EnumTableCardMode.TABLE"
  417 + @register="registerTable"
  418 + class="device-things-model-table-mode"
  419 + >
410 <template #toolbar> 420 <template #toolbar>
411 <div 421 <div
412 v-show="mode === EnumTableCardMode.TABLE" 422 v-show="mode === EnumTableCardMode.TABLE"
@@ -447,6 +457,10 @@ @@ -447,6 +457,10 @@
447 display: flex; 457 display: flex;
448 align-items: center; 458 align-items: center;
449 } 459 }
  460 +
  461 + .device-things-model-table-mode:deep(.ant-table-placeholder) {
  462 + height: auto;
  463 + }
450 </style> 464 </style>
451 465
452 <style> 466 <style>