From 889d8ddf4c13c1b1bdbabd04c2d80b904020151e Mon Sep 17 00:00:00 2001
From: hsy <1029150275@qq.com>
Date: 星期三, 19 八月 2026 12:49:24 +0800
Subject: [PATCH] 生产订单与报工模块改造汇总 (Git Commit 文档) feat(mes-pro): 生产订单及报工模块审批流与批次填报改造 1. 生产订单功能增强 (Work Order)

---
 src/views/mes/pro/workorder/modules/form.vue |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/src/views/mes/pro/workorder/modules/form.vue b/src/views/mes/pro/workorder/modules/form.vue
index 2a51ec9..5cca3a7 100644
--- a/src/views/mes/pro/workorder/modules/form.vue
+++ b/src/views/mes/pro/workorder/modules/form.vue
@@ -127,7 +127,10 @@
     if (!valid || !formData.value?.id) return;
     modalApi.lock();
     try {
-      const data = (await formApi.getValues()) as MesProWorkOrderApi.WorkOrder;
+      const data = (await formApi.getValues()) as any;
+      if (Array.isArray(data.feedbackRole)) {
+        data.feedbackRole = data.feedbackRole.join(',');
+      }
       await updateWorkOrder({ ...formData.value, ...data });
       if (tempProcessList.value.length > 0) {
         const processList = tempProcessList.value.map(item => ({
@@ -180,7 +183,10 @@
           if (isEditable.value) {
             const current = JSON.stringify(await formApi.getValues());
             if (current !== originalSnapshot.value) {
-              const data = (await formApi.getValues()) as MesProWorkOrderApi.WorkOrder;
+              const data = (await formApi.getValues()) as any;
+              if (Array.isArray(data.feedbackRole)) {
+                data.feedbackRole = data.feedbackRole.join(',');
+              }
               await updateWorkOrder({ ...formData.value, ...data });
               originalSnapshot.value = current;
             }
@@ -242,7 +248,10 @@
       const { valid } = await formApi.validate();
       if (!valid) return;
       modalApi.lock();
-      const data = (await formApi.getValues()) as MesProWorkOrderApi.WorkOrder;
+      const data = (await formApi.getValues()) as any;
+      if (Array.isArray(data.feedbackRole)) {
+        data.feedbackRole = data.feedbackRole.join(',');
+      }
       try {
         if (formData.value?.id) {
           // 缂栬緫妯″紡
@@ -306,7 +315,11 @@
         modalApi.lock();
         try {
           formData.value = await getWorkOrder(data.id);
-          await formApi.setValues(formData.value);
+          const formValues: any = { ...formData.value };
+          if (formValues.feedbackRole && typeof formValues.feedbackRole === 'string') {
+            formValues.feedbackRole = formValues.feedbackRole.split(',');
+          }
+          await formApi.setValues(formValues);
           currentProductId.value = formData.value.productId;
         } finally {
           modalApi.unlock();

--
Gitblit v1.9.3