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
5f235056
Commit
5f235056
authored
Apr 10, 2021
by
RuoYi
Browse files
页签新增关闭右侧
parent
6810243a
Changes
2
Hide whitespace changes
Inline
Side-by-side
ruoyi-ui/src/layout/components/TagsView/index.vue
View file @
5f235056
...
...
@@ -21,6 +21,7 @@
<li
@
click=
"refreshSelectedTag(selectedTag)"
>
刷新页面
</li>
<li
v-if=
"!isAffix(selectedTag)"
@
click=
"closeSelectedTag(selectedTag)"
>
关闭当前
</li>
<li
@
click=
"closeOthersTags"
>
关闭其他
</li>
<li
v-if=
"!isLastView()"
@
click=
"closeRightTags"
>
关闭右侧
</li>
<li
@
click=
"closeAllTags(selectedTag)"
>
关闭所有
</li>
</ul>
</div>
...
...
@@ -83,6 +84,13 @@ export default {
isAffix
(
tag
)
{
return
tag
.
meta
&&
tag
.
meta
.
affix
},
isLastView
()
{
try
{
return
this
.
selectedTag
.
fullPath
===
this
.
visitedViews
[
this
.
visitedViews
.
length
-
1
].
fullPath
}
catch
(
err
)
{
return
false
}
},
filterAffixTags
(
routes
,
basePath
=
'
/
'
)
{
let
tags
=
[]
routes
.
forEach
(
route
=>
{
...
...
@@ -152,6 +160,13 @@ export default {
}
})
},
closeRightTags
()
{
this
.
$store
.
dispatch
(
'
tagsView/delRightTags
'
,
this
.
selectedTag
).
then
(
visitedViews
=>
{
if
(
!
visitedViews
.
find
(
i
=>
i
.
fullPath
===
this
.
$route
.
fullPath
))
{
this
.
toLastView
(
visitedViews
)
}
})
},
closeOthersTags
()
{
this
.
$router
.
push
(
this
.
selectedTag
).
catch
(()
=>
{});
this
.
$store
.
dispatch
(
'
tagsView/delOthersViews
'
,
this
.
selectedTag
).
then
(()
=>
{
...
...
ruoyi-ui/src/store/modules/tagsView.js
View file @
5f235056
...
...
@@ -62,6 +62,23 @@ const mutations = {
break
}
}
},
DEL_RIGHT_VIEWS
:
(
state
,
view
)
=>
{
const
index
=
state
.
visitedViews
.
findIndex
(
v
=>
v
.
path
===
view
.
path
)
if
(
index
===
-
1
)
{
return
}
state
.
visitedViews
=
state
.
visitedViews
.
filter
((
item
,
idx
)
=>
{
if
(
idx
<=
index
||
(
item
.
meta
&&
item
.
meta
.
affix
))
{
return
true
}
const
i
=
state
.
cachedViews
.
indexOf
(
item
.
name
)
if
(
i
>
-
1
)
{
state
.
cachedViews
.
splice
(
i
,
1
)
}
return
false
})
}
}
...
...
@@ -148,6 +165,13 @@ const actions = {
updateVisitedView
({
commit
},
view
)
{
commit
(
'
UPDATE_VISITED_VIEW
'
,
view
)
},
delRightTags
({
commit
},
view
)
{
return
new
Promise
(
resolve
=>
{
commit
(
'
DEL_RIGHT_VIEWS
'
,
view
)
resolve
([...
state
.
visitedViews
])
})
}
}
...
...
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