jiangping
2025-06-17 78a173f85f8a4666d83cf8d900f04dd9f8e3e127
company/src/store/index.js
@@ -13,7 +13,11 @@
    list: [],
    // 是否收起
    collapse: false
  }
  },
  //tags数组
  tags:[],
  //tagsview标签显示隐藏
  isCollapse:false
}
const mutations = {
@@ -28,8 +32,12 @@
  },
  // 设置已登录的用户信息
  setUserInfo: (state, data) => {
    state.userInfo = data
    state.userInfo = {
      ...state.userInfo,
      ...data
    }
  },
  // 设置首页路由信息
  setHomePage (state, homePage) {
    state.homePage = homePage
@@ -37,6 +45,42 @@
  // 重置菜单
  resetMenus: (state) => {
    state.menuData.list = []
  },
  //  tags
  pushtags(state,val){
    // 如果等于-1说明tabs不存在那么插入,否则什么都不做
    // findindex找角标,循环判断一下,如果等于那么就代表有相同的,就不必添加,如果找不到那就是-1.就添加
    let result = state.tags.findIndex(item => item.label === val.label)
    if (result === -1) {
      if (state.tags.length === 5) {
        state.tags.shift();
        state.tags.push({...val, keepAlive: false})
      } else {
        state.tags.push({...val, keepAlive: false})
      }
    } else {
      state.tags[result]= {...val, keepAlive: true}
    }
    // result === -1 ? state.tags.push(val) : (state.tags[result]==val)
  },
  //关闭标签
  closeTab(state, val) {
    //同上,找角标,然后用角标的位置对应删除一位。splice:这是数组的删除方法
    let result = state.tags.findIndex(item => item.label === val.label)
    state.tags.splice(result, 1)
  },
  //关闭所有tagsview标签
  cleartagsview(state,val){
    //清空数组
    state.tags=[]
    //跳转到首页,val接受传过来的当前路由
    if(val !== "/index"){
      // router.push({path:"/index"})
    }
  },
  //改变tagsview显示隐藏
  changeisshow(state){
    state.isCollapse=!state.isCollapse
  }
}
const actions = {}