From 45792b3776cda2e1ada31755ffc226a663f90b48 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 19 三月 2025 15:32:23 +0800
Subject: [PATCH] 锁屏功能

---
 src/components/Table/lims-table.vue |   38 +++++++++++++++++++++++++++++++++-----
 1 files changed, 33 insertions(+), 5 deletions(-)

diff --git a/src/components/Table/lims-table.vue b/src/components/Table/lims-table.vue
index 198e6ee..e293a94 100644
--- a/src/components/Table/lims-table.vue
+++ b/src/components/Table/lims-table.vue
@@ -4,6 +4,8 @@
     <el-table
       ref="multipleTable"
       v-loading="tableLoading"
+      element-loading-text="鍔犺浇涓�..."
+      element-loading-spinner="el-icon-loading"
       :border="border"
       :data="tableData"
       :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }"
@@ -12,7 +14,7 @@
       :row-class-name="rowClassName"
       :row-style="rowStyle"
       :row-key="rowKey"
-      :span-method="spanMethod"
+      :span-method="finalSpanMethod"
       :stripe="stripe"
       style="width: 100%"
       tooltip-effect="dark"
@@ -317,9 +319,13 @@
     },
   },
   props: {
+    parentSpanMethod: {
+      type: Function,
+      default: () => {},
+    },
     isSelection: {
       type: Boolean,
-      default: false,
+      default: undefined,
     },
     height: {
       type: String,
@@ -387,7 +393,7 @@
     },
     rowKey: {
       type: String,
-      default: undefined,
+      default: "id",
     },
     page: {
       type: Object,
@@ -408,14 +414,35 @@
     };
   },
   watch: {
-    column(val) {
-      this.doLayout();
+    // column(val) {
+    //   this.doLayout();
+    // },
+  },
+  updated() {
+    this.$nextTick(() => {
+      this.$refs.multipleTable.doLayout();
+    });
+  },
+  computed: {
+    finalSpanMethod() {
+      if(this.parentSpanMethod) {
+        console.log('鐖剁粍浠剁殑鍚堝苟鏂规硶');
+        return this.parentSpanMethod;
+      }else{
+        console.log('瀛愮粍浠剁殑鍚堝苟鏂规硶');
+        return this.spanMethod;
+      }
     },
   },
   mounted() {
     this.calculateSpanInfo();
   },
   methods: {
+    doLayout() {
+      this.$nextTick(() => {
+        this.$refs.multipleTable && this.$refs.multipleTable.doLayout();
+      });
+    },
     getWidth(row, row0) {
       let count = 0;
       row.forEach((a) => {
@@ -487,6 +514,7 @@
       if (!linkEvent) {
         return this.$message.warning("璇烽厤缃甽ingk浜嬩欢");
       }
+      console.log(linkEvent);
       linkEvent.vueComponent[linkEvent.method](row);
     },
     // 鍚堝苟鍗曞厓鏍�

--
Gitblit v1.9.3