| | |
| | | import type { PageParam, PageResult } from '../../../../packages/effects/request/src'; |
| | | import type { PageParam, PageResult } from '@vben/request'; |
| | | |
| | | import { requestClient } from '#/api/request'; |
| | | |
| | |
| | | supplierId?: number; // 供应商编号 |
| | | supplierName?: string; // 供应商名称 |
| | | discountPercent?: number; // 优惠率 |
| | | fileUrl?: string; // 附件地址 |
| | | attachmentList?: { id: number; name?: string; url?: string }[]; // 附件列表 |
| | | remark?: string; // 备注 |
| | | totalCount?: number; // 总数量 |
| | | totalPrice?: number; // 总金额 |
| | | productNames?: string; // 产品名称列表 |
| | | orderId?: number; // 生成的采购订单编号 |
| | | orderNo?: string; // 生成的采购订单号 |
| | | // ========== 审批信息(轻量级状态机审批) ========== |
| | | reviewerId?: number; // 审核人编号 |
| | | reviewerName?: string; // 审核人姓名 |
| | | reviewTime?: Date | string; // 审核时间 |
| | | reviewRemark?: string; // 审核意见(不通过时为驳回原因) |
| | | items?: PurchaseRequestItem[]; // 申请明细 |
| | | createTime?: string; // 创建时间 |
| | | } |
| | |
| | | |
| | | /** 创建采购申请 */ |
| | | export function createPurchaseRequest(data: ErpPurchaseRequestApi.PurchaseRequest) { |
| | | return requestClient.post('/erp/purchase-request/create', data); |
| | | return requestClient.post('/purchase/request/create', data); |
| | | } |
| | | |
| | | /** 更新采购申请 */ |
| | | export function updatePurchaseRequest(data: ErpPurchaseRequestApi.PurchaseRequest) { |
| | | return requestClient.put('/erp/purchase-request/update', data); |
| | | return requestClient.put('/purchase/request/update', data); |
| | | } |
| | | |
| | | /** 提交采购申请审批 */ |
| | | export function submitPurchaseRequest(id: number, processDefinitionKey: string) { |
| | | return requestClient.put('/erp/purchase-request/submit', null, { params: { id, processDefinitionKey } }); |
| | | /** |
| | | * 提交审批(未提交/审核不通过 → 审批中) |
| | | * |
| | | * 审批人由「系统管理 - 审批配置」统一配置,提交时无需指定。 |
| | | */ |
| | | export function submitPurchaseRequest(id: number) { |
| | | return requestClient.put('/purchase/request/submit', null, { |
| | | params: { id }, |
| | | }); |
| | | } |
| | | |
| | | /** 获得审批人编号集合,供列表页判断是否展示审核按钮 */ |
| | | export function getPurchaseRequestApproverUserIds() { |
| | | return requestClient.get<number[]>('/purchase/request/approver-ids'); |
| | | } |
| | | |
| | | /** |
| | | * 审核(审批中 → 审核通过/审核不通过) |
| | | * |
| | | * 仅审批配置中指定的审批人本人可调用;pass=false 时 reviewRemark(不通过原因)必填。 |
| | | */ |
| | | export function auditPurchaseRequest( |
| | | id: number, |
| | | pass: boolean, |
| | | reviewRemark?: string, |
| | | ) { |
| | | return requestClient.put('/purchase/request/audit', { |
| | | id, |
| | | pass, |
| | | reviewRemark, |
| | | }); |
| | | } |
| | | |
| | | /** 生成采购订单 */ |
| | | export function generatePurchaseOrder(id: number, supplierId: number) { |
| | | return requestClient.post<number>('/erp/purchase-request/generate-order', null, { params: { id, supplierId } }); |
| | | return requestClient.post<number>('/purchase/request/generate-order', null, { params: { id, supplierId } }); |
| | | } |
| | | |
| | | /** 删除采购申请 */ |
| | | export function deletePurchaseRequest(ids: number[]) { |
| | | return requestClient.delete('/erp/purchase-request/delete', { params: { ids: ids.join(',') } }); |
| | | return requestClient.delete('/purchase/request/delete', { params: { ids: ids.join(',') } }); |
| | | } |
| | | |
| | | /** 获取采购申请详情 */ |
| | | export function getPurchaseRequest(id: number) { |
| | | return requestClient.get<ErpPurchaseRequestApi.PurchaseRequest>( |
| | | `/erp/purchase-request/get?id=${id}`, |
| | | `/purchase/request/get?id=${id}`, |
| | | ); |
| | | } |
| | | |
| | | /** 获取采购申请分页 */ |
| | | export function getPurchaseRequestPage(params: PageParam) { |
| | | return requestClient.get<PageResult<ErpPurchaseRequestApi.PurchaseRequest>>( |
| | | '/erp/purchase-request/page', |
| | | '/purchase/request/page', |
| | | { params }, |
| | | ); |
| | | } |
| | | |
| | | /** 导出采购申请 Excel */ |
| | | export function exportPurchaseRequest(params: any) { |
| | | return requestClient.download('/erp/purchase-request/export-excel', { params }); |
| | | } |
| | | |
| | | /** 获取审批流程列表 */ |
| | | export function getApproveProcessList(id: number) { |
| | | return requestClient.get(`/erp/purchase-request/approve-process-list`, { params: { id } }); |
| | | return requestClient.download('/purchase/request/export-excel', { params }); |
| | | } |