明树Git Lab
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
J
jt_front
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
jt_front
Commits
99ce2cfd
Commit
99ce2cfd
authored
Mar 17, 2026
by
zhanghan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
登录页样式修改
parent
e5425827
Pipeline
#108473
passed with stage
in 24 seconds
Changes
4
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
158 additions
and
144 deletions
+158
-144
login.png
src/assets/images/login.png
+0
-0
logo_left.png
src/assets/images/logo_left.png
+0
-0
logo_right.png
src/assets/images/logo_right.png
+0
-0
index.vue
src/views/login/index.vue
+158
-144
No files found.
src/assets/images/login.png
View replaced file @
e5425827
View file @
99ce2cfd
This image diff could not be displayed because it is too large. You can
view the blob
instead.
src/assets/images/logo_left.png
0 → 100644
View file @
99ce2cfd
8.49 KB
src/assets/images/logo_right.png
0 → 100644
View file @
99ce2cfd
10.7 KB
src/views/login/index.vue
View file @
99ce2cfd
<
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: 30
px;
height: 36
px;
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: 40
px;
padding: 1px 16
px;
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
>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment