user.js
1.8 KB
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
import uc from '@/api/uc.js'
import store from '@/store/login'
import Vue from 'vue'
const state = {
currentUserDetail: null,
pwdStrategy: {}, //默认密码策略
dialogVisible: false,
showDialog: false,
fileList: [],
}
const getters = {}
const actions = {
// 加载当前用户详情
loadCurrentUserDetail({commit, state}) {
if (!state.currentUserDetail) {
const currentUser = store.state.currentUser
if (currentUser && currentUser.account) {
return new Promise((resolve, reject) => {
uc.getUserByAccount(currentUser.account, (resp) => {
resolve(resp)
commit('setCurrentUserDetail', resp)
})
})
}
}
},
//获取默认密码策略
getDefPwdStrategy({commit, state}) {
return new Promise((resolve, reject) => {
uc.getDefPwdStrategy((response) => {
commit('setPwdStrategy', response)
resolve(response)
})
})
},
}
const mutations = {
setCurrentUserDetail(state, data) {
if (data && data.role && data.role.roleName) {
data.role = data.role.roleName.split('|')
}
state.currentUserDetail = data
},
setPwdStrategy(state, pwdStrategy) {
state.pwdStrategy = pwdStrategy
},
setDialogVisible(state, data) {
state.dialogVisible = data
},
setshowDialog(state, data) {
state.showDialog = data
},
setFileList(state, data) {
state.fileList = data
},
addFiles(state, data) {
state.fileList = [...data, ...state.fileList]
if (state.fileList.length >= 99) {
state.fileList.splice(99, state.fileList.length - 99)
}
},
setFile(state, {index, column, value}) {
if (state.fileList[index]) {
state.fileList[index][column] = value
}
},
}
export default {
namespaced: true,
state,
getters,
actions,
mutations,
}