liu
2 天以前 0af5e35af8338cc8a2e38c19ab79efbb9eff0b2c
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
140
141
142
143
import type { PageParam, PageResult } from '@vben/request';
 
import { requestClient } from '#/api/request';
 
export namespace ErpPurchaseOrderApi {
  /** 采购订单信息 */
  export interface PurchaseOrder {
    id?: number; // 订单工单编号
    no?: string; // 采购订单号
    supplierId?: number; // 供应商编号
    supplierName?: string; // 供应商名称
    orderTime?: Date | string; // 订单时间
    totalCount?: number; // 合计数量
    totalPrice?: number; // 合计金额,单位:元
    totalProductPrice?: number; // 产品金额,单位:元
    discountPercent?: number; // 优惠率,百分比
    discountPrice?: number; // 优惠金额,单位:元
    depositPrice?: number; // 定金金额,单位:元
    accountId?: number; // 结算账户编号
    status?: number; // 状态
    remark?: string; // 备注
    attachmentList?: { id: number; name?: string; url?: string }[]; // 附件列表
    inCount?: number; // 采购入库数量
    count?: number; // 数量
    returnCount?: number; // 采购退货数量
    inStatus?: number; // 入库状态
    returnStatus?: number; // 退货状态
    productNames?: string; // 产品名称列表
    creatorName?: string; // 创建人名称
    createTime?: Date; // 创建时间
    reviewerId?: number; // 审核人编号
    reviewerName?: string; // 审核人姓名
    reviewTime?: Date | string; // 审核时间
    reviewRemark?: string; // 审核意见(不通过时为驳回原因)
    items?: PurchaseOrderItem[]; // 订单项列表
  }
 
  /** 采购订单项信息 */
  export interface PurchaseOrderItem {
    id?: number; // 订单项编号
    seq?: number; // 前端行号
    orderId?: number; // 采购订单编号
    productId?: number; // 产品编号
    productName?: string; // 产品名称
    productBarCode?: string; // 产品条码
    productUnitId?: number; // 产品单位编号
    productUnitName?: string; // 产品单位名称
    productPrice?: number; // 产品单价,单位:元
    totalProductPrice?: number; // 产品总价,单位:元
    count?: number; // 数量
    totalPrice?: number; // 总价,单位:元
    taxPercent?: number; // 税率,百分比
    taxPrice?: number; // 税额,单位:元
    totalTaxPrice?: number; // 含税总价,单位:元
    remark?: string; // 备注
    stockCount?: number; // 库存数量(显示字段)
    qcCheckFlag?: boolean; // 是否需要来料检验
  }
}
 
/** 查询采购订单分页 */
export function getPurchaseOrderPage(params: PageParam) {
  return requestClient.get<PageResult<ErpPurchaseOrderApi.PurchaseOrder>>(
    '/purchase/order/page',
    { params },
  );
}
 
/** 查询采购订单详情 */
export function getPurchaseOrder(id: number) {
  return requestClient.get<ErpPurchaseOrderApi.PurchaseOrder>(
    `/purchase/order/get?id=${id}`,
  );
}
 
/** 新增采购订单 */
export function createPurchaseOrder(data: ErpPurchaseOrderApi.PurchaseOrder) {
  return requestClient.post('/purchase/order/create', data);
}
 
/** 修改采购订单 */
export function updatePurchaseOrder(data: ErpPurchaseOrderApi.PurchaseOrder) {
  return requestClient.put('/purchase/order/update', data);
}
 
/** 更新采购订单的状态 */
export function updatePurchaseOrderStatus(id: number, status: number) {
  return requestClient.put('/purchase/order/update-status', null, {
    params: { id, status },
  });
}
 
/** 删除采购订单 */
export function deletePurchaseOrder(ids: number[]) {
  return requestClient.delete('/purchase/order/delete', {
    params: { ids: ids.join(',') },
  });
}
 
/** 导出采购订单 Excel */
export function exportPurchaseOrder(params: any) {
  return requestClient.download('/purchase/order/export-excel', { params });
}
 
/**
 * 提交采购订单审批(未提交/审核不通过 → 审批中)
 *
 * 改为轻量级状态机审批后,后端按审批配置校验审批人,前端无需再选择 BPM 流程。
 */
export function submitPurchaseOrder(id: number) {
  return requestClient.put('/purchase/order/submit', null, {
    params: { id },
  });
}
 
/**
 * 审核采购订单(审批中 → 审核通过/审核不通过)
 *
 * 仅审批配置中指定的审批人本人可调用;pass=false 时 reviewRemark(不通过原因)必填。
 */
export function auditPurchaseOrder(
  id: number,
  pass: boolean,
  reviewRemark?: string,
) {
  return requestClient.put('/purchase/order/audit', {
    id,
    pass,
    reviewRemark,
  });
}
 
/** 获取采购订单的审批人编号集合,供前端判断是否展示审核按钮 */
export function getPurchaseOrderApproverUserIds() {
  return requestClient.get<number[]>('/purchase/order/approver-ids');
}
 
/** 确认收货 */
export function confirmReceipt(id: number) {
  return requestClient.post<number>('/purchase/order/confirm-receipt', null, {
    params: { id },
  });
}