diff --git a/src/api/shop/approval.ts b/src/api/shop/approval.ts index 37c3c48..b48e054 100644 --- a/src/api/shop/approval.ts +++ b/src/api/shop/approval.ts @@ -87,12 +87,16 @@ export interface UpdateReturnApprovalCommand { export const getReturnApprovalListApi = (params?: SearchReturnApprovalQuery) => { return http.request>>( 'get', - '/shop/returnApproval', - { params } + '/shop/returnApproval', { + params: { + ...params, + approvalTime: params?.approvalTime ? params.approvalTime : undefined + } + } ); }; /** 批量导出订单 */ -export const exportOrderExcelApi = (params: SearchReturnApprovalQuery, fileName: string) => { +export const exportReturnApprovalExcelApi = (params: SearchReturnApprovalQuery, fileName: string) => { return http.download("/shop/returnApproval/excel", fileName, { params: { ...params, diff --git a/src/views/shop/approval/index.vue b/src/views/shop/approval/index.vue index 9b6acfe..23fdb7a 100644 --- a/src/views/shop/approval/index.vue +++ b/src/views/shop/approval/index.vue @@ -2,7 +2,7 @@ import { ref } from "vue"; import { PureTableBar } from "@/components/RePureTableBar"; import { useRenderIcon } from "@/components/ReIcon/src/hooks"; -import { getReturnApprovalListApi, deleteReturnApprovalApi, ReturnApprovalDTO, SearchReturnApprovalQuery } from "@/api/shop/approval"; +import { getReturnApprovalListApi, deleteReturnApprovalApi, exportReturnApprovalExcelApi, ReturnApprovalDTO, SearchReturnApprovalQuery } from "@/api/shop/approval"; import Delete from "@iconify-icons/ep/delete"; import Search from "@iconify-icons/ep/search"; import Refresh from "@iconify-icons/ep/refresh"; @@ -34,6 +34,7 @@ const pagination = ref({ }); const loading = ref(false); +const exportLoading = ref(false); const dataList = ref([]); const multipleSelection = ref([]); const detailVisible = ref(false); @@ -75,6 +76,26 @@ const resetForm = () => { const handlePaginationChange = () => getList(); // 批量删除 +const handleExport = async () => { + try { + exportLoading.value = true; + const dateSuffix = searchFormParams.value.approvalTime + ? `_${searchFormParams.value.approvalTime.split(' ')[0].replace(/-/g, '')}` + : ''; + const fileName = `退货审批列表${dateSuffix}.xlsx`; + await exportReturnApprovalExcelApi({ + ...searchFormParams.value, + pageSize: pagination.value.pageSize, + pageNum: pagination.value.currentPage + }, fileName); + ElMessage.success('导出任务已开始,请稍后查看下载文件'); + } catch (e) { + ElMessage.error('导出失败'); + } finally { + exportLoading.value = false; + } +}; + const handleBulkDelete = async () => { if (multipleSelection.value.length === 0) return; @@ -140,6 +161,10 @@ getList(); 重置 + + 导出Excel + @@ -152,20 +177,23 @@ getList(); - - - + + + - + - + @@ -173,8 +201,8 @@ getList(); {{ { wechat: '微信支付', balance: '余额支付' }[row.paymentMethod] || row.paymentMethod }} - - + + @@ -182,7 +210,7 @@ getList(); {{ row.createTime ? new Date(row.createTime).toLocaleString() : '-' }} - +