分角色登录
continuous-integration/drone/push Build is passing Details

uat_us
wangxiaoshuang 2024-12-23 18:05:21 +08:00
parent eeac5b76c4
commit 177510643d
5 changed files with 35 additions and 13 deletions

View File

@ -8,14 +8,15 @@
append-to-body
:title="$t('toggleRole:tip:title')"
center
top="30vh"
:show-close="false"
@close="cancel"
>
<el-radio-group v-model="form.UserTypeId" class="roles" v-if="hasRole">
<el-radio
v-for="item in roles"
:key="item.UserTypeId"
:label="item.UserTypeId"
:key="item.Id"
:label="item.Id"
:disabled="item.isUserRoleDisabled"
style="margin-bottom: 10px"
>
@ -37,7 +38,11 @@ export default {
props: {
visible: {
type: Boolean,
default: true,
default: false,
},
loading: {
type: Boolean,
default: false,
},
},
data() {
@ -45,7 +50,6 @@ export default {
form: {
UserTypeId: null,
},
loading: false,
}
},
computed: {

View File

@ -7,6 +7,7 @@ const getters = {
tree: state => state.user.tree,
userName: state => state.user.userName,
userId: state => state.user.userId,
userRoleId: state => state.user.userRoleId,
routes: state => state.permission.routes,
asyncRoutes: state => state.permission.addRoutes,
visitedViews: state => state.tagsView.visitedViews,

View File

@ -118,6 +118,7 @@ const actions = {
return new Promise(resolve => {
var newTree = JSON.parse(zzSessionStorage.getItem('newTree'))
const sidebarRoutes = filterAsyncRouter(newTree || [])
console.log(sidebarRoutes, 'sidebarRoutes')
commit('SET_ROUTES', sidebarRoutes)
resolve(sidebarRoutes)
})

View File

@ -9,6 +9,7 @@ const getDefaultState = () => {
name: '',
userName: '',
userId: '',
userRoleId: '',
avatar: '',
permissions: [],
tree: [],
@ -53,6 +54,9 @@ const mutations = {
SET_USERID: (state, id) => {
state.userId = id
},
SET_USEROLEID: (state, id) => {
state.userRoleId = id
},
SET_ISTESTUSER: (state, isTestUser) => {
state.isTestUser = eval(isTestUser)
},
@ -127,13 +131,13 @@ const actions = {
zzSessionStorage.setItem('isTestUser', data.BasicInfo.IsTestUser)
commit('SET_ISTESTUSER', data.BasicInfo.IsTestUser)
commit('SET_USERNAME', data.BasicInfo.UserName)
commit('SET_USERID', data.BasicInfo.Id)
commit('SET_USERID', data.BasicInfo.IdentityUserId)
setToken(data.JWTStr)
setName(data.BasicInfo.RealName)
const userString = decodeURIComponent(escape(window.atob(data.JWTStr.split('.')[1].replace(/-/g, '+').replace(/_/g, '/'))))
const user = JSON.parse(userString)
zzSessionStorage.setItem('userTypeShortName', user.userTypeShortName)
zzSessionStorage.setItem('userId', user.id)
zzSessionStorage.setItem('userId', user.identityUserId)
zzSessionStorage.setItem('userTypeEnumInt', user.userTypeEnumInt)
// var permissions = await getUserPermissions()
// var menuTree = await getUserMenuTree()
@ -155,9 +159,9 @@ const actions = {
})
},
loginByRole({ commit }, userInfo) {
const { UserTypeId } = userInfo
const { userRoleId } = userInfo
let params = {
UserTypeId
userRoleId
}
return new Promise((resolve, reject) => {
@ -166,6 +170,8 @@ const actions = {
const data = response.Result
try {
commit('SET_USEROLEID', userRoleId)
zzSessionStorage.setItem('userRoleId', userRoleId)
commit('SET_TOKEN', data)
setToken(data)
var permissions = await getUserPermissions()
@ -212,14 +218,16 @@ const actions = {
commit('SET_ISTESTUSER', zzSessionStorage.getItem('isTestUser'))
const user = JSON.parse(userString)
commit('SET_NAME', zzSessionStorage.getItem('realName'))
commit('SET_USERID', user.id)
commit('SET_USEROLEID', user.userRoleId)
commit('SET_USERID', user.identityUserId)
commit('SET_USERNAME', zzSessionStorage.getItem('userName'))
commit('SET_NEED_SIGN_SYSTEM_DOC_COUNT', parseInt(zzSessionStorage.getItem('TotalNeedSignSystemDocCount')))
commit('SET_NEED_SIGN_TRIALS_DOC_COUNT', parseInt(zzSessionStorage.getItem('TotalNeedSignTrialDocCount')))
console.log(zzSessionStorage.getItem('TotalNeedSignSystemDocCount'))
console.log(zzSessionStorage.getItem('TotalNeedSignTrialDocCount'))
zzSessionStorage.setItem('userName', user.name)
zzSessionStorage.setItem('userId', user.id)
zzSessionStorage.setItem('userId', user.identityUserId)
zzSessionStorage.setItem('userRoleId', user.userRoleId)
zzSessionStorage.setItem('userTypeShortName', user.userTypeShortName)
zzSessionStorage.setItem('userTypeEnumInt', user.userTypeEnumInt)
return user

View File

@ -243,7 +243,11 @@
</div>
</el-dialog>
<browserTip ref="browserTip" />
<toggleRole :visible="toggleRoleVisible" @save="loginByRole" />
<toggleRole
:visible="toggleRoleVisible"
:loading="toggleRoleLoading"
@save="loginByRole"
/>
</div>
</template>
@ -301,6 +305,7 @@ export default {
showCode: false,
Img1,
toggleRoleVisible: false,
toggleRoleLoading: false,
}
},
computed: {
@ -426,10 +431,12 @@ export default {
this.loading = false
})
},
loginByRole(UserTypeId) {
loginByRole(userRoleId) {
this.toggleRoleLoading = true
this.$store
.dispatch('user/loginByRole', { UserTypeId })
.dispatch('user/loginByRole', { userRoleId })
.then((res) => {
this.toggleRoleLoading = false
if (res) {
this.$store.dispatch('permission/generateRoutes').then((res) => {
this.loading = false
@ -466,6 +473,7 @@ export default {
.catch(() => {
this.showCode = true
this.loading = false
this.toggleRoleLoading = false
})
},
onSuccess() {