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