From 3ab330b8aefb3cd781c9b8730b4ab7ac65e7e9d7 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期五, 07 三月 2025 09:14:08 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override

---
 north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/ComputeCard.vue |  107 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 106 insertions(+), 1 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/ComputeCard.vue b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/ComputeCard.vue
index f1a9272..1ba435b 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/ComputeCard.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/ComputeCard.vue
@@ -1,5 +1,6 @@
 <script setup>
 import {nextTick, onMounted, reactive, ref, watch} from "vue";
+import request from "@/utils/request";
 import {useI18n} from "vue-i18n";
 const { t } = useI18n()
 
@@ -70,9 +71,14 @@
   },
 
 })
+
 let emit = defineEmits([
-  'changeDialog','upProcessId'
+  'changeDialog','upProcessId', 'sendData'
 ]);
+
+
+
+
 
 const props = defineProps({
   tableData: Array,
@@ -88,12 +94,111 @@
       if (typeof grid.refresh === 'function') {
         grid.refresh();
       }
+      
+      
+      // 鎻愬彇鎵�鏈夊敮涓�鐨刾rocess_id
+      const processIds = Array.from(new Set(newData.map(item => item.process_id)));
+      
+      // 鍙戣捣鎵�鏈夎姹�
+      const requests = processIds.map(processId => 
+        request.post(`/glassOptimize/selectComputeDetail/${processId}`)
+      );
+      
+      try {
+        const responses = await Promise.all(requests);
+        
+        // 鏁村悎鏁版嵁
+        const processData = responses.reduce((acc, res, index) => {
+          const processId = processIds[index];
+          
+          // 妫�鏌es.data鏄惁涓哄璞★紝骞朵笖鍖呭惈'data'瀛楁
+          if (typeof res.data === 'object' && res.data !== null && 'data' in res.data) {
+            const data = res.data.data;
+            
+            // 妫�鏌ata鏄惁涓烘暟缁�
+            if (!Array.isArray(data)) {
+              console.error(`鍝嶅簲鏁版嵁涓殑'data'瀛楁涓嶆槸鏁扮粍锛宲rocess_id: ${processId}`);
+              return acc;
+            }
+            
+            // 鑾峰彇瀵瑰簲process_id鐨刵ewData鏉$洰
+            const relatedNewData = newData.filter(item => item.process_id === processId);
+           
+            // 鍒濆鍖杙rocess_card瀵硅薄
+            const processCard = {
+  process_no: processId,
+  layers: relatedNewData.technology_number,
+  total_layers: relatedNewData.TotalNumber,
+  total_num: relatedNewData.quantity,
+  total_area: relatedNewData.area,
+  is_must: true,
+  allow_rotate: relatedNewData.check === 1 ? true : false,
+  priority_level: 0,
+  tempering: relatedNewData.check === 2 ? true : false,
+  curtain_wall: relatedNewData.check === 3 ? true : false,
+  patch_state: 0,
+  merge: 0,
+  glass_details: []
+};
+
+            
+            // 鏁村悎glass_details
+            data.forEach(detail => {
+              const matchedNewData = relatedNewData.find(
+                item => item.technology_number === detail.technology_number
+              );
+              
+              processCard.glass_details.push({
+                process_id: processId,
+                technology_number: detail.technology_number,
+                order_number: detail.order_number,
+                layers_number: detail.layers_number,
+                max_width: detail.width,
+                max_height: detail.height,
+                child_width: detail.child_width,
+                child_height: detail.child_height,
+                quantity: matchedNewData ? matchedNewData.quantity : 0,
+                patch_state: 0
+              });
+            });
+            
+            // 灏唒rocessCard娣诲姞鍒癮cc涓�
+            if (!acc.process_cards) {
+              acc.process_cards = [];
+            }
+            acc.process_cards.push(processCard);
+              // 璁剧疆鍏朵粬瀛楁鐨勫��
+          
+          } else {
+            console.error(`鍝嶅簲鏁版嵁鏍煎紡涓嶆纭紝process_id: ${processId}`);
+          }
+          return acc;
+        }, {});
+        if (newData.length > 0) {
+          // 鍋囪鎵�鏈夋潯鐩殑thickness鍜実lassType鐩稿悓
+          processData.glass_thickness = newData[0].thickness;
+          processData.glass_type = newData[0].glassType;
+        } else {
+          processData.glass_thickness = "";
+          processData.glass_type = "";
+        }
+      
+     
+        
+        // 鍙戦�佹暣鍚堝悗鐨勬暟鎹埌鐖剁粍浠�
+        emit('sendData', processData);
+      } catch (error) {
+        console.error('璇锋眰澶辫触:', error);
+      }
     }
   } else {
     console.error('浼犻�掔粰琛ㄦ牸鐨勬暟鎹牸寮忎笉绗﹀悎瑕佹眰锛屾湡鏈涙槸鏁扮粍鏍煎紡');
   }
 });
 
+
+
+
 let process_id = ref()
 //鑾峰彇娴佺▼鍗″彿璇︽儏
 let rowClickIndex = ref(null)

--
Gitblit v1.8.0