From 3c63bfcb45c622fee76934a0cfefdc1a9396fc8d Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期五, 07 二月 2025 13:33:18 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override

---
 north-glass-erp/northglass-erp/src/views/pp/report/ProcessCardProgress.vue |   45 ++++++++++++++++++++++++++++++---------------
 1 files changed, 30 insertions(+), 15 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/ProcessCardProgress.vue b/north-glass-erp/northglass-erp/src/views/pp/report/ProcessCardProgress.vue
index b0fad29..8e65a26 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/ProcessCardProgress.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/ProcessCardProgress.vue
@@ -52,20 +52,25 @@
 let column = [1,3,8]
 //鐐瑰嚮鏌ヨ
 const getWorkOrder = () => {
-  request.post(`/report/processCardProgress/${form.orderId}`,column).then((res) => {
+  request.post(`/report/processCardProgress/${form.orderId}`, column).then((res) => {
     if (res.code == 200) {
-      if(res.data.data.length===0){
+      if (res.data.data.length === 0) {
         ElMessage.warning(t('report.noDataFoundForThisOrder'))
         return
       }
-      //gridOptions.columns = JSON.parse(JSON.stringify(columns))
-      res.data.title.forEach(item =>{
-        let column = {slots: { default: 'quantitySum' }, width: 90,title: item.process}
+      // 鍔ㄦ�佹坊鍔犲垪
+      res.data.title.forEach((item, index) => {
+        let column = {
+          slots: { default: 'quantitySum' },
+          width: 90,
+          title: item.process,
+          field: `dynamicColumn${index}` // 涓哄姩鎬佸垪娣诲姞鍞竴鐨� field
+        }
         gridOptions.columns.push(column)
       })
       res.data.data.forEach(item => {
-        item.reportWorkQuantity=JSON.parse(item.reportWorkQuantity)
-        item.reportWorkQuantityCount=JSON.parse(item.reportWorkQuantityCount)
+        item.reportWorkQuantity = JSON.parse(item.reportWorkQuantity)
+        item.reportWorkQuantityCount = JSON.parse(item.reportWorkQuantityCount)
       })
       mergeCells.value = res.data.mergeCell
       xGrid.value.loadData(res.data.data)
@@ -74,6 +79,16 @@
     }
   })
 }
+
+const footSumDynamic = (data, columnTitle) => {
+  let sum = 0;
+  data.forEach(item => {
+    const value = Number(item.reportWorkQuantity[columnTitle]) || 0; // 浠� reportWorkQuantity 涓彁鍙栧�煎苟杞崲涓烘暟瀛�
+    sum += value;
+  });
+  return sum.toFixed(2);
+}
+
 const quantitySum = ( row,column )=>{
   const reportWorkQuantity = row.reportWorkQuantity[column.title] || 0
   const reportWorkQuantityCount = row.reportWorkQuantityCount[column.title] || 0
@@ -169,24 +184,24 @@
   data:  [
   ],//table body瀹為檯鏁版嵁
   //鑴氶儴姹傚拰
-  footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
-
-    return[
+  footerMethod ({ columns, data }) {
+    return [
       columns.map((column, columnIndex) => {
         if (columnIndex === 0) {
           return t('basicData.total')
         }
-        const List = ["quantity","broken_num","inventory",]
+        const List = ["quantity", "broken_num", "inventory", "inventoryArea"]; // 闈欐�佸垪鐨勬眰鍜�
         if (List.includes(column.field)) {
-          console.log(data)
-          console.log(column.field)
           return footSum(data, column.field)
+        }
+        // 鍔ㄦ�佸垪鐨勬眰鍜�
+        if (column.field && column.field.startsWith('dynamicColumn')) {
+          return footSumDynamic(data, column.title)
         }
         return ''
       })
     ]
-  },
-
+  }
 })
 
 

--
Gitblit v1.8.0