| | |
| | | <template>
|
| | | <el-drawer size="280px" :visible="visible" :with-header="false" :append-to-body="true" :show-close="false">
|
| | | <el-drawer size="280px" :visible="showSettings" :with-header="false" :append-to-body="true" :before-close="closeSetting" :lock-scroll="false">
|
| | | <div class="drawer-container">
|
| | | <div>
|
| | | <div class="setting-drawer-content">
|
| | |
| | | </div>
|
| | |
|
| | | <div class="drawer-item">
|
| | | <span>显示页签图标</span>
|
| | | <el-switch v-model="tagsIcon" :disabled="!tagsView" class="drawer-switch" />
|
| | | </div>
|
| | |
|
| | | <div class="drawer-item">
|
| | | <span>固定 Header</span>
|
| | | <el-switch v-model="fixedHeader" class="drawer-switch" />
|
| | | </div>
|
| | |
| | | <div class="drawer-item">
|
| | | <span>动态标题</span>
|
| | | <el-switch v-model="dynamicTitle" class="drawer-switch" />
|
| | | </div>
|
| | |
|
| | | <div class="drawer-item">
|
| | | <span>底部版权</span>
|
| | | <el-switch v-model="footerVisible" class="drawer-switch" />
|
| | | </div>
|
| | |
|
| | | <el-divider/>
|
| | |
| | |
|
| | | export default {
|
| | | components: { ThemePicker },
|
| | | expose: ['openSetting'],
|
| | | data() {
|
| | | return {
|
| | | theme: this.$store.state.settings.theme,
|
| | | sideTheme: this.$store.state.settings.sideTheme
|
| | | };
|
| | | sideTheme: this.$store.state.settings.sideTheme,
|
| | | showSettings: false
|
| | | }
|
| | | },
|
| | | computed: {
|
| | | visible: {
|
| | | get() {
|
| | | return this.$store.state.settings.showSettings
|
| | | }
|
| | | },
|
| | | fixedHeader: {
|
| | | get() {
|
| | | return this.$store.state.settings.fixedHeader
|
| | |
| | | value: val
|
| | | })
|
| | | if (!val) {
|
| | | this.$store.dispatch('app/toggleSideBarHide', false);
|
| | | this.$store.commit("SET_SIDEBAR_ROUTERS", this.$store.state.permission.defaultRoutes);
|
| | | this.$store.dispatch('app/toggleSideBarHide', false)
|
| | | this.$store.commit("SET_SIDEBAR_ROUTERS", this.$store.state.permission.defaultRoutes)
|
| | | }
|
| | | }
|
| | | },
|
| | |
| | | set(val) {
|
| | | this.$store.dispatch('settings/changeSetting', {
|
| | | key: 'tagsView',
|
| | | value: val
|
| | | })
|
| | | }
|
| | | },
|
| | | tagsIcon: {
|
| | | get() {
|
| | | return this.$store.state.settings.tagsIcon
|
| | | },
|
| | | set(val) {
|
| | | this.$store.dispatch('settings/changeSetting', {
|
| | | key: 'tagsIcon',
|
| | | value: val
|
| | | })
|
| | | }
|
| | |
| | | key: 'dynamicTitle',
|
| | | value: val
|
| | | })
|
| | | this.$store.dispatch('settings/setTitle', this.$store.state.settings.title)
|
| | | }
|
| | | },
|
| | | footerVisible: {
|
| | | get() {
|
| | | return this.$store.state.settings.footerVisible
|
| | | },
|
| | | set(val) {
|
| | | this.$store.dispatch('settings/changeSetting', {
|
| | | key: 'footerVisible',
|
| | | value: val
|
| | | })
|
| | | }
|
| | | }
|
| | | },
|
| | | methods: {
|
| | | themeChange(val) {
|
| | |
| | | key: 'theme',
|
| | | value: val
|
| | | })
|
| | | this.theme = val;
|
| | | this.theme = val
|
| | | },
|
| | | handleTheme(val) {
|
| | | this.$store.dispatch('settings/changeSetting', {
|
| | | key: 'sideTheme',
|
| | | value: val
|
| | | })
|
| | | this.sideTheme = val;
|
| | | this.sideTheme = val
|
| | | },
|
| | | openSetting() {
|
| | | this.showSettings = true
|
| | | },
|
| | | closeSetting(){
|
| | | this.showSettings = false
|
| | | },
|
| | | saveSetting() {
|
| | | this.$modal.loading("正在保存到本地,请稍候...");
|
| | | this.$modal.loading("正在保存到本地,请稍候...")
|
| | | this.$cache.local.set(
|
| | | "layout-setting",
|
| | | `{
|
| | | "topNav":${this.topNav},
|
| | | "tagsView":${this.tagsView},
|
| | | "tagsIcon":${this.tagsIcon},
|
| | | "fixedHeader":${this.fixedHeader},
|
| | | "sidebarLogo":${this.sidebarLogo},
|
| | | "dynamicTitle":${this.dynamicTitle},
|
| | | "footerVisible":${this.footerVisible},
|
| | | "sideTheme":"${this.sideTheme}",
|
| | | "theme":"${this.theme}"
|
| | | }`
|
| | | );
|
| | | )
|
| | | setTimeout(this.$modal.closeLoading(), 1000)
|
| | | },
|
| | | resetSetting() {
|
| | | this.$modal.loading("正在清除设置缓存并刷新,请稍候...");
|
| | | this.$modal.loading("正在清除设置缓存并刷新,请稍候...")
|
| | | this.$cache.local.remove("layout-setting")
|
| | | setTimeout("window.location.reload()", 1000)
|
| | | }
|