perf: 统一导出文件交互、自定义列交互

This commit is contained in:
rd
2025-07-04 16:05:45 +08:00
parent c49e12d988
commit 11bc19907c
9 changed files with 82 additions and 15 deletions

View File

@ -234,11 +234,24 @@ const getSelectedColumns = () => {
getCustomColumns({ type: CUSTOM_COLUMN_TYPE }).then((res) => {
const { code, data } = res;
if (code === 200) {
selectedColumns.value = data.selected_columns;
const { selected_columns, groups } = data;
setDefaultCheckColumns(groups, selected_columns);
}
});
};
const setDefaultCheckColumns = (groups, selected_columns) => {
const requiredGroups = groups.filter((group) => group.is_require === 1);
const requiredValues = requiredGroups
.flatMap((group) => (group.columns || []).filter((col) => col.is_require === 1))
.map((col) => col.value);
const merged = union(requiredValues, selected_columns);
selectedColumns.value = merged;
};
onMounted(() => {
getSelectedColumns();
});

View File

@ -234,11 +234,24 @@ const getSelectedColumns = () => {
getCustomColumns({ type: CUSTOM_COLUMN_TYPE }).then((res) => {
const { code, data } = res;
if (code === 200) {
selectedColumns.value = data.selected_columns;
const { selected_columns, groups } = data;
setDefaultCheckColumns(groups, selected_columns);
}
});
};
const setDefaultCheckColumns = (groups, selected_columns) => {
const requiredGroups = groups.filter((group) => group.is_require === 1);
const requiredValues = requiredGroups
.flatMap((group) => (group.columns || []).filter((col) => col.is_require === 1))
.map((col) => col.value);
const merged = union(requiredValues, selected_columns);
selectedColumns.value = merged;
};
onMounted(() => {
getSelectedColumns();
});

View File

@ -69,6 +69,7 @@ import {
} from '@/api/all/propertyMarketing';
import { INITIAL_QUERY } from './constants';
import { downloadByUrl } from '@/utils/tools';
import icon2 from '@/assets/img/media-account/icon-group.png';
@ -132,6 +133,7 @@ const handleSelectionChange = (selectedRows) => {
const handleTabClick = (key) => {
activeTab.value = key;
dataSource.value = [];
handleReset();
};
@ -142,7 +144,7 @@ const handleExport = () => {
}).then((res) => {
const { code, data } = res;
if (code === 200) {
window.open(data.download_url, '_blank');
downloadByUrl(data.download_url);
}
});
};