From fa48577a74aaccd48dd9e38922c4ac161d26713a Mon Sep 17 00:00:00 2001 From: zlwu <704541015@qq.com> Date: Tue, 1 Sep 2026 18:51:59 +0800 Subject: [PATCH] feat(web-admin): roll out viewport list height to more lists Apply fill-viewport table height on demo product/order, bx mine, and db weighing. Co-authored-by: Cursor --- web-admin/src/views/bx/view/mine/index.vue | 36 +++++++++++------ web-admin/src/views/db/weighing/index.vue | 46 ++++++++++++++-------- web-admin/src/views/demo/order/index.vue | 37 +++++++++++------ web-admin/src/views/demo/product/index.vue | 36 ++++++++++++----- 4 files changed, 106 insertions(+), 49 deletions(-) diff --git a/web-admin/src/views/bx/view/mine/index.vue b/web-admin/src/views/bx/view/mine/index.vue index c3db6e396..37b475f07 100644 --- a/web-admin/src/views/bx/view/mine/index.vue +++ b/web-admin/src/views/bx/view/mine/index.vue @@ -104,8 +104,10 @@
+
+
-
-
@@ -376,6 +380,7 @@ import ListExportDropdown from '@/components/business/list-export-dropdown/index import type { StatsRowColumn } from '@/utils/list-column-stats' import { useDbInstantSearch } from '@/composables/useDbInstantSearch' import { usePersistedListColumns } from '@/composables/usePersistedListColumns' + import { useListTableViewportHeight } from '@/composables/useListTableViewportHeight' import { computed, onActivated, onMounted, reactive, ref } from 'vue' import { ElMessage } from 'element-plus' import { Search, RefreshLeft } from '@element-plus/icons-vue' @@ -467,8 +472,16 @@ const selectedRows = ref([]) usePersistedListColumns('bx-view-mine-list-columns', listColumnDefs) const mineTableWrapRef = ref(null) + const mineBelowRef = ref(null) + const mineTableRef = ref(null) const mineStatsRowRef = ref<{ resync?: () => void } | null>(null) + const { tableHeight, recalc: recalcTableHeight } = useListTableViewportHeight({ + tableEl: mineTableWrapRef, + pagerEl: mineBelowRef, + tableRef: mineTableRef + }) + const mineStatsRowColumns = computed((): StatsRowColumn[] => { const cols: StatsRowColumn[] = [ { key: '__selection', interactive: false }, @@ -823,6 +836,7 @@ const selectedRows = ref([]) onActivated(() => { loadData() + recalcTableHeight() }) diff --git a/web-admin/src/views/db/weighing/index.vue b/web-admin/src/views/db/weighing/index.vue index 9abac8468..c15a9b75d 100644 --- a/web-admin/src/views/db/weighing/index.vue +++ b/web-admin/src/views/db/weighing/index.vue @@ -114,8 +114,11 @@
- +
+
-
- @@ -549,6 +554,7 @@ import ListColumnStatsRow from '@/components/business/list-column-stats-row/index.vue' import type { StatsRowColumn } from '@/utils/list-column-stats' import { usePersistedListColumns } from '@/composables/usePersistedListColumns' + import { useListTableViewportHeight } from '@/composables/useListTableViewportHeight' import DbCrmProductSelect from '@/components/business/db/DbCrmProductSelect.vue' import DbRelatedViewDialog from '@/components/business/db/DbRelatedViewDialog.vue' import { buildWeighingRelatedSections } from '@/components/business/db/db-related-view' @@ -612,8 +618,16 @@ const weighingTableWrapRef = ref(null) + const weighingBelowRef = ref(null) + const weighingTableRef = ref(null) const weighingStatsRowRef = ref<{ resync?: () => void } | null>(null) + const { tableHeight, recalc: recalcTableHeight } = useListTableViewportHeight({ + tableEl: weighingTableWrapRef, + pagerEl: weighingBelowRef, + tableRef: weighingTableRef + }) + const weighingStatsRowColumns = computed((): StatsRowColumn[] => { const cols: StatsRowColumn[] = [ { key: '__selection', interactive: false }, diff --git a/web-admin/src/views/demo/order/index.vue b/web-admin/src/views/demo/order/index.vue index 5dadb53c7..f6eca3757 100644 --- a/web-admin/src/views/demo/order/index.vue +++ b/web-admin/src/views/demo/order/index.vue @@ -84,16 +84,19 @@
- +
+ +
-