From 03cfba0f636b42417070fc8caef44bcdd792a085 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期二, 07 五月 2024 17:34:37 +0800
Subject: [PATCH] 概述 出库模块 编辑的时候循环处理对应产品调用接口获取在库数量的逻辑处理

---
 src/components/makepager/TableCommonView.vue |   59 +++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 43 insertions(+), 16 deletions(-)

diff --git a/src/components/makepager/TableCommonView.vue b/src/components/makepager/TableCommonView.vue
index 34f0287..9169ad1 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': true, table_height: !showSummary }" v-loading="loading">
+  <div class="table-view" v-loading="loading">
     <el-table
       ref="table"
       border
@@ -22,7 +22,7 @@
       :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.selectBox" type="selection" width="40" :selectable="selectable"> </el-table-column>
       <el-table-column v-if="tableList.selectIndex" type="index" label="搴忓彿" width="50"> </el-table-column>
       <el-table-column
         v-for="(item, i) in tableList.tableColumn"
@@ -43,10 +43,10 @@
             <span
               class="Badge"
               :class="{
-                greenSlot: scope.row.status == '4'||scope.row.status ==  '瀹屾垚',
+                greenSlot: scope.row.status == '4' || scope.row.status == '瀹屾垚',
                 redSlot: scope.row.status == '5',
-                blueSlot: scope.row.status == '3'||scope.row.status ==  '灏辩华',
-                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]
@@ -63,10 +63,10 @@
             :style="{
               color: new Date().getTime() > new Date(scope.row[item.prop]).getTime() ? '#D23F3A' : '#606266'
             }"
-            >{{ timeAgo(scope.row[item.prop]) }}</span
+            >{{ scope.row[item.prop] }}</span
           >
           <div v-else-if="item.conversion">
-            <span>{{ item.getStatus(scope.row[item.prop]) }}</span>
+            <p class="exceed_width">{{ item.getStatus(scope.row[item.prop]) }}</p>
           </div>
           <span
             v-else-if="item.isClick && scope.row[item.prop]"
@@ -116,7 +116,7 @@
           highlight: false,
           tableColumn: [
             // table琛ㄥ崟
-            { label: "", prop: "", min: 200, tooltip: true,textAlign:"center"}
+            { label: "", prop: "", min: 200, tooltip: true, textAlign: "center" }
           ]
         }
       },
@@ -151,6 +151,15 @@
     showSummary: {
       type: Boolean,
       default: false
+    },
+    // 鍒楄〃涓嶅彲閫夌殑鏁版嵁
+    selectBoxList: {
+      type: Array,
+      default: () => []
+    },
+    name:{
+      type:String,
+      default:''
     }
   },
   data() {
@@ -239,11 +248,11 @@
                   if (!isNaN(value)) {
                     return prev + curr
                   } else {
-                    return prev 
+                    return prev
                   }
                 }, 0)
-                let unitIndex = this.tableList.tableColumn.findIndex(obj => obj.label === column.label);  
-                sums[index]=this.tableList.tableColumn[unitIndex].unit+sums[index]
+                let unitIndex = this.tableList.tableColumn.findIndex((obj) => obj.label === column.label)
+                sums[index] = this.tableList.tableColumn[unitIndex].unit + sums[index]
               } else {
                 sums[index] = ""
               }
@@ -253,6 +262,18 @@
           })
         })
         return sums
+      }
+    },
+    selectable(row) {
+      let prop='id'
+      if(this.name=='product'){
+        prop='productId'
+      }
+      let list = this.selectBoxList.map((item) => item[prop])
+      if (list.findIndex((v) => v == row.id) == -1) {
+        return true
+      } else {
+        return false
       }
     }
   }
@@ -308,7 +329,7 @@
     right: 2px;
     display: flex;
     align-items: center;
-    // z-index: 9999;
+    z-index: 9999;
     .label {
       position: absolute;
       top: 6px;
@@ -348,6 +369,12 @@
     border-top-left-radius: 12px;
     border-top-right-radius: 12px;
     overflow: auto;
+    .exceed_width {
+      width: 100%;
+      white-space: nowrap;
+      overflow: hidden;
+      text-overflow: ellipsis;
+    }
   }
 }
 
@@ -377,13 +404,13 @@
     height: 35px;
     text-align: center;
   }
-  .el-table__body-wrapper{
+  .el-table__body-wrapper {
     height: unset !important;
   }
-  .el-table__cell.is-left{
+  .el-table__cell.is-left {
     text-align: left !important;
   }
-  .el-table__cell.is-right{
+  .el-table__cell.is-right {
     text-align: right !important;
   }
 }
@@ -396,7 +423,7 @@
   background: rgba(0, 0, 0, 0);
   z-index: 10;
 }
-.el-table__cell{
+.el-table__cell {
   text-align: unset !important;
 }
 </style>

--
Gitblit v1.8.0