From 0a251e40e30e7c8a96d71b3b9b6c459d4dfa4b22 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期三, 08 七月 2026 23:04:45 +0800
Subject: [PATCH] 暂存

---
 src/components/PIMTable/PIMTable.vue |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/src/components/PIMTable/PIMTable.vue b/src/components/PIMTable/PIMTable.vue
index f99b1eb..aad24fa 100644
--- a/src/components/PIMTable/PIMTable.vue
+++ b/src/components/PIMTable/PIMTable.vue
@@ -8,9 +8,11 @@
             :highlight-current-row="highlightCurrentRow"
             :row-class-name="rowClassName"
             :row-style="rowStyle"
+            :cell-style="cellStyle"
             :row-key="rowKey"
             :style="tableStyle"
             tooltip-effect="dark"
+            :tooltip-options="{ appendTo: 'body' }"
             :expand-row-keys="expandRowKeys"
             :show-summary="isShowSummary"
             :summary-method="summaryMethod"
@@ -119,6 +121,7 @@
             <el-button v-show="o.type != 'upload'"
                        v-if="o.showHide ? o.showHide(scope.row) : true"
                        :disabled="isOperationDisabled(o, scope.row)"
+                       :loading="isOperationLoading(o, scope.row)"
                        :plain="o.plain"
                        type="primary"
                        :style="{
@@ -291,6 +294,10 @@
       type: [Object, Function],
       default: () => ({}),
     },
+    cellStyle: {
+      type: [Object, Function],
+      default: () => ({}),
+    },
     tableData: {
       type: Array,
       default: () => [],
@@ -372,6 +379,13 @@
       : !!operation.disabled;
   };
 
+  const isOperationLoading = (operation, row) => {
+    if (!operation?.loading) return false;
+    return typeof operation.loading === "function"
+      ? !!operation.loading(row)
+      : !!operation.loading;
+  };
+
   const parseHexToRgb = hex => {
     const normalized = String(hex || "")
       .trim()

--
Gitblit v1.9.3