From 1465b7f7df377c0b89e117db07a6096358d6a1d9 Mon Sep 17 00:00:00 2001 From: wanghao Date: Wed, 3 Dec 2025 08:58:02 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E5=BA=93=E5=AD=98=E5=8F=98?= =?UTF-8?q?=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/wms/inventoryLedger/index.ts | 76 ++++++ src/api/wms/inventoryLedger/types.ts | 166 ++++++++++++ src/views/wms/inStockBill/index.vue | 4 +- src/views/wms/inventoryLedger/index.vue | 319 ++++++++++++++++++++++++ 4 files changed, 563 insertions(+), 2 deletions(-) create mode 100644 src/api/wms/inventoryLedger/index.ts create mode 100644 src/api/wms/inventoryLedger/types.ts create mode 100644 src/views/wms/inventoryLedger/index.vue diff --git a/src/api/wms/inventoryLedger/index.ts b/src/api/wms/inventoryLedger/index.ts new file mode 100644 index 0000000..6c6f5b4 --- /dev/null +++ b/src/api/wms/inventoryLedger/index.ts @@ -0,0 +1,76 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { InventoryLedgerVO, InventoryLedgerForm, InventoryLedgerQuery } from '@/api/wms/inventoryLedger/types'; + +/** + * 查询库存变动台账列表 + * @param query + * @returns {*} + */ + +export const listInventoryLedger = (query?: InventoryLedgerQuery): AxiosPromise => { + return request({ + url: '/wms/inventoryLedger/list', + method: 'get', + params: query + }); +}; + +/** + * 查询库存变动台账详细 + * @param ledgerId + */ +export const getInventoryLedger = (ledgerId: string | number): AxiosPromise => { + return request({ + url: '/wms/inventoryLedger/' + ledgerId, + method: 'get' + }); +}; + +/** + * 新增库存变动台账 + * @param data + */ +export const addInventoryLedger = (data: InventoryLedgerForm) => { + return request({ + url: '/wms/inventoryLedger', + method: 'post', + data: data + }); +}; + +/** + * 修改库存变动台账 + * @param data + */ +export const updateInventoryLedger = (data: InventoryLedgerForm) => { + return request({ + url: '/wms/inventoryLedger', + method: 'put', + data: data + }); +}; + +/** + * 删除库存变动台账 + * @param ledgerId + */ +export const delInventoryLedger = (ledgerId: string | number | Array) => { + return request({ + url: '/wms/inventoryLedger/' + ledgerId, + method: 'delete' + }); +}; + +/** + * 下拉框查询库存变动台账列表 + * @param query + * @returns {*} + */ +export function getWmsInventoryLedgerList (query) { + return request({ + url: '/wms/inventoryLedger/getWmsInventoryLedgerList', + method: 'get', + params: query + }); +}; diff --git a/src/api/wms/inventoryLedger/types.ts b/src/api/wms/inventoryLedger/types.ts new file mode 100644 index 0000000..9f3de36 --- /dev/null +++ b/src/api/wms/inventoryLedger/types.ts @@ -0,0 +1,166 @@ +export interface InventoryLedgerVO { + /** + * 仓库ID + */ + ledgerId: string | number; + + /** + * 租户编号 + */ + tenantId: string | number; + + /** + * 库位编码 + */ + locationCode: string; + + /** + * 仓库ID + */ + warehouseId: string | number; + + /** + * 物料ID + */ + materielId: string | number; + + /** + * 批次号 + */ + batchNumber: string; + + /** + * 原始库存 + */ + inventoryAmount: number; + + /** + * 变动类型 + */ + changeType: string; + + /** + * 变动状态(0减少,1增加) + */ + ledgerState: string; + + /** + * 变动数量 + */ + changeAmount: number; + + /** + * 创建部门 + */ + createDept: number; + + /** + * 创建人 + */ + createBy: number; + + /** + * 创建时间 + */ + createTime: string; + + /** + * 更新人 + */ + updateBy: number; + + /** + * 更新时间 + */ + updateTime: string; + +} + +export interface InventoryLedgerForm extends BaseEntity { + /** + * 仓库ID + */ + ledgerId?: string | number; + + /** + * 库位编码 + */ + locationCode?: string; + + /** + * 仓库ID + */ + warehouseId?: string | number; + + /** + * 物料ID + */ + materielId?: string | number; + + /** + * 批次号 + */ + batchNumber?: string; + + /** + * 原始库存 + */ + inventoryAmount?: number; + + /** + * 变动类型 + */ + changeType?: string; + + /** + * 变动状态(0减少,1增加) + */ + ledgerState?: string; + + /** + * 变动数量 + */ + changeAmount?: number; + +} + +export interface InventoryLedgerQuery extends PageQuery { + + /** + * 库位编码 + */ + locationCode?: string; + + /** + * 仓库ID + */ + warehouseId?: string | number; + + /** + * 物料ID + */ + materielId?: string | number; + + /** + * 批次号 + */ + batchNumber?: string; + + /** + * 变动类型 + */ + changeType?: string; + + /** + * 变动状态(0减少,1增加) + */ + ledgerState?: string; + + /** + * 日期范围参数 + */ + params?: any; +} + + + diff --git a/src/views/wms/inStockBill/index.vue b/src/views/wms/inStockBill/index.vue index 4bc943a..416f223 100644 --- a/src/views/wms/inStockBill/index.vue +++ b/src/views/wms/inStockBill/index.vue @@ -580,11 +580,11 @@ const handleAddSubmit = () => { // 验证物料信息的完整性 const invalidMaterials = selectedProducts.value.filter((material) => { - return !material.unitPrice || material.unitPrice <= 0 || !material.inStockAmount || material.inStockAmount <= 0; + return !material.unitPrice || material.unitPrice <= 0 || !material.inStockAmount || material.inStockAmount <= 0 || !material.warehouseId; }); if (invalidMaterials.length > 0) { - proxy?.$modal.msgError('请完善物料信息,确保单价和数量都大于0'); + proxy?.$modal.msgError('请完善物料信息,确保单价和数量都大于0,且选择了仓库'); return; } diff --git a/src/views/wms/inventoryLedger/index.vue b/src/views/wms/inventoryLedger/index.vue new file mode 100644 index 0000000..a967afa --- /dev/null +++ b/src/views/wms/inventoryLedger/index.vue @@ -0,0 +1,319 @@ + + +