From e0bdcaee0d1b2b28850e0ef779bd8daaeea6ac71 Mon Sep 17 00:00:00 2001 From: dzq Date: Mon, 28 Apr 2025 11:05:44 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E5=AE=A1=E6=89=B9):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E9=80=80=E8=B4=A7=E5=AE=A1=E6=89=B9=E5=88=97=E8=A1=A8=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E5=8A=9F=E8=83=BD=E5=B9=B6=E8=B0=83=E6=95=B4=E8=A1=A8?= =?UTF-8?q?=E6=A0=BC=E5=88=97=E5=AE=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在审批页面中增加了导出Excel的功能,允许用户导出退货审批列表。同时调整了表格列的宽度以改善显示效果。 --- src/api/shop/approval.ts | 10 +++++-- src/views/shop/approval/index.vue | 50 ++++++++++++++++++++++++------- 2 files changed, 46 insertions(+), 14 deletions(-) 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() : '-' }} - +