用户登录及角色切换
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
e7e373ca37
commit
d0887851c2
|
|
@ -46,10 +46,11 @@ export function updateUser(param) {
|
|||
})
|
||||
}
|
||||
|
||||
export function getUser(userId) {
|
||||
export function getUser(params) {
|
||||
return request({
|
||||
url: `/user/getUser/${userId}`,
|
||||
method: 'get'
|
||||
url: `/user/getUser`,
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -128,20 +128,20 @@ export default {
|
|||
}
|
||||
// document.cookie = 'TrialId=' + this.$route.query.trialId + ';path=/'
|
||||
},
|
||||
trialId(v) {
|
||||
getUserDocumentList({ TrialId: this.$route.query.trialId }).then(
|
||||
async (res) => {
|
||||
var total = res.OtherInfo.NeedSignCount;
|
||||
var TrialStatusStr = res.OtherInfo.TrialStatusStr;
|
||||
this.IsAdditionalAssessment = res.OtherInfo.IsAdditionalAssessment;
|
||||
this.TrialStatusStr = TrialStatusStr;
|
||||
await store.dispatch("user/setTotalNeedSignTrialDocCount", total);
|
||||
await store.dispatch("user/setTrialStatusStr", TrialStatusStr);
|
||||
this.TrialConfig = res.OtherInfo.TrialConfig;
|
||||
this.IsAllOnlySRReading = res.OtherInfo.IsAllOnlySRReading;
|
||||
}
|
||||
);
|
||||
},
|
||||
// trialId(v) {
|
||||
// getUserDocumentList({ TrialId: this.$route.query.trialId }).then(
|
||||
// async (res) => {
|
||||
// var total = res.OtherInfo.NeedSignCount;
|
||||
// var TrialStatusStr = res.OtherInfo.TrialStatusStr;
|
||||
// this.IsAdditionalAssessment = res.OtherInfo.IsAdditionalAssessment;
|
||||
// this.TrialStatusStr = TrialStatusStr;
|
||||
// await store.dispatch("user/setTotalNeedSignTrialDocCount", total);
|
||||
// await store.dispatch("user/setTrialStatusStr", TrialStatusStr);
|
||||
// this.TrialConfig = res.OtherInfo.TrialConfig;
|
||||
// this.IsAllOnlySRReading = res.OtherInfo.IsAllOnlySRReading;
|
||||
// }
|
||||
// );
|
||||
// },
|
||||
},
|
||||
mounted() {
|
||||
// console.log(this.trialsRouter);
|
||||
|
|
@ -150,18 +150,18 @@ export default {
|
|||
if (~url.indexOf("?")) {
|
||||
query = url.split("?")[1];
|
||||
}
|
||||
getUserDocumentList({ TrialId: this.$route.query.trialId }).then(
|
||||
async (res) => {
|
||||
var total = res.OtherInfo.NeedSignCount;
|
||||
var TrialStatusStr = res.OtherInfo.TrialStatusStr;
|
||||
this.IsAdditionalAssessment = res.OtherInfo.IsAdditionalAssessment;
|
||||
this.TrialStatusStr = TrialStatusStr;
|
||||
await store.dispatch("user/setTotalNeedSignTrialDocCount", total);
|
||||
await store.dispatch("user/setTrialStatusStr", TrialStatusStr);
|
||||
this.TrialConfig = res.OtherInfo.TrialConfig;
|
||||
this.IsAllOnlySRReading = res.OtherInfo.IsAllOnlySRReading;
|
||||
}
|
||||
);
|
||||
// getUserDocumentList({ TrialId: this.$route.query.trialId }).then(
|
||||
// async (res) => {
|
||||
// var total = res.OtherInfo.NeedSignCount;
|
||||
// var TrialStatusStr = res.OtherInfo.TrialStatusStr;
|
||||
// this.IsAdditionalAssessment = res.OtherInfo.IsAdditionalAssessment;
|
||||
// this.TrialStatusStr = TrialStatusStr;
|
||||
// await store.dispatch("user/setTotalNeedSignTrialDocCount", total);
|
||||
// await store.dispatch("user/setTrialStatusStr", TrialStatusStr);
|
||||
// this.TrialConfig = res.OtherInfo.TrialConfig;
|
||||
// this.IsAllOnlySRReading = res.OtherInfo.IsAllOnlySRReading;
|
||||
// }
|
||||
// );
|
||||
this.selectedTab();
|
||||
this.getTrialList();
|
||||
var firstGoIn = this.trialsRouter.children.find((v) => {
|
||||
|
|
|
|||
|
|
@ -95,16 +95,15 @@ export default {
|
|||
this.toggleRoleVisible = true
|
||||
})
|
||||
},
|
||||
loginByRole(row) {
|
||||
let { UserId, UserTypeId } = row
|
||||
if (this.$store.state.user.userId === UserId) {
|
||||
loginByRole(userRoleId) {
|
||||
if (this.$store.state.user.userId === userRoleId) {
|
||||
this.toggleRoleVisible = false
|
||||
this.toggleRoleLoading = false
|
||||
return false
|
||||
}
|
||||
this.toggleRoleLoading = true
|
||||
this.$store
|
||||
.dispatch('user/loginByRole', { UserId, UserTypeId })
|
||||
.dispatch('user/loginByRole', { userRoleId })
|
||||
.then((res) => {
|
||||
if (res) {
|
||||
this.$store
|
||||
|
|
|
|||
|
|
@ -1,9 +1,10 @@
|
|||
import router from './router'
|
||||
import { resetRouter } from '@/router'
|
||||
import store from './store'
|
||||
// import { Message } from 'element-ui'
|
||||
import NProgress from 'nprogress'
|
||||
import 'nprogress/nprogress.css'
|
||||
import { getToken } from '@/utils/auth'
|
||||
import { getToken, removeToken } from '@/utils/auth'
|
||||
import Vue from 'vue'
|
||||
import { OSSclient } from './utils/oss'
|
||||
import moment from "moment";
|
||||
|
|
@ -35,19 +36,26 @@ router.beforeEach(async (to, from, next) => {
|
|||
if (hasToken) {
|
||||
if (to.path === '/login' || to.path === '/recompose' || to.path === '/email-recompose' || to.path === '/error' || to.path === '/ReviewersResearchForm' || to.path === '/ReviewersResearch') {
|
||||
if (to.path === '/ReviewersResearch') {
|
||||
OSSclient()
|
||||
await this.$store.dispatch('user/logout')
|
||||
await OSSclient()
|
||||
await store.dispatch('user/logout')
|
||||
}
|
||||
if (to.path === '/ReviewersResearchForm') {
|
||||
OSSclient()
|
||||
}
|
||||
if (to.path === '/login') {
|
||||
OSSclient()
|
||||
await OSSclient()
|
||||
}
|
||||
next()
|
||||
NProgress.done()
|
||||
} else if (from.path === '/researchForm') {
|
||||
removeToken()
|
||||
const lang = to.query.lang || zzSessionStorage.getItem('lang')
|
||||
next(`/researchLogin?trialId=${to.query.trialId}&lang=${lang}`)
|
||||
NProgress.done()
|
||||
} else if (from.path === '/researchDetail_m') {
|
||||
removeToken()
|
||||
const lang = to.query.lang || zzSessionStorage.getItem('lang')
|
||||
next(`/researchLogin_m?trialId=${to.query.trialId}&lang=${lang}`)
|
||||
NProgress.done()
|
||||
} else {
|
||||
OSSclient()
|
||||
await OSSclient()
|
||||
const hasGetUserInfo = store.getters.userId
|
||||
if (hasGetUserInfo) {
|
||||
next()
|
||||
|
|
@ -55,10 +63,13 @@ router.beforeEach(async (to, from, next) => {
|
|||
try {
|
||||
// 获取用户信息
|
||||
await store.dispatch('user/getInfo')
|
||||
await store.dispatch('user/getUserInfo')
|
||||
const accessRoutes = await store.dispatch('permission/generateRoutes')
|
||||
resetRouter()
|
||||
router.addRoutes(accessRoutes)
|
||||
next({ ...to, replace: true })
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
// 删除token并进入登录页面以重新登录
|
||||
await store.dispatch('user/resetToken')
|
||||
next(`/login?redirect=${to.path}`)
|
||||
|
|
@ -69,17 +80,29 @@ router.beforeEach(async (to, from, next) => {
|
|||
} else {
|
||||
/* has no token*/
|
||||
if (whiteList.indexOf(to.path) !== -1) {
|
||||
if (to.path === '/researchLogin') {
|
||||
const lang = to.query.lang || zzSessionStorage.getItem('lang')
|
||||
const flag = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)
|
||||
if (flag) {
|
||||
next(`/researchLogin_m?trialId=${to.query.trialId}&lang=${lang}`)
|
||||
} else {
|
||||
next()
|
||||
}
|
||||
} else {
|
||||
// 在免登录whiteList中,直接进入
|
||||
if (to.path === '/readingDicoms' || to.path === '/noneDicomReading') {
|
||||
OSSclient()
|
||||
}
|
||||
if (to.path === '/login') {
|
||||
OSSclient()
|
||||
await OSSclient()
|
||||
}
|
||||
next()
|
||||
}
|
||||
} else {
|
||||
if (to.path === '/researchForm') {
|
||||
next(`/researchLogin?`)
|
||||
const lang = to.query.lang || zzSessionStorage.getItem('lang')
|
||||
next(`/researchLogin?trialId=${to.query.trialId}&lang=${lang}`)
|
||||
NProgress.done()
|
||||
} else if (to.path === '/researchDetail_m') {
|
||||
const lang = to.query.lang || zzSessionStorage.getItem('lang')
|
||||
next(`/researchLogin_m?trialId=${to.query.trialId}&lang=${lang}`)
|
||||
NProgress.done()
|
||||
} else if (to.path === '/ReviewersResearchForm') {
|
||||
next(`/ReviewersResearch?`)
|
||||
|
|
|
|||
|
|
@ -177,20 +177,21 @@ const actions = {
|
|||
|
||||
loginSelectUserRole(params).then(async response => {
|
||||
if (response.IsSuccess) {
|
||||
const data = response.Result.JWTStr
|
||||
const data = response.Result
|
||||
|
||||
try {
|
||||
commit('SET_TOKEN', data)
|
||||
setToken(data)
|
||||
commit('SET_USERID', UserId)
|
||||
zzSessionStorage.setItem('userId', UserId)
|
||||
commit('SET_USERID', userRoleId)
|
||||
zzSessionStorage.setItem('userId', userRoleId)
|
||||
const userString = decodeURIComponent(escape(window.atob(data.split('.')[1].replace(/-/g, '+').replace(/_/g, '/'))))
|
||||
const user = JSON.parse(userString)
|
||||
// return console.log(user, user.realName)
|
||||
zzSessionStorage.setItem('userTypeShortName', user.userTypeShortName)
|
||||
// commit('SET_USERTYPESHORTNAME', user.userTypeShortName)
|
||||
commit('SET_NAME', user.realName)
|
||||
setName(user.realName)
|
||||
zzSessionStorage.setItem('realName', user.realName)
|
||||
commit('SET_USERTYPESHORTNAME', user.userTypeShortName)
|
||||
commit('SET_NAME', user.fullName)
|
||||
setName(user.fullName)
|
||||
commit('SET_IDENTITYUSERID', user.identityUserId)
|
||||
zzSessionStorage.setItem('identityUserId', user.identityUserId)
|
||||
zzSessionStorage.setItem('userTypeEnumInt', user.userTypeEnumInt)
|
||||
var permissions = await getUserPermissions()
|
||||
var menuTree = await getUserMenuTree()
|
||||
|
|
@ -236,16 +237,19 @@ const actions = {
|
|||
commit('SET_PERMISSIONS', JSON.parse(zzSessionStorage.getItem('permissions')))
|
||||
commit('SET_ISTESTUSER', zzSessionStorage.getItem('isTestUser'))
|
||||
const user = JSON.parse(userString)
|
||||
commit('SET_NAME', zzSessionStorage.getItem('realName'))
|
||||
commit('SET_USERID', user.id)
|
||||
commit('SET_NAME', zzSessionStorage.getItem('Name'))
|
||||
commit('SET_USERTYPESHORTNAME', user.userTypeShortName)
|
||||
commit('SET_IDENTITYUSERID', user.identityUserId)
|
||||
commit('SET_USERID', user.userRoleId)
|
||||
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'))
|
||||
commit('SET_IS_FIRST_SYSTEM_DOC_SIGN', zzSessionStorage.getItem('IsFirstSysDocNeedSign'))
|
||||
// console.log(zzSessionStorage.getItem('TotalNeedSignSystemDocCount'))
|
||||
// console.log(zzSessionStorage.getItem('TotalNeedSignTrialDocCount'))
|
||||
zzSessionStorage.setItem('userName', user.name)
|
||||
zzSessionStorage.setItem('my_username', user.name)
|
||||
zzSessionStorage.setItem('userId', user.id)
|
||||
zzSessionStorage.setItem('userId', user.userRoleId)
|
||||
zzSessionStorage.setItem('identityUserId', user.identityUserId)
|
||||
zzSessionStorage.setItem('userTypeShortName', user.userTypeShortName)
|
||||
zzSessionStorage.setItem('userTypeEnumInt', user.userTypeEnumInt)
|
||||
return user
|
||||
|
|
@ -277,7 +281,7 @@ const actions = {
|
|||
// 获取用户信息
|
||||
getUserInfo({ commit, state }) {
|
||||
return new Promise((resolve, reject) => {
|
||||
getUser(state.userId).then(res => {
|
||||
getUser().then(res => {
|
||||
if (res.Result) {
|
||||
commit('SET_ROLES', res.Result.AccountList)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -418,16 +418,13 @@ export default {
|
|||
return
|
||||
}
|
||||
if (
|
||||
this.hasPermi([
|
||||
'role:air',
|
||||
'role:rpm',
|
||||
'role:rcrc',
|
||||
'role:rir',
|
||||
])
|
||||
this.hasPermi(['role:pm', 'role:oa', 'role:admin', 'role:dev'])
|
||||
) {
|
||||
this.$router.replace({ path: '/trials/trials-list' })
|
||||
history.replaceState(null, null, '/trials/trials-inspection')
|
||||
history.go(0)
|
||||
} else {
|
||||
this.$router.replace({ path: '/trials' })
|
||||
history.replaceState(null, null, '/trials/trials-list')
|
||||
history.go(0)
|
||||
}
|
||||
} else {
|
||||
this.toggleRoleLoading = false
|
||||
|
|
|
|||
|
|
@ -140,23 +140,22 @@ export default {
|
|||
},
|
||||
},
|
||||
created() {
|
||||
this.isReviewer = JSON.parse(zzSessionStorage.getItem('IsReviewer'))
|
||||
// this.isReviewer = JSON.parse(zzSessionStorage.getItem('IsReviewer'))
|
||||
this.changeRoute(this.$route)
|
||||
this.getInfo()
|
||||
this.$store.dispatch('user/getUserInfo')
|
||||
},
|
||||
methods: {
|
||||
...mapMutations({ setLanguage: 'lang/setLanguage' }),
|
||||
loginByRole(row) {
|
||||
let { UserId, UserTypeId } = row
|
||||
if (this.$store.state.user.userId === UserId) {
|
||||
loginByRole(userRoleId) {
|
||||
if (this.$store.state.user.userId === userRoleId) {
|
||||
this.toggleRoleVisible = false
|
||||
this.toggleRoleLoading = false
|
||||
return false
|
||||
}
|
||||
this.toggleRoleLoading = true
|
||||
this.$store
|
||||
.dispatch('user/loginByRole', { UserId, UserTypeId })
|
||||
.dispatch('user/loginByRole', { userRoleId })
|
||||
.then((res) => {
|
||||
if (res) {
|
||||
this.$store
|
||||
|
|
@ -180,13 +179,18 @@ export default {
|
|||
) {
|
||||
history.replaceState(null, null, '/trials/trials-inspection')
|
||||
history.go(0)
|
||||
// this.$router.replace({ path: '/trials/trials-list' })
|
||||
} else {
|
||||
history.replaceState(null, null, '/trials/trials-list')
|
||||
history.go(0)
|
||||
// this.$router.replace({ path: '/trials/trials-workbench' })
|
||||
}
|
||||
this.toggleRoleVisible = false
|
||||
this.toggleRoleLoading = false
|
||||
this.$EventBus.$emit('reload')
|
||||
// this.$nextTick(() => {
|
||||
// window.location.reload()
|
||||
// })
|
||||
} else {
|
||||
// 此账户暂未配置菜单权限,请联系管理员处理后再登录。
|
||||
this.toggleRoleLoading = false
|
||||
|
|
|
|||
|
|
@ -24,7 +24,9 @@
|
|||
<!-- 是否签署 -->
|
||||
<el-form-item :label="$t('trials:self-attachment:table:isSign')">
|
||||
<el-select v-model="searchData.IsSign" clearable style="width:120px;">
|
||||
<el-option v-for="item of $d.YesOrNo" v-if="item.raw.ValueCN !== '无'" :label="item.label" :value="item.value" />
|
||||
<template v-for="item of $d.YesOrNo">
|
||||
<el-option v-if="item.raw.ValueCN !== '无'" :key="item.id" :label="item.label" :value="item.value" />
|
||||
</template>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
|
|
@ -229,7 +231,7 @@ export default {
|
|||
if (this.$route.query.isSign) {
|
||||
this.searchData.IsSign = JSON.parse(this.$route.query.isSign)
|
||||
}
|
||||
this.getList()
|
||||
// this.getList()
|
||||
},
|
||||
destroyed() {
|
||||
if (this.timer) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue