| | |
| | | import Vue from 'vue' |
| | | import Vuex from 'vuex' |
| | | import router from '../router' |
| | | Vue.use(Vuex) |
| | | |
| | | const state = { |
| | | // 登录用户信息 |
| | | userInfo: null, |
| | | tableHeightNew: 300, |
| | | primaryColor: '#2080f7', |
| | | // 首页 |
| | | homePage: null, |
| | | // 菜单 |
| | |
| | | // 是否收起 |
| | | collapse: false |
| | | }, |
| | | //tags数组 |
| | | tags:[], |
| | | //tagsview标签显示隐藏 |
| | | isCollapse:false |
| | | topMenuCurrent: { |
| | | }, |
| | | topMenuList: { |
| | | // 菜单列表 |
| | | list: [], |
| | | // 是否收起 |
| | | collapse: false |
| | | }, |
| | | // tags数组 |
| | | tags: [], |
| | | // tagsview标签显示隐藏 |
| | | isCollapse: false |
| | | } |
| | | |
| | | const mutations = { |
| | |
| | | ...data |
| | | } |
| | | }, |
| | | setTableHeightNew: (state, data) => { |
| | | state.tableHeightNew = data |
| | | }, |
| | | clearUserInfo: (state) => { |
| | | state.userInfo = null |
| | | }, |
| | | |
| | | // 设置首页路由信息 |
| | | setHomePage (state, homePage) { |
| | | state.homePage = homePage |
| | | }, |
| | | // 设置首页路由信息 |
| | | setTopMenuCurrent (state, current) { |
| | | console.log("setTopMenuCurrent",current) |
| | | if(current.id !== state.topMenuCurrent.id){ |
| | | state.topMenuList.list.forEach(item => { |
| | | console.log(item.id, item.id) |
| | | if (current.id == item.id) { |
| | | state.topMenuCurrent = current |
| | | state.menuData.list = item.children |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | // 重置菜单 |
| | | resetMenus: (state) => { |
| | | state.topMenuId=null |
| | | state.menuData.list = [] |
| | | }, |
| | | // tags |
| | | pushtags(state,val){ |
| | | //如果等于-1说明tabs不存在那么插入,否则什么都不做 |
| | | //findindex找角标,循环判断一下,如果等于那么就代表有相同的,就不必添加,如果找不到那就是-1.就添加 |
| | | let result = state.tags.findIndex(item => item.label === val.label) |
| | | if (result === -1) { |
| | | state.tags.push({...val, keepAlive: false}) |
| | | pushtags (state, val) { |
| | | // 如果等于-1说明tabs不存在那么插入,否则什么都不做 |
| | | // findindex找角标,循环判断一下,如果等于那么就代表有相同的,就不必添加,如果找不到那就是-1.就添加 |
| | | // state.tags = [{ ...val, keepAlive: false }] |
| | | const result = state.tags.findIndex(item => item.index === val.index) |
| | | if (result === -1) { |
| | | state.tags.push({ ...val, keepAlive: false }) |
| | | } else { |
| | | state.tags[result]= {...val, keepAlive: true} |
| | | state.tags[result] = { ...val, keepAlive: false } |
| | | } |
| | | // result === -1 ? state.tags.push(val) : (state.tags[result]==val) |
| | | }, |
| | | //关闭标签 |
| | | closeTab(state, val) { |
| | | //同上,找角标,然后用角标的位置对应删除一位。splice:这是数组的删除方法 |
| | | let result = state.tags.findIndex(item => item.label === val.label) |
| | | // 关闭标签 |
| | | closeTab (state, val) { |
| | | // 同上,找角标,然后用角标的位置对应删除一位。splice:这是数组的删除方法 |
| | | const result = state.tags.findIndex(item => item.index === val.index) |
| | | state.tags.splice(result, 1) |
| | | }, |
| | | //关闭所有tagsview标签 |
| | | cleartagsview(state,val){ |
| | | //清空数组 |
| | | state.tags=[] |
| | | //跳转到首页,val接受传过来的当前路由 |
| | | if(val !== "/index"){ |
| | | router.push({path:"/index"}) |
| | | // 关闭所有tagsview标签 |
| | | cleartagsview (state, val) { |
| | | // 清空数组 |
| | | state.tags = [] |
| | | // 跳转到首页,val接受传过来的当前路由 |
| | | if (val !== '/index') { |
| | | router.push({ path: '/index' }) |
| | | } |
| | | }, |
| | | //改变tagsview显示隐藏 |
| | | changeisshow(state){ |
| | | state.isCollapse=!state.isCollapse |
| | | // 改变tagsview显示隐藏 |
| | | changeisshow (state) { |
| | | state.isCollapse = !state.isCollapse |
| | | } |
| | | } |
| | | const actions = {} |