|
@@ -1,62 +1,66 @@
|
|
|
<template>
|
|
|
- <div class="backdrop zap-login">
|
|
|
- <el-container>
|
|
|
+ <div class="backdrop">
|
|
|
+ <el-container class="zap-login">
|
|
|
<!-- logo -->
|
|
|
<img class="zap-logo" src="../assets/images/login/login_logo.png" alt="">
|
|
|
<el-main>
|
|
|
<!-- 中间部分 -->
|
|
|
- <div class="login">
|
|
|
- <div class="login-left">
|
|
|
- <img class="login-name" src="../assets/images/login/login_name.png" alt="">
|
|
|
- <img class="login-illustration" src="../assets/images/login/login_illustration.png" alt="">
|
|
|
- </div>
|
|
|
- <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
|
|
|
- <template v-if="!scanningLogin">
|
|
|
- <div class="zap-2dcode">
|
|
|
- <!-- <img class="zap-2dcode__text" src="../assets/images/code1_1.png" alt=""> -->
|
|
|
- <!-- <img class="zap-2dcode__img" src="../assets/images/code1_2.gif" alt="" @click="scanningLogin=true"> -->
|
|
|
- </div>
|
|
|
- <el-tabs v-model="activeName" class="zap-tabs" @tab-click="changeLoginType">
|
|
|
- <el-tab-pane label="找回密码" name="login_shortMessage">
|
|
|
- <el-form-item prop="phone" v-if="!passwordUpdate">
|
|
|
- <el-input v-model="loginForm.phone" type="text" auto-complete="off" placeholder="手机号" maxlength="11">
|
|
|
- <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="shortMessageCode" v-if="!passwordUpdate">
|
|
|
- <el-input v-model="loginForm.shortMessageCode" type="text" maxlength="" auto-complete="off" placeholder="请输入验证码" id="" onkeydown="enterHandler(event)">
|
|
|
- <svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
|
|
|
- <el-button class="zap-code-button" slot="suffix" @click="sendMessage" :disabled="sendShortMessageBtn">{{codeBtnWord}}</el-button>
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item style="width:100%;" v-if="!passwordUpdate">
|
|
|
- <el-button :loading="loading" class="zap-button" size="medium" type="primary" @click.native.prevent="handleLogin">
|
|
|
- <span v-if="!loading">下 一 步</span>
|
|
|
- <span v-else>请 稍 后...</span>
|
|
|
- </el-button>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="password" v-if="passwordUpdate">
|
|
|
- <el-input v-model="loginForm.password" type="text" auto-complete="off" placeholder="密码" maxlength="20">
|
|
|
- <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="again" v-if="passwordUpdate">
|
|
|
- <el-input v-model="loginForm.again" type="text" auto-complete="off" placeholder="确认密码" maxlength="20">
|
|
|
- <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item style="width:100%;" v-if="passwordUpdate">
|
|
|
- <el-button :loading="loading" class="zap-button" size="medium" type="primary" @click.native.prevent="handleUpdate">
|
|
|
- <span v-if="!loading">下 一 步</span>
|
|
|
- <span v-else>请 稍 后...</span>
|
|
|
- </el-button>
|
|
|
- </el-form-item>
|
|
|
- </el-tab-pane>
|
|
|
- </el-tabs>
|
|
|
- </template>
|
|
|
- </el-form>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="13">
|
|
|
+ <el-row class="login-media">
|
|
|
+ <img class="login-name" src="../assets/images/login/login_name.png" alt="">
|
|
|
+ <img class="login-illustration" src="../assets/images/login/login_illustration.png" alt="">
|
|
|
+ </el-row>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="11">
|
|
|
+ <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
|
|
|
+ <template v-if="!scanningLogin">
|
|
|
+ <div class="zap-2dcode">
|
|
|
+ <!-- <img class="zap-2dcode__text" src="../assets/images/code1_1.png" alt=""> -->
|
|
|
+ <!-- <img class="zap-2dcode__img" src="../assets/images/code1_2.gif" alt="" @click="scanningLogin=true"> -->
|
|
|
+ </div>
|
|
|
+ <el-tabs v-model="activeName" class="zap-tabs" @tab-click="changeLoginType">
|
|
|
+ <el-tab-pane label="找回密码" name="login_shortMessage">
|
|
|
+ <el-form-item prop="phone" v-if="!passwordUpdate">
|
|
|
+ <el-input v-model="loginForm.phone" type="text" auto-complete="off" placeholder="手机号" maxlength="11">
|
|
|
+ <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="shortMessageCode" v-if="!passwordUpdate">
|
|
|
+ <el-input v-model="loginForm.shortMessageCode" type="text" maxlength="" auto-complete="off" placeholder="请输入验证码" class="login-code-msg" id="" onkeydown="enterHandler(event)">
|
|
|
+ <svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
|
|
|
+ <el-button class="zap-code-button" slot="suffix" @click="sendMessage" :disabled="sendShortMessageBtn">{{codeBtnWord}}</el-button>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item style="width:100%;" v-if="!passwordUpdate">
|
|
|
+ <el-button :loading="loading" class="zap-button" size="medium" type="primary" @click.native.prevent="handleLogin">
|
|
|
+ <span v-if="!loading">下 一 步</span>
|
|
|
+ <span v-else>请 稍 后...</span>
|
|
|
+ </el-button>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="password" v-if="passwordUpdate">
|
|
|
+ <el-input v-model="loginForm.password" type="text" auto-complete="off" placeholder="密码" maxlength="20">
|
|
|
+ <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="again" v-if="passwordUpdate">
|
|
|
+ <el-input v-model="loginForm.again" type="text" auto-complete="off" placeholder="确认密码" maxlength="20">
|
|
|
+ <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item style="width:100%;" v-if="passwordUpdate">
|
|
|
+ <el-button :loading="loading" class="zap-button" size="medium" type="primary" @click.native.prevent="handleUpdate">
|
|
|
+ <span v-if="!loading">下 一 步</span>
|
|
|
+ <span v-else>请 稍 后...</span>
|
|
|
+ </el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-tab-pane>
|
|
|
+ </el-tabs>
|
|
|
+ </template>
|
|
|
+ </el-form>
|
|
|
+ </el-col>
|
|
|
<!-- 底部 -->
|
|
|
- </div>
|
|
|
+ </el-row>
|
|
|
</el-main>
|
|
|
</el-container>
|
|
|
<el-footer></el-footer>
|
|
@@ -332,253 +336,5 @@ export default {
|
|
|
};
|
|
|
</script>
|
|
|
<style rel="stylesheet/scss" lang="scss">
|
|
|
-// 大背景图
|
|
|
-.backdrop {
|
|
|
- padding-top: 100px;
|
|
|
- background-color: #ebf3ff;
|
|
|
- width: 100%;
|
|
|
- min-height: 100%;
|
|
|
- text-align: center;
|
|
|
-}
|
|
|
-.zap-login{
|
|
|
- .login {
|
|
|
- display: flex;
|
|
|
- justify-content: center;
|
|
|
- height: 100%;
|
|
|
- background-size: cover;
|
|
|
- }
|
|
|
- // 中间背景图
|
|
|
- .login-form {
|
|
|
- margin-left: 75px;
|
|
|
- border-radius: 6px;
|
|
|
- background-size: 935px 434px;
|
|
|
- background-repeat: no-repeat;
|
|
|
- margin-top: 40px;
|
|
|
- }
|
|
|
- // 输入框大小
|
|
|
- .el-input {
|
|
|
- height: 55px;
|
|
|
- width: 100%;
|
|
|
- background-image: linear-gradient(
|
|
|
- #fdfdfd,
|
|
|
- #fdfdfd),
|
|
|
- linear-gradient(
|
|
|
- #e7f0ff,
|
|
|
- #e7f0ff);
|
|
|
- background-blend-mode: normal,
|
|
|
- normal;
|
|
|
- input {
|
|
|
- height: 55px;
|
|
|
- width: 100%;
|
|
|
- font-size: 18px;
|
|
|
- }
|
|
|
- }
|
|
|
- .input-icon {
|
|
|
- height: 53px;
|
|
|
- width: 22px;
|
|
|
- margin-left: 14px;
|
|
|
- margin-right: 14px
|
|
|
- }
|
|
|
- .el-input--prefix .el-input__inner{
|
|
|
- padding-left: 50px;
|
|
|
- }
|
|
|
- .login-tip {
|
|
|
- font-size: 13px;
|
|
|
- text-align: center;
|
|
|
- }
|
|
|
- .el-form-item--medium .el-form-item__content{
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- }
|
|
|
- // 验证码
|
|
|
- .login-code {
|
|
|
- height: 55px;
|
|
|
- img {
|
|
|
- cursor: pointer;
|
|
|
- vertical-align: middle;
|
|
|
- }
|
|
|
- }
|
|
|
- .login-code-img {
|
|
|
- flex: 1;
|
|
|
- height: 55px;
|
|
|
- margin-left: 8px;
|
|
|
- }
|
|
|
-
|
|
|
- .rightulliimg{
|
|
|
- width: 860px;
|
|
|
-
|
|
|
- }
|
|
|
- .divider_left{
|
|
|
- margin-left: -40px;
|
|
|
- }
|
|
|
-
|
|
|
- // 内部供应链
|
|
|
- .zap-tabs{
|
|
|
- width: 410px;
|
|
|
- min-height: 480px;
|
|
|
- padding: 10px 48px 46px;
|
|
|
- box-sizing: border-box;
|
|
|
- background-image: linear-gradient(
|
|
|
- #ffffff,
|
|
|
- #ffffff),
|
|
|
- linear-gradient(
|
|
|
- #f3f3f3,
|
|
|
- #f3f3f3);
|
|
|
- .el-tabs__nav-wrap{
|
|
|
- padding: 0 12px;
|
|
|
- }
|
|
|
- .el-tabs__nav-wrap::after{
|
|
|
- height: 0;
|
|
|
- }
|
|
|
- .el-tabs__nav{
|
|
|
- width: 100%;
|
|
|
- }
|
|
|
- .el-tabs__item{
|
|
|
- height: 56px;
|
|
|
- line-height: 56px;
|
|
|
- font-size: 24px;
|
|
|
- color: #333333;
|
|
|
- &:nth-of-type(3){
|
|
|
- padding-left: 30px;
|
|
|
- }
|
|
|
- }
|
|
|
- .el-tabs__item.is-active{
|
|
|
- color: #0056eb;
|
|
|
- }
|
|
|
- .el-tabs__active-bar{
|
|
|
- background-color: #0056eb;
|
|
|
- }
|
|
|
- }
|
|
|
- .login-left{
|
|
|
- width: 704px;
|
|
|
- margin-top: 40px;
|
|
|
- text-align: left;
|
|
|
- .login-name{
|
|
|
- width: 515px;
|
|
|
- }
|
|
|
- .login-illustration{
|
|
|
- width: 704px;
|
|
|
- }
|
|
|
- }
|
|
|
- .zap-logo{
|
|
|
- position: absolute;
|
|
|
- top: 25px;
|
|
|
- left: 45px;
|
|
|
- width: 210px;
|
|
|
- height: 60px;
|
|
|
- }
|
|
|
- .zap-2dcode{
|
|
|
- display: flex;
|
|
|
- justify-content: flex-end;
|
|
|
- align-items: center;
|
|
|
- width: 410px;;
|
|
|
- padding-top: 10px;
|
|
|
- padding-right: 10px;
|
|
|
- font-size: 0;
|
|
|
- background-color: #ffffff;
|
|
|
- box-sizing: border-box;
|
|
|
- }
|
|
|
- .zap-2dcode__text{
|
|
|
- width: 113px;
|
|
|
- height: 28px;
|
|
|
- }
|
|
|
- .zap-2dcode__img{
|
|
|
- width: 60px;
|
|
|
- height: 61px;
|
|
|
- cursor: pointer;
|
|
|
- }
|
|
|
- .zap-button{
|
|
|
- margin-top: 25px;
|
|
|
- width: 100%;
|
|
|
- height: 55px;
|
|
|
- font-size: 18px;
|
|
|
- border-radius: 0;
|
|
|
- background-image: linear-gradient(
|
|
|
- #0056eb,
|
|
|
- #0056eb),
|
|
|
- linear-gradient(
|
|
|
- #e7f0ff,
|
|
|
- #e7f0ff);
|
|
|
- background-blend-mode: normal,
|
|
|
- normal;
|
|
|
- }
|
|
|
- .zap-agreement{
|
|
|
- display: flex;
|
|
|
- align-items: top;
|
|
|
- margin-top: 8px;
|
|
|
- line-height: 18px;
|
|
|
- font-size: 12px;
|
|
|
- }
|
|
|
- .zap-agreement__text{
|
|
|
- color: #666666;
|
|
|
- }
|
|
|
- .zap-agreement__link{
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
- align-items: flex-start;
|
|
|
- color: #389cf4;
|
|
|
- cursor: pointer;
|
|
|
- }
|
|
|
- .zap-code-button{
|
|
|
- padding: 0 16px;
|
|
|
- line-height: 55px;
|
|
|
- font-size: 18px;
|
|
|
- color: #23b24b;
|
|
|
- border: none;
|
|
|
- background-color: transparent;
|
|
|
- }
|
|
|
- .el-button.is-disabled, .el-button.is-disabled:hover, .el-button.is-disabled:focus{
|
|
|
- background-color: transparent;
|
|
|
- }
|
|
|
- // 扫码登录
|
|
|
- .zap-scanning{
|
|
|
- width: 410px;
|
|
|
- height: 550px;
|
|
|
- background-image: linear-gradient(
|
|
|
- #ffffff,
|
|
|
- #ffffff),
|
|
|
- linear-gradient(
|
|
|
- #f3f3f3,
|
|
|
- #f3f3f3);
|
|
|
- background-blend-mode: normal,
|
|
|
- normal;
|
|
|
- box-sizing: border-box;
|
|
|
- }
|
|
|
- .zap-scanning__title{
|
|
|
- padding: 0 60px;
|
|
|
- font-size: 24px;
|
|
|
- color: #333333;
|
|
|
- }
|
|
|
- .zap-scanning__img{
|
|
|
- display: block;
|
|
|
- width: 220px;
|
|
|
- height: 220px;
|
|
|
- margin: 40px auto 0;
|
|
|
- object-fit: cover;
|
|
|
- }
|
|
|
- .zap-scanning__bottom{
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
- margin-top: 18px;
|
|
|
- font-size: 14px;
|
|
|
- }
|
|
|
- .zap-scanning__icon{
|
|
|
- width: 22px;
|
|
|
- height: 22px;
|
|
|
- margin-right: 10px;
|
|
|
- }
|
|
|
- .zap-scanning__text{
|
|
|
- color: #333333;
|
|
|
- }
|
|
|
- .zap-scanning__color{
|
|
|
- color: #23b24b;
|
|
|
- }
|
|
|
- .el-tabs__header{
|
|
|
- margin-bottom: 38px;
|
|
|
- }
|
|
|
- .el-dialog:not(.is-fullscreen){
|
|
|
- margin-top: 25vh !important;
|
|
|
- }
|
|
|
-}
|
|
|
+ @import "~@/assets/styles/login.scss";
|
|
|
</style>
|