From c82a938c4fee27a6e478782ffc355809cd5cdcda Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期三, 14 一月 2026 17:06:11 +0800
Subject: [PATCH] Merge branch 'dev_New' of http://114.132.189.42:9002/r/product-inventory-management into dev_New

---
 src/components/PIMTable/PIMTable.vue |   46 +++++++++++++++++++++++++++++++++++++---------
 1 files changed, 37 insertions(+), 9 deletions(-)

diff --git a/src/components/PIMTable/PIMTable.vue b/src/components/PIMTable/PIMTable.vue
index d1b778d..4174151 100644
--- a/src/components/PIMTable/PIMTable.vue
+++ b/src/components/PIMTable/PIMTable.vue
@@ -10,7 +10,7 @@
     :row-class-name="rowClassName"
     :row-style="rowStyle"
     :row-key="rowKey"
-    style="width: 100%"
+    :style="tableStyle"
     tooltip-effect="dark"
     :expand-row-keys="expandRowKeys"
     :show-summary="isShowSummary"
@@ -40,12 +40,22 @@
       :fixed="item.fixed"
       :label="item.label"
       :prop="item.prop"
-      show-overflow-tooltip
+      :show-overflow-tooltip="item.dataType !== 'action'"
       :align="item.align"
       :sortable="!!item.sortable"
       :type="item.type"
       :width="item.width"
     >
+      <template #header="scope">
+        <div class="pim-table-header-cell">
+          <div class="pim-table-header-title">
+            {{ item.label }}
+          </div>
+          <div v-if="item.headerSlot" class="pim-table-header-extra">
+            <slot :name="item.headerSlot" :column="scope.column" />
+          </div>
+        </div>
+      </template>
       <template
         v-if="item.hasOwnProperty('colunmTemplate')"
         #[item.colunmTemplate]="scope"
@@ -124,7 +134,6 @@
           <template v-for="(o, key) in item.operation" :key="key">
             <el-button
               v-show="o.type != 'upload'"
-              size="small"
               v-if="o.showHide ? o.showHide(scope.row) : true"
               :disabled="o.disabled ? o.disabled(scope.row) : false"
               :plain="o.plain"
@@ -149,7 +158,6 @@
                 (o.uploadIdFun ? o.uploadIdFun(scope.row) : scope.row.id)
               "
               ref="uploadRef"
-              size="small"
               :multiple="o.multiple ? o.multiple : false"
               :limit="1"
               :disabled="o.disabled ? o.disabled(scope.row) : false"
@@ -178,7 +186,6 @@
               :show-file-list="false"
             >
               <el-button
-                :size="o.size ? o.size : 'small'"
                 link
                 type="primary"
                 :disabled="o.disabled ? o.disabled(scope.row) : false"
@@ -207,8 +214,7 @@
     </el-table-column>
   </el-table>
   <pagination
-    v-show="total > 0"
-    :total="total"
+    :total="page.total"
     :layout="page.layout"
     :page="page.current"
     :limit="page.size"
@@ -245,7 +251,7 @@
   },
   height: {
     type: [Number, String],
-    default: "calc(100vh - 18.5em)",
+    default: "calc(100vh - 22em)",
   },
   expandRowKeys: {
     type: Array,
@@ -301,7 +307,7 @@
   },
   rowKey: {
     type: String,
-    default: undefined,
+    default: 'id',
   },
   page: {
     type: Object,
@@ -315,6 +321,10 @@
   total: {
     type: Number,
     default: 0,
+  },
+  tableStyle: {
+    type: [String, Object],
+    default: () => ({ width: "100%" }),
   },
 });
 
@@ -429,4 +439,22 @@
   padding-right: 0 !important;
   padding-left: 0 !important;
 }
+
+.pim-table-header-cell {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  gap: 4px;
+  text-align: center;
+}
+
+.pim-table-header-title {
+  font-weight: 500;
+}
+
+.pim-table-header-extra :deep(.el-input),
+.pim-table-header-extra :deep(.el-select) {
+  width: 100%;
+}
 </style>

--
Gitblit v1.9.3