liu
3 天以前 91eff4781fa4142d1f62d30a0fa1de5cae424eaf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
import type { PageParam, PageResult } from '@vben/request';
 
import { requestClient } from '#/api/request';
 
export namespace MesWmReturnVendorApi {
  /** MES 供应商退货单 */
  export interface ReturnVendor {
    id?: number; // 退货单编号
    code?: string; // 退货单编号
    name?: string; // 退货单名称
    purchaseOrderId?: number; // 采购订单编号
    purchaseOrderCode?: string; // 采购订单号
    vendorId?: number; // 供应商编号
    vendorCode?: string; // 供应商编码
    vendorName?: string; // 供应商名称
    vendorNickname?: string; // 供应商简称
    returnDate?: number | string; // 退货日期
    returnReason?: string; // 退货原因
    transportCode?: string; // 运单号
    transportTelephone?: string; // 联系电话
    status?: number; // 单据状态
    reviewerId?: number; // 审核人用户编号
    reviewerName?: string; // 审核人姓名
    reviewTime?: number; // 审核时间
    reviewRemark?: string; // 审核意见(通过时的意见 / 不通过时的原因)
    remark?: string; // 备注
    createTime?: Date; // 创建时间
  }
}
 
/** 查询供应商退货单分页 */
export function getReturnVendorPage(params: PageParam) {
  return requestClient.get<PageResult<MesWmReturnVendorApi.ReturnVendor>>(
    '/mes/wm/return-vendor/page',
    { params },
  );
}
 
/** 查询供应商退货单详情 */
export function getReturnVendor(id: number) {
  return requestClient.get<MesWmReturnVendorApi.ReturnVendor>(
    `/mes/wm/return-vendor/get?id=${id}`,
  );
}
 
/** 新增供应商退货单 */
export function createReturnVendor(data: MesWmReturnVendorApi.ReturnVendor) {
  return requestClient.post<number>('/mes/wm/return-vendor/create', data);
}
 
/** 修改供应商退货单 */
export function updateReturnVendor(data: MesWmReturnVendorApi.ReturnVendor) {
  return requestClient.put('/mes/wm/return-vendor/update', data);
}
 
/** 删除供应商退货单 */
export function deleteReturnVendor(id: number) {
  return requestClient.delete(`/mes/wm/return-vendor/delete?id=${id}`);
}
 
/**
 * 提交供应商退货单审批(草稿 → 待拣货)
 *
 * 审核人由「系统管理 - 审批配置」按业务类型统一配置,提交时无需指定;
 * 未启用审批或未配置有效审核人时后端会抛出业务异常。
 */
export function submitReturnVendorApproval(id: number) {
  return requestClient.put('/mes/wm/return-vendor/submit', null, {
    params: { id },
  });
}
 
/**
 * 获得供应商退货单的审核人编号集合
 *
 * 供列表页判断当前登录用户是否应展示「审核 / 审核不通过」按钮;未配置时返回空数组。
 */
export function getReturnVendorApproverIds() {
  return requestClient.get<number[]>('/mes/wm/return-vendor/approver-ids');
}
 
/**
 * 审核供应商退货单(待拣货 → 待执行退货 / 草稿)
 *
 * 仅审批配置中的审核人可调用(多人时或签);pass=false 时 reviewRemark(不通过原因)必填。
 */
export function auditReturnVendor(
  id: number,
  pass: boolean,
  reviewRemark?: string,
) {
  return requestClient.put('/mes/wm/return-vendor/audit', {
    id,
    pass,
    reviewRemark,
  });
}
 
/** 执行拣货 */
export function stockReturnVendor(id: number) {
  return requestClient.put(`/mes/wm/return-vendor/stock?id=${id}`);
}
 
/** 完成供应商退货单 */
export function finishReturnVendor(id: number) {
  return requestClient.put(`/mes/wm/return-vendor/finish?id=${id}`);
}
 
/** 取消供应商退货单 */
export function cancelReturnVendor(id: number) {
  return requestClient.put(`/mes/wm/return-vendor/cancel?id=${id}`);
}
 
/** 校验供应商退货单拣货数量是否与退货数量一致 */
export function checkReturnVendorQuantity(id: number) {
  return requestClient.get<boolean>(
    `/mes/wm/return-vendor/check-quantity?id=${id}`,
  );
}
 
/** 导出供应商退货单 */
export function exportReturnVendor(params: any) {
  return requestClient.download('/mes/wm/return-vendor/export-excel', {
    params,
  });
}