Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
bdc
/
bdcdj-web
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
67aa5e19
authored
2022-08-08 16:52:29 +0800
by
任超
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
toubu
1 parent
6bcd82aa
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
0 additions
and
88 deletions
src/components/Breadcrumb/index.vue
src/layout/components/Navbar.vue
src/components/Breadcrumb/index.vue
deleted
100644 → 0
View file @
6bcd82a
<!--面包屑 -->
<
template
>
<el-breadcrumb
class=
"app-breadcrumb"
separator=
">"
>
<transition-group
name=
"breadcrumb"
>
<el-breadcrumb-item
v-for=
"(item, index) in levelList"
:key=
"item.path"
>
<span
v-if=
"item.redirect === 'noRedirect' || index == levelList.length - 1"
class=
"no-redirect"
>
{{
item
.
meta
.
title
}}
</span>
<a
v-else
@
click
.
prevent=
"handleLink(item)"
>
{{
item
.
meta
.
title
}}
</a>
</el-breadcrumb-item>
</transition-group>
</el-breadcrumb>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
levelList
:
null
}
},
watch
:
{
$route
(
route
)
{
// if you go to the redirect page, do not update the breadcrumbs
if
(
route
.
path
.
startsWith
(
'/redirect/'
))
{
return
}
this
.
getBreadcrumb
()
}
},
created
()
{
this
.
getBreadcrumb
()
},
methods
:
{
getBreadcrumb
()
{
// only show routes with meta.title
let
matched
=
this
.
$route
.
matched
.
filter
(
item
=>
item
.
meta
&&
item
.
meta
.
title
)
const
first
=
matched
[
0
]
if
(
!
this
.
isDashboard
(
first
))
{
matched
=
[{
path
:
'/home'
,
meta
:
{
title
:
'首页'
}
}].
concat
(
matched
)
}
this
.
levelList
=
matched
.
filter
(
item
=>
item
.
meta
&&
item
.
meta
.
title
&&
item
.
meta
.
breadcrumb
!==
false
)
},
isDashboard
(
route
)
{
const
name
=
route
&&
route
.
name
if
(
!
name
)
{
return
false
}
return
name
.
trim
().
toLocaleLowerCase
()
===
'Dashboard'
.
toLocaleLowerCase
()
},
pathCompile
(
path
)
{
// To solve this problem https://github.com/PanJiaChen/vue-element-admin/issues/561
const
{
params
}
=
this
.
$route
var
toPath
=
pathToRegexp
.
compile
(
path
)
return
toPath
(
params
)
},
handleLink
(
item
)
{
const
{
redirect
,
path
}
=
item
if
(
redirect
)
{
this
.
$router
.
push
(
redirect
)
return
}
this
.
$router
.
push
(
this
.
pathCompile
(
path
))
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.app-breadcrumb.el-breadcrumb
{
display
:
inline-block
;
font-size
:
14px
;
line-height
:
43px
;
margin-left
:
8px
;
.no-redirect
{
cursor
:
text
;
}
/
deep
/
.el-breadcrumb__separator
{
font-weight
:
500
;
}
}
</
style
>
src/layout/components/Navbar.vue
View file @
67aa5e1
...
...
@@ -2,7 +2,6 @@
<div
class=
"navbar"
>
<hamburger
id=
"hamburger-container"
:is-active=
"sidebar.opened"
class=
"hamburger-container"
@
toggleClick=
"toggleSideBar"
/>
<breadcrumb
id=
"breadcrumb-container"
class=
"breadcrumb-container"
/>
<div
class=
"right-menu"
>
<el-dropdown
class=
"avatar-container right-menu-item hover-effect"
trigger=
"click"
@
command=
"handleCommand"
>
<div
class=
"avatar-wrapper"
>
...
...
@@ -19,11 +18,9 @@
</
template
>
<
script
>
import
{
mapGetters
}
from
'vuex'
import
Breadcrumb
from
'@/components/Breadcrumb'
import
Hamburger
from
'@/components/Hamburger'
export
default
{
components
:
{
Breadcrumb
,
Hamburger
},
computed
:
{
...
...
Please
register
or
sign in
to post a comment