明树Git Lab

Commit 99ce2cfd authored by zhanghan's avatar zhanghan

登录页样式修改

parent e5425827
Pipeline #108473 passed with stage
in 24 seconds
This image diff could not be displayed because it is too large. You can view the blob instead.
<template> <template>
<div class="login-container"> <div class="login-container">
<div class="login-header">葛洲坝集团交通投资有限公司投资决策分析系统</div>
<div class="login-form-wrapper"> <div class="login-form-wrapper">
<div class="company-logo"></div> <div class="left">
<div class="login-title">葛洲坝集团交通投资有限公司</div>
<div class="login-title">投资决策分析系统</div>
<div class="logo-wrapper">
<img
src="@/assets/images/logo_right.png"
alt="中国能建"
class="logo"
/>
<img
src="@/assets/images/logo_left.png"
alt="中国能建"
class="logo"
/>
</div>
</div>
<!-- 右侧表单区域(已修改为截图样式) -->
<div class="login-form">
<div class="form-head">
<h1 class="greeting">您好!</h1>
<p class="sub-title">欢迎登录投资决策分析系统</p>
</div>
<el-form <el-form
ref="loginFormRef" ref="loginFormRef"
:model="loginForm" :model="loginForm"
:rules="loginRules" :rules="loginRules"
label-width="70px" label-width="0px"
class="login-form"
labelPosition="top"
@keydown.enter="handleLogin" @keydown.enter="handleLogin"
> >
<el-form-item label="手机号" prop="mobile"> <el-form-item prop="account">
<el-input <el-input
:prefix-icon="User" :prefix-icon="User"
v-model="loginForm.mobile" v-model="loginForm.account"
placeholder="请输入手机号" placeholder="账号"
prefix-icon="el-icon-user" size="large"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="密码" prop="password"> <el-form-item prop="password">
<el-input <el-input
prefix-icon="Lock" :prefix-icon="Lock"
v-model="loginForm.password" v-model="loginForm.password"
type="password" type="password"
placeholder="请输入密码" placeholder="请输入密码"
show-password show-password
size="large"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -35,6 +55,7 @@ ...@@ -35,6 +55,7 @@
class="login-btn" class="login-btn"
:loading="loading" :loading="loading"
@click="handleLogin" @click="handleLogin"
size="large"
> >
登录 登录
</el-button> </el-button>
...@@ -42,6 +63,7 @@ ...@@ -42,6 +63,7 @@
</el-form> </el-form>
</div> </div>
</div> </div>
</div>
</template> </template>
<script setup> <script setup>
...@@ -57,15 +79,15 @@ const router = useRouter(); ...@@ -57,15 +79,15 @@ const router = useRouter();
const loginFormRef = ref(); const loginFormRef = ref();
const loading = ref(false); const loading = ref(false);
// 登录表单数据 // 登录表单数据(将mobile改为account)
const loginForm = ref({ const loginForm = ref({
mobile: "", account: "",
password: "", password: "",
}); });
// 表单验证规则 // 表单验证规则
const loginRules = ref({ const loginRules = ref({
mobile: [{ required: true, message: "请输入手机号", trigger: "blur" }], account: [{ required: true, message: "请输入账号", trigger: "blur" }],
password: [{ required: true, message: "请输入密码", trigger: "blur" }], password: [{ required: true, message: "请输入密码", trigger: "blur" }],
}); });
...@@ -77,7 +99,7 @@ const handleLogin = async () => { ...@@ -77,7 +99,7 @@ const handleLogin = async () => {
url: "/api/user/login", url: "/api/user/login",
data: { data: {
encryptLogStr: CryptoJS.AES.encrypt( encryptLogStr: CryptoJS.AES.encrypt(
`${loginForm.value.mobile},${loginForm.value.password}`, `${loginForm.value.account},${loginForm.value.password}`,
"GFG5w5AP0Ja2rNaa", "GFG5w5AP0Ja2rNaa",
).toString(), ).toString(),
}, },
...@@ -99,130 +121,122 @@ const handleLogin = async () => { ...@@ -99,130 +121,122 @@ const handleLogin = async () => {
background-size: cover; background-size: cover;
background-position: center; background-position: center;
background-repeat: no-repeat; background-repeat: no-repeat;
padding-top: 15px;
}
.login-header {
color: #fff;
font-size: 42px;
font-weight: bold;
padding-left: 20px;
margin: 0 20px;
border-radius: 5px;
display: flex; display: flex;
justify-content: left;
align-items: center; align-items: center;
height: 60px; justify-content: center;
line-height: 60px;
background: linear-gradient(
to right,
rgba(0, 0, 0, 0.3),
rgba(0, 0, 0, 0.6),
rgba(0, 0, 0, 0.3)
);
} }
.login-form-wrapper { .login-form-wrapper {
background-color: rgba(0, 0, 0, 0.8); display: flex;
position: absolute; height: 596px;
top: 50%; width: 1200px;
right: 1%; margin: 0 auto;
transform: translateY(-50%);
padding: 15px;
box-sizing: border-box; box-sizing: border-box;
width: 375px; box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
height: 350px;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
border-radius: 8px; border-radius: 8px;
:deep(.el-form-item) { overflow: hidden;
margin-bottom: 16px;
.el-form-item__content { // 左侧区域样式
.el-input { .left {
height: 48px; width: 600px;
border-radius: 4px; background: rgba(255, 255, 255, 0.1);
.el-input__wrapper { backdrop-filter: blur(20px);
background: rgba(255, 255, 255, 0.9); background-size: cover;
} background-position: center;
.el-input__inner { display: flex;
color: #333; flex-direction: column;
} padding: 160px 40px 0;
}
.el-form-item__label { .login-title {
font-size: 36px;
font-weight: 500;
color: #fff; color: #fff;
text-align: center;
line-height: 1.5;
margin: 8px 0;
} }
.logo-wrapper {
display: flex;
justify-content: center;
margin-top: 30px;
.logo {
height: 40px;
} }
} }
:deep(.el-form-item__label) {
color: #fff;
} }
}
.company-logo { // 右侧表单样式
width: 100%; .login-form {
height: 45px; background-color: #fff;
width: 600px;
padding: 104px 140px 0;
box-sizing: border-box;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center;
margin-bottom: 30px;
background-image: url(/src/assets/images/logo.png);
background-size: 100% 80%;
background-position: center;
background-repeat: no-repeat;
}
.login-form { .form-head {
margin-bottom: 40px;
.greeting {
font-size: 48px;
font-weight: 500;
color: #1d2129;
margin: 0 0 8px 0;
line-height: 1.2;
}
.sub-title {
font-size: 18px;
color: #86909c;
margin: 0;
line-height: 1.4;
}
}
.login-btn { .login-btn {
width: 100%; width: 100%;
height: 30px; height: 36px;
border-radius: 4px; border-radius: 4px;
background-color: #1890ff; background-color: #1890ff;
margin-top: 18px; margin-top: 16px;
font-size: 18px;
} }
.forgot-password {
color: #fff;
float: right;
margin-top: 10px;
} }
} }
.captcha-image { // 表单通用样式
position: absolute; :deep(.el-form-item) {
right: 0; margin-bottom: 24px;
top: 0;
cursor: pointer; .el-input__wrapper {
img { background-color: #f5f7fa;
width: 120px; box-shadow: none;
height: 40px; padding: 1px 16px;
border-radius: 4px; border-radius: 4px;
} }
}
:deep(.el-form-item__content) { .el-input__inner {
position: relative; font-size: 16px;
&.el-form-item__content--with-captcha { color: #1d2129;
padding-right: 130px;
} }
}
:deep(.el-input__inner) { .el-input__prefix-inner {
color: #333; color: #86909c;
font-size: 18px;
}
} }
:deep(.el-input__prefix-inner) { :deep(.el-button--primary) {
color: #909399; background-color: #1890ff;
} border-color: #1890ff;
.login-form {
:deep(.el-form-item) { &:hover,
.el-form-item__content { &:focus {
.el-input { background-color: #40a9ff;
height: 30px; border-color: #40a9ff;
}
}
}
:deep(.el-form-item--label-top) {
.el-form-item__label {
line-height: 15px;
}
} }
} }
</style> </style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment