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

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

@@ -176,12 +176,6 @@
176 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 179
 /* text color */
186 180
 .text-navy {
187 181
 	color: #1ab394;

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

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

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

@@ -5,7 +5,7 @@
5 5
     @select="handleSelect"
6 6
   >
7 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 9
         ><svg-icon :icon-class="item.meta.icon" />
10 10
         {{ item.meta.title }}</el-menu-item
11 11
       >
@@ -42,6 +42,9 @@ export default {
42 42
     };
43 43
   },
44 44
   computed: {
45
+    theme() {
46
+      return this.$store.state.settings.theme;
47
+    },
45 48
     // 顶部显示菜单
46 49
     topMenus() {
47 50
       let topMenus = [];
@@ -149,7 +152,7 @@ export default {
149 152
 };
150 153
 </script>
151 154
 
152
-<style lang="scss" scoped>
155
+<style lang="scss">
153 156
 .el-menu--horizontal > .el-menu-item {
154 157
   float: left;
155 158
   height: 50px;
@@ -162,7 +165,13 @@ export default {
162 165
 }
163 166
 
164 167
 .el-menu--horizontal > .el-menu-item.is-active {
165
-  border-bottom: 3px solid #409eff;
168
+  border-bottom: 3px solid #{'var(--theme)'};
166 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 177
 </style>

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

@@ -77,13 +77,11 @@ export default {
77 77
   components: { ThemePicker },
78 78
   data() {
79 79
     return {
80
+      theme: this.$store.state.settings.theme,
80 81
       sideTheme: this.$store.state.settings.sideTheme
81 82
     };
82 83
   },
83 84
   computed: {
84
-    theme() {
85
-      return this.$store.state.settings.theme
86
-    },
87 85
     fixedHeader: {
88 86
       get() {
89 87
         return this.$store.state.settings.fixedHeader
@@ -138,6 +136,7 @@ export default {
138 136
         key: 'theme',
139 137
         value: val
140 138
       })
139
+      this.theme = val;
141 140
     },
142 141
     handleTheme(val) {
143 142
       this.$store.dispatch('settings/changeSetting', {
@@ -161,7 +160,8 @@ export default {
161 160
             "tagsView":${this.tagsView},
162 161
             "fixedHeader":${this.fixedHeader},
163 162
             "sidebarLogo":${this.sidebarLogo},
164
-            "sideTheme":"${this.sideTheme}"
163
+            "sideTheme":"${this.sideTheme}",
164
+            "theme":"${this.theme}"
165 165
           }`
166 166
       );
167 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 6
 const storageSetting = JSON.parse(localStorage.getItem('layout-setting')) || ''
7 7
 const state = {
8
-  theme: variables.theme,
8
+  theme: storageSetting.theme || variables.theme,
9 9
   sideTheme: storageSetting.sideTheme || sideTheme,
10 10
   showSettings: showSettings,
11 11
   topNav:  storageSetting.topNav === undefined ? topNav : storageSetting.topNav,