diff --git a/apps/web-antd/src/api/erp/purchase/order/index.ts b/apps/web-antd/src/api/erp/purchase/order/index.ts index 69c9a551..58193131 100644 --- a/apps/web-antd/src/api/erp/purchase/order/index.ts +++ b/apps/web-antd/src/api/erp/purchase/order/index.ts @@ -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>( + return requestClient.get>( '/erp/purchase-order/page', { params }, ); @@ -37,18 +74,18 @@ export function getPurchaseOrderPage( /** 查询采购订单详情 */ export function getPurchaseOrder(id: number) { - return requestClient.get( + return requestClient.get( `/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(',') }, }); diff --git a/apps/web-antd/src/api/erp/stock/stock/index.ts b/apps/web-antd/src/api/erp/stock/stock/index.ts index 57d4ec22..2d33726a 100644 --- a/apps/web-antd/src/api/erp/stock/stock/index.ts +++ b/apps/web-antd/src/api/erp/stock/stock/index.ts @@ -60,6 +60,15 @@ export function getStockCount(productId: number) { }); } +/** + * 根据产品ID获得库存数量 + */ +export function getStockCountByProductId(productId: number) { + return requestClient.get('/erp/stock/get-count', { + params: { productId }, + }); +} + /** * 导出产品库存 Excel */ diff --git a/apps/web-antd/src/views/erp/purchase/order/components/PurchaseOrderForm.vue b/apps/web-antd/src/views/erp/purchase/order/components/PurchaseOrderForm.vue new file mode 100644 index 00000000..381af577 --- /dev/null +++ b/apps/web-antd/src/views/erp/purchase/order/components/PurchaseOrderForm.vue @@ -0,0 +1,338 @@ + + +