diff --git a/src/api/mes/wm/warehouse/area/index.ts b/src/api/mes/wm/warehouse/area/index.ts
new file mode 100644
index 000000000..d23d29939
--- /dev/null
+++ b/src/api/mes/wm/warehouse/area/index.ts
@@ -0,0 +1,66 @@
+import request from '@/config/axios'
+
+// MES 库位 VO
+export interface WmWarehouseAreaVO {
+ id: number
+ code: string
+ name: string
+ warehouseId: number
+ warehouseName: string
+ locationId: number
+ locationName: string
+ area: number
+ maxLoad: number
+ positionX: number
+ positionY: number
+ positionZ: number
+ enabled: boolean
+ status: number
+ frozen: boolean
+ allowItemMixing: boolean
+ allowBatchMixing: boolean
+ remark: string
+ attribute1: string
+ attribute2: string
+ attribute3: number
+ attribute4: number
+ createTime: string
+}
+
+// MES 库位 API
+export const WmWarehouseAreaApi = {
+ // 查询库位分页
+ getWarehouseAreaPage: async (params: any) => {
+ return await request.get({ url: '/mes/wm/warehouse-area/page', params })
+ },
+
+ // 查询库位精简列表
+ getWarehouseAreaSimpleList: async (locationId?: number) => {
+ return await request.get({ url: '/mes/wm/warehouse-area/simple-list', params: { locationId } })
+ },
+
+ // 查询库位详情
+ getWarehouseArea: async (id: number) => {
+ return await request.get({ url: '/mes/wm/warehouse-area/get?id=' + id })
+ },
+
+ // 新增库位
+ createWarehouseArea: async (data: WmWarehouseAreaVO) => {
+ return await request.post({ url: '/mes/wm/warehouse-area/create', data })
+ },
+
+ // 修改库位
+ updateWarehouseArea: async (data: WmWarehouseAreaVO) => {
+ return await request.put({ url: '/mes/wm/warehouse-area/update', data })
+ },
+
+ // 删除库位
+ deleteWarehouseArea: async (id: number) => {
+ return await request.delete({ url: '/mes/wm/warehouse-area/delete?id=' + id })
+ },
+
+ // 导出库位 Excel
+ exportWarehouseArea: async (params: any) => {
+ return await request.download({ url: '/mes/wm/warehouse-area/export-excel', params })
+ }
+}
diff --git a/src/api/mes/wm/warehouse/index.ts b/src/api/mes/wm/warehouse/index.ts
new file mode 100644
index 000000000..e57f75460
--- /dev/null
+++ b/src/api/mes/wm/warehouse/index.ts
@@ -0,0 +1,57 @@
+import request from '@/config/axios'
+
+// MES 仓库 VO
+export interface WmWarehouseVO {
+ id: number
+ code: string
+ name: string
+ address: string
+ area: number
+ chargeUserId: number
+ status: number
+ frozen: boolean
+ remark: string
+ attribute1: string
+ attribute2: string
+ attribute3: number
+ attribute4: number
+ createTime: string
+}
+
+// MES 仓库 API
+export const WmWarehouseApi = {
+ // 查询仓库分页
+ getWarehousePage: async (params: any) => {
+ return await request.get({ url: '/mes/wm/warehouse/page', params })
+ },
+
+ // 查询仓库精简列表
+ getWarehouseSimpleList: async () => {
+ return await request.get({ url: '/mes/wm/warehouse/simple-list' })
+ },
+
+ // 查询仓库详情
+ getWarehouse: async (id: number) => {
+ return await request.get({ url: '/mes/wm/warehouse/get?id=' + id })
+ },
+
+ // 新增仓库
+ createWarehouse: async (data: WmWarehouseVO) => {
+ return await request.post({ url: '/mes/wm/warehouse/create', data })
+ },
+
+ // 修改仓库
+ updateWarehouse: async (data: WmWarehouseVO) => {
+ return await request.put({ url: '/mes/wm/warehouse/update', data })
+ },
+
+ // 删除仓库
+ deleteWarehouse: async (id: number) => {
+ return await request.delete({ url: '/mes/wm/warehouse/delete?id=' + id })
+ },
+
+ // 导出仓库 Excel
+ exportWarehouse: async (params: any) => {
+ return await request.download({ url: '/mes/wm/warehouse/export-excel', params })
+ }
+}
diff --git a/src/api/mes/wm/warehouse/location/index.ts b/src/api/mes/wm/warehouse/location/index.ts
new file mode 100644
index 000000000..df01c441d
--- /dev/null
+++ b/src/api/mes/wm/warehouse/location/index.ts
@@ -0,0 +1,58 @@
+import request from '@/config/axios'
+
+// MES 库区 VO
+export interface WmWarehouseLocationVO {
+ id: number
+ code: string
+ name: string
+ warehouseId: number
+ warehouseName: string
+ area: number
+ areaEnabled: boolean
+ status: number
+ frozen: boolean
+ remark: string
+ attribute1: string
+ attribute2: string
+ attribute3: number
+ attribute4: number
+ createTime: string
+}
+
+// MES 库区 API
+export const WmWarehouseLocationApi = {
+ // 查询库区分页
+ getWarehouseLocationPage: async (params: any) => {
+ return await request.get({ url: '/mes/wm/warehouse-location/page', params })
+ },
+
+ // 查询库区精简列表
+ getWarehouseLocationSimpleList: async (warehouseId?: number) => {
+ return await request.get({ url: '/mes/wm/warehouse-location/simple-list', params: { warehouseId } })
+ },
+
+ // 查询库区详情
+ getWarehouseLocation: async (id: number) => {
+ return await request.get({ url: '/mes/wm/warehouse-location/get?id=' + id })
+ },
+
+ // 新增库区
+ createWarehouseLocation: async (data: WmWarehouseLocationVO) => {
+ return await request.post({ url: '/mes/wm/warehouse-location/create', data })
+ },
+
+ // 修改库区
+ updateWarehouseLocation: async (data: WmWarehouseLocationVO) => {
+ return await request.put({ url: '/mes/wm/warehouse-location/update', data })
+ },
+
+ // 删除库区
+ deleteWarehouseLocation: async (id: number) => {
+ return await request.delete({ url: '/mes/wm/warehouse-location/delete?id=' + id })
+ },
+
+ // 导出库区 Excel
+ exportWarehouseLocation: async (params: any) => {
+ return await request.download({ url: '/mes/wm/warehouse-location/export-excel', params })
+ }
+}
diff --git a/src/views/mes/wm/warehouse/WarehouseForm.vue b/src/views/mes/wm/warehouse/WarehouseForm.vue
new file mode 100644
index 000000000..4f6a475dc
--- /dev/null
+++ b/src/views/mes/wm/warehouse/WarehouseForm.vue
@@ -0,0 +1,176 @@
+
+
+
+
+
diff --git a/src/views/mes/wm/warehouse/area/AreaForm.vue b/src/views/mes/wm/warehouse/area/AreaForm.vue
new file mode 100644
index 000000000..dc9a09bae
--- /dev/null
+++ b/src/views/mes/wm/warehouse/area/AreaForm.vue
@@ -0,0 +1,291 @@
+
+
+
+
+
diff --git a/src/views/mes/wm/warehouse/area/index.vue b/src/views/mes/wm/warehouse/area/index.vue
new file mode 100644
index 000000000..d677fa988
--- /dev/null
+++ b/src/views/mes/wm/warehouse/area/index.vue
@@ -0,0 +1,249 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.enabled ? '是' : '否' }}
+
+
+
+
+
+
+
+
+
+ {{ scope.row.frozen ? '是' : '否' }}
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/mes/wm/warehouse/index.vue b/src/views/mes/wm/warehouse/index.vue
new file mode 100644
index 000000000..b01aa428b
--- /dev/null
+++ b/src/views/mes/wm/warehouse/index.vue
@@ -0,0 +1,194 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.frozen ? '是' : '否' }}
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/mes/wm/warehouse/location/LocationForm.vue b/src/views/mes/wm/warehouse/location/LocationForm.vue
new file mode 100644
index 000000000..4d92fcc15
--- /dev/null
+++ b/src/views/mes/wm/warehouse/location/LocationForm.vue
@@ -0,0 +1,178 @@
+
+
+
+
+
diff --git a/src/views/mes/wm/warehouse/location/index.vue b/src/views/mes/wm/warehouse/location/index.vue
new file mode 100644
index 000000000..753927b0c
--- /dev/null
+++ b/src/views/mes/wm/warehouse/location/index.vue
@@ -0,0 +1,218 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.areaEnabled ? '启用' : '关闭' }}
+
+
+
+
+
+
+
+
+
+ {{ scope.row.frozen ? '是' : '否' }}
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+