Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
F
finance-manage
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
finance-oa
finance-manage
Commits
ec98648e
Commit
ec98648e
authored
Apr 15, 2020
by
RuoYi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
菜单区分状态和显示隐藏功能
parent
5d20be29
Changes
7
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
159 additions
and
109 deletions
+159
-109
ruoyi-ui/src/views/system/menu/index.vue
ruoyi-ui/src/views/system/menu/index.vue
+32
-8
ruoyi/sql/ry_20200415.sql
ruoyi/sql/ry_20200415.sql
+83
-82
ruoyi/src/main/java/com/ruoyi/project/system/domain/SysMenu.java
...rc/main/java/com/ruoyi/project/system/domain/SysMenu.java
+15
-1
ruoyi/src/main/java/com/ruoyi/project/system/domain/vo/RouterVo.java
...ain/java/com/ruoyi/project/system/domain/vo/RouterVo.java
+3
-3
ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysMenuServiceImpl.java
...ruoyi/project/system/service/impl/SysMenuServiceImpl.java
+1
-0
ruoyi/src/main/resources/mybatis/system/SysMenuMapper.xml
ruoyi/src/main/resources/mybatis/system/SysMenuMapper.xml
+17
-7
ruoyi/src/main/resources/vm/sql/sql.vm
ruoyi/src/main/resources/vm/sql/sql.vm
+8
-8
No files found.
ruoyi-ui/src/views/system/menu/index.vue
View file @
ec98648e
...
...
@@ -11,9 +11,9 @@
/>
</el-form-item>
<el-form-item
label=
"状态"
>
<el-select
v-model=
"queryParams.
visible
"
placeholder=
"菜单状态"
clearable
size=
"small"
>
<el-select
v-model=
"queryParams.
status
"
placeholder=
"菜单状态"
clearable
size=
"small"
>
<el-option
v-for=
"dict in
visible
Options"
v-for=
"dict in
status
Options"
:key=
"dict.dictValue"
:label=
"dict.dictLabel"
:value=
"dict.dictValue"
...
...
@@ -41,7 +41,7 @@
<el-table-column
prop=
"orderNum"
label=
"排序"
width=
"60"
></el-table-column>
<el-table-column
prop=
"perms"
label=
"权限标识"
:show-overflow-tooltip=
"true"
></el-table-column>
<el-table-column
prop=
"component"
label=
"组件路径"
:show-overflow-tooltip=
"true"
></el-table-column>
<el-table-column
prop=
"
visible"
label=
"可见"
:formatter=
"visible
Format"
width=
"80"
></el-table-column>
<el-table-column
prop=
"
status"
label=
"状态"
:formatter=
"status
Format"
width=
"80"
></el-table-column>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
...
...
@@ -152,8 +152,8 @@
<el-input
v-model=
"form.perms"
placeholder=
"请权限标识"
maxlength=
"50"
/>
</el-form-item>
</el-col>
<el-col
:span=
"
24
"
>
<el-form-item
v-if=
"form.menuType != 'F'"
label=
"
菜单
状态"
>
<el-col
:span=
"
12
"
>
<el-form-item
v-if=
"form.menuType != 'F'"
label=
"
显示
状态"
>
<el-radio-group
v-model=
"form.visible"
>
<el-radio
v-for=
"dict in visibleOptions"
...
...
@@ -163,6 +163,17 @@
</el-radio-group>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
v-if=
"form.menuType != 'F'"
label=
"菜单状态"
>
<el-radio-group
v-model=
"form.status"
>
<el-radio
v-for=
"dict in statusOptions"
:key=
"dict.dictValue"
:label=
"dict.dictValue"
>
{{dict.dictLabel}}
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
...
...
@@ -194,8 +205,10 @@ export default {
title
:
""
,
// 是否显示弹出层
open
:
false
,
//
菜单
状态数据字典
//
显示
状态数据字典
visibleOptions
:
[],
// 菜单状态数据字典
statusOptions
:
[],
// 查询参数
queryParams
:
{
menuName
:
undefined
,
...
...
@@ -222,6 +235,9 @@ export default {
this
.
getDicts
(
"
sys_show_hide
"
).
then
(
response
=>
{
this
.
visibleOptions
=
response
.
data
;
});
this
.
getDicts
(
"
sys_normal_disable
"
).
then
(
response
=>
{
this
.
statusOptions
=
response
.
data
;
});
},
methods
:
{
// 选择图标
...
...
@@ -256,13 +272,20 @@ export default {
this
.
menuOptions
.
push
(
menu
);
});
},
//
菜单
显示状态字典翻译
// 显示状态字典翻译
visibleFormat
(
row
,
column
)
{
if
(
row
.
menuType
==
"
F
"
)
{
return
""
;
}
return
this
.
selectDictLabel
(
this
.
visibleOptions
,
row
.
visible
);
},
// 菜单状态字典翻译
statusFormat
(
row
,
column
)
{
if
(
row
.
menuType
==
"
F
"
)
{
return
""
;
}
return
this
.
selectDictLabel
(
this
.
statusOptions
,
row
.
status
);
},
// 取消按钮
cancel
()
{
this
.
open
=
false
;
...
...
@@ -278,7 +301,8 @@ export default {
menuType
:
"
M
"
,
orderNum
:
undefined
,
isFrame
:
"
1
"
,
visible
:
"
0
"
visible
:
"
0
"
,
status
:
"
0
"
};
this
.
resetForm
(
"
form
"
);
},
...
...
ruoyi/sql/ry_20
191202
.sql
→
ruoyi/sql/ry_20
200415
.sql
View file @
ec98648e
This diff is collapsed.
Click to expand it.
ruoyi/src/main/java/com/ruoyi/project/system/domain/SysMenu.java
View file @
ec98648e
...
...
@@ -44,9 +44,12 @@ public class SysMenu extends BaseEntity
/** 类型(M目录 C菜单 F按钮) */
private
String
menuType
;
/**
菜单状态:0显示,1隐藏
*/
/**
显示状态(0显示 1隐藏)
*/
private
String
visible
;
/** 菜单状态(0显示 1隐藏) */
private
String
status
;
/** 权限字符串 */
private
String
perms
;
...
...
@@ -162,6 +165,16 @@ public class SysMenu extends BaseEntity
this
.
visible
=
visible
;
}
public
String
getStatus
()
{
return
status
;
}
public
void
setStatus
(
String
status
)
{
this
.
status
=
status
;
}
@Size
(
min
=
0
,
max
=
100
,
message
=
"权限标识长度不能超过100个字符"
)
public
String
getPerms
()
{
...
...
@@ -205,6 +218,7 @@ public class SysMenu extends BaseEntity
.
append
(
"isFrame"
,
getIsFrame
())
.
append
(
"menuType"
,
getMenuType
())
.
append
(
"visible"
,
getVisible
())
.
append
(
"status "
,
getStatus
())
.
append
(
"perms"
,
getPerms
())
.
append
(
"icon"
,
getIcon
())
.
append
(
"createBy"
,
getCreateBy
())
...
...
ruoyi/src/main/java/com/ruoyi/project/system/domain/vo/RouterVo.java
View file @
ec98648e
...
...
@@ -24,7 +24,7 @@ public class RouterVo
/**
* 是否隐藏路由,当设置 true 的时候该路由不会再侧边栏出现
*/
private
String
hidden
;
private
boolean
hidden
;
/**
* 重定向地址,当设置 noRedirect 的时候该路由在面包屑导航中不可被点击
...
...
@@ -71,12 +71,12 @@ public class RouterVo
this
.
path
=
path
;
}
public
String
getHidden
()
public
boolean
getHidden
()
{
return
hidden
;
}
public
void
setHidden
(
String
hidden
)
public
void
setHidden
(
boolean
hidden
)
{
this
.
hidden
=
hidden
;
}
...
...
ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysMenuServiceImpl.java
View file @
ec98648e
...
...
@@ -139,6 +139,7 @@ public class SysMenuServiceImpl implements ISysMenuService
for
(
SysMenu
menu
:
menus
)
{
RouterVo
router
=
new
RouterVo
();
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
());
...
...
ruoyi/src/main/resources/mybatis/system/SysMenuMapper.xml
View file @
ec98648e
...
...
@@ -15,6 +15,7 @@
<result
property=
"isFrame"
column=
"is_frame"
/>
<result
property=
"menuType"
column=
"menu_type"
/>
<result
property=
"visible"
column=
"visible"
/>
<result
property=
"status"
column=
"status"
/>
<result
property=
"perms"
column=
"perms"
/>
<result
property=
"icon"
column=
"icon"
/>
<result
property=
"createBy"
column=
"create_by"
/>
...
...
@@ -25,7 +26,7 @@
</resultMap>
<sql
id=
"selectMenuVo"
>
select menu_id, menu_name, parent_id, order_num, path, component, is_frame, menu_type, visible, ifnull(perms,'') as perms, icon, create_time
select menu_id, menu_name, parent_id, order_num, path, component, is_frame, menu_type, visible,
status,
ifnull(perms,'') as perms, icon, create_time
from sys_menu
</sql>
...
...
@@ -38,18 +39,21 @@
<if
test=
"visible != null and visible != ''"
>
AND visible = #{visible}
</if>
<if
test=
"status != null and status != ''"
>
AND status = #{status}
</if>
</where>
order by parent_id, order_num
</select>
<select
id=
"selectMenuTreeAll"
resultMap=
"SysMenuResult"
>
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.visible, ifnull(m.perms,'') as perms, m.is_frame, m.menu_type, m.icon, m.order_num, m.create_time
from sys_menu m where m.menu_type in ('M', 'C') and m.
visible
= 0
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.visible,
m.status,
ifnull(m.perms,'') as perms, m.is_frame, m.menu_type, m.icon, m.order_num, m.create_time
from sys_menu m where m.menu_type in ('M', 'C') and m.
status
= 0
order by m.parent_id, m.order_num
</select>
<select
id=
"selectMenuListByUserId"
parameterType=
"SysMenu"
resultMap=
"SysMenuResult"
>
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.visible, ifnull(m.perms,'') as perms, m.is_frame, m.menu_type, m.icon, m.order_num, m.create_time
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.visible,
m.status,
ifnull(m.perms,'') as perms, m.is_frame, m.menu_type, m.icon, m.order_num, m.create_time
from sys_menu m
left join sys_role_menu rm on m.menu_id = rm.menu_id
left join sys_user_role ur on rm.role_id = ur.role_id
...
...
@@ -60,18 +64,21 @@
</if>
<if
test=
"visible != null and visible != ''"
>
AND visible = #{visible}
</if>
<if
test=
"status != null and status != ''"
>
AND status = #{status}
</if>
order by m.parent_id, m.order_num
</select>
<select
id=
"selectMenuTreeByUserId"
parameterType=
"Long"
resultMap=
"SysMenuResult"
>
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.visible, ifnull(m.perms,'') as perms, m.is_frame, m.menu_type, m.icon, m.order_num, m.create_time
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.visible,
m.status,
ifnull(m.perms,'') as perms, m.is_frame, m.menu_type, m.icon, m.order_num, m.create_time
from sys_menu m
left join sys_role_menu rm on m.menu_id = rm.menu_id
left join sys_user_role ur on rm.role_id = ur.role_id
left join sys_role ro on ur.role_id = ro.role_id
left join sys_user u on ur.user_id = u.user_id
where u.user_id = #{userId} and m.menu_type in ('M', 'C') and m.
visible
= 0 AND ro.status = 0
where u.user_id = #{userId} and m.menu_type in ('M', 'C') and m.
status
= 0 AND ro.status = 0
order by m.parent_id, m.order_num
</select>
...
...
@@ -97,7 +104,7 @@
left join sys_role_menu rm on m.menu_id = rm.menu_id
left join sys_user_role ur on rm.role_id = ur.role_id
left join sys_role r on r.role_id = ur.role_id
where m.
visible
= '0' and r.status = '0' and ur.user_id = #{userId}
where m.
status
= '0' and r.status = '0' and ur.user_id = #{userId}
</select>
<select
id=
"selectMenuById"
parameterType=
"Long"
resultMap=
"SysMenuResult"
>
...
...
@@ -125,6 +132,7 @@
<if
test=
"isFrame != null and isFrame != ''"
>
is_frame = #{isFrame},
</if>
<if
test=
"menuType != null and menuType != ''"
>
menu_type = #{menuType},
</if>
<if
test=
"visible != null"
>
visible = #{visible},
</if>
<if
test=
"status != null"
>
status = #{status},
</if>
<if
test=
"perms !=null"
>
perms = #{perms},
</if>
<if
test=
"icon !=null and icon != ''"
>
icon = #{icon},
</if>
<if
test=
"remark != null and remark != ''"
>
remark = #{remark},
</if>
...
...
@@ -145,6 +153,7 @@
<if
test=
"isFrame != null and isFrame != ''"
>
is_frame,
</if>
<if
test=
"menuType != null and menuType != ''"
>
menu_type,
</if>
<if
test=
"visible != null"
>
visible,
</if>
<if
test=
"status != null"
>
status,
</if>
<if
test=
"perms !=null and perms != ''"
>
perms,
</if>
<if
test=
"icon != null and icon != ''"
>
icon,
</if>
<if
test=
"remark != null and remark != ''"
>
remark,
</if>
...
...
@@ -160,6 +169,7 @@
<if
test=
"isFrame != null and isFrame != ''"
>
#{isFrame},
</if>
<if
test=
"menuType != null and menuType != ''"
>
#{menuType},
</if>
<if
test=
"visible != null"
>
#{visible},
</if>
<if
test=
"status != null"
>
#{status},
</if>
<if
test=
"perms !=null and perms != ''"
>
#{perms},
</if>
<if
test=
"icon != null and icon != ''"
>
#{icon},
</if>
<if
test=
"remark != null and remark != ''"
>
#{remark},
</if>
...
...
ruoyi/src/main/resources/vm/sql/sql.vm
View file @
ec98648e
-- 菜单 SQL
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)
values('${functionName}', '3', '1', '${businessName}', '${moduleName}/${businessName}/index', 1, 'C', '0', '${permissionPrefix}:list', '#', 'admin', '2018-03-01', 'ry', '2018-03-01', '${functionName}菜单');
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, menu_type, visible,
status,
perms, icon, create_by, create_time, update_by, update_time, remark)
values('${functionName}', '3', '1', '${businessName}', '${moduleName}/${businessName}/index', 1, 'C', '0', '
0', '
${permissionPrefix}:list', '#', 'admin', '2018-03-01', 'ry', '2018-03-01', '${functionName}菜单');
-- 按钮父菜单ID
SELECT @parentId := LAST_INSERT_ID();
-- 按钮 SQL
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)
values('${functionName}查询', @parentId, '1', '#', '', 1, 'F', '0',
'${permissionPrefix}:query',
'#', 'admin', '2018-03-01', 'ry', '2018-03-01', '');
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, menu_type, visible,
status,
perms, icon, create_by, create_time, update_by, update_time, remark)
values('${functionName}查询', @parentId, '1', '#', '', 1, 'F', '0',
'0', '${permissionPrefix}:query',
'#', 'admin', '2018-03-01', 'ry', '2018-03-01', '');
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)
values('${functionName}新增', @parentId, '2', '#', '', 1, 'F', '0', '${permissionPrefix}:add', '#', 'admin', '2018-03-01', 'ry', '2018-03-01', '');
values('${functionName}新增', @parentId, '2', '#', '', 1, 'F', '0',
'0',
'${permissionPrefix}:add', '#', 'admin', '2018-03-01', 'ry', '2018-03-01', '');
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)
values('${functionName}修改', @parentId, '3', '#', '', 1, 'F', '0', '${permissionPrefix}:edit', '#', 'admin', '2018-03-01', 'ry', '2018-03-01', '');
values('${functionName}修改', @parentId, '3', '#', '', 1, 'F', '0',
'0',
'${permissionPrefix}:edit', '#', 'admin', '2018-03-01', 'ry', '2018-03-01', '');
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)
values('${functionName}删除', @parentId, '4', '#', '', 1, 'F', '0', '${permissionPrefix}:remove', '#', 'admin', '2018-03-01', 'ry', '2018-03-01', '');
values('${functionName}删除', @parentId, '4', '#', '', 1, 'F', '0',
'0',
'${permissionPrefix}:remove', '#', 'admin', '2018-03-01', 'ry', '2018-03-01', '');
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark)
values('${functionName}导出', @parentId, '5', '#', '', 1, 'F', '0', '${permissionPrefix}:export', '#', 'admin', '2018-03-01', 'ry', '2018-03-01', '');
\ No newline at end of file
values('${functionName}导出', @parentId, '5', '#', '', 1, 'F', '0', '0', '${permissionPrefix}:export', '#', 'admin', '2018-03-01', 'ry', '2018-03-01', '');
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment