登录增加选择公司
This commit is contained in:
parent
acf42d6e9e
commit
2a0c34f7ad
|
|
@ -1,4 +1,4 @@
|
|||
|
||||
VUE_APP_API_BASE_URL=http://192.168.31.166:46000
|
||||
VUE_APP_USER_MODEL=AdminUser
|
||||
VUE_APP_USER_MODEL2=BaseAdmin
|
||||
VUE_APP_API_BASE_URL=http://zxx4.f3322.net:46000
|
||||
VUE_APP_USER_MODEL2=AdminUser
|
||||
VUE_APP_USER_MODEL=BaseAdmin
|
||||
|
|
@ -29,7 +29,7 @@
|
|||
</a-input>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item v-if="!isMiddleAdmin()">
|
||||
<a-form-item v-if="false">
|
||||
<a-input-search placeholder="选择公司" enter-button @search="onCompanySearch" />
|
||||
</a-form-item>
|
||||
|
||||
|
|
@ -74,12 +74,12 @@
|
|||
</div>
|
||||
</a-form>
|
||||
|
||||
<vxe-modal v-model="companyShow" width="600" show-footer>
|
||||
<vxe-modal v-model="companyShow" @confirm="confirmEvent" width="600" show-footer>
|
||||
<template #title>
|
||||
<span>选择公司</span>
|
||||
</template>
|
||||
<template #default>
|
||||
<vxe-table show-overflow auto-resize height="300" :rowConfig="{ isCurrent: true, isHover: true }"
|
||||
<vxe-table ref="xTable" show-overflow auto-resize height="300" :rowConfig="{ isCurrent: true, isHover: true }"
|
||||
:data="companyData">
|
||||
<vxe-column type="seq" width="60"></vxe-column>
|
||||
<vxe-column field="title" title="公司名"></vxe-column>
|
||||
|
|
@ -100,7 +100,7 @@
|
|||
|
||||
<script>
|
||||
import CommonLayout from '@/layouts/CommonLayout'
|
||||
import { login, getUserInfo, getRoutesConfig, getPermission, getSettings, getCompany, getProject, getProject2 } from '@/services/base/user'
|
||||
import { login, switchCompany, getUserInfo, getRoutesConfig, getPermission, getSettings, getCompany, getProject } from '@/services/base/user'
|
||||
import { setAuthorization, setCompany } from '@/utils/request'
|
||||
import { loadRoutes } from '@/utils/routerUtil'
|
||||
import { mapMutations } from 'vuex'
|
||||
|
|
@ -108,9 +108,6 @@ import Cookie from 'js-cookie'
|
|||
import { USER_MODEL } from '@/services/base/api.js';
|
||||
|
||||
|
||||
var axios = require('axios');
|
||||
|
||||
|
||||
|
||||
|
||||
export default {
|
||||
|
|
@ -129,7 +126,7 @@ export default {
|
|||
companyShow: false,
|
||||
companyData: [],
|
||||
company: Cookie.get('company'),
|
||||
|
||||
loginResult: null
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
|
@ -141,9 +138,7 @@ export default {
|
|||
const project = result.data.data
|
||||
this.setProject(project) // 将项目信息存入vuex
|
||||
})
|
||||
getProject2().then(result => { // 获取项目信息
|
||||
console.log(result)
|
||||
})
|
||||
|
||||
// 设置界面设置 的默认值
|
||||
Cookie.set(process.env.VUE_APP_LAYOUT_KEY, 'side')
|
||||
Cookie.set(process.env.VUE_APP_THEME_MODE_KEY, 'dark')
|
||||
|
|
@ -163,42 +158,47 @@ export default {
|
|||
}, 1000)
|
||||
}) // loadsh的pick方法
|
||||
|
||||
setTimeout(() => {
|
||||
this.testLogin();
|
||||
}, 2000);
|
||||
},
|
||||
methods: {
|
||||
...mapMutations('account', ['setUid', 'setUser', 'setPermissions', 'setRoutesConfig', 'setSettings', 'setCompany', 'setProject']),
|
||||
|
||||
|
||||
testLogin() {
|
||||
|
||||
var data = JSON.stringify({
|
||||
"mobile": "18607684660",
|
||||
"password": "888888"
|
||||
});
|
||||
var config = {
|
||||
method: 'post',
|
||||
url: 'http://192.168.31.166:46000/BaseAdmin/v1/login',
|
||||
headers: {
|
||||
//'Beid': '1',
|
||||
'Authorization': '',
|
||||
'Content-Type': 'application/json',
|
||||
'Accept': '*/*'
|
||||
},
|
||||
data: data
|
||||
};
|
||||
axios(config)
|
||||
.then(function (response) {
|
||||
console.log(JSON.stringify(response.data));
|
||||
})
|
||||
.catch(function (error) {
|
||||
console.log(error);
|
||||
});
|
||||
},
|
||||
|
||||
onCompanySearch() {
|
||||
this.companyShow = true;
|
||||
},
|
||||
confirmEvent() {
|
||||
let row = this.$refs.xTable.getCurrentRecord();
|
||||
|
||||
//没有选择公司,或者选择了第一个公司,直接登录
|
||||
if (!row || row.id == this.companyData[0].id) {
|
||||
this.afterLoginSuccess({
|
||||
token: this.loginResult.data.access_token,
|
||||
access_expire: this.loginResult.data.access_expire,
|
||||
uid: this.loginResult.data.uid,
|
||||
loginResMsg: this.loginResult.msg
|
||||
});
|
||||
}
|
||||
//选择了其他公司
|
||||
else {
|
||||
|
||||
setAuthorization({
|
||||
token: this.loginResult.data.access_token,
|
||||
expireAt: new Date(this.loginResult.data.access_expire * 1000)
|
||||
})
|
||||
|
||||
switchCompany(row.id).then(result => {
|
||||
result = result.data;
|
||||
this.afterLoginSuccess({
|
||||
token: result.data.access_token,
|
||||
access_expire: result.data.access_expire,
|
||||
uid: result.data.uid,
|
||||
loginResMsg: this.loginResult.msg
|
||||
});
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
isMiddleAdmin() {
|
||||
console.log(USER_MODEL)
|
||||
|
|
@ -220,14 +220,32 @@ export default {
|
|||
this.logging = false
|
||||
const loginRes = res.data
|
||||
if (loginRes.code == 200) {
|
||||
const uid = loginRes.data.uid
|
||||
if(!this.isMiddleAdmin()){
|
||||
if (!this.isMiddleAdmin()) {
|
||||
this.companyShow = true;
|
||||
this.companyData = loginRes.data.company_switch;
|
||||
this.loginResult = loginRes;
|
||||
return;
|
||||
}
|
||||
|
||||
this.companyData = res.data.company_switch;
|
||||
this.afterLoginSuccess({
|
||||
token: loginRes.data.access_token,
|
||||
access_expire: loginRes.data.access_expire,
|
||||
uid: loginRes.data.uid,
|
||||
loginResMsg: loginRes.msg
|
||||
});
|
||||
|
||||
|
||||
} else {
|
||||
console.log("登录失败")
|
||||
this.error = loginRes.message
|
||||
}
|
||||
},
|
||||
|
||||
afterLoginSuccess({ token, access_expire, uid, loginResMsg }) {
|
||||
|
||||
|
||||
setAuthorization({ token: token, expireAt: new Date(access_expire * 1000) }) // 设置token
|
||||
|
||||
setAuthorization({ token: loginRes.data.access_token, expireAt: new Date(loginRes.data.access_expire * 1000) }) // 设置token
|
||||
this.setUid(uid) // 设置用户id
|
||||
|
||||
|
||||
|
|
@ -251,7 +269,7 @@ export default {
|
|||
this.setRoutesConfig(routesConfig)
|
||||
loadRoutes([routesConfig])
|
||||
this.$router.push('/dashboard/workplace')
|
||||
this.$message.success(loginRes.msg, 3)
|
||||
this.$message.success(loginResMsg, 3)
|
||||
}
|
||||
})
|
||||
|
||||
|
|
@ -269,13 +287,7 @@ export default {
|
|||
setCompany(company.company_info) // 将公司信息存入cookies
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
} else {
|
||||
console.log("登录失败")
|
||||
this.error = loginRes.message
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ module.exports = {
|
|||
method:METHOD.POST
|
||||
}, // 获取项目信息
|
||||
LOGIN: {url:`${BASE_URL}/${USER_MODEL}/v1/login`, method:METHOD.POST}, // 登录
|
||||
SWITCHCOMPANY: {url:`${BASE_URL}/${USER_MODEL}/v1/switch/company`, method:METHOD.POST}, // 登录
|
||||
ROUTERS: {url:`${BASE_URL}/${USER_MODEL}/v1/routers`, method:METHOD.POST}, // 获取路由配置
|
||||
USERINFO: {url:`${BASE_URL}/${USER_MODEL}/v1/userinfo`, method:METHOD.POST}, // 获取用户信息
|
||||
COMPANY: {url:`${BASE_URL}/${USER_MODEL}/v1/company`, method:METHOD.POST}, // 获取公司信息
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import {LOGIN, ROUTERS, USERINFO,PERMISSION,SETTINGS,PROJECT,COMPANY} from '@/services/base/api'
|
||||
import {request, removeAuthorization} from '@/utils/request'
|
||||
import { LOGIN, SWITCHCOMPANY , ROUTERS, USERINFO, PERMISSION, SETTINGS, PROJECT, COMPANY } from '@/services/base/api'
|
||||
import { request, removeAuthorization } from '@/utils/request'
|
||||
/**
|
||||
* 登录服务
|
||||
* @param name 账户名
|
||||
|
|
@ -7,10 +7,15 @@ import {request, removeAuthorization} from '@/utils/request'
|
|||
* @returns {Promise<AxiosResponse<T>>}
|
||||
*/
|
||||
export async function login(name, password) {
|
||||
return request(LOGIN.url, LOGIN.method, {
|
||||
|
||||
let params = {
|
||||
mobile: name,
|
||||
password: password
|
||||
})
|
||||
}
|
||||
if (process.env.VUE_APP_USER_MODEL != "AdminUser") {
|
||||
params.beid = parseInt(process.env.VUE_APP_BEID)
|
||||
}
|
||||
return request(LOGIN.url, LOGIN.method, params)
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -24,6 +29,13 @@ export async function getUserInfo() { // 获取用户信息
|
|||
uid: userId
|
||||
})
|
||||
}
|
||||
|
||||
export async function switchCompany(company_id) { // 获取用户信息
|
||||
return request(SWITCHCOMPANY.url, SWITCHCOMPANY.method, {
|
||||
company_id: company_id
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取路由配置
|
||||
* @param uid
|
||||
|
|
@ -32,7 +44,7 @@ export async function getUserInfo() { // 获取用户信息
|
|||
export async function getRoutesConfig() { // 获取路由配置
|
||||
const userId = parseInt(localStorage.getItem(process.env.VUE_APP_UID_KEY)) // 获取用户id并转换为整数
|
||||
return request(ROUTERS.url, ROUTERS.method, {
|
||||
uid:userId
|
||||
uid: userId
|
||||
})
|
||||
}
|
||||
|
||||
|
|
@ -44,7 +56,7 @@ export async function getRoutesConfig() { // 获取路由配置
|
|||
export async function getPermission() { // 获取权限配置
|
||||
const userId = parseInt(localStorage.getItem(process.env.VUE_APP_UID_KEY)) // 获取用户id并转换为整数
|
||||
return request(PERMISSION.url, PERMISSION.method, {
|
||||
uid:userId
|
||||
uid: userId
|
||||
})
|
||||
}
|
||||
|
||||
|
|
@ -56,7 +68,7 @@ export async function getPermission() { // 获取权限配置
|
|||
export async function getSettings() { // 获取用户设置
|
||||
const userId = parseInt(localStorage.getItem(process.env.VUE_APP_UID_KEY)) // 获取用户id并转换为整数
|
||||
return request(SETTINGS.url, SETTINGS.method, {
|
||||
uid:userId
|
||||
uid: userId
|
||||
})
|
||||
}
|
||||
|
||||
|
|
@ -67,13 +79,7 @@ export async function getSettings() { // 获取用户设置
|
|||
*/
|
||||
export async function getProject() { // 获取项目信息
|
||||
return request(PROJECT.url, PROJECT.method, {
|
||||
//beid:parseInt(process.env.VUE_APP_BEID)
|
||||
})
|
||||
}
|
||||
|
||||
export async function getProject2() { // 获取项目信息
|
||||
return request(PROJECT.url, PROJECT.method, {
|
||||
//beid:parseInt(process.env.VUE_APP_BEID)
|
||||
beid: parseInt(process.env.VUE_APP_BEID)
|
||||
})
|
||||
}
|
||||
|
||||
|
|
@ -111,6 +117,6 @@ export default {
|
|||
getUserInfo,
|
||||
getSettings,
|
||||
getProject,
|
||||
getProject2,
|
||||
getCompany,
|
||||
switchCompany
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,13 +41,13 @@ async function request(url, method, params, config) { // 请求方法
|
|||
|
||||
|
||||
|
||||
if(USER_MODEL != "AdminUser"){
|
||||
axios.defaults.headers.common[beidHeaderName] = parseInt(APP_BEID)
|
||||
}else{
|
||||
if(beidHeaderName in axios.defaults.headers.common){
|
||||
delete axios.defaults.headers.common[beidHeaderName];
|
||||
}
|
||||
}
|
||||
//if(USER_MODEL != "AdminUser"){
|
||||
// axios.defaults.headers.common[beidHeaderName] = parseInt(APP_BEID)
|
||||
//}else{
|
||||
// if(beidHeaderName in axios.defaults.headers.common){
|
||||
// delete axios.defaults.headers.common[beidHeaderName];
|
||||
// }
|
||||
//}
|
||||
|
||||
|
||||
if (Cookie.get(xsrfHeaderName)) { // 检查cookie中是否存在认证信息
|
||||
|
|
|
|||
Loading…
Reference in New Issue