From 515096037198ae42bd43d88c8b53d7106aa916eb Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 09 六月 2026 16:04:33 +0800
Subject: [PATCH] 宝东 1.报工页面子表格查询问题

---
 src/views/productionManagement/workOrderManagement/index.vue |   36 ++++++++++++++++++++++++++++++++----
 1 files changed, 32 insertions(+), 4 deletions(-)

diff --git a/src/views/productionManagement/workOrderManagement/index.vue b/src/views/productionManagement/workOrderManagement/index.vue
index 6d282d7..ced481b 100644
--- a/src/views/productionManagement/workOrderManagement/index.vue
+++ b/src/views/productionManagement/workOrderManagement/index.vue
@@ -570,7 +570,7 @@
 const getList = () => {
   tableLoading.value = true;
   const params = { ...searchForm.value, current: page.current, size: page.size };
-  productWorkOrderPage(params)
+  return productWorkOrderPage(params)
     .then(res => {
       tableLoading.value = false;
       const records = res.data.records || [];
@@ -584,6 +584,33 @@
     .catch(() => {
       tableLoading.value = false;
     });
+};
+
+// 閲嶆柊鍔犺浇鎸囧畾鐖惰鐨勫瓙宸ュ簭鏁版嵁
+const reloadExpandedChildren = () => {
+  const expandedIds = expandedRowKeys.value;
+  if (expandedIds.length === 0) return;
+  expandedIds.forEach(parentId => {
+    const parentRow = tableData.value.find(
+      item => String(item.productionOrderId) === String(parentId)
+    );
+    if (parentRow) {
+      parentRow.childrenLoading = true;
+      getWorkOrdersByOrderId(parentId)
+        .then(res => {
+          parentRow.childrenLoading = false;
+          const idx = tableData.value.findIndex(
+            item => String(item.productionOrderId) === String(parentId)
+          );
+          if (idx > -1) {
+            tableData.value[idx].children = res.data || [];
+          }
+        })
+        .catch(() => {
+          parentRow.childrenLoading = false;
+        });
+    }
+  });
 };
 
 const expandChange = (row, expandedRows) => {
@@ -694,8 +721,7 @@
   reportForm.workOrderId = row.id;
   reportForm.reportWork = row.reportWork;
   reportForm.productMainId = row.productMainId;
-  reportForm.scrapQty =
-    row.scrapQty !== undefined && row.scrapQty !== null ? row.scrapQty : null;
+  reportForm.scrapQty = 0;
   reportForm.productionOrderRoutingOperationId =
     row.productionOrderRoutingOperationId;
   reportForm.productionOrderId = row.productionOrderId;
@@ -785,7 +811,9 @@
       .then(res => {
         proxy.$modal.msgSuccess("鎶ュ伐鎴愬姛");
         reportDialogVisible.value = false;
-        getList();
+        getList().then(() => {
+          reloadExpandedChildren();
+        });
       })
       .catch(() => {
         ElMessageBox.alert("鎶ュ伐澶辫触", "鎻愮ず", {

--
Gitblit v1.9.3