import { connect } from 'dva/index'; import React, { Component } from 'react'; import { Form, Radio, Tooltip as TooltipAntd, Spin } from 'antd'; import { sldLlineRtextAddGoodsAddMargin, sldComLanguage, getSldHorLineBgColor, sldSvgIcon, formatNum, } from '@/utils/utils'; import global from '@/global.less'; import stat from '@/assets/css/stat.less'; import SldScrollbars from '@/components/SldScrollbars'; import SldStatDate from '@/components/SldStatDate'; import FlowOther from './flow_other'; import moment from 'moment'; import TweenOne from 'rc-tween-one'; import Children from 'rc-tween-one/lib/plugin/ChildrenPlugin'; import defaultSettings from '@/defaultSettings'; TweenOne.plugins.push(Children); @connect(({ statistics }) => ({ statistics, })) @Form.create() export default class StatisticsFlow extends Component { constructor(props) { super(props); this.state = { loadedFlag: false,//顶部数据是否加载完成 overViewLoading: false,//总览数据loading flowOverviewData: [ { children: [ { label: `${sldComLanguage('访客数')}`, num: '', differenceNum: '', isUp: false, tip: `${sldComLanguage('统计时间内,全平台所有页面的去重人数总和')}`, mapValue: 'visitorNum', mapDifferentValue: 'previousNewVisitorNum', }, { label: `${sldComLanguage('浏览量')}`, num: '', differenceNum: '', isUp: false, tip: `${sldComLanguage('统计时间内,全平台所有页面被访问的次数总和')}`, mapValue: 'viewNum', mapDifferentValue: 'previousViewNum', }, { label: `${sldComLanguage('新访客数')}`, num: '', differenceNum: '', isUp: false, tip: `${sldComLanguage('统计时间内,首次在平台发生浏览行为的人数')}`, mapValue: 'newVisitorNum', mapDifferentValue: 'previousNewVisitorNum', }, ], }, // { // children: [ // { // label: `${sldComLanguage('下单人数')}`, // num: '', // differenceNum: '', // isUp: false, // tip: `${sldComLanguage('统计时间内,全平台成功提交订单的去重人数总和')}`, // mapValue: 'orderSubmitMemberNum', // mapDifferentValue: 'previousOrderSubmitMemberNum', // }, // { // label: `${sldComLanguage('下单数')}`, // num: '', // differenceNum: '', // isUp: false, // tip: `${sldComLanguage('统计时间内,全平台用户成功提交订单的笔数总和')}`, // mapValue: 'orderSubmitNum', // mapDifferentValue: 'previousOrderSubmitNum', // }, // ], // }, // { // children: [ // { // label: `${sldComLanguage('支付人数')}`, // num: '', // differenceNum: '', // isUp: false, // tip: `${sldComLanguage('统计时间内,全平台成功付款的去重人数总和')}`, // mapValue: 'orderPayMemberNum', // mapDifferentValue: 'previousOrderPayMemberNum', // }, // { // label: `${sldComLanguage('支付订单数')}`, // num: '', // differenceNum: '', // isUp: false, // tip: `${sldComLanguage('统计时间内,全平台用户成功支付的订单数量总和')}`, // mapValue: 'orderPayNum', // mapDifferentValue: 'previousOrderPayNum', // }, // // ], // }, ], curFlowOverview: 'pc',//交易总览的终端类型,默认为all 全部 tradeOverviewParams: { startTime: (moment().subtract(1, 'days').format('YYYY-MM-DD') + ' 00:00:00'), endTime: (moment().subtract(1, 'days').format('YYYY-MM-DD') + ' 23:59:59:999'), }, chartsInfoData: {}, }; }; componentDidMount() { this.getTradeOverview(); } //tab切换事件 handleChangeTab = (e, type) => { this.setState({ [type]: e.target.value }, () => { if (type == 'curFlowOverview') { this.getTradeOverview(); } }); }; //时间筛选器返回的时间数据 updateSelectDate = (date, index) => { let { tradeOverviewParams } = this.state; let _this = this; if (index == '_trade_over_view') { //交易总览的时间筛选 tradeOverviewParams = { ...tradeOverviewParams, ...date }; this.setState({ tradeOverviewParams }, () => { _this.getTradeOverview(); }); } }; //获取交易总览的数据 getTradeOverview = () => { const { dispatch } = this.props; const { flowOverviewData, tradeOverviewParams, curFlowOverview, chartsInfoData } = this.state; let params = { ...tradeOverviewParams }; if (curFlowOverview != 'all') { params.terminalType = curFlowOverview; } this.setState({ overViewLoading: true }); dispatch({ type: 'statistics/get_analysis_flow_overview', payload: params, callback: (res) => { if (res.state === 200) { chartsInfoData.pvPayRate = res.data.pvPayRate || '--'; chartsInfoData.pvSubmitRate = res.data.pvSubmitRate || '--'; chartsInfoData.submitPayRate = res.data.submitPayRate || '--'; flowOverviewData.forEach((item, index) => { item.children.forEach((item2, index2) => { if (res.data[item2.mapDifferentValue] && res.data[item2.mapDifferentValue].indexOf('-') != 0) { //上涨 item2['differenceNum'] = '+' + res.data[item2.mapDifferentValue]; item2.isUp = true; } else { //下降 item2['differenceNum'] = res.data[item2.mapDifferentValue]; item2.isUp = false; } item2['num'] = item2.isMoney ? parseFloat(res.data[item2.mapValue]).toFixed(2) : res.data[item2.mapValue]; }); }); this.setState({ flowOverviewData, chartsInfoData }); } this.setState({ overViewLoading: false, loadedFlag: true }); }, }); }; render() { const { chartsInfoData, overViewLoading, flowOverviewData, curFlowOverview, loadedFlag } = this.state; return (
{sldComLanguage('访问-下单转化率')}
*/} {/*{chartsInfoData.pvSubmitRate || '--'}
*/} {/*{sldComLanguage('下单-支付转化率')}
*/} {/*{chartsInfoData.submitPayRate || '--'}
*/} {/*{sldComLanguage('访问-支付转化率')}
*/} {/*{chartsInfoData.pvPayRate || '--'}
*/} {/*