From aeecb103cf6fe1ba8ad5eb1fb22672853172db6a Mon Sep 17 00:00:00 2001
From: 小小儁爺 <1694218219@qq.com>
Date: 星期二, 30 七月 2024 17:39:13 +0800
Subject: [PATCH] 1.增加列表数据求和功能

---
 src/views/workOrder/produceOrderList.vue |   41 ++++++++++++++++++++
 src/views/workOrder/workOrderList.vue    |   30 +++++++++++++++
 src/views/workOrder/workOrderSend.vue    |   30 +++++++++++++++
 3 files changed, 101 insertions(+), 0 deletions(-)

diff --git a/src/views/workOrder/produceOrderList.vue b/src/views/workOrder/produceOrderList.vue
index 82cf048..e6ca71b 100644
--- a/src/views/workOrder/produceOrderList.vue
+++ b/src/views/workOrder/produceOrderList.vue
@@ -172,6 +172,8 @@
           highlight-current-row
           :header-cell-style="this.$headerCellStyle"
           :cell-style="this.$cellStyle"
+          :summary-method="getSummaries"
+          show-summary
           @sort-change="sortChange"
           @selection-change="handleSelectionChange"
         >
@@ -1078,6 +1080,45 @@
     },
     tableRowClassName({ row, rowIndex }) {
       return 'custom-row'
+    },
+    getSummaries(param) {
+      const { columns, data } = param
+      const sums = []
+      const i = 7
+      columns.forEach((column, index) => {
+        if (index === i) {
+          sums[index] = '鎬绘暟'
+          return
+        }
+        const values = data.map(item => Number(item[column.property]))
+        if (column.property === 'qty') {
+          sums[index] = values.reduce((prev, curr) => {
+            const value = Number(curr)
+            if (!isNaN(value)) {
+              return prev + curr
+              // return Math.round(prev * 100) / 100 + Math.round(curr * 100) / 100
+            }
+          }, 0)
+
+          sums[index] += ' 鍗�'
+        }
+        if (column.property === 'relse_qty') {
+          sums[index] = values.reduce((prev, curr) => {
+            const value = Number(curr)
+            if (!isNaN(value)) {
+              return prev + curr
+              // return Math.round(prev * 100) / 100 + Math.round(curr * 100) / 100
+            }
+          }, 0)
+
+          sums[index] += ' 鍗�'
+        }
+      })
+
+      this.$nextTick(() => {
+        this.$refs.tableDataRef.doLayout()
+      })
+      return sums
     }
   }
 }
diff --git a/src/views/workOrder/workOrderList.vue b/src/views/workOrder/workOrderList.vue
index 4afa633..6f348d3 100644
--- a/src/views/workOrder/workOrderList.vue
+++ b/src/views/workOrder/workOrderList.vue
@@ -135,6 +135,8 @@
           :data="tableData"
           :height="isExpandForm?tableHeight:(tableHeight+80)+'px'"
           border
+          :summary-method="getSummaries"
+          show-summary
           :row-class-name="tableRowClassName"
           :style="{width: 100+'%',height:isExpandForm?tableHeight:(tableHeight+80)+'px'}"
           highlight-current-row
@@ -3657,6 +3659,34 @@
     },
     stepSelectedValueChange(val) {
       // console.log(val, 123)
+    },
+    getSummaries(param) {
+      const { columns, data } = param
+      const sums = []
+      const i = 9
+      columns.forEach((column, index) => {
+        if (index === i) {
+          sums[index] = '鎬绘暟'
+          return
+        }
+        const values = data.map(item => Number(item[column.property]))
+        if (column.property === 'plan_qty') {
+          sums[index] = values.reduce((prev, curr) => {
+            const value = Number(curr)
+            if (!isNaN(value)) {
+              return prev + curr
+              // return Math.round(prev * 100) / 100 + Math.round(curr * 100) / 100
+            }
+          }, 0)
+
+          sums[index] += ' 鍗�'
+        }
+      })
+
+      this.$nextTick(() => {
+        this.$refs.tableDataRef.doLayout()
+      })
+      return sums
     }
   }
 }
diff --git a/src/views/workOrder/workOrderSend.vue b/src/views/workOrder/workOrderSend.vue
index c726f93..263dcec 100644
--- a/src/views/workOrder/workOrderSend.vue
+++ b/src/views/workOrder/workOrderSend.vue
@@ -148,6 +148,8 @@
           :data="tableData"
           :height="isExpandForm?tableHeight:(tableHeight+80)+'px'"
           border
+          :summary-method="getSummaries"
+          show-summary
           :row-class-name="tableRowClassName"
           :style="{width: 100+'%',height:isExpandForm?tableHeight:(tableHeight+80)+'px'}"
           highlight-current-row
@@ -3105,6 +3107,34 @@
     },
     stepSelectedValueChange(val) {
       // console.log(val, 123)
+    },
+    getSummaries(param) {
+      const { columns, data } = param
+      const sums = []
+      const i = 8
+      columns.forEach((column, index) => {
+        if (index === i) {
+          sums[index] = '鎬绘暟'
+          return
+        }
+        const values = data.map(item => Number(item[column.property]))
+        if (column.property === 'plan_qty') {
+          sums[index] = values.reduce((prev, curr) => {
+            const value = Number(curr)
+            if (!isNaN(value)) {
+              return prev + curr
+              // return Math.round(prev * 100) / 100 + Math.round(curr * 100) / 100
+            }
+          }, 0)
+
+          sums[index] += ' 鍗�'
+        }
+      })
+
+      this.$nextTick(() => {
+        this.$refs.tableDataRef.doLayout()
+      })
+      return sums
     }
   }
 }

--
Gitblit v1.9.3