From 9ceca3a68ee8edad0dd218b1aac3d9d3d42cae05 Mon Sep 17 00:00:00 2001 From: RuoYi Date: Fri, 23 May 2025 14:56:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=A1=B5=E7=AD=BE=E5=9B=BE?= =?UTF-8?q?=E6=A0=87=E6=98=BE=E7=A4=BA=E5=BC=80=E5=85=B3=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/layout/components/Settings/index.vue | 17 +++++++++++++++++ .../src/layout/components/TagsView/index.vue | 11 ++++++++++- ruoyi-ui/src/settings.js | 17 +++++++---------- ruoyi-ui/src/store/modules/settings.js | 3 ++- 4 files changed, 36 insertions(+), 12 deletions(-) diff --git a/ruoyi-ui/src/layout/components/Settings/index.vue b/ruoyi-ui/src/layout/components/Settings/index.vue index 126aa4ef..ada983d3 100644 --- a/ruoyi-ui/src/layout/components/Settings/index.vue +++ b/ruoyi-ui/src/layout/components/Settings/index.vue @@ -49,6 +49,11 @@ +
+ 显示页签图标 + +
+
固定 Header @@ -124,6 +129,17 @@ export default { }) } }, + tagsIcon: { + get() { + return this.$store.state.settings.tagsIcon + }, + set(val) { + this.$store.dispatch('settings/changeSetting', { + key: 'tagsIcon', + value: val + }) + } + }, sidebarLogo: { get() { return this.$store.state.settings.sidebarLogo @@ -176,6 +192,7 @@ export default { `{ "topNav":${this.topNav}, "tagsView":${this.tagsView}, + "tagsIcon":${this.tagsIcon}, "fixedHeader":${this.fixedHeader}, "sidebarLogo":${this.sidebarLogo}, "dynamicTitle":${this.dynamicTitle}, diff --git a/ruoyi-ui/src/layout/components/TagsView/index.vue b/ruoyi-ui/src/layout/components/TagsView/index.vue index 09fe1d4c..fa837fcc 100644 --- a/ruoyi-ui/src/layout/components/TagsView/index.vue +++ b/ruoyi-ui/src/layout/components/TagsView/index.vue @@ -5,7 +5,7 @@ v-for="tag in visitedViews" ref="tag" :key="tag.path" - :class="isActive(tag)?'active':''" + :class="{ 'active': isActive(tag), 'has-icon': tagsIcon }" :to="{ path: tag.path, query: tag.query, fullPath: tag.fullPath }" tag="span" class="tags-view-item" @@ -13,6 +13,7 @@ @click.middle.native="!isAffix(tag)?closeSelectedTag(tag):''" @contextmenu.prevent.native="openMenu(tag,$event)" > + {{ tag.title }} @@ -52,6 +53,9 @@ export default { }, theme() { return this.$store.state.settings.theme + }, + tagsIcon() { + return this.$store.state.settings.tagsIcon } }, watch: { @@ -277,6 +281,11 @@ export default { } } } + + .tags-view-item.active.has-icon::before { + content: none !important; + } + .contextmenu { margin: 0; background: #fff; diff --git a/ruoyi-ui/src/settings.js b/ruoyi-ui/src/settings.js index fbcf0459..e3e8b5f5 100644 --- a/ruoyi-ui/src/settings.js +++ b/ruoyi-ui/src/settings.js @@ -10,7 +10,7 @@ module.exports = { sideTheme: 'theme-dark', /** - * 是否系统布局配置 + * 系统布局配置 */ showSettings: true, @@ -23,6 +23,11 @@ module.exports = { * 是否显示 tagsView */ tagsView: true, + + /** + * 显示页签图标 + */ + tagsIcon: false, /** * 是否固定头部 @@ -37,13 +42,5 @@ module.exports = { /** * 是否显示动态标题 */ - dynamicTitle: false, - - /** - * @type {string | array} 'production' | ['production', 'development'] - * @description Need show err logs component. - * The default is only used in the production env - * If you want to also use it in dev, you can pass ['production', 'development'] - */ - errorLog: 'production' + dynamicTitle: false } diff --git a/ruoyi-ui/src/store/modules/settings.js b/ruoyi-ui/src/store/modules/settings.js index 242cf491..45ab457c 100644 --- a/ruoyi-ui/src/store/modules/settings.js +++ b/ruoyi-ui/src/store/modules/settings.js @@ -1,7 +1,7 @@ import defaultSettings from '@/settings' import { useDynamicTitle } from '@/utils/dynamicTitle' -const { sideTheme, showSettings, topNav, tagsView, fixedHeader, sidebarLogo, dynamicTitle } = defaultSettings +const { sideTheme, showSettings, topNav, tagsView, tagsIcon, fixedHeader, sidebarLogo, dynamicTitle } = defaultSettings const storageSetting = JSON.parse(localStorage.getItem('layout-setting')) || '' const state = { @@ -11,6 +11,7 @@ const state = { showSettings: showSettings, topNav: storageSetting.topNav === undefined ? topNav : storageSetting.topNav, tagsView: storageSetting.tagsView === undefined ? tagsView : storageSetting.tagsView, + tagsIcon: storageSetting.tagsIcon === undefined ? tagsIcon : storageSetting.tagsIcon, fixedHeader: storageSetting.fixedHeader === undefined ? fixedHeader : storageSetting.fixedHeader, sidebarLogo: storageSetting.sidebarLogo === undefined ? sidebarLogo : storageSetting.sidebarLogo, dynamicTitle: storageSetting.dynamicTitle === undefined ? dynamicTitle : storageSetting.dynamicTitle