import { connect } from 'dva/index'; import React, { Component, Fragment } from 'react'; import { Form, Spin, Tooltip } from 'antd'; import { sldLlineRtextAddGoodsAddMargin, sldComLanguage, formatNum, } from '@/utils/utils'; import global from '@/global.less'; import styles from './realtime.less'; import RealtimeOther from './realtime_other'; import stat from '@/assets/css/stat.less'; import SldScrollbars from '@/components/SldScrollbars'; 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, global }) => ({ statistics, global, })) @Form.create() export default class StatisticsRealtime extends Component { constructor(props) { super(props); this.state = { loadedFlag: false,//顶部数据是否加载完成 screenW: document.body.clientWidth,//屏幕宽度 refreshTime: '',//更新时间 initLoading: false, detailData: {},//页面数据 currentSiteName: props.global.currentSiteName, realTimeData1: { icon: require('@/assets/real_icon_1.png'), title: `${sldComLanguage('平台汇总')}`, list: [ // { // name: `${sldComLanguage('销售总额(元)')}`, // value: '', // isHelpIcon: false, // tip: `${sldComLanguage('截止至当前时间,全平台累计销售额')}`, // mapKey: 'orderPayAmountTotal', // isMoney: true, // }, { name: `${sldComLanguage('会员总数')}`, value: '', isHelpIcon: true, tip: `${sldComLanguage('截止至当前时间,全平台注册会员数')}`, mapKey: 'memberNum', }, { name: `${sldComLanguage('店铺总数')}`, value: '', isHelpIcon: true, tip: `${sldComLanguage('截止至当前时间,全平台商家总数,包括自营商家和入驻商家')}`, mapKey: 'storeNum', }, { name: `${sldComLanguage('在售商品数')}`, value: '', isHelpIcon: true, tip: `${sldComLanguage('截止至当前时间,状态为在售的商品数量')}`, mapKey: 'saleGoodsNum', }, ], }, siteRealTimeData: { icon: require('@/assets/real_icon_1.png'), title: `${sldComLanguage('平台汇总')}`, list: [ // { // name: `${sldComLanguage('销售总额(元)')}`, // value: '', // isHelpIcon: false, // tip: `${sldComLanguage('截止至当前时间,全平台累计销售额')}`, // mapKey: 'orderPayAmountTotal', // isMoney: true, // }, { name: `${sldComLanguage('会员总数')}`, value: '', isHelpIcon: true, tip: `${sldComLanguage('截止至当前时间,全平台注册会员数')}`, mapKey: 'webSiteMemberNum', }, { name: `${sldComLanguage('店铺总数')}`, value: '', isHelpIcon: true, tip: `${sldComLanguage('截止至当前时间,全平台商家总数,包括自营商家和入驻商家')}`, mapKey: 'webSiteStoreNum', }, { name: `${sldComLanguage('在售商品数')}`, value: '', isHelpIcon: true, tip: `${sldComLanguage('截止至当前时间,状态为在售的商品数量')}`, mapKey: 'webSiteSaleGoodsNum', }, ], }, realTimeData2: { icon: require('@/assets/real_icon_2.png'), title: `${sldComLanguage('今日实时')}`, list: [ // { // name: `${sldComLanguage('今日销售额(元)')}`, // value: '', // isHelpIcon: false, // tip: `${sldComLanguage('今日0时至当前时间的销售额')}`, // mapKey: 'orderPayAmount', // isMoney: true, // }, { name: `${sldComLanguage('新增会员数')}`, value: '', isHelpIcon: true, tip: `${sldComLanguage('统计时间内,全平台注册的人数总和')}`, mapKey: 'newMemberNum', }, { name: `${sldComLanguage('新增店铺数')}`, value: '', isHelpIcon: true, tip: `${sldComLanguage('统计时间内,全平台新增商家数')}`, mapKey: 'newStoreNum', }, { name: `${sldComLanguage('新增商品')}`, value: '', isHelpIcon: true, tip: `${sldComLanguage('统计时间内,全平台新增商品spu数')}`, mapKey: 'newGoodsNum', }, { isBr: true, }, { name: `${sldComLanguage('访客数')}`, value: '', isHelpIcon: true, tip: `${sldComLanguage('统计时间内,全平台所有页面的去重人数总和')}`, mapKey: 'visitorNum', }, { name: `${sldComLanguage('浏览量')}`, value: '', isHelpIcon: true, tip: `${sldComLanguage('统计时间内,全平台所有页面被访问的次数总和')}`, mapKey: 'viewNum', }, { name: `${sldComLanguage('商品访客数')}`, value: '', isHelpIcon: true, tip: `${sldComLanguage('统计时间内,访问商品详情页的去重人数')}`, mapKey: 'goodsVisitorNum', }, { name: `${sldComLanguage('商品浏览量')}`, value: '', isHelpIcon: true, tip: `${sldComLanguage('统计时间内,访问商品详情页的人次数')}`, mapKey: 'goodsViewNum', }, { isBr: true, }, // { // name: `${sldComLanguage('下单数')}`, // value: '', // isHelpIcon: true, // tip: `${sldComLanguage('统计时间内,全平台用户成功提交订单的笔数总和')}`, // mapKey: 'orderSubmitNum', // }, // { // name: `${sldComLanguage('下单人数')}`, // value: '', // isHelpIcon: true, // tip: `${sldComLanguage('统计时间内,全平台成功提交订单的去重人数总和')}`, // mapKey: 'orderSubmitMemberNum', // }, // { // name: `${sldComLanguage('下单金额(元)')}`, // value: '', // isHelpIcon: true, // tip: `${sldComLanguage('统计时间内,全平台用户成功提交订单的金额总和')}`, // mapKey: 'orderSubmitAmount', // isMoney: true, // // }, // { // name: `${sldComLanguage('下单客单价(元)')}`, // value: '', // isHelpIcon: true, // tip: `${sldComLanguage('统计时间内,全平台下单金额/下单人数')}`, // mapKey: 'orderSubmitAtv', // isMoney: true, // // }, // { // name: `${sldComLanguage('访问-下单转化率')}`, // value: '', // isHelpIcon: true, // tip: `${sldComLanguage('统计时间内,全平台下单人数/平台访客数')}`, // mapKey: 'pvSubmitRate', // }, // { // isBr: true, // }, // { // name: `${sldComLanguage('支付订单数')}`, // value: '', // isHelpIcon: true, // tip: `${sldComLanguage('统计时间内,全平台用户成功支付的订单数量总和')}`, // mapKey: 'orderPayNum', // }, // { // name: `${sldComLanguage('支付人数')}`, // value: '', // isHelpIcon: true, // tip: `${sldComLanguage('统计时间内,全平台成功付款的去重人数总和')}`, // mapKey: 'orderPayMemberNum', // }, // { // name: `${sldComLanguage('支付金额(元)')}`, // value: '', // isHelpIcon: true, // tip: `${sldComLanguage('统计时间内,全平台用户成功支付的金额总和')}`, // mapKey: 'orderPayAmount', // isMoney: true, // // }, // { // name: `${sldComLanguage('支付客单价(元)')}`, // value: '', // isHelpIcon: true, // tip: `${sldComLanguage('统计时间内,全平台下单金额/下单人数')}`, // mapKey: 'orderPayAtv', // isMoney: true, // // }, // { // name: `${sldComLanguage('访问-支付转化率')}`, // value: '', // isHelpIcon: true, // tip: `${sldComLanguage('统计时间内,全平台支付人数/平台访客数')}`, // mapKey: 'pvPayRate', // }, ], }, }; } componentDidMount() { this.resize(); this.props.dispatch({ type: 'global/getLayoutCollapsed', }); window.addEventListener('resize', this.resize, { passive: true }); this.initData(); } resize = () => { this.setState({ screenW: document.body.clientWidth }); }; //获取页面数据 initData = (type = '') => { this.setState({ initLoading: true }); const { dispatch } = this.props; let { detailData, realTimeData2, realTimeData1, refreshTime } = this.state; let params = {}; if (type) { params.refresh = type; } dispatch({ type: 'statistics/get_realtime_data', payload: params, callback: (res) => { if (res.state == 200) { detailData = res.data; //渲染头部实时分析的数据 const { realTimeData1, realTimeData2, siteRealTimeData } = this.state; const tempArray = [...realTimeData1.list, ...realTimeData2.list, ...siteRealTimeData.list]; const tempActionData = { ...res.data.platformSummary, ...res.data.platformTodaySummary,orderPayAmountTotal:res.data.platformSummary.orderPayAmount }; tempArray.forEach((item, index) => { tempArray[index]['value'] = tempActionData[item.mapKey]; }); refreshTime = res.data.statsTime; this.setState({ detailData, realTimeData2, realTimeData1, siteRealTimeData, refreshTime, }); } this.setState({ loadedFlag: true, initLoading: false }); }, }); }; realtimeAnalysis = () => { const { refreshTime } = this.state; return ( <>