提交 c230fa84 编写于 作者: D ddcat1115 提交者: jim

workplace use user model

上级 aeda0d91
...@@ -80,7 +80,7 @@ export const getRouterData = (app) => { ...@@ -80,7 +80,7 @@ export const getRouterData = (app) => {
component: dynamicWrapper(app, ['monitor'], () => import('../routes/Dashboard/Monitor')), component: dynamicWrapper(app, ['monitor'], () => import('../routes/Dashboard/Monitor')),
}, },
'/dashboard/workplace': { '/dashboard/workplace': {
component: dynamicWrapper(app, ['project', 'activities', 'chart'], () => import('../routes/Dashboard/Workplace')), component: dynamicWrapper(app, ['user', 'project', 'activities', 'chart'], () => import('../routes/Dashboard/Workplace')),
// hideInBreadcrumb: true, // hideInBreadcrumb: true,
// name: '工作台', // name: '工作台',
// authority: 'admin', // authority: 'admin',
......
...@@ -2,7 +2,7 @@ import React, { PureComponent } from 'react'; ...@@ -2,7 +2,7 @@ import React, { PureComponent } from 'react';
import moment from 'moment'; import moment from 'moment';
import { connect } from 'dva'; import { connect } from 'dva';
import { Link } from 'dva/router'; import { Link } from 'dva/router';
import { Row, Col, Card, List, Avatar } from 'antd'; import { Row, Col, Card, List, Avatar, Spin } from 'antd';
import PageHeaderLayout from '../../layouts/PageHeaderLayout'; import PageHeaderLayout from '../../layouts/PageHeaderLayout';
import EditableLinkGroup from '../../components/EditableLinkGroup'; import EditableLinkGroup from '../../components/EditableLinkGroup';
...@@ -37,49 +37,21 @@ const links = [ ...@@ -37,49 +37,21 @@ const links = [
}, },
]; ];
const members = [ @connect(({ user, project, activities, chart, loading }) => ({
{ currentUser: user.currentUser,
id: 'members-1',
title: '科学搬砖组',
logo: 'https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png',
link: '',
},
{
id: 'members-2',
title: '程序员日常',
logo: 'https://gw.alipayobjects.com/zos/rmsportal/cnrhVkzwxjPwAaCfPbdc.png',
link: '',
},
{
id: 'members-3',
title: '设计天团',
logo: 'https://gw.alipayobjects.com/zos/rmsportal/gaOngJwsRYRaVAuXXcmB.png',
link: '',
},
{
id: 'members-4',
title: '中二少女团',
logo: 'https://gw.alipayobjects.com/zos/rmsportal/ubnKSIfAJTxIgXOKlciN.png',
link: '',
},
{
id: 'members-5',
title: '骗你学计算机',
logo: 'https://gw.alipayobjects.com/zos/rmsportal/WhxKECPNujWoWEFNdnJE.png',
link: '',
},
];
@connect(({ project, activities, chart, loading }) => ({
project, project,
activities, activities,
chart, chart,
currentUserLoading: loading.effects['user/fetchCurrent'],
projectLoading: loading.effects['project/fetchNotice'], projectLoading: loading.effects['project/fetchNotice'],
activitiesLoading: loading.effects['activities/fetchList'], activitiesLoading: loading.effects['activities/fetchList'],
})) }))
export default class Workplace extends PureComponent { export default class Workplace extends PureComponent {
componentDidMount() { componentDidMount() {
const { dispatch } = this.props; const { dispatch } = this.props;
dispatch({
type: 'user/fetchCurrent',
});
dispatch({ dispatch({
type: 'project/fetchNotice', type: 'project/fetchNotice',
}); });
...@@ -133,6 +105,8 @@ export default class Workplace extends PureComponent { ...@@ -133,6 +105,8 @@ export default class Workplace extends PureComponent {
render() { render() {
const { const {
currentUser,
currentUserLoading,
project: { notice }, project: { notice },
projectLoading, projectLoading,
activitiesLoading, activitiesLoading,
...@@ -140,15 +114,22 @@ export default class Workplace extends PureComponent { ...@@ -140,15 +114,22 @@ export default class Workplace extends PureComponent {
} = this.props; } = this.props;
const pageHeaderContent = ( const pageHeaderContent = (
<div className={styles.pageHeaderContent}> <Spin spinning={currentUserLoading}>
<div className={styles.avatar}> {
<Avatar size="large" src="https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png" /> currentUser && Object.keys(currentUser).length ?
</div> (
<div className={styles.content}> <div className={styles.pageHeaderContent}>
<div className={styles.contentTitle}>早安曲丽丽祝你开心每一天</div> <div className={styles.avatar}>
<div>交互专家 | 蚂蚁金服某某某事业群某某平台部某某技术部UED</div> <Avatar size="large" src={currentUser.avatar} />
</div> </div>
</div> <div className={styles.content}>
<div className={styles.contentTitle}>早安{currentUser.name}祝你开心每一天</div>
<div>{currentUser.title} | {currentUser.group}</div>
</div>
</div>
) : null
}
</Spin>
); );
const extraContent = ( const extraContent = (
...@@ -251,15 +232,16 @@ export default class Workplace extends PureComponent { ...@@ -251,15 +232,16 @@ export default class Workplace extends PureComponent {
bodyStyle={{ paddingTop: 12, paddingBottom: 12 }} bodyStyle={{ paddingTop: 12, paddingBottom: 12 }}
bordered={false} bordered={false}
title="团队" title="团队"
loading={projectLoading}
> >
<div className={styles.members}> <div className={styles.members}>
<Row gutter={48}> <Row gutter={48}>
{ {
members.map(item => ( notice.map(item => (
<Col span={12} key={`members-item-${item.id}`}> <Col span={12} key={`members-item-${item.id}`}>
<Link to={item.link}> <Link to={item.href}>
<Avatar src={item.logo} size="small" /> <Avatar src={item.logo} size="small" />
<span className={styles.member}>{item.title}</span> <span className={styles.member}>{item.member}</span>
</Link> </Link>
</Col> </Col>
)) ))
......
...@@ -86,18 +86,15 @@ ...@@ -86,18 +86,15 @@
a { a {
display: block; display: block;
margin: 12px 0; margin: 12px 0;
line-height: 24px;
height: 24px; height: 24px;
.textOverflow(); .textOverflow();
.member { .member {
font-size: @font-size-base; font-size: @font-size-base;
color: @text-color; color: @text-color;
line-height: 24px; line-height: 24px;
max-width: 100px;
vertical-align: top; vertical-align: top;
margin-left: 12px; margin-left: 12px;
transition: all .3s; transition: all .3s;
display: inline-block;
.textOverflow(); .textOverflow();
} }
&:hover { &:hover {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册