2 changed files with 102 additions and 18 deletions
@ -0,0 +1,85 @@ |
|||
<template> |
|||
<div class="aui-theme-tools" v-show="false" :class="{ 'aui-theme-tools--open': isOpen }"> |
|||
<div class="aui-theme-tools__toggle" @click="isOpen = !isOpen"> |
|||
<svg class="icon-svg" aria-hidden="true"> |
|||
<use xlink:href="#icon-setting"></use> |
|||
</svg> |
|||
</div> |
|||
<div class="aui-theme-tools__content"> |
|||
<div class="aui-theme-tools__item"> |
|||
<h3>Navbar</h3> |
|||
<el-checkbox |
|||
v-model="$store.state.navbarLayoutType" |
|||
true-label="colorful" |
|||
>colorful 鲜艳</el-checkbox |
|||
> |
|||
</div> |
|||
<div class="aui-theme-tools__item"> |
|||
<h3>Sidebar</h3> |
|||
<el-checkbox v-model="$store.state.sidebarLayoutSkin" true-label="dark" |
|||
>dark 黑色</el-checkbox |
|||
> |
|||
</div> |
|||
<div class="aui-theme-tools__item"> |
|||
<h3>Theme</h3> |
|||
<el-radio-group v-model="themeColor" @change="themeColorChangeHandle"> |
|||
<el-radio |
|||
v-for="item in themeList" |
|||
:key="item.name" |
|||
:label="item.name" |
|||
>{{ `${item.name} ${item.desc}` }}</el-radio |
|||
> |
|||
</el-radio-group> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
data() { |
|||
return { |
|||
isOpen: false, |
|||
themeList: require('@/element-ui/config.js'), |
|||
themeColor: '' |
|||
} |
|||
}, |
|||
created() { |
|||
let color = window.localStorage.getItem('themeColor') || 'blue' |
|||
this.themeColorChangeHandle(color) |
|||
this.themeColor = color |
|||
}, |
|||
methods: { |
|||
themeColorChangeHandle(val) { |
|||
window.localStorage.setItem('themeColor', val) |
|||
|
|||
var styleList = [ |
|||
{ |
|||
id: 'J_elementTheme', |
|||
url: `${ |
|||
process.env.BASE_URL |
|||
}element-theme/${val}/index.css?t=${new Date().getTime()}` |
|||
}, |
|||
{ |
|||
id: 'J_auiTheme', |
|||
url: `${ |
|||
process.env.BASE_URL |
|||
}element-theme/${val}/aui.css?t=${new Date().getTime()}` |
|||
} |
|||
] |
|||
for (var i = 0; i < styleList.length; i++) { |
|||
var el = document.querySelector(`#${styleList[i].id}`) |
|||
if (el) { |
|||
el.href = styleList[i].url |
|||
continue |
|||
} |
|||
el = document.createElement('link') |
|||
el.id = styleList[i].id |
|||
el.href = styleList[i].url |
|||
el.rel = 'stylesheet' |
|||
document.querySelector('head').appendChild(el) |
|||
} |
|||
} |
|||
} |
|||
} |
|||
</script> |
Loading…
Reference in new issue