import { connect } from 'dva/index'; import React, { Component } from 'react'; import { Form, Tooltip as TooltipAntd, Radio, Spin } from 'antd'; import { sldLlineRtextAddGoodsAddMargin, sldComLanguage, sldSvgIcon, getSldHorLineBgColor, formatNum, } from '@/utils/utils'; import global from '@/global.less'; import stat from '@/assets/css/stat.less'; import SldScrollbars from '@/components/SldScrollbars'; import moment from 'moment'; import SldStatDate from '@/components/SldStatDate'; import TradeOther from './trade_other'; import TweenOne from 'rc-tween-one'; import Children from 'rc-tween-one/lib/plugin/ChildrenPlugin'; import defaultSettings from '@/defaultSettings'; TweenOne.plugins.push(Children); @connect(({ common, global }) => ({ common, global, })) @Form.create() export default class StatisticsTrade extends Component { constructor(props) { super(props); this.state = { loadedFlag: false,//顶部数据是否加载完成 overViewLoading: false,//总览数据loading screenW: document.body.clientWidth,//屏幕宽度 pvData: [ { children: [ { label: `${sldComLanguage('浏览量')}`, num: '', differenceNum: '', isUp: false, tip: `${sldComLanguage('统计时间内,全平台所有页面被访问的次数总和')}`, mapValue: 'viewNum', mapDifferentValue: 'previousViewNum', }, { label: `${sldComLanguage('访客数')}`, num: '', differenceNum: '', isUp: false, tip: `${sldComLanguage('统计时间内,全平台所有页面的去重人数总和')}`, mapValue: 'visitorNum', mapDifferentValue: 'previousVisitorNum', }, ], }, // { // children: [ // { // label: `${sldComLanguage('下单金额(元)')}`, // num: '', // differenceNum: '', // isUp: false, // tip: `${sldComLanguage('统计时间内,全平台用户成功提交订单的金额总和')}`, // mapValue: 'orderSubmitAmount', // mapDifferentValue: 'previousOrderSubmitAmount', // isMoney: true, // }, // { // label: `${sldComLanguage('下单数')}`, // num: '', // differenceNum: '', // isUp: false, // tip: `${sldComLanguage('统计时间内,全平台用户成功提交订单的笔数总和')}`, // mapValue: 'orderSubmitNum', // mapDifferentValue: 'previousOrderSubmitNum', // }, // { // label: `${sldComLanguage('下单人数')}`, // num: '', // differenceNum: '', // isUp: false, // tip: `${sldComLanguage('统计时间内,全平台成功提交订单的去重人数总和')}`, // mapValue: 'orderSubmitMemberNum', // mapDifferentValue: 'previousOrderSubmitMemberNum', // }, // { // label: `${sldComLanguage('下单客单价(元)')}`, // num: '', // differenceNum: '', // isUp: false, // tip: `${sldComLanguage('统计时间内,全平台下单金额/下单人数')}`, // mapValue: 'orderSubmitAtv', // mapDifferentValue: 'previousOrderSubmitAtv', // isMoney: true, // }, // ], // }, // { // children: [ // { // label: `${sldComLanguage('支付金额(元)')}`, // num: '', // differenceNum: '', // isUp: false, // tip: `${sldComLanguage('统计时间内,全平台用户成功支付的金额总和')}`, // mapValue: 'orderPayAmount', // mapDifferentValue: 'previousOrderPayAmount', // isMoney: true, // // }, // { // label: `${sldComLanguage('支付订单数')}`, // num: '', // differenceNum: '', // isUp: false, // tip: `${sldComLanguage('统计时间内,全平台用户成功支付的订单数量总和')}`, // mapValue: 'orderPayNum', // mapDifferentValue: 'previousOrderPayNum', // }, // { // label: `${sldComLanguage('支付人数')}`, // num: '', // differenceNum: '', // isUp: false, // tip: `${sldComLanguage('统计时间内,全平台成功付款的去重人数总和')}`, // mapValue: 'orderPayMemberNum', // mapDifferentValue: 'previousOrderPayMemberNum', // }, // { // label: `${sldComLanguage('支付客单价(元)')}`, // num: '', // differenceNum: '', // isUp: false, // tip: `${sldComLanguage('统计时间内,全平台支付金额/下单人数')}`, // mapValue: 'orderPayAtv', // mapDifferentValue: 'previousOrderPayAtv', // isMoney: true, // }, // ], // }, ], 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'), }, curTradeOverview: 'all',//交易总览的终端类型,默认为all 全部 chartsInfoData: {}, }; }; componentDidMount() { this.resize(); this.props.dispatch({ type: 'global/getLayoutCollapsed', }); window.addEventListener('resize', this.resize, { passive: true }); this.getTradeOverview(); //解决柱形图在各别电脑会出现抖动的问题 document.querySelector('section.ant-layout:not(.ant-layout-has-sider)').style.width = '100vw'; } resize = () => { this.setState({ screenW: document.body.clientWidth }); }; //获取交易总览的数据 getTradeOverview = () => { const { dispatch } = this.props; const { pvData, tradeOverviewParams, curTradeOverview, chartsInfoData } = this.state; let params = { ...tradeOverviewParams }; if (curTradeOverview != 'all') { params.terminalType = curTradeOverview; } this.setState({ overViewLoading: true }); dispatch({ type: 'statistics/get_analysis_trade_overview', payload: params, callback: (res) => { if (res.state === 200) { chartsInfoData.pvPayRate = res.data.pvPayRate || '--'; chartsInfoData.pvSubmitRate = res.data.pvSubmitRate || '--'; chartsInfoData.submitPayRate = res.data.submitPayRate || '--'; pvData.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; } if (!res.data[item2.mapValue]) { item2['num'] = ''; return; } item2['num'] = item2.isMoney ? parseFloat(res.data[item2.mapValue]).toFixed(2) : res.data[item2.mapValue]; }); }); this.setState({ pvData, chartsInfoData }); } this.setState({ overViewLoading: false, loadedFlag: true }); }, }); }; //tab切换事件 handleChangeTab = (e, type) => { this.setState({ [type]: e.target.value }, () => { if (type == 'curTradeOverview') { 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(); }); } }; render() { const { chartsInfoData, pvData, curTradeOverview, screenW, overViewLoading, loadedFlag } = this.state; const leftW = this.props.global != undefined && this.props.global.collapsed != undefined && this.props.global.collapsed ? 90 : 150; let topItemW = (screenW - leftW - 20 - 40 - 400 - 44) / 4; return (
{sldComLanguage('访问-下单转化率')}
*/} {/*{chartsInfoData.pvSubmitRate || '--'}
*/} {/*{sldComLanguage('下单-支付转化率')}
*/} {/*{chartsInfoData.submitPayRate || '--'}
*/} {/*{sldComLanguage('访问-支付转化率')}
*/} {/*{chartsInfoData.pvPayRate || '--'}
*/} {/*