Ver código fonte

采购需求单和处理界面加入合计

黄梓星 1 ano atrás
pai
commit
111f77f948

+ 5 - 3
src/views/purchase/DemandSummary/index.vue

@@ -248,7 +248,8 @@
           class="exporttable"
           border
           show-summary
-          :summary-method="getSummaries"
+          show-footer
+          :footer-method="getSummaries"
           highlight-current-row
           max-height="620"
           style="font-size: 12px;"
@@ -586,9 +587,10 @@ export default {
     getSummaries(param) {
       const { columns, data } = param;
       const sums = [];
+      console.log('Lie', columns)
       columns.forEach((column, index) => {
         if (index === 0) {
-          sums[index] = '合计';
+          sums.push('合计');
           return;
         }
         const values = data.map(item => Number(item[column.property]));
@@ -605,7 +607,7 @@ export default {
 
         }
       });
-      return sums
+      return [sums]
     },
     // 搜索
     search() {

+ 30 - 2
src/views/purchase/PurchaseDemandList/add.vue

@@ -186,7 +186,7 @@
           keep-source
           beautifyTable
           show-summary
-          @summary-method="jisuan"
+          :summary-method="jisuan"
           :checkbox-config="{highlight: true, trigger: 'row'}"
           :edit-config="{trigger: 'click', mode: 'row'}"
           :validConfig="{autoPos: true}">
@@ -1924,7 +1924,35 @@ export default {
       })
     },
     jisuan({columns, data}) {
-      console.log('生效了吗', {columns, data})
+      // console.log('生效了吗', {columns, data})
+      const means = [] // 合计
+      columns.forEach((column, columnIndex) => {
+          if (columnIndex === 0) {
+              means.push('合计')
+          } else {
+              const values = data.map(item => Number(item[column.property]));
+              // 合计
+              if (column.property === 'qty') {
+                  means[columnIndex] = values.reduce((prev, curr) => {
+                      const value = Number(curr);
+                      if (!isNaN(value)) {
+                          return prev + curr;
+                      } else {
+                          return prev;
+                      }
+                  }, 0);
+                  // means[columnIndex] += ' 元'
+                  // 改变了ele的合计方式,扩展了合计场景
+                  // 你以为就只有上面这样玩吗?错啦,你还可以自定义样式哦
+                  // means[columnIndex] = '<span style="color: red">' + means[columnIndex] + '元</span>'
+                  means[columnIndex] = + means[columnIndex]
+              } else {
+                  means[columnIndex] = '';
+              }
+          }
+      })
+      // 返回一个二维数组的表尾合计(不要平均值,你就不要在数组中添加)
+      return [means]
     }
   }
 }