From 3d15065e1a1b5297033cebb87165dd6298706705 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期六, 09 五月 2026 16:30:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_NEW_pro' into dev_NEW_pro

---
 src/views/productionManagement/workOrderManagement/index.vue |   35 ++++++++++++++++++++++++++++++++++-
 1 files changed, 34 insertions(+), 1 deletions(-)

diff --git a/src/views/productionManagement/workOrderManagement/index.vue b/src/views/productionManagement/workOrderManagement/index.vue
index 600b274..119bd9e 100644
--- a/src/views/productionManagement/workOrderManagement/index.vue
+++ b/src/views/productionManagement/workOrderManagement/index.vue
@@ -161,6 +161,17 @@
                        :value="user.userId" />
           </el-select>
         </el-form-item>
+        <!-- 宸ユ椂 -->
+        <el-form-item label="宸ユ椂"
+                      v-if="currentReportRowData?.type == 0"
+                      prop="workHour">
+          <el-input v-model.number="reportForm.workHour"
+                    type="number"
+                    min="0"
+                    style="width: 280px"
+                    placeholder="璇疯緭鍏ュ伐鏃�" /><span style="margin-left:10px"
+                class="param-unit">h</span>
+        </el-form-item>
         <div v-if="params.length > 0"
              class="param-grid"
              v-loading="paramLoading">
@@ -259,6 +270,7 @@
     addProductMain,
     downProductWorkOrder,
   } from "@/api/productionManagement/workOrder.js";
+  import { listMaterialPickingDetail } from "@/api/productionManagement/productionOrder.js";
   import { findProcessParamListOrder } from "@/api/productionManagement/productProcessRoute.js";
   import { getUserProfile, userListNoPageByTenantId } from "@/api/system/user.js";
   import { getDicts } from "@/api/system/dict/data";
@@ -418,6 +430,7 @@
     productMainId: null,
     productionOrderRoutingOperationId: "",
     productionOrderId: "",
+    workHour: 0,
     paramGroups: {},
   });
 
@@ -644,7 +657,21 @@
     fileDialogVisible.value = true;
   };
 
-  const showReportDialog = row => {
+  const showReportDialog = async row => {
+    if (row.productionOrderId) {
+      try {
+        const res = await listMaterialPickingDetail(row.productionOrderId);
+        const records = Array.isArray(res.data)
+          ? res.data
+          : res.data?.records || [];
+        if (res.code === 200 && records.length === 0) {
+          proxy.$modal.msgError("鏈鏂欐棤娉曟姤宸�");
+          return;
+        }
+      } catch (error) {
+        console.error("鏌ヨ棰嗘枡璇︽儏澶辫触:", error);
+      }
+    }
     currentReportRowData.value = row;
     reportForm.planQuantity = row.planQuantity;
     reportForm.quantity =
@@ -658,6 +685,11 @@
     reportForm.productionOrderRoutingOperationId =
       row.productionOrderRoutingOperationId;
     reportForm.productionOrderId = row.productionOrderId;
+    if (row.type == 0) {
+      reportForm.workHour = row.workHour || 0;
+    } else {
+      reportForm.workHour = 0;
+    }
     nextTick(() => {
       reportFormRef.value?.clearValidate();
       if (row.productionOrderRoutingOperationId && row.productionOrderId) {
@@ -757,6 +789,7 @@
         productionOrderRoutingOperationId:
           reportForm.productionOrderRoutingOperationId,
         productionOrderId: reportForm.productionOrderId,
+        workHour: reportForm.workHour,
         productionOperationParamList: productionOperationParamList,
       };
 

--
Gitblit v1.9.3