Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
ant-design-pro-vue
Overview
Overview
Details
Activity
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
tianzhuanghu
ant-design-pro-vue
Commits
aae13ee4
Unverified
Commit
aae13ee4
authored
Feb 25, 2019
by
Sendya
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: style
parent
f69a7c3c
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
241 additions
and
236 deletions
+241
-236
PageHeader.vue
src/components/page/PageHeader.vue
+241
-236
No files found.
src/components/page/PageHeader.vue
View file @
aae13ee4
<
template
>
<div
class=
"page-header"
>
<div
class=
"page-header-index-wide"
>
<a-breadcrumb
class=
"breadcrumb"
>
<a-breadcrumb-item
v-for=
"(item, index) in breadList"
:key=
"index"
>
<router-link
v-if=
"item.name != name && index != 1"
:to=
"
{ path: item.path === '' ? '/' : item.path }"
>
{{
item
.
meta
.
title
}}
</router-link>
<span
v-else
>
{{
item
.
meta
.
title
}}
</span>
</a-breadcrumb-item>
</a-breadcrumb>
<div
class=
"detail"
>
<div
class=
"main"
v-if=
"!$route.meta.hiddenHeaderContent"
>
<div
class=
"row"
>
<img
v-if=
"logo"
:src=
"logo"
class=
"logo"
/>
<h1
v-if=
"title"
class=
"title"
>
{{
title
}}
</h1>
<div
class=
"action"
>
<slot
name=
"action"
></slot>
</div>
</div>
<div
class=
"row"
>
<div
v-if=
"avatar"
class=
"avatar"
>
<a-avatar
:src=
"avatar"
/>
</div>
<div
v-if=
"this.$slots.content"
class=
"headerContent"
>
<slot
name=
"content"
></slot>
</div>
<div
v-if=
"this.$slots.extra"
class=
"extra"
>
<slot
name=
"extra"
></slot>
</div>
</div>
<div>
<slot
name=
"pageMenu"
></slot>
</div>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
import
Breadcrumb
from
'@/components/tools/Breadcrumb'
export
default
{
name
:
'PageHeader'
,
components
:
{
's-breadcrumb'
:
Breadcrumb
},
props
:
{
title
:
{
type
:
String
,
default
:
''
,
required
:
false
},
breadcrumb
:
{
type
:
Array
,
default
:
null
,
required
:
false
},
logo
:
{
type
:
String
,
default
:
''
,
required
:
false
},
avatar
:
{
type
:
String
,
default
:
''
,
required
:
false
}
},
data
()
{
return
{
name
:
''
,
breadList
:
[]
}
},
created
()
{
this
.
getBreadcrumb
()
},
methods
:
{
getBreadcrumb
()
{
this
.
breadList
=
[]
// this.breadList.push({name: 'index', path: '/dashboard/', meta: {title: '首页'}})
this
.
name
=
this
.
$route
.
name
this
.
$route
.
matched
.
forEach
((
item
)
=>
{
// item.name !== 'index' && this.breadList.push(item)
this
.
breadList
.
push
(
item
)
})
}
},
watch
:
{
$route
()
{
this
.
getBreadcrumb
()
}
}
}
</
script
>
<
style
lang=
"less"
scoped
>
.page-header
{
background
:
#fff
;
padding
:
16px
32px
0
;
border-bottom
:
1px
solid
#e8e8e8
;
.breadcrumb
{
margin-bottom
:
16px
;
}
.detail
{
display
:
flex
;
/*margin-bottom: 16px;*/
.avatar
{
flex
:
0
1
72px
;
margin
:
0
24px
8px
0
;
&
>
span
{
border-radius
:
72px
;
display
:
block
;
width
:
72px
;
height
:
72px
;
}
}
.main
{
width
:
100%
;
flex
:
0
1
auto
;
.row
{
display
:
flex
;
width
:
100%
;
.avatar
{
margin-bottom
:
16px
;
}
}
.title
{
font-size
:
20px
;
font-weight
:
500
;
font-size
:
20px
;
line-height
:
28px
;
font-weight
:
500
;
color
:
rgba
(
0
,
0
,
0
,
.85
);
margin-bottom
:
16px
;
flex
:
auto
;
}
.logo
{
width
:
28px
;
height
:
28px
;
border-radius
:
4px
;
margin-right
:
16px
;
}
.content
,
.headerContent
{
flex
:
auto
;
color
:
rgba
(
0
,
0
,
0
,
.45
);
line-height
:
22px
;
.link
{
margin-top
:
16px
;
line-height
:
24px
;
a
{
font-size
:
14px
;
margin-right
:
32px
;
}
}
}
.extra
{
flex
:
0
1
auto
;
margin-left
:
88px
;
min-width
:
242px
;
text-align
:
right
;
}
.action
{
margin-left
:
56px
;
min-width
:
266px
;
flex
:
0
1
auto
;
text-align
:
right
;
&:empty
{
display
:
none
;
}
}
}
}
}
.mobile
.page-header
{
.main
{
.row
{
flex-wrap
:
wrap
;
.avatar
{
flex
:
0
1
25%
;
margin
:
0
2%
8px
0
;
}
.content
,
.headerContent
{
flex
:
0
1
70%
;
.link
{
margin-top
:
16px
;
line-height
:
24px
;
a
{
font-size
:
14px
;
margin-right
:
10px
;
}
}
}
.extra
{
flex
:
1
1
auto
;
margin-left
:
0
;
min-width
:
0
;
text-align
:
right
;
}
.action
{
margin-left
:
unset
;
min-width
:
266px
;
flex
:
0
1
auto
;
text-align
:
left
;
margin-bottom
:
12px
;
&:empty
{
display
:
none
;
}
}
}
}
</
style
>
<
template
>
<div
class=
"page-header"
>
<div
class=
"page-header-index-wide"
>
<a-breadcrumb
class=
"breadcrumb"
>
<a-breadcrumb-item
v-for=
"(item, index) in breadList"
:key=
"index"
>
<router-link
v-if=
"item.name != name && index != 1"
:to=
"
{ path: item.path === '' ? '/' : item.path }"
>
{{
item
.
meta
.
title
}}
</router-link>
<span
v-else
>
{{
item
.
meta
.
title
}}
</span>
</a-breadcrumb-item>
</a-breadcrumb>
<div
class=
"detail"
>
<div
class=
"main"
v-if=
"!$route.meta.hiddenHeaderContent"
>
<div
class=
"row"
>
<img
v-if=
"logo"
:src=
"logo"
class=
"logo"
/>
<h1
v-if=
"title"
class=
"title"
>
{{
title
}}
</h1>
<div
class=
"action"
>
<slot
name=
"action"
></slot>
</div>
</div>
<div
class=
"row"
>
<div
v-if=
"avatar"
class=
"avatar"
>
<a-avatar
:src=
"avatar"
/>
</div>
<div
v-if=
"this.$slots.content"
class=
"headerContent"
>
<slot
name=
"content"
></slot>
</div>
<div
v-if=
"this.$slots.extra"
class=
"extra"
>
<slot
name=
"extra"
></slot>
</div>
</div>
<div>
<slot
name=
"pageMenu"
></slot>
</div>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
import
Breadcrumb
from
'@/components/tools/Breadcrumb'
export
default
{
name
:
'PageHeader'
,
components
:
{
's-breadcrumb'
:
Breadcrumb
},
props
:
{
title
:
{
type
:
String
,
default
:
''
,
required
:
false
},
breadcrumb
:
{
type
:
Array
,
default
:
null
,
required
:
false
},
logo
:
{
type
:
String
,
default
:
''
,
required
:
false
},
avatar
:
{
type
:
String
,
default
:
''
,
required
:
false
}
},
data
()
{
return
{
name
:
''
,
breadList
:
[]
}
},
created
()
{
this
.
getBreadcrumb
()
},
methods
:
{
getBreadcrumb
()
{
this
.
breadList
=
[]
// this.breadList.push({name: 'index', path: '/dashboard/', meta: {title: '首页'}})
this
.
name
=
this
.
$route
.
name
this
.
$route
.
matched
.
forEach
((
item
)
=>
{
// item.name !== 'index' && this.breadList.push(item)
this
.
breadList
.
push
(
item
)
})
}
},
watch
:
{
$route
()
{
this
.
getBreadcrumb
()
}
}
}
</
script
>
<
style
lang=
"less"
scoped
>
.page-header
{
background
:
#fff
;
padding
:
16px
32px
0
;
border-bottom
:
1px
solid
#e8e8e8
;
.breadcrumb
{
margin-bottom
:
16px
;
}
.detail
{
display
:
flex
;
/*margin-bottom: 16px;*/
.avatar
{
flex
:
0
1
72px
;
margin
:
0
24px
8px
0
;
&
>
span
{
border-radius
:
72px
;
display
:
block
;
width
:
72px
;
height
:
72px
;
}
}
.main
{
width
:
100%
;
flex
:
0
1
auto
;
.row
{
display
:
flex
;
width
:
100%
;
.avatar
{
margin-bottom
:
16px
;
}
}
.title
{
font-size
:
20px
;
font-weight
:
500
;
font-size
:
20px
;
line-height
:
28px
;
font-weight
:
500
;
color
:
rgba
(
0
,
0
,
0
,
.85
);
margin-bottom
:
16px
;
flex
:
auto
;
}
.logo
{
width
:
28px
;
height
:
28px
;
border-radius
:
4px
;
margin-right
:
16px
;
}
.content
,
.headerContent
{
flex
:
auto
;
color
:
rgba
(
0
,
0
,
0
,
.45
);
line-height
:
22px
;
.link
{
margin-top
:
16px
;
line-height
:
24px
;
a
{
font-size
:
14px
;
margin-right
:
32px
;
}
}
}
.extra
{
flex
:
0
1
auto
;
margin-left
:
88px
;
min-width
:
242px
;
text-align
:
right
;
}
.action
{
margin-left
:
56px
;
min-width
:
266px
;
flex
:
0
1
auto
;
text-align
:
right
;
&:empty
{
display
:
none
;
}
}
}
}
}
.mobile
.page-header
{
.main
{
.row
{
flex-wrap
:
wrap
;
.avatar
{
flex
:
0
1
25%
;
margin
:
0
2%
8px
0
;
}
.content
,
.headerContent
{
flex
:
0
1
70%
;
.link
{
margin-top
:
16px
;
line-height
:
24px
;
a
{
font-size
:
14px
;
margin-right
:
10px
;
}
}
}
.extra
{
flex
:
1
1
auto
;
margin-left
:
0
;
min-width
:
0
;
text-align
:
right
;
}
.action
{
margin-left
:
unset
;
min-width
:
266px
;
flex
:
0
1
auto
;
text-align
:
left
;
margin-bottom
:
12px
;
&:empty
{
display
:
none
;
}
}
}
}
}
</
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