|
|
|
@ -1,5 +1,6 @@ |
|
|
|
import React, { PureComponent } from 'react'; |
|
|
|
import { connect } from 'dva'; |
|
|
|
import { formatMessage, FormattedMessage } from 'umi/locale'; |
|
|
|
import { Row, Col, Card, Tooltip } from 'antd'; |
|
|
|
import { Pie, WaterWave, Gauge, TagCloud } from '@/components/Charts'; |
|
|
|
import NumberInfo from '@/components/NumberInfo'; |
|
|
|
@ -42,31 +43,72 @@ class Monitor extends PureComponent { |
|
|
|
<GridContent> |
|
|
|
<Row gutter={24}> |
|
|
|
<Col xl={18} lg={24} md={24} sm={24} xs={24} style={{ marginBottom: 24 }}> |
|
|
|
<Card title="活动实时交易情况" bordered={false}> |
|
|
|
<Card |
|
|
|
title={ |
|
|
|
<FormattedMessage |
|
|
|
id="app.monitor.trading-activity" |
|
|
|
defaultMessage="Real-Time Trading Activity" |
|
|
|
/> |
|
|
|
} |
|
|
|
bordered={false} |
|
|
|
> |
|
|
|
<Row> |
|
|
|
<Col md={6} sm={12} xs={24}> |
|
|
|
<NumberInfo |
|
|
|
subTitle="今日交易总额" |
|
|
|
subTitle={ |
|
|
|
<FormattedMessage |
|
|
|
id="app.monitor.total-transactions" |
|
|
|
defaultMessage="Total transactions today" |
|
|
|
/> |
|
|
|
} |
|
|
|
suffix="元" |
|
|
|
total={numeral(124543233).format('0,0')} |
|
|
|
/> |
|
|
|
</Col> |
|
|
|
<Col md={6} sm={12} xs={24}> |
|
|
|
<NumberInfo subTitle="销售目标完成率" total="92%" /> |
|
|
|
<NumberInfo |
|
|
|
subTitle={ |
|
|
|
<FormattedMessage |
|
|
|
id="app.monitor.sales-target" |
|
|
|
defaultMessage="Sales target completion rate" |
|
|
|
/> |
|
|
|
} |
|
|
|
total="92%" |
|
|
|
/> |
|
|
|
</Col> |
|
|
|
<Col md={6} sm={12} xs={24}> |
|
|
|
<NumberInfo subTitle="活动剩余时间" total={<CountDown target={targetTime} />} /> |
|
|
|
<NumberInfo |
|
|
|
subTitle={ |
|
|
|
<FormattedMessage |
|
|
|
id="app.monitor.remaining-time" |
|
|
|
defaultMessage="Remaining time of activity" |
|
|
|
/> |
|
|
|
} |
|
|
|
total={<CountDown target={targetTime} />} |
|
|
|
/> |
|
|
|
</Col> |
|
|
|
<Col md={6} sm={12} xs={24}> |
|
|
|
<NumberInfo |
|
|
|
subTitle="每秒交易总额" |
|
|
|
subTitle={ |
|
|
|
<FormattedMessage |
|
|
|
id="app.monitor.total-transactions-per-second" |
|
|
|
defaultMessage="Total transactions per second" |
|
|
|
/> |
|
|
|
} |
|
|
|
suffix="元" |
|
|
|
total={numeral(234).format('0,0')} |
|
|
|
/> |
|
|
|
</Col> |
|
|
|
</Row> |
|
|
|
<div className={styles.mapChart}> |
|
|
|
<Tooltip title="等待后期实现"> |
|
|
|
<Tooltip |
|
|
|
title={ |
|
|
|
<FormattedMessage |
|
|
|
id="app.monitor.waiting-for-implementation" |
|
|
|
defaultMessage="Waiting for implementation" |
|
|
|
/> |
|
|
|
} |
|
|
|
> |
|
|
|
<img |
|
|
|
src="https://gw.alipayobjects.com/zos/rmsportal/HBWnDEUXCnGnGrRfrpKa.png" |
|
|
|
alt="map" |
|
|
|
@ -76,28 +118,52 @@ class Monitor extends PureComponent { |
|
|
|
</Card> |
|
|
|
</Col> |
|
|
|
<Col xl={6} lg={24} md={24} sm={24} xs={24}> |
|
|
|
<Card title="活动情况预测" style={{ marginBottom: 24 }} bordered={false}> |
|
|
|
<Card |
|
|
|
title={ |
|
|
|
<FormattedMessage |
|
|
|
id="app.monitor.total-activity-forecast" |
|
|
|
defaultMessage="Activity forecast" |
|
|
|
/> |
|
|
|
} |
|
|
|
style={{ marginBottom: 24 }} |
|
|
|
bordered={false} |
|
|
|
> |
|
|
|
<ActiveChart /> |
|
|
|
</Card> |
|
|
|
<Card |
|
|
|
title="券核效率" |
|
|
|
title={<FormattedMessage id="app.monitor.efficiency" defaultMessage="Efficiency" />} |
|
|
|
style={{ marginBottom: 24 }} |
|
|
|
bodyStyle={{ textAlign: 'center' }} |
|
|
|
bordered={false} |
|
|
|
> |
|
|
|
<Gauge title="跳出率" height={180} percent={87} /> |
|
|
|
<Gauge |
|
|
|
title={formatMessage({ id: 'app.monitor.ratio', defaultMessage: 'Ratio' })} |
|
|
|
height={180} |
|
|
|
percent={87} |
|
|
|
/> |
|
|
|
</Card> |
|
|
|
</Col> |
|
|
|
</Row> |
|
|
|
<Row gutter={24}> |
|
|
|
<Col xl={12} lg={24} sm={24} xs={24}> |
|
|
|
<Card title="各品类占比" bordered={false} className={styles.pieCard}> |
|
|
|
<Card |
|
|
|
title={ |
|
|
|
<FormattedMessage |
|
|
|
id="app.monitor.proportion-per-category" |
|
|
|
defaultMessage="Proportion Per Category" |
|
|
|
/> |
|
|
|
} |
|
|
|
bordered={false} |
|
|
|
className={styles.pieCard} |
|
|
|
> |
|
|
|
<Row style={{ padding: '16px 0' }}> |
|
|
|
<Col span={8}> |
|
|
|
<Pie |
|
|
|
animate={false} |
|
|
|
percent={28} |
|
|
|
subTitle="中式快餐" |
|
|
|
subTitle={ |
|
|
|
<FormattedMessage id="app.monitor.fast-food" defaultMessage="Fast food" /> |
|
|
|
} |
|
|
|
total="28%" |
|
|
|
height={128} |
|
|
|
lineWidth={2} |
|
|
|
@ -108,7 +174,12 @@ class Monitor extends PureComponent { |
|
|
|
animate={false} |
|
|
|
color="#5DDECF" |
|
|
|
percent={22} |
|
|
|
subTitle="西餐" |
|
|
|
subTitle={ |
|
|
|
<FormattedMessage |
|
|
|
id="app.monitor.western-food" |
|
|
|
defaultMessage="Western food" |
|
|
|
/> |
|
|
|
} |
|
|
|
total="22%" |
|
|
|
height={128} |
|
|
|
lineWidth={2} |
|
|
|
@ -119,7 +190,9 @@ class Monitor extends PureComponent { |
|
|
|
animate={false} |
|
|
|
color="#2FC25B" |
|
|
|
percent={32} |
|
|
|
subTitle="火锅" |
|
|
|
subTitle={ |
|
|
|
<FormattedMessage id="app.monitor.hot-pot" defaultMessage="Hot pot" /> |
|
|
|
} |
|
|
|
total="32%" |
|
|
|
height={128} |
|
|
|
lineWidth={2} |
|
|
|
@ -130,7 +203,12 @@ class Monitor extends PureComponent { |
|
|
|
</Col> |
|
|
|
<Col xl={6} lg={12} sm={24} xs={24}> |
|
|
|
<Card |
|
|
|
title="热门搜索" |
|
|
|
title={ |
|
|
|
<FormattedMessage |
|
|
|
id="app.monitor.popular-searches" |
|
|
|
defaultMessage="Popular Searches" |
|
|
|
/> |
|
|
|
} |
|
|
|
loading={loading} |
|
|
|
bordered={false} |
|
|
|
bodyStyle={{ overflow: 'hidden' }} |
|
|
|
@ -140,11 +218,22 @@ class Monitor extends PureComponent { |
|
|
|
</Col> |
|
|
|
<Col xl={6} lg={12} sm={24} xs={24}> |
|
|
|
<Card |
|
|
|
title="资源剩余" |
|
|
|
title={ |
|
|
|
<FormattedMessage |
|
|
|
id="app.monitor.resource-surplus" |
|
|
|
defaultMessage="Resource Surplus" |
|
|
|
/> |
|
|
|
} |
|
|
|
bodyStyle={{ textAlign: 'center', fontSize: 0 }} |
|
|
|
bordered={false} |
|
|
|
> |
|
|
|
<WaterWave height={161} title="补贴资金剩余" percent={34} /> |
|
|
|
<WaterWave |
|
|
|
height={161} |
|
|
|
title={ |
|
|
|
<FormattedMessage id="app.monitor.fund-surplus" defaultMessage="Fund Surplus" /> |
|
|
|
} |
|
|
|
percent={34} |
|
|
|
/> |
|
|
|
</Card> |
|
|
|
</Col> |
|
|
|
</Row> |
|
|
|
|