jiangping
2023-08-17 6365ab0a976afdd247742c9b3dca15deb3a7a7a1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
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
})