|
@@ -34,19 +34,20 @@
|
|
|
<div
|
|
|
class="title-item"
|
|
|
:class="acitve == 'pas' ? 'acitve' : ''"
|
|
|
- @click="hanleTabs('pas')"
|
|
|
+ @click="hanleTabs('pas', 'account')"
|
|
|
>
|
|
|
密码登录
|
|
|
</div>
|
|
|
<div
|
|
|
class="title-item"
|
|
|
:class="acitve == 'wei' ? 'acitve' : ''"
|
|
|
- @click="hanleTabs('wei')"
|
|
|
+ @click="hanleTabs('wei', 'mobile')"
|
|
|
>
|
|
|
- 微信登录
|
|
|
+ 手机号登录
|
|
|
</div>
|
|
|
</div>
|
|
|
<transition name="slide">
|
|
|
+ <!-- 密码登录 -->
|
|
|
<div v-if="acitve == 'pas'">
|
|
|
<el-form-item prop="username" class="input-box">
|
|
|
<span class="svg-container">
|
|
@@ -152,20 +153,84 @@
|
|
|
>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div v-else class="wei">
|
|
|
- <div style="width: 250px; height: 250px">
|
|
|
- <!-- <el-image
|
|
|
- style="width: 250px; height: 250px"
|
|
|
- :src="require('@/assets/login/icon_001.png')"
|
|
|
- fit="contain "
|
|
|
- ></el-image> -->
|
|
|
+ <!-- 手机号登录 -->
|
|
|
+ <div v-else class="pas">
|
|
|
+ <el-form-item prop="username" class="input-box">
|
|
|
+ <span class="svg-container">
|
|
|
+ <el-image
|
|
|
+ style="width: 20px; height: 20px"
|
|
|
+ :src="require('@/assets/login/icon_001.png')"
|
|
|
+ fit="contain "
|
|
|
+ ></el-image>
|
|
|
+ </span>
|
|
|
+ <el-input
|
|
|
+ ref="username"
|
|
|
+ v-model="loginForm.username"
|
|
|
+ placeholder="请输入手机号"
|
|
|
+ name="username"
|
|
|
+ type="text"
|
|
|
+ tabindex="1"
|
|
|
+ auto-complete="on"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <div class="input-box">
|
|
|
+ <el-form-item prop="codeValue">
|
|
|
+ <span class="svg-container">
|
|
|
+ <el-image
|
|
|
+ style="width: 20px; height: 20px"
|
|
|
+ :src="require('@/assets/login/icon_003.png')"
|
|
|
+ fit="contain "
|
|
|
+ ></el-image>
|
|
|
+ </span>
|
|
|
+ <el-input
|
|
|
+ ref="codeValue"
|
|
|
+ v-model="loginForm.codeValue"
|
|
|
+ placeholder="请输入验证码"
|
|
|
+ name="codeValue"
|
|
|
+ type="text"
|
|
|
+ tabindex="3"
|
|
|
+ auto-complete="off"
|
|
|
+ @keyup.enter.native="handleLogin"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <div class="code" @click.stop="getCode">
|
|
|
+ <img
|
|
|
+ :src="'data:image/jpeg;base64,' + codeImage"
|
|
|
+ alt=""
|
|
|
+ />
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <div>
|
|
|
- <div class="wei-item-tip">使用手机微信扫码登录</div>
|
|
|
- <div class="wei-item-text">
|
|
|
- 网页版微信需要配合手机使用
|
|
|
+ <div class="input-box">
|
|
|
+ <el-form-item prop="smsCode">
|
|
|
+ <span class="svg-container">
|
|
|
+ <el-image
|
|
|
+ style="width: 20px; height: 20px"
|
|
|
+ :src="require('@/assets/login/icon_003.png')"
|
|
|
+ fit="contain "
|
|
|
+ ></el-image>
|
|
|
+ </span>
|
|
|
+ <el-input
|
|
|
+ ref="smsCode"
|
|
|
+ v-model="loginForm.smsCode"
|
|
|
+ placeholder="请输入短信验证码"
|
|
|
+ name="smsCode"
|
|
|
+ type="text"
|
|
|
+ tabindex="3"
|
|
|
+ auto-complete="off"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <div class="code2" @click.stop="getSmsCode">
|
|
|
+ <el-button>获取验证码</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <div class="button-container">
|
|
|
+ <el-button
|
|
|
+ :loading="loading"
|
|
|
+ type="primary"
|
|
|
+ @click.native.prevent="handleLogin"
|
|
|
+ >登录</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</transition>
|
|
|
</div>
|
|
@@ -201,7 +266,12 @@
|
|
|
<script>
|
|
|
import { validUsername } from "@/utils/validate";
|
|
|
import Cookies from "js-cookie";
|
|
|
-import { getCode, getCompanyList, getList } from "@/api/user";
|
|
|
+import {
|
|
|
+ getCode,
|
|
|
+ getCompanyList,
|
|
|
+ getList,
|
|
|
+ getAdminUserSmsCode,
|
|
|
+} from "@/api/user";
|
|
|
|
|
|
export default {
|
|
|
name: "Login",
|
|
@@ -233,6 +303,8 @@ export default {
|
|
|
password: "",
|
|
|
code: "",
|
|
|
codeValue: "",
|
|
|
+ smsCode: "",
|
|
|
+ loginType: "account",
|
|
|
},
|
|
|
loginRules: {
|
|
|
username: [
|
|
@@ -279,6 +351,10 @@ export default {
|
|
|
this.getCompanyList();
|
|
|
},
|
|
|
methods: {
|
|
|
+ //获取短信验证码
|
|
|
+ async getSmsCode() {
|
|
|
+ await getAdminUserSmsCode({ mobile: this.loginForm.username });
|
|
|
+ },
|
|
|
// 获取验证码
|
|
|
getCode() {
|
|
|
getCode().then((res) => {
|
|
@@ -297,8 +373,9 @@ export default {
|
|
|
this.banner = res.data;
|
|
|
});
|
|
|
},
|
|
|
- hanleTabs(val) {
|
|
|
+ hanleTabs(val, type) {
|
|
|
this.acitve = val;
|
|
|
+ this.loginForm.loginType = type;
|
|
|
},
|
|
|
// 显示隐藏密码
|
|
|
showPwd() {
|
|
@@ -550,7 +627,7 @@ $light_gray: #eee;
|
|
|
align-items: center;
|
|
|
margin: 0 30px;
|
|
|
cursor: pointer;
|
|
|
- font-size: 24px;
|
|
|
+ font-size: 22px;
|
|
|
color: #666666;
|
|
|
line-height: 40px;
|
|
|
border-bottom: 3px solid #ffffff;
|
|
@@ -684,6 +761,14 @@ $light_gray: #eee;
|
|
|
height: 30px;
|
|
|
}
|
|
|
}
|
|
|
+ .code2 {
|
|
|
+ position: absolute;
|
|
|
+ right: 0;
|
|
|
+ top: -1px;
|
|
|
+ .el-button {
|
|
|
+ height: 50px;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
.button-container {
|
|
|
text-align: center;
|