| | |
| | | <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" |
| | |
| | | |
| | | <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 |
| | |
| | | }, |
| | | }); |
| | | |
| | | 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({}); |