From c3737d3b7a97d310b367a3b6406b970ba97b2847 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sun, 10 May 2026 01:22:38 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=88wms=EF=BC=89=EF=BC=9A=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=20warehouse=20=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/wms/warehouse/area/index.ts | 45 ++++ src/api/wms/warehouse/index.ts | 44 ++++ src/router/modules/remaining.ts | 23 ++ src/views/wms/utils/config.ts | 17 ++ src/views/wms/warehouse/WarehouseForm.vue | 116 ++++++++++ .../wms/warehouse/area/WarehouseAreaForm.vue | 137 ++++++++++++ src/views/wms/warehouse/area/index.vue | 211 ++++++++++++++++++ src/views/wms/warehouse/index.vue | 181 +++++++++++++++ 8 files changed, 774 insertions(+) create mode 100644 src/api/wms/warehouse/area/index.ts create mode 100644 src/api/wms/warehouse/index.ts create mode 100644 src/views/wms/utils/config.ts create mode 100644 src/views/wms/warehouse/WarehouseForm.vue create mode 100644 src/views/wms/warehouse/area/WarehouseAreaForm.vue create mode 100644 src/views/wms/warehouse/area/index.vue create mode 100644 src/views/wms/warehouse/index.vue diff --git a/src/api/wms/warehouse/area/index.ts b/src/api/wms/warehouse/area/index.ts new file mode 100644 index 000000000..e6acb247b --- /dev/null +++ b/src/api/wms/warehouse/area/index.ts @@ -0,0 +1,45 @@ +import request from '@/config/axios' + +// WMS 库区 VO +export interface WarehouseAreaVO { + id?: number + code?: string + name?: string + warehouseId?: number + warehouseName?: string + remark?: string + createTime?: Date +} + +// WMS 库区 API +export const WarehouseAreaApi = { + // 查询库区分页 + getWarehouseAreaPage: async (params: any) => { + return await request.get({ url: '/wms/warehouse-area/page', params }) + }, + + // 查询库区精简列表 + getWarehouseAreaSimpleList: async (warehouseId?: number) => { + return await request.get({ url: '/wms/warehouse-area/simple-list', params: { warehouseId } }) + }, + + // 查询库区详情 + getWarehouseArea: async (id: number) => { + return await request.get({ url: '/wms/warehouse-area/get?id=' + id }) + }, + + // 新增库区 + createWarehouseArea: async (data: WarehouseAreaVO) => { + return await request.post({ url: '/wms/warehouse-area/create', data }) + }, + + // 修改库区 + updateWarehouseArea: async (data: WarehouseAreaVO) => { + return await request.put({ url: '/wms/warehouse-area/update', data }) + }, + + // 删除库区 + deleteWarehouseArea: async (id: number) => { + return await request.delete({ url: '/wms/warehouse-area/delete?id=' + id }) + } +} diff --git a/src/api/wms/warehouse/index.ts b/src/api/wms/warehouse/index.ts new file mode 100644 index 000000000..2ed849625 --- /dev/null +++ b/src/api/wms/warehouse/index.ts @@ -0,0 +1,44 @@ +import request from '@/config/axios' + +// WMS 仓库 VO +export interface WarehouseVO { + id?: number + code?: string + name?: string + remark?: string + sort?: number + createTime?: Date +} + +// WMS 仓库 API +export const WarehouseApi = { + // 查询仓库分页 + getWarehousePage: async (params: any) => { + return await request.get({ url: '/wms/warehouse/page', params }) + }, + + // 查询仓库精简列表 + getWarehouseSimpleList: async () => { + return await request.get({ url: '/wms/warehouse/simple-list' }) + }, + + // 查询仓库详情 + getWarehouse: async (id: number) => { + return await request.get({ url: '/wms/warehouse/get?id=' + id }) + }, + + // 新增仓库 + createWarehouse: async (data: WarehouseVO) => { + return await request.post({ url: '/wms/warehouse/create', data }) + }, + + // 修改仓库 + updateWarehouse: async (data: WarehouseVO) => { + return await request.put({ url: '/wms/warehouse/update', data }) + }, + + // 删除仓库 + deleteWarehouse: async (id: number) => { + return await request.delete({ url: '/wms/warehouse/delete?id=' + id }) + } +} diff --git a/src/router/modules/remaining.ts b/src/router/modules/remaining.ts index ac59b3ab0..1ed0b0627 100644 --- a/src/router/modules/remaining.ts +++ b/src/router/modules/remaining.ts @@ -127,6 +127,29 @@ const remainingRouter: AppRouteRecordRaw[] = [ } ] }, + { + path: '/wms', + component: Layout, + name: 'Wms', + meta: { + hidden: true + }, + children: [ + { + path: 'warehouse/area/:warehouseId', + component: () => import('@/views/wms/warehouse/area/index.vue'), + name: 'WmsWarehouseArea', + meta: { + title: '库区管理', + noCache: true, + hidden: true, + canTo: true, + icon: '', + activeMenu: '/wms/basic/warehouse' + } + } + ] + }, { path: '/codegen', component: Layout, diff --git a/src/views/wms/utils/config.ts b/src/views/wms/utils/config.ts new file mode 100644 index 000000000..7a6f79260 --- /dev/null +++ b/src/views/wms/utils/config.ts @@ -0,0 +1,17 @@ +/** + * WMS 前端运行参数 + * + * 标注「后端镜像」的常量与 yudao.wms.* 配置默认值一致;调整后端配置时需同步修改这里 + */ + +// ==================== 后端镜像(与 WmsProperties 默认值对齐) ==================== + +/** 是否启用库区模式(对齐 yudao.wms.area-enable) */ +export const AREA_ENABLE = true + +/** + * 是否启用批次/效期/库存明细模式(对齐 yudao.wms.batch-enable) + * + * 依赖 AREA_ENABLE = true + */ +export const BATCH_ENABLE = true diff --git a/src/views/wms/warehouse/WarehouseForm.vue b/src/views/wms/warehouse/WarehouseForm.vue new file mode 100644 index 000000000..e703117d4 --- /dev/null +++ b/src/views/wms/warehouse/WarehouseForm.vue @@ -0,0 +1,116 @@ + + + + diff --git a/src/views/wms/warehouse/area/WarehouseAreaForm.vue b/src/views/wms/warehouse/area/WarehouseAreaForm.vue new file mode 100644 index 000000000..09195a47d --- /dev/null +++ b/src/views/wms/warehouse/area/WarehouseAreaForm.vue @@ -0,0 +1,137 @@ + + + + diff --git a/src/views/wms/warehouse/area/index.vue b/src/views/wms/warehouse/area/index.vue new file mode 100644 index 000000000..fad5e2d16 --- /dev/null +++ b/src/views/wms/warehouse/area/index.vue @@ -0,0 +1,211 @@ + + + + diff --git a/src/views/wms/warehouse/index.vue b/src/views/wms/warehouse/index.vue new file mode 100644 index 000000000..b0def6622 --- /dev/null +++ b/src/views/wms/warehouse/index.vue @@ -0,0 +1,181 @@ + + + +