From b18350e2f06c55f6aaae957631238bf02bb07b63 Mon Sep 17 00:00:00 2001
From: 石广澎 <shiguangpeng@163.com>
Date: 星期六, 02 十二月 2023 11:56:14 +0800
Subject: [PATCH] fix: 修复标签页 主页刷新后消失的问题
---
admin-web/src/layout/components/TagsView/index.vue | 42 +++++++++++++++++++++++++++++++-----------
admin-web/src/views/dashboard/index.vue | 3 +--
2 files changed, 32 insertions(+), 13 deletions(-)
diff --git a/admin-web/src/layout/components/TagsView/index.vue b/admin-web/src/layout/components/TagsView/index.vue
index 0354595..6ba6830 100644
--- a/admin-web/src/layout/components/TagsView/index.vue
+++ b/admin-web/src/layout/components/TagsView/index.vue
@@ -13,7 +13,7 @@
@contextmenu.prevent.native="openMenu(tag, $event)"
>
{{ tag.title }}
- <span v-if="!isAffix(tag)" class="el-icon-close" @click.prevent.stop="closeSelectedTag(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: (openAside?left+170:left) + 'px', top: top + 'px' }" class="contextmenu">
@@ -39,13 +39,13 @@
import path from 'path';
export default {
- props:{
- openAside:{
+ props: {
+ openAside: {
type: Boolean,
default: false
}
},
- components: { ScrollPane },
+ components: {ScrollPane},
data() {
return {
fullWidth: document.body.clientWidth,
@@ -59,7 +59,19 @@
},
computed: {
visitedViews() {
- return this.$store.state.tagsView.visitedViews;
+ let visitedViews = this.$store.state.tagsView.visitedViews
+ if (visitedViews&&visitedViews[0]&&visitedViews[0].title !== '涓婚〉') {
+ visitedViews.unshift({
+ title: '涓婚〉',
+ path: '/dashboard',
+ query: {},
+ fullPath: '/dashboard',
+ meta:{
+ affix: true
+ }
+ })
+ }
+ return visitedViews;
},
routes() {
return this.$store.state.permission.routes;
@@ -112,7 +124,7 @@
fullPath: tagPath,
path: tagPath,
name: route.name,
- meta: { ...route.meta },
+ meta: {...route.meta},
});
}
if (route.children) {
@@ -151,7 +163,7 @@
});
},
addTags() {
- const { name } = this.$route;
+ const {name} = this.$route;
if (name) {
this.$store.dispatch('tagsView/addView', this.$route);
}
@@ -174,7 +186,7 @@
},
refreshSelectedTag(view) {
this.$store.dispatch('tagsView/delCachedView', view).then(() => {
- const { fullPath } = view;
+ const {fullPath} = view;
this.$nextTick(() => {
this.$router.replace({
path: '/redirect' + fullPath,
@@ -183,7 +195,7 @@
});
},
closeSelectedTag(view) {
- this.$store.dispatch('tagsView/delView', view).then(({ visitedViews }) => {
+ this.$store.dispatch('tagsView/delView', view).then(({visitedViews}) => {
if (this.isActive(view)) {
this.toLastView(visitedViews, view);
}
@@ -196,7 +208,7 @@
});
},
closeAllTags(view) {
- this.$store.dispatch('tagsView/delAllViews').then(({ visitedViews }) => {
+ this.$store.dispatch('tagsView/delAllViews').then(({visitedViews}) => {
if (this.affixTags.some((tag) => tag.path === view.path)) {
return;
}
@@ -212,7 +224,7 @@
// you can adjust it according to your needs.
if (view.name === 'Dashboard') {
// to reload home page
- this.$router.replace({ path: '/redirect' + view.fullPath });
+ this.$router.replace({path: '/redirect' + view.fullPath});
} else {
this.$router.push('/dashboard');
}
@@ -261,12 +273,15 @@
font-size: 14px;
margin-left: 10px;
border-radius: 3px;
+
&:first-of-type {
margin-left: 20px;
}
+
&:last-of-type {
margin-right: 20px;
}
+
&.active {
background-color: #fff;
color: #333333;
@@ -284,6 +299,7 @@
}
}
}
+
.contextmenu {
margin: 0;
background: #fff;
@@ -296,10 +312,12 @@
font-weight: 400;
color: #333;
box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, 0.3);
+
li {
margin: 0;
padding: 7px 16px;
cursor: pointer;
+
&:hover {
background: #eee;
}
@@ -318,10 +336,12 @@
text-align: center;
transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
transform-origin: 100% 50%;
+
&:before {
transform: scale(0.6);
display: inline-block;
}
+
&:hover {
background-color: #b4bccc;
color: #fff;
diff --git a/admin-web/src/views/dashboard/index.vue b/admin-web/src/views/dashboard/index.vue
index 25a5676..eb6551d 100644
--- a/admin-web/src/views/dashboard/index.vue
+++ b/admin-web/src/views/dashboard/index.vue
@@ -34,7 +34,7 @@
</el-table-column>
<el-table-column prop="date" label="鎿嶄綔" fixed="right" align="center" width="80">
<template slot-scope="scope">
- <el-button style="padding: 4.5px 15px" @click.native.prevent="aduitThis(scope.row)" size="mini" type="primary">澶勭悊</el-button>
+ <el-button style="padding: 4px 15px" @click.native.prevent="aduitThis(scope.row)" size="mini" type="primary">澶勭悊</el-button>
</template>
</el-table-column>
<el-empty slot="empty" description="鏆傛棤鏁版嵁"></el-empty>
@@ -182,7 +182,6 @@
};
},
created() {
- console.log(this.userInfo)
this.getAuditList()
this.getWarningList()
getGoodsNumPrice().then(res => {
--
Gitblit v1.9.1