作者 RuoYi

主题颜色保存配置

@@ -176,12 +176,6 @@ @@ -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;
@@ -35,7 +35,6 @@ export default { @@ -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',
@@ -5,7 +5,7 @@ @@ -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,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,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,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>
@@ -77,13 +77,11 @@ export default { @@ -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,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,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)
@@ -5,7 +5,7 @@ const { sideTheme, showSettings, topNav, tagsView, fixedHeader, sidebarLogo } = @@ -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,