From f39ce1aec243d5a85f254b5a7daae2a5e24d1c20 Mon Sep 17 00:00:00 2001 From: hwj Date: Tue, 21 Apr 2026 11:41:21 +0800 Subject: [PATCH] =?UTF-8?q?style=EF=BC=9A=E6=A3=80=E9=AA=8C=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF-=E6=96=B0=E5=A2=9E/=E7=BC=96=E8=BE=91-=E6=A3=80?= =?UTF-8?q?=E9=AA=8C=E6=96=B9=E6=A1=88=E6=B7=BB=E5=8A=A0productId=E4=BC=A0?= =?UTF-8?q?=E5=8F=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/mes/plan/index.vue | 2 +- src/views/mes/zjTask/ZjTaskForm.vue | 29 ++++++++++++++++++++++++----- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/src/views/mes/plan/index.vue b/src/views/mes/plan/index.vue index 8e14a610..fc95076b 100644 --- a/src/views/mes/plan/index.vue +++ b/src/views/mes/plan/index.vue @@ -439,7 +439,7 @@ const handleInspectExpand = (row: PlanVO) => { const zjTaskFormRef = ref() const openZjTaskForm = (row: PlanVO) => { - zjTaskFormRef.value.open('create', undefined, { ticketType: 1, ticket: row.id, ticketName: row.code }) + zjTaskFormRef.value.open('create', undefined, { ticketType: 1, ticket: row.id, ticketName: row.code, productId: row.productId }) } const setInspectable = (id: number | undefined, hasPending: boolean) => { diff --git a/src/views/mes/zjTask/ZjTaskForm.vue b/src/views/mes/zjTask/ZjTaskForm.vue index 0c2c9329..3ef010fd 100644 --- a/src/views/mes/zjTask/ZjTaskForm.vue +++ b/src/views/mes/zjTask/ZjTaskForm.vue @@ -19,7 +19,7 @@ + :placeholder="t('QualityManagement.ZjTask.placeholderFormTicket')" @change="fetchProductIdByTicket"> @@ -30,7 +30,7 @@ :value="dict.value" /> - + ([]) const selectedSchemaId = ref(undefined) +const currentProductId = ref(undefined) const orgTypeOptions = getStrDictOptions(DICT_TYPE.MES_ORG_TYPE) const userList = ref([]) @@ -193,10 +194,13 @@ const formatSchemaVal = (val: string | number | null | undefined) => { } const loadSchemaList = async () => { - if (schemaList.value.length) return schemaLoading.value = true try { - const data = await ZjSchemaApi.getZjSchemaList() + const params: any = {} + if (formData.value.ticketType === 1 && currentProductId.value) { + params.productId = currentProductId.value + } + const data = await ZjSchemaApi.getZjSchemaList(params) schemaList.value = data || [] } finally { schemaLoading.value = false @@ -205,6 +209,7 @@ const loadSchemaList = async () => { const openSchemaDialog = async () => { schemaDialogVisible.value = true + schemaList.value = [] await loadSchemaList() } @@ -245,10 +250,11 @@ const resetForm = () => { } selectedSchemaId.value = undefined lockedFields.value = {} + currentProductId.value = undefined formRef.value?.resetFields() } -const open = async (type: string, record?: ZjTaskVO, preset?: { ticketType?: number; ticket?: number; ticketName?: string }) => { +const open = async (type: string, record?: ZjTaskVO, preset?: { ticketType?: number; ticket?: number; ticketName?: string; productId?: number }) => { dialogVisible.value = true dialogTitle.value = t('action.' + type) formType.value = type @@ -281,6 +287,9 @@ const open = async (type: string, record?: ZjTaskVO, preset?: { ticketType?: num lockedFields.value.ticket = true planList.value = [{ id: preset.ticket, code: preset.ticketName || '' }] as PlanVO[] } + if (preset.productId !== undefined) { + currentProductId.value = preset.productId + } } } @@ -317,10 +326,20 @@ const submitForm = async () => { } const ticketTypeChange = async () => { + formData.value.ticket = undefined + currentProductId.value = undefined if (formData.value.ticketType != undefined) { const type = formData.value.ticketType === 1 ? 8 : formData.value.ticketType const data = await PlanApi.getPlanByTicketType(type) planList.value = data || [] } } + +const fetchProductIdByTicket = async () => { + if (!formData.value.ticket) return + const plan = planList.value.find((item: any) => item.id === formData.value.ticket) + if (plan?.productId) { + currentProductId.value = plan.productId + } +}