22 changed files with 4071 additions and 1366 deletions
-
2chenhai-ui/public/index.html
-
BINchenhai-ui/public/sy.png
-
59chenhai-ui/src/api/login.js
-
8chenhai-ui/src/api/vet/info.js
-
12chenhai-ui/src/assets/styles/ruoyi.scss
-
8chenhai-ui/src/assets/styles/sidebar.scss
-
33chenhai-ui/src/assets/styles/variables.scss
-
2chenhai-ui/src/layout/components/Settings/index.vue
-
7chenhai-ui/src/layout/components/Sidebar/Logo.vue
-
6chenhai-ui/src/layout/components/TagsView/index.vue
-
6chenhai-ui/src/permission.js
-
26chenhai-ui/src/router/index.js
-
26chenhai-ui/src/store/modules/user.js
-
2152chenhai-ui/src/views/index.vue
-
1173chenhai-ui/src/views/indexGld.vue
-
814chenhai-ui/src/views/login.vue
-
584chenhai-ui/src/views/loginGld.vue
-
60chenhai-ui/src/views/muhu/ads/index.vue
-
77chenhai-ui/src/views/muhu/warning/index.vue
-
116chenhai-ui/src/views/vet/certificate/index.vue
-
156chenhai-ui/src/views/vet/info/index.vue
-
48chenhai-ui/src/views/vet/notification/index.vue
|
After Width: 200 | Height: 200 | Size: 8.9 KiB |
2152
chenhai-ui/src/views/index.vue
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1173
chenhai-ui/src/views/indexGld.vue
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,584 @@ |
|||
<template> |
|||
<div class="login"> |
|||
|
|||
<!-- 登录模块 --> |
|||
<div class="login-form"> |
|||
|
|||
<!-- 左侧登录部分 --> |
|||
<div class="login-left"> |
|||
<div class="left-content"> |
|||
<div> |
|||
<svg t="1767064507714" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4145" width="100" height="100"><path d="M446.464 684.544c-24.576 0-44.544-19.968-44.544-44.544V445.952c0-24.576 19.968-44.544 44.544-44.544 24.576 0 44.544 19.968 44.544 44.544V640c0 24.576-19.968 44.544-44.544 44.544z" p-id="4146" fill="#95DBD4"></path><path d="M305.152 543.232c0-24.576 19.968-44.544 44.544-44.544h194.048c24.576 0 44.544 19.968 44.544 44.544 0 24.576-19.968 44.544-44.544 44.544H349.696c-24.576 0.512-44.544-19.456-44.544-44.544z" p-id="4147" fill="#95DBD4"></path><path d="M1012.736 748.032v-1.536c-2.048-20.48-7.168-40.448-14.848-58.368-10.752-28.16-27.648-52.224-49.664-70.656-11.776-9.728-24.576-17.92-38.912-24.064-14.336-6.656-29.696-10.752-45.568-13.312-3.584-0.512-7.68-1.024-11.264-1.536-2.048 0-3.584-0.512-5.632-0.512-5.632-0.512-11.264-1.024-17.408-1.024-10.24 0-20.48 1.024-30.208 2.56-26.624 4.096-51.712 13.824-73.216 27.648-12.288 7.168-24.064 15.36-35.328 24.576-13.312 11.264-26.624 23.04-39.424 34.816-13.312 12.288-26.624 25.088-40.448 37.376-2.56 2.56-5.12 4.608-8.192 7.168-21.504 18.944-43.52 33.792-67.072 44.544-23.04 10.752-47.616 17.408-73.216 19.968-4.608 0.512-9.216 1.024-13.824 1.024-17.92 0.512-36.352-1.024-55.296-5.12-19.968-4.096-37.888-9.728-54.784-17.408-1.536-1.024-3.584-1.536-5.12-2.56-37.888-19.968-69.632-50.176-91.136-87.04-7.68-13.312-13.824-28.16-18.944-43.52-4.096-12.8-7.168-25.6-9.216-37.888-0.512-3.072-1.024-6.656-1.536-9.728-0.512-6.656-1.024-13.312-1.024-19.968 0-22.528 3.072-44.032 9.216-64.512 3.072-9.728 6.656-18.944 11.264-28.16 8.704-18.944 20.48-36.864 34.304-53.76 31.232-35.84 73.216-61.44 121.344-71.68 6.656-1.536 13.824-2.56 20.48-3.072 1.536 0 3.072-0.512 4.608-0.512 1.536 0 3.072-0.512 4.608-0.512 5.632-0.512 11.776-1.024 17.92-1.024 9.728 0 18.944 0.512 28.16 1.536 51.712 6.656 97.792 30.72 132.096 66.048 10.752 11.264 19.968 24.064 28.16 37.888 1.536 2.048 2.56 4.608 3.584 6.656 1.024 2.56 2.56 4.096 3.584 5.632l3.072 3.072c2.56 2.048 5.632 2.56 9.216 2.048 1.024 0 1.536-0.512 2.56-1.024 2.56-1.024 5.632-3.584 8.704-6.656 6.656-8.192 12.288-15.36 17.92-23.04 3.584-5.12 7.68-9.728 10.752-14.848 55.296-75.264 87.552-168.448 87.552-268.8 0-28.672-2.56-56.32-7.68-83.456-1.536-7.168-8.704-11.264-15.36-8.704-2.048 1.024-4.096 1.536-6.144 2.048-1.024 0.512-1.536 0.512-2.56 1.024-47.616 17.408-91.648 43.008-130.56 74.24-3.584 3.072-7.68 6.144-10.752 9.216-2.56 2.56-5.632 4.608-8.192 7.168-3.584 2.56-7.68 4.096-11.264 5.12-2.048 0.512-4.096 0.512-6.656 0.512-2.048 0-4.096 0-6.656-0.512-1.536-0.512-2.56-1.024-4.096-1.536h-0.512c-0.512 0-1.024-0.512-1.536-0.512-5.12-1.536-10.752-3.072-15.872-4.608-34.304-8.704-70.144-13.312-107.008-13.312-36.352 0-71.68 4.608-105.472 13.312-5.632 1.536-10.752 3.072-15.872 4.608-2.048-1.024-4.608 0-7.168 1.024-1.536 0-3.584 0.512-5.12 0.512-1.536 0-3.072 0-4.608-0.512-5.12-1.024-9.216-2.56-13.312-5.12l-0.512-0.512c-2.048-1.536-4.096-3.584-6.144-5.632-4.096-3.584-8.192-7.168-12.8-10.752-29.696-24.064-62.464-44.544-97.792-60.928-0.512-0.512-1.536-0.512-2.048-1.024-0.512 0-1.024-0.512-1.024-0.512-10.752-5.12-21.504-9.216-32.768-13.312-3.072-1.024-5.632-2.048-8.704-3.072-6.656-2.56-13.824 2.048-15.36 9.216-0.512 2.048-1.024 4.608-1.024 6.656 0 1.024-0.512 1.536-0.512 2.56-4.096 24.576-6.144 49.664-6.144 75.264 0 28.672 2.56 56.32 7.68 83.456 1.024 6.144 1.536 12.288 2.56 18.432 0.512 4.608 1.024 9.216 2.048 13.312 0.512 2.048 0.512 4.096 0.512 6.144 0.512 7.68-1.536 14.336-4.608 20.992C66.048 329.728 35.84 389.632 20.48 455.68c-2.048 8.704-3.584 17.408-5.12 26.112-3.072 18.944-5.12 37.888-5.632 57.344v12.288c0 136.704 64.512 258.56 164.352 336.896 72.704 56.832 164.352 90.624 263.68 90.624 90.624 0 174.592-28.16 243.2-76.288 1.024-0.512 2.048-1.536 3.072-2.048 5.632-4.096 11.264-8.192 16.896-12.8 16.384-13.312 32.256-27.136 47.104-43.008 6.656-6.656 13.824-13.312 20.48-19.968 1.536-1.536 3.072-3.072 4.608-4.096 5.12-5.12 9.728-9.728 14.848-14.336l19.968-18.432c16.384-14.848 33.28-26.624 51.2-34.816 24.064-10.752 50.176-16.384 78.336-16.384 25.6 0 49.664 5.12 71.68 13.824h1.024c1.024 0 1.536-0.512 2.56-1.024-0.512 0 0-0.512 0-1.536z" p-id="4148" fill="#95DBD4"></path></svg> |
|||
</div> |
|||
<div class="welcome-text">Welcome to log in</div> |
|||
<hr class="divider"> |
|||
<h3 class="title">"与牧同行"管理端</h3> |
|||
<div class="slogan"> |
|||
<div class="icon-info"> |
|||
<svg t="1767603518204" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="13872" width="20" height="20"><path d="M191.90624 190.952007l641.318274 0 0 448.933639L191.90624 639.885646 191.90624 190.952007 191.90624 190.952007zM868.691283 61.809741 156.493705 61.809741c-50.994418 0-92.339058 41.434691-92.339058 92.553952l0 520.745175c0 51.116191 41.336454 92.553952 92.339058 92.553952l223.89428 0 0 127.747499L222.537887 895.41032c-17.569144 0-31.81152 14.246469-31.81152 31.807427 0 17.569144 14.242376 31.815613 31.81152 31.815613L800.750915 959.033359c17.569144 0 31.815613-14.246469 31.815613-31.815613 0-17.560958-14.246469-31.807427-31.815613-31.807427L641.028167 895.41032 641.028167 767.663844l227.66414 0c50.998511 0 92.342128-41.437761 92.342128-92.553952L961.034435 154.363693C961.033411 103.252619 919.689794 61.809741 868.691283 61.809741L868.691283 61.809741zM898.61071 704.558597 127.961882 704.558597 127.961882 127.477346l770.647805 0L898.609687 704.558597 898.61071 704.558597zM898.61071 704.558597" fill="#CDCDCD" p-id="13873"></path></svg><path d="M384 768v42.666667h-42.325333C318.08 810.666667 298.666667 830.08 298.666667 853.674667c0 22.912 18.773333 42.325333 42.325333 42.325333h341.973333A42.666667 42.666667 0 0 0 725.333333 852.992 43.093333 43.093333 0 0 0 682.325333 810.666667H640v-42.666667h213.333333a85.333333 85.333333 0 0 0 85.333334-85.333333V213.333333a85.333333 85.333333 0 0 0-85.333334-85.333333H170.666667a85.333333 85.333333 0 0 0-85.333334 85.333333v469.333334a85.333333 85.333333 0 0 0 85.333334 85.333333h213.333333z m469.333333-85.333333H170.666667V213.333333h682.666666v469.333334z" p-id="12221" fill="#CDCDCD"></path></svg><path d="M191.90624 190.952007l641.318274 0 0 448.933639L191.90624 639.885646 191.90624 190.952007 191.90624 190.952007zM868.691283 61.809741 156.493705 61.809741c-50.994418 0-92.339058 41.434691-92.339058 92.553952l0 520.745175c0 51.116191 41.336454 92.553952 92.339058 92.553952l223.89428 0 0 127.747499L222.537887 895.41032c-17.569144 0-31.81152 14.246469-31.81152 31.807427 0 17.569144 14.242376 31.815613 31.81152 31.815613L800.750915 959.033359c17.569144 0 31.815613-14.246469 31.815613-31.815613 0-17.560958-14.246469-31.807427-31.815613-31.807427L641.028167 895.41032 641.028167 767.663844l227.66414 0c50.998511 0 92.342128-41.437761 92.342128-92.553952L961.034435 154.363693C961.033411 103.252619 919.689794 61.809741 868.691283 61.809741L868.691283 61.809741zM898.61071 704.558597 127.961882 704.558597 127.961882 127.477346l770.647805 0L898.609687 704.558597 898.61071 704.558597zM898.61071 704.558597" fill="#CDCDCD" p-id="7961"></path></svg> |
|||
<div class="icon-text">一站通登・筑牢账号防线</div> |
|||
</div> |
|||
<div class="icon-info"> |
|||
<svg t="1766995101015" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3669" width="20" height="20"><path d="M873.767394 852.441693" fill="#cdcdcd" p-id="3670"></path><path d="M510.567371 64.413032c-247.00565 0-447.24416 200.236464-447.24416 447.24416S263.560698 958.902376 510.567371 958.902376c94.481861 0 182.116781-29.296233 254.322289-79.300091-0.151449-0.054235-0.293689-0.11768-0.445138-0.171915 7.319709-5.901407 12.010545-14.936177 12.010545-25.069979 0-17.774829-14.404058-32.178887-32.17991-32.178887-9.717316 0-18.424628 4.314259-24.327058 11.124362-0.01535-0.054235-0.038886-0.102331-0.054235-0.156566-60.0824 39.025828-131.771139 61.701271-208.753441 61.701271-211.946157 0-383.761314-171.817204-383.761314-383.76643 0-211.94411 171.816181-383.761314 383.761314-383.761314 211.94411 0 383.760291 171.817204 383.760291 383.761314 0 87.044472-28.984125 167.316703-77.819366 231.699036-6.610558 5.892197-10.778484 14.473643-10.778484 24.02416 0 17.770735 14.404058 32.17991 32.17991 32.17991 8.271384 0 15.815197-3.127224 21.518083-8.258081 0.005117 0.024559 0.01535 0.044002 0.01842 0.068562 0.083911-0.102331 0.161682-0.204661 0.245593-0.308015 2.62785-2.424212 4.856611-5.27719 6.566556-8.452509 57.082066-75.097372 90.982154-168.775938 90.982154-270.381034C957.812555 264.649496 757.574045 64.413032 510.567371 64.413032z" fill="#cdcdcd" p-id="3671"></path><path d="M284.899702 638.201284 490.980267 762.180969 490.980267 519.241938 284.899702 395.258159Z" fill="#cdcdcd" p-id="3672"></path><path d="M504.383532 260.072247 310.031079 360.600825 511.162936 487.178685 712.290699 383.848295Z" fill="#cdcdcd" p-id="3673"></path><path d="M533.799492 518.124488 533.799492 761.063519 735.00298 657.734152 735.007073 657.734152 735.007073 414.795121Z" fill="#cdcdcd" p-id="3674"></path></svg> |
|||
<div class="icon-text">资源聚合・资讯产品赋能</div> |
|||
</div> |
|||
<div class="icon-info"> |
|||
<svg t="1766995362770" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10345" width="20" height="20"><path d="M730.453 749.277c-16.711 0-30.838 11.286-35.098 26.578H430.881c-27.197 0-55.924 15.984-70.997 38.703l-39.14 37.137-0.073-14.309a36.955 36.955 0 0 0-4.187-16.784c-13.69-25.887-45.038-44.71-74.638-44.71H184.32V366.364h12.124a36.409 36.409 0 1 0 0-72.817h-24.248c-33.46 0-60.694 28.29-60.694 63.06v429.079c0 34.77 27.307 62.987 60.84 62.987h69.468a16.093 16.093 0 0 1 6.116 2.44l0.328 52.173a36.336 36.336 0 0 0 7.537 21.991c11.541 15.037 28.435 23.666 46.312 23.63h0.036c16.785 0 32.732-7.646 44.164-21.008l67.247-63.934c2.221-2.112 5.425-6.627 7.027-9.248a18.168 18.168 0 0 1 10.304-6.008h275.324a60.439 60.439 0 0 0 53.812-33.933 36.045 36.045 0 0 0 6.845-21.262v-7.828a36.409 36.409 0 0 0-36.409-36.41" p-id="10346" fill="#cdcdcd"></path><path d="M876.089 557.438h-57.526c-18.241 0-36.664 7.683-51.7 19.224-3.46 2.658-7.1 5.061-10.122 8.156a78.206 78.206 0 0 0-12.816 17.33 36.7 36.7 0 0 0-4.187 16.748l-0.073 14.382-39.14-37.173c-2.73-4.115-6.299-7.683-9.83-11.287-15.984-16.384-38.885-27.38-61.167-27.38H366.364V147.911H876.09v409.527z m66.956-445.936c-9.721-21.445-30.547-36.409-54.832-36.409H354.24c-24.284 0-45.11 14.964-54.832 36.41a64.808 64.808 0 0 0-5.861 26.614v429.115c0 6.153 1.128 11.979 2.694 17.586 7.39 26.178 30.438 45.438 57.963 45.438H629.49a18.168 18.168 0 0 1 10.268 5.898 35.717 35.717 0 0 0 7.1 9.357l67.247 63.934c11.432 13.399 27.38 21.008 44.164 21.008h0.036c17.877 0 34.77-8.592 46.312-23.629a36.336 36.336 0 0 0 7.537-21.991l0.328-52.21a15.437 15.437 0 0 1 6.08-2.367h69.504c27.598 0 50.718-19.26 58.109-45.438 1.602-5.607 2.73-11.433 2.73-17.586V138.117a64.808 64.808 0 0 0-5.861-26.615z" p-id="10347" fill="#cdcdcd"></path><path d="M530.204 293.547a54.613 54.613 0 1 0 0.037 109.263 54.613 54.613 0 0 0-0.037-109.227m182.045-0.036a54.613 54.613 0 1 0 0.036 109.263 54.613 54.613 0 0 0-0.036-109.227" p-id="10348" fill="#cdcdcd"></path></svg> |
|||
<div class="icon-text">用户生态・互动管理共生</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<!-- 右侧登录部分 --> |
|||
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-right"> |
|||
<div class="admin-text">欢迎登录</div> |
|||
<el-form-item prop="username "> |
|||
<el-input |
|||
v-model="loginForm.username " |
|||
type="text" |
|||
auto-complete="off" |
|||
placeholder="账号" |
|||
class="custom-input" |
|||
> |
|||
<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="passwordVisible ? 'text' : 'password'" |
|||
auto-complete="off" |
|||
placeholder="密码" |
|||
@keyup.enter.native="handleLogin" |
|||
class="custom-input" |
|||
> |
|||
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" /> |
|||
<template slot="suffix"> |
|||
<svg-icon |
|||
:icon-class="passwordVisible ? 'eye-open' : 'eye'" |
|||
class="el-input__icon eye-icon" |
|||
@click="passwordVisible = !passwordVisible" |
|||
/> |
|||
</template> |
|||
</el-input> |
|||
</el-form-item> |
|||
|
|||
<!-- <el-form-item prop="code" v-if="captchaEnabled" class="code-form-item">--> |
|||
<!-- <div class="code-container">--> |
|||
<!-- <el-input--> |
|||
<!-- v-model="loginForm.code"--> |
|||
<!-- auto-complete="off"--> |
|||
<!-- placeholder="验证码"--> |
|||
<!-- @keyup.enter.native="handleLogin"--> |
|||
<!-- class="custom-input code-input"--> |
|||
<!-- >--> |
|||
<!-- <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>--> |
|||
<!-- </div>--> |
|||
<!-- </el-form-item>--> |
|||
|
|||
<div class="form-bottom"> |
|||
<el-checkbox v-model="loginForm.rememberMe" class="remember-checkbox">记住密码</el-checkbox> |
|||
<el-form-item class="login-btn-item"> |
|||
<el-button |
|||
:loading="loading" |
|||
size="medium" |
|||
type="primary" |
|||
class="login-btn" |
|||
@click.native.prevent="handleLogin" |
|||
> |
|||
<span v-if="!loading">登录</span> |
|||
<span v-else>登 录 中...</span> |
|||
</el-button> |
|||
</el-form-item> |
|||
</div> |
|||
|
|||
<div class="sponsored-info"> |
|||
<span >© 2025-2026 内蒙古琛海科技有限公司</span> |
|||
<span class="sponsored">v1.0.1</span> |
|||
</div> |
|||
</el-form> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { login } from "@/api/login" |
|||
import Cookies from "js-cookie" |
|||
import { encrypt, decrypt } from '@/utils/jsencrypt' |
|||
|
|||
export default { |
|||
name: "LoginGid", |
|||
data() { |
|||
return { |
|||
title: process.env.VUE_APP_TITLE, |
|||
// codeUrl: "", |
|||
passwordVisible: false, |
|||
loginForm: { |
|||
username: "", |
|||
password: "", |
|||
rememberMe: false, |
|||
// code: "", |
|||
// uuid: "" |
|||
}, |
|||
loginRules: { |
|||
username: [ |
|||
{ required: true, trigger: "blur", message: "请输入您的账号" } |
|||
], |
|||
password: [ |
|||
{ required: true, trigger: "blur", message: "请输入您的密码" } |
|||
] |
|||
// code: [{ required: true, trigger: "change", message: "请输入验证码" }] |
|||
}, |
|||
loading: false, |
|||
// 验证码开关 |
|||
// captchaEnabled: true, |
|||
redirect: undefined |
|||
} |
|||
}, |
|||
watch: { |
|||
$route: { |
|||
handler: function(route) { |
|||
this.redirect = route.query && route.query.redirect |
|||
}, |
|||
immediate: true |
|||
} |
|||
}, |
|||
created() { |
|||
// this.getCode() |
|||
this.getCookie() |
|||
}, |
|||
methods: { |
|||
// getCode() { |
|||
// getCodeImg().then(res => { |
|||
// this.captchaEnabled = res.captchaEnabled === undefined ? true : res.captchaEnabled |
|||
// if (this.captchaEnabled) { |
|||
// this.codeUrl = "data:image/gif;base64," + res.img |
|||
// this.loginForm.uuid = res.uuid |
|||
// } |
|||
// }) |
|||
// }, |
|||
getCookie() { |
|||
const username = Cookies.get("username ") |
|||
const password = Cookies.get("password") |
|||
const rememberMe = Cookies.get('rememberMe') |
|||
this.loginForm = { |
|||
username : username === undefined ? this.loginForm.username : username , |
|||
password: password === undefined ? this.loginForm.password : decrypt(password), |
|||
rememberMe: rememberMe === undefined ? false : Boolean(rememberMe) |
|||
} |
|||
}, |
|||
handleLogin() { |
|||
this.$refs.loginForm.validate(valid => { |
|||
if (valid) { |
|||
this.loading = true |
|||
if (this.loginForm.rememberMe) { |
|||
Cookies.set("username", this.loginForm.username , { expires: 30 }) |
|||
Cookies.set("password", encrypt(this.loginForm.password), { expires: 30 }) |
|||
Cookies.set('rememberMe', this.loginForm.rememberMe, { expires: 30 }) |
|||
} else { |
|||
Cookies.remove("username") |
|||
Cookies.remove("password") |
|||
Cookies.remove('rememberMe') |
|||
} |
|||
this.$store.dispatch("LoginGld", this.loginForm).then(() => { |
|||
this.$router.push({ path: this.redirect || '/indexGld' }).catch(()=>{}) |
|||
}).catch(() => { |
|||
this.loading = false |
|||
// if (this.captchaEnabled) { |
|||
// this.getCode() |
|||
// } |
|||
}) |
|||
} |
|||
}) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style rel="stylesheet/scss" lang="scss" scoped> |
|||
|
|||
/* 登录页 */ |
|||
.login { |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
height: 100vh; |
|||
width: 100vw; |
|||
background-color: #e6f7ff; |
|||
overflow: hidden; |
|||
position: relative; |
|||
} |
|||
|
|||
/* 登录模块 */ |
|||
.login-form { |
|||
display: flex; |
|||
width: 760px; |
|||
height: 450px; |
|||
border-radius: 12px; |
|||
overflow: hidden; |
|||
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3); |
|||
position: relative; |
|||
z-index: 2; |
|||
backdrop-filter: blur(5px); |
|||
background-color: rgba(255, 255, 255, 0.03); |
|||
border: 1px solid rgba(82, 196, 26, 0.2); |
|||
} |
|||
|
|||
/* 左侧登录部分 */ |
|||
.login-left { |
|||
flex: 1; |
|||
background: linear-gradient(135deg, rgba(82, 196, 26, 0.9) 0%, rgba(24, 144, 255, 0.9) 100%); |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
position: relative; |
|||
padding: 40px; |
|||
} |
|||
|
|||
.login-left::before { |
|||
content: ''; |
|||
position: absolute; |
|||
top: 0; |
|||
left: 0; |
|||
right: 0; |
|||
bottom: 0; |
|||
background: rgba(255, 255, 255, 0.1); |
|||
z-index: 1; |
|||
} |
|||
|
|||
.left-content { |
|||
position: relative; |
|||
z-index: 2; |
|||
text-align: center; |
|||
color: white; |
|||
width: 100%; |
|||
display: flex; |
|||
flex-direction: column; |
|||
align-items: center; |
|||
justify-content: center; |
|||
} |
|||
|
|||
.welcome-text { |
|||
font-size: 24px; |
|||
font-weight: 300; |
|||
line-height: 1.5; |
|||
color: rgba(255, 255, 255, 0.95); |
|||
} |
|||
|
|||
.divider { |
|||
width: 100px; |
|||
height: 3px; |
|||
background: linear-gradient(90deg, |
|||
transparent 0%, |
|||
rgba(255, 255, 255, 0.8) 50%, |
|||
transparent 100% |
|||
); |
|||
border: none; |
|||
margin: 0 auto 30px; |
|||
} |
|||
|
|||
.title { |
|||
font-size: 32px; |
|||
font-weight: 600; |
|||
margin: 0 0 20px 0; |
|||
color: white; |
|||
letter-spacing: 2px; |
|||
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); |
|||
text-align: center; |
|||
} |
|||
|
|||
.slogan { |
|||
.icon-info{ |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
margin: 10px; |
|||
transition: all 0.3s ease; |
|||
|
|||
&:hover { |
|||
transform: translateY(-2px); |
|||
filter: drop-shadow(0 4px 8px rgba(255, 255, 255, 0.2)); |
|||
} |
|||
|
|||
svg { |
|||
transition: all 0.3s ease; |
|||
filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2)); |
|||
} |
|||
|
|||
&:hover svg { |
|||
transform: scale(1.1); |
|||
filter: drop-shadow(0 4px 8px rgba(255, 255, 255, 0.3)); |
|||
} |
|||
} |
|||
|
|||
.icon-text{ |
|||
padding: 10px; |
|||
font-size: 12px; |
|||
font-weight: 500; |
|||
line-height: 1.5em; |
|||
color: rgba(255, 255, 255, 0.9); |
|||
transition: all 0.3s ease; |
|||
} |
|||
|
|||
.icon-info:hover .icon-text { |
|||
color: white; |
|||
text-shadow: 0 0 10px rgba(255, 255, 255, 0.5); |
|||
} |
|||
} |
|||
|
|||
/* 右侧登录部分 */ |
|||
.login-right { |
|||
flex: 1; |
|||
background: rgba(255, 255, 255, 0.95); |
|||
padding: 60px 50px; |
|||
display: flex; |
|||
flex-direction: column; |
|||
justify-content: center; |
|||
} |
|||
|
|||
.admin-text { |
|||
font-size: 20px; |
|||
color: #333; |
|||
text-align: center; |
|||
font-weight: 600; |
|||
position: relative; |
|||
margin: 20px 0; |
|||
} |
|||
|
|||
.admin-text::before, |
|||
.admin-text::after { |
|||
content: ''; |
|||
position: absolute; |
|||
top: 50%; |
|||
width: 70px; |
|||
height: 2px; |
|||
background: linear-gradient(90deg, |
|||
transparent 0%, |
|||
#52c41a 50%, |
|||
transparent 100%) |
|||
} |
|||
|
|||
.admin-text::before { |
|||
left: 10px; |
|||
} |
|||
|
|||
.admin-text::after { |
|||
right: 10px; |
|||
} |
|||
|
|||
.custom-input { |
|||
::v-deep .el-input__inner { |
|||
border: 1px solid #e8e8e8; |
|||
border-radius: 6px; |
|||
background-color: rgba(250, 250, 250, 0.9); |
|||
color: #333; |
|||
padding-left: 40px; |
|||
padding-right: 40px; |
|||
transition: all 0.3s; |
|||
|
|||
&:focus { |
|||
border-color: #52c41a; |
|||
background-color: white; |
|||
box-shadow: 0 0 0 2px rgba(82, 196, 26, 0.2); |
|||
} |
|||
|
|||
&::placeholder { |
|||
color: #999; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.eye-icon { |
|||
cursor: pointer; |
|||
margin-right: 10px; |
|||
color: #999; |
|||
transition: color 0.3s; |
|||
|
|||
&:hover { |
|||
color: #52c41a; |
|||
} |
|||
} |
|||
|
|||
.remember-checkbox { |
|||
::v-deep .el-checkbox__inner { |
|||
border-color: #52c41a; |
|||
|
|||
&:hover { |
|||
border-color: #73d13d; |
|||
} |
|||
} |
|||
|
|||
::v-deep .el-checkbox__input.is-checked .el-checkbox__inner { |
|||
background-color: #52c41a; |
|||
border-color: #52c41a; |
|||
} |
|||
|
|||
::v-deep .el-checkbox__input.is-checked + .el-checkbox__label { |
|||
color: #52c41a; |
|||
} |
|||
|
|||
::v-deep .el-checkbox__label { |
|||
color: #666; |
|||
font-size: 14px; |
|||
} |
|||
} |
|||
|
|||
//.code-form-item { |
|||
// .el-form-item__content { |
|||
// display: flex; |
|||
// align-items: center; |
|||
// justify-content: center; |
|||
// } |
|||
//} |
|||
// |
|||
//.code-container { |
|||
// display: flex; |
|||
// align-items: center; |
|||
// width: 100%; |
|||
// justify-content: space-between; |
|||
//} |
|||
// |
|||
//.code-input { |
|||
// flex: 1; |
|||
// margin-right: 15px; |
|||
// |
|||
// ::v-deep .el-input__inner { |
|||
// width: 100%; |
|||
// } |
|||
//} |
|||
|
|||
.input-icon { |
|||
color: #999; |
|||
margin-left: 8px; |
|||
} |
|||
|
|||
.form-bottom { |
|||
display: flex; |
|||
flex-direction: column; |
|||
} |
|||
|
|||
.login-tips{ |
|||
|
|||
} |
|||
|
|||
.login-btn-item { |
|||
margin-top: 20px; |
|||
margin-bottom: 0; |
|||
width: 100%; |
|||
} |
|||
|
|||
.login-btn { |
|||
width: 100%; |
|||
height: 44px; |
|||
background: linear-gradient(135deg, #52c41a 0%, #73d13d 100%); |
|||
border: none; |
|||
border-radius: 6px; |
|||
font-size: 16px; |
|||
font-weight: 500; |
|||
transition: all 0.3s; |
|||
color: white; |
|||
letter-spacing: 2px; |
|||
|
|||
&:hover { |
|||
opacity: 0.9; |
|||
transform: translateY(-2px); |
|||
box-shadow: 0 6px 16px rgba(82, 196, 26, 0.4); |
|||
} |
|||
|
|||
&:active { |
|||
transform: translateY(0); |
|||
} |
|||
} |
|||
|
|||
//.login-code { |
|||
// height: 44px; |
|||
// flex-shrink: 0; |
|||
// |
|||
// .login-code-img { |
|||
// height: 44px; |
|||
// width: 120px; |
|||
// border-radius: 6px; |
|||
// cursor: pointer; |
|||
// border: 1px solid #e8e8e8; |
|||
// transition: all 0.3s; |
|||
// |
|||
// &:hover { |
|||
// transform: translateY(-1px); |
|||
// box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); |
|||
// } |
|||
// } |
|||
//} |
|||
|
|||
.sponsored-info{ |
|||
text-align: center; |
|||
font-size: 12px; |
|||
color: #999; |
|||
border-top: 1px solid #f0f0f0; |
|||
padding-top: 15px; |
|||
|
|||
.sponsored{ |
|||
margin-left: 10px; |
|||
padding: 2px 6px; |
|||
background: rgba(82, 196, 26, 0.1); |
|||
border-radius: 4px; |
|||
font-family: monospace; |
|||
} |
|||
} |
|||
|
|||
.el-form-item { |
|||
margin-bottom: 24px; |
|||
|
|||
&.is-error { |
|||
.custom-input { |
|||
::v-deep .el-input__inner { |
|||
border-color: #f5222d; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
/* 响应式调整 */ |
|||
@media (max-width: 992px) { |
|||
.login-form { |
|||
width: 90%; |
|||
max-width: 800px; |
|||
height: auto; |
|||
min-height: 500px; |
|||
flex-direction: column; |
|||
} |
|||
|
|||
.login-left, .login-right { |
|||
flex: none; |
|||
width: 100%; |
|||
} |
|||
|
|||
.login-left { |
|||
padding: 30px 20px; |
|||
min-height: 200px; |
|||
} |
|||
|
|||
.login-right { |
|||
padding: 40px 30px; |
|||
} |
|||
|
|||
.code-container { |
|||
flex-direction: column; |
|||
align-items: stretch; |
|||
} |
|||
|
|||
.code-input { |
|||
margin-right: 0; |
|||
margin-bottom: 15px; |
|||
} |
|||
|
|||
.login-code { |
|||
align-self: center; |
|||
} |
|||
} |
|||
</style> |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue