This commit is contained in:
chenlin
2026-01-27 12:10:25 +08:00
parent 0f55f4098a
commit 3fc162339f
2 changed files with 24 additions and 4 deletions

View File

@@ -76,6 +76,7 @@ interface ColumnConfig {
interface Props {
modelValue: boolean
columns: Record<string, any>
fieldList?: any[] // fieldList 数据,用于获取 exportEntity.isExport
}
const props = defineProps<Props>()
@@ -97,16 +98,35 @@ const initColumnConfig = () => {
columnConfigList.value = Object.keys(props.columns)
.map(key => {
const column = props.columns[key]
const prop = column.prop || key
// 如果 IndexedDB 没有记录isExport === undefined则从 fieldList 中获取 exportEntity.isExport
let isExport = column.isExport
if (isExport === undefined) {
// 查找 fieldList 中对应的字段
if (props.fieldList && Array.isArray(props.fieldList)) {
const field = props.fieldList.find((f: any) => f.fieldCode === prop)
if (field && field.exportEntity && field.exportEntity.isExport === 'Y') {
isExport = 'Y'
} else {
// 如果 fieldList 中没有找到或不是 'Y',默认导出
isExport = 'Y'
}
} else {
// 如果没有 fieldList默认导出
isExport = 'Y'
}
}
return {
prop: column.prop || key,
prop,
label: column.label || key,
hide: column.hide || false,
fixed: column.fixed || false,
sortable: column.sortable || false,
showColumn: column.showColumn !== false,
sortNum: column.sortNum,
// 默认全部勾选导出,如果已有配置则使用配置值
isExport: column.isExport !== undefined ? column.isExport : 'Y'
isExport
}
})
.sort((a, b) => {

View File

@@ -41,7 +41,7 @@
</div>
<!-- 列配置抽屉 -->
<ColumnConfigDialog v-if="props.model === 'default'" v-model="showColumnConfigDrawer"
:columns="tableOption.column" @confirm="handleColumnConfigConfirm" />
:columns="tableOption.column" :field-list="fieldListRef" @confirm="handleColumnConfigConfirm" />
<div class="flex-1 w-100%" :class="{ 'table-content': tableInfo.tableType == 'treeAround' }" v-if="isInit">
<!-- 主体表格 -->
<avue-crud ref="crudRef" v-model="tableForm" v-model:search="tableSearch" v-bind="crudBind"