| | |
| | | style="color: rgb(54,124,248);">{{ $t('hj15') }}</span> </div> |
| | | </div> |
| | | <el-alert v-show="alertShow" :closable="closable" :title="texts" :type="eltype" center></el-alert> --> |
| | | <div class="header"> |
| | | <div class="bock" @click="$router.go(-1)"></div> |
| | | </div> |
| | | <div class="logo"> |
| | | </div> |
| | | <div class="formInt"> |
| | | <div class="formDemo"> |
| | | <span></span> |
| | | <input :placeholder="$t('jy311')" v-model="userName"/> |
| | | <div class="login_content"> |
| | | <!-- Logo区域 --> |
| | | <div class="logo_container"> |
| | | <img :src="Logo" alt="logo" class="logo_icon" /> |
| | | </div> |
| | | <div class="formDemos"> |
| | | <span class="pwdIcon"></span> |
| | | <input type="password" :placeholder="$t('hj30')" v-model="userPassword" @input="handleInput()"/> |
| | | |
| | | <!-- 输入框区域 --> |
| | | <div class="input_container"> |
| | | <div class="input_group"> |
| | | <label class="input_label">{{ $t('login_phoneNumber') }}</label> |
| | | <div class="input_wrapper"> |
| | | <input |
| | | class="input_field" |
| | | type="tel" |
| | | :placeholder="$t('jy311')" |
| | | v-model="userName" |
| | | maxlength="11" |
| | | /> |
| | | <span v-if="userName" class="clear_icon" @click="userName = ''">×</span> |
| | | </div> |
| | | </div> |
| | | <div class="input_group"> |
| | | <label class="input_label">{{ $t('login_loginPassword') }}</label> |
| | | <div class="input_wrapper"> |
| | | <input |
| | | class="input_field password_input" |
| | | :type="showPassword ? 'text' : 'password'" |
| | | :placeholder="$t('hj30')" |
| | | v-model="userPassword" |
| | | @input="handleInput()" |
| | | /> |
| | | <span |
| | | class="password_toggle" |
| | | @click="togglePassword" |
| | | :class="showPassword ? 'icon_eye_open' : 'icon_eye_close'" |
| | | ></span> |
| | | <span v-if="userPassword" class="clear_icon" @click="userPassword = ''">×</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 用户协议复选框 --> |
| | | <div class="agreement_container"> |
| | | <input |
| | | type="checkbox" |
| | | id="agreement" |
| | | v-model="agreedToTerms" |
| | | class="agreement_checkbox" |
| | | /> |
| | | <label for="agreement" class="agreement_label"> |
| | | {{ $t('login_agreeToTerms') }}<span class="agreement_link" @click.stop="viewAgreement">《{{ $t('login_userAgreement') }}》</span> |
| | | </label> |
| | | </div> |
| | | |
| | | <!-- 按钮区域 --> |
| | | <div class="button_container"> |
| | | <div @click="loginIN" v-loading="loginBtn" class="login_btn">{{ $t('hj24') }}</div> |
| | | <div @click="$router.push('/register')" class="register_btn">{{ $t('login_openAccountRegister') }}</div> |
| | | </div> |
| | | </div> |
| | | <div class="djzc" @click="$router.push('/register')">{{ $t('jy310') }}</div> |
| | | <div @click="loginIN" v-loading="loginBtn" class="loginBtn">{{ $t('hj24') }}</div> |
| | | |
| | | <el-alert v-show="alertShow" :closable="closable" :title="texts" :type="eltype" center></el-alert> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import { Toast } from 'mint-ui' |
| | | import headers from "./components/header.vue"; |
| | | import Logo from "@/assets/img/LOGO2.png"; |
| | | import Logo from "@/assets/imgRed/logo.png"; |
| | | import * as api from '@/axios/api'; |
| | | |
| | | export default { |
| | |
| | | docmHeight: document.documentElement.clientHeight, //默认屏幕高度 |
| | | showHeight: document.documentElement.clientHeight, //实时屏幕高度 |
| | | hideshow: true, //显示或者隐藏footer |
| | | showPassword: false, // 密码显示/隐藏 |
| | | agreedToTerms: false, // 是否同意用户协议 |
| | | }; |
| | | }, |
| | | components: { |
| | |
| | | this.btnClass = false; |
| | | } |
| | | }, |
| | | togglePassword() { |
| | | this.showPassword = !this.showPassword; |
| | | }, |
| | | viewAgreement() { |
| | | // 跳转到用户协议页面 |
| | | this.$router.push('/about?e=2'); |
| | | }, |
| | | async loginIN() { |
| | | |
| | | if (!this.agreedToTerms) { |
| | | Toast(this.$t('login_pleaseAgreeToTerms')); |
| | | return; |
| | | } |
| | | this.dengl = true |
| | | setTimeout(() => { |
| | | this.dengl = false |
| | |
| | | <style scoped lang="less"> |
| | | .login_page { |
| | | position: relative; |
| | | background-color: #fff !important; |
| | | background: url('~@/assets/imgRed/14.png') no-repeat center center; |
| | | background-size: cover; |
| | | width: 100%; |
| | | height: 100%; |
| | | overflow: hidden; |
| | | min-height: 100vh; |
| | | display: flex; |
| | | // align-items: center; |
| | | justify-content: center; |
| | | // padding: 1rem; |
| | | overflow-y: auto; |
| | | } |
| | | |
| | | .login_content { |
| | | margin-top: 50px; |
| | | width: 100%; |
| | | max-width: 8.5rem; |
| | | max-height: 61vh; |
| | | border-radius: 0.4rem; |
| | | padding: .375rem; |
| | | background-color: rgba(255, 255, 255, .5); |
| | | box-shadow: 0 0.1rem 0.3rem rgba(0, 0, 0, 0.1); |
| | | } |
| | | |
| | | // Logo区域 |
| | | .logo_container { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .logo_icon { |
| | | height: 3rem; |
| | | object-fit: contain; |
| | | display: block; |
| | | } |
| | | |
| | | .logo_text { |
| | | display: flex; |
| | | flex-direction: column; |
| | | } |
| | | |
| | | .logo_title { |
| | | font-size: 0.7rem; |
| | | font-weight: 600; |
| | | color: #000; |
| | | line-height: 1.2; |
| | | } |
| | | |
| | | .logo_subtitle { |
| | | font-size: 0.28rem; |
| | | color: #666; |
| | | letter-spacing: 0.05rem; |
| | | margin-top: 0.1rem; |
| | | } |
| | | |
| | | // 输入框区域 |
| | | .input_container { |
| | | width: 100%; |
| | | margin-bottom: 0.8rem; |
| | | } |
| | | |
| | | .input_group { |
| | | margin-bottom: 0.6rem; |
| | | } |
| | | |
| | | .input_label { |
| | | display: block; |
| | | font-size: 0.32rem; |
| | | color: #000; |
| | | margin-bottom: 0.25rem; |
| | | font-weight: 500; |
| | | } |
| | | |
| | | .input_wrapper { |
| | | position: relative; |
| | | width: 100%; |
| | | } |
| | | |
| | | .input_field { |
| | | width: 100%; |
| | | height: 1rem; |
| | | background: #fff; |
| | | border: 1px solid #e0e0e0; |
| | | border-radius: 0.15rem; |
| | | padding: 0 0.3rem; |
| | | padding-right: 0.7rem; |
| | | font-size: 0.32rem; |
| | | color: #000; |
| | | box-sizing: border-box; |
| | | |
| | | &::placeholder { |
| | | color: #999; |
| | | font-size: 0.32rem; |
| | | } |
| | | |
| | | &:focus { |
| | | outline: none; |
| | | border-color: #2567ff; |
| | | } |
| | | } |
| | | |
| | | .password_input { |
| | | padding-right: 1.4rem; |
| | | } |
| | | |
| | | .clear_icon { |
| | | position: absolute; |
| | | right: 0.3rem; |
| | | top: 50%; |
| | | transform: translateY(-50%); |
| | | width: 0.35rem; |
| | | height: 0.35rem; |
| | | line-height: 0.35rem; |
| | | text-align: center; |
| | | color: #999; |
| | | font-size: 0.4rem; |
| | | cursor: pointer; |
| | | background: #f5f5f5; |
| | | border-radius: 50%; |
| | | |
| | | &:hover { |
| | | background: #e0e0e0; |
| | | } |
| | | } |
| | | |
| | | .password_toggle { |
| | | position: absolute; |
| | | right: 0.3rem; |
| | | top: 50%; |
| | | transform: translateY(-50%); |
| | | width: 0.4rem; |
| | | height: 0.4rem; |
| | | cursor: pointer; |
| | | background-size: contain; |
| | | background-repeat: no-repeat; |
| | | background-position: center; |
| | | z-index: 1; |
| | | } |
| | | |
| | | .password_wrapper .clear_icon { |
| | | right: 0.75rem; |
| | | } |
| | | |
| | | .icon_eye_close { |
| | | background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24'%3E%3C/path%3E%3Cline x1='1' y1='1' x2='23' y2='23'%3E%3C/line%3E%3C/svg%3E"); |
| | | } |
| | | |
| | | .icon_eye_open { |
| | | background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'%3E%3C/path%3E%3Ccircle cx='12' cy='12' r='3'%3E%3C/circle%3E%3C/svg%3E"); |
| | | } |
| | | |
| | | // 用户协议区域 |
| | | .agreement_container { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 1rem; |
| | | } |
| | | |
| | | .agreement_checkbox { |
| | | width: 0.32rem; |
| | | height: 0.32rem; |
| | | margin-right: 0.25rem; |
| | | cursor: pointer; |
| | | appearance: none; |
| | | border: 2px solid #2567ff; |
| | | border-radius: 50%; |
| | | position: relative; |
| | | |
| | | &:checked { |
| | | background-color: #2567ff; |
| | | border-color: #2567ff; |
| | | |
| | | &::after { |
| | | content: ''; |
| | | position: absolute; |
| | | top: 50%; |
| | | left: 50%; |
| | | transform: translate(-50%, -50%); |
| | | width: 0.12rem; |
| | | height: 0.12rem; |
| | | background: #fff; |
| | | border-radius: 50%; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .agreement_label { |
| | | font-size: 0.28rem; |
| | | color: #000; |
| | | cursor: pointer; |
| | | user-select: none; |
| | | } |
| | | |
| | | .agreement_link { |
| | | color: #2567ff; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | // 按钮区域 |
| | | .button_container { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | gap: 0.5rem; |
| | | margin-top: 1rem; |
| | | } |
| | | |
| | | .login_btn { |
| | | width: 100%; |
| | | height: 1rem; |
| | | background: #e03936; |
| | | border-radius: 0.15rem; |
| | | color: #fff; |
| | | font-size: 0.36rem; |
| | | font-weight: 600; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | cursor: pointer; |
| | | transition: background 0.3s; |
| | | border: none; |
| | | |
| | | &:active { |
| | | background: #c62828; |
| | | } |
| | | } |
| | | |
| | | .register_btn { |
| | | width: 100%; |
| | | height: 1rem; |
| | | background: #2567ff; |
| | | border-radius: 0.15rem; |
| | | color: #fff; |
| | | font-size: 0.36rem; |
| | | font-weight: 600; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | cursor: pointer; |
| | | transition: background 0.3s; |
| | | border: none; |
| | | |
| | | &:active { |
| | | background: #1a56d9; |
| | | } |
| | | } |
| | | |
| | | .logins_content { |
| | |
| | | |
| | | /deep/.el-input__clear { |
| | | font-size: 0.5rem !important; |
| | | } |
| | | .header{ |
| | | height: 5.7rem; |
| | | width: 100%; |
| | | background: url('~@/assets/img/huxbj.8fe20e1f.png') no-repeat 50%; |
| | | background-size: 100%; |
| | | position: relative; |
| | | } |
| | | .bock{ |
| | | position: absolute; |
| | | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAgCAYAAAAffCjxAAAAAXNSR0IArs4c6QAAAVdJREFUSEut1usqBVEYxvH/c1MuRJJDkhwTEpIkJUlyCEk++CJJckpycw49Gs3Wa+y9Z82ePd/Xr5n38KwRNR7bE0APMK1OHdtTwAWQGZcdQbZngPMc+QImK0O2Z4GzgIxLuqoE2Z4DTgMyJuk6K08yZHseOAnIqKSbRo2TINsLwHFARiTdxkaVQrYXgaOADEu6K3a7LWR7CTjMD2XdaYq0rZHtFWA/Rz6BIUn3reau6RvZXgX28kMfOfLQbnj/QbbXgN380HuOPJZtwB/I9jqwE5ABSc9lyJ8a2d4AtgPSL+klBfmFbG8CWwHpk/SaivxAtjMgg7Inq0mvpLcqSHehTOvKpzU+oSvFDlj99gesOJCDkp7Kip+yIknT3XL7C0tbum9lMbIMHKQkQEqwJWVSKZTPWTElq0dt6GYxt6uHf8DqX0cBq39BBqz+lR2w+j8RAfv9rfkGqF24CUdT9E4AAAAASUVORK5CYII=) no-repeat 50%; |
| | | background-size: 100%; |
| | | width: 0.23rem; |
| | | height: 0.41rem; |
| | | left: 0.38461rem; |
| | | top: 0.38461rem; |
| | | } |
| | | .logo{ |
| | | width: 2.03rem; |
| | | height: 2.03rem; |
| | | background: url('~@/assets/imgRed/logo.png') no-repeat 50%; |
| | | background-size: 100%; |
| | | margin: 0 auto; |
| | | border-radius: 50%; |
| | | margin-top: -1.0153rem; |
| | | position: relative; |
| | | } |
| | | .formInt{ |
| | | width: 8.63rem; |
| | | margin: 0 auto; |
| | | margin-top: 1rem; |
| | | } |
| | | .formDemo{ |
| | | display: flex; |
| | | height: 1.26923rem; |
| | | width: 8.63rem; |
| | | background: #f5f5f5; |
| | | border-radius: 0.126923rem; |
| | | position: relative; |
| | | margin-bottom: 0.253846rem; |
| | | } |
| | | .formDemo span{ |
| | | width: 0.406rem; |
| | | height: 0.406rem; |
| | | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAEAklEQVRYhbWXXWgcVRTHf2dmk1jjS4QK9qEKKamFYrDgixUfShKUipYiRgRL6iZtRUSpJpsvRCFN3V0CihY02fTDFmmKeVBTkIjBmvSh2Ddb1GLRllDMuxHzMXPkzkcy2WayOzb9s7Azd845//8998y5d4QE+PiUpubmeQHYi/A4yiaFeWAa4WdVRquqGH1znyyWG7VsAflB3S1CHtjmean3WxFF/ctfXKU90ybny4lrlTLY0TAhA0PaL8I3ZZCb/20ijOUKevTRpgslJ1jSID+onSIcXbJW/lYYVuUrV7lm26hCncAehTRwXyTykY609P5vAQNDukthHLAD8imF5vY2ubWafa6gm4ARhCeDIVWlMdMq38dxxC6BSb3CRxHyS7P/0hBHbtDRKrf+maMBuLQ0QeHD7U0/xk409kFuUBstYTwgn1tw2Np1SG7E2UfRP6gPpWx+U6gyw67S1NUq361mG5sBS3g+UnBflEtu0H1Abhif8F7huVie2CjCY2G1q1LWK1WEsYDcTGZHcgF+kwnFXE/K7irXI/4PJhag4ATOJgOJOmYgwAr9CWMlEQDMhLRiUZtUgG18lmXPJBcg/MRyh9uTVACmiAMofqxkAuDLSHttzg9rXbnc2ROe7Uuw1LJHEwtob5UpgctBgJQq5/oHtboUed+QVhtbz8cfutz1qkwlFmDguLzFcjHWp2wm88d1S5x99oRuSdlMAPUBuRPEiEXJ6s4V9B38bTjEvMJp4GsRfldfaK1leWv+ClAZvn6u0tmTluwdCfBmVtB2ET4wGdPIePGWHBlzA/Ko8FVR8jyQLehmEUxROWWSGziWxdYjx3VzqfhrZiBb0DeCs0B1DPlCcFURfe41L/9qVqGzZ798kkhAblgrgWNAKytndsVRzqoyYVn8cebcRa/BvLh35wMpm4cRdlkWLytsLxJaUHi9t0XmSwoIyM1G0hgJcg14+/ORyfNXx5/SYp8oHnn6ouxrfmK3wgBQF8mG2Y6fLRaxWg0UisiHLYv6TFrGSpEb/PrtTu3eL2PGB2E44tCocGrNDGQLmhbxBITk+UxaOkqRroW+k5ozfS0UotD2bosUbstA36e6UYRchPzM6ZHJzJ2QG/S2SEfQN8K4uZ6CbrxNQGUFh4H7A6Obiw6HrpSR8nKw6PCawk3PVKip8rmWBbx3TM3Z7WCkg3X3HJDZ9SA3eD8tsyZmZMEPZj7zOH0B997DMwo1Afl0VSUj60Ue4s8ZzqrLdHBbYziXBLjqV703YDFyOMG3Xbk42SmObfsTC86ZjUsCJDg0BhvLhfUmD+EqP4TLHHKGRVgbPrAsrt4tAY67Ira3rXsCFDb4sliwLf66WwIqUt7ZMNw/NgD8B2plfW1RGaDfAAAAAElFTkSuQmCC) no-repeat 50%; |
| | | background-size: 100%; |
| | | margin-top: 0.431rem; |
| | | margin-left: 0.25346rem; |
| | | } |
| | | .formDemos{ |
| | | display: flex; |
| | | height: 1.26923rem; |
| | | width: 8.63rem; |
| | | background: #f5f5f5; |
| | | border-radius: 0.126923rem; |
| | | position: relative; |
| | | } |
| | | .pwdIcon{ |
| | | width: 0.406rem; |
| | | height: 0.406rem; |
| | | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADMklEQVRYha2WXYhMYRjHf88xu2uJ5EZJWiFFkq8LJYRSvpILRMQ2NheIlWXJd5F2JKTY3Qi5FeFKiciNC+Vjb2R9XOyVVqHFzJ7z6Mx5j52ZPWfmHTP/5nSa877P8/+/z9c5Qploa9fxjrADWK4wEQH16EZ4qMqVlib5Uo7HsgS0tes+RzgF1Gtordlf6O2XwtGWpKSqLiDVoacFWgk4fyHcVY+XPrkIcxHWKNQbTWdaknKoagJSHbpS4L4hf66waf/2/FCf7cim5rbCfPNoVUtSHlQs4NINddJp3gBTXeV1IsG85kbpi9p77poOcz1eADMQumprmL5ni3jF/DulBKTTLPDJNTj9zjhyH/sapc/12GWONTWdydoWRUkBnrLQFFz3gSZ5Vmp/a7CnO7StWIBCg6n2d6X2/rNR3prOaKhYgONQa1rth60AhJ8E3VFbsYC8Pi8TNnY2KQhQ5sy0FR3p9my7LhwiJBUm41/CaIVegY8aY537XGECMBqhF3jvX65H5+GkPC0pINWpR1FO5J5cB6auDXn8unCsdZucjBWQ6tSVKPeNQQ/CY4W+CsmHAYsRxqpfT8Kqw9sGJmQi7/hKs3HyKlHDor1b5TtVQNtNHZnp54kKM4Fm4J8AJ5+fOeZ+oVrkPvZvke8eXDDRmZO7VtgFI0zOv1aLPETWZ+B7RLyAnIKrNkSiWzOvBkLyoq8vgyOXtW74UF4YtfMONkq6RAQGd1KhgHCDzRCpr2MMwiyC000CukrZRPktLEJrSE6eXI8htuSFHJGjWMooAtuIRZFHCyiTHEvBcSIHdUG55NnOsQhB3EstEbHXKqQZl2+1NfT65BmPTxYmkQcclALbfB5rkh/9LlNcZcrx7VLyYyXkLtqGcZUahyNJsZ+YMYOoMAK/jYBR1o4tkePzdzEB74zKddOWPavaRG5Y8VJEWB9y5K7lpcBVrjvCbMdh9eb18x/JBr3jKf3ZRVPtGsqSwSmL+mYQIeEpa4El/n9HuBYr4HOPXpkwTpYCa3wDTwOj/yXPDqn8xN/70MPViK0DOH9LE38y7FZImu/BxP+SG/gR/AC019Vw8eBGCSLqA/gLhUArt4NKdJwAAAAASUVORK5CYII=) no-repeat 50%; |
| | | background-size: 100%; |
| | | margin-top: 0.431rem; |
| | | margin-left: 0.25346rem; |
| | | } |
| | | .formDemos input{ |
| | | background: transparent; |
| | | height: 1.25rem; |
| | | width: 7rem; |
| | | font-size: .4rem; |
| | | color: #000; |
| | | margin-left: 0.25rem; |
| | | } |
| | | .formDemo input{ |
| | | background: transparent; |
| | | height: 1.25rem; |
| | | width: 7rem; |
| | | font-size: .4rem; |
| | | color: #000; |
| | | margin-left: 0.25rem; |
| | | } |
| | | |
| | | //input默认字样式 |
| | | ::-webkit-input-placeholder { |
| | | color: #999; |
| | | font-size: .4rem; |
| | | } |
| | | .djzc{ |
| | | width: 8.5rem; |
| | | margin: 0.45rem auto; |
| | | display: -webkit-box; |
| | | display: -ms-flexbox; |
| | | display: flex; |
| | | -webkit-box-pack: justify; |
| | | -ms-flex-pack: justify; |
| | | justify-content: flex-end; |
| | | font-size: .375rem; |
| | | color: #5d7dfb; |
| | | } |
| | | .loginBtn{ |
| | | width: 8.5rem; |
| | | height: 1.1rem; |
| | | background: linear-gradient(-55deg,rgb(241, 22, 20),rgb(240, 40, 37)); |
| | | border-radius: 0.125rem; |
| | | margin: 0 auto; |
| | | margin-top: 1rem; |
| | | color: #fff; |
| | | font-weight: 600; |
| | | font-size: .4rem; |
| | | text-align: center; |
| | | line-height: 1.125rem; |
| | | } |
| | | </style> |