import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) const companyId = window.localStorage.getItem('companyId') const state = { // // 豆米测试 id:1 // VUE_APP_CONFIG: { // COMPANY_NAME: '数字化云工厂', // COMPANY_ID: '1', // COMPANY_INPUT: true, // BG_IMAGE: require('../assets/images/login.jpg'), // LOGO: require('../assets/images/logo.png') // }, // // 爱丽格斯 id:3 // VUE_APP_CONFIG: { // COMPANY_NAME: '艾丽格斯 5G+工业互联网平台', // COMPANY_ID: '3', // COMPANY_INPUT: false, // BG_IMAGE: require('../assets/images/login.jpg'), // LOGO: require('../assets/images/logo_algs.png') // }, // 霍山矿产资源 id:4 // VUE_APP_CONFIG: { // COMPANY_NAME: '霍山矿产资源', // COMPANY_ID: '4', // COMPANY_INPUT: false, // BG_IMAGE: require('../assets/images/login.jpg') // }, // // 霍山国鑫建材 id:7 // VUE_APP_CONFIG: { // COMPANY_NAME: '霍山国鑫建材', // COMPANY_ID: '7', // COMPANY_INPUT: false, // BG_IMAGE: require('../assets/images/login.jpg') // }, // DM云工厂 id:8 VUE_APP_CONFIG: { COMPANY_NAME: 'DM云工厂', COMPANY_ID: '8', // COMPANY_ID: null, COMPANY_INPUT: false, BG_IMAGE: require('../assets/images/login.jpg') }, // // 汇智新材 id:5 // VUE_APP_CONFIG: { // COMPANY_NAME: '汇智新材', // COMPANY_ID: '5', // COMPANY_INPUT: false, // BG_IMAGE: require('../assets/images/login.jpg') // }, companyId: companyId ? companyId : 8, // 登录用户信息 userInfo: null, // 首页 homePage: null, // 菜单 menuData: { // 菜单列表 list: [], // 是否收起 collapse: false }, //tags数组 tags:[], //tagsview标签显示隐藏 isCollapse:false } const mutations = { // setCompanyId(state, id) { // state.VUE_APP_CONFIG.COMPANY_ID = id // window.localStorage.setItem('COMPANY_ID', id) // }, /** * 切换菜单状态 * * @param state state * @param value 新状态 */ switchCollapseMenu (state, value) { if (value != null) { state.menuData.collapse = value } else { state.menuData.collapse = !state.menuData.collapse } window.localStorage.setItem('MENU_STATUS', state.menuData.collapse) }, /** * 设置已登录的用户信息 * * @param state state * @param data 用户信息 */ setUserInfo: (state, data) => { state.userInfo = data }, setCompanyId: (state, data) => { // debugger state.companyId = data window.localStorage.setItem('companyId', data) }, /** * 设置首页路由信息 * * @param state state * @param homePage 首页 */ setHomePage (state, homePage) { state.homePage = homePage }, /** * 重置菜单 * * @param state state */ 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) { 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 = {} const getters = {} export default new Vuex.Store({ state, mutations, actions, getters })