fix(web): 让充值管理列表按当前页数据展开以避免高度不足。

This commit is contained in:
wuzilong committed 2026-10-31 22:58:58 +08:00
1 parent 13630045df
commit cb0344498a
4 files changed
+11 -59

No files matched your search

@@ -41,12 +41,11 @@
</div>
</div>
<div class="list-body list-wrap">
<div ref="tableWrapRef" class="list-table-viewport-anchor">
<div class="list-table-viewport-anchor">
<ListTable
ref="tableRef"
table-key="pl-vehicle-fuel-card"
class="list-table"
:height="tableHeight"
:data="tableData"
v-loading="loading || detailLoading"
stripe
@@ -85,7 +84,7 @@
/>
</ListTable>
</div>
<div ref="pagerRef" class="pagination list-pager-bar">
<div class="pagination list-pager-bar">
<el-pagination
:current-page="pagination.page"
:page-size="pagination.pageSize"
@@ -191,7 +190,6 @@
import ListQuickSearchInput from '@/components/business/list-quick-search-input/index.vue'
import SystemViewDialog from '@/components/business/system-view-dialog/index.vue'
import type { ViewSection } from '@/components/business/system-view-dialog/types'
import { useListTableViewportHeight } from '@/composables/useListTableViewportHeight'
import {
vehicleFuelCardApi,
type VehicleFuelCard,
@@ -210,14 +208,7 @@
const submitLoading = ref(false)
const deleteLoading = ref(false)
const busy = computed(() => detailLoading.value || submitLoading.value || deleteLoading.value)
const tableWrapRef = ref<HTMLElement | null>(null)
const pagerRef = ref<HTMLElement | null>(null)
const tableRef = ref<any>(null)
const { tableHeight, recalc } = useListTableViewportHeight({
tableEl: tableWrapRef,
pagerEl: pagerRef,
tableRef
})
let listRequestId = 0
let disposed = false
@@ -284,7 +275,6 @@
} finally {
if (requestId === listRequestId && !disposed) {
loading.value = false
nextTick(recalc)
}
}
}
@@ -42,10 +42,9 @@
</div>
<div class="list-body list-wrap">
<div ref="rechargeApplyTableWrapRef" class="table-scroll bx-list-table-wrap">
<div class="table-scroll bx-list-table-wrap">
<ListTable
ref="rechargeApplyTableRef"
:height="tableHeight" table-key="pl-vehicle-recharge-apply"
table-key="pl-vehicle-recharge-apply"
class="list-table"
:data="tableData"
v-loading="loading"
@@ -304,7 +303,7 @@
</div>
<div ref="rechargeApplyBelowRef">
<div>
<div class="pagination list-pager-bar">
<div class="list-pager-selected">
已选 <span class="sel-num">{{ selectedRows.length }}</span> 项
@@ -505,7 +504,6 @@ import { usePersistedListColumns } from '@/composables/usePersistedListColumns'
import { useServerColumnFilters } from '@/composables/useServerColumnFilters'
import { useColumnSort } from '@/composables/useColumnSort'
import { plVehicleRechargeApplyColumnFilterDefs } from '@/views/pl/vehicle-recharge-apply/columnFilterDefs'
import { useListTableViewportHeight } from '@/composables/useListTableViewportHeight'
import { useVehicleFuelCard } from '@/composables/useVehicleFuelCard'
import {
Check,
@@ -687,15 +685,6 @@ function handleResetColumns() {
resetToInitial()
}
const rechargeApplyTableWrapRef = ref<HTMLElement | null>(null)
const rechargeApplyBelowRef = ref<HTMLElement | null>(null)
const rechargeApplyTableRef = ref<any>(null)
const { tableHeight, recalc: recalcTableHeight } = useListTableViewportHeight({
tableEl: rechargeApplyTableWrapRef,
pagerEl: rechargeApplyBelowRef,
tableRef: rechargeApplyTableRef
})
const currentUserId = computed(() => {
const info = userStore.info as Record<string, unknown> | undefined
return String(info?.id || info?.userId || '')
@@ -1273,7 +1262,5 @@ onMounted(async () => {
applySummaryFilter()
await Promise.all([loadVehicleOptions(), loadUserOptions()])
fetchData()
nextTick(() => recalcTableHeight())
})
</script>
@@ -52,10 +52,9 @@
</div>
<div class="list-body list-wrap">
<div ref="rechargeRecordTableWrapRef" class="table-scroll bx-list-table-wrap">
<div class="table-scroll bx-list-table-wrap">
<ListTable
ref="rechargeRecordTableRef"
:height="tableHeight" table-key="pl-vehicle-recharge-record"
table-key="pl-vehicle-recharge-record"
class="list-table"
:data="tableData"
v-loading="loading"
@@ -392,7 +391,7 @@
</div>
<div ref="rechargeRecordBelowRef">
<div>
<div class="pagination list-pager-bar">
<div class="list-pager-selected">
已选 <span class="sel-num">{{ selectedRows.length }}</span> 项
@@ -590,7 +589,6 @@ import { usePersistedListColumns } from '@/composables/usePersistedListColumns'
import { useServerColumnFilters } from '@/composables/useServerColumnFilters'
import { useColumnSort } from '@/composables/useColumnSort'
import { plVehicleRechargeDisburseColumnFilterDefs } from '@/views/pl/vehicle-recharge-apply/columnFilterDefs'
import { useListTableViewportHeight } from '@/composables/useListTableViewportHeight'
import { useVehicleFuelCard } from '@/composables/useVehicleFuelCard'
import { Check, Close, Delete, Edit, Filter, Money, Plus } from '@element-plus/icons-vue'
import {
@@ -719,15 +717,6 @@ function handleResetColumns() {
resetToInitial()
}
const rechargeRecordTableWrapRef = ref<HTMLElement | null>(null)
const rechargeRecordBelowRef = ref<HTMLElement | null>(null)
const rechargeRecordTableRef = ref<any>(null)
const { tableHeight, recalc: recalcTableHeight } = useListTableViewportHeight({
tableEl: rechargeRecordTableWrapRef,
pagerEl: rechargeRecordBelowRef,
tableRef: rechargeRecordTableRef
})
const submitLoading = ref(false)
const deleteLoadingMap = reactive<Record<string, boolean>>({})
const tableData = ref<VehicleRechargeDisburseBoardItem[]>([])
@@ -1172,8 +1161,6 @@ async function handleDelete(row: VehicleRechargeDisburseBoardItem) {
onMounted(() => {
fetchData()
nextTick(() => recalcTableHeight())
})
</script>
@@ -64,12 +64,10 @@
</div>
<div class="list-body list-wrap">
<div ref="wfReimburseTableWrapRef" class="list-table-viewport-anchor">
<div class="list-table-viewport-anchor">
<ListTable
ref="wfReimburseTableRef"
table-key="pl-vehicle-recharge-workflow"
class="list-table"
:height="tableHeight"
:data="filteredNodes"
v-loading="loading"
stripe
@@ -206,7 +204,7 @@
</ListTable>
</div>
<div ref="wfReimbursePagerRef" class="pagination list-pager-bar">
<div class="pagination list-pager-bar">
<div class="list-pager-selected">
已选 <span class="sel-num">{{ selectedRows.length }}</span> 项
</div>
@@ -327,13 +325,12 @@
</template>
<script setup lang="ts">
import { reactive, ref, computed, onMounted, nextTick } from 'vue'
import { reactive, ref, computed, onMounted } from 'vue'
import ColumnHeaderFilter from '@/components/business/column-header-filter/index.vue'
import ListToolbarEndActions from '@/components/business/list-toolbar-end-actions/index.vue'
import ListQuickSearchInput from '@/components/business/list-quick-search-input/index.vue'
import { useClientColumnFilters } from '@/composables/useClientColumnFilters'
import { usePersistedListColumns } from '@/composables/usePersistedListColumns'
import { useListTableViewportHeight } from '@/composables/useListTableViewportHeight'
import { canDeleteByCreator, filterDeletableByCreator, allRowsDeletableByCreator, CREATOR_DELETE_TIP } from '@/utils/creator-delete'
import { ElMessage, ElMessageBox } from 'element-plus'
import type { FormInstance } from 'element-plus'
@@ -377,14 +374,6 @@ const {
resetToDefault
} = usePersistedListColumns('pl-vehicle-recharge-workflow-list-columns', listColumnDefs)
const wfReimburseTableWrapRef = ref<HTMLElement | null>(null)
const wfReimbursePagerRef = ref<HTMLElement | null>(null)
const wfReimburseTableRef = ref<any>(null)
const { tableHeight, recalc: recalcTableHeight } = useListTableViewportHeight({
tableEl: wfReimburseTableWrapRef,
pagerEl: wfReimbursePagerRef,
tableRef: wfReimburseTableRef
})
const loading = ref(false)
const selectedRows = ref<Record<string, any>[]>([])
const wfDef = ref<Record<string, any>>({})
@@ -465,7 +454,6 @@ async function loadWfDef() {
onMounted(() => {
loadWfDef()
loadUsers()
nextTick(() => recalcTableHeight())
})
function onSelectionChange(rows: Record<string, any>[]) {