|
|
@@ -1,54 +1,66 @@
|
|
|
<template>
|
|
|
<div class="login-container">
|
|
|
- <el-row>
|
|
|
- <el-col :lg="14" :md="11" :sm="24" :xl="14" :xs="24">
|
|
|
- <div style="color: transparent">占位符</div>
|
|
|
- </el-col>
|
|
|
- <el-col :lg="9" :md="12" :sm="24" :xl="9" :xs="24">
|
|
|
- <el-form ref="form" class="login-form" label-position="left" :model="form" :rules="rules">
|
|
|
- <div class="title">hello !</div>
|
|
|
- <div class="title-tips">{{ translateTitle('欢迎来到') }}{{ title }}!</div>
|
|
|
- <el-form-item prop="username" style="margin-top: 40px">
|
|
|
- <el-input
|
|
|
- v-model.trim="form.username"
|
|
|
- v-focus
|
|
|
- :placeholder="translateTitle('请输入用户名')"
|
|
|
- tabindex="1"
|
|
|
- type="text">
|
|
|
- <template #prefix>
|
|
|
- <vab-icon icon="user-line" />
|
|
|
- </template>
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item prop="password">
|
|
|
- <el-input
|
|
|
- :key="passwordType"
|
|
|
- ref="password"
|
|
|
- v-model.trim="form.password"
|
|
|
- :placeholder="translateTitle('请输入密码')"
|
|
|
- tabindex="2"
|
|
|
- :type="passwordType"
|
|
|
- @keyup.enter.native="handleLogin">
|
|
|
- <template #prefix>
|
|
|
- <vab-icon icon="lock-line" />
|
|
|
- </template>
|
|
|
- <template v-if="passwordType === 'password'" #suffix>
|
|
|
- <vab-icon class="show-password" icon="eye-off-line" @click="handlePassword" />
|
|
|
- </template>
|
|
|
- <template v-else #suffix>
|
|
|
- <vab-icon class="show-password" icon="eye-line" @click="handlePassword" />
|
|
|
- </template>
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-button class="login-btn" :loading="loading" type="primary" @click="handleLogin">
|
|
|
- {{ translateTitle('登录') }}
|
|
|
- </el-button>
|
|
|
- </el-form>
|
|
|
- </el-col>
|
|
|
- <el-col :lg="1" :md="1" :sm="24" :xl="1" :xs="24">
|
|
|
- <div style="color: transparent">占位符</div>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
+ <header>
|
|
|
+ <div class="container">
|
|
|
+ <img alt="" :src="require('@/assets/login_images/login_top.png')" />
|
|
|
+ </div>
|
|
|
+ </header>
|
|
|
+ <div class="content">
|
|
|
+ <div class="container">
|
|
|
+ <div class="login">
|
|
|
+ <div class="left"></div>
|
|
|
+ <el-form ref="form" class="login-form" label-position="left" :model="form" :rules="rules">
|
|
|
+ <div class="title">{{ translateTitle('登录') }}</div>
|
|
|
+ <!-- <div class="title-tips">{{ translateTitle('欢迎来到') }}{{ title }}!</div> -->
|
|
|
+ <el-form-item prop="username" style="margin-top: 40px">
|
|
|
+ <el-input
|
|
|
+ v-model.trim="form.username"
|
|
|
+ v-focus
|
|
|
+ :placeholder="translateTitle('请输入用户名')"
|
|
|
+ tabindex="1"
|
|
|
+ type="text">
|
|
|
+ <template #prefix>
|
|
|
+ <vab-icon icon="user-line" />
|
|
|
+ </template>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="password">
|
|
|
+ <el-input
|
|
|
+ :key="passwordType"
|
|
|
+ ref="password"
|
|
|
+ v-model.trim="form.password"
|
|
|
+ :placeholder="translateTitle('请输入密码')"
|
|
|
+ tabindex="2"
|
|
|
+ :type="passwordType"
|
|
|
+ @keyup.enter.native="handleLogin">
|
|
|
+ <template #prefix>
|
|
|
+ <vab-icon icon="lock-line" />
|
|
|
+ </template>
|
|
|
+ <template v-if="passwordType === 'password'" #suffix>
|
|
|
+ <vab-icon class="show-password" icon="eye-off-line" @click="handlePassword" />
|
|
|
+ </template>
|
|
|
+ <template v-else #suffix>
|
|
|
+ <vab-icon class="show-password" icon="eye-line" @click="handlePassword" />
|
|
|
+ </template>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-button class="login-btn" :loading="loading" type="primary" @click="handleLogin">
|
|
|
+ {{ translateTitle('登录') }}
|
|
|
+ </el-button>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <footer>
|
|
|
+ <div class="container">
|
|
|
+ <img alt="" :src="require('@/assets/login_images/login_bottom.png')" />
|
|
|
+ <div class="links">
|
|
|
+ <a class="pd" href="http://www.dashoo.cn" target="_blank">关于大数华创</a>
|
|
|
+ <router-link class="pd" target="_blank" :to="{ path: '/disclaimer' }">免责声明</router-link>
|
|
|
+ <router-link class="pd" target="_blank" :to="{ path: '/policy' }">隐私政策</router-link>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </footer>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
@@ -165,23 +177,76 @@
|
|
|
<style lang="scss" scoped>
|
|
|
.login-container {
|
|
|
height: 100vh;
|
|
|
- background: url('~@/assets/login_images/background.jpeg') center center fixed no-repeat;
|
|
|
background-size: cover;
|
|
|
+ .container {
|
|
|
+ width: 1160px;
|
|
|
+ height: 100%;
|
|
|
+ margin: 0 auto;
|
|
|
+ }
|
|
|
+ header {
|
|
|
+ height: 100px;
|
|
|
+ background: #fff;
|
|
|
+ .container {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ footer {
|
|
|
+ height: 130px;
|
|
|
+ background: #fff;
|
|
|
+ .container {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ .links a {
|
|
|
+ color: #6e717c;
|
|
|
+ font-size: 18px;
|
|
|
+ letter-spacing: 1px;
|
|
|
+ padding-left: 10px;
|
|
|
+ & + a {
|
|
|
+ margin-left: 10px;
|
|
|
+ border-left: 1px solid #6e717c;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .content {
|
|
|
+ display: flex;
|
|
|
+ height: calc(100% - 230px);
|
|
|
+ background: url('~@/assets/login_images/login_bgd.png') center center fixed no-repeat;
|
|
|
+ background-size: cover;
|
|
|
+ .container {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ }
|
|
|
+ .login {
|
|
|
+ width: 100%;
|
|
|
+ height: 580px;
|
|
|
+ display: flex;
|
|
|
+ border-radius: 32px;
|
|
|
+ overflow: hidden;
|
|
|
+ background: #fff;
|
|
|
+ box-shadow: 0px 3px 20px 1px rgba(0, 0, 0, 0.16);
|
|
|
+ }
|
|
|
+ .left {
|
|
|
+ width: 60%;
|
|
|
+ height: 100%;
|
|
|
+ background: url('~@/assets/login_images/login.png') center center no-repeat;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
.login-form {
|
|
|
- position: relative;
|
|
|
- max-width: 100%;
|
|
|
- padding: 7.5vh 10.5vh 12.5vh 10.5vh;
|
|
|
- margin: calc((100vh - 475px) / 2) 5vw 5vw;
|
|
|
- overflow: hidden;
|
|
|
- background: url('~@/assets/login_images/login_form.png');
|
|
|
- background-size: 100% 100%;
|
|
|
+ width: 40%;
|
|
|
+ padding: 60px;
|
|
|
+ background: #ecf0f6;
|
|
|
|
|
|
.title {
|
|
|
- font-size: 44px;
|
|
|
- font-weight: 500;
|
|
|
+ font-size: 32px;
|
|
|
+ font-weight: bold;
|
|
|
color: $base-color-black;
|
|
|
+ text-align: center;
|
|
|
+ margin-bottom: 80px;
|
|
|
}
|
|
|
|
|
|
.title-tips {
|
|
|
@@ -193,9 +258,9 @@
|
|
|
|
|
|
.login-btn {
|
|
|
display: inherit;
|
|
|
- width: 220px;
|
|
|
+ width: 100%;
|
|
|
height: 50px;
|
|
|
- margin-top: 5px;
|
|
|
+ margin-top: 50px;
|
|
|
border: 0;
|
|
|
border-radius: 99px;
|
|
|
|
|
|
@@ -295,7 +360,6 @@
|
|
|
padding-left: 35px;
|
|
|
font-size: $base-font-size-default;
|
|
|
line-height: 58px;
|
|
|
- background: #f6f4fc;
|
|
|
border: 0;
|
|
|
}
|
|
|
}
|