|
@@ -118,7 +118,7 @@
|
|
|
|
|
|
|
|
<div class="list-body list-wrap">
|
|
<div class="list-body list-wrap">
|
|
|
<div ref="pendingTableWrapRef" class="table-scroll bx-list-table-wrap">
|
|
<div ref="pendingTableWrapRef" class="table-scroll bx-list-table-wrap">
|
|
|
- <ListTable table-key="bx-reimburse-approve"
|
|
|
|
|
|
|
+ <ListTable ref="pendingTableRef" :height="pendingTableHeight" table-key="bx-reimburse-approve"
|
|
|
class="list-table"
|
|
class="list-table"
|
|
|
:data="pendingRows"
|
|
:data="pendingRows"
|
|
|
v-loading="pendingLoading"
|
|
v-loading="pendingLoading"
|
|
@@ -219,6 +219,8 @@
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
</ListTable>
|
|
</ListTable>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div ref="pendingBelowRef">
|
|
|
<ListColumnStatsRow
|
|
<ListColumnStatsRow
|
|
|
ref="pendingStatsRowRef"
|
|
ref="pendingStatsRowRef"
|
|
|
storage-key="bx-reimburse-approve-pending-column-stats"
|
|
storage-key="bx-reimburse-approve-pending-column-stats"
|
|
@@ -227,9 +229,8 @@
|
|
|
:table-wrap-el="pendingTableWrapRef"
|
|
:table-wrap-el="pendingTableWrapRef"
|
|
|
:get-cell-value="getReimburseApproveStatCellValue"
|
|
:get-cell-value="getReimburseApproveStatCellValue"
|
|
|
/>
|
|
/>
|
|
|
- </div>
|
|
|
|
|
|
|
|
|
|
- <div class="pagination list-pager-bar">
|
|
|
|
|
|
|
+ <div class="pagination list-pager-bar">
|
|
|
<div class="list-pager-selected">
|
|
<div class="list-pager-selected">
|
|
|
已选 <span class="sel-num">{{ selectedRows.length }}</span> 项
|
|
已选 <span class="sel-num">{{ selectedRows.length }}</span> 项
|
|
|
</div>
|
|
</div>
|
|
@@ -244,6 +245,7 @@
|
|
|
@size-change="onPendingSizeChange"
|
|
@size-change="onPendingSizeChange"
|
|
|
/>
|
|
/>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
|
|
|
|
|
@@ -350,7 +352,7 @@
|
|
|
|
|
|
|
|
<div class="list-body list-wrap">
|
|
<div class="list-body list-wrap">
|
|
|
<div ref="approvedTableWrapRef" class="table-scroll bx-list-table-wrap">
|
|
<div ref="approvedTableWrapRef" class="table-scroll bx-list-table-wrap">
|
|
|
- <ListTable table-key="bx-reimburse-approve-2"
|
|
|
|
|
|
|
+ <ListTable ref="approvedTableRef" :height="approvedTableHeight" table-key="bx-reimburse-approve-2"
|
|
|
class="list-table"
|
|
class="list-table"
|
|
|
:data="approvedRows"
|
|
:data="approvedRows"
|
|
|
v-loading="approvedLoading"
|
|
v-loading="approvedLoading"
|
|
@@ -463,6 +465,8 @@
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
</ListTable>
|
|
</ListTable>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div ref="approvedBelowRef">
|
|
|
<ListColumnStatsRow
|
|
<ListColumnStatsRow
|
|
|
ref="approvedStatsRowRef"
|
|
ref="approvedStatsRowRef"
|
|
|
storage-key="bx-reimburse-approve-approved-column-stats"
|
|
storage-key="bx-reimburse-approve-approved-column-stats"
|
|
@@ -471,9 +475,8 @@
|
|
|
:table-wrap-el="approvedTableWrapRef"
|
|
:table-wrap-el="approvedTableWrapRef"
|
|
|
:get-cell-value="getReimburseApproveStatCellValue"
|
|
:get-cell-value="getReimburseApproveStatCellValue"
|
|
|
/>
|
|
/>
|
|
|
- </div>
|
|
|
|
|
|
|
|
|
|
- <div class="pagination list-pager-bar">
|
|
|
|
|
|
|
+ <div class="pagination list-pager-bar">
|
|
|
<span class="list-range">{{ approvedRangeText }}</span>
|
|
<span class="list-range">{{ approvedRangeText }}</span>
|
|
|
<el-pagination
|
|
<el-pagination
|
|
|
v-model:current-page="approvedPage"
|
|
v-model:current-page="approvedPage"
|
|
@@ -484,6 +487,7 @@
|
|
|
@size-change="onApprovedSizeChange"
|
|
@size-change="onApprovedSizeChange"
|
|
|
/>
|
|
/>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
|
</el-tabs>
|
|
</el-tabs>
|
|
@@ -630,12 +634,13 @@
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
|
-import { reactive, ref, computed, onMounted } from 'vue'
|
|
|
|
|
|
|
+import { reactive, ref, computed, onMounted, nextTick} from 'vue'
|
|
|
import ListToolbarEndActions from '@/components/business/list-toolbar-end-actions/index.vue'
|
|
import ListToolbarEndActions from '@/components/business/list-toolbar-end-actions/index.vue'
|
|
|
import ListExportDropdown from '@/components/business/list-export-dropdown/index.vue'
|
|
import ListExportDropdown from '@/components/business/list-export-dropdown/index.vue'
|
|
|
import ListColumnStatsRow from '@/components/business/list-column-stats-row/index.vue'
|
|
import ListColumnStatsRow from '@/components/business/list-column-stats-row/index.vue'
|
|
|
import { useDbInstantSearch } from '@/composables/useDbInstantSearch'
|
|
import { useDbInstantSearch } from '@/composables/useDbInstantSearch'
|
|
|
import { usePersistedListColumns } from '@/composables/usePersistedListColumns'
|
|
import { usePersistedListColumns } from '@/composables/usePersistedListColumns'
|
|
|
|
|
+import { useListTableViewportHeight } from '@/composables/useListTableViewportHeight'
|
|
|
import ListQuickSearchInput from '@/components/business/list-quick-search-input/index.vue'
|
|
import ListQuickSearchInput from '@/components/business/list-quick-search-input/index.vue'
|
|
|
import { ElMessage } from 'element-plus'
|
|
import { ElMessage } from 'element-plus'
|
|
|
import {
|
|
import {
|
|
@@ -691,8 +696,27 @@ const {
|
|
|
resetToDefault
|
|
resetToDefault
|
|
|
} = usePersistedListColumns('bx-reimburse-approve-list-columns', listColumnDefs)
|
|
} = usePersistedListColumns('bx-reimburse-approve-list-columns', listColumnDefs)
|
|
|
|
|
|
|
|
|
|
+const activeTab = ref('pending')
|
|
|
const pendingTableWrapRef = ref<HTMLElement | null>(null)
|
|
const pendingTableWrapRef = ref<HTMLElement | null>(null)
|
|
|
|
|
+const pendingBelowRef = ref<HTMLElement | null>(null)
|
|
|
|
|
+const pendingTableRef = ref<any>(null)
|
|
|
|
|
+const { tableHeight: pendingTableHeight, recalc: recalcPendingHeight } = useListTableViewportHeight({
|
|
|
|
|
+ tableEl: pendingTableWrapRef,
|
|
|
|
|
+ pagerEl: pendingBelowRef,
|
|
|
|
|
+ tableRef: pendingTableRef,
|
|
|
|
|
+ enabled: computed(() => activeTab.value === 'pending')
|
|
|
|
|
+})
|
|
|
|
|
+
|
|
|
const approvedTableWrapRef = ref<HTMLElement | null>(null)
|
|
const approvedTableWrapRef = ref<HTMLElement | null>(null)
|
|
|
|
|
+const approvedBelowRef = ref<HTMLElement | null>(null)
|
|
|
|
|
+const approvedTableRef = ref<any>(null)
|
|
|
|
|
+const { tableHeight: approvedTableHeight, recalc: recalcApprovedHeight } = useListTableViewportHeight({
|
|
|
|
|
+ tableEl: approvedTableWrapRef,
|
|
|
|
|
+ pagerEl: approvedBelowRef,
|
|
|
|
|
+ tableRef: approvedTableRef,
|
|
|
|
|
+ enabled: computed(() => activeTab.value === 'approved')
|
|
|
|
|
+})
|
|
|
|
|
+
|
|
|
const pendingStatsRowRef = ref<{ resync?: () => void } | null>(null)
|
|
const pendingStatsRowRef = ref<{ resync?: () => void } | null>(null)
|
|
|
const approvedStatsRowRef = ref<{ resync?: () => void } | null>(null)
|
|
const approvedStatsRowRef = ref<{ resync?: () => void } | null>(null)
|
|
|
|
|
|
|
@@ -802,7 +826,6 @@ const reimburseApproveExportColumns = computed(() => {
|
|
|
return cols
|
|
return cols
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
-const activeTab = ref('pending')
|
|
|
|
|
const menuStore = useMenuStore()
|
|
const menuStore = useMenuStore()
|
|
|
|
|
|
|
|
const viewData = ref<Record<string, any>>({})
|
|
const viewData = ref<Record<string, any>>({})
|