import router from '@/router' export default { namespaced: true, state: { // 页面文档可视高度(随窗口改变大小) documentClientHeight: 0, // 导航条, 布局风格, defalut(默认) / inverse(反向) navbarLayoutType: 'default', // 侧边栏, 布局皮肤, light(浅色) / dark(黑色) sidebarLayoutSkin: 'dark', // 侧边栏, 折叠状态 sidebarFold: false, // 侧边栏, 菜单 menuList: [], menuActiveName: '', // 内容, 是否需要刷新 contentIsNeedRefresh: false, // 主入口标签页 mainTabs: [], mainTabsActiveName: '' }, mutations: { updateDocumentClientHeight(state, height) { state.documentClientHeight = height }, updateNavbarLayoutType(state, type) { state.navbarLayoutType = type }, updateSidebarLayoutSkin(state, skin) { state.sidebarLayoutSkin = skin }, updateSidebarFold(state, fold) { state.sidebarFold = fold }, updateMenuList(state, list) { state.menuList = list }, updateMenuActiveName(state, name) { state.menuActiveName = name }, updateContentIsNeedRefresh(state, status) { state.contentIsNeedRefresh = status }, updateMainTabs(state, tabs) { state.mainTabs = tabs }, updateMainTabsActiveName(state, name) { state.mainTabsActiveName = name }, removeTab(state, tabName) { state.mainTabs = state.mainTabs.filter(item => item.name !== tabName) if (state.mainTabs.length >= 1) { // 当前选中tab被删除 if (tabName === state.mainTabsActiveName) { var tab = state.mainTabs[state.mainTabs.length - 1] router.push({ name: tab.name, query: tab.query, params: tab.params }, () => { state.mainTabsActiveName = tab.name }) } } else { state.menuActiveName = '' router.push({ name: 'home' }) } }, closeCurrentTab(state) { this.commit('common/removeTab', state.mainTabsActiveName) } } }