✨ 应收账单列表增加筛选导出
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user