From 24783ac214d04b569e5580d9a80aa4097d94e85b Mon Sep 17 00:00:00 2001 From: Pan Date: Wed, 10 Oct 2018 18:29:38 +0800 Subject: [PATCH] add sidebarUniqueOpened option --- src/settings.js | 8 +++++++- src/store/modules/app.js | 10 +++++++++- src/views/layout/components/Sidebar/index.vue | 4 ++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/settings.js b/src/settings.js index fa8d335a..3d1e79a0 100644 --- a/src/settings.js +++ b/src/settings.js @@ -42,7 +42,13 @@ export default { * @description Set some pages, you can go in without logging in. * Detail logic in permission.js */ - whiteList: ['/login', '/auth-redirect'] + whiteList: ['/login', '/auth-redirect'], + + /** + * @type {boolean} true | false + * @description Whether only one sub-menu can be active + */ + sidebarUniqueOpened: false // permission: true, // i18n: true diff --git a/src/store/modules/app.js b/src/store/modules/app.js index 9da5cf5f..18a16c6f 100644 --- a/src/store/modules/app.js +++ b/src/store/modules/app.js @@ -11,7 +11,8 @@ const app = { language: Cookies.get('language') || settings.language, size: Cookies.get('size') || settings.size, viewsTransition: Cookies.get('viewsTransition') || settings.viewsTransition, - needTagsView: Cookies.get('needTagsView') || settings.tagsView + needTagsView: Cookies.get('needTagsView') || settings.tagsView, + sidebarUniqueOpened: Cookies.get('sidebarUniqueOpened') || settings.sidebarUniqueOpened }, mutations: { TOGGLE_SIDEBAR: state => { @@ -46,6 +47,10 @@ const app = { SET_TAGS_VIEW: (state, needTagsView) => { state.needTagsView = needTagsView Cookies.set('needTagsView', needTagsView) + }, + SET_SIDEBAR_UNIQUE_OPENED: (state, sidebarUniqueOpened) => { + state.sidebarUniqueOpened = sidebarUniqueOpened + Cookies.set('sidebarUniqueOpened', sidebarUniqueOpened) } }, actions: { @@ -69,6 +74,9 @@ const app = { }, setTagsView({ commit }, needTagsView) { commit('SET_TAGS_VIEW', needTagsView) + }, + setSidebarUniqueOpened({ commit }, sidebarUniqueOpened) { + commit('SET_SIDEBAR_UNIQUE_OPENED', sidebarUniqueOpened) } } } diff --git a/src/views/layout/components/Sidebar/index.vue b/src/views/layout/components/Sidebar/index.vue index dff85f18..86c5184a 100644 --- a/src/views/layout/components/Sidebar/index.vue +++ b/src/views/layout/components/Sidebar/index.vue @@ -4,6 +4,7 @@ :show-timeout="200" :default-active="$route.path" :collapse="isCollapse" + :unique-opened="uniqueOpened" mode="vertical" background-color="#304156" text-color="#bfcbd9" @@ -27,6 +28,9 @@ export default { ]), isCollapse() { return !this.sidebar.opened + }, + uniqueOpened() { + return this.$store.state.app.sidebarUniqueOpened } } }