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,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> |