Commit 18f26eba5d8eb1ea73492bff982596e23c80ef29
Merge branch 'perf/device-things-model' into 'main_dev'
perf: 优化设备物模型无有效数据时过滤无效数据 See merge request yunteng/thingskit-front!925
Showing
1 changed file
with
23 additions
and
9 deletions
... | ... | @@ -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> | ... | ... |