From 550df0a15b144438f80491f1dedbb1e098e5cc75 Mon Sep 17 00:00:00 2001 From: dzq Date: Thu, 17 Apr 2025 10:17:52 +0800 Subject: [PATCH] =?UTF-8?q?feat(shop):=20=E6=96=B0=E5=A2=9E=E9=80=80?= =?UTF-8?q?=E8=B4=A7=E5=AE=A1=E6=89=B9=E5=8A=9F=E8=83=BD=E5=8F=8A=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加退货审批相关的API接口和前端页面,支持审批列表查询、新增、修改、删除及批量删除操作。页面包含搜索、重置、分页、查看详情等功能,提升退货审批流程的管理效率。 --- src/api/shop/approval.ts | 102 +++++++++++++++ src/views/shop/approval/index.vue | 199 ++++++++++++++++++++++++++++++ 2 files changed, 301 insertions(+) create mode 100644 src/api/shop/approval.ts create mode 100644 src/views/shop/approval/index.vue diff --git a/src/api/shop/approval.ts b/src/api/shop/approval.ts new file mode 100644 index 0000000..22c59fa --- /dev/null +++ b/src/api/shop/approval.ts @@ -0,0 +1,102 @@ +import { http } from '@/utils/http'; + +export interface SearchReturnApprovalQuery extends BasePageQuery { + approvalId?: number; + orderId?: number; + goodsId?: number; + status?: number; +} + +/** 退货审批DTO */ +/** 退货审批DTO */ +export interface ReturnApprovalDTO { + /** 审批编号 */ + approvalId?: number; + /** 关联订单ID */ + orderId: number; + /** 关联商品ID */ + goodsId: number; + /** 归还数量 */ + returnQuantity: number; + /** 商品单价 */ + goodsPrice: number; + /** 退还金额 */ + returnAmount: number; + /** 归还图片路径数组 */ + returnImages: string[]; + /** 审核图片路径数组 */ + auditImages: string[]; + /** 归还说明 */ + returnRemark?: string; + /** 审核说明 */ + auditRemark?: string; + /** 审批状态(1待审核 2已通过 3已驳回) */ + status: number; + statusStr: string; + creatorId?: number; + createTime?: Date; + updaterId?: number; + updateTime?: Date; +} + +export interface AddReturnApprovalCommand { + /** 关联订单ID */ + orderId: number; + /** 关联商品ID */ + goodsId: number; + /** 归还数量 */ + returnQuantity: number; + /** 归还图片路径数组 */ + returnImages: string[]; + /** 归还说明 */ + returnRemark?: string; +} + +export interface UpdateReturnApprovalCommand { + /** 审批编号 */ + approvalId: number; + /** 归还数量 */ + returnQuantity: number; + /** 审核图片路径数组 */ + auditImages: string[]; + /** 审核说明 */ + auditRemark?: string; + /** 审批状态(1待审核 2已通过 3已驳回) */ + status: number; +} + +/** 获取退货审批列表 */ +export const getReturnApprovalListApi = (params?: SearchReturnApprovalQuery) => { + return http.request>>( + 'get', + '/shop/returnApproval', + { params } + ); +}; + +/** 新增退货审批 */ +export const addReturnApprovalApi = (data: AddReturnApprovalCommand) => { + return http.request>('post', '/shop/returnApproval', { + data + }); +}; + +/** 修改退货审批 */ +export const updateReturnApprovalApi = ( + approvalId: number, + data: UpdateReturnApprovalCommand +) => { + return http.request>( + 'put', + `/shop/returnApproval/${approvalId}`, + { data } + ); +}; + +/** 批量删除退货审批 */ +export const deleteReturnApprovalApi = (approvalIds: (number | string)[]) => { + return http.request>( + 'delete', + `/shop/returnApproval/${approvalIds.join(',')}` + ); +}; \ No newline at end of file diff --git a/src/views/shop/approval/index.vue b/src/views/shop/approval/index.vue new file mode 100644 index 0000000..27e6371 --- /dev/null +++ b/src/views/shop/approval/index.vue @@ -0,0 +1,199 @@ + + + + + \ No newline at end of file