Merge branch 'master' of github.com:youlaitech/vue3-element-admin

This commit is contained in:
hxr
2024-06-08 17:27:45 +08:00
2 changed files with 83 additions and 45 deletions

View File

@@ -57,6 +57,7 @@
<!-- 右侧工具栏 --> <!-- 右侧工具栏 -->
<div> <div>
<template v-for="item in defaultToolbar" :key="item"> <template v-for="item in defaultToolbar" :key="item">
<template v-if="typeof item === 'string'">
<!-- 刷新 --> <!-- 刷新 -->
<template v-if="item === 'refresh'"> <template v-if="item === 'refresh'">
<el-button <el-button
@@ -104,6 +105,27 @@
/> />
</template> </template>
</template> </template>
<!-- 其他 -->
<template v-else-if="typeof item === 'object'">
<template v-if="item.auth">
<el-button
:icon="item.icon"
circle
:title="item.text"
v-hasPerm="[`${contentConfig.pageName}:${item.auth}`]"
@click="handleToolbar(item.name)"
/>
</template>
<template v-else>
<el-button
:icon="item.icon"
circle
:title="item.title"
@click="handleToolbar(item.name)"
/>
</template>
</template>
</template>
</div> </div>
</div> </div>
<!-- 列表 --> <!-- 列表 -->
@@ -339,9 +361,9 @@
:disabled="selectionData.length <= 0" :disabled="selectionData.length <= 0"
/> />
<el-option <el-option
v-if="contentConfig.exportsAction"
label="全量数据 (包括所有分页的数据)" label="全量数据 (包括所有分页的数据)"
:value="ExportsOriginEnum.REMOTE" :value="ExportsOriginEnum.REMOTE"
:disabled="contentConfig.exportsAction === undefined"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
@@ -447,7 +469,18 @@ export interface IContentConfig<T = any> {
} }
>; >;
// 表格工具栏右侧图标 // 表格工具栏右侧图标
defaultToolbar?: ("refresh" | "filter" | "exports" | "search")[]; defaultToolbar?: Array<
| "refresh"
| "filter"
| "exports"
| "search"
| {
name: string;
icon: string;
title?: string;
auth?: string;
}
>;
// table组件列属性(额外的属性templet,operat,slotName) // table组件列属性(额外的属性templet,operat,slotName)
cols: Array<{ cols: Array<{
type?: "default" | "selection" | "index" | "expand"; type?: "default" | "selection" | "index" | "expand";

View File

@@ -26,6 +26,11 @@ const contentConfig: IContentConfig<UserQuery> = {
}, },
deleteAction: UserAPI.deleteByIds, deleteAction: UserAPI.deleteByIds,
exportAction: UserAPI.export, exportAction: UserAPI.export,
exportsAction: async function (params) {
// 模拟获取全量数据
const res = await UserAPI.getPage(params);
return res.list;
},
pk: "id", pk: "id",
toolbar: [ toolbar: [
"add", "add",