| | |
| | | </template> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item v-if="state.clients.length>1"> |
| | | <el-select v-model="state.ruleForm.clientCode" placeholder="请选择登录客户"> |
| | | <el-option v-for="item in state.clients" :key="item.code" :label="item.clientName" :value="item.code" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <!-- <el-form-item class="login-animation3"> |
| | | <el-col :span="15"> |
| | | <el-input |
| | |
| | | import { useThemeConfig } from '/@/stores/themeConfig'; |
| | | import { initFrontEndControlRoutes } from '/@/router/frontEnd'; |
| | | import { initBackEndControlRoutes } from '/@/router/backEnd'; |
| | | import { Session } from '/@/utils/storage'; |
| | | import { Session,Local } from '/@/utils/storage'; |
| | | import { formatAxis } from '/@/utils/formatTime'; |
| | | import { NextLoading } from '/@/utils/loading'; |
| | | import { signIn } from '/@/api/login'; |
| | | import { error } from 'console'; |
| | | import { confirmClient, getuserinfo, signIn,getclients } from '/@/api/login'; |
| | | |
| | | // 定义变量内容 |
| | | const { t } = useI18n(); |
| | |
| | | const route = useRoute(); |
| | | const router = useRouter(); |
| | | const state = reactive({ |
| | | LS_token: '', |
| | | isShowPassword: false, |
| | | ruleForm: { |
| | | userName: 'cycems', |
| | | password: '123456', |
| | | code: '1234', |
| | | clientCode: '', |
| | | }, |
| | | clients: [], |
| | | loading: { |
| | | signIn: false, |
| | | }, |
| | |
| | | }); |
| | | // 登录 |
| | | const onSignIn = async () => { |
| | | try{ |
| | | state.loading.signIn = true; |
| | | const signInRes = await signIn(`user_no=${state.ruleForm.userName}&user_password=${state.ruleForm.password}`) |
| | | if(signInRes.data){ |
| | | // 存储 token 到浏览器缓存 |
| | | Session.set('token', signInRes.data); |
| | | try { |
| | | // 第二次请求登录获取到了客户 换绑定token |
| | | if (state.ruleForm.clientCode) { |
| | | // 重新绑定token |
| | | const tokenRe= await confirmClient('clientCode='+state.ruleForm.clientCode); |
| | | // 更新token |
| | | Session.set('token', tokenRe.data); |
| | | // 更新客户选择缓存 |
| | | Local.set('client_'+state.ruleForm.userName,state.ruleForm.clientCode) |
| | | console.log('更新tokeng重新请求用户信息') |
| | | // 模拟数据,对接接口时,记得删除多余代码及对应依赖的引入。用于 `/src/stores/userInfo.ts` 中不同用户登录判断(模拟数据) |
| | | Cookies.set('userName', state.ruleForm.userName); |
| | | // 前端控制路由,2、请注意执行顺序 |
| | | const isNoPower = await initFrontEndControlRoutes(); |
| | | signInSuccess(isNoPower); |
| | | |
| | | } else { //第一次登录没有选择到客户 |
| | | state.loading.signIn = true; |
| | | const signInRes = await signIn(`user_no=${state.ruleForm.userName}&user_password=${state.ruleForm.password}`); |
| | | if (signInRes.data) { |
| | | // 存储 token 到浏览器缓存 |
| | | Session.set('token', signInRes.data); |
| | | const userinfoRes = await getuserinfo(); |
| | | if (userinfoRes?.data?.clientInfos.length > 1) { |
| | | console.log('多中心管理账号'); |
| | | console.log(userinfoRes.data); |
| | | state.clients = userinfoRes?.data?.clientInfos; |
| | | state.loading.signIn = false; |
| | | console.log(Local.get('client_'+state.ruleForm.userName)) |
| | | // 看看有没有缓存客户选择 |
| | | const lscode=Local.get('client_'+state.ruleForm.userName) |
| | | if(lscode){ |
| | | const x=state.clients.findIndex((cl:any)=>{return cl.code===lscode}) |
| | | if(x>=0){ |
| | | // 默认选择客户项 |
| | | state.ruleForm.clientCode=lscode |
| | | } |
| | | |
| | | } |
| | | ElMessage.success('请选择登录客户再登录') |
| | | } else if ( |
| | | userinfoRes?.data?.roles.findIndex((ro: any) => { |
| | | return ro.roleName === 'admin'; |
| | | }) >= 0 |
| | | ) { |
| | | |
| | | console.log('管理员登录'); |
| | | var ps= new Object ({ |
| | | page: 0, |
| | | size: 0, |
| | | wherecondition: '', |
| | | ordercondition: 'create_time desc' |
| | | }) |
| | | getclients(ps).then(re=>{ |
| | | state.clients = re.data.list; |
| | | }).finally(()=>{ |
| | | state.loading.signIn = false; |
| | | }) |
| | | |
| | | } else { |
| | | console.log('普通登录'); |
| | | console.log('-----------用token 换用户信息---------------'); |
| | | // 模拟数据,对接接口时,记得删除多余代码及对应依赖的引入。用于 `/src/stores/userInfo.ts` 中不同用户登录判断(模拟数据) |
| | | Cookies.set('userName', state.ruleForm.userName); |
| | | // 前端控制路由,2、请注意执行顺序 |
| | | const isNoPower = await initFrontEndControlRoutes(); |
| | | signInSuccess(isNoPower); |
| | | } |
| | | } |
| | | } |
| | | }catch(err){ |
| | | console.log(err) |
| | | state.loading.signIn = false |
| | | } catch (err) { |
| | | console.log(err); |
| | | state.loading.signIn = false; |
| | | } |
| | | |
| | | |
| | | // 存储 token 到浏览器缓存 |
| | | // Session.set('token', '999'); |