Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
B
byq_pc
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
张伯涛
byq_pc
Commits
e92de757
Commit
e92de757
authored
Apr 29, 2025
by
jiaxu.yan
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'ylk-dev' into develop
* ylk-dev: 修改问题
parents
389685a4
f178ddf3
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
276 additions
and
18 deletions
+276
-18
bdHeader.vue
src/layout/components/bdHeader.vue
+20
-18
resetPwd.vue
src/layout/components/resetPwd.vue
+79
-0
log.vue
src/views/monitor/log.vue
+89
-0
system.vue
src/views/system/system.vue
+88
-0
No files found.
src/layout/components/bdHeader.vue
View file @
e92de757
...
...
@@ -15,7 +15,7 @@
<el-button
type=
"text"
>
板面切换
</el-button>
</div>
<div
class=
"title-button"
>
<el-button
type=
"text"
@
click
=
"setSte(true)
"
>
皮肤切换
</el-button>
<el-button
type=
"text"
@
click
.
stop=
"setting = true
"
>
皮肤切换
</el-button>
</div>
<div
class=
"title-kaiguan"
>
<img
src=
"../../assets/themeIImage/kaiguan.png"
class=
"kaiguan-logo"
/>
...
...
@@ -31,29 +31,32 @@
<i
class=
"el-icon-caret-bottom"
/>
</div>
<el-dropdown-menu
slot=
"dropdown"
class=
"user-dropdown"
>
<el-dropdown-item>
<router-link
to=
"/reSetPsw"
>
<el-dropdown-item
@
click
.
native=
"toReset"
>
修改密码
</router-link>
</el-dropdown-item>
<el-dropdown-item
@
click
.
native=
"setting = true"
>
<span>
布局设置
</span>
<!--
</router-link>
-->
</el-dropdown-item>
<el-dropdown-item
divided
@
click
.
native=
"logout"
>
<span
style=
"display:block;"
>
退出
</span>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
<el-dialog
:title=
"'修改密码'"
:visible
.
sync=
"restopen"
width=
"600px"
append-to-body
>
<resetPwd
@
reback=
"toResetClose"
></resetPwd>
</el-dialog>
</div>
</
template
>
<
script
>
import
{
mapGetters
}
from
'vuex'
import
Hamburger
from
'@/components/Hamburger'
import
resetPwd
from
'./resetPwd'
export
default
{
components
:
{
Hamburger
Hamburger
,
resetPwd
},
data
()
{
return
{
...
...
@@ -61,7 +64,8 @@ export default {
userName
:
this
.
$store
.
state
.
user
.
name
,
specialTag
:
this
.
$store
.
state
.
user
.
specialTag
,
timer
:
""
,
timny
:
null
timny
:
null
,
restopen
:
false
}
},
computed
:
{
...
...
@@ -79,17 +83,9 @@ export default {
value
:
val
})
}
},
computed
:
{
// 根据选择的风格切换图标
// eslint-disable-next-line vue/return-in-computed-property
kaiguan
()
{
if
(
localStorage
.
getItem
(
'theme'
)
===
'9'
)
{
return
require
(
'@/assets/themeIImage/kaiguan.png'
)
}
}
}
},
mounted
()
{
// this.getInAdhibitions()
...
...
@@ -107,6 +103,12 @@ export default {
window
.
location
.
href
=
param
}
},
toReset
(){
this
.
restopen
=
true
},
toResetClose
(){
this
.
restopen
=
false
},
setSte
(
val
)
{
this
.
$store
.
dispatch
(
'settings/changeSetting'
,
{
key
:
'showSettings'
,
...
...
src/layout/components/resetPwd.vue
0 → 100644
View file @
e92de757
<
template
>
<el-form
ref=
"form"
:model=
"user"
:rules=
"rules"
label-width=
"4.2vw"
>
<el-form-item
label=
"旧密码"
prop=
"oldPassword"
>
<el-input
v-model
.
trim=
"user.oldPassword"
placeholder=
"请输入旧密码"
type=
"password"
/>
</el-form-item>
<el-form-item
label=
"新密码"
prop=
"newPassword"
>
<el-input
v-model
.
trim=
"user.newPassword"
placeholder=
"请输入新密码"
type=
"password"
/>
</el-form-item>
<el-form-item
label=
"确认密码"
prop=
"confirmPassword"
>
<el-input
v-model
.
trim=
"user.confirmPassword"
placeholder=
"请确认密码"
type=
"password"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
size=
"mini"
@
click=
"submit"
>
确 定
</el-button>
<el-button
type=
"danger"
size=
"mini"
@
click=
"close"
>
关闭
</el-button>
</el-form-item>
</el-form>
</
template
>
<
script
>
import
{
updateUserPwd
}
from
'@/api/system/user'
export
default
{
data
()
{
const
equalToPassword
=
(
rule
,
value
,
callback
)
=>
{
if
(
this
.
user
.
newPassword
!==
value
)
{
callback
(
new
Error
(
'两次输入的密码不一致'
))
}
else
{
callback
()
}
}
return
{
test
:
'1test'
,
user
:
{
oldPassword
:
undefined
,
newPassword
:
undefined
,
confirmPassword
:
undefined
},
// 表单校验
rules
:
{
oldPassword
:
[
{
required
:
true
,
message
:
'旧密码不能为空'
,
trigger
:
'blur'
}
],
newPassword
:
[
{
required
:
true
,
message
:
'新密码不能为空'
,
trigger
:
'blur'
},
{
min
:
6
,
max
:
20
,
message
:
'长度在 6 到 20 个字符'
,
trigger
:
'blur'
}
],
confirmPassword
:
[
{
required
:
true
,
message
:
'确认密码不能为空'
,
trigger
:
'blur'
},
{
required
:
true
,
validator
:
equalToPassword
,
trigger
:
'blur'
}
]
}
}
},
methods
:
{
submit
()
{
this
.
$refs
[
'form'
].
validate
(
valid
=>
{
if
(
valid
)
{
updateUserPwd
(
this
.
user
.
oldPassword
,
this
.
user
.
newPassword
).
then
(
response
=>
{
if
(
response
.
code
===
200
)
{
this
.
$message
({
message
:
'修改成功'
,
type
:
'success'
})
this
.
$emit
(
'reback'
)
}
}
)
}
})
},
close
()
{
this
.
$emit
(
'reback'
)
// this.$store.dispatch('tagsView/delView', this.$route)
// this.$router.push({ path: '/index' })
}
}
}
</
script
>
src/views/monitor/log.vue
0 → 100644
View file @
e92de757
<
template
>
<div>
<div
class=
"topSubMenu"
>
<el-button
:class=
"activeTab == '1' ? 'tsmBtn tsmactive' : 'tsmBtn'"
@
click=
"changeMenu('1')"
>
登录日志
</el-button>
<el-button
:class=
"activeTab == '2' ? 'tsmBtn tsmactive' : 'tsmBtn'"
@
click=
"changeMenu('2')"
>
操作日志
</el-button>
<el-button
:class=
"activeTab == '3' ? 'tsmBtn tsmactive' : 'tsmBtn'"
@
click=
"changeMenu('3')"
>
异常日志
</el-button>
</div>
<div
v-if=
"activeTab == '1'"
class=
"BdoySubMenu"
>
<logininfoIndex></logininfoIndex>
</div>
<div
v-if=
"activeTab == '2'"
class=
"BdoySubMenu"
>
<operLogIndex></operLogIndex>
</div>
<div
v-if=
"activeTab == '3'"
class=
"BdoySubMenu"
>
<errorLogIndex></errorLogIndex>
</div>
</div>
</
template
>
<
script
>
import
errorLogIndex
from
'./errorLog/index.vue'
import
logininfoIndex
from
'./loginInfo/index.vue'
import
operLogIndex
from
'./operLog/index.vue'
export
default
{
components
:{
errorLogIndex
,
logininfoIndex
,
operLogIndex
},
data
()
{
return
{
activeTab
:
'1'
,
tabs
:
[
{
title
:
'标签1'
,
name
:
'1'
,
content
:
'内容1'
},
{
title
:
'标签2'
,
name
:
'2'
,
content
:
'内容2'
}
],
tabIndex
:
2
}
},
methods
:
{
changeMenu
(
index
)
{
this
.
activeTab
=
index
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.topSubMenu
{
display
:
flex
;
width
:
98%
;
margin
:
0
1%
;
.tsmBtn
{
width
:
180px
;
height
:
72px
;
background
:
#EBF1FF
;
border-radius
:
10px
;
margin-right
:
24px
;
font-family
:
PingFangSC-Medium
;
font-weight
:
500
;
font-size
:
20px
;
color
:
#98A4BF
;
letter-spacing
:
0
;
line-height
:
15px
;
border
:
none
!
important
;
}
.tsmactive
{
background-image
:
linear-gradient
(
180deg
,
#679CF6
0%
,
#4072EE
100%
);
box-shadow
:
0
2px
2px
0
#ACB2C1
;
border-radius
:
10px
;
font-family
:
PingFangSC-Semibold
;
font-weight
:
600
;
font-size
:
20px
;
color
:
#FFFFFF
;
letter-spacing
:
0
;
line-height
:
15px
;
text-decoration
:
underline
;
}
}
.BdoySubMenu
{
margin-top
:
20px
;
}
</
style
>
\ No newline at end of file
src/views/system/system.vue
0 → 100644
View file @
e92de757
<
template
>
<div>
<div
class=
"topSubMenu"
>
<el-button
:class=
"activeTab == '1' ? 'tsmBtn tsmactive' : 'tsmBtn'"
@
click=
"changeMenu('1')"
>
用户管理
</el-button>
<el-button
:class=
"activeTab == '2' ? 'tsmBtn tsmactive' : 'tsmBtn'"
@
click=
"changeMenu('2')"
>
角色管理
</el-button>
<el-button
:class=
"activeTab == '3' ? 'tsmBtn tsmactive' : 'tsmBtn'"
@
click=
"changeMenu('3')"
>
字典管理
</el-button>
</div>
<div
v-if=
"activeTab == '1'"
class=
"BdoySubMenu"
>
<userIndex></userIndex>
</div>
<div
v-if=
"activeTab == '2'"
class=
"BdoySubMenu"
>
<roleIndex></roleIndex>
</div>
<div
v-if=
"activeTab == '3'"
class=
"BdoySubMenu"
>
<dictIndex></dictIndex>
</div>
</div>
</
template
>
<
script
>
import
userIndex
from
'./user/index.vue'
import
roleIndex
from
'./role/index.vue'
import
dictIndex
from
'./dict/index.vue'
export
default
{
components
:{
userIndex
,
roleIndex
,
dictIndex
},
data
()
{
return
{
activeTab
:
'1'
,
tabs
:
[
{
title
:
'标签1'
,
name
:
'1'
,
content
:
'内容1'
},
{
title
:
'标签2'
,
name
:
'2'
,
content
:
'内容2'
}
],
tabIndex
:
2
}
},
methods
:
{
changeMenu
(
index
)
{
this
.
activeTab
=
index
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.topSubMenu
{
display
:
flex
;
width
:
98%
;
margin
:
0
1%
;
.tsmBtn
{
width
:
180px
;
height
:
72px
;
background
:
#EBF1FF
;
border-radius
:
10px
;
margin-right
:
24px
;
font-family
:
PingFangSC-Medium
;
font-weight
:
500
;
font-size
:
20px
;
color
:
#98A4BF
;
letter-spacing
:
0
;
line-height
:
15px
;
border
:
none
!
important
;
}
.tsmactive
{
background-image
:
linear-gradient
(
180deg
,
#679CF6
0%
,
#4072EE
100%
);
box-shadow
:
0
2px
2px
0
#ACB2C1
;
border-radius
:
10px
;
font-family
:
PingFangSC-Semibold
;
font-weight
:
600
;
font-size
:
20px
;
color
:
#FFFFFF
;
letter-spacing
:
0
;
line-height
:
15px
;
text-decoration
:
underline
;
}
}
.BdoySubMenu
{
margin-top
:
20px
;
}
</
style
>
\ No newline at end of file
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