|
@@ -1,10 +1,10 @@
|
|
|
<template>
|
|
|
- <div id="tags-view-container" class="tags-view-container" v-show="false">
|
|
|
+ <div id="tags-view-container" class="tags-view-container" v-show="true">
|
|
|
<scroll-pane ref="scrollPane" class="tags-view-wrapper">
|
|
|
<router-link
|
|
|
v-for="tag in visitedViews"
|
|
|
ref="tag"
|
|
|
- :key="tag.path"
|
|
|
+ :key="tag.fullPath"
|
|
|
:class="isActive(tag)?'active':''"
|
|
|
:to="{ path: tag.path, query: tag.query, fullPath: tag.fullPath }"
|
|
|
tag="span"
|
|
@@ -12,12 +12,12 @@
|
|
|
@click.middle.native="!isAffix(tag)?closeSelectedTag(tag):''"
|
|
|
@contextmenu.prevent.native="openMenu(tag,$event)"
|
|
|
>
|
|
|
- {{ tag.title }}
|
|
|
+ {{buildTagName(tag)}}
|
|
|
<span v-if="!isAffix(tag)" class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)" />
|
|
|
</router-link>
|
|
|
</scroll-pane>
|
|
|
<ul v-show="visible" :style="{left:left+'px',top:top+'px'}" class="contextmenu">
|
|
|
- <li @click="refreshSelectedTag(selectedTag)">刷新</li>
|
|
|
+ <!-- <li @click="refreshSelectedTag(selectedTag)">刷新</li> -->
|
|
|
<li v-if="!isAffix(selectedTag)" @click="closeSelectedTag(selectedTag)">关闭</li>
|
|
|
<li @click="closeOthersTags">关闭其他</li>
|
|
|
<li @click="closeAllTags(selectedTag)">关闭所有</li>
|
|
@@ -52,7 +52,6 @@ export default {
|
|
|
$route() {
|
|
|
this.addTags()
|
|
|
this.moveToCurrentTag()
|
|
|
- // console.log('tagsView route 改变监听器')
|
|
|
},
|
|
|
visible(value) {
|
|
|
if (value) {
|
|
@@ -68,7 +67,7 @@ export default {
|
|
|
},
|
|
|
methods: {
|
|
|
isActive(route) {
|
|
|
- return route.path === this.$route.path
|
|
|
+ return route.fullPath === this.$route.fullPath
|
|
|
},
|
|
|
isAffix(tag) {
|
|
|
return tag.meta && tag.meta.affix
|
|
@@ -136,6 +135,10 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
closeSelectedTag(view) {
|
|
|
+ console.log(view)
|
|
|
+ if (view.path === '/home/index'){
|
|
|
+ return;
|
|
|
+ }
|
|
|
this.$store.dispatch('tagsView/delView', view).then(({ visitedViews }) => {
|
|
|
if (this.isActive(view)) {
|
|
|
this.toLastView(visitedViews, view)
|
|
@@ -184,13 +187,41 @@ export default {
|
|
|
this.left = left
|
|
|
}
|
|
|
|
|
|
- this.top = e.clientY
|
|
|
+ this.top = e.clientY-40;
|
|
|
this.visible = true
|
|
|
this.selectedTag = tag
|
|
|
},
|
|
|
closeMenu() {
|
|
|
this.visible = false
|
|
|
+ },
|
|
|
+ buildTagName(tag){
|
|
|
+ let tagName = '';
|
|
|
+ let path = tag.path;
|
|
|
+ if (path.includes('major')){
|
|
|
+ tagName += '大中型-'
|
|
|
+ }
|
|
|
+ if (path.includes('personal')){
|
|
|
+ tagName += '个贷-'
|
|
|
+ }
|
|
|
+ if (path.includes('assets')){
|
|
|
+ tagName += '资产-'
|
|
|
+ }
|
|
|
+ tagName += tag.title;
|
|
|
+ if (tag.query.reportNo){
|
|
|
+ tagName += '-'+tag.query.reportNo;
|
|
|
+ return tagName;
|
|
|
+ }
|
|
|
+ if (tag.query.statementNo){
|
|
|
+ tagName += '-'+tag.query.statementNo;
|
|
|
+ return tagName;
|
|
|
+ }
|
|
|
+ if (tag.query.orderId){
|
|
|
+ tagName += '-'+tag.query.orderId;
|
|
|
+ return tagName;
|
|
|
+ }
|
|
|
+ return tagName;
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
@@ -204,6 +235,8 @@ export default {
|
|
|
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 3px 0 rgba(0, 0, 0, .04);
|
|
|
.tags-view-wrapper {
|
|
|
.tags-view-item {
|
|
|
+ transition: transform 0.3s ease;
|
|
|
+ transform: scale(1);
|
|
|
display: inline-block;
|
|
|
position: relative;
|
|
|
cursor: pointer;
|
|
@@ -238,6 +271,10 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ .tags-view-item:hover{
|
|
|
+ transform: scale(1.3);
|
|
|
+ color:black;
|
|
|
+ }
|
|
|
}
|
|
|
.contextmenu {
|
|
|
margin: 0;
|