✨ 应收账单列表增加筛选导出

This commit is contained in:
caojia
2026-10-27 17:04:22 +08:00
parent 4238c31d9d
commit b4e696b27c
3 changed files with 105 additions and 1 deletions
+19 -1
View File
@@ -32,6 +32,9 @@
<el-col :span="1.5"><el-button type="primary" plain icon="Plus" v-hasPermi="['ar:bill:generate']" @click="generateOpen = true">生成账单</el-button></el-col>
<el-col v-if="customerScoped" :span="1.5"><el-button type="info" plain icon="Close" @click="clearCustomerFilter">清除客户条件</el-button></el-col>
</template>
<template #search-extra>
<el-button type="warning" plain icon="Download" v-hasPermi="['ar:bill:export']" @click="handleExport">导出</el-button>
</template>
<template #search-customerId="{ model }">
<customer-select v-model="model.customerId" placeholder="请输入客户名称或代码搜索" :remote-search="true" :page-size="20" />
</template>
@@ -159,7 +162,22 @@ const searchColumns = [
]
// 将页面日期范围转换为后端查询字段,其他筛选条件原样透传。
function queryList(params) { const query = { ...params }; if (query.billDateRange?.length === 2) { query.billDateStart = query.billDateRange[0]; query.billDateEnd = query.billDateRange[1] }; delete query.billDateRange; return listArBill(query) }
function normalizeBillQuery(params) {
const query = { ...params }
if (query.billDateRange?.length === 2) {
query.billDateStart = query.billDateRange[0]
query.billDateEnd = query.billDateRange[1]
}
delete query.billDateRange
return query
}
function queryList(params) { return listArBill(normalizeBillQuery(params)) }
function handleExport() {
const query = normalizeBillQuery(tableRef.value?.getQueryParams() || defaultSearchParams.value)
delete query.pageNum
delete query.pageSize
proxy.download('/ar/bill/export', query, `ar_bill_${Date.now()}.xlsx`)
}
// 生成弹窗只提交任务,账单明细由后台异步批量写入;这里负责刷新列表并开始轮询。
function handleGenerateSuccess(task) {
tableRef.value?.refresh()