You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
2.3 KiB
70 lines
2.3 KiB
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)
|
|
}
|
|
}
|
|
} |