6 changed files with 812 additions and 1064 deletions
@ -0,0 +1,68 @@ |
|||||
|
<template> |
||||
|
<div class="linkGroup"> |
||||
|
<a v-for="(item, index) in links" :key="index" :href="item.href"> |
||||
|
{{ item.title }} |
||||
|
</a> |
||||
|
<a-button size="small" type="primary" ghost> |
||||
|
<PlusOutlined /> 添加 |
||||
|
</a-button> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { Button } from "ant-design-vue"; |
||||
|
|
||||
|
export default { |
||||
|
components: { |
||||
|
AButton: Button, |
||||
|
}, |
||||
|
}; |
||||
|
</script> |
||||
|
|
||||
|
<script setup> |
||||
|
import { PlusOutlined } from "@ant-design/icons-vue"; |
||||
|
|
||||
|
const links = [ |
||||
|
{ |
||||
|
title: "操作一", |
||||
|
href: "", |
||||
|
}, |
||||
|
{ |
||||
|
title: "操作二", |
||||
|
href: "", |
||||
|
}, |
||||
|
{ |
||||
|
title: "操作三", |
||||
|
href: "", |
||||
|
}, |
||||
|
{ |
||||
|
title: "操作四", |
||||
|
href: "", |
||||
|
}, |
||||
|
{ |
||||
|
title: "操作五", |
||||
|
href: "", |
||||
|
}, |
||||
|
{ |
||||
|
title: "操作六", |
||||
|
href: "", |
||||
|
}, |
||||
|
]; |
||||
|
</script> |
||||
|
|
||||
|
<style scoped lang="less"> |
||||
|
.linkGroup { |
||||
|
padding: 20px 0 8px 24px; |
||||
|
font-size: 0; |
||||
|
& > a { |
||||
|
display: inline-block; |
||||
|
width: 25%; |
||||
|
margin-bottom: 13px; |
||||
|
color: rgba(0, 0, 0, 0.65); |
||||
|
font-size: 14px; |
||||
|
&:hover { |
||||
|
color: #1890ff; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,736 @@ |
|||||
|
<template> |
||||
|
<div> |
||||
|
<div class="pageHeaderContent"> |
||||
|
<div class="avatar"> |
||||
|
<a-avatar size="large" :src="currentUser.avatar" /> |
||||
|
</div> |
||||
|
<div class="content"> |
||||
|
<div class="contentTitle"> |
||||
|
早安, |
||||
|
{{ currentUser.name }} |
||||
|
,祝你开心每一天! |
||||
|
</div> |
||||
|
<div>{{ currentUser.title }} |{{ currentUser.group }}</div> |
||||
|
</div> |
||||
|
<div class="extraContent"> |
||||
|
<div class="statItem"> |
||||
|
<a-statistic title="项目数" :value="56" /> |
||||
|
</div> |
||||
|
<div class="statItem"> |
||||
|
<a-statistic title="团队内排名" :value="8" suffix="/ 24" /> |
||||
|
</div> |
||||
|
<div class="statItem"> |
||||
|
<a-statistic title="项目访问" :value="2223" /> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div style="padding: 10px"> |
||||
|
<a-row :gutter="24"> |
||||
|
<a-col :xl="16" :lg="24" :md="24" :sm="24" :xs="24"> |
||||
|
<a-card |
||||
|
class="projectList" |
||||
|
:style="{ marginBottom: '24px' }" |
||||
|
title="进行中的项目" |
||||
|
:bordered="false" |
||||
|
:loading="false" |
||||
|
:body-style="{ padding: 0 }" |
||||
|
> |
||||
|
<template #extra> |
||||
|
<a href=""> <span style="color: #1890ff">全部项目</span> </a> |
||||
|
</template> |
||||
|
<a-card-grid |
||||
|
v-for="item in projectNotice" |
||||
|
:key="item.id" |
||||
|
class="projectGrid" |
||||
|
> |
||||
|
<a-card |
||||
|
:body-style="{ padding: 0 }" |
||||
|
style="box-shadow: none" |
||||
|
:bordered="false" |
||||
|
> |
||||
|
<a-card-meta :description="item.description" class="w-full"> |
||||
|
<template #title> |
||||
|
<div class="cardTitle"> |
||||
|
<a-avatar size="small" :src="item.logo" /> |
||||
|
<a :href="item.href"> |
||||
|
{{ item.title }} |
||||
|
</a> |
||||
|
</div> |
||||
|
</template> |
||||
|
</a-card-meta> |
||||
|
<div class="projectItemContent"> |
||||
|
<a :href="item.memberLink"> |
||||
|
{{ item.member || "" }} |
||||
|
</a> |
||||
|
<span class="datetime" ml-2 :title="item.updatedAt"> |
||||
|
{{ item.updatedAt }} |
||||
|
</span> |
||||
|
</div> |
||||
|
</a-card> |
||||
|
</a-card-grid> |
||||
|
</a-card> |
||||
|
<a-card |
||||
|
:body-style="{ padding: 0 }" |
||||
|
:bordered="false" |
||||
|
class="activeCard" |
||||
|
title="动态" |
||||
|
:loading="false" |
||||
|
> |
||||
|
<a-list :data-source="activities" class="activitiesList"> |
||||
|
<template #renderItem="{ item }"> |
||||
|
<a-list-item :key="item.id"> |
||||
|
<a-list-item-meta> |
||||
|
<template #title> |
||||
|
<span> |
||||
|
<a class="username">{{ item.user.name }}</a |
||||
|
> |
||||
|
<span class="event"> |
||||
|
<span>{{ item.template1 }}</span |
||||
|
> |
||||
|
<a href="" style="color: #1890ff"> |
||||
|
{{ item?.group?.name }} </a |
||||
|
> <span>{{ item.template2 }}</span |
||||
|
> |
||||
|
<a href="" style="color: #1890ff"> |
||||
|
{{ item?.project?.name }} |
||||
|
</a> |
||||
|
</span> |
||||
|
</span> |
||||
|
</template> |
||||
|
<template #avatar> |
||||
|
<a-avatar :src="item.user.avatar" /> |
||||
|
</template> |
||||
|
<template #description> |
||||
|
<span class="datetime" :title="item.updatedAt"> |
||||
|
{{ item.updatedAt }} |
||||
|
</span> |
||||
|
</template> |
||||
|
</a-list-item-meta> |
||||
|
</a-list-item> |
||||
|
</template> |
||||
|
</a-list> |
||||
|
</a-card> |
||||
|
</a-col> |
||||
|
<a-col :xl="8" :lg="24" :md="24" :sm="24" :xs="24"> |
||||
|
<a-card |
||||
|
:style="{ marginBottom: '24px' }" |
||||
|
title="快速开始 / 便捷导航" |
||||
|
:bordered="false" |
||||
|
:body-style="{ padding: 0 }" |
||||
|
> |
||||
|
<EditableLinkGroup /> |
||||
|
</a-card> |
||||
|
<a-card |
||||
|
:style="{ marginBottom: '24px' }" |
||||
|
:bordered="false" |
||||
|
title="XX 指数" |
||||
|
> |
||||
|
<div class="chart"> |
||||
|
<div ref="radarContainer" /> |
||||
|
</div> |
||||
|
</a-card> |
||||
|
<a-card |
||||
|
:body-style="{ paddingTop: '12px', paddingBottom: '12px' }" |
||||
|
:bordered="false" |
||||
|
title="团队" |
||||
|
> |
||||
|
<div class="members"> |
||||
|
<a-row :gutter="48"> |
||||
|
<a-col |
||||
|
v-for="item in projectNotice" |
||||
|
:key="`members-item-${item.id}`" |
||||
|
:span="12" |
||||
|
> |
||||
|
<a :href="item.href"> |
||||
|
<a-avatar :src="item.logo" size="small" /> |
||||
|
<span class="member">{{ item.member }}</span> |
||||
|
</a> |
||||
|
</a-col> |
||||
|
</a-row> |
||||
|
</div> |
||||
|
</a-card> |
||||
|
</a-col> |
||||
|
</a-row> |
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { |
||||
|
Statistic, |
||||
|
Row, |
||||
|
Col, |
||||
|
Card, |
||||
|
CardGrid, |
||||
|
CardMeta, |
||||
|
List, |
||||
|
ListItem, |
||||
|
ListItemMeta, |
||||
|
Avatar, |
||||
|
} from "ant-design-vue"; |
||||
|
|
||||
|
export default { |
||||
|
components: { |
||||
|
AStatistic: Statistic, |
||||
|
ARow: Row, |
||||
|
ACol: Col, |
||||
|
ACard: Card, |
||||
|
ACardGrid: CardGrid, |
||||
|
ACardMeta: CardMeta, |
||||
|
AList: List, |
||||
|
AListItem: ListItem, |
||||
|
AListItemMeta: ListItemMeta, |
||||
|
AAvatar: Avatar, |
||||
|
}, |
||||
|
}; |
||||
|
</script> |
||||
|
|
||||
|
|
||||
|
<script setup> |
||||
|
import { Radar } from "@antv/g2plot"; |
||||
|
import EditableLinkGroup from "./editable-link-group.vue"; |
||||
|
|
||||
|
defineOptions({ |
||||
|
name: "DashBoard", |
||||
|
}); |
||||
|
|
||||
|
const currentUser = { |
||||
|
avatar: "https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png", |
||||
|
name: "吴彦祖", |
||||
|
userid: "00000001", |
||||
|
email: "antdesign@alipay.com", |
||||
|
signature: "海纳百川,有容乃大", |
||||
|
title: "交互专家", |
||||
|
group: "蚂蚁金服-某某某事业群-某某平台部-某某技术部-UED", |
||||
|
}; |
||||
|
|
||||
|
const projectNotice = [ |
||||
|
{ |
||||
|
id: "xxx1", |
||||
|
title: "Alipay", |
||||
|
logo: "https://gw.alipayobjects.com/zos/rmsportal/WdGqmHpayyMjiEhcKoVE.png", |
||||
|
description: "那是一种内在的东西,他们到达不了,也无法触及的", |
||||
|
updatedAt: "几秒前", |
||||
|
member: "科学搬砖组", |
||||
|
href: "", |
||||
|
memberLink: "", |
||||
|
}, |
||||
|
{ |
||||
|
id: "xxx2", |
||||
|
title: "Angular", |
||||
|
logo: "https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png", |
||||
|
description: "希望是一个好东西,也许是最好的,好东西是不会消亡的", |
||||
|
updatedAt: "6 年前", |
||||
|
member: "全组都是吴彦祖", |
||||
|
href: "", |
||||
|
memberLink: "", |
||||
|
}, |
||||
|
{ |
||||
|
id: "xxx3", |
||||
|
title: "Ant Design", |
||||
|
logo: "https://gw.alipayobjects.com/zos/rmsportal/dURIMkkrRFpPgTuzkwnB.png", |
||||
|
description: "城镇中有那么多的酒馆,她却偏偏走进了我的酒馆", |
||||
|
updatedAt: "几秒前", |
||||
|
member: "中二少女团", |
||||
|
href: "", |
||||
|
memberLink: "", |
||||
|
}, |
||||
|
{ |
||||
|
id: "xxx4", |
||||
|
title: "Ant Design Pro", |
||||
|
logo: "https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png", |
||||
|
description: "那时候我只会想自己想要什么,从不想自己拥有什么", |
||||
|
updatedAt: "6 年前", |
||||
|
member: "程序员日常", |
||||
|
href: "", |
||||
|
memberLink: "", |
||||
|
}, |
||||
|
{ |
||||
|
id: "xxx5", |
||||
|
title: "Bootstrap", |
||||
|
logo: "https://gw.alipayobjects.com/zos/rmsportal/siCrBXXhmvTQGWPNLBow.png", |
||||
|
description: |
||||
|
"............................凛冬将至.........................", |
||||
|
updatedAt: "6 年前", |
||||
|
member: "高逼格设计天团", |
||||
|
href: "", |
||||
|
memberLink: "", |
||||
|
}, |
||||
|
{ |
||||
|
id: "xxx6", |
||||
|
title: "React", |
||||
|
logo: "https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png", |
||||
|
description: "生命就像一盒巧克力,结果往往出人意料", |
||||
|
updatedAt: "6 年前", |
||||
|
member: "骗你来学计算机", |
||||
|
href: "", |
||||
|
memberLink: "", |
||||
|
}, |
||||
|
]; |
||||
|
|
||||
|
const activities = [ |
||||
|
{ |
||||
|
id: "trend-1", |
||||
|
updatedAt: "几秒前", |
||||
|
user: { |
||||
|
name: "曲丽丽", |
||||
|
avatar: |
||||
|
"https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png", |
||||
|
}, |
||||
|
group: { |
||||
|
name: "高逼格设计天团", |
||||
|
link: "http://github.com/", |
||||
|
}, |
||||
|
project: { |
||||
|
name: "六月迭代", |
||||
|
link: "http://github.com/", |
||||
|
}, |
||||
|
template1: "在", |
||||
|
template2: "新建项目", |
||||
|
}, |
||||
|
{ |
||||
|
id: "trend-2", |
||||
|
updatedAt: "几秒前", |
||||
|
user: { |
||||
|
name: "付小小", |
||||
|
avatar: |
||||
|
"https://gw.alipayobjects.com/zos/rmsportal/cnrhVkzwxjPwAaCfPbdc.png", |
||||
|
}, |
||||
|
group: { |
||||
|
name: "高逼格设计天团", |
||||
|
link: "http://github.com/", |
||||
|
}, |
||||
|
project: { |
||||
|
name: "六月迭代", |
||||
|
link: "http://github.com/", |
||||
|
}, |
||||
|
template1: "在", |
||||
|
template2: "新建项目", |
||||
|
}, |
||||
|
{ |
||||
|
id: "trend-3", |
||||
|
updatedAt: "几秒前", |
||||
|
user: { |
||||
|
name: "林东东", |
||||
|
avatar: |
||||
|
"https://gw.alipayobjects.com/zos/rmsportal/gaOngJwsRYRaVAuXXcmB.png", |
||||
|
}, |
||||
|
group: { |
||||
|
name: "中二少女团", |
||||
|
link: "http://github.com/", |
||||
|
}, |
||||
|
project: { |
||||
|
name: "六月迭代", |
||||
|
link: "http://github.com/", |
||||
|
}, |
||||
|
template1: "在", |
||||
|
template2: "新建项目", |
||||
|
}, |
||||
|
{ |
||||
|
id: "trend-4", |
||||
|
updatedAt: "几秒前", |
||||
|
user: { |
||||
|
name: "周星星", |
||||
|
avatar: |
||||
|
"https://gw.alipayobjects.com/zos/rmsportal/WhxKECPNujWoWEFNdnJE.png", |
||||
|
}, |
||||
|
group: { |
||||
|
name: "5 月日常迭代", |
||||
|
link: "http://github.com/", |
||||
|
}, |
||||
|
template1: "将", |
||||
|
template2: "更新至已发布状态", |
||||
|
}, |
||||
|
{ |
||||
|
id: "trend-5", |
||||
|
updatedAt: "几秒前", |
||||
|
user: { |
||||
|
name: "朱偏右", |
||||
|
avatar: |
||||
|
"https://gw.alipayobjects.com/zos/rmsportal/ubnKSIfAJTxIgXOKlciN.png", |
||||
|
}, |
||||
|
group: { |
||||
|
name: "工程效能", |
||||
|
link: "http://github.com/", |
||||
|
}, |
||||
|
project: { |
||||
|
name: "留言", |
||||
|
link: "http://github.com/", |
||||
|
}, |
||||
|
template1: "在", |
||||
|
template2: "发布了", |
||||
|
}, |
||||
|
{ |
||||
|
id: "trend-6", |
||||
|
updatedAt: "几秒前", |
||||
|
user: { |
||||
|
name: "乐哥", |
||||
|
avatar: |
||||
|
"https://gw.alipayobjects.com/zos/rmsportal/jZUIxmJycoymBprLOUbT.png", |
||||
|
}, |
||||
|
group: { |
||||
|
name: "程序员日常", |
||||
|
link: "http://github.com/", |
||||
|
}, |
||||
|
project: { |
||||
|
name: "品牌迭代", |
||||
|
link: "http://github.com/", |
||||
|
}, |
||||
|
template1: "在", |
||||
|
template2: "新建项目", |
||||
|
}, |
||||
|
]; |
||||
|
|
||||
|
const radarContainer = ref(); |
||||
|
const radarData = [ |
||||
|
{ |
||||
|
name: "个人", |
||||
|
label: "引用", |
||||
|
value: 10, |
||||
|
}, |
||||
|
{ |
||||
|
name: "个人", |
||||
|
label: "口碑", |
||||
|
value: 8, |
||||
|
}, |
||||
|
{ |
||||
|
name: "个人", |
||||
|
label: "产量", |
||||
|
value: 4, |
||||
|
}, |
||||
|
{ |
||||
|
name: "个人", |
||||
|
label: "贡献", |
||||
|
value: 5, |
||||
|
}, |
||||
|
{ |
||||
|
name: "个人", |
||||
|
label: "热度", |
||||
|
value: 7, |
||||
|
}, |
||||
|
{ |
||||
|
name: "团队", |
||||
|
label: "引用", |
||||
|
value: 3, |
||||
|
}, |
||||
|
{ |
||||
|
name: "团队", |
||||
|
label: "口碑", |
||||
|
value: 9, |
||||
|
}, |
||||
|
{ |
||||
|
name: "团队", |
||||
|
label: "产量", |
||||
|
value: 6, |
||||
|
}, |
||||
|
{ |
||||
|
name: "团队", |
||||
|
label: "贡献", |
||||
|
value: 3, |
||||
|
}, |
||||
|
{ |
||||
|
name: "团队", |
||||
|
label: "热度", |
||||
|
value: 1, |
||||
|
}, |
||||
|
{ |
||||
|
name: "部门", |
||||
|
label: "引用", |
||||
|
value: 4, |
||||
|
}, |
||||
|
{ |
||||
|
name: "部门", |
||||
|
label: "口碑", |
||||
|
value: 1, |
||||
|
}, |
||||
|
{ |
||||
|
name: "部门", |
||||
|
label: "产量", |
||||
|
value: 6, |
||||
|
}, |
||||
|
{ |
||||
|
name: "部门", |
||||
|
label: "贡献", |
||||
|
value: 5, |
||||
|
}, |
||||
|
{ |
||||
|
name: "部门", |
||||
|
label: "热度", |
||||
|
value: 7, |
||||
|
}, |
||||
|
]; |
||||
|
let radar; |
||||
|
onMounted(() => { |
||||
|
radar = new Radar(radarContainer.value, { |
||||
|
data: radarData, |
||||
|
xField: "label", |
||||
|
yField: "value", |
||||
|
seriesField: "name", |
||||
|
point: { |
||||
|
size: 4, |
||||
|
}, |
||||
|
legend: { |
||||
|
layout: "horizontal", |
||||
|
position: "bottom", |
||||
|
}, |
||||
|
}); |
||||
|
radar.render(); |
||||
|
}); |
||||
|
|
||||
|
onBeforeUnmount(() => { |
||||
|
radar?.destroy?.(); |
||||
|
}); |
||||
|
</script> |
||||
|
|
||||
|
<style scoped lang="less"> |
||||
|
.textOverflow() { |
||||
|
overflow: hidden; |
||||
|
white-space: nowrap; |
||||
|
text-overflow: ellipsis; |
||||
|
word-break: break-all; |
||||
|
} |
||||
|
|
||||
|
// mixins for clearfix |
||||
|
// ------------------------ |
||||
|
.clearfix() { |
||||
|
zoom: 1; |
||||
|
&::before, |
||||
|
&::after { |
||||
|
display: table; |
||||
|
content: " "; |
||||
|
} |
||||
|
&::after { |
||||
|
clear: both; |
||||
|
height: 0; |
||||
|
font-size: 0; |
||||
|
visibility: hidden; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.activitiesList { |
||||
|
padding: 0 24px 8px 24px; |
||||
|
.username { |
||||
|
color: rgba(0, 0, 0, 0.65); |
||||
|
} |
||||
|
.event { |
||||
|
font-weight: normal; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.pageHeaderContent { |
||||
|
display: flex; |
||||
|
padding: 12px; |
||||
|
margin-bottom: 24px; |
||||
|
box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px; |
||||
|
.avatar { |
||||
|
flex: 0 1 72px; |
||||
|
& > span { |
||||
|
display: block; |
||||
|
width: 72px; |
||||
|
height: 72px; |
||||
|
border-radius: 72px; |
||||
|
} |
||||
|
} |
||||
|
.content { |
||||
|
position: relative; |
||||
|
top: 4px; |
||||
|
flex: 1 1 auto; |
||||
|
margin-left: 24px; |
||||
|
color: rgba(0, 0, 0, 0.45); |
||||
|
line-height: 22px; |
||||
|
.contentTitle { |
||||
|
margin-bottom: 12px; |
||||
|
color: rgba(0, 0, 0, 0.85); |
||||
|
font-weight: 500; |
||||
|
font-size: 20px; |
||||
|
line-height: 28px; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.extraContent { |
||||
|
.clearfix(); |
||||
|
|
||||
|
float: right; |
||||
|
white-space: nowrap; |
||||
|
.statItem { |
||||
|
position: relative; |
||||
|
display: inline-block; |
||||
|
padding: 0 32px; |
||||
|
> p:first-child { |
||||
|
margin-bottom: 4px; |
||||
|
color: rgba(0, 0, 0, 0.45); |
||||
|
font-size: 14px; |
||||
|
line-height: 22px; |
||||
|
} |
||||
|
> p { |
||||
|
margin: 0; |
||||
|
color: rgba(0, 0, 0, 0.85); |
||||
|
font-size: 30px; |
||||
|
line-height: 38px; |
||||
|
> span { |
||||
|
color: rgba(0, 0, 0, 0.45); |
||||
|
font-size: 20px; |
||||
|
} |
||||
|
} |
||||
|
&::after { |
||||
|
position: absolute; |
||||
|
top: 8px; |
||||
|
right: 0; |
||||
|
width: 1px; |
||||
|
height: 40px; |
||||
|
background-color: #e8e8e8; |
||||
|
content: ""; |
||||
|
} |
||||
|
&:last-child { |
||||
|
padding-right: 0; |
||||
|
&::after { |
||||
|
display: none; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.members { |
||||
|
a { |
||||
|
display: block; |
||||
|
height: 24px; |
||||
|
margin: 12px 0; |
||||
|
color: rgba(0, 0, 0, 0.65); |
||||
|
transition: all 0.3s; |
||||
|
.textOverflow(); |
||||
|
.member { |
||||
|
margin-left: 12px; |
||||
|
font-size: 14px; |
||||
|
line-height: 24px; |
||||
|
vertical-align: top; |
||||
|
} |
||||
|
&:hover { |
||||
|
color: #1890ff; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.projectList { |
||||
|
:deep(.ant-card-meta-description) { |
||||
|
height: 44px; |
||||
|
overflow: hidden; |
||||
|
color: rgba(0, 0, 0, 0.45); |
||||
|
line-height: 22px; |
||||
|
} |
||||
|
.cardTitle { |
||||
|
font-size: 0; |
||||
|
a { |
||||
|
display: inline-block; |
||||
|
height: 24px; |
||||
|
margin-left: 12px; |
||||
|
color: rgba(0, 0, 0, 0.85); |
||||
|
font-size: 14px; |
||||
|
line-height: 24px; |
||||
|
vertical-align: top; |
||||
|
&:hover { |
||||
|
color: #1890ff; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
.projectGrid { |
||||
|
width: 33.33%; |
||||
|
} |
||||
|
.projectItemContent { |
||||
|
display: flex; |
||||
|
height: 20px; |
||||
|
margin-top: 8px; |
||||
|
overflow: hidden; |
||||
|
font-size: 12px; |
||||
|
line-height: 20px; |
||||
|
.textOverflow(); |
||||
|
a { |
||||
|
display: inline-block; |
||||
|
flex: 1 1 0; |
||||
|
color: rgba(0, 0, 0, 0.45); |
||||
|
.textOverflow(); |
||||
|
&:hover { |
||||
|
color: #1890ff; |
||||
|
} |
||||
|
} |
||||
|
.datetime { |
||||
|
flex: 0 0 auto; |
||||
|
float: right; |
||||
|
color: rgba(0, 0, 0, 0.25); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.datetime { |
||||
|
color: rgba(0, 0, 0, 0.25); |
||||
|
} |
||||
|
|
||||
|
@media screen and (max-width: 1200px) and (min-width: 992px) { |
||||
|
.activeCard { |
||||
|
margin-bottom: 24px; |
||||
|
} |
||||
|
.members { |
||||
|
margin-bottom: 0; |
||||
|
} |
||||
|
.extraContent { |
||||
|
margin-left: -44px; |
||||
|
.statItem { |
||||
|
padding: 0 16px; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@media screen and (max-width: 992px) { |
||||
|
.activeCard { |
||||
|
margin-bottom: 24px; |
||||
|
} |
||||
|
.members { |
||||
|
margin-bottom: 0; |
||||
|
} |
||||
|
.extraContent { |
||||
|
float: none; |
||||
|
margin-right: 0; |
||||
|
.statItem { |
||||
|
padding: 0 16px; |
||||
|
text-align: left; |
||||
|
&::after { |
||||
|
display: none; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@media screen and (max-width: 768px) { |
||||
|
.extraContent { |
||||
|
margin-left: -16px; |
||||
|
} |
||||
|
.projectList { |
||||
|
.projectGrid { |
||||
|
width: 50%; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@media screen and (max-width: 576px) { |
||||
|
.pageHeaderContent { |
||||
|
display: block; |
||||
|
.content { |
||||
|
margin-left: 0; |
||||
|
} |
||||
|
} |
||||
|
.extraContent { |
||||
|
.statItem { |
||||
|
float: none; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@media screen and (max-width: 480px) { |
||||
|
.projectList { |
||||
|
.projectGrid { |
||||
|
width: 100%; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</style> |
File diff suppressed because it is too large
Loading…
Reference in new issue