123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372 |
- import WidthEllipsis from "@/components/widthEllipsis"
- import { Statistic } from "antd"
- import classNames from "classnames"
- import React from "react"
- function columns12() {
- const roiC = Array(29).fill('').map((_item: string, index: number) => {
- let data = {
- title: `${index + 2}日ROI`,
- dataIndex: `roi${index + 2}`,
- label: '付费数据',
- align: 'center',
- width: 80,
- sorter: true,
- render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
- }
- index++;
- return data
- })
- let newArr: { label: string, data: any[] }[] = [
- {
- label: '基本信息',
- data: [
- {
- title: '投手', dataIndex: 'pitcher', label: '基本信息', align: 'center', width: 95, default: 1,
- render: (a: string, b: any) => (<WidthEllipsis value={a} />)
- },
- {
- title: '消耗', dataIndex: 'cost', label: '基本信息', align: 'center', width: 70, default: 2, sorter: true,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '推广账号数量', dataIndex: 'accountCount', label: '基本信息', align: 'center', width: 80, sorter: true,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '推广渠道数量', dataIndex: 'agentCount', label: '基本信息', align: 'center', width: 70, sorter: true,
- render: (a: string) => <Statistic value={a || 0} />
- },
- // {
- // title: '推广游戏数量', dataIndex: 'cost', label: '基本信息', align: 'center', width: 90, sorter: true,
- // },
- {
- title: '推广计划数量', dataIndex: 'planCount', label: '基本信息', align: 'center', width: 70, sorter: true,
- render: (a: string) => <Statistic value={a || 0} />
- }
- ]
- },
- {
- label: '用户数据',
- data: [
- {
- title: '注册人数', dataIndex: 'registerNum', label: '用户数据', align: 'center', width: 70, sorter: true, default: 3,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '注册成本', dataIndex: 'registerCost', label: '用户数据', align: 'center', width: 70, sorter: true, default: 4,
- render: (a: string) => <Statistic value={a || 0} />
- },
- // {
- // title: '活跃用户人数', dataIndex: 'clickRate', label: '用户数据', align: 'center', width: 80, sorter: true,
- // render: (a: number) => <Statistic value={a || 0} valueStyle={a >= 100 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
- // },
- {
- title: '创角人数', dataIndex: 'roleNum', label: '用户数据', align: 'center', width: 70, sorter: true,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '首日创角人数', dataIndex: 'firstRoleNum', label: '用户数据', align: 'center', width: 70, sorter: true,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '新用户累计创角人数', dataIndex: 'newUserTotalRoleNum', label: '用户数据', align: 'center', width: 100, sorter: true,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '首日创角成本', dataIndex: 'firstRoleCost', label: '用户数据', align: 'center', width: 70, sorter: true,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '新用户累计创角成本', dataIndex: 'newUserTotalRoleCost', label: '用户数据', align: 'center', width: 70, sorter: true,
- render: (a: string) => <Statistic value={a || 0} />
- },
- // {
- // title: '创角量', dataIndex: 'roleNum', label: '用户数据', align: 'center', width: 70, sorter: true,
- // render: (a: string) => <Statistic value={a || 0} />
- // },
- // {
- // title: '首日创角量', dataIndex: 'firstRoleNum', label: '用户数据', align: 'center', width: 70, sorter: true,
- // render: (a: string) => <Statistic value={a || 0} />
- // },
- // {
- // title: '新用户累计创角量', dataIndex: 'newUserTotalRoleNum', label: '用户数据', align: 'center', width: 70, sorter: true,
- // render: (a: string) => <Statistic value={a || 0} />
- // },
- // {
- // title: '新用户累计有效创角量', dataIndex: 'totalAmount', label: '用户数据', align: 'center', width: 70, sorter: true,
- // },
- {
- title: '首日创角率', dataIndex: 'firstRoleRate', label: '用户数据', align: 'center', width: 70, sorter: true,
- render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
- },
- {
- title: '新用户创角率', dataIndex: 'newUserTotalRoleRate', label: '用户数据', align: 'center', width: 70, sorter: true,
- render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
- }
- ]
- },
- {
- label: '付费数据',
- data: [
- {
- title: '新用户充值次数', dataIndex: 'newUserAmountCount', label: '付费数据', align: 'center', width: 90,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '新用户充值人数', dataIndex: 'newUserAmountNum', label: '付费数据', align: 'center', width: 100, sorter: true, default: 5,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '新用户充值金额', dataIndex: 'newUserAmount', label: '付费数据', align: 'center', default: 6,
- children: [
- {
- title: '总',
- dataIndex: 'newUserAmount',
- key: 'newUserAmount',
- align: 'right',
- width: 70,
- className: 'adDataBackColorClass',
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '支付宝',
- dataIndex: 'alipayAmount',
- key: 'alipayAmount',
- align: 'right',
- width: 80,
- className: 'payDataBackColorClass',
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '微信',
- dataIndex: 'wxAmount',
- key: 'wxAmount',
- align: 'right',
- width: 70,
- className: 'payDataBackColorClass',
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '米大师',
- dataIndex: 'miMasterAmount',
- key: 'miMasterAmount',
- align: 'right',
- width: 80,
- className: 'payDataBackColorClass',
- render: (a: string) => <Statistic value={a || 0} />
- }
- ]
- },
- {
- title: '首日新用户充值次数', dataIndex: 'firstNewUserAmountCount', label: '付费数据', align: 'center', width: 70, sorter: true,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '首日新用户充值人数', dataIndex: 'firstNewUserAmountNum', label: '付费数据', align: 'center', width: 70, sorter: true, default: 7,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '首日新用户充值金额', dataIndex: 'firstNewUserAmount', label: '付费数据', align: 'center', width: 70, sorter: true, default: 8,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '老用户充值次数', dataIndex: 'oldAmountCount', label: '付费数据', align: 'center', width: 70,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '老用户充值人数', dataIndex: 'oldAmountNum', label: '付费数据', align: 'center', width: 70,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '老用户充值金额', dataIndex: 'oldAmount', label: '付费数据', align: 'center', width: 70,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '账面充值次数', dataIndex: 'amountCount', label: '付费数据', align: 'center', width: 70, sorter: true,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '账面充值人数', dataIndex: 'amountNum', label: '付费数据', align: 'center', width: 70, sorter: true,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '账面充值金额', dataIndex: 'amount', label: '付费数据', align: 'center', width: 70, sorter: true,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '新用户累计充值次数', dataIndex: 'buyNewUserTotalAmountCount', label: '付费数据', align: 'center', width: 70, sorter: true,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '新用户累计充值人数', dataIndex: 'buyNewUserTotalAmountNum', label: '付费数据', align: 'center', width: 70, sorter: true, default: 9,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '新用户累计充值金额', dataIndex: 'buyNewUserTotalAmount', label: '付费数据', align: 'center', default: 10,
- children: [
- {
- title: '总',
- dataIndex: 'buyNewUserTotalAmount',
- key: 'buyNewUserTotalAmount',
- align: 'right',
- width: 70,
- className: 'adDataBackColorClass',
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '支付宝累计',
- dataIndex: 'newUserTotalZfbAmount',
- key: 'newUserTotalZfbAmount',
- align: 'right',
- width: 80,
- className: 'payDataBackColorClass',
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '微信累计',
- dataIndex: 'newUserTotalWxAmount',
- key: 'newUserTotalWxAmount',
- align: 'right',
- width: 70,
- className: 'payDataBackColorClass',
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '米大师累计',
- dataIndex: 'newUserTotalMdsAmount',
- key: 'newUserTotalMdsAmount',
- align: 'right',
- width: 80,
- className: 'payDataBackColorClass',
- render: (a: string) => <Statistic value={a || 0} />
- }
- ]
- },
- {
- title: '首日ROI', dataIndex: 'firstRoi', label: '付费数据', align: 'center', width: 70, sorter: true, default: 12,
- render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
- },
- {
- title: '新用户回收率', dataIndex: 'newUserRoi', label: '付费数据', align: 'center', width: 70, default: 11,
- render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
- },
- {
- title: '至今回收率', dataIndex: 'todayRoi', label: '付费数据', align: 'center', width: 70, sorter: true,
- render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
- },
- {
- title: '毛利额', dataIndex: 'grossProfit', label: '付费数据', align: 'center', width: 70, sorter: true,
- render: (a: number) => <Statistic value={a} precision={2} valueStyle={a < 0 ? { color: 'red' } : {}} />
- },
- ...roiC,
- {
- title: '60日ROI', dataIndex: 'roi60', label: '付费数据', align: 'center', width: 80, sorter: true,
- render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.9 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
- },
- {
- title: '90日ROI', dataIndex: 'roi90', label: '付费数据', align: 'center', width: 80, sorter: true,
- render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
- },
- {
- title: '180日ROI', dataIndex: 'roi180', label: '付费数据', align: 'center', width: 80, sorter: true,
- render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
- },
- {
- title: '1年ROI', dataIndex: 'roi1yaer', label: '付费数据', align: 'center', width: 80, sorter: true,
- render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
- },
- {
- title: '总ROI', dataIndex: 'todayRoi', label: '付费数据', align: 'center', width: 80, default: 13, sorter: true,
- render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
- },
- {
- title: '首日付费率', dataIndex: 'firstRate', label: '付费数据', align: 'center', width: 70, sorter: true,
- render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
- },
- {
- title: '新用户付费率', dataIndex: 'newUserAmountRate', label: '付费数据', align: 'center', width: 70, sorter: true,
- render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
- },
- {
- title: '至今付费率', tips: '至今付费率=新用户累计充值人数/注册人数', dataIndex: 'todayRate', label: '付费数据', align: 'center', width: 80, sorter: true,
- render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
- },
- {
- title: '新用户付费比', dataIndex: 'newUserAmountRatio', label: '付费数据', align: 'center', width: 70, sorter: true,
- render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
- },
- // {
- // title: '活跃用户付费率', dataIndex: 'newUserRate1', label: '付费数据', align: 'center', width: 70, sorter: true,
- // render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
- // },
- {
- title: '首日客单价', dataIndex: 'firstAvg', label: '付费数据', align: 'center', width: 70, sorter: true,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '新用户客单价', dataIndex: 'newUserAvg', label: '付费数据', align: 'center', width: 70,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '账面客单价', dataIndex: 'paperAvg', label: '付费数据', align: 'center', width: 70, sorter: true,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '首日充值成本', dataIndex: 'firstAmountCost', label: '付费数据', align: 'center', width: 70, sorter: true, default: 15,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '新用户充值成本', dataIndex: 'newUserAmountCost', label: '付费数据', align: 'center', width: 70, sorter: true, default: 14,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '至今充值成本', dataIndex: 'todayAmountCost', label: '付费数据', align: 'center', width: 70, sorter: true, default: 16,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '新用户复充率', dataIndex: 'newUserAgainRate', label: '付费数据', align: 'center', width: 70, sorter: true, default: 17,
- render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
- },
- {
- title: '至今复充率', dataIndex: 'todayAgainRate', label: '付费数据', align: 'center', width: 70, sorter: true,
- render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
- },
- // {
- // title: '平均活跃付费率', dataIndex: 'newUserRate4', label: '付费数据', align: 'center', width: 70, sorter: true,
- // render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
- // },
- {
- title: '新增注册ARPPU', dataIndex: 'newRegArpu', label: '付费数据', align: 'center', width: 70, sorter: true, default: 18,
- render: (a: string) => <Statistic value={a || 0} />
- },
- // {
- // title: '活跃ARPPU', dataIndex: 'regUserArpu1', label: '付费数据', align: 'center', width: 70, sorter: true,
- // render: (a: string) => <Statistic value={a || 0} />
- // },
- {
- title: '首日付费ARPPU', dataIndex: 'firstArpu', label: '付费数据', align: 'center', width: 70, sorter: true,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '新用户付费ARPPU', dataIndex: 'newUserArpu', label: '付费数据', align: 'center', width: 70,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '至今付费ARPPU', dataIndex: 'todayArpu', label: '付费数据', align: 'center', width: 70, sorter: true,
- render: (a: string) => <Statistic value={a || 0} />
- },
- {
- title: '账面ARPPU', dataIndex: 'paperArpu', label: '付费数据', align: 'center', width: 70, sorter: true,
- render: (a: string) => <Statistic value={a || 0} />
- }
- ]
- }
- ]
- return newArr
- }
- export default columns12
|