From 77cd14942b68d0bbc8d5498d4947fc6d7c55dade Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期六, 16 五月 2026 13:02:39 +0800
Subject: [PATCH] 报工增加领料限制,增加工时字段

---
 src/pages/productionManagement/productionReport/index.vue |   56 +++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 47 insertions(+), 9 deletions(-)

diff --git a/src/pages/productionManagement/productionReport/index.vue b/src/pages/productionManagement/productionReport/index.vue
index f5e5b4f..4687c62 100644
--- a/src/pages/productionManagement/productionReport/index.vue
+++ b/src/pages/productionManagement/productionReport/index.vue
@@ -40,6 +40,15 @@
                    @click="openProducerPicker"
                    suffix-icon="arrow-down" />
         </u-form-item>
+        <!-- 宸ユ椂 -->
+        <u-form-item label="宸ユ椂"
+                     v-if="form.type == 0"
+                     prop="workHour">
+          <u-input v-model="form.workHour"
+                   placeholder="璇疯緭鍏ュ伐鏃�"
+                   type="number" />
+          <text class="param-unit">h</text>
+        </u-form-item>
       </view>
       <!-- 鍔ㄦ�佸弬鏁板尯鍩� -->
       <view class="form-section"
@@ -135,7 +144,10 @@
   import { addProductMain } from "@/api/productionManagement/productionReporting";
   import { getInfo } from "@/api/login";
   import { userListNoPageByTenantId } from "@/api/system/user";
-  import { findProcessParamListOrder } from "@/api/productionManagement/productProcessRoute.js";
+  import {
+    findProcessParamListOrder,
+    listMaterialPickingDetail,
+  } from "@/api/productionManagement/productionOrder.js";
   import { getDicts } from "@/api/system/dict/data";
   import { formatDateToYMD, parseTime } from "@/utils/ruoyi";
 
@@ -147,13 +159,13 @@
     scrapQty: "",
     userName: "",
     workOrderId: "",
-    productProcessRouteItemId: "",
     userId: "",
     schedulingUserId: "",
     reportWork: "",
-    productMainId: null,
     productionOrderRoutingOperationId: "",
     productionOrderId: "",
+    workHour: 0,
+    type: null,
     paramGroups: {},
   });
 
@@ -344,12 +356,11 @@
       userId: form.value.userId,
       userName: form.value.userName,
       productionOperationTaskId: form.value.workOrderId,
-      productProcessRouteItemId: form.value.productProcessRouteItemId,
       reportWork: form.value.reportWork,
-      productMainId: form.value.productMainId,
       productionOrderRoutingOperationId:
         form.value.productionOrderRoutingOperationId,
       productionOrderId: form.value.productionOrderId,
+      workHour: form.value.workHour,
       productionOperationParamList: productionOperationParamList,
     };
 
@@ -374,7 +385,7 @@
       });
   };
 
-  onLoad(options => {
+  onLoad(async options => {
     console.log(options, "options");
     if (!options.orderRow) {
       console.log("浠庨椤佃烦杞紝鏃犺鍗曟暟鎹�");
@@ -389,16 +400,43 @@
       const orderRow = JSON.parse(decodeURIComponent(options.orderRow));
       console.log("鏋勯�犵殑orderRow:", orderRow);
 
+      // 鍙傜収 PC 绔�昏緫锛氭湭棰嗘枡鏃犳硶鎶ュ伐
+      if (orderRow.productionOrderId) {
+        try {
+          const res = await listMaterialPickingDetail(orderRow.productionOrderId);
+          const records = Array.isArray(res.data)
+            ? res.data
+            : res.data?.records || [];
+          if (res.code === 200 && records.length === 0) {
+            uni.showModal({
+              title: "鎻愮ず",
+              content: "鏈鏂欐棤娉曟姤宸�",
+              showCancel: false,
+              success: () => {
+                goBack();
+              },
+            });
+            return;
+          }
+        } catch (error) {
+          console.error("鏌ヨ棰嗘枡璇︽儏澶辫触:", error);
+        }
+      }
+
       form.value.planQuantity =
         orderRow.planQuantity != null ? String(orderRow.planQuantity) : "";
-      form.value.productProcessRouteItemId =
-        orderRow.productProcessRouteItemId || "";
       form.value.workOrderId = orderRow.id || "";
       form.value.reportWork = orderRow.reportWork || "";
-      form.value.productMainId = orderRow.productMainId || null;
       form.value.productionOrderRoutingOperationId =
         orderRow.productionOrderRoutingOperationId || "";
       form.value.productionOrderId = orderRow.productionOrderId || "";
+      form.value.type = orderRow.type;
+
+      if (orderRow.type == 0) {
+        form.value.workHour = orderRow.workHour || 0;
+      } else {
+        form.value.workHour = 0;
+      }
 
       getInfo().then(res => {
         form.value.userId = res.user.userId;

--
Gitblit v1.9.3