RuoYi лет назад: 5
Родитель
Сommit
cb9fa33b5a

+ 0 - 6
ruoyi-ui/src/assets/styles/ruoyi.scss

@@ -176,12 +176,6 @@
176
   color: #FFFFFF;
176
   color: #FFFFFF;
177
 }
177
 }
178
 
178
 
179
-/* submenu item */
180
-.el-menu--horizontal > .el-submenu .el-submenu__title {
181
-	height: 50px !important;
182
-	line-height: 50px !important;
183
-}
184
-
185
 /* text color */
179
 /* text color */
186
 .text-navy {
180
 .text-navy {
187
 	color: #1ab394;
181
 	color: #1ab394;

+ 0 - 1
ruoyi-ui/src/components/ThemePicker/index.vue

@@ -35,7 +35,6 @@ export default {
35
       if (typeof val !== 'string') return
35
       if (typeof val !== 'string') return
36
       const themeCluster = this.getThemeCluster(val.replace('#', ''))
36
       const themeCluster = this.getThemeCluster(val.replace('#', ''))
37
       const originalCluster = this.getThemeCluster(oldVal.replace('#', ''))
37
       const originalCluster = this.getThemeCluster(oldVal.replace('#', ''))
38
-      console.log(themeCluster, originalCluster)
39
 
38
 
40
       const $message = this.$message({
39
       const $message = this.$message({
41
         message: '  Compiling the theme',
40
         message: '  Compiling the theme',

+ 12 - 3
ruoyi-ui/src/components/TopNav/index.vue

@@ -5,7 +5,7 @@
5
     @select="handleSelect"
5
     @select="handleSelect"
6
   >
6
   >
7
     <template v-for="(item, index) in topMenus">
7
     <template v-for="(item, index) in topMenus">
8
-      <el-menu-item :index="item.path" :key="index" v-if="index < visibleNumber"
8
+      <el-menu-item :style="{'--theme': theme}" :index="item.path" :key="index" v-if="index < visibleNumber"
9
         ><svg-icon :icon-class="item.meta.icon" />
9
         ><svg-icon :icon-class="item.meta.icon" />
10
         {{ item.meta.title }}</el-menu-item
10
         {{ item.meta.title }}</el-menu-item
11
       >
11
       >
@@ -42,6 +42,9 @@ export default {
42
     };
42
     };
43
   },
43
   },
44
   computed: {
44
   computed: {
45
+    theme() {
46
+      return this.$store.state.settings.theme;
47
+    },
45
     // 顶部显示菜单
48
     // 顶部显示菜单
46
     topMenus() {
49
     topMenus() {
47
       let topMenus = [];
50
       let topMenus = [];
@@ -149,7 +152,7 @@ export default {
149
 };
152
 };
150
 </script>
153
 </script>
151
 
154
 
152
-<style lang="scss" scoped>
155
+<style lang="scss">
153
 .el-menu--horizontal > .el-menu-item {
156
 .el-menu--horizontal > .el-menu-item {
154
   float: left;
157
   float: left;
155
   height: 50px;
158
   height: 50px;
@@ -162,7 +165,13 @@ export default {
162
 }
165
 }
163
 
166
 
164
 .el-menu--horizontal > .el-menu-item.is-active {
167
 .el-menu--horizontal > .el-menu-item.is-active {
165
-  border-bottom: 3px solid #409eff;
168
+  border-bottom: 3px solid #{'var(--theme)'};
166
   color: #303133;
169
   color: #303133;
167
 }
170
 }
171
+
172
+/* submenu item */
173
+.el-menu--horizontal > .el-submenu .el-submenu__title {
174
+	height: 50px !important;
175
+	line-height: 50px !important;
176
+}
168
 </style>
177
 </style>

+ 4 - 4
ruoyi-ui/src/layout/components/Settings/index.vue

@@ -77,13 +77,11 @@ export default {
77
   components: { ThemePicker },
77
   components: { ThemePicker },
78
   data() {
78
   data() {
79
     return {
79
     return {
80
+      theme: this.$store.state.settings.theme,
80
       sideTheme: this.$store.state.settings.sideTheme
81
       sideTheme: this.$store.state.settings.sideTheme
81
     };
82
     };
82
   },
83
   },
83
   computed: {
84
   computed: {
84
-    theme() {
85
-      return this.$store.state.settings.theme
86
-    },
87
     fixedHeader: {
85
     fixedHeader: {
88
       get() {
86
       get() {
89
         return this.$store.state.settings.fixedHeader
87
         return this.$store.state.settings.fixedHeader
@@ -138,6 +136,7 @@ export default {
138
         key: 'theme',
136
         key: 'theme',
139
         value: val
137
         value: val
140
       })
138
       })
139
+      this.theme = val;
141
     },
140
     },
142
     handleTheme(val) {
141
     handleTheme(val) {
143
       this.$store.dispatch('settings/changeSetting', {
142
       this.$store.dispatch('settings/changeSetting', {
@@ -161,7 +160,8 @@ export default {
161
             "tagsView":${this.tagsView},
160
             "tagsView":${this.tagsView},
162
             "fixedHeader":${this.fixedHeader},
161
             "fixedHeader":${this.fixedHeader},
163
             "sidebarLogo":${this.sidebarLogo},
162
             "sidebarLogo":${this.sidebarLogo},
164
-            "sideTheme":"${this.sideTheme}"
163
+            "sideTheme":"${this.sideTheme}",
164
+            "theme":"${this.theme}"
165
           }`
165
           }`
166
       );
166
       );
167
       setTimeout(loading.close(), 1000)
167
       setTimeout(loading.close(), 1000)

+ 1 - 1
ruoyi-ui/src/store/modules/settings.js

@@ -5,7 +5,7 @@ const { sideTheme, showSettings, topNav, tagsView, fixedHeader, sidebarLogo } =
5
 
5
 
6
 const storageSetting = JSON.parse(localStorage.getItem('layout-setting')) || ''
6
 const storageSetting = JSON.parse(localStorage.getItem('layout-setting')) || ''
7
 const state = {
7
 const state = {
8
-  theme: variables.theme,
8
+  theme: storageSetting.theme || variables.theme,
9
   sideTheme: storageSetting.sideTheme || sideTheme,
9
   sideTheme: storageSetting.sideTheme || sideTheme,
10
   showSettings: showSettings,
10
   showSettings: showSettings,
11
   topNav:  storageSetting.topNav === undefined ? topNav : storageSetting.topNav,
11
   topNav:  storageSetting.topNav === undefined ? topNav : storageSetting.topNav,