From dddbaeb5c0d77de8fb9b24efc09c0ed7bdd12cc3 Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: Fri, 11 Dec 2020 18:01:44 +0800
Subject: [PATCH] 代码生成预览支持高亮显示
---
ruoyi-ui/src/layout/components/TagsView/index.vue | 23 +++++++++++++++++++++--
1 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/ruoyi-ui/src/layout/components/TagsView/index.vue b/ruoyi-ui/src/layout/components/TagsView/index.vue
index 19e1912..23eb8f0 100644
--- a/ruoyi-ui/src/layout/components/TagsView/index.vue
+++ b/ruoyi-ui/src/layout/components/TagsView/index.vue
@@ -1,6 +1,6 @@
<template>
<div id="tags-view-container" class="tags-view-container">
- <scroll-pane ref="scrollPane" class="tags-view-wrapper">
+ <scroll-pane ref="scrollPane" class="tags-view-wrapper" @scroll="handleScroll">
<router-link
v-for="tag in visitedViews"
ref="tag"
@@ -9,6 +9,7 @@
:to="{ path: tag.path, query: tag.query, fullPath: tag.fullPath }"
tag="span"
class="tags-view-item"
+ :style="activeStyle(tag)"
@click.middle.native="!isAffix(tag)?closeSelectedTag(tag):''"
@contextmenu.prevent.native="openMenu(tag,$event)"
>
@@ -28,6 +29,7 @@
<script>
import ScrollPane from './ScrollPane'
import path from 'path'
+import Global from "@/layout/components/global.js";
export default {
components: { ScrollPane },
@@ -46,6 +48,9 @@
},
routes() {
return this.$store.state.permission.routes
+ },
+ theme() {
+ return this.$store.state.settings.theme;
}
},
watch: {
@@ -68,6 +73,13 @@
methods: {
isActive(route) {
return route.path === this.$route.path
+ },
+ activeStyle(tag) {
+ if (!this.isActive(tag)) return {};
+ return {
+ "background-color": this.theme,
+ "border-color": this.theme
+ };
},
isAffix(tag) {
return tag.meta && tag.meta.affix
@@ -133,6 +145,7 @@
})
})
})
+ Global.$emit("removeCache", "refreshSelectedTag", this.selectedTag);
},
closeSelectedTag(view) {
this.$store.dispatch('tagsView/delView', view).then(({ visitedViews }) => {
@@ -140,20 +153,23 @@
this.toLastView(visitedViews, view)
}
})
+ Global.$emit("removeCache", "closeSelectedTag", view);
},
closeOthersTags() {
this.$router.push(this.selectedTag)
this.$store.dispatch('tagsView/delOthersViews', this.selectedTag).then(() => {
this.moveToCurrentTag()
})
+ Global.$emit("removeCache", "closeOthersTags", this.selectedTag);
},
closeAllTags(view) {
this.$store.dispatch('tagsView/delAllViews').then(({ visitedViews }) => {
- if (this.affixTags.some(tag => tag.path === view.path)) {
+ if (this.affixTags.some(tag => tag.path === this.$route.path)) {
return
}
this.toLastView(visitedViews, view)
})
+ Global.$emit("removeCache", "closeAllTags");
},
toLastView(visitedViews, view) {
const latestView = visitedViews.slice(-1)[0]
@@ -189,6 +205,9 @@
},
closeMenu() {
this.visible = false
+ },
+ handleScroll() {
+ this.closeMenu()
}
}
}
--
Gitblit v1.9.3