From 1ad04812e11792a0f918cb2d9135af6732a7cf5d Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sat, 28 Mar 2026 17:54:07 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(mes):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=B7=A5=E5=BA=8F=E7=BC=96=E5=8F=B7=E5=8F=8A=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=EF=BC=8C=E4=BC=98=E5=8C=96=E5=B7=A5=E4=BD=9C=E7=AB=99=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增工序编号和名称字段,更新工作站相关逻辑以支持工序信息的处理。优化工作站的创建、更新和查询功能,确保工序信息的有效性和完整性。 --- .../mes/md/workstation/WorkstationForm.vue | 39 ++++++++++++++----- .../md/workstation/WorkstationMachineList.vue | 25 +++++++++--- .../md/workstation/WorkstationToolList.vue | 21 +++++++--- .../md/workstation/WorkstationWorkerList.vue | 33 ++++++++++------ src/views/mes/md/workstation/index.vue | 16 +++++++- src/views/mes/utils/constants.ts | 1 + src/views/mes/wm/warehouse/area/AreaForm.vue | 20 ++++++++-- 7 files changed, 117 insertions(+), 38 deletions(-) diff --git a/src/views/mes/md/workstation/WorkstationForm.vue b/src/views/mes/md/workstation/WorkstationForm.vue index 2a3732cff..71e1a9100 100644 --- a/src/views/mes/md/workstation/WorkstationForm.vue +++ b/src/views/mes/md/workstation/WorkstationForm.vue @@ -6,13 +6,14 @@ :rules="formRules" label-width="100px" v-loading="formLoading" + :disabled="isDetail" > @@ -98,6 +99,16 @@ + + + + + @@ -108,19 +119,21 @@ - + - + - + - + @@ -129,12 +142,14 @@ import { getIntDictOptions, DICT_TYPE } from '@/utils/dict' import { MdWorkstationApi, MdWorkstationVO } from '@/api/mes/md/workstation' import MdWorkshopSelect from '@/views/mes/md/workstation/components/MdWorkshopSelect.vue' +import ProProcessSelect from '@/views/mes/pro/process/components/ProProcessSelect.vue' import WmWarehouseSelect from '@/views/mes/wm/warehouse/components/WmWarehouseSelect.vue' import { WmWarehouseVO } from '@/api/mes/wm/warehouse' import { WmWarehouseLocationApi, WmWarehouseLocationVO } from '@/api/mes/wm/warehouse/location' import { WmWarehouseAreaApi, WmWarehouseAreaVO } from '@/api/mes/wm/warehouse/area' import { CommonStatusEnum } from '@/utils/constants' -import { generateRandomStr } from '@/utils' +import { MesAutoCodeRuleCode } from '@/views/mes/utils/constants' +import { AutoCodeRecordApi } from '@/api/mes/md/autocode/record' import WorkstationMachineList from './WorkstationMachineList.vue' import WorkstationToolList from './WorkstationToolList.vue' import WorkstationWorkerList from './WorkstationWorkerList.vue' @@ -147,7 +162,8 @@ const message = useMessage() // 消息弹窗 const dialogVisible = ref(false) // 弹窗的是否展示 const dialogTitle = ref('') // 弹窗的标题 const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 -const formType = ref('') // 表单的类型:create - 新增;update - 修改 +const formType = ref('') // 表单的类型:create - 新增;update - 修改;detail - 详情 +const isDetail = computed(() => formType.value === 'detail') const activeTab = ref('machine') // 当前激活的资源 Tab const locationList = ref([]) // 库区下拉列表 const areaList = ref([]) // 库位下拉列表 @@ -168,13 +184,16 @@ const formRules = reactive({ code: [{ required: true, message: '工作站编码不能为空', trigger: 'blur' }], name: [{ required: true, message: '工作站名称不能为空', trigger: 'blur' }], workshopId: [{ required: true, message: '所在车间不能为空', trigger: 'change' }], + processId: [{ required: true, message: '所属工序不能为空', trigger: 'change' }], status: [{ required: true, message: '状态不能为空', trigger: 'blur' }] }) // 表单校验规则 const formRef = ref() // 表单 Ref /** 生成工作站编码 */ -const generateCode = () => { - formData.value.code = 'WS' + generateRandomStr(12) +const generateCode = async () => { + formData.value.code = await AutoCodeRecordApi.generateAutoCode( + MesAutoCodeRuleCode.MD_WORKSTATION_CODE + ) } /** 加载库区列表 */ diff --git a/src/views/mes/md/workstation/WorkstationMachineList.vue b/src/views/mes/md/workstation/WorkstationMachineList.vue index 3c6f7a6a0..642c2f641 100644 --- a/src/views/mes/md/workstation/WorkstationMachineList.vue +++ b/src/views/mes/md/workstation/WorkstationMachineList.vue @@ -2,7 +2,14 @@