update 优化 菜单管理 增加激活菜单与扩展属性字段

This commit is contained in:
疯狂的狮子Li
2026-04-08 11:49:53 +08:00
parent 029eb6636c
commit 81552f0cb9
4 changed files with 20 additions and 8 deletions
+4
View File
@@ -44,6 +44,8 @@ export interface MenuVO extends BaseEntity {
visible: string; visible: string;
status: string; status: string;
icon: string; icon: string;
activeMenu: string;
ext: string;
remark: string; remark: string;
} }
@@ -63,6 +65,8 @@ export interface MenuForm {
visible?: string; visible?: string;
status?: string; status?: string;
icon?: string; icon?: string;
activeMenu?: string;
ext?: string;
remark?: string; remark?: string;
query?: string; query?: string;
perms?: string; perms?: string;
+3 -2
View File
@@ -97,8 +97,9 @@ const childrenMenus = computed(() => {
// 默认激活的菜单 // 默认激活的菜单
const activeMenu = computed(() => { const activeMenu = computed(() => {
let path = route.path; const { meta } = route;
if (path === '/index') { let path = meta.activeMenu || route.path;
if (path === '/index' || route.path === '/index') {
path = '/system/user'; path = '/system/user';
} }
let activePath = path; let activePath = path;
+3 -3
View File
@@ -47,8 +47,8 @@ export const usePermissionStore = defineStore('permission', () => {
}; };
const generateRoutes = async (): Promise<RouteRecordRaw[]> => { const generateRoutes = async (): Promise<RouteRecordRaw[]> => {
const res = await getRouters(); const res = await getRouters();
const { data } = res; const data = Array.isArray(res.data) ? res.data : [];
let text = JSON.stringify(data); const text = JSON.stringify(data);
const sdata = JSON.parse(text); const sdata = JSON.parse(text);
const rdata = JSON.parse(text); const rdata = JSON.parse(text);
const defaultData = JSON.parse(text); const defaultData = JSON.parse(text);
@@ -65,7 +65,7 @@ export const usePermissionStore = defineStore('permission', () => {
setTopbarRoutes(defaultRoutes); setTopbarRoutes(defaultRoutes);
// 路由name重复检查 // 路由name重复检查
duplicateRouteChecker(asyncRoutes, sidebarRoutes); duplicateRouteChecker(asyncRoutes, sidebarRoutes);
return new Promise<RouteRecordRaw[]>(resolve => resolve(rewriteRoutes)); return rewriteRoutes;
}; };
/** /**
+10 -3
View File
@@ -313,7 +313,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col v-if="form.visible !== '0'" :span="12"> <el-col v-if="form.visible !== '0'" :span="12">
<el-form-item label="激活路径" prop="form.remark"> <el-form-item label="激活路径" prop="activeMenu">
<template #label> <template #label>
<span> <span>
<el-tooltip content="隐藏菜单填写默认激活路由,比如激活父菜单的路由 /system/user" placement="top"> <el-tooltip content="隐藏菜单填写默认激活路由,比如激活父菜单的路由 /system/user" placement="top">
@@ -324,7 +324,12 @@
激活路由 激活路由
</span> </span>
</template> </template>
<el-input v-model="form.remark" placeholder="请输入激活路径" /> <el-input v-model="form.activeMenu" placeholder="请输入激活路径" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" maxlength="500" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -398,7 +403,9 @@ const initFormData = {
isFrame: 'N', isFrame: 'N',
isCache: 'Y', isCache: 'Y',
visible: '0', visible: '0',
status: '0' status: '0',
activeMenu: '',
remark: ''
}; };
const data = reactive<PageData<MenuForm, MenuQuery>>({ const data = reactive<PageData<MenuForm, MenuQuery>>({
form: { ...initFormData }, form: { ...initFormData },