feat(@vben/web-antd): erp-添加采购订单功能

- 新增采购订单列表页面
- 添加采购订单表单和子表单组件
- 实现采购订单的查询、创建、编辑和删除功能
- 优化采购订单的审批和反审批操作- 增加采购订单的导出功能
This commit is contained in:
nehc
2025-07-22 19:11:10 +08:00
parent f14954f7e2
commit 0b47648650
6 changed files with 1233 additions and 38 deletions

View File

@@ -2,34 +2,71 @@ import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request';
export namespace ErpPurchaseOrderApi {
export namespace PurchaseOrderApi {
/** 采购订单产品信息 */
export interface PurchaseOrderItem {
id?: number;
productId?: number;
productName?: string;
productBarCode?: string;
productUnitId?: number;
productUnitName?: string;
productPrice?: number;
count?: number;
totalPrice?: number;
taxPercent?: number;
taxPrice?: number;
totalTaxPrice?: number;
remark?: string;
stockCount?: number;
}
/** ERP 采购订单信息 */
export interface PurchaseOrder {
id?: number; // 订单工单编号
no: string; // 采购订单号
supplierId: number; // 供应商编号
orderTime: Date; // 订单时间
totalCount: number; // 合计数量
totalPrice: number; // 合计金额,单位:元
status: number; // 状态
remark: string; // 备注
inCount: number; // 采购入库数量
returnCount: number; // 采购退货数量
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;
fileUrl?: string;
inCount?: number;
returnCount?: number;
inStatus?: number;
returnStatus?: number;
productNames?: string;
creatorName?: string;
createTime?: Date;
items?: PurchaseOrderItem[];
}
/** 采购订单分页查询参数 */
export interface PurchaseOrderPageParam extends PageParam {
no?: string;
supplierId?: number;
productId?: number;
orderTime?: string[];
status?: number;
remark?: string;
creator?: string;
inStatus?: number;
returnStatus?: number;
}
}
/** 查询采购订单分页 */
export function getPurchaseOrderPage(
params: ErpPurchaseOrderApi.PurchaseOrderPageParam,
params: PurchaseOrderApi.PurchaseOrderPageParam,
) {
return requestClient.get<PageResult<ErpPurchaseOrderApi.PurchaseOrder>>(
return requestClient.get<PageResult<PurchaseOrderApi.PurchaseOrder>>(
'/erp/purchase-order/page',
{ params },
);
@@ -37,18 +74,18 @@ export function getPurchaseOrderPage(
/** 查询采购订单详情 */
export function getPurchaseOrder(id: number) {
return requestClient.get<ErpPurchaseOrderApi.PurchaseOrder>(
return requestClient.get<PurchaseOrderApi.PurchaseOrder>(
`/erp/purchase-order/get?id=${id}`,
);
}
/** 新增采购订单 */
export function createPurchaseOrder(data: ErpPurchaseOrderApi.PurchaseOrder) {
export function createPurchaseOrder(data: PurchaseOrderApi.PurchaseOrder) {
return requestClient.post('/erp/purchase-order/create', data);
}
/** 修改采购订单 */
export function updatePurchaseOrder(data: ErpPurchaseOrderApi.PurchaseOrder) {
export function updatePurchaseOrder(data: PurchaseOrderApi.PurchaseOrder) {
return requestClient.put('/erp/purchase-order/update', data);
}
@@ -60,7 +97,12 @@ export function updatePurchaseOrderStatus(id: number, status: number) {
}
/** 删除采购订单 */
export function deletePurchaseOrder(ids: number[]) {
export function deletePurchaseOrder(id: number) {
return requestClient.delete(`/erp/purchase-order/delete?id=${id}`);
}
/** 批量删除采购订单 */
export function deletePurchaseOrderList(ids: number[]) {
return requestClient.delete('/erp/purchase-order/delete', {
params: { ids: ids.join(',') },
});

View File

@@ -60,6 +60,15 @@ export function getStockCount(productId: number) {
});
}
/**
* 根据产品ID获得库存数量
*/
export function getStockCountByProductId(productId: number) {
return requestClient.get<number>('/erp/stock/get-count', {
params: { productId },
});
}
/**
* 导出产品库存 Excel
*/