From eed27d3000e127c433fd45609d0d5e5d06b7868c Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期二, 26 十二月 2023 11:14:28 +0800
Subject: [PATCH] Merge branch 'dev' of http://192.168.5.5:10010/r/web/crm-web into dev

---
 src/components/makepager/TableCommonView.vue |   55 +++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 45 insertions(+), 10 deletions(-)

diff --git a/src/components/makepager/TableCommonView.vue b/src/components/makepager/TableCommonView.vue
index fb8bbf5..9cf911e 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">
+  <div class="table-view" v-loading="loading">
     <el-table
       ref="table"
       border
@@ -15,9 +15,11 @@
       @selection-change="handleSelectionChange"
       :header-cell-style="{ background: '#f1f3f8', color: '#000009', 'font-size': '12px', 'font-family': 'PingFangSC' }"
       size="mini"
+      @row-click="tableRowClick"
+      :row-class-name="tableRowClassName"
     >
-      <el-table-column v-if="tableList.selectIndex" type="index" label="搴忓彿" width="50"></el-table-column>
       <el-table-column v-if="selectBox" type="selection" width="40"> </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"
         :key="i"
@@ -80,7 +82,7 @@
           <div v-else-if="item.isProductName" class="product-view">
             <ul v-if="scope.row.products && scope.row.products.length > 0">
               <li v-for="(item, index) in scope.row.products" :key="index">
-                <div :class="scope.row.products.length === 1 ? 'name-view no-bottom' : 'name-view'">
+                <div class="name-view">
                   {{ item.name }}
                 </div>
               </li>
@@ -90,7 +92,7 @@
           <div v-else-if="item.isProductAmount" class="product-view">
             <ul v-if="scope.row.products && scope.row.products.length > 0">
               <li v-for="(item, index) in scope.row.products" :key="index">
-                <div :class="scope.row.products.length === 1 ? 'name-view no-bottom' : 'name-view'">
+                <div class="name-view">
                   {{ item.amount }}
                 </div>
               </li>
@@ -100,7 +102,7 @@
           <div v-else-if="item.isProductPrice" class="product-view">
             <ul v-if="scope.row.products && scope.row.products.length > 0">
               <li v-for="(item, index) in scope.row.products" :key="index">
-                <div :class="scope.row.products.length === 1 ? 'name-view no-bottom' : 'name-view'">
+                <div class="name-view">
                   {{ item.price }}
                 </div>
               </li>
@@ -110,12 +112,18 @@
           <div v-else-if="item.isProductTotal" class="product-view">
             <ul v-if="scope.row.products && scope.row.products.length > 0">
               <li v-for="(item, index) in scope.row.products" :key="index">
-                <div :class="scope.row.products.length === 1 ? 'name-view no-bottom' : 'name-view'">
+                <div class="name-view">
                   {{ item.total }}
                 </div>
               </li>
             </ul>
             <div v-else class="no-product">{{ "--" }}</div>
+          </div>
+          <!-- 璋冪敤鏂规硶鏄剧ず鏂囧瓧 -->
+          <div v-else-if="item.isCallMethod">
+            <span :class="item.isClass ? item.getClassName(scope.row[item.prop], scope.row) : ''">{{
+              item.getCallMethod(scope.row[item.prop], scope.row)
+            }}</span>
           </div>
           <span v-else>{{ scope.row[item.prop] ? scope.row[item.prop] : "--" }}</span>
         </template>
@@ -168,6 +176,17 @@
           mergeNumber: 1
         }
       }
+    },
+    // 閫変腑鐨勬牱寮�
+    selectClassRow: {
+      type: Object,
+      default: () => {
+        return {}
+      }
+    },
+    loading:{
+      type: Boolean,
+      default: false
     }
   },
   data() {
@@ -358,6 +377,19 @@
     // 鍏叡锛堥攢鍞満浼氥�佹姤浠峰崟銆侀攢鍞�诲崟銆侀攢鍞瓙鍗曘�傘�傘�傦級
     selCommonClick(row) {
       this.$emit("selCommonClick", row)
+    },
+    // 琛岀偣鍑�
+    tableRowClick(row, column, event) {
+      this.$emit("tableRowClick", row, column, event)
+    },
+    // 鍗曢�夎鐩稿叧
+    tableRowClassName({ row }) {
+      if (Object.keys(this.selectClassRow).length > 0) {
+        if (row.id == this.selectClassRow.id) {
+          return "onSelect"
+        }
+      }
+      this.$emit("tableRowClassName", row)
     }
   }
 }
@@ -384,8 +416,8 @@
     margin-left: -10px;
     margin-right: -11px;
     li {
-      height: 57px;
-      line-height: 57px;
+      height: 22px;
+      line-height: 22px;
       .name-view {
         padding-left: 10px;
         border-bottom: 1px solid #ebeef5;
@@ -394,9 +426,12 @@
         border-bottom: 0;
       }
     }
+    li:last-child .name-view {
+      border-bottom: none;
+    }
     .no-product {
-      height: 57px;
-      line-height: 57px;
+      height: 22px;
+      line-height: 22px;
     }
   }
 }

--
Gitblit v1.8.0