perf: 统一导出文件交互、自定义列交互
This commit is contained in:
@ -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();
|
||||
});
|
||||
|
||||
@ -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();
|
||||
});
|
||||
|
||||
@ -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);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user