diff --git a/src/router/modules/remaining.ts b/src/router/modules/remaining.ts index 794778cad..c29848c8b 100644 --- a/src/router/modules/remaining.ts +++ b/src/router/modules/remaining.ts @@ -127,6 +127,42 @@ const remainingRouter: AppRouteRecordRaw[] = [ } ] }, + { + path: '/mes', + component: Layout, + name: 'MesWmRouter', + meta: { + hidden: true + }, + children: [ + { + path: 'wm/warehouse/location', + component: () => import('@/views/mes/wm/warehouse/location/index.vue'), + name: 'MesWmLocationRouter', + meta: { + noCache: true, + hidden: true, + canTo: true, + icon: '', + title: '库区设置', + activeMenu: '/mes/wm/warehouse' + } + }, + { + path: 'wm/warehouse/area', + component: () => import('@/views/mes/wm/warehouse/area/index.vue'), + name: 'MesWmAreaRouter', + meta: { + noCache: true, + hidden: true, + canTo: true, + icon: '', + title: '库位设置', + activeMenu: '/mes/wm/warehouse' + } + } + ] + }, { path: '/codegen', diff --git a/src/views/mes/wm/warehouse/WarehouseForm.vue b/src/views/mes/wm/warehouse/WarehouseForm.vue index 4f6a475dc..c186541c1 100644 --- a/src/views/mes/wm/warehouse/WarehouseForm.vue +++ b/src/views/mes/wm/warehouse/WarehouseForm.vue @@ -9,6 +9,7 @@ > + @@ -26,7 +27,12 @@ clearable class="!w-1/1" > - + @@ -38,7 +44,7 @@ - + + @@ -78,6 +85,7 @@ @@ -90,6 +98,8 @@ import { CommonStatusEnum } from '@/utils/constants' import { WmWarehouseApi, WmWarehouseVO } from '@/api/mes/wm/warehouse' import * as UserApi from '@/api/system/user' +// TODO @AI:变量注释,模仿下别的模块 + defineOptions({ name: 'WarehouseForm' }) const { t } = useI18n() @@ -121,6 +131,7 @@ const formRef = ref() /** 打开弹窗 */ const open = async (type: string, id?: number) => { + // TODO @AI:注释的风格,参考下别的模块的 form; dialogVisible.value = true dialogTitle.value = t('action.' + type) formType.value = type @@ -140,6 +151,7 @@ defineExpose({ open }) /** 提交表单 */ const emit = defineEmits(['success']) const submitForm = async () => { + // TODO @AI:注释的风格,参考下别的模块的 form; await formRef.value.validate() formLoading.value = true try { diff --git a/src/views/mes/wm/warehouse/area/AreaForm.vue b/src/views/mes/wm/warehouse/area/AreaForm.vue index dc9a09bae..1ec8d242c 100644 --- a/src/views/mes/wm/warehouse/area/AreaForm.vue +++ b/src/views/mes/wm/warehouse/area/AreaForm.vue @@ -43,6 +43,7 @@ + @@ -55,7 +56,7 @@ - + - + - + - + @@ -121,6 +137,7 @@ + @@ -140,6 +157,7 @@ @@ -155,9 +173,11 @@ import { WmWarehouseAreaApi, WmWarehouseAreaVO } from '@/api/mes/wm/warehouse/ar defineOptions({ name: 'AreaForm' }) +// TODO @AI:变量注释,模仿下别的模块 const { t } = useI18n() const message = useMessage() +// TODO @AI:变量注释,模仿下别的模块 const dialogVisible = ref(false) const dialogTitle = ref('') const formLoading = ref(false) @@ -194,6 +214,7 @@ const formRules = reactive({ }) const formRef = ref() +/** 加载库区列表 */ const loadLocationList = async (warehouseId?: number) => { if (!warehouseId) { locationList.value = [] @@ -202,13 +223,20 @@ const loadLocationList = async (warehouseId?: number) => { locationList.value = await WmWarehouseLocationApi.getWarehouseLocationSimpleList(warehouseId) } +/** 仓库改变时,重置库区 */ const handleWarehouseChange = async (warehouseId?: number) => { formData.value.locationId = undefined await loadLocationList(warehouseId) } /** 打开弹窗 */ -const open = async (type: string, id?: number) => { +const open = async ( + type: string, + id?: number, + defaultLocationId?: number, + defaultWarehouseId?: number +) => { + // TODO @AI:注释的风格,参考下别的模块的 form; dialogVisible.value = true dialogTitle.value = t('action.' + type) formType.value = type @@ -240,6 +268,20 @@ const open = async (type: string, id?: number) => { } finally { formLoading.value = false } + return + } + if (defaultWarehouseId) { + selectedWarehouseId.value = defaultWarehouseId + await loadLocationList(defaultWarehouseId) + } + if (defaultLocationId) { + if (!selectedWarehouseId.value) { + const location = await WmWarehouseLocationApi.getWarehouseLocation(defaultLocationId) + selectedWarehouseId.value = location.warehouseId + await loadLocationList(selectedWarehouseId.value) + } + // TODO @linter:修复 + formData.value.locationId = defaultLocationId } } defineExpose({ open }) diff --git a/src/views/mes/wm/warehouse/area/index.vue b/src/views/mes/wm/warehouse/area/index.vue index d677fa988..9a254df00 100644 --- a/src/views/mes/wm/warehouse/area/index.vue +++ b/src/views/mes/wm/warehouse/area/index.vue @@ -1,32 +1,21 @@