Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
RuoYi Vue
Commits
df504c5c
Commit
df504c5c
authored
Feb 06, 2021
by
RuoYi
Browse files
修复四级菜单无法显示问题
parent
baeed2e8
Changes
1
Hide whitespace changes
Inline
Side-by-side
ruoyi-ui/src/store/modules/permission.js
View file @
df504c5c
...
...
@@ -27,7 +27,7 @@ const permission = {
const
sdata
=
JSON
.
parse
(
JSON
.
stringify
(
res
.
data
))
const
rdata
=
JSON
.
parse
(
JSON
.
stringify
(
res
.
data
))
const
sidebarRoutes
=
filterAsyncRouter
(
sdata
)
const
rewriteRoutes
=
filterAsyncRouter
(
rdata
,
true
)
const
rewriteRoutes
=
filterAsyncRouter
(
rdata
,
false
,
true
)
rewriteRoutes
.
push
({
path
:
'
*
'
,
redirect
:
'
/404
'
,
hidden
:
true
})
commit
(
'
SET_ROUTES
'
,
rewriteRoutes
)
commit
(
'
SET_SIDEBAR_ROUTERS
'
,
sidebarRoutes
)
...
...
@@ -39,9 +39,9 @@ const permission = {
}
// 遍历后台传来的路由字符串,转换为组件对象
function
filterAsyncRouter
(
asyncRouterMap
,
isRewrit
e
=
false
)
{
function
filterAsyncRouter
(
asyncRouterMap
,
lastRouter
=
false
,
typ
e
=
false
)
{
return
asyncRouterMap
.
filter
(
route
=>
{
if
(
isRewrit
e
&&
route
.
children
)
{
if
(
typ
e
&&
route
.
children
)
{
route
.
children
=
filterChildren
(
route
.
children
)
}
if
(
route
.
component
)
{
...
...
@@ -55,13 +55,16 @@ function filterAsyncRouter(asyncRouterMap, isRewrite = false) {
}
}
if
(
route
.
children
!=
null
&&
route
.
children
&&
route
.
children
.
length
)
{
route
.
children
=
filterAsyncRouter
(
route
.
children
,
route
,
isRewrite
)
route
.
children
=
filterAsyncRouter
(
route
.
children
,
route
,
type
)
}
else
{
delete
route
[
'
children
'
]
delete
route
[
'
redirect
'
]
}
return
true
})
}
function
filterChildren
(
childrenMap
)
{
function
filterChildren
(
childrenMap
,
lastRouter
=
false
)
{
var
children
=
[]
childrenMap
.
forEach
((
el
,
index
)
=>
{
if
(
el
.
children
&&
el
.
children
.
length
)
{
...
...
@@ -77,6 +80,9 @@ function filterChildren(childrenMap) {
return
}
}
if
(
lastRouter
)
{
el
.
path
=
lastRouter
.
path
+
'
/
'
+
el
.
path
}
children
=
children
.
concat
(
el
)
})
return
children
...
...
Write
Preview
Supports
Markdown
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