// 运营活动统计 import { connect, CurrentUser } from "umi"; import { ConnectState } from "@/models/connect"; import { useEffect, useRef, useState } from "react"; import { Button, Col, Drawer, FormInstance, Row, Spin, Tooltip } from "antd"; import ProForm, { ProFormDateRangePicker, ProFormSelect } from "@ant-design/pro-form"; import './BusinessActivityStatistics.less' import { handeGetMarketingSummary, handeGetMembershipCount } from "../service"; import session from "@/utils/session"; import ProTable, { ActionType } from "@ant-design/pro-table"; import MemberInfor from "../memberInfor"; import moment from 'moment' import addIcon from '@/assets/detail/addIcon.png' import reduceIcon from '@/assets/detail/reduceIcon.png' const BusinessActivityStatistics: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => { const { currentUser } = props const formRef = useRef(); const actionRef = useRef(); // 选择的tab const [selectPageTab, setSelectPageTab] = useState(1) // 会员类型数据 const [membershipType, setMembershipType] = useState() // 活动总数 const [activityTotal, setActivityTotal] = useState() // 会员等级数据 const [revenueList, setRevenueList] = useState() // 营收合计 const [revenueTotal, setRevenueTotal] = useState() // 显示详情抽屉 const [showDetail, setShowDetail] = useState(false) const [currentRow, setCurrentRow] = useState() // 抽屉显示的标题 const [currentDrawerTitle, setCurrentDrawerTitle] = useState() // 1 是 会员类型 2是 会员等级 const [searchType, setSearchType] = useState() // 对应的枚举类型 const [valueType, setValueType] = useState() // 显示加载效果 const [showLoading, setShowLoading] = useState(false) let MEMBERSHIPLEVELYNObj = session.get('MEMBERSHIPLEVELYNObj') let MEMBERSHIPLEVELYNList = session.get('MEMBERSHIPLEVELYNList') let MEMBERSHIPTYPEYNObj = session.get('MEMBERSHIPTYPEYNObj') let MEMBERSHIPTYPEYNList = session.get('MEMBERSHIPTYPEYNList') const handleGetData = async (formData?: any) => { console.log('formDataformDataformData', formData); let [start, end] = ['', ''] if (formData && formData?.searchTime) { [start, end] = formData.searchTime } const req: any = { CalcType: 3, // 拉新 OwnerUnitId: currentUser?.OwnerUnitId, ExcludeTest: formData ? formData?.ExcludeTest === 1 ? true : false : true, StartDate: start ? start : "", EndDate: end ? end : "", MembershipType: formData?.MembershipType === 1 ? '' : formData?.MembershipType || "", MembershipLevel: formData?.MembershipLevel === '1' ? '' : formData?.MembershipLevel || "", } const req2: any = { OwnerUnitId: currentUser?.OwnerUnitId, StartDate: start ? start : "", EndDate: end ? end : "", SalebillType: "", MembershipType: formData?.MembershipType === 1 ? '' : formData?.MembershipType || "", MembershipLevel: formData?.MembershipLevel === '1' ? '' : formData?.MembershipLevel || "", } setShowLoading(true) const data = await handeGetMembershipCount(req) const data2 = await handeGetMarketingSummary(req2) setShowLoading(false) console.log('datadatadatadata', data); setMembershipType(data.List) setActivityTotal(data.OtherData) setRevenueList(data2.List) } // 点击事件 const handleShowTableData = async (type: number, memberType: any) => { // type 1 的话是 会员类型 2 的话是 会员等级 memberType 对应的枚举值 setCurrentDrawerTitle(`${type === 1 ? '会员类型' : type === 2 ? '会员等级' : ''}【${type === 1 ? MEMBERSHIPTYPEYNObj && memberType ? MEMBERSHIPTYPEYNObj[memberType] : '' : type === 2 ? MEMBERSHIPLEVELYNObj && memberType ? MEMBERSHIPLEVELYNObj[memberType] : '' : ''}】`) setSearchType(type) setValueType(memberType) setShowDetail(true) } useEffect(() => { handleGetData({ searchTime: [moment().startOf('M').format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')] }) }, []) return (
{ showLoading ?
加载中...
: '' }
{/*
{ setSelectPageTab(1) }}>会员类型
{ setSelectPageTab(2) }}>会员等级
*/} { console.log('valuesvaluesvaluesvalues', values); handleGetData(values) }} >
{ membershipType && membershipType.length > 0 ? <>
运营活动{activityTotal ? `(${activityTotal}人)` : ""}
{ membershipType.map((item: any) => { return
{item.label}
{item.value}
占比
{item.key ? item.key + '%' : ""}
}) }
: "" }
{ revenueList && revenueList.length > 0 ? revenueList.map((item: any) => { return
{item.MarketingActivity}
实际销售金额(扣除退款)
{item && item?.TotalActualAmount ? item?.TotalActualAmount.summaryData : "-"}
环比增长
{ item && item?.TotalActualAmount && item?.TotalActualAmount.QOQData && item?.TotalActualAmount.summaryData ? 0 ? addIcon : reduceIcon} /> : "" } { item && item?.TotalActualAmount && item?.TotalActualAmount.QOQData && item?.TotalActualAmount.summaryData ? {(((item?.TotalActualAmount.summaryData - item?.TotalActualAmount.QOQData) / item?.TotalActualAmount.QOQData) * 100).toFixed(2) + '%'} : "-" }
成交销售金额
{item && item?.TotalSuccAmount ? item?.TotalSuccAmount.summaryData : "-"}
环比增长
{ item && item?.TotalSuccAmount && item?.TotalSuccAmount.QOQData && item?.TotalSuccAmount.summaryData ? 0 ? addIcon : reduceIcon} /> : "" } { item && item?.TotalSuccAmount && item?.TotalSuccAmount.QOQData && item?.TotalSuccAmount.summaryData ? // {item && item?.TotalSuccAmount ? item?.TotalSuccAmount.QOQData : "-"} {(((item?.TotalSuccAmount.summaryData - item?.TotalSuccAmount.QOQData) / item?.TotalSuccAmount.QOQData) * 100).toFixed(2) + '%'} : "-" }
成交订单笔数
{item && item?.TotalSuccTicket ? item?.TotalSuccTicket.summaryData : "-"}
环比增长
{ item && item?.TotalSuccTicket && item?.TotalSuccTicket.QOQData && item?.TotalSuccTicket.summaryData ? 0 ? addIcon : reduceIcon} /> : "" } { item && item?.TotalSuccTicket && item?.TotalSuccTicket.QOQData && item?.TotalSuccTicket.summaryData ? {(((item?.TotalSuccTicket.summaryData - item?.TotalSuccTicket.QOQData) / item?.TotalSuccTicket.QOQData) * 100).toFixed(2) + '%'} : "-" }
{/*
成交销售数量
{item && item?.TotalCount ? item?.TotalCount.summaryData : "-"}
环比增长
{ item && item?.TotalCount && item?.TotalCount.QOQData && item?.TotalCount.summaryData ? 0 ? addIcon : reduceIcon} /> : "" } { item && item?.TotalCount && item?.TotalCount.QOQData && item?.TotalCount.summaryData ? // {item && item?.TotalCount ? item?.TotalCount.QOQData : "-"} {(((item?.TotalCount.summaryData - item?.TotalCount.QOQData) / item?.TotalCount.QOQData) * 100).toFixed(2) + '%'} : "-" }
交易失败笔数
{item && item?.TotalFailureTicket ? item?.TotalFailureTicket.summaryData : "-"}
环比增长
{ item && item?.TotalFailureTicket && item?.TotalFailureTicket.QOQData && item?.TotalFailureTicket.summaryData ? 0 ? addIcon : reduceIcon} /> : "" } { item && item?.TotalFailureTicket && item?.TotalFailureTicket.QOQData && item?.TotalFailureTicket.summaryData ? // {item && item?.TotalFailureTicket ? item?.TotalFailureTicket.QOQData : "-"} {(((item?.TotalFailureTicket.summaryData - item?.TotalFailureTicket.QOQData) / item?.TotalFailureTicket.QOQData) * 100).toFixed(2) + '%'} : "-" }
退款订单笔数
{item && item?.TotalRefundTicket ? item?.TotalRefundTicket.summaryData : "-"}
环比增长
{ item && item?.TotalRefundTicket && item?.TotalRefundTicket.QOQData && item?.TotalRefundTicket.summaryData ? 0 ? addIcon : reduceIcon} /> : "" } { item && item?.TotalRefundTicket && item?.TotalRefundTicket.QOQData && item?.TotalRefundTicket.summaryData ? // {item && item?.TotalRefundTicket ? item?.TotalRefundTicket.QOQData : "-"} {(((item?.TotalRefundTicket.summaryData - item?.TotalRefundTicket.QOQData) / item?.TotalRefundTicket.QOQData) * 100).toFixed(2) + '%'} : "-" }
退款订单金额
{item && item?.TotalRefundAmount ? item?.TotalRefundAmount.summaryData : "-"}
环比增长
{ item && item?.TotalRefundAmount && item?.TotalRefundAmount.QOQData && item?.TotalRefundAmount.summaryData ? 0 ? addIcon : reduceIcon} /> : "" } { item && item?.TotalRefundAmount && item?.TotalRefundAmount.QOQData && item?.TotalRefundAmount.summaryData ? // {item && item?.TotalRefundAmount ? item?.TotalRefundAmount.QOQData : "-"} {(((item?.TotalRefundAmount.summaryData - item?.TotalRefundAmount.QOQData) / item?.TotalRefundAmount.QOQData) * 100).toFixed(2) + '%'} : "-" }
*/}
优惠金额
{item && item?.CouponAmount ? item?.CouponAmount.summaryData : "-"}
环比增长
{ item && item?.CouponAmount && item?.CouponAmount.QOQData && item?.CouponAmount.summaryData ? 0 ? addIcon : reduceIcon} /> : "" } { item && item?.CouponAmount && item?.CouponAmount.QOQData && item?.CouponAmount.summaryData ? {(((item?.CouponAmount.summaryData - item?.CouponAmount.QOQData) / item?.CouponAmount.QOQData) * 100).toFixed(2) + '%'} : "-" }
积分抵扣
{item && item?.ConsumePoint ? item?.ConsumePoint.summaryData : "-"}
环比增长
{ item && item?.ConsumePoint && item?.ConsumePoint.QOQData && item?.ConsumePoint.summaryData ? 0 ? addIcon : reduceIcon} /> : "" } { item && item?.ConsumePoint && item?.ConsumePoint.QOQData && item?.ConsumePoint.summaryData ? {(((item?.ConsumePoint.summaryData - item?.ConsumePoint.QOQData) / item?.ConsumePoint.QOQData) * 100).toFixed(2) + '%'} : "-" }
积分抵扣
{item && item?.EarnPoint ? item?.EarnPoint.summaryData : "-"}
环比增长
{ item && item?.EarnPoint && item?.EarnPoint.QOQData && item?.EarnPoint.summaryData ? 0 ? addIcon : reduceIcon} /> : "" } { item && item?.EarnPoint && item?.EarnPoint.QOQData && item?.EarnPoint.summaryData ? {(((item?.EarnPoint.summaryData - item?.EarnPoint.QOQData) / item?.EarnPoint.QOQData) * 100).toFixed(2) + '%'} : "-" }
}) : "" }
{ setSearchType(null) setValueType(null) setShowDetail(false) }} >
) } export default connect(({ user }: ConnectState) => ({ currentUser: user.currentUser }))(BusinessActivityStatistics);