Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录/注册
切换导航
T
topology
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
姜立玮
topology
Commits
bb1324a7
提交
bb1324a7
authored
5 年前
作者:
RuoYi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
支持一级菜单(和主页同级)在main区域显示
上级
c1db17dd
变更
3
显示空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
65 行增加
和
4 行删除
+65
-4
permission.js
ruoyi-ui/src/store/modules/permission.js
+4
-0
UserConstants.java
...rc/main/java/com/ruoyi/common/constant/UserConstants.java
+12
-0
SysMenuServiceImpl.java
...ruoyi/project/system/service/impl/SysMenuServiceImpl.java
+49
-4
没有找到文件。
ruoyi-ui/src/store/modules/permission.js
浏览文件 @
bb1324a7
...
...
@@ -32,6 +32,10 @@ const permission = {
// 遍历后台传来的路由字符串,转换为组件对象
function
filterAsyncRouter
(
asyncRouterMap
)
{
return
asyncRouterMap
.
filter
(
route
=>
{
if
(
!
route
.
path
){
// 防止空路由出现的警告,设置默认path
route
.
path
=
'/path'
;
}
if
(
route
.
component
)
{
// Layout组件特殊处理
if
(
route
.
component
===
'Layout'
)
{
...
...
This diff is collapsed.
Click to expand it.
ruoyi/src/main/java/com/ruoyi/common/constant/UserConstants.java
浏览文件 @
bb1324a7
...
...
@@ -42,6 +42,18 @@ public class UserConstants
/** 是否菜单外链(否) */
public
static
final
String
NO_FRAME
=
"1"
;
/** 菜单类型(目录) */
public
static
final
String
TYPE_DIR
=
"M"
;
/** 菜单类型(菜单) */
public
static
final
String
TYPE_MENU
=
"C"
;
/** 菜单类型(按钮) */
public
static
final
String
TYPE_BUTTON
=
"F"
;
/** Layout组件标识 */
public
final
static
String
LAYOUT
=
"Layout"
;
/** 校验返回结果码 */
public
final
static
String
UNIQUE
=
"0"
;
public
final
static
String
NOT_UNIQUE
=
"1"
;
...
...
This diff is collapsed.
Click to expand it.
ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysMenuServiceImpl.java
浏览文件 @
bb1324a7
...
...
@@ -142,15 +142,26 @@ public class SysMenuServiceImpl implements ISysMenuService
router
.
setHidden
(
"1"
.
equals
(
menu
.
getVisible
()));
router
.
setName
(
StringUtils
.
capitalize
(
menu
.
getPath
()));
router
.
setPath
(
getRouterPath
(
menu
));
router
.
setComponent
(
StringUtils
.
isEmpty
(
menu
.
getComponent
())
?
"Layout"
:
menu
.
getComponent
(
));
router
.
setComponent
(
getComponent
(
menu
));
router
.
setMeta
(
new
MetaVo
(
menu
.
getMenuName
(),
menu
.
getIcon
()));
List
<
SysMenu
>
cMenus
=
menu
.
getChildren
();
if
(!
cMenus
.
isEmpty
()
&&
cMenus
.
size
()
>
0
&&
"M"
.
equals
(
menu
.
getMenuType
()))
if
(!
cMenus
.
isEmpty
()
&&
cMenus
.
size
()
>
0
&&
UserConstants
.
TYPE_DIR
.
equals
(
menu
.
getMenuType
()))
{
router
.
setAlwaysShow
(
true
);
router
.
setRedirect
(
"noRedirect"
);
router
.
setChildren
(
buildMenus
(
cMenus
));
}
else
if
(
isMeunFrame
(
menu
))
{
List
<
RouterVo
>
childrenList
=
new
ArrayList
<
RouterVo
>();
RouterVo
children
=
new
RouterVo
();
children
.
setPath
(
menu
.
getPath
());
children
.
setComponent
(
menu
.
getComponent
());
children
.
setName
(
StringUtils
.
capitalize
(
menu
.
getPath
()));
children
.
setMeta
(
new
MetaVo
(
menu
.
getMenuName
(),
menu
.
getIcon
()));
childrenList
.
add
(
children
);
router
.
setChildren
(
childrenList
);
}
routers
.
add
(
router
);
}
return
routers
;
...
...
@@ -297,14 +308,48 @@ public class SysMenuServiceImpl implements ISysMenuService
public
String
getRouterPath
(
SysMenu
menu
)
{
String
routerPath
=
menu
.
getPath
();
// 非外链并且是一级目录
if
(
0
==
menu
.
getParentId
()
&&
UserConstants
.
NO_FRAME
.
equals
(
menu
.
getIsFrame
()))
// 非外链并且是一级目录(类型为目录)
if
(
0
==
menu
.
getParentId
().
intValue
()
&&
UserConstants
.
TYPE_DIR
.
equals
(
menu
.
getMenuType
())
&&
UserConstants
.
NO_FRAME
.
equals
(
menu
.
getIsFrame
()))
{
routerPath
=
"/"
+
menu
.
getPath
();
}
// 非外链并且是一级目录(类型为菜单)
else
if
(
isMeunFrame
(
menu
))
{
routerPath
=
StringUtils
.
EMPTY
;
}
return
routerPath
;
}
/**
* 获取组件信息
*
* @param menu 菜单信息
* @return 组件信息
*/
public
String
getComponent
(
SysMenu
menu
)
{
String
component
=
UserConstants
.
LAYOUT
;
if
(
StringUtils
.
isNotEmpty
(
menu
.
getComponent
())
&&
!
isMeunFrame
(
menu
))
{
component
=
menu
.
getComponent
();
}
return
component
;
}
/**
* 是否为菜单内部跳转
*
* @param menu 菜单信息
* @return 结果
*/
public
boolean
isMeunFrame
(
SysMenu
menu
)
{
return
menu
.
getParentId
().
intValue
()
==
0
&&
UserConstants
.
TYPE_MENU
.
equals
(
menu
.
getMenuType
())
&&
menu
.
getIsFrame
().
equals
(
UserConstants
.
NO_FRAME
);
}
/**
* 根据父节点的ID获取所有子节点
*
...
...
This diff is collapsed.
Click to expand it.
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论