|
|
@ -1,54 +1,46 @@ |
|
|
|
<template> |
|
|
|
<template> |
|
|
|
<div class="login"> |
|
|
|
<div class="login"> |
|
|
|
<div style="display:flex;justify-content:space-between;align-items: center;"> |
|
|
|
<div class="logo"> |
|
|
|
<!-- <div style="padding: 0 60px 0 0"> |
|
|
|
<img src="@/assets/images/logo.png" alt=""> |
|
|
|
<h3 style="color: #ffffff;font-size: 24px;padding: 0;margin-bottom: 10px"> |
|
|
|
</div> |
|
|
|
单商户B2C电商系统 |
|
|
|
<div class="form-box"> |
|
|
|
</h3> |
|
|
|
<div class="left"> |
|
|
|
<ul style="margin: 0;color: #ffffff;font-size: 15px;line-height: 25px;padding-left: 20px"> |
|
|
|
<img src="@/assets/images/form-bg.png"></img> |
|
|
|
<li>Springboot2</li> |
|
|
|
</div> |
|
|
|
<li>MybatisPlus</li> |
|
|
|
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" label-position="left" label-width="0px" class="login-form"> |
|
|
|
<li>SpringSecurity</li> |
|
|
|
<h3 class="title">后台管理系统</h3> |
|
|
|
<li>Jwt</li> |
|
|
|
<el-form-item prop="username"> |
|
|
|
<li>Redis</li> |
|
|
|
<el-input v-model="loginForm.username" size="medium" type="text" auto-complete="off" placeholder="账号" style="width: 62%"> |
|
|
|
<li>Vue</li> |
|
|
|
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" /> |
|
|
|
</ul> |
|
|
|
</el-input> |
|
|
|
<h3 style="color: #ffffff;"> |
|
|
|
</el-form-item> |
|
|
|
官网:https://www.yixiang.co |
|
|
|
<el-form-item prop="password"> |
|
|
|
</h3> |
|
|
|
<el-input v-model="loginForm.password" size="medium" type="password" auto-complete="off" placeholder="密码" style="width: 62%" @keyup.enter.native="handleLogin"> |
|
|
|
</div> --> |
|
|
|
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" /> |
|
|
|
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" label-position="left" label-width="0px" class="login-form"> |
|
|
|
</el-input> |
|
|
|
<h3 class="title"> |
|
|
|
</el-form-item> |
|
|
|
禅易云生态后台管理系统 |
|
|
|
<el-form-item prop="code"> |
|
|
|
</h3> |
|
|
|
<el-input v-model="loginForm.code" size="medium" auto-complete="off" placeholder="验证码" style="width: 62%" @keyup.enter.native="handleLogin"> |
|
|
|
<el-form-item prop="username"> |
|
|
|
<svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" /> |
|
|
|
<el-input v-model="loginForm.username" size="medium" type="text" auto-complete="off" placeholder="账号"> |
|
|
|
</el-input> |
|
|
|
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" /> |
|
|
|
<div class="login-code"> |
|
|
|
</el-input> |
|
|
|
<img :src="codeUrl" @click="getCode"> |
|
|
|
</el-form-item> |
|
|
|
</div> |
|
|
|
<el-form-item prop="password"> |
|
|
|
</el-form-item> |
|
|
|
<el-input v-model="loginForm.password" size="medium" type="password" auto-complete="off" placeholder="密码" @keyup.enter.native="handleLogin"> |
|
|
|
<el-checkbox v-model="loginForm.rememberMe" style="margin:0 0 25px 0;"> |
|
|
|
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" /> |
|
|
|
记住我 |
|
|
|
</el-input> |
|
|
|
</el-checkbox> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item style="width:100%;"> |
|
|
|
<el-form-item prop="code"> |
|
|
|
<el-button |
|
|
|
<el-input v-model="loginForm.code" size="medium" auto-complete="off" placeholder="验证码" style="width: 63%" @keyup.enter.native="handleLogin"> |
|
|
|
:loading="loading" |
|
|
|
<svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" /> |
|
|
|
size="medium" |
|
|
|
</el-input> |
|
|
|
style="width:62%;height:46px;background:#C25251;font-size:22px;color:#fff;border-color:#C25251;" |
|
|
|
<div class="login-code"> |
|
|
|
@click.native.prevent="handleLogin"> |
|
|
|
<img :src="codeUrl" @click="getCode"> |
|
|
|
<span v-if="!loading">登 录</span> |
|
|
|
</div> |
|
|
|
<span v-else>登 录 中...</span> |
|
|
|
</el-form-item> |
|
|
|
</el-button> |
|
|
|
<el-checkbox v-model="loginForm.rememberMe" style="margin:0 0 25px 0;"> |
|
|
|
</el-form-item> |
|
|
|
记住我 |
|
|
|
</el-form> |
|
|
|
</el-checkbox> |
|
|
|
|
|
|
|
<el-form-item style="width:100%;"> |
|
|
|
|
|
|
|
<el-button :loading="loading" size="medium" type="primary" style="width:100%;height:46px;border-radius:30px;font-size:22px;color:#fff;" @click.native.prevent="handleLogin"> |
|
|
|
|
|
|
|
<span v-if="!loading">登 录</span> |
|
|
|
|
|
|
|
<span v-else>登 录 中...</span> |
|
|
|
|
|
|
|
</el-button> |
|
|
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
</el-form> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<!-- 底部 --> |
|
|
|
<!-- 底部 --> |
|
|
|
<div v-if="$store.state.settings.showFooter" id="el-login-footer"> |
|
|
|
<div v-if="$store.state.settings.showFooter" id="el-login-footer"> |
|
|
@ -163,34 +155,66 @@ export default { |
|
|
|
.login { |
|
|
|
.login { |
|
|
|
width: 100%; |
|
|
|
width: 100%; |
|
|
|
height: 100%; |
|
|
|
height: 100%; |
|
|
|
background-image:url("../assets/images/bg.png"); |
|
|
|
background: #fff; |
|
|
|
background-size: cover; |
|
|
|
position: relative; |
|
|
|
|
|
|
|
.logo{ |
|
|
|
|
|
|
|
width: 256px; |
|
|
|
|
|
|
|
height: 256px; |
|
|
|
|
|
|
|
position: fixed; |
|
|
|
|
|
|
|
top: 0px; |
|
|
|
|
|
|
|
right: 60px; |
|
|
|
|
|
|
|
z-index: 3; |
|
|
|
|
|
|
|
img{ |
|
|
|
|
|
|
|
width: 100%; |
|
|
|
|
|
|
|
height: 100%; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
.title { |
|
|
|
.title { |
|
|
|
margin: 0 auto 30px auto; |
|
|
|
margin: 0 auto 30px auto; |
|
|
|
text-align: center; |
|
|
|
text-align: left; |
|
|
|
color: #707070; |
|
|
|
color: #707070; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.form-box{ |
|
|
|
.login-form { |
|
|
|
width: 1200px; |
|
|
|
border-radius: 6px; |
|
|
|
height: 700px; |
|
|
|
|
|
|
|
box-shadow: 0px 8px 13px rgba(0, 0, 0, 0.16);; |
|
|
|
|
|
|
|
border-radius: 20px; |
|
|
|
background: #ffffff; |
|
|
|
background: #ffffff; |
|
|
|
padding: 40px 70px; |
|
|
|
|
|
|
|
box-sizing: border-box; |
|
|
|
box-sizing: border-box; |
|
|
|
position: absolute; |
|
|
|
position: absolute; |
|
|
|
right: 10%; |
|
|
|
left: 50%; |
|
|
|
top: 50%; |
|
|
|
top: 50%; |
|
|
|
transform: translateY(-50%); |
|
|
|
transform: translate(-50%,-50%); |
|
|
|
.title{ |
|
|
|
display: flex; |
|
|
|
font-size: 28px; |
|
|
|
overflow: hidden; |
|
|
|
font-weight: 600; |
|
|
|
.left{ |
|
|
|
line-height: 48px; |
|
|
|
width: 600px; |
|
|
|
color: #068AD6; |
|
|
|
height: 100%; |
|
|
|
|
|
|
|
background: #C25251; |
|
|
|
|
|
|
|
display: flex; |
|
|
|
|
|
|
|
align-items: center; |
|
|
|
|
|
|
|
justify-content: center; |
|
|
|
|
|
|
|
img{ |
|
|
|
|
|
|
|
width: 474px; |
|
|
|
|
|
|
|
height: 290px; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
.input-icon{ |
|
|
|
.login-form { |
|
|
|
height: 39px;width: 14px;margin-left: 2px; |
|
|
|
width: 600px; |
|
|
|
|
|
|
|
padding: 124px 50px 0 130px; |
|
|
|
|
|
|
|
.title{ |
|
|
|
|
|
|
|
font-size: 28px; |
|
|
|
|
|
|
|
font-weight: 600; |
|
|
|
|
|
|
|
line-height: 48px; |
|
|
|
|
|
|
|
color: #C25251; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.input-icon{ |
|
|
|
|
|
|
|
height: 39px;width: 14px;margin-left: 2px; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.login-tip { |
|
|
|
.login-tip { |
|
|
|
font-size: 13px; |
|
|
|
font-size: 13px; |
|
|
|
text-align: center; |
|
|
|
text-align: center; |
|
|
|