liu
3 天以前 fb8ebb92202e59b902d3976e75ddae7ad2e60cb8
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
import type { PageParam, PageResult } from '@vben/request';
 
import { requestClient } from '#/api/request';
 
export namespace ErpSaleOrderApi {
  /** 销售订单信息 */
  export interface SaleOrder {
    id?: number; // 订单工单编号
    no: string; // 销售订单号
    customerId: number; // 客户编号
    customerName?: string; // 客户名称
    accountId?: number; // 收款账户编号
    saleUserId?: number; // 销售人员编号
    orderTime: Date; // 订单时间
    totalCount: number; // 合计数量
    totalPrice: number; // 合计金额,单位:元
    status: number; // 状态
    remark: string; // 备注
    outCount: number; // 销售出库数量
    outStatus?: number; // 出库状态:0-未出库,1-部分出库,2-全部出库
    attachmentList?: { id: number; name?: string; url?: string }[]; // 附件列表
    inCount?: number; // 采购入库数量
    returnCount: number; // 销售退货数量
    totalProductPrice?: number; // 产品金额,单位:元
    discountPercent?: number; // 优惠率,百分比
    discountPrice?: number; // 优惠金额,单位:元
    depositPrice?: number; // 定金金额,单位:元
    contractId?: number; // 关联 CRM 合同编号
    contractNo?: string; // CRM 合同单号
    needProduction?: number; // 是否需要生产:0-不需要,1-需要
    productionStatus?: number; // 生产状态:0-未完成,1-已完成
    productionFinishTime?: Date; // 生产完成时间
    hasSalesNotice?: boolean; // 是否已生成发货通知单
    canCreateSalesNotice?: boolean; // 是否可以生成发货通知单
    creator?: string; // 创建人编号(字符串)
    creatorName?: string; // 创建人名称
    createTime?: Date; // 创建时间
    items?: SaleOrderItem[]; // 销售订单产品明细列表
  }
 
  /** 销售订单项 */
  export interface SaleOrderItem {
    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; // 库存数量(显示字段)
    productSpecification?: string; // 规格型号(显示字段)
    needProduction?: number; // 是否需要生产:0-不需要,1-需要
    mpsId?: number; // MPS编号
    batchCode?: string; // 批次号
  }
}
 
/** 查询销售订单分页 */
export function getSaleOrderPage(params: PageParam) {
  return requestClient.get<PageResult<ErpSaleOrderApi.SaleOrder>>(
    '/erp/sale-order/page',
    { params },
  );
}
 
/** 查询销售订单详情 */
export function getSaleOrder(id: number) {
  return requestClient.get<ErpSaleOrderApi.SaleOrder>(
    `/erp/sale-order/get?id=${id}`,
  );
}
 
/** 查询销售订单项列表 */
export function getSaleOrderItemListByOrderId(orderId: number) {
  return requestClient.get<ErpSaleOrderApi.SaleOrderItem[]>(
    `/erp/sale-order/item/list-by-order-id?orderId=${orderId}`,
  );
}
 
/** 新增销售订单 */
export function createSaleOrder(data: ErpSaleOrderApi.SaleOrder) {
  return requestClient.post('/erp/sale-order/create', data);
}
 
/** 修改销售订单 */
export function updateSaleOrder(data: ErpSaleOrderApi.SaleOrder) {
  return requestClient.put('/erp/sale-order/update', data);
}
 
/** 更新销售订单的状态 */
export function updateSaleOrderStatus(id: number, status: number) {
  return requestClient.put('/erp/sale-order/update-status', null, {
    params: { id, status },
  });
}
 
/** 删除销售订单 */
export function deleteSaleOrder(ids: number[]) {
  return requestClient.delete('/erp/sale-order/delete', {
    params: { ids: ids.join(',') },
  });
}
 
/** 导出销售订单 Excel */
export function exportSaleOrder(params: any) {
  return requestClient.download('/erp/sale-order/export-excel', { params });
}
 
/** 作废销售订单 */
export function cancelSaleOrder(id: number) {
  return requestClient.put('/erp/sale-order/cancel', null, {
    params: { id },
  });
}
 
/** 启用销售订单(恢复已作废订单) */
export function enableSaleOrder(id: number) {
  return requestClient.put('/erp/sale-order/enable', null, {
    params: { id },
  });
}