|
@@ -1,158 +1,132 @@
|
|
<template>
|
|
<template>
|
|
- <div class="backdrop">
|
|
|
|
- <el-container class="zap-login">
|
|
|
|
- <!-- logo -->
|
|
|
|
- <img class="zap-logo" src="../assets/images/login/login_logo.png" alt="">
|
|
|
|
- <el-main>
|
|
|
|
- <!-- 中间部分 -->
|
|
|
|
- <el-row class="login">
|
|
|
|
- <el-col :span="13">
|
|
|
|
- <el-row class="login-media">
|
|
|
|
- <img class="login-name" src="../assets/images/login/login_name.png" alt="">
|
|
|
|
- <img class="login-text" src="../assets/images/login/login_text.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">
|
|
|
|
- <div class="zap-2dcode__text">
|
|
|
|
- <img src="../assets/images/login/login_scantext.png" alt="">
|
|
|
|
- <span>扫码登录更安全</span>
|
|
|
|
- </div>
|
|
|
|
- <img class="zap-2dcode__img" src="../assets/images/login/login_scancode.png" 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">
|
|
|
|
- <el-input v-model="loginForm.phone" type="text" auto-complete="off" placeholder="手机号">
|
|
|
|
- <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
|
|
|
|
- </el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item prop="cade">
|
|
|
|
- <el-input v-model="loginForm.shortMessageCode" type="text" maxlength="" auto-complete="off" placeholder="请输入验证码" class="login-code-msg" id="">
|
|
|
|
- <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%;">
|
|
|
|
- <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>
|
|
|
|
- <div class="zap-agreement">
|
|
|
|
- <span class="zap-agreement__text">登录视为同意并遵守</span>
|
|
|
|
- <div class="zap-agreement__link">
|
|
|
|
- <span>《招采云链服务平台会员注册协议》</span>
|
|
|
|
- <span>《招采云链服务平台隐私政策》</span>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-tab-pane>
|
|
|
|
- <el-tab-pane label="密码登录" name="login_password">
|
|
|
|
- <el-form-item prop="username">
|
|
|
|
- <el-input v-model="loginForm.username" type="text" auto-complete="off" placeholder="账号">
|
|
|
|
- <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
|
|
|
|
- </el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item prop="password">
|
|
|
|
- <el-input v-model="loginForm.password" type="password" auto-complete="off" placeholder="密码" @keyup.enter.native="handleLogin">
|
|
|
|
- <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
|
|
|
|
- </el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item prop="code">
|
|
|
|
- <el-input v-model="loginForm.code" auto-complete="off" placeholder="验证码" @keyup.enter.native="handleLogin">
|
|
|
|
- <svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
|
|
|
|
- </el-input>
|
|
|
|
- <div class="login-code">
|
|
|
|
- <img :src="codeUrl" @click="getCode" class="login-code-img" />
|
|
|
|
- </div>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item style="width:100%;margin-bottom: 0;" >
|
|
|
|
- <el-row type="flex" justify="space-between" style="width: 100%;">
|
|
|
|
- <el-checkbox v-model="loginForm.rememberMe">自动登录</el-checkbox>
|
|
|
|
- <el-link href="/forgetUser" style="color: #389cf4;">忘记密码?</el-link>
|
|
|
|
- </el-row>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item style="width:100%;">
|
|
|
|
- <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-link style="margin-right:50px; font-size: 16px;margin-bottom: 30px;color: #389cf4;" href="/registerUser">还没账号?立即注册</el-link>
|
|
|
|
- <el-form-item>
|
|
|
|
- <div class="zap-agreement">
|
|
|
|
- <span class="zap-agreement__text">登录视为同意并遵守</span>
|
|
|
|
- <div class="zap-agreement__link">
|
|
|
|
- <span>《招采云链服务平台会员注册协议》</span>
|
|
|
|
- <span>《招采云链服务平台隐私政策》</span>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </el-form-item>
|
|
|
|
- <!-- <el-divider class="divider_left"><span style="font-size:10px;word-break: keep-all;">第三方快捷登录</span></el-divider>
|
|
|
|
- <el-form-item style="width:100%;">
|
|
|
|
- <img :src="wxSrc" @mouseover="changeImg" @mouseleave="returnImg" @click="getWeChatImg" style="width:30px;margin-left: 77px;">
|
|
|
|
- </el-form-item> -->
|
|
|
|
- </el-tab-pane>
|
|
|
|
- </el-tabs>
|
|
|
|
- </template>
|
|
|
|
- <!-- 手机扫码 -->
|
|
|
|
- <div v-else class="zap-scanning">
|
|
|
|
- <div class="zap-2dcode">
|
|
|
|
- <img class="zap-2dcode__img" src="../assets/images/code1_3.gif" alt="" @click="scanningLogin=false">
|
|
|
|
- </div>
|
|
|
|
- <div class="zap-scanning__title">手机扫码</div>
|
|
|
|
- <!-- <img class="zap-scanning__img" :src="wxSrc" alt=""> -->
|
|
|
|
- <div class="zap-scanning__content">
|
|
|
|
- <wxlogin :appid="wx_appid" :scope="wx_scope" :redirect_uri="wx_redirect_uri"></wxlogin>
|
|
|
|
|
|
+ <login-content>
|
|
|
|
+ <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
|
|
|
|
+ <template v-if="!scanningLogin">
|
|
|
|
+ <div class="zap-2dcode">
|
|
|
|
+ <div class="zap-2dcode__text">
|
|
|
|
+ <img src="../assets/images/login/login_scantext.png" alt="">
|
|
|
|
+ <span>扫码登录更安全</span>
|
|
|
|
+ </div>
|
|
|
|
+ <img class="zap-2dcode__img" src="../assets/images/login/login_scancode.png" 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">
|
|
|
|
+ <el-input v-model="loginForm.phone" type="text" auto-complete="off" placeholder="手机号">
|
|
|
|
+ <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
|
|
|
|
+ </el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item prop="cade">
|
|
|
|
+ <el-input v-model="loginForm.shortMessageCode" type="text" maxlength="" auto-complete="off" placeholder="请输入验证码" class="login-code-msg" id="">
|
|
|
|
+ <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%;">
|
|
|
|
+ <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>
|
|
|
|
+ <div class="zap-agreement">
|
|
|
|
+ <span class="zap-agreement__text">登录视为同意并遵守</span>
|
|
|
|
+ <div class="zap-agreement__link">
|
|
|
|
+ <span>《招采云链服务平台会员注册协议》</span>
|
|
|
|
+ <span>《招采云链服务平台隐私政策》</span>
|
|
</div>
|
|
</div>
|
|
- <div class="zap-scanning__bottom">
|
|
|
|
- <img class="zap-scanning__icon" src="../assets/images/icon_scanning.png" alt="">
|
|
|
|
- <div class="zap-scanning__text">打开<span class="zap-scanning__color">微信</span>扫码登录</div>
|
|
|
|
|
|
+ </div>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-tab-pane>
|
|
|
|
+ <el-tab-pane label="密码登录" name="login_password">
|
|
|
|
+ <el-form-item prop="username">
|
|
|
|
+ <el-input v-model="loginForm.username" type="text" auto-complete="off" placeholder="账号">
|
|
|
|
+ <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
|
|
|
|
+ </el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item prop="password">
|
|
|
|
+ <el-input v-model="loginForm.password" type="password" auto-complete="off" placeholder="密码" @keyup.enter.native="handleLogin">
|
|
|
|
+ <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
|
|
|
|
+ </el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item prop="code">
|
|
|
|
+ <el-input v-model="loginForm.code" auto-complete="off" placeholder="验证码" @keyup.enter.native="handleLogin">
|
|
|
|
+ <svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
|
|
|
|
+ </el-input>
|
|
|
|
+ <div class="login-code">
|
|
|
|
+ <img :src="codeUrl" @click="getCode" class="login-code-img" />
|
|
|
|
+ </div>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item style="width:100%;margin-bottom: 0;" >
|
|
|
|
+ <el-row type="flex" justify="space-between" style="width: 100%;">
|
|
|
|
+ <el-checkbox v-model="loginForm.rememberMe">自动登录</el-checkbox>
|
|
|
|
+ <el-link href="/forgetUser" style="color: #389cf4;">忘记密码?</el-link>
|
|
|
|
+ </el-row>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item style="width:100%;">
|
|
|
|
+ <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-link style="margin-right:50px; font-size: 16px;margin-bottom: 30px;color: #389cf4;" href="/registerUser">还没账号?立即注册</el-link>
|
|
|
|
+ <el-form-item>
|
|
|
|
+ <div class="zap-agreement">
|
|
|
|
+ <span class="zap-agreement__text">登录视为同意并遵守</span>
|
|
|
|
+ <div class="zap-agreement__link">
|
|
|
|
+ <span>《招采云链服务平台会员注册协议》</span>
|
|
|
|
+ <span>《招采云链服务平台隐私政策》</span>
|
|
</div>
|
|
</div>
|
|
- <el-form-item>
|
|
|
|
- <div class="zap-agreement" style="padding-top: 32px;padding-left: 60px;">
|
|
|
|
- <span class="zap-agreement__text">登录视为同意并遵守</span>
|
|
|
|
- <div class="zap-agreement__link">
|
|
|
|
- <span>《招采云链服务平台会员注册协议》</span>
|
|
|
|
- <span>《招采云链服务平台隐私政策》</span>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </el-form-item>
|
|
|
|
</div>
|
|
</div>
|
|
- </el-form>
|
|
|
|
- </el-col>
|
|
|
|
- <!-- 底部 -->
|
|
|
|
- </el-row>
|
|
|
|
- <el-row class="login-footer">
|
|
|
|
- <span class="login-footer__text">联系方式:0531-00001234</span>
|
|
|
|
- <span class="login-footer__text">邮箱:zcyl@zcylian.com</span>
|
|
|
|
- <span class="login-footer__text">公安联网备案号:1234567</span>
|
|
|
|
- <span class="login-footer__text">Copyright@招采云链(山东)信息</span>
|
|
|
|
- </el-row>
|
|
|
|
- </el-main>
|
|
|
|
- <el-dialog
|
|
|
|
- title="选择企业"
|
|
|
|
- :visible.sync="dialogVisible"
|
|
|
|
- width="30%">
|
|
|
|
- <el-select v-model="chooseCompanyId" placeholder="请选择">
|
|
|
|
- <el-option
|
|
|
|
- v-for="item in companyList"
|
|
|
|
- :key="item.scyId"
|
|
|
|
- :label="item.scyName"
|
|
|
|
- :value="item.scyId">
|
|
|
|
- </el-option>
|
|
|
|
- </el-select>
|
|
|
|
- <span slot="footer" class="dialog-footer">
|
|
|
|
- <el-button type="primary" @click="chooseLogin()">确 定</el-button>
|
|
|
|
- </span>
|
|
|
|
- </el-dialog>
|
|
|
|
- </el-container>
|
|
|
|
-
|
|
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <!-- <el-divider class="divider_left"><span style="font-size:10px;word-break: keep-all;">第三方快捷登录</span></el-divider>
|
|
|
|
+ <el-form-item style="width:100%;">
|
|
|
|
+ <img :src="wxSrc" @mouseover="changeImg" @mouseleave="returnImg" @click="getWeChatImg" style="width:30px;margin-left: 77px;">
|
|
|
|
+ </el-form-item> -->
|
|
|
|
+ </el-tab-pane>
|
|
|
|
+ </el-tabs>
|
|
|
|
+ </template>
|
|
|
|
+ <!-- 手机扫码 -->
|
|
|
|
+ <div v-else class="zap-scanning">
|
|
|
|
+ <div class="zap-2dcode">
|
|
|
|
+ <img class="zap-2dcode__img" src="../assets/images/code1_3.gif" alt="" @click="scanningLogin=false">
|
|
|
|
+ </div>
|
|
|
|
+ <!-- <img class="zap-scanning__img" :src="wxSrc" alt=""> -->
|
|
|
|
+ <div class="zap-scanning__content">
|
|
|
|
+ <div class="zap-scanning__title">手机扫码</div>
|
|
|
|
+ <wxlogin :appid="wx_appid" :scope="wx_scope" :redirect_uri="wx_redirect_uri"></wxlogin>
|
|
|
|
+ <div class="zap-scanning__bottom">
|
|
|
|
+ <img class="zap-scanning__icon" src="../assets/images/icon_scanning.png" alt="">
|
|
|
|
+ <div class="zap-scanning__text">打开<span class="zap-scanning__color">微信</span>扫码登录</div>
|
|
|
|
+ </div>
|
|
|
|
+ <el-form-item>
|
|
|
|
+ <div class="zap-agreement" style="padding-top: 32px;">
|
|
|
|
+ <span class="zap-agreement__text">登录视为同意并遵守</span>
|
|
|
|
+ <div class="zap-agreement__link">
|
|
|
|
+ <span>《招采云链服务平台会员注册协议》</span>
|
|
|
|
+ <span>《招采云链服务平台隐私政策》</span>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </el-form>
|
|
|
|
+ <el-dialog
|
|
|
|
+ title="选择企业"
|
|
|
|
+ :visible.sync="dialogVisible"
|
|
|
|
+ width="30%">
|
|
|
|
+ <el-select v-model="chooseCompanyId" placeholder="请选择">
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in companyList"
|
|
|
|
+ :key="item.scyId"
|
|
|
|
+ :label="item.scyName"
|
|
|
|
+ :value="item.scyId">
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
|
+ <el-button type="primary" @click="chooseLogin()">确 定</el-button>
|
|
|
|
+ </span>
|
|
|
|
+ </el-dialog>
|
|
<!-- 密码登录验证码 -->
|
|
<!-- 密码登录验证码 -->
|
|
<el-dialog
|
|
<el-dialog
|
|
title="验证码"
|
|
title="验证码"
|
|
@@ -171,7 +145,7 @@
|
|
<el-button type="primary" @click="handleImgCodeSubmit">确 定</el-button>
|
|
<el-button type="primary" @click="handleImgCodeSubmit">确 定</el-button>
|
|
</span>
|
|
</span>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
- </div>
|
|
|
|
|
|
+ </login-content>
|
|
</template>
|
|
</template>
|
|
<script>
|
|
<script>
|
|
import { getCodeImg, sendShortMessage, chooseCompanyLogin} from "@/api/login";
|
|
import { getCodeImg, sendShortMessage, chooseCompanyLogin} from "@/api/login";
|
|
@@ -179,9 +153,11 @@ import { wxImg, getWxParam } from "@/api/system/weChat";
|
|
import Cookies from "js-cookie";
|
|
import Cookies from "js-cookie";
|
|
import { encrypt, decrypt } from "@/utils/jsencrypt";
|
|
import { encrypt, decrypt } from "@/utils/jsencrypt";
|
|
import wxlogin from 'vue-wxlogin'
|
|
import wxlogin from 'vue-wxlogin'
|
|
|
|
+import LoginContent from "@/components/LoginContent/index.vue"
|
|
export default {
|
|
export default {
|
|
components: {
|
|
components: {
|
|
- wxlogin : wxlogin
|
|
|
|
|
|
+ wxlogin : wxlogin,
|
|
|
|
+ LoginContent: LoginContent
|
|
},
|
|
},
|
|
name: "Login",
|
|
name: "Login",
|
|
data() {
|
|
data() {
|
|
@@ -470,6 +446,4 @@ export default {
|
|
}
|
|
}
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|
|
-<style rel="stylesheet/scss" lang="scss">
|
|
|
|
- @import "~@/assets/styles/login.scss";
|
|
|
|
-</style>
|
|
|
|
|
|
+
|