From 70551b35cac6dd0262f644cb248ba1d03ff2fa08 Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期五, 22 五月 2026 14:53:10 +0800
Subject: [PATCH]   feat: 质量管理检验员筛选和传递优化   1. 检验员下拉框筛选:过程检验、出厂检验、原材料检验的检验员下拉框只显示 roleIds 包含 106 的用户,包括列表页的"检验"弹窗、"分配检验员"弹窗,以及新增/编辑弹窗     2. 检验员默认值优化:点击"检验"按钮时检验员默认为当前登录用户;选择"不合格"打开详情页时检验员从上个页面带入,修复 closeQuickCheck() 重置表单导致检验员值丢失的问题   3. 材料信息新增行修复:生产工单绑定工艺路线弹窗中,新增材料行时根据 productById 是否有值判断显示选择器还是文本

---
 src/components/PIMTable/PIMTable.vue |   22 ++++++++++++++++++++--
 1 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/src/components/PIMTable/PIMTable.vue b/src/components/PIMTable/PIMTable.vue
index a418280..bfb3c4e 100644
--- a/src/components/PIMTable/PIMTable.vue
+++ b/src/components/PIMTable/PIMTable.vue
@@ -30,7 +30,7 @@
     <el-table-column align="center" label="搴忓彿" type="index" width="60" />
 
     <el-table-column
-      v-for="(item, index) in column"
+      v-for="(item, index) in visibleColumns"
       :key="index"
       :column-key="item.columnKey"
       :filter-method="item.filterHandler"
@@ -45,6 +45,7 @@
       :sortable="!!item.sortable"
       :type="item.type"
       :width="item.width"
+      :minWidth="item.minWidth"
     >
       <template #header="scope">
         <div class="pim-table-header-cell">
@@ -225,7 +226,7 @@
 
 <script setup>
 import pagination from "./Pagination.vue";
-import { ref, inject, getCurrentInstance } from "vue";
+import { ref, inject, getCurrentInstance, computed, unref } from "vue";
 import { ElMessage } from "element-plus";
 
 // 鑾峰彇鍏ㄥ眬鐨� uploadHeader
@@ -333,6 +334,23 @@
   },
 });
 
+const resolveColumnVisible = (visible) => {
+  if (visible === undefined) return true;
+  if (typeof visible === "function") {
+    try {
+      return !!visible();
+    } catch (error) {
+      console.warn("PIMTable column visible function error:", error);
+      return true;
+    }
+  }
+  return !!unref(visible);
+};
+
+const visibleColumns = computed(() => {
+  return (props.column || []).filter((item) => resolveColumnVisible(item?.visible));
+});
+
 // Data
 const uploadRefs = ref([]);
 const currentFiles = ref({});

--
Gitblit v1.9.3