|
|
@@ -6,13 +6,6 @@
|
|
|
<template>
|
|
|
<div class="login">
|
|
|
|
|
|
- <div class="login-con">
|
|
|
- <div class="login_body">
|
|
|
- <!-- <div class="login_title">-->
|
|
|
- <!-- {{ $route.name === 'login_hegii' ? $t('login_hegii'): $t('login_dealer')}}-->
|
|
|
- <!-- </div>-->
|
|
|
- <div style="clear: both;"></div>
|
|
|
- </div>
|
|
|
<div class="lang-class">
|
|
|
<!--语言-->
|
|
|
<SelectPop v-model="lang" ref="lang" :multiple="false"
|
|
|
@@ -23,52 +16,59 @@
|
|
|
:options="langList"
|
|
|
labelKey="label"
|
|
|
valueKey="key"
|
|
|
- @on-select="changeLang">
|
|
|
+ @on-select="changeLang" style="width: 90px">
|
|
|
</SelectPop>
|
|
|
</div>
|
|
|
+
|
|
|
+ <!-- 中间部分 -->
|
|
|
<div class="form-class">
|
|
|
- <div class="form-con">
|
|
|
- <div class="hj-logo">
|
|
|
- <div style="display: flex;align-items: center">
|
|
|
- <img :src="dk_logo" style="width: 60px;height: 60px;"/>
|
|
|
- <img :src="dk_mini" style="width: 208px;height: 80px;margin-left: 10px"/>
|
|
|
- <div style="font-size: 50px;font-weight: bold;color: #1B3769;">智云版</div>
|
|
|
- </div>
|
|
|
+ <!-- 左侧部分 -->
|
|
|
+ <div class="login-left">
|
|
|
+ <img :src="login_logo" style="margin:40px 0 0 40px"/>
|
|
|
+ <div style="font-family: PingFang SC;font-size: 44px;font-weight: 500;line-height: 61.6px;text-align: left;color: #FFFFFF;margin:180px 0 0 50px">泛家居建陶行业云服务</div>
|
|
|
+ <div style="margin:40px 0 0 50px;display: flex">
|
|
|
+ <Button shape="circle" class="left-button">免费体验</Button>
|
|
|
+ <Button shape="circle" class="left-button" style="margin-left: 20px" ghost>了解产品</Button>
|
|
|
</div>
|
|
|
- <!-- <div style="width: 90%;display: flex;justify-content: end">-->
|
|
|
- <!-- {{ this.$config.loginSubTitle }}-->
|
|
|
- <!-- </div>-->
|
|
|
- <div class="tab-class">
|
|
|
- <div :class="active == 0? 'btn-active-class':'btn-class' " id="user" @click="changeMode">密码登录</div>
|
|
|
- <div :class="active == 1? 'btn-active-class':'btn-class' " id="scan" @click="changeMode">扫码登录</div>
|
|
|
- </div>
|
|
|
- <div v-show="active == 0" class="content">
|
|
|
- <!--登录界面-->
|
|
|
- <login-form v-if="step == 0" @on-success-valid="handleSubmit" :loading="loading"></login-form>
|
|
|
- <!--选择公司-->
|
|
|
- <div v-if="step == 1" style="overflow-y: auto;overflow-x:hidden;height: 300px;margin-bottom: 40px">
|
|
|
- <DkButton v-for="(item,index) in joinedCpList" icon="iconfont iconfont icon-branch" :key="index"
|
|
|
- ref="save" type="text"
|
|
|
- style="margin-right: 10px;" @click="chooseCp(item)">
|
|
|
- <div style="display: flex;margin-left: 20px">
|
|
|
- <div>{{ item.cpName }}</div>
|
|
|
+ </div>
|
|
|
+ <!-- 右侧部分 -->
|
|
|
+ <div class="login-right">
|
|
|
+ <div style="width: 500px;">
|
|
|
+ <!-- 欢迎登录 -->
|
|
|
+ <div style="height:100px;padding: 10px 26px 10px 26px;display:flex;flex-direction:column;gap: 10px;">
|
|
|
+ <div style="font-family: 'PingFang SC';font-weight: 500;font-size: 47px;line-height: 47px;color: #333333">欢迎登录</div>
|
|
|
+ <div style="font-family: 'PingFang SC';font-weight: 400;font-size: 16px;line-height: 24px;color: #6E7484">东科智云</div>
|
|
|
+ </div>
|
|
|
+ <!-- 登录表单 -->
|
|
|
+ <div style="padding: 32px;display:flex;flex-direction:column;gap: 24px">
|
|
|
+ <div class="tab-class">
|
|
|
+ <div :class="active == 0? 'btn-active-class':'btn-class' " id="user" @click="changeMode">账号登录</div>
|
|
|
+ <div :class="active == 1? 'btn-active-class':'btn-class' " id="scan" @click="changeMode">扫码登录</div>
|
|
|
+ </div>
|
|
|
+ <div v-show="active == 0" class="content">
|
|
|
+ <!--登录界面-->
|
|
|
+ <login-form v-if="step == 0" @on-success-valid="handleSubmit" :loading="loading"></login-form>
|
|
|
+ <!--选择公司-->
|
|
|
+ <div v-if="step == 1" style="overflow-y: auto;overflow-x:hidden;height: 300px;margin-bottom: 40px">
|
|
|
+ <DkButton v-for="(item,index) in joinedCpList" icon="iconfont iconfont icon-branch" :key="index"
|
|
|
+ ref="save" type="text"
|
|
|
+ style="margin-right: 10px;" @click="chooseCp(item)">
|
|
|
+ <div style="display: flex;margin-left: 20px">
|
|
|
+ <div>{{ item.cpName }}</div>
|
|
|
+ </div>
|
|
|
+ </DkButton>
|
|
|
</div>
|
|
|
- </DkButton>
|
|
|
- <!-- <div>-->
|
|
|
- <!-- <Icon type="ios-arrow-round-forward" />-->
|
|
|
- <!-- </div>-->
|
|
|
+ </div>
|
|
|
+ <div v-show="active == 1" id="scan-login" style="text-align: center; padding: 21px">
|
|
|
+ <img :src="qrcodeUrl" style="width: 250px;height: 250px" v-if="qrcodeUrl"/>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div v-show="active == 1" id="scan-login" style="text-align: center; padding: 21px">
|
|
|
- <img :src="qrcodeUrl" style="width: 250px;height: 250px" v-if="qrcodeUrl"/>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div style="display: flex;justify-content: end;width: 98%">
|
|
|
- ©2024 东科软件 All rights reserved
|
|
|
- </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ <div style="position:fixed;bottom: 20px;">
|
|
|
+ 版权所有Copyright 2024 by 东科智云 | 备案号:京ICP备15085789号-1
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
@@ -77,6 +77,7 @@ import LoginForm from './login-form'
|
|
|
import {mapActions} from 'vuex'
|
|
|
import dk_logo from '@/assets/images/dongke_logo.png'
|
|
|
import dk_mini from '@/assets/images/iboss_mini.png'
|
|
|
+import login_logo from '@/assets/images/login-logo.png'
|
|
|
import {localRead, localSave} from "@/libs/base/util";
|
|
|
import {getQrCode, checkLoginOpenId} from '@/api/system/user/login'
|
|
|
import uuidv4 from 'uuid/v4'
|
|
|
@@ -95,6 +96,7 @@ export default {
|
|
|
type: '',
|
|
|
dk_logo,
|
|
|
dk_mini,
|
|
|
+ login_logo,
|
|
|
active: 0,// 默认在账户登录
|
|
|
lang: self.$config.currentLang,
|
|
|
langList: self.$config.languages,
|
|
|
@@ -187,7 +189,7 @@ export default {
|
|
|
* @date : 2022/5/13 16:52
|
|
|
* @author : 洪旭东
|
|
|
*/
|
|
|
- handleSubmit({userCode, userPwd, appCode}) {
|
|
|
+ async handleSubmit({userCode, userPwd, appCode}) {
|
|
|
this.loading = true
|
|
|
this.handleLogin({userCode, userPwd, appCode}).then(res => {
|
|
|
this.$Message.destroy()
|
|
|
@@ -207,10 +209,9 @@ export default {
|
|
|
console.log('dd',this.$config.expCp,this.joinedCpList)
|
|
|
this.step = 1;
|
|
|
} else {
|
|
|
- // 登录后更新相关信息
|
|
|
- this.afterLogin(res.data)
|
|
|
-
|
|
|
- setTimeout(()=>{
|
|
|
+ (async () => {
|
|
|
+ // 登录后更新相关信息
|
|
|
+ await this.afterLogin(res.data)
|
|
|
// 登录后获取信息
|
|
|
this.getInfoAfterLogin(res.data).then(r => {
|
|
|
if (r.code == this.$config.SUCCESS_CODE) {
|
|
|
@@ -220,7 +221,7 @@ export default {
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
- },50)
|
|
|
+ })();
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
@@ -270,15 +271,39 @@ export default {
|
|
|
</script>
|
|
|
|
|
|
<style scoped>
|
|
|
-/*.form-con {*/
|
|
|
-/* margin-top: 6vh;*/
|
|
|
-/*}*/
|
|
|
+.login-left{
|
|
|
+ width: 825px;
|
|
|
+ height:700px;
|
|
|
+ border-top-left-radius: 24px;
|
|
|
+ border-bottom-left-radius: 24px;
|
|
|
+ background: url('../../assets/images/left-bgimg.png') no-repeat,radial-gradient(45.91% 94.06% at 12.61% 5.94%, #597EFF 0%, #1750BD 82.72%);
|
|
|
|
|
|
-.lang-class {
|
|
|
+}
|
|
|
+
|
|
|
+.login-right{
|
|
|
+ background-color: #FFFFFF;
|
|
|
+ width: 555px;
|
|
|
+ height:700px;
|
|
|
display: flex;
|
|
|
- margin: 20px 20px;
|
|
|
- width: 120px;
|
|
|
- float: right;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ border-top-right-radius: 24px;
|
|
|
+ border-bottom-right-radius: 24px;
|
|
|
+}
|
|
|
+
|
|
|
+.left-button{
|
|
|
+ height:60px;
|
|
|
+ width: 150px;
|
|
|
+ font-family: PingFang HK;
|
|
|
+ font-size: 20px!important;
|
|
|
+ font-weight: 500;
|
|
|
+ line-height: 40px;
|
|
|
+}
|
|
|
+.lang-class {
|
|
|
+ position: fixed;
|
|
|
+ top: 20px;
|
|
|
+ right: 20px;
|
|
|
+ width: 90px;
|
|
|
}
|
|
|
|
|
|
/*登录表格标题左右分布*/
|
|
|
@@ -332,8 +357,8 @@ export default {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: center;
|
|
|
- width: 100%;
|
|
|
- height: calc(100vh - 150px)
|
|
|
+ width: 1380px;
|
|
|
+ border-radius: 24px;
|
|
|
}
|
|
|
|
|
|
/deep/ .ivu-btn-text {
|