Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-cr20g
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
dsk-cr20g
Commits
ad03228a
Commit
ad03228a
authored
Sep 11, 2023
by
huangjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
F5刷新不关闭页面
parent
a4b6e2e6
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
88 additions
and
44 deletions
+88
-44
index.vue
dsk-operate-ui/src/layout/components/TagsView/index.vue
+59
-37
index.vue
dsk-operate-ui/src/layout/index.vue
+6
-4
tagsView.js
dsk-operate-ui/src/store/modules/tagsView.js
+23
-3
No files found.
dsk-operate-ui/src/layout/components/TagsView/index.vue
View file @
ad03228a
<
template
>
<div
id=
"tags-view-container"
class=
"tags-view-container"
>
<div
class=
"alltags"
v-if=
"visitedViews.length > 0"
>
<div
class=
"imgs"
@
click=
"closeall"
>
<img
src=
"@/assets/images/all.png"
v-if=
"!showall"
/>
<img
src=
"@/assets/images/all_on.png"
v-if=
"showall"
/>
<!--
<i
class=
"el-icon-arrow-down"
v-if=
"!showall"
></i>
<i
class=
"el-icon-arrow-up"
v-if=
"showall"
></i>
-->
<div
id=
"getviews"
>
<div
class=
"alltags"
v-if=
"visitedViews.length > 0"
>
<div
class=
"imgs"
@
click=
"closeall"
>
<img
src=
"@/assets/images/all.png"
v-if=
"!showall"
/>
<img
src=
"@/assets/images/all_on.png"
v-if=
"showall"
/>
<!--
<i
class=
"el-icon-arrow-down"
v-if=
"!showall"
></i>
<i
class=
"el-icon-arrow-up"
v-if=
"showall"
></i>
-->
</div>
<div
class=
"tagslist"
v-if=
"showall"
>
<draggable
v-model=
"visitedViews"
:options=
"dragOptions"
@
end=
"end"
>
<router-link
v-for=
"(tag, index) in visitedViews"
ref=
"tag"
:key=
"tag.path"
:class=
"isActive(tag)?'active':''"
:to=
"
{ path: tag.path, query: tag.query, fullPath: tag.fullPath }"
tag="span"
class="tags-view-item"
@contextmenu.prevent.native="openMenu(tag,$event)"
>
<div
@
click=
"changetags"
>
<i
class=
"el-icon-check"
></i>
<span
:id=
"isActive(tag)?'tagTitle':''"
>
{{
tag
.
title
}}
</span>
</div>
</router-link>
<div
class=
"clasall"
@
click=
"closeAllTag(selectedTag)"
>
关闭全部标签
</div>
</draggable>
</div>
<div
class=
"tagslist"
v-if=
"showall"
>
</div>
<scroll-pane
ref=
"scrollPane"
class=
"tags-view-wrapper"
@
scroll=
"handleScroll"
>
<draggable
v-model=
"visitedViews"
:options=
"dragOptions"
@
end=
"end"
>
<router-link
v-for=
"(tag, index) in visitedViews"
...
...
@@ -16,41 +39,19 @@
:to=
"
{ path: tag.path, query: tag.query, fullPath: tag.fullPath }"
tag="span"
class="tags-view-item"
@click.middle.native="!isAffix(tag)?closeSelectedTag(tag):''"
@contextmenu.prevent.native="openMenu(tag,$event)"
>
<div
@
click=
"changetags"
>
<i
class=
"el-icon-check"
></i>
<span
:id=
"isActive(tag)?'tagTitle':''"
>
{{
tag
.
title
}}
</span>
</div>
<svg
:class=
"isActive(tag)?'tags-icon tags-icon-active':'tags-icon'"
aria-hidden=
"true"
>
<use
:xlink:href=
"iconName(tag)"
/>
</svg>
<span
:id=
"isActive(tag)?'tagTitle':''"
>
{{
tag
.
title
}}
</span>
<span
v-if=
"!isAffix(tag)"
class=
"el-icon-close"
@
click
.
prevent
.
stop=
"closeSelectedTag(tag)"
/>
<i
:class=
"index!=visitedViews.length-1 && index != isActiveIndex() && index != isActiveIndex()-1?'tags-item-line':'tags-item-line item-color'"
/>
</router-link>
<div
class=
"clasall"
@
click=
"closeAllTag(selectedTag)"
>
关闭全部标签
</div>
</draggable>
</div>
</div>
<scroll-pane
ref=
"scrollPane"
class=
"tags-view-wrapper"
@
scroll=
"handleScroll"
>
<draggable
v-model=
"visitedViews"
:options=
"dragOptions"
@
end=
"end"
>
<router-link
v-for=
"(tag, index) in visitedViews"
ref=
"tag"
:key=
"tag.path"
:class=
"isActive(tag)?'active':''"
:to=
"
{ path: tag.path, query: tag.query, fullPath: tag.fullPath }"
tag="span"
class="tags-view-item"
@click.middle.native="!isAffix(tag)?closeSelectedTag(tag):''"
@contextmenu.prevent.native="openMenu(tag,$event)"
>
<svg
:class=
"isActive(tag)?'tags-icon tags-icon-active':'tags-icon'"
aria-hidden=
"true"
>
<use
:xlink:href=
"iconName(tag)"
/>
</svg>
<span
:id=
"isActive(tag)?'tagTitle':''"
>
{{
tag
.
title
}}
</span>
<span
v-if=
"!isAffix(tag)"
class=
"el-icon-close"
@
click
.
prevent
.
stop=
"closeSelectedTag(tag)"
/>
<i
:class=
"index!=visitedViews.length-1 && index != isActiveIndex() && index != isActiveIndex()-1?'tags-item-line':'tags-item-line item-color'"
/>
</router-link>
</draggable>
</scroll-pane>
<ul
v-show=
"visible"
:style=
"
{left:left+'px',top:top+'px'}" class="contextmenu">
</scroll-pane>
<ul
v-show=
"visible"
:style=
"
{left:left+'px',top:top+'px'}" class="contextmenu">
<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>
...
...
@@ -58,6 +59,7 @@
<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>
</div>
</div>
</
template
>
...
...
@@ -118,6 +120,7 @@ export default {
$route
()
{
this
.
addTags
()
this
.
moveToCurrentTag
()
this
.
getviews
()
},
visible
(
value
)
{
if
(
value
)
{
...
...
@@ -130,8 +133,27 @@ export default {
mounted
()
{
this
.
initTags
()
this
.
addTags
()
// this.getviews()
},
methods
:
{
getviews
(){
let
viewlist
=
[]
let
views
=
this
.
$store
.
state
.
tagsView
.
visitedViews
views
.
forEach
(
view
=>
{
let
li
=
{}
li
.
fullPath
=
view
.
fullPath
li
.
hash
=
view
.
hash
li
.
meta
=
view
.
meta
li
.
name
=
view
.
name
li
.
params
=
view
.
params
li
.
path
=
view
.
path
li
.
query
=
view
.
query
li
.
title
=
view
.
title
// li.matched = view.matched //此条数据放出会报错
viewlist
.
push
(
li
)
})
localStorage
.
setItem
(
"views"
,
JSON
.
stringify
(
viewlist
))
},
changetags
(){
this
.
showall
=
false
},
...
...
dsk-operate-ui/src/layout/index.vue
View file @
ad03228a
...
...
@@ -21,6 +21,7 @@ import ResizeMixin from './mixin/ResizeHandler'
import
{
mapState
}
from
'vuex'
import
variables
from
'@/assets/styles/variables.scss'
import
elementResizeDetectorMaker
from
"element-resize-detector"
import
{
parse
,
stringify
}
from
'flatted'
;
export
default
{
name
:
'Layout'
,
components
:
{
...
...
@@ -64,10 +65,11 @@ export default {
this
.
listenSider
()
})
// console.log(9999)
// let views = localStorage.getItem('views')
// console.log(views)
// this.$store.state.tagsView.visitedViews = JSON.parse(views)
// localStorage.removeItem('views')
let
views
=
localStorage
.
getItem
(
'views'
)
if
(
views
!=
null
){
this
.
$store
.
state
.
tagsView
.
visitedViews
=
JSON
.
parse
(
views
)
localStorage
.
removeItem
(
'views'
)
}
},
methods
:
{
handleClickOutside
()
{
...
...
dsk-operate-ui/src/store/modules/tagsView.js
View file @
ad03228a
import
{
parse
,
stringify
}
from
'flatted'
;
import
{
parse
,
stringify
}
from
'flatted'
;
const
state
=
{
visitedViews
:
[],
cachedViews
:
[],
...
...
@@ -22,8 +23,27 @@ const mutations = {
})
)
// console.log(state.visitedViews)
// let visitedViews = stringify(state.visitedViews)
// localStorage.setItem("views",visitedViews)
// try {
// stringify(view)
// }catch(e)
// {
//
// }
// console.log(
// localStorage.removeItem('views')
// let views =view
// let viewlist = localStorage.getItem("views")==null?[]:JSON.parse(localStorage.getItem("views"))
// let li = {}
// li.fullPath = view.fullPath
// li.hash = view.hash
// li.meta = view.meta
// li.name = view.name
// li.params = view.params
// li.path = view.path
// li.query = view.query
// viewlist.push(li)
// viewlist.push(parse(stringify(view)))
// localStorage.setItem("views",stringify(viewlist))
},
ADD_CACHED_VIEW
:
(
state
,
view
)
=>
{
if
(
state
.
cachedViews
.
includes
(
view
.
name
))
return
...
...
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