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