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/task/modules/task-form.vue |   48 ++++++++++++++++++++++++++++++++----------------
 1 files changed, 32 insertions(+), 16 deletions(-)

diff --git a/src/views/mes/pro/task/modules/task-form.vue b/src/views/mes/pro/task/modules/task-form.vue
index fd83dcd..5b64e26 100644
--- a/src/views/mes/pro/task/modules/task-form.vue
+++ b/src/views/mes/pro/task/modules/task-form.vue
@@ -9,6 +9,7 @@
 
 import { useVbenForm } from '#/adapter/form';
 import { createTask, getTask, updateTask } from '#/api/mes/pro/task';
+import { getWorkOrder } from '#/api/mes/pro/workorder';
 import { $t } from '#/locales';
 
 import { useTaskFormSchema } from '../data';
@@ -23,6 +24,7 @@
   routeId?: number;
   workOrderId?: number;
 }>({}); // 鏂板浠诲姟鏃剁殑璁㈠崟 / 宸ュ簭涓婁笅鏂�
+const feedbackRole = ref<string>();
 
 const getTitle = computed(() => {
   return formData.value?.id
@@ -72,8 +74,6 @@
       context.value = {};
       return;
     }
-    formApi.setState({ schema: useTaskFormSchema(formApi, workOrderQuantity) });
-    // 鍔犺浇鏁版嵁
     const data = modalApi.getData<{
       colorCode?: string;
       id?: number;
@@ -83,30 +83,46 @@
       routeId?: number;
       workOrderId?: number;
     }>();
+
+    let wid: number | undefined;
+
     if (data?.id) {
       modalApi.lock();
       try {
         formData.value = await getTask(data.id);
+        wid = formData.value.workOrderId;
         // 璁剧疆鍒� values
         await formApi.setValues(formData.value);
       } finally {
         modalApi.unlock();
       }
-      return;
+    } else {
+      context.value = {
+        colorCode: data.colorCode,
+        itemId: data.itemId,
+        processId: data.processId,
+        routeId: data.routeId,
+        workOrderId: data.workOrderId,
+      };
+      wid = data.workOrderId;
+      workOrderQuantity.value = data.quantity;
+      await formApi.setValues({
+        colorCode: data.colorCode || '#00AEF3',
+        duration: 1,
+        quantity: data.quantity,
+      });
     }
-    context.value = {
-      colorCode: data.colorCode,
-      itemId: data.itemId,
-      processId: data.processId,
-      routeId: data.routeId,
-      workOrderId: data.workOrderId,
-    };
-    workOrderQuantity.value = data.quantity;
-    await formApi.setValues({
-      colorCode: data.colorCode || '#00AEF3',
-      duration: 1,
-      quantity: data.quantity,
-    });
+
+    if (wid) {
+      try {
+        const wo = await getWorkOrder(wid);
+        feedbackRole.value = wo.feedbackRole;
+      } catch {
+        // ignore
+      }
+    }
+
+    formApi.setState({ schema: useTaskFormSchema(formApi, workOrderQuantity, feedbackRole) });
   },
 });
 </script>

--
Gitblit v1.9.3