|
@@ -191,6 +191,48 @@ public class SysMenuServiceImpl implements ISysMenuService
|
|
|
return routers;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<RouterVo> buildMenusNew(List<SysMenu> menus) {
|
|
|
+ List<RouterVo> routers = new LinkedList<RouterVo>();
|
|
|
+ RouterVo routerOne;
|
|
|
+ for (SysMenu menu : menus)
|
|
|
+ {
|
|
|
+ List<RouterVo> routesList = new LinkedList<RouterVo>();
|
|
|
+ routerOne = checkParent(menu, menus.indexOf(menu), true);
|
|
|
+ RouterVo routerVo;
|
|
|
+ for (SysMenu sysMenu:menu.getChildren()) {
|
|
|
+ routerVo = checkParent(sysMenu,1,false);
|
|
|
+ routesList.add(routerVo);
|
|
|
+ }
|
|
|
+ routerOne.setChildren(routesList);
|
|
|
+ routers.add(routerOne);
|
|
|
+ }
|
|
|
+ return routers;
|
|
|
+ }
|
|
|
+
|
|
|
+ public RouterVo checkParent(SysMenu menu,Integer affix,Boolean isParent){
|
|
|
+ RouterVo router = new RouterVo();
|
|
|
+ MetaVo metaVo = new MetaVo();
|
|
|
+ router.setPath(menu.getPath());
|
|
|
+ List<SysMenu> cMenus = menu.getChildren();
|
|
|
+ if (isParent){
|
|
|
+ if (cMenus.size() == 1){
|
|
|
+ router.setRedirect(menu.getPath());
|
|
|
+ }else if (cMenus.size() > 1){
|
|
|
+ router.setRedirect(menu.getPath()+"/"+cMenus.get(0).getPath());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (0 == affix){
|
|
|
+ metaVo.setAffix(true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ router.setComponent(menu.getComponent());
|
|
|
+ metaVo.setTitle(menu.getMenuName());
|
|
|
+ metaVo.setIcon(menu.getIcon());
|
|
|
+ router.setMeta(metaVo);
|
|
|
+ return router;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 构建前端所需要树结构
|
|
|
*
|