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 15 import { getDeviceAttrs } from '/@/api/device/deviceManager';
16 16 import { DeviceModelOfMatterAttrs, DeviceRecord } from '/@/api/device/model/deviceModel';
17 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 19 import { DataTypeEnum } from '/@/components/Form/src/externalCompns/components/StructForm/config';
20 20 import { useGlobSetting } from '/@/hooks/setting';
21 21 import { ModeSwitchButton, EnumTableCardMode } from '/@/components/Widget';
... ... @@ -161,14 +161,14 @@
161 161
162 162 handleFilterChange();
163 163
164   - unref(mode) === EnumTableCardMode.TABLE && setTableData(socketInfo.dataSource);
  164 + unref(mode) === EnumTableCardMode.TABLE && setTableModeData();
165 165 } catch (error) {}
166 166 },
167 167 resetFunc: async () => {
168 168 try {
169 169 socketInfo.filterAttrKeys = [];
170 170 handleFilterChange();
171   - unref(mode) === EnumTableCardMode.TABLE && setTableData(socketInfo.dataSource);
  171 + unref(mode) === EnumTableCardMode.TABLE && setTableModeData();
172 172 } catch (error) {}
173 173 },
174 174 });
... ... @@ -200,7 +200,7 @@
200 200 const switchMode = async (value: EnumTableCardMode) => {
201 201 mode.value = value;
202 202 await nextTick();
203   - unref(mode) === EnumTableCardMode.TABLE && setTableData(socketInfo.dataSource);
  203 + unref(mode) === EnumTableCardMode.TABLE && setTableModeData();
204 204 socketInfo.filterAttrKeys = [];
205 205 };
206 206
... ... @@ -280,7 +280,7 @@
280 280
281 281 await nextTick();
282 282
283   - unref(mode) === EnumTableCardMode.TABLE && setTableData(socketInfo.dataSource);
  283 + unref(mode) === EnumTableCardMode.TABLE && setTableModeData();
284 284 }
285 285 } catch (error) {}
286 286 },
... ... @@ -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 299 const handleShowDetail = (record: DataSource) => {
296 300 const { key } = record;
297 301 socketInfo.attr = key;
... ... @@ -308,9 +312,11 @@
308 312
309 313 const formatValue = (item: DataSource) => {
310 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 320 : item.value || '--';
315 321 };
316 322
... ... @@ -406,7 +412,11 @@
406 412 </List>
407 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 420 <template #toolbar>
411 421 <div
412 422 v-show="mode === EnumTableCardMode.TABLE"
... ... @@ -447,6 +457,10 @@
447 457 display: flex;
448 458 align-items: center;
449 459 }
  460 +
  461 + .device-things-model-table-mode:deep(.ant-table-placeholder) {
  462 + height: auto;
  463 + }
450 464 </style>
451 465
452 466 <style>
... ...