Commit cfbf108b authored by 陈帅's avatar 陈帅

fix the problem that the chart cannot be displayed

parent 64f9cbe6
......@@ -20,19 +20,9 @@ const renderTotal = total => {
};
class ChartCard extends React.PureComponent {
state = {
loading: true,
};
componentDidMount() {
requestAnimationFrame(() => {
this.setState({
loading: false,
});
});
}
renderConnet = () => {
const { contentHeight, title, avatar, action, total, footer, children, loading } = this.props;
if (loading || this.state.loading) {
if (loading) {
return false;
}
return (
......@@ -68,6 +58,7 @@ class ChartCard extends React.PureComponent {
</div>
);
};
render() {
const {
loading = false,
......@@ -81,11 +72,7 @@ class ChartCard extends React.PureComponent {
...rest
} = this.props;
return (
<Card
loading={loading || this.state.loading}
bodyStyle={{ padding: '20px 24px 8px 24px' }}
{...rest}
>
<Card loading={loading} bodyStyle={{ padding: '20px 24px 8px 24px' }} {...rest}>
{this.renderConnet()}
</Card>
);
......
......@@ -34,36 +34,44 @@ class LoadingPage extends PureComponent {
loading: true,
isMobile: false,
};
componentDidMount() {
const { dispatch } = this.props;
this.enquireHandler = enquireScreen(mobile => {
this.setState({
isMobile: mobile,
});
});
this.props.dispatch({
dispatch({
type: 'user/fetchCurrent',
});
this.hideLoading();
this.initSetting();
}
componentWillUnmount() {
unenquireScreen(this.enquireHandler);
}
hideLoading() {
this.setState({
loading: false,
});
}
/**
* get setting from url params
*/
initSetting() {
this.props.dispatch({
const { dispatch } = this.props;
dispatch({
type: 'setting/getSetting',
});
}
render() {
if (this.state.loading) {
const { loading, isMobile } = this.state;
if (loading) {
return (
<div
style={{
......@@ -80,7 +88,7 @@ class LoadingPage extends PureComponent {
}
return (
<BasicLayout
isMobile={this.state.isMobile}
isMobile={isMobile}
menuData={MenuData}
redirectData={redirectData}
{...this.props}
......
......@@ -55,7 +55,8 @@ export default class Analysis extends Component {
};
componentDidMount() {
this.props.dispatch({
const { dispatch } = this.props;
dispatch({
type: 'chart/fetch',
});
}
......@@ -80,21 +81,23 @@ export default class Analysis extends Component {
};
handleRangePickerChange = rangePickerValue => {
const { dispatch } = this.props;
this.setState({
rangePickerValue,
});
this.props.dispatch({
dispatch({
type: 'chart/fetchSalesData',
});
};
selectDate = type => {
const { dispatch } = this.props;
this.setState({
rangePickerValue: getTimeDistance(type),
});
this.props.dispatch({
dispatch({
type: 'chart/fetchSalesData',
});
};
......@@ -200,7 +203,10 @@ export default class Analysis extends Component {
sorter: (a, b) => a.range - b.range,
render: (text, record) => (
<Trend flag={record.status === 1 ? 'down' : 'up'}>
<span style={{ marginRight: 4 }}>{text}%</span>
<span style={{ marginRight: 4 }}>
{text}
%
</span>
</Trend>
),
align: 'right',
......@@ -255,21 +261,25 @@ export default class Analysis extends Component {
<Icon type="info-circle-o" />
</Tooltip>
}
loading={loading}
total={() => <Yuan>126560</Yuan>}
footer={<Field label="日均销售额" value={`¥${numeral(12423).format('0,0')}`} />}
contentHeight={46}
>
<Trend flag="up" style={{ marginRight: 16 }}>
周同比<span className={styles.trendText}>12%</span>
周同比
<span className={styles.trendText}>12%</span>
</Trend>
<Trend flag="down">
日环比<span className={styles.trendText}>11%</span>
日环比
<span className={styles.trendText}>11%</span>
</Trend>
</ChartCard>
</Col>
<Col {...topColResponsiveProps}>
<ChartCard
bordered={false}
loading={loading}
title="访问量"
action={
<Tooltip title="指标说明">
......@@ -286,6 +296,7 @@ export default class Analysis extends Component {
<Col {...topColResponsiveProps}>
<ChartCard
bordered={false}
loading={loading}
title="支付笔数"
action={
<Tooltip title="指标说明">
......@@ -301,6 +312,7 @@ export default class Analysis extends Component {
</Col>
<Col {...topColResponsiveProps}>
<ChartCard
loading={loading}
bordered={false}
title="运营活动效果"
action={
......@@ -312,10 +324,12 @@ export default class Analysis extends Component {
footer={
<div style={{ whiteSpace: 'nowrap', overflow: 'hidden' }}>
<Trend flag="up" style={{ marginRight: 16 }}>
周同比<span className={styles.trendText}>12%</span>
周同比
<span className={styles.trendText}>12%</span>
</Trend>
<Trend flag="down">
日环比<span className={styles.trendText}>11%</span>
日环比
<span className={styles.trendText}>11%</span>
</Trend>
</div>
}
......
......@@ -71,7 +71,9 @@ export default class Workplace extends PureComponent {
}
renderActivities() {
const { activities: { list } } = this.props;
const {
activities: { list },
} = this.props;
return list.map(item => {
const events = item.template.split(/@\{([^{}]*)\}/gi).map(key => {
if (item[key]) {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment