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
0e615072
Commit
0e615072
authored
Sep 05, 2021
by
RuoYi
Browse files
页签新增关闭左侧
parent
44adf03d
Changes
2
Hide whitespace changes
Inline
Side-by-side
ruoyi-ui/src/layout/components/TagsView/index.vue
View file @
0e615072
...
...
@@ -21,6 +21,7 @@
<li
@
click=
"refreshSelectedTag(selectedTag)"
><i
class=
"el-icon-refresh-right"
></i>
刷新页面
</li>
<li
v-if=
"!isAffix(selectedTag)"
@
click=
"closeSelectedTag(selectedTag)"
><i
class=
"el-icon-close"
></i>
关闭当前
</li>
<li
@
click=
"closeOthersTags"
><i
class=
"el-icon-circle-close"
></i>
关闭其他
</li>
<li
v-if=
"!isFirstView()"
@
click=
"closeLeftTags"
><i
class=
"el-icon-back"
></i>
关闭左侧
</li>
<li
v-if=
"!isLastView()"
@
click=
"closeRightTags"
><i
class=
"el-icon-right"
></i>
关闭右侧
</li>
<li
@
click=
"closeAllTags(selectedTag)"
><i
class=
"el-icon-circle-close"
></i>
全部关闭
</li>
</ul>
...
...
@@ -84,6 +85,13 @@ export default {
isAffix
(
tag
)
{
return
tag
.
meta
&&
tag
.
meta
.
affix
},
isFirstView
()
{
try
{
return
this
.
selectedTag
.
fullPath
===
this
.
visitedViews
[
1
].
fullPath
||
this
.
selectedTag
.
fullPath
===
'
/index
'
}
catch
(
err
)
{
return
false
}
},
isLastView
()
{
try
{
return
this
.
selectedTag
.
fullPath
===
this
.
visitedViews
[
this
.
visitedViews
.
length
-
1
].
fullPath
...
...
@@ -167,6 +175,13 @@ export default {
}
})
},
closeLeftTags
()
{
this
.
$store
.
dispatch
(
'
tagsView/delLeftTags
'
,
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 @
0e615072
...
...
@@ -79,6 +79,23 @@ const mutations = {
}
return
false
})
},
DEL_LEFT_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
})
}
}
...
...
@@ -172,7 +189,14 @@ const actions = {
commit
(
'
DEL_RIGHT_VIEWS
'
,
view
)
resolve
([...
state
.
visitedViews
])
})
}
},
delLeftTags
({
commit
},
view
)
{
return
new
Promise
(
resolve
=>
{
commit
(
'
DEL_LEFT_VIEWS
'
,
view
)
resolve
([...
state
.
visitedViews
])
})
},
}
export
default
{
...
...
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