parent
17e9e07162
commit
b8db6b49b4
6 changed files with 272 additions and 5 deletions
@ -0,0 +1,36 @@ |
|||||||
|
<template> |
||||||
|
<div style="margin: -24px -24px 0px"> |
||||||
|
<page-header :breadcrumb="breadcrumb"/> |
||||||
|
<div style="margin: 24px 24px 0px"> |
||||||
|
<router-view ref="page"/> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import PageHeader from '../page/PageHeader' |
||||||
|
export default { |
||||||
|
name: 'CommonPageLayout', |
||||||
|
components: {PageHeader}, |
||||||
|
data () { |
||||||
|
return { |
||||||
|
breadcrumb: [] |
||||||
|
} |
||||||
|
}, |
||||||
|
mounted () { |
||||||
|
this.getPageHeaderInfo() |
||||||
|
}, |
||||||
|
beforeUpdate () { |
||||||
|
this.getPageHeaderInfo() |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
getPageHeaderInfo () { |
||||||
|
this.breadcrumb = this.$route.matched |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style scoped> |
||||||
|
|
||||||
|
</style> |
@ -0,0 +1,43 @@ |
|||||||
|
<template> |
||||||
|
<div class="footer"> |
||||||
|
<div class="links"> |
||||||
|
<a>Pro首页</a> |
||||||
|
<a><a-icon type="github" /></a> |
||||||
|
<a>Ant Design</a> |
||||||
|
</div> |
||||||
|
<div class="copyright"> |
||||||
|
Copyright<a-icon type="copyright" />2018 XXXXXXXXXXXXXXXXXX出品 |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import AIcon from 'vue-antd-ui/es/icon/icon' |
||||||
|
export default { |
||||||
|
name: 'GloablFooter', |
||||||
|
components: {AIcon} |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style lang="less" scoped> |
||||||
|
.footer{ |
||||||
|
padding: 0 16px; |
||||||
|
margin: 48px 0 24px; |
||||||
|
text-align: center; |
||||||
|
.copyright{ |
||||||
|
color: rgba(0,0,0,.45); |
||||||
|
font-size: 14px; |
||||||
|
} |
||||||
|
.links{ |
||||||
|
margin-bottom: 8px; |
||||||
|
a:not(:last-child) { |
||||||
|
margin-right: 40px; |
||||||
|
} |
||||||
|
a{ |
||||||
|
color: rgba(0,0,0,.45); |
||||||
|
-webkit-transition: all .3s; |
||||||
|
transition: all .3s; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
</style> |
@ -0,0 +1,140 @@ |
|||||||
|
<template> |
||||||
|
<div> |
||||||
|
<a-card :bordered="false"> |
||||||
|
<a-row> |
||||||
|
<a-col :sm="8" :xs="24"> |
||||||
|
<head-info title="我的待办" content="8个任务" bordered/> |
||||||
|
</a-col> |
||||||
|
<a-col :sm="8" :xs="24"> |
||||||
|
<head-info title="本周任务平均处理时间" content="32分钟" bordered/> |
||||||
|
</a-col> |
||||||
|
<a-col :sm="8" :xs="24"> |
||||||
|
<head-info title="本周完成任务数" content="24个"/> |
||||||
|
</a-col> |
||||||
|
</a-row> |
||||||
|
</a-card> |
||||||
|
<a-card |
||||||
|
style="margin-top: 24px" |
||||||
|
:bordered="false" |
||||||
|
title="标准列表" |
||||||
|
> |
||||||
|
<div slot="extra"> |
||||||
|
<a-radio-group> |
||||||
|
<a-radio-button>全部</a-radio-button> |
||||||
|
<a-radio-button>进行中</a-radio-button> |
||||||
|
<a-radio-button>等待中</a-radio-button> |
||||||
|
</a-radio-group> |
||||||
|
<a-input-search style="margin-left: 16px; width: 272px;" /> |
||||||
|
</div> |
||||||
|
<a-button type="dashed" style="width: 100%" icon="plus">添加</a-button> |
||||||
|
<a-list size="large" :pagination="{showSizeChanger: true, showQuickJumper: true, pageSize: 5, total: 50}"> |
||||||
|
<a-list-item :key="i" v-for="i in 5"> |
||||||
|
<a-list-item-meta |
||||||
|
description="那是一种内在的东西, 他们到达不了,也无法触及的" |
||||||
|
> |
||||||
|
<a-avatar slot="avatar" size="large" shape="square" src="https://gw.alipayobjects.com/zos/rmsportal/WdGqmHpayyMjiEhcKoVE.png"/> |
||||||
|
<a slot="title">Alipay</a> |
||||||
|
</a-list-item-meta> |
||||||
|
<div slot="actions"> |
||||||
|
<a>编辑</a> |
||||||
|
</div> |
||||||
|
<div slot="actions"> |
||||||
|
<a-dropdown> |
||||||
|
<div slot="overlay"> |
||||||
|
<a-menu> |
||||||
|
<a-menu-item><a>编辑</a></a-menu-item> |
||||||
|
<a-menu-item><a>删除</a></a-menu-item> |
||||||
|
</a-menu> |
||||||
|
</div> |
||||||
|
<a>更多<a-icon type="down"/></a> |
||||||
|
</a-dropdown> |
||||||
|
</div> |
||||||
|
<div class="list-content"> |
||||||
|
<div class="list-content-item"> |
||||||
|
<span>Owner</span> |
||||||
|
<p>付晓晓</p> |
||||||
|
</div> |
||||||
|
<div class="list-content-item"> |
||||||
|
<span>开始时间</span> |
||||||
|
<p>2018-07-26 22:44</p> |
||||||
|
</div> |
||||||
|
<div class="list-content-item"> |
||||||
|
<a-progress :percent="80" style="width: 180px" /> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</a-list-item> |
||||||
|
</a-list> |
||||||
|
</a-card> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import ACard from 'vue-antd-ui/es/card/Card' |
||||||
|
import ARow from 'vue-antd-ui/es/grid/Row' |
||||||
|
import ACol from 'vue-antd-ui/es/grid/Col' |
||||||
|
import HeadInfo from '../tool/HeadInfo' |
||||||
|
import AButton from 'vue-antd-ui/es/button/button' |
||||||
|
import AList from 'vue-antd-ui/es/list/index' |
||||||
|
import AListItem from 'vue-antd-ui/es/list/Item' |
||||||
|
import AAvatar from 'vue-antd-ui/es/avatar/Avatar' |
||||||
|
import AProgress from 'vue-antd-ui/es/progress' |
||||||
|
import ADropdown from 'vue-antd-ui/es/dropdown' |
||||||
|
import AMenu from 'vue-antd-ui/es/menu/index' |
||||||
|
import AIcon from 'vue-antd-ui/es/icon/icon' |
||||||
|
import AButtonGroup from 'vue-antd-ui/es/button/button-group' |
||||||
|
import AInput from 'vue-antd-ui/es/input/Input' |
||||||
|
import AInputSearch from 'vue-antd-ui/es/input/Search' |
||||||
|
import ARadioGroup from 'vue-antd-ui/es/radio/Group' |
||||||
|
import ARadio from 'vue-antd-ui/es/radio' |
||||||
|
|
||||||
|
const AListItemMeta = AListItem.Meta |
||||||
|
const AMenuItem = AMenu.Item |
||||||
|
const ARadioButton = ARadio.Button |
||||||
|
export default { |
||||||
|
name: 'StandardList', |
||||||
|
components: { |
||||||
|
ARadioButton, |
||||||
|
ARadio, |
||||||
|
ARadioGroup, |
||||||
|
AInputSearch, |
||||||
|
AInput, |
||||||
|
AButtonGroup, |
||||||
|
AIcon, |
||||||
|
AMenuItem, |
||||||
|
AMenu, |
||||||
|
ADropdown, |
||||||
|
AProgress, |
||||||
|
AAvatar, |
||||||
|
AListItemMeta, |
||||||
|
AListItem, |
||||||
|
AList, |
||||||
|
AButton, |
||||||
|
HeadInfo, |
||||||
|
ACol, |
||||||
|
ARow, |
||||||
|
ACard} |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style lang="less" scoped> |
||||||
|
.ant-avatar-lg{ |
||||||
|
width: 48px; |
||||||
|
height: 48px; |
||||||
|
line-height: 48px; |
||||||
|
} |
||||||
|
.list-content-item{ |
||||||
|
color: rgba(0,0,0,.45); |
||||||
|
display: inline-block; |
||||||
|
vertical-align: middle; |
||||||
|
font-size: 14px; |
||||||
|
margin-left: 40px; |
||||||
|
span{ |
||||||
|
line-height: 20px; |
||||||
|
} |
||||||
|
p{ |
||||||
|
margin-top: 4px; |
||||||
|
margin-bottom: 0; |
||||||
|
line-height: 22px; |
||||||
|
} |
||||||
|
} |
||||||
|
</style> |
@ -0,0 +1,42 @@ |
|||||||
|
<template> |
||||||
|
<div class="head-info"> |
||||||
|
<span>{{title}}</span> |
||||||
|
<p>{{content}}</p> |
||||||
|
<em v-if="bordered" /> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
export default { |
||||||
|
name: 'HeadInfo', |
||||||
|
props: ['title', 'content', 'bordered'] |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style lang="less" scoped> |
||||||
|
.head-info{ |
||||||
|
position: relative; |
||||||
|
text-align: center; |
||||||
|
span{ |
||||||
|
color: rgba(0,0,0,.45); |
||||||
|
display: inline-block; |
||||||
|
font-size: 14px; |
||||||
|
line-height: 22px; |
||||||
|
margin-bottom: 4px; |
||||||
|
}; |
||||||
|
p{ |
||||||
|
color: rgba(0,0,0,.85); |
||||||
|
font-size: 24px; |
||||||
|
line-height: 32px; |
||||||
|
margin: 0; |
||||||
|
}; |
||||||
|
em{ |
||||||
|
background-color: #e8e8e8; |
||||||
|
position: absolute; |
||||||
|
height: 56px; |
||||||
|
width: 1px; |
||||||
|
top: 0; |
||||||
|
right: 0; |
||||||
|
} |
||||||
|
} |
||||||
|
</style> |
Loading…
Reference in new issue