diff --git a/web-admin/src/styles/bx/index.scss b/web-admin/src/styles/bx/index.scss
index f11280f9b..46cc79488 100644
--- a/web-admin/src/styles/bx/index.scss
+++ b/web-admin/src/styles/bx/index.scss
@@ -69,8 +69,8 @@
}
.table-scroll {
- overflow-x: auto;
- overflow-y: hidden;
+ min-width: 0;
+ overflow: visible;
}
.table-scroll .bx-table {
diff --git a/web-admin/src/views/bx/reimburse/apply/index.vue b/web-admin/src/views/bx/reimburse/apply/index.vue
index 3d77b0ee5..405c809e3 100644
--- a/web-admin/src/views/bx/reimburse/apply/index.vue
+++ b/web-admin/src/views/bx/reimburse/apply/index.vue
@@ -120,8 +120,11 @@
-
+
+
-
-
@@ -803,12 +808,13 @@ import ListColumnStatsRow from '@/components/business/list-column-stats-row/inde
import ColumnHeaderFilter from '@/components/business/column-header-filter/index.vue'
import { useDbInstantSearch } from '@/composables/useDbInstantSearch'
import { usePersistedListColumns } from '@/composables/usePersistedListColumns'
+import { useListTableViewportHeight } from '@/composables/useListTableViewportHeight'
import {
useClientColumnFilters,
type ColumnFilterDef
} from '@/composables/useClientColumnFilters'
import ListQuickSearchInput from '@/components/business/list-quick-search-input/index.vue'
-import { reactive, ref, computed, onMounted } from 'vue'
+import { reactive, ref, computed, onMounted, nextTick } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
import {
Plus,
@@ -971,8 +977,16 @@ const {
} = usePersistedListColumns('bx-reimburse-apply-list-columns', listColumnDefs)
const reimburseApplyTableWrapRef = ref
(null)
+const reimburseApplyBelowRef = ref(null)
+const reimburseApplyTableRef = ref(null)
const reimburseApplyStatsRowRef = ref<{ resync?: () => void } | null>(null)
+const { tableHeight, recalc: recalcTableHeight } = useListTableViewportHeight({
+ tableEl: reimburseApplyTableWrapRef,
+ pagerEl: reimburseApplyBelowRef,
+ tableRef: reimburseApplyTableRef
+})
+
const reimburseApplyStatsRowColumns = computed((): StatsRowColumn[] => {
const cols: StatsRowColumn[] = [
{ key: '__selection', interactive: false },
@@ -1536,6 +1550,7 @@ function buildSearchQuery() {
function handleSearch() {
quickSearchKeyword.value = ''
search(buildSearchQuery())
+ nextTick(() => recalcTableHeight())
}
useDbInstantSearch(
@@ -1552,6 +1567,7 @@ function handleReset() {
quickSearchKeyword.value = ''
Object.assign(filterForm, { keyword: '', status: '', expenseName: '', applyDateRange: null })
search()
+ nextTick(() => recalcTableHeight())
}
function handleQuickSearch() {