重新请求后端路由菜单接口添加菜单刷新方法
Signed-off-by: 小菜鸟儿 <496651923@qq.com>
This commit is contained in:
parent
9930d8207c
commit
b5f82e12e9
|
|
@ -189,6 +189,13 @@ onMounted(() => {
|
|||
state.liOldIndex = null;
|
||||
state.liOldPath = null;
|
||||
});
|
||||
|
||||
/**
|
||||
* 监听分栏模式菜单更新
|
||||
*/
|
||||
mittBus.on('setSendColumns',() => {
|
||||
setFilterRoutes();
|
||||
});
|
||||
});
|
||||
// 页面卸载时
|
||||
onUnmounted(() => {
|
||||
|
|
|
|||
|
|
@ -44,7 +44,9 @@ const isLayoutTransverse = computed(() => {
|
|||
// 设置/过滤路由(非静态路由/是否显示在菜单中)
|
||||
const setFilterRoutes = () => {
|
||||
let { layout, isClassicSplitMenu } = themeConfig.value;
|
||||
if (layout === 'classic' && isClassicSplitMenu) {
|
||||
if (layout === 'columns') {
|
||||
mittBus.emit('setSendColumns');
|
||||
}else if (layout === 'classic' && isClassicSplitMenu) {
|
||||
state.menuList = delClassicChildren(filterRoutesFun(routesList.value));
|
||||
const resData = setSendClassicChildren(route.path);
|
||||
mittBus.emit('setSendClassicChildren', resData);
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import { formatTwoStageRoutes, formatFlatteningRoutes, router } from '/@/router/
|
|||
import { useRoutesList } from '/@/stores/routesList';
|
||||
import { useTagsViewRoutes } from '/@/stores/tagsViewRoutes';
|
||||
import { useMenuApi } from '/@/api/menu/index';
|
||||
import mittBus from '/@/utils/mitt';
|
||||
|
||||
// 后端控制路由
|
||||
|
||||
|
|
@ -119,11 +120,24 @@ export function getBackEndControlRoutes() {
|
|||
|
||||
/**
|
||||
* 重新请求后端路由菜单接口
|
||||
* @description 用于菜单管理界面刷新菜单(未进行测试)
|
||||
* @description 用于菜单管理界面刷新菜单
|
||||
* @description 路径:/src/views/system/menu/component/addMenu.vue
|
||||
*/
|
||||
export async function setBackEndControlRefreshRoutes() {
|
||||
await getBackEndControlRoutes();
|
||||
//重新获取路由信息
|
||||
const res=await getBackEndControlRoutes();
|
||||
//后端路由转换
|
||||
const menu_data=await backEndComponent(res.data);
|
||||
|
||||
// 处理路由(component),替换 dynamicRoutes(/@/router/route)第一个顶级 children 的路由
|
||||
dynamicRoutes[0].children = menu_data;
|
||||
// 添加动态路由
|
||||
await setAddRoute();
|
||||
// 设置路由到 pinia routesList 中(已处理成多级嵌套路由)及缓存多级嵌套数组处理后的一维数组
|
||||
await setFilterMenuAndCacheTagsViewRoutes();
|
||||
|
||||
// 触发菜单更新监听
|
||||
mittBus.emit('getBreadcrumbIndexSetFilterRoutes');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
*
|
||||
* @method openSetingsDrawer 打开布局设置弹窗
|
||||
* @method restoreDefault 分栏布局,鼠标移入、移出数据显示
|
||||
* @method setSendColumns 分栏布局,左侧菜单刷新
|
||||
* @method setSendColumnsChildren 分栏布局,鼠标移入、移出菜单数据传入到 navMenu 下的菜单中
|
||||
* @method setSendClassicChildren 经典布局,开启切割菜单时,菜单数据传入到 navMenu 下的菜单中
|
||||
* @method getBreadcrumbIndexSetFilterRoutes 布局设置弹窗,开启切割菜单时,菜单数据传入到 navMenu 下的菜单中
|
||||
|
|
@ -15,6 +16,7 @@
|
|||
declare type MittType<T = any> = {
|
||||
openSetingsDrawer?: string;
|
||||
restoreDefault?: string;
|
||||
setSendColumns: T;
|
||||
setSendColumnsChildren: T;
|
||||
setSendClassicChildren: T;
|
||||
getBreadcrumbIndexSetFilterRoutes?: string;
|
||||
|
|
|
|||
Loading…
Reference in New Issue