From 110f99f8d335ed6e8aecf94d605df0ea042c008e Mon Sep 17 00:00:00 2001 From: hwj Date: Thu, 8 Jan 2026 18:14:45 +0800 Subject: [PATCH] =?UTF-8?q?style=EF=BC=9A=E6=96=B9=E6=A1=88=E7=BB=B4?= =?UTF-8?q?=E6=8A=A4-=E7=BC=96=E8=BE=91=E5=BC=B9=E6=A1=86-=E5=85=B3?= =?UTF-8?q?=E8=81=94=E9=A1=B9=E7=9B=AE=E5=9B=9E=E6=98=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../planMaintenance/PlanMaintenanceForm.vue | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/src/views/mes/planMaintenance/PlanMaintenanceForm.vue b/src/views/mes/planMaintenance/PlanMaintenanceForm.vue index 123a3444..9ef6641f 100644 --- a/src/views/mes/planMaintenance/PlanMaintenanceForm.vue +++ b/src/views/mes/planMaintenance/PlanMaintenanceForm.vue @@ -62,11 +62,23 @@ const ensureSubjectOptionsLoaded = async () => { const parseIds = (value: any): Array => { if (!value) return [] - if (Array.isArray(value)) return value - return String(value) - .split(',') - .map((v) => v.trim()) - .filter((v) => v !== '') + const raw = Array.isArray(value) + ? value + : String(value) + .split(',') + .map((v) => v.trim()) + .filter((v) => v !== '') + + return raw + .map((v) => { + if (typeof v === 'number') return v + const s = String(v).trim() + if (!s) return undefined + const n = Number(s) + if (Number.isFinite(n) && String(n) === s) return n + return s + }) + .filter((v): v is number | string => v !== undefined) } const initFormData = () => ({ @@ -98,7 +110,7 @@ const open = async (type: 'create' | 'update', row?: Partial) planName: (row.planName as any) ?? '', planType: (row.planType as any) ?? undefined, description: (row.description as any) ?? '', - subjectIds: parseIds((row as any).subjectIdS) + subjectIds: parseIds((row as any).subjectIds ?? (row as any).subjectIdS) } } }