liu
7 天以前 70b7935fc261cd5e8eaaf1cfbc8078b04db576d2
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
127
128
129
130
131
132
133
134
135
136
137
138
139
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,
  });
}
 
/** 下载供应商退货单导入模板 */
export function importReturnVendorTemplate() {
  return requestClient.download('/mes/wm/return-vendor/get-import-template');
}
 
/** 导入供应商退货单 */
export function importReturnVendor(file: File, updateSupport: boolean) {
  return requestClient.upload(
    `/mes/wm/return-vendor/import?updateSupport=${updateSupport}`,
    { file },
  );
}