From 2b78cf0cd68e1809bc4cad7d730bef6ab9c4c118 Mon Sep 17 00:00:00 2001
From: zzq <a13193816592@163.com>
Date: 星期四, 28 九月 2023 15:30:45 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/web/WMS

---
 src/components/makepager/TableCommonView.vue |   62 ++++++++++++++++++++++++++++--
 1 files changed, 57 insertions(+), 5 deletions(-)

diff --git a/src/components/makepager/TableCommonView.vue b/src/components/makepager/TableCommonView.vue
index b32674a..d3136aa 100644
--- a/src/components/makepager/TableCommonView.vue
+++ b/src/components/makepager/TableCommonView.vue
@@ -1,6 +1,6 @@
 <!-- eslint-disable vue/no-use-v-if-with-v-for -->
 <template>
-  <div class="table-view" v-loading="loading">
+  <div :class="{ 'table-view': true, table_height: !showSummary }" v-loading="loading">
     <el-table
       ref="table"
       border
@@ -19,6 +19,8 @@
       :default-expand-all="tableList.isDefaultExpandAll"
       :tree-props="{ children: 'child', hasChildren: 'hasChildren' }"
       :span-method="objectSpanMethod"
+      :summary-method="getSummaries"
+      :show-summary="showSummary"
     >
       <el-table-column v-if="tableList.selectBox" type="selection" width="40"> </el-table-column>
       <el-table-column v-if="tableList.selectIndex" type="index" label="搴忓彿" width="50"> </el-table-column>
@@ -40,10 +42,10 @@
             <span
               class="Badge"
               :class="{
-                greenSlot: scope.row.status == '4',
+                greenSlot: scope.row.status == '4'||scope.row.status ==  '瀹屾垚',
                 redSlot: scope.row.status == '5',
-                blueSlot: scope.row.status == '3',
-                graySlot: scope.row.status == '1'
+                blueSlot: scope.row.status == '3'||scope.row.status ==  '灏辩华',
+                graySlot: scope.row.status == '1',
               }"
               >{{
                 item.isCallMethod ? item.getCallMethod(scope.row[item.prop], scope.row) : scope.row[item.prop]
@@ -57,9 +59,14 @@
           <!-- 灏忎簬褰撳墠鏃堕棿鏄剧ず涓嶅悓棰滆壊 -->
           <span
             v-else-if="item.date"
-            :style="{ color: new Date().getTime() > new Date(scope.row[item.prop]).getTime() ? '#D23F3A' : '#606266' }"
+            :style="{
+              color: new Date().getTime() > new Date(scope.row[item.prop]).getTime() ? '#D23F3A' : '#606266'
+            }"
             >{{ timeAgo(scope.row[item.prop]) }}</span
           >
+          <div v-else-if="item.conversion">
+            <span>{{ item.getStatus(scope.row[item.prop]) }}</span>
+          </div>
           <span
             v-else-if="item.isClick && scope.row[item.prop]"
             :class="item.className ? item.className : 'sel-name'"
@@ -103,6 +110,7 @@
           showStyle: true,
           tableInfomation: [], // 鎺ュ彛杩斿洖鏁版嵁
           showcol: [],
+          countcol: [],
           allcol: [],
           highlight: false,
           tableColumn: [
@@ -138,6 +146,10 @@
     showCheckcol: {
       type: Boolean,
       default: true
+    },
+    showSummary: {
+      type: Boolean,
+      default: false
     }
   },
   data() {
@@ -206,6 +218,40 @@
     },
     timeAgo(val) {
       return timeago(val)
+    },
+    //姹傚拰
+    getSummaries(param) {
+      if (this.tableList.countcol && this.tableList.countcol.length > 0) {
+        const { columns, data } = param
+        const sums = []
+        columns.forEach((column, index) => {
+          if (index === 0) {
+            sums[index] = " "
+            return
+          }
+          this.tableList.countcol.forEach((countcols) => {
+            if (column.label === countcols) {
+              const values = data.map((item) => Number(item[column.property]))
+              if (!values.every((value) => isNaN(value))) {
+                sums[index] = values.reduce((prev, curr) => {
+                  const value = Number(curr)
+                  if (!isNaN(value)) {
+                    return prev + curr
+                  } else {
+                    return prev
+                  }
+                }, 0)
+                sums[index] = this.tableList.tableColumn[index - 1].unit + "" + sums[index]
+              } else {
+                sums[index] = ""
+              }
+            } else {
+              return
+            }
+          })
+        })
+        return sums
+      }
     }
   }
 }
@@ -213,6 +259,12 @@
 
 <!-- Add "scoped" attribute to limit CSS to this component only -->
 <style lang="scss" scoped>
+.table_height {
+  height: 100%;
+}
+.el-table__body-wrapper {
+  height: 100%;
+}
 .table-view {
   position: relative;
   height: 100%;

--
Gitblit v1.8.0