From ec77d5b6a4d6be3423b7723cf5e1333f599b0751 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期一, 04 三月 2024 17:58:19 +0800
Subject: [PATCH] 销售机会模块 新建操作的时候,销售阶段默认为初期沟通+销售预测的币种默认人民币+产品管理部分币种隐藏

---
 src/components/makepager/TableCommonView.vue |   50 ++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 48 insertions(+), 2 deletions(-)

diff --git a/src/components/makepager/TableCommonView.vue b/src/components/makepager/TableCommonView.vue
index 7335401..50ac390 100644
--- a/src/components/makepager/TableCommonView.vue
+++ b/src/components/makepager/TableCommonView.vue
@@ -1,12 +1,13 @@
 <!-- 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
       :data="tableList.tableInfomation"
       tooltip-effect="dark"
       :height="'calc(100% - 0px)'"
+      :max-height="tableList.maxHeight"
       style="width: 100%"
       :lazy="tableList.lazy"
       :show-summary="showSummary.show"
@@ -15,9 +16,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="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-if="selectBox" type="selection" width="40"> </el-table-column>
       <el-table-column
         v-for="(item, i) in tableList.tableColumn"
         :key="i"
@@ -117,6 +120,12 @@
             </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>
       </el-table-column>
@@ -168,8 +177,24 @@
           mergeNumber: 1
         }
       }
+    },
+    // 閫変腑鐨勬牱寮�
+    selectClassRow: {
+      type: Object,
+      default: () => {
+        return {}
+      }
+    },
+    loading: {
+      type: Boolean,
+      default: false
+    },
+    selectBoxList: {
+      type: Array,
+      default: () => []
     }
   },
+
   data() {
     return {
       iscolopen: false,
@@ -358,6 +383,27 @@
     // 鍏叡锛堥攢鍞満浼氥�佹姤浠峰崟銆侀攢鍞�诲崟銆侀攢鍞瓙鍗曘�傘�傘�傦級
     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)
+    },
+    selectable(row) {
+      let list = this.selectBoxList.map((item) => item.number)
+      if (list.findIndex((v) => v == row.number) == -1) {
+        return true
+      } else {
+        return false
+      }
     }
   }
 }

--
Gitblit v1.8.0