|
|
|
|
@ -6,6 +6,7 @@ import type {
|
|
|
|
|
VxeGridListeners,
|
|
|
|
|
VxeGridPropTypes,
|
|
|
|
|
VxeGridProps as VxeTableGridProps,
|
|
|
|
|
VxeToolbarPropTypes,
|
|
|
|
|
} from 'vxe-table';
|
|
|
|
|
|
|
|
|
|
import type { ExtendedVxeGridApi, VxeGridProps } from './types';
|
|
|
|
|
@ -107,28 +108,28 @@ const showToolbar = computed(() => {
|
|
|
|
|
const toolbarOptions = computed(() => {
|
|
|
|
|
const slotActions = slots[TOOLBAR_ACTIONS]?.();
|
|
|
|
|
const slotTools = slots[TOOLBAR_TOOLS]?.();
|
|
|
|
|
|
|
|
|
|
const searchBtn: VxeToolbarPropTypes.ToolConfig = {
|
|
|
|
|
code: 'search',
|
|
|
|
|
icon: 'vxe-icon--search',
|
|
|
|
|
circle: true,
|
|
|
|
|
status: showSearchForm.value ? 'primary' : undefined,
|
|
|
|
|
title: $t('common.search'),
|
|
|
|
|
};
|
|
|
|
|
// 将搜索按钮合并到用户配置的toolbarConfig.tools中
|
|
|
|
|
const toolbarConfig: VxeGridPropTypes.ToolbarConfig = {
|
|
|
|
|
tools:
|
|
|
|
|
gridOptions.value?.toolbarConfig?.search && !!formOptions.value
|
|
|
|
|
? [
|
|
|
|
|
{
|
|
|
|
|
code: 'search',
|
|
|
|
|
icon: 'vxe-icon--search',
|
|
|
|
|
circle: true,
|
|
|
|
|
status: showSearchForm.value ? 'primary' : undefined,
|
|
|
|
|
title: $t('common.search'),
|
|
|
|
|
},
|
|
|
|
|
]
|
|
|
|
|
: [],
|
|
|
|
|
tools: (gridOptions.value?.toolbarConfig?.tools ??
|
|
|
|
|
[]) as VxeToolbarPropTypes.ToolConfig[],
|
|
|
|
|
};
|
|
|
|
|
if (gridOptions.value?.toolbarConfig?.search && !!formOptions.value) {
|
|
|
|
|
toolbarConfig.tools = Array.isArray(toolbarConfig.tools)
|
|
|
|
|
? [...toolbarConfig.tools, searchBtn]
|
|
|
|
|
: [searchBtn];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!showToolbar.value) {
|
|
|
|
|
return { toolbarConfig };
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// if (gridOptions.value?.toolbarConfig?.search) {
|
|
|
|
|
// }
|
|
|
|
|
// 强制使用固定的toolbar配置,不允许用户自定义
|
|
|
|
|
// 减少配置的复杂度,以及后续维护的成本
|
|
|
|
|
toolbarConfig.slots = {
|
|
|
|
|
@ -137,7 +138,6 @@ const toolbarOptions = computed(() => {
|
|
|
|
|
: {}),
|
|
|
|
|
...(slotTools ? { tools: TOOLBAR_TOOLS } : {}),
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return { toolbarConfig };
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
@ -147,7 +147,7 @@ const options = computed(() => {
|
|
|
|
|
const mergedOptions: VxeTableGridProps = cloneDeep(
|
|
|
|
|
mergeWithArrayOverride(
|
|
|
|
|
{},
|
|
|
|
|
toolbarOptions.value,
|
|
|
|
|
toRaw(toolbarOptions.value),
|
|
|
|
|
toRaw(gridOptions.value),
|
|
|
|
|
globalGridConfig,
|
|
|
|
|
),
|
|
|
|
|
|