|
@@ -1,163 +1,292 @@
|
|
|
import React from "react"
|
|
|
-
|
|
|
+import style from './index.less'
|
|
|
+import { Statistic } from "antd"
|
|
|
|
|
|
function columns12(): { label: string, fieldSHow?: { label: string, saveField: string, defaultValue: any[], data: any[] }, data: any[] }[] {
|
|
|
|
|
|
+ let defaultValue = [ // 默认展示字段
|
|
|
+ { label: '充值人数', key: 'rechargeUserCount', type: '付费趋势' },
|
|
|
+ { label: '充值金额', key: 'rechargeMoney', type: '付费趋势' },
|
|
|
+ { label: '增', key: 'increase', type: '付费趋势' },
|
|
|
+ { label: '回', key: 'back', type: '付费趋势' },
|
|
|
+ { label: '倍', key: 'multiples', type: '付费趋势' },
|
|
|
+ ]
|
|
|
+ let mySelectFieldData = localStorage.getItem('myAdFieldConfig1.0.0_推广每日数据')
|
|
|
+ let newSelectFieldData: any = {}
|
|
|
+ if (mySelectFieldData) {
|
|
|
+ newSelectFieldData = JSON.parse(mySelectFieldData).date_field
|
|
|
+ } else {
|
|
|
+ newSelectFieldData = defaultValue
|
|
|
+ }
|
|
|
+
|
|
|
return [
|
|
|
{
|
|
|
label: '游戏信息',
|
|
|
data: [
|
|
|
- { title: '推广游戏CP名称', dataIndex: '1', label: '游戏信息', align: 'center', width: 95, default: 1 },
|
|
|
- { title: '推广游戏名称', dataIndex: '2', label: '游戏信息', align: 'center', width: 70, default: 2 },
|
|
|
- { title: '推广游戏应用类型', dataIndex: '3', label: '游戏信息', align: 'center', width: 70, default: 3 }
|
|
|
+ { title: '推广游戏名称', dataIndex: 'gameName', label: '游戏信息', align: 'center', width: 70, default: 1 },
|
|
|
+ {
|
|
|
+ title: '推广游戏应用类型', dataIndex: 'gameClassify', label: '游戏信息', align: 'center', width: 70, default: 2,
|
|
|
+ render: (a: string) => {
|
|
|
+ if (a) {
|
|
|
+ let one = a?.toString()?.charAt(0)
|
|
|
+ switch (one) {
|
|
|
+ case '3':
|
|
|
+ return 'Android'
|
|
|
+ case '4':
|
|
|
+ return 'IOS'
|
|
|
+ case '5':
|
|
|
+ return 'H5'
|
|
|
+ case '6':
|
|
|
+ return '小程序'
|
|
|
+ default:
|
|
|
+ return a || '--'
|
|
|
+ }
|
|
|
+ } else return '--'
|
|
|
+ }
|
|
|
+ }
|
|
|
]
|
|
|
},
|
|
|
{
|
|
|
label: '时间',
|
|
|
data: [
|
|
|
- { title: '注册时间(小时)', dataIndex: '4', label: '时间', align: 'center', width: 100, default: 4 },
|
|
|
- { title: '注册时间(天)', dataIndex: '5', label: '时间', align: 'center', width: 100, default: 5 },
|
|
|
+ { title: '注册时间(天)', dataIndex: 'costDate', label: '时间', align: 'center', width: 100, default: 3 },
|
|
|
]
|
|
|
},
|
|
|
{
|
|
|
label: '买量用户数据',
|
|
|
data: [
|
|
|
- { title: '买量注册人数', dataIndex: 'l1', label: '买量用户数据', align: 'center', width: 70, default: 6 },
|
|
|
- { title: '买量活跃用户人数', dataIndex: 'l2', label: '买量用户数据', align: 'center', width: 70, default: 7 },
|
|
|
- { title: '买量创角人数', dataIndex: 'l3', label: '买量用户数据', align: 'center', width: 70, default: 8 },
|
|
|
- { title: '买量首日创角人数', dataIndex: 'l4', label: '买量用户数据', align: 'center', width: 70, default: 9 },
|
|
|
- { title: '买量新用户累计创角人数', dataIndex: 'l5', label: '买量用户数据', align: 'center', width: 110, default: 10 },
|
|
|
- { title: '买量创角量', dataIndex: 'l6', label: '买量用户数据', align: 'center', width: 70 },
|
|
|
- { title: '买量首日创角量', dataIndex: 'l7', label: '买量用户数据', align: 'center', width: 70 },
|
|
|
- { title: '买量新用户累计创角量', dataIndex: 'l8', label: '买量用户数据', align: 'center', width: 70 },
|
|
|
- { title: '买量首日创角率', dataIndex: 'l9', label: '买量用户数据', align: 'center', width: 70 },
|
|
|
- { title: '买量新用户创角率', dataIndex: 'l10', label: '买量用户数据', align: 'center', width: 70 },
|
|
|
- { title: '买量游戏当日LTV', dataIndex: 'l11', label: '买量用户数据', align: 'center', width: 70 },
|
|
|
+ { title: '买量注册人数', dataIndex: 'buyRegNum', label: '买量用户数据', align: 'center', width: 70, default: 4 }
|
|
|
]
|
|
|
},
|
|
|
{
|
|
|
label: '自然量用户数据',
|
|
|
data: [
|
|
|
- { title: '自然量注册人数', dataIndex: 'm1', label: '自然量用户数据', align: 'center', width: 70, default: 11 },
|
|
|
- { title: '自然量活跃用户人数', dataIndex: 'm2', label: '自然量用户数据', align: 'center', width: 110, default: 12 },
|
|
|
- { title: '自然量创角人数', dataIndex: 'm3', label: '自然量用户数据', align: 'center', width: 70, default: 13 },
|
|
|
- { title: '自然量首日创角人数', dataIndex: 'm4', label: '自然量用户数据', align: 'center', width: 110, default: 14 },
|
|
|
- { title: '自然量新用户累计创角人数', dataIndex: 'm5', label: '自然量用户数据', align: 'center', width: 110, default: 15 },
|
|
|
- { title: '自然量创角量', dataIndex: 'm6', label: '自然量用户数据', align: 'center', width: 70, default: 16 },
|
|
|
- { title: '自然量首日创角量', dataIndex: 'm7', label: '自然量用户数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量新用户累计创角量', dataIndex: 'm8', label: '自然量用户数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量首日创角率', dataIndex: 'm9', label: '自然量用户数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量新用户创角率', dataIndex: 'm10', label: '自然量用户数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量小游戏当日LTV', dataIndex: 'm11', label: '自然量用户数据', align: 'center', width: 70 }
|
|
|
+ { title: '自然量注册人数', dataIndex: 'natureRegNum', label: '自然量用户数据', align: 'center', width: 70, default: 5 }
|
|
|
]
|
|
|
},
|
|
|
{
|
|
|
label: '总用户数据',
|
|
|
data: [
|
|
|
- { title: '注册人数', dataIndex: 'o1', label: '总用户数据', align: 'center', width: 70, default: 16 },
|
|
|
- { title: '活跃用户人数', dataIndex: 'o2', label: '总用户数据', align: 'center', width: 70, default: 17 },
|
|
|
- { title: '创角人数', dataIndex: 'o3', label: '总用户数据', align: 'center', width: 70, default: 18 },
|
|
|
- { title: '首日创角人数', dataIndex: 'o4', label: '总用户数据', align: 'center', width: 70, default: 19 },
|
|
|
- { title: '新用户累计创角人数', dataIndex: 'o5', label: '总用户数据', align: 'center', width: 100, default: 20 },
|
|
|
- { title: '创角量', dataIndex: 'o6', label: '总用户数据', align: 'center', width: 70, default: 21 },
|
|
|
- { title: '首日创角量', dataIndex: 'o7', label: '总用户数据', align: 'center', width: 70 },
|
|
|
- { title: '新用户累计创角量', dataIndex: 'o8', label: '总用户数据', align: 'center', width: 70 },
|
|
|
- { title: '首日创角率', dataIndex: 'o9', label: '总用户数据', align: 'center', width: 70 },
|
|
|
- { title: '新用户创角率', dataIndex: 'o10', label: '总用户数据', align: 'center', width: 70 },
|
|
|
- { title: '游戏当日LTV', dataIndex: 'o11', label: '总用户数据', align: 'center', width: 70 }
|
|
|
+ { title: '注册人数', dataIndex: 'regNum', label: '总用户数据', align: 'center', width: 70, default: 6 }
|
|
|
]
|
|
|
},
|
|
|
{
|
|
|
label: '买量付费数据',
|
|
|
data: [
|
|
|
- { title: '买量首日新用户充值次数', dataIndex: 'a4', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '买量首日新用户充值人数', dataIndex: 'a5', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '买量首日新用户充值金额', dataIndex: 'a6', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '买量老用户充值次数', dataIndex: 'a7', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '买量老用户充值人数', dataIndex: 'a8', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '买量老用户充值金额', dataIndex: 'a9', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '买量账面充值次数', dataIndex: 'a10', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '买量账面充值人数', dataIndex: 'a11', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '买量账面充值金额', dataIndex: 'a12', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '买量新用户累计充值次数', dataIndex: 'a13', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '买量新用户累计充值人数', dataIndex: 'a14', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '买量新用户累计充值金额', dataIndex: 'a15', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '买量首日付费率', dataIndex: 'a16', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '买量当天付费率', dataIndex: 'a18', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '买量新用户付费比', dataIndex: 'a19', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '买量活跃用户付费率', dataIndex: 'a20', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '买量首日客单价', dataIndex: 'a21', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '买量当天客单价', dataIndex: 'a23', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '买量账面客单价', dataIndex: 'a24', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '买量复充率', dataIndex: 'a25', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '买量平均活跃付费率', dataIndex: 'a28', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '买量新增注册ARPU', dataIndex: 'a29', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '买量活跃ARPPU', dataIndex: 'a30', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '买量首日付费ARPU', dataIndex: 'a31', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '买量当天付费ARPU', dataIndex: 'a33', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '买量账面ARPU', dataIndex: 'a34', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
+ { title: '买量首日新用户充值次数', dataIndex: 'buyFirstNewUserAmountCount', label: '买量付费数据', align: 'center', width: 70, default: 7 },
|
|
|
+ { title: '买量首日新用户充值人数', dataIndex: 'buyFirstNewUserAmountNum', label: '买量付费数据', align: 'center', width: 70, default: 8 },
|
|
|
+ {
|
|
|
+ title: '买量首日新用户充值金额', dataIndex: 'buyFirstNewUserAmount', label: '买量付费数据', align: 'center', width: 70, default: 9,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ { title: '买量老用户充值次数', dataIndex: 'buyOldUserCount', label: '买量付费数据', align: 'center', width: 70, default: 10 },
|
|
|
+ { title: '买量老用户充值人数', dataIndex: 'buyOldUserNum', label: '买量付费数据', align: 'center', width: 70, default: 11 },
|
|
|
+ {
|
|
|
+ title: '买量老用户充值金额', dataIndex: 'buyOldUserAmount', label: '买量付费数据', align: 'center', width: 70, default: 12,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ { title: '买量账面充值次数', dataIndex: 'buyAmountCount', label: '买量付费数据', align: 'center', width: 70, default: 13 },
|
|
|
+ { title: '买量账面充值人数', dataIndex: 'buyAmountNum', label: '买量付费数据', align: 'center', width: 70, default: 14 },
|
|
|
+ {
|
|
|
+ title: '买量账面充值金额', dataIndex: 'buyAmount', label: '买量付费数据', align: 'center', width: 70, default: 15,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ { title: '买量新用户累计充值次数', dataIndex: 'buyNewUserTotalAmountCount', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
+ { title: '买量新用户累计充值人数', dataIndex: 'buyNewUserTotalAmountNum', label: '买量付费数据', align: 'center', width: 70 },
|
|
|
+ {
|
|
|
+ title: '买量新用户累计充值金额', dataIndex: 'buyNewUserTotalAmount', label: '买量付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '买量首日付费率', dataIndex: 'buyFirstRoi', label: '买量付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '买量当天付费率', dataIndex: 'buyTodayRoi', label: '买量付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '买量新用户付费比', dataIndex: 'buyNewUserRate', label: '买量付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '买量首日客单价', dataIndex: 'buyFirstAvgAmount', label: '买量付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '买量当天客单价', dataIndex: 'buyTodayAvgAmount', label: '买量付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '买量账面客单价', dataIndex: 'buyAvgAmount', label: '买量付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '买量复充率', dataIndex: 'buyUserAgainRate', label: '买量付费数据', align: 'center', width: 70, default: 16,
|
|
|
+ render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '买量新增注册ARPU', dataIndex: 'buyRegUserArpu', label: '买量付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '买量首日付费ARPU', dataIndex: 'buyFirstAmountArpu', label: '买量付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '买量当天付费ARPU', dataIndex: 'buyTodayAmountArpu', label: '买量付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '买量账面ARPU', dataIndex: 'buyAmountArpu', label: '买量付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
]
|
|
|
},
|
|
|
{
|
|
|
label: '自然量付费数据',
|
|
|
data: [
|
|
|
- { title: '自然量首日新用户充值次数', dataIndex: 'b4', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量首日新用户充值人数', dataIndex: 'b5', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量首日新用户充值金额', dataIndex: 'b6', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量老用户充值次数', dataIndex: 'b7', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量老用户充值人数', dataIndex: 'b8', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量老用户充值金额', dataIndex: 'b9', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量账面充值次数', dataIndex: 'b10', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量账面充值人数', dataIndex: 'b11', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量账面充值金额', dataIndex: 'b12', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量新用户累计充值次数', dataIndex: 'b13', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量新用户累计充值人数', dataIndex: 'b14', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量新用户累计充值金额', dataIndex: 'b15', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量首日付费率', dataIndex: 'b16', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量当天付费率', dataIndex: 'b18', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量新用户付费比', dataIndex: 'b19', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量活跃用户付费率', dataIndex: 'b20', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量首日客单价', dataIndex: 'b21', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量当天客单价', dataIndex: 'b23', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量账面客单价', dataIndex: 'b24', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量复充率', dataIndex: 'b25', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量平均活跃付费率', dataIndex: 'b28', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量新增注册ARPU', dataIndex: 'b29', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量活跃ARPPU', dataIndex: 'b30', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量首日付费ARPU', dataIndex: 'b31', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量当天付费ARPU', dataIndex: 'b33', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
- { title: '自然量账面ARPU', dataIndex: 'b34', label: '自然量付费数据', align: 'center', width: 70 }
|
|
|
+ { title: '自然量首日新用户充值次数', dataIndex: 'natureFirstNewUserAmountCount', label: '自然量付费数据', align: 'center', width: 70, default: 17 },
|
|
|
+ { title: '自然量首日新用户充值人数', dataIndex: 'natureFirstNewUserAmountNum', label: '自然量付费数据', align: 'center', width: 70, default: 18 },
|
|
|
+ {
|
|
|
+ title: '自然量首日新用户充值金额', dataIndex: 'natureFirstNewUserAmount', label: '自然量付费数据', align: 'center', width: 70, default: 19,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ { title: '自然量老用户充值次数', dataIndex: 'natureOldUserCount', label: '自然量付费数据', align: 'center', width: 70, default: 20 },
|
|
|
+ { title: '自然量老用户充值人数', dataIndex: 'natureOldUserNum', label: '自然量付费数据', align: 'center', width: 70, default: 21 },
|
|
|
+ {
|
|
|
+ title: '自然量老用户充值金额', dataIndex: 'natureOldUserAmount', label: '自然量付费数据', align: 'center', width: 70, default: 22,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ { title: '自然量账面充值次数', dataIndex: 'natureAmountCount', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
+ { title: '自然量账面充值人数', dataIndex: 'natureAmountNum', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
+ {
|
|
|
+ title: '自然量账面充值金额', dataIndex: 'natureAmount', label: '自然量付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ { title: '自然量新用户累计充值次数', dataIndex: 'natureNewUserTotalAmountCount', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
+ { title: '自然量新用户累计充值人数', dataIndex: 'natureNewUserTotalAmountNum', label: '自然量付费数据', align: 'center', width: 70 },
|
|
|
+ {
|
|
|
+ title: '自然量新用户累计充值金额', dataIndex: 'natureNewUserTotalAmount', label: '自然量付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '自然量首日付费率', dataIndex: 'natureFirstRoi', label: '自然量付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '自然量当天付费率', dataIndex: 'natureTodayRoi', label: '自然量付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '自然量新用户付费比', dataIndex: 'natureNewUserRate', label: '自然量付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '自然量首日客单价', dataIndex: 'natureFirstAvgAmount', label: '自然量付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '自然量当天客单价', dataIndex: 'natureTodayAvgAmount', label: '自然量付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '自然量账面客单价', dataIndex: 'natureAvgAmount', label: '自然量付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '自然量复充率', dataIndex: 'natureUserAgainRate', label: '自然量付费数据', align: 'center', width: 70, default: 23,
|
|
|
+ render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '自然量新增注册ARPU', dataIndex: 'natureRegUserArpu', label: '自然量付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '自然量首日付费ARPU', dataIndex: 'natureFirstAmountArpu', label: '自然量付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '自然量当天付费ARPU', dataIndex: 'natureTodayAmountArpu', label: '自然量付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '自然量账面ARPU', dataIndex: 'natureAmountArpu', label: '自然量付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ }
|
|
|
]
|
|
|
},
|
|
|
{
|
|
|
label: '总付费数据',
|
|
|
data: [
|
|
|
- { title: '总首日新用户充值次数', dataIndex: 'c4', label: '总付费数据', align: 'center', width: 70 },
|
|
|
- { title: '总首日新用户充值人数', dataIndex: 'c5', label: '总付费数据', align: 'center', width: 70 },
|
|
|
- { title: '总首日新用户充值金额', dataIndex: 'c6', label: '总付费数据', align: 'center', width: 70 },
|
|
|
- { title: '总老用户充值次数', dataIndex: 'c7', label: '总付费数据', align: 'center', width: 70 },
|
|
|
- { title: '总老用户充值人数', dataIndex: 'c8', label: '总付费数据', align: 'center', width: 70 },
|
|
|
- { title: '总老用户充值金额', dataIndex: 'c9', label: '总付费数据', align: 'center', width: 70 },
|
|
|
- { title: '总账面充值次数', dataIndex: 'c10', label: '总付费数据', align: 'center', width: 70 },
|
|
|
- { title: '总账面充值人数', dataIndex: 'c11', label: '总付费数据', align: 'center', width: 70 },
|
|
|
- { title: '总账面充值金额', dataIndex: 'c12', label: '总付费数据', align: 'center', width: 70 },
|
|
|
- { title: '总新用户累计充值次数', dataIndex: 'c13', label: '总付费数据', align: 'center', width: 70 },
|
|
|
- { title: '总新用户累计充值人数', dataIndex: 'c14', label: '总付费数据', align: 'center', width: 70 },
|
|
|
- { title: '总新用户累计充值金额', dataIndex: 'c15', label: '总付费数据', align: 'center', width: 70 },
|
|
|
- { title: '总首日付费率', dataIndex: 'c16', label: '总付费数据', align: 'center', width: 70 },
|
|
|
- { title: '总当天付费率', dataIndex: 'c18', label: '总付费数据', align: 'center', width: 70 },
|
|
|
- { title: '总新用户付费比', dataIndex: 'c19', label: '总付费数据', align: 'center', width: 70 },
|
|
|
- { title: '总活跃用户付费率', dataIndex: 'c20', label: '总付费数据', align: 'center', width: 70 },
|
|
|
- { title: '总首日客单价', dataIndex: 'c21', label: '总付费数据', align: 'center', width: 70 },
|
|
|
- { title: '总当天客单价', dataIndex: 'c23', label: '总付费数据', align: 'center', width: 70 },
|
|
|
- { title: '总账面客单价', dataIndex: 'c24', label: '总付费数据', align: 'center', width: 70 },
|
|
|
- { title: '总复充率', dataIndex: 'c25', label: '总付费数据', align: 'center', width: 70 },
|
|
|
- { title: '总平均活跃付费率', dataIndex: 'c28', label: '总付费数据', align: 'center', width: 70 },
|
|
|
- { title: '总新增注册ARPU', dataIndex: 'c29', label: '总付费数据', align: 'center', width: 70 },
|
|
|
- { title: '总活跃ARPPU', dataIndex: 'c30', label: '总付费数据', align: 'center', width: 70 },
|
|
|
- { title: '总首日付费ARPU', dataIndex: 'c31', label: '总付费数据', align: 'center', width: 70 },
|
|
|
- { title: '总当天付费ARPU', dataIndex: 'c33', label: '总付费数据', align: 'center', width: 70 },
|
|
|
- { title: '总账面ARPU', dataIndex: 'c34', label: '总付费数据', align: 'center', width: 70 }
|
|
|
+ { title: '总首日新用户充值次数', dataIndex: 'firstNewUserAmountCount', label: '总付费数据', align: 'center', width: 70, default: 24 },
|
|
|
+ { title: '总首日新用户充值人数', dataIndex: 'firstNewUserAmountNum', label: '总付费数据', align: 'center', width: 70, default: 25 },
|
|
|
+ {
|
|
|
+ title: '总首日新用户充值金额', dataIndex: 'firstNewUserAmount', label: '总付费数据', align: 'center', width: 70, default: 26,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ { title: '总老用户充值次数', dataIndex: 'oldUserCount', label: '总付费数据', align: 'center', width: 70, default: 27 },
|
|
|
+ { title: '总老用户充值人数', dataIndex: 'oldUserNum', label: '总付费数据', align: 'center', width: 70, default: 28 },
|
|
|
+ {
|
|
|
+ title: '总老用户充值金额', dataIndex: 'oldUserAmount', label: '总付费数据', align: 'center', width: 70, default: 29,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ { title: '总账面充值次数', dataIndex: 'amountCount', label: '总付费数据', align: 'center', width: 70 },
|
|
|
+ { title: '总账面充值人数', dataIndex: 'amountNum', label: '总付费数据', align: 'center', width: 70 },
|
|
|
+ {
|
|
|
+ title: '总账面充值金额', dataIndex: 'amount', label: '总付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ { title: '总新用户累计充值次数', dataIndex: 'newUserTotalAmountCount', label: '总付费数据', align: 'center', width: 70 },
|
|
|
+ { title: '总新用户累计充值人数', dataIndex: 'newUserTotalAmountNum', label: '总付费数据', align: 'center', width: 70 },
|
|
|
+ {
|
|
|
+ title: '总新用户累计充值金额', dataIndex: 'newUserTotalAmount', label: '总付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '总首日付费率', dataIndex: 'firstRoi', label: '总付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '总当天付费率', dataIndex: 'todayRoi', label: '总付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '总新用户付费比', dataIndex: 'newUserRate', label: '总付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '总首日客单价', dataIndex: 'firstAvgAmount', label: '总付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '总当天客单价', dataIndex: 'todayAvgAmount', label: '总付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '总账面客单价', dataIndex: 'avgAmount', label: '总付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '总复充率', dataIndex: 'userAgainRate', label: '总付费数据', align: 'center', width: 70, default: 30,
|
|
|
+ render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '总新增注册ARPU', dataIndex: 'regUserArpu', label: '总付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '总首日付费ARPU', dataIndex: 'firstAmountArpu', label: '总付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '总当天付费ARPU', dataIndex: 'todayAmountArpu', label: '总付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '总账面ARPU', dataIndex: 'amountArpu', label: '总付费数据', align: 'center', width: 70,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ }
|
|
|
]
|
|
|
},
|
|
|
{
|
|
@@ -165,719 +294,724 @@ function columns12(): { label: string, fieldSHow?: { label: string, saveField: s
|
|
|
label: '日期区间字段展示',
|
|
|
saveField: 'date_field',
|
|
|
defaultValue: [ // 默认展示字段
|
|
|
- { label: '创角人数', key: 'ffcjrs', type: '买量付费趋势' },
|
|
|
- { label: '创角数量', key: 'ffcjsl', type: '买量付费趋势' },
|
|
|
- { label: '活跃人数', key: 'ffhyrs', type: '买量付费趋势' },
|
|
|
- { label: '充值人数', key: 'ffczrs', type: '买量付费趋势' },
|
|
|
- { label: '充值金额', key: 'ffczje', type: '买量付费趋势' },
|
|
|
- { label: '增', key: 'ffz', type: '买量付费趋势' },
|
|
|
- { label: '回', key: 'ffh', type: '买量付费趋势' },
|
|
|
- { label: '倍', key: 'ffb', type: '买量付费趋势' },
|
|
|
+ { label: '充值人数', key: 'rechargeUserCount', type: '付费趋势' },
|
|
|
+ { label: '充值金额', key: 'rechargeMoney', type: '付费趋势' },
|
|
|
+ { label: '增', key: 'increase', type: '付费趋势' },
|
|
|
+ { label: '回', key: 'back', type: '付费趋势' },
|
|
|
+ { label: '倍', key: 'multiples', type: '付费趋势' },
|
|
|
],
|
|
|
data: [
|
|
|
{
|
|
|
- label: '买量付费趋势',
|
|
|
- data: [
|
|
|
- { label: '创角人数', key: 'ffcjrs', type: '买量付费趋势' },
|
|
|
- { label: '创角数量', key: 'ffcjsl', type: '买量付费趋势' },
|
|
|
- { label: '活跃人数', key: 'ffhyrs', type: '买量付费趋势' },
|
|
|
- { label: '充值人数', key: 'ffczrs', type: '买量付费趋势' },
|
|
|
- { label: '充值金额', key: 'ffczje', type: '买量付费趋势' },
|
|
|
- { label: '增', key: 'ffz', type: '买量付费趋势' },
|
|
|
- { label: '回', key: 'ffh', type: '买量付费趋势' },
|
|
|
- { label: '倍', key: 'ffb', type: '买量付费趋势' },
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '买量LTV数据',
|
|
|
+ label: '付费趋势',
|
|
|
data: [
|
|
|
- { label: 'LTV', key: 'LTV', type: '买量LTV数据' },
|
|
|
+ { label: '充值人数', key: 'rechargeUserCount', type: '付费趋势' },
|
|
|
+ { label: '充值金额', key: 'rechargeMoney', type: '付费趋势' },
|
|
|
+ { label: '增', key: 'increase', type: '付费趋势' },
|
|
|
+ { label: '回', key: 'back', type: '付费趋势' },
|
|
|
+ { label: '倍', key: 'multiples', type: '付费趋势' },
|
|
|
]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '买量留存分析',
|
|
|
- data: [
|
|
|
- { label: '活跃人数', key: 'lchyrs', type: '买量留存分析' },
|
|
|
- { label: '留存率', key: 'lclcl', type: '买量留存分析' },
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '买量玩家90日激活数据',
|
|
|
- data: [
|
|
|
- { label: '创角人数', key: 'cjrs1', type: '买量玩家90日激活数据' },
|
|
|
- { label: '付费人数', key: 'ffrs1', type: '买量玩家90日激活数据' },
|
|
|
- { label: '创角比', key: 'cjb', type: '买量玩家90日激活数据' },
|
|
|
- { label: '付费比', key: 'ffb1', type: '买量玩家90日激活数据' },
|
|
|
- ]
|
|
|
- },
|
|
|
-
|
|
|
- {
|
|
|
- label: '自然量付费趋势',
|
|
|
- data: [
|
|
|
- { label: '创角人数', key: 'ffcjrs', type: '自然量付费趋势' },
|
|
|
- { label: '创角数量', key: 'ffcjsl', type: '自然量付费趋势' },
|
|
|
- { label: '活跃人数', key: 'ffhyrs', type: '自然量付费趋势' },
|
|
|
- { label: '充值人数', key: 'ffczrs', type: '自然量付费趋势' },
|
|
|
- { label: '充值金额', key: 'ffczje', type: '自然量付费趋势' },
|
|
|
- { label: '增', key: 'ffz', type: '自然量付费趋势' },
|
|
|
- { label: '回', key: 'ffh', type: '自然量付费趋势' },
|
|
|
- { label: '倍', key: 'ffb', type: '自然量付费趋势' },
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '自然量LTV数据',
|
|
|
- data: [
|
|
|
- { label: 'LTV', key: 'LTV', type: '自然量LTV数据' },
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '自然量留存分析',
|
|
|
- data: [
|
|
|
- { label: '活跃人数', key: 'lchyrs', type: '自然量留存分析' },
|
|
|
- { label: '留存率', key: 'lclcl', type: '自然量留存分析' },
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '自然量玩家90日激活数据',
|
|
|
- data: [
|
|
|
- { label: '创角人数', key: 'cjrs1', type: '自然量玩家90日激活数据' },
|
|
|
- { label: '付费人数', key: 'ffrs1', type: '自然量玩家90日激活数据' },
|
|
|
- { label: '创角比', key: 'cjb', type: '自然量玩家90日激活数据' },
|
|
|
- { label: '付费比', key: 'ffb1', type: '自然量玩家90日激活数据' },
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '总付费趋势',
|
|
|
- data: [
|
|
|
- { label: '创角人数', key: 'ffcjrs', type: '总付费趋势' },
|
|
|
- { label: '创角数量', key: 'ffcjsl', type: '总付费趋势' },
|
|
|
- { label: '活跃人数', key: 'ffhyrs', type: '总付费趋势' },
|
|
|
- { label: '充值人数', key: 'ffczrs', type: '总付费趋势' },
|
|
|
- { label: '充值金额', key: 'ffczje', type: '总付费趋势' },
|
|
|
- { label: '增', key: 'ffz', type: '总付费趋势' },
|
|
|
- { label: '回', key: 'ffh', type: '总付费趋势' },
|
|
|
- { label: '倍', key: 'ffb', type: '总付费趋势' },
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '总LTV数据',
|
|
|
- data: [
|
|
|
- { label: 'LTV', key: 'LTV', type: '总LTV数据' },
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '总留存分析',
|
|
|
- data: [
|
|
|
- { label: '活跃人数', key: 'lchyrs', type: '总留存分析' },
|
|
|
- { label: '留存率', key: 'lclcl', type: '总留存分析' },
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '总玩家90日激活数据',
|
|
|
- data: [
|
|
|
- { label: '创角人数', key: 'cjrs1', type: '总玩家90日激活数据' },
|
|
|
- { label: '付费人数', key: 'ffrs1', type: '总玩家90日激活数据' },
|
|
|
- { label: '创角比', key: 'cjb', type: '总玩家90日激活数据' },
|
|
|
- { label: '付费比', key: 'ffb1', type: '总玩家90日激活数据' },
|
|
|
- ]
|
|
|
- },
|
|
|
+ }
|
|
|
]
|
|
|
},
|
|
|
- label: 'D1-D30',
|
|
|
+ label: '买量付费趋势',
|
|
|
data: [{
|
|
|
- title: "D1",
|
|
|
- dataIndex: "D1",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D2",
|
|
|
- dataIndex: "D2",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D3",
|
|
|
- dataIndex: "D3",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D4",
|
|
|
- dataIndex: "D4",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D5",
|
|
|
- dataIndex: "D5",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D6",
|
|
|
- dataIndex: "D6",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D7",
|
|
|
- dataIndex: "D7",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D8",
|
|
|
- dataIndex: "D8",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D9",
|
|
|
- dataIndex: "D9",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D10",
|
|
|
- dataIndex: "D10",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D11",
|
|
|
- dataIndex: "D11",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D12",
|
|
|
- dataIndex: "D12",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D13",
|
|
|
- dataIndex: "D13",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D14",
|
|
|
- dataIndex: "D14",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D15",
|
|
|
- dataIndex: "D15",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D16",
|
|
|
- dataIndex: "D16",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D17",
|
|
|
- dataIndex: "D17",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D18",
|
|
|
- dataIndex: "D18",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D19",
|
|
|
- dataIndex: "D19",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D20",
|
|
|
- dataIndex: "D20",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D21",
|
|
|
- dataIndex: "D21",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D22",
|
|
|
- dataIndex: "D22",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D23",
|
|
|
- dataIndex: "D23",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D24",
|
|
|
- dataIndex: "D24",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D25",
|
|
|
- dataIndex: "D25",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D26",
|
|
|
- dataIndex: "D26",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D27",
|
|
|
- dataIndex: "D27",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D28",
|
|
|
- dataIndex: "D28",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D29",
|
|
|
- dataIndex: "D29",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D30",
|
|
|
- dataIndex: "D30",
|
|
|
- label: "D1-D30",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
+ title: "D1(买)",
|
|
|
+ dataIndex: "D1Buy",
|
|
|
+ label: "买量付费趋势",
|
|
|
+ align: "center",
|
|
|
+ width: 110,
|
|
|
+ default: 31,
|
|
|
+ render: (a: any, b: any) => {
|
|
|
+ if (newSelectFieldData?.length > 0) {
|
|
|
+ let data: any = {}
|
|
|
+ let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
|
|
|
+ switch (newSelectFieldData[0].type) {
|
|
|
+ case '付费趋势':
|
|
|
+ if (b?.buyAmountD1Trend) {
|
|
|
+ data = b?.buyAmountD1Trend
|
|
|
+ return <div className={style.dbox}>
|
|
|
+ {keyS?.includes('rechargeUserCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</span></span>}
|
|
|
+ {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充金:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
|
|
|
+ {keyS?.includes('increase') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('back') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('multiples') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples}</span></span>}
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ },
|
|
|
+ }, {
|
|
|
+ title: "D3(买)",
|
|
|
+ dataIndex: "D3Buy",
|
|
|
+ label: "买量付费趋势",
|
|
|
+ align: "center",
|
|
|
+ width: 110,
|
|
|
+ default: 32,
|
|
|
+ render: (a: any, b: any) => {
|
|
|
+ if (newSelectFieldData?.length > 0) {
|
|
|
+ let data: any = {}
|
|
|
+ let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
|
|
|
+ switch (newSelectFieldData[0].type) {
|
|
|
+ case '付费趋势':
|
|
|
+ if (b?.buyAmountD3Trend) {
|
|
|
+ data = b?.buyAmountD3Trend
|
|
|
+ return <div className={style.dbox}>
|
|
|
+ {keyS?.includes('rechargeUserCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</span></span>}
|
|
|
+ {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充金:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
|
|
|
+ {keyS?.includes('increase') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('back') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('multiples') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples}</span></span>}
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ },
|
|
|
+ }, {
|
|
|
+ title: "D7(买)",
|
|
|
+ dataIndex: "D7Buy",
|
|
|
+ label: "买量付费趋势",
|
|
|
+ align: "center",
|
|
|
+ width: 110,
|
|
|
+ default: 33,
|
|
|
+ render: (a: any, b: any) => {
|
|
|
+ if (newSelectFieldData?.length > 0) {
|
|
|
+ let data: any = {}
|
|
|
+ let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
|
|
|
+ switch (newSelectFieldData[0].type) {
|
|
|
+ case '付费趋势':
|
|
|
+ if (b?.buyAmountD7Trend) {
|
|
|
+ data = b?.buyAmountD7Trend
|
|
|
+ return <div className={style.dbox}>
|
|
|
+ {keyS?.includes('rechargeUserCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</span></span>}
|
|
|
+ {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充金:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
|
|
|
+ {keyS?.includes('increase') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('back') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('multiples') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples}</span></span>}
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ },
|
|
|
+ }, {
|
|
|
+ title: "D15(买)",
|
|
|
+ dataIndex: "D15Buy",
|
|
|
+ label: "买量付费趋势",
|
|
|
+ align: "center",
|
|
|
+ width: 110,
|
|
|
+ default: 34,
|
|
|
+ render: (a: any, b: any) => {
|
|
|
+ if (newSelectFieldData?.length > 0) {
|
|
|
+ let data: any = {}
|
|
|
+ let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
|
|
|
+ switch (newSelectFieldData[0].type) {
|
|
|
+ case '付费趋势':
|
|
|
+ if (b?.buyAmountD15Trend) {
|
|
|
+ data = b?.buyAmountD15Trend
|
|
|
+ return <div className={style.dbox}>
|
|
|
+ {keyS?.includes('rechargeUserCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</span></span>}
|
|
|
+ {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充金:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
|
|
|
+ {keyS?.includes('increase') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('back') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('multiples') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples}</span></span>}
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ },
|
|
|
+ }, {
|
|
|
+ title: "M1(买)",
|
|
|
+ dataIndex: "M1Buy",
|
|
|
+ label: "买量付费趋势",
|
|
|
+ align: "center",
|
|
|
+ width: 110,
|
|
|
+ default: 35,
|
|
|
+ render: (a: any, b: any) => {
|
|
|
+ if (newSelectFieldData?.length > 0) {
|
|
|
+ let data: any = {}
|
|
|
+ let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
|
|
|
+ switch (newSelectFieldData[0].type) {
|
|
|
+ case '付费趋势':
|
|
|
+ if (b?.buyAmountM1Trend) {
|
|
|
+ data = b?.buyAmountM1Trend
|
|
|
+ return <div className={style.dbox}>
|
|
|
+ {keyS?.includes('rechargeUserCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</span></span>}
|
|
|
+ {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充金:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
|
|
|
+ {keyS?.includes('increase') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('back') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('multiples') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples}</span></span>}
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ },
|
|
|
+ }, {
|
|
|
+ title: "M2(买)",
|
|
|
+ dataIndex: "M2Buy",
|
|
|
+ label: "买量付费趋势",
|
|
|
+ align: "center",
|
|
|
+ width: 110,
|
|
|
+ default: 36,
|
|
|
+ render: (a: any, b: any) => {
|
|
|
+ if (newSelectFieldData?.length > 0) {
|
|
|
+ let data: any = {}
|
|
|
+ let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
|
|
|
+ switch (newSelectFieldData[0].type) {
|
|
|
+ case '付费趋势':
|
|
|
+ if (b?.buyAmountM2Trend) {
|
|
|
+ data = b?.buyAmountM2Trend
|
|
|
+ return <div className={style.dbox}>
|
|
|
+ {keyS?.includes('rechargeUserCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</span></span>}
|
|
|
+ {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充金:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
|
|
|
+ {keyS?.includes('increase') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('back') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('multiples') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples}</span></span>}
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ },
|
|
|
+ }, {
|
|
|
+ title: "M3(买)",
|
|
|
+ dataIndex: "M3Buy",
|
|
|
+ label: "买量付费趋势",
|
|
|
+ align: "center",
|
|
|
+ width: 110,
|
|
|
+ default: 37,
|
|
|
+ render: (a: any, b: any) => {
|
|
|
+ if (newSelectFieldData?.length > 0) {
|
|
|
+ let data: any = {}
|
|
|
+ let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
|
|
|
+ switch (newSelectFieldData[0].type) {
|
|
|
+ case '付费趋势':
|
|
|
+ if (b?.buyAmountM3Trend) {
|
|
|
+ data = b?.buyAmountM3Trend
|
|
|
+ return <div className={style.dbox}>
|
|
|
+ {keyS?.includes('rechargeUserCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</span></span>}
|
|
|
+ {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充金:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
|
|
|
+ {keyS?.includes('increase') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('back') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('multiples') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples}</span></span>}
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ },
|
|
|
+ }, {
|
|
|
+ title: "总(买)",
|
|
|
+ dataIndex: "totalBuy",
|
|
|
+ label: "买量付费趋势",
|
|
|
+ align: "center",
|
|
|
+ width: 110,
|
|
|
+ default: 38,
|
|
|
+ render: (a: any, b: any) => {
|
|
|
+ if (newSelectFieldData?.length > 0) {
|
|
|
+ let data: any = {}
|
|
|
+ let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
|
|
|
+ switch (newSelectFieldData[0].type) {
|
|
|
+ case '付费趋势':
|
|
|
+ if (b?.buyAmountSumTrend) {
|
|
|
+ data = b?.buyAmountSumTrend
|
|
|
+ return <div className={style.dbox}>
|
|
|
+ {keyS?.includes('rechargeUserCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</span></span>}
|
|
|
+ {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充金:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
|
|
|
+ {keyS?.includes('increase') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('back') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('multiples') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples}</span></span>}
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ },
|
|
|
}]
|
|
|
},
|
|
|
{
|
|
|
- label: 'D31-D60',
|
|
|
- data: [{
|
|
|
- title: "D31",
|
|
|
- dataIndex: "D31",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D32",
|
|
|
- dataIndex: "D32",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D33",
|
|
|
- dataIndex: "D33",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D34",
|
|
|
- dataIndex: "D34",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D35",
|
|
|
- dataIndex: "D35",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D36",
|
|
|
- dataIndex: "D36",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D37",
|
|
|
- dataIndex: "D37",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D38",
|
|
|
- dataIndex: "D38",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D39",
|
|
|
- dataIndex: "D39",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D40",
|
|
|
- dataIndex: "D40",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D41",
|
|
|
- dataIndex: "D41",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D42",
|
|
|
- dataIndex: "D42",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D43",
|
|
|
- dataIndex: "D43",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D44",
|
|
|
- dataIndex: "D44",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D45",
|
|
|
- dataIndex: "D45",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D46",
|
|
|
- dataIndex: "D46",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D47",
|
|
|
- dataIndex: "D47",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D48",
|
|
|
- dataIndex: "D48",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D49",
|
|
|
- dataIndex: "D49",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D50",
|
|
|
- dataIndex: "D50",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D51",
|
|
|
- dataIndex: "D51",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D52",
|
|
|
- dataIndex: "D52",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D53",
|
|
|
- dataIndex: "D53",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D54",
|
|
|
- dataIndex: "D54",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D55",
|
|
|
- dataIndex: "D55",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D56",
|
|
|
- dataIndex: "D56",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D57",
|
|
|
- dataIndex: "D57",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D58",
|
|
|
- dataIndex: "D58",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D59",
|
|
|
- dataIndex: "D59",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D60",
|
|
|
- dataIndex: "D60",
|
|
|
- label: "D31-D60",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }],
|
|
|
- },
|
|
|
- {
|
|
|
- label: 'D61-D90',
|
|
|
+ label: '自然量付费趋势',
|
|
|
data: [{
|
|
|
- title: "D61",
|
|
|
- dataIndex: "D61",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D62",
|
|
|
- dataIndex: "D62",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D63",
|
|
|
- dataIndex: "D63",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D64",
|
|
|
- dataIndex: "D64",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D65",
|
|
|
- dataIndex: "D65",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D66",
|
|
|
- dataIndex: "D66",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D67",
|
|
|
- dataIndex: "D67",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D68",
|
|
|
- dataIndex: "D68",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D69",
|
|
|
- dataIndex: "D69",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D70",
|
|
|
- dataIndex: "D70",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D71",
|
|
|
- dataIndex: "D71",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D72",
|
|
|
- dataIndex: "D72",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D73",
|
|
|
- dataIndex: "D73",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D74",
|
|
|
- dataIndex: "D74",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D75",
|
|
|
- dataIndex: "D75",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D76",
|
|
|
- dataIndex: "D76",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D77",
|
|
|
- dataIndex: "D77",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D78",
|
|
|
- dataIndex: "D78",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D79",
|
|
|
- dataIndex: "D79",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D80",
|
|
|
- dataIndex: "D80",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D81",
|
|
|
- dataIndex: "D81",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D82",
|
|
|
- dataIndex: "D82",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D83",
|
|
|
- dataIndex: "D83",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D84",
|
|
|
- dataIndex: "D84",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D85",
|
|
|
- dataIndex: "D85",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D86",
|
|
|
- dataIndex: "D86",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D87",
|
|
|
- dataIndex: "D87",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D88",
|
|
|
- dataIndex: "D88",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D89",
|
|
|
- dataIndex: "D89",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "D90",
|
|
|
- dataIndex: "D90",
|
|
|
- label: "D61-D90",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }],
|
|
|
+ title: "D1(自)",
|
|
|
+ dataIndex: "D1Nature",
|
|
|
+ label: "自然量付费趋势",
|
|
|
+ align: "center",
|
|
|
+ width: 110,
|
|
|
+ default: 39,
|
|
|
+ render: (a: any, b: any) => {
|
|
|
+ if (newSelectFieldData?.length > 0) {
|
|
|
+ let data: any = {}
|
|
|
+ let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
|
|
|
+ switch (newSelectFieldData[0].type) {
|
|
|
+ case '付费趋势':
|
|
|
+ if (b?.natureAmountD1Trend) {
|
|
|
+ data = b?.natureAmountD1Trend
|
|
|
+ return <div className={style.dbox}>
|
|
|
+ {keyS?.includes('rechargeUserCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</span></span>}
|
|
|
+ {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充金:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
|
|
|
+ {keyS?.includes('increase') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('back') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('multiples') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples}</span></span>}
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ },
|
|
|
+ }, {
|
|
|
+ title: "D3(自)",
|
|
|
+ dataIndex: "D3Nature",
|
|
|
+ label: "自然量付费趋势",
|
|
|
+ align: "center",
|
|
|
+ width: 110,
|
|
|
+ default: 40,
|
|
|
+ render: (a: any, b: any) => {
|
|
|
+ if (newSelectFieldData?.length > 0) {
|
|
|
+ let data: any = {}
|
|
|
+ let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
|
|
|
+ switch (newSelectFieldData[0].type) {
|
|
|
+ case '付费趋势':
|
|
|
+ if (b?.natureAmountD3Trend) {
|
|
|
+ data = b?.natureAmountD3Trend
|
|
|
+ return <div className={style.dbox}>
|
|
|
+ {keyS?.includes('rechargeUserCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</span></span>}
|
|
|
+ {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充金:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
|
|
|
+ {keyS?.includes('increase') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('back') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('multiples') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples}</span></span>}
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ },
|
|
|
+ }, {
|
|
|
+ title: "D7(自)",
|
|
|
+ dataIndex: "D7Nature",
|
|
|
+ label: "自然量付费趋势",
|
|
|
+ align: "center",
|
|
|
+ width: 110,
|
|
|
+ default: 41,
|
|
|
+ render: (a: any, b: any) => {
|
|
|
+ if (newSelectFieldData?.length > 0) {
|
|
|
+ let data: any = {}
|
|
|
+ let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
|
|
|
+ switch (newSelectFieldData[0].type) {
|
|
|
+ case '付费趋势':
|
|
|
+ if (b?.natureAmountD7Trend) {
|
|
|
+ data = b?.natureAmountD7Trend
|
|
|
+ return <div className={style.dbox}>
|
|
|
+ {keyS?.includes('rechargeUserCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</span></span>}
|
|
|
+ {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充金:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
|
|
|
+ {keyS?.includes('increase') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('back') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('multiples') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples}</span></span>}
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ },
|
|
|
+ }, {
|
|
|
+ title: "D15(自)",
|
|
|
+ dataIndex: "D15Nature",
|
|
|
+ label: "自然量付费趋势",
|
|
|
+ align: "center",
|
|
|
+ width: 110,
|
|
|
+ default: 42,
|
|
|
+ render: (a: any, b: any) => {
|
|
|
+ if (newSelectFieldData?.length > 0) {
|
|
|
+ let data: any = {}
|
|
|
+ let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
|
|
|
+ switch (newSelectFieldData[0].type) {
|
|
|
+ case '付费趋势':
|
|
|
+ if (b?.natureAmountD15Trend) {
|
|
|
+ data = b?.natureAmountD15Trend
|
|
|
+ return <div className={style.dbox}>
|
|
|
+ {keyS?.includes('rechargeUserCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</span></span>}
|
|
|
+ {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充金:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
|
|
|
+ {keyS?.includes('increase') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('back') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('multiples') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples}</span></span>}
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ },
|
|
|
+ }, {
|
|
|
+ title: "M1(自)",
|
|
|
+ dataIndex: "M1Nature",
|
|
|
+ label: "自然量付费趋势",
|
|
|
+ align: "center",
|
|
|
+ width: 110,
|
|
|
+ default: 43,
|
|
|
+ render: (a: any, b: any) => {
|
|
|
+ if (newSelectFieldData?.length > 0) {
|
|
|
+ let data: any = {}
|
|
|
+ let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
|
|
|
+ switch (newSelectFieldData[0].type) {
|
|
|
+ case '付费趋势':
|
|
|
+ if (b?.natureAmountM1Trend) {
|
|
|
+ data = b?.natureAmountM1Trend
|
|
|
+ return <div className={style.dbox}>
|
|
|
+ {keyS?.includes('rechargeUserCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</span></span>}
|
|
|
+ {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充金:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
|
|
|
+ {keyS?.includes('increase') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('back') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('multiples') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples}</span></span>}
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ },
|
|
|
+ }, {
|
|
|
+ title: "M2(自)",
|
|
|
+ dataIndex: "M2Nature",
|
|
|
+ label: "自然量付费趋势",
|
|
|
+ align: "center",
|
|
|
+ width: 110,
|
|
|
+ default: 44,
|
|
|
+ render: (a: any, b: any) => {
|
|
|
+ if (newSelectFieldData?.length > 0) {
|
|
|
+ let data: any = {}
|
|
|
+ let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
|
|
|
+ switch (newSelectFieldData[0].type) {
|
|
|
+ case '付费趋势':
|
|
|
+ if (b?.natureAmountM2Trend) {
|
|
|
+ data = b?.natureAmountM2Trend
|
|
|
+ return <div className={style.dbox}>
|
|
|
+ {keyS?.includes('rechargeUserCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</span></span>}
|
|
|
+ {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充金:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
|
|
|
+ {keyS?.includes('increase') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('back') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('multiples') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples}</span></span>}
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ },
|
|
|
+ }, {
|
|
|
+ title: "M3(自)",
|
|
|
+ dataIndex: "M3Nature",
|
|
|
+ label: "自然量付费趋势",
|
|
|
+ align: "center",
|
|
|
+ width: 110,
|
|
|
+ default: 45,
|
|
|
+ render: (a: any, b: any) => {
|
|
|
+ if (newSelectFieldData?.length > 0) {
|
|
|
+ let data: any = {}
|
|
|
+ let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
|
|
|
+ switch (newSelectFieldData[0].type) {
|
|
|
+ case '付费趋势':
|
|
|
+ if (b?.natureAmountM3Trend) {
|
|
|
+ data = b?.natureAmountM3Trend
|
|
|
+ return <div className={style.dbox}>
|
|
|
+ {keyS?.includes('rechargeUserCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</span></span>}
|
|
|
+ {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充金:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
|
|
|
+ {keyS?.includes('increase') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('back') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('multiples') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples}</span></span>}
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ },
|
|
|
+ }, {
|
|
|
+ title: "总(自)",
|
|
|
+ dataIndex: "totalNature",
|
|
|
+ label: "自然量付费趋势",
|
|
|
+ align: "center",
|
|
|
+ width: 110,
|
|
|
+ default: 46,
|
|
|
+ render: (a: any, b: any) => {
|
|
|
+ if (newSelectFieldData?.length > 0) {
|
|
|
+ let data: any = {}
|
|
|
+ let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
|
|
|
+ switch (newSelectFieldData[0].type) {
|
|
|
+ case '付费趋势':
|
|
|
+ if (b?.natureAmountSumTrend) {
|
|
|
+ data = b?.natureAmountSumTrend
|
|
|
+ return <div className={style.dbox}>
|
|
|
+ {keyS?.includes('rechargeUserCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</span></span>}
|
|
|
+ {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充金:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
|
|
|
+ {keyS?.includes('increase') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('back') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('multiples') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples}</span></span>}
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ },
|
|
|
+ }]
|
|
|
},
|
|
|
{
|
|
|
- label: '月份',
|
|
|
+ label: '总付费趋势',
|
|
|
data: [{
|
|
|
- title: "M4",
|
|
|
- dataIndex: "M4",
|
|
|
- label: "月份",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "M5",
|
|
|
- dataIndex: "M5",
|
|
|
- label: "月份",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "M6",
|
|
|
- dataIndex: "M6",
|
|
|
- label: "月份",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- }, {
|
|
|
- title: "M12",
|
|
|
- dataIndex: "M12",
|
|
|
- label: "月份",
|
|
|
- align: "center",
|
|
|
- width: 70
|
|
|
- },]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '操作',
|
|
|
- data: [
|
|
|
- {
|
|
|
- title: '操作',
|
|
|
- dataIndex: 'cz',
|
|
|
- label: '操作',
|
|
|
- default: 21,
|
|
|
- align: 'center',
|
|
|
- width: 75,
|
|
|
- render: (a: number) => {
|
|
|
- return <span>推广30日复充趋势</span>
|
|
|
- },
|
|
|
- }
|
|
|
- ]
|
|
|
+ title: "D1(总)",
|
|
|
+ dataIndex: "D1",
|
|
|
+ label: "总付费趋势",
|
|
|
+ align: "center",
|
|
|
+ width: 110,
|
|
|
+ default: 47,
|
|
|
+ render: (a: any, b: any) => {
|
|
|
+ if (newSelectFieldData?.length > 0) {
|
|
|
+ let data: any = {}
|
|
|
+ let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
|
|
|
+ switch (newSelectFieldData[0].type) {
|
|
|
+ case '付费趋势':
|
|
|
+ if (b?.amountD1Trend) {
|
|
|
+ data = b?.amountD1Trend
|
|
|
+ return <div className={style.dbox}>
|
|
|
+ {keyS?.includes('rechargeUserCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</span></span>}
|
|
|
+ {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充金:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
|
|
|
+ {keyS?.includes('increase') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('back') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('multiples') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples}</span></span>}
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ },
|
|
|
+ }, {
|
|
|
+ title: "D3(总)",
|
|
|
+ dataIndex: "D3",
|
|
|
+ label: "总付费趋势",
|
|
|
+ align: "center",
|
|
|
+ width: 110,
|
|
|
+ default: 48,
|
|
|
+ render: (a: any, b: any) => {
|
|
|
+ if (newSelectFieldData?.length > 0) {
|
|
|
+ let data: any = {}
|
|
|
+ let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
|
|
|
+ switch (newSelectFieldData[0].type) {
|
|
|
+ case '付费趋势':
|
|
|
+ if (b?.amountD3Trend) {
|
|
|
+ data = b?.amountD3Trend
|
|
|
+ return <div className={style.dbox}>
|
|
|
+ {keyS?.includes('rechargeUserCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</span></span>}
|
|
|
+ {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充金:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
|
|
|
+ {keyS?.includes('increase') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('back') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('multiples') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples}</span></span>}
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ },
|
|
|
+ }, {
|
|
|
+ title: "D7(总)",
|
|
|
+ dataIndex: "D7",
|
|
|
+ label: "总付费趋势",
|
|
|
+ align: "center",
|
|
|
+ width: 110,
|
|
|
+ default: 49,
|
|
|
+ render: (a: any, b: any) => {
|
|
|
+ if (newSelectFieldData?.length > 0) {
|
|
|
+ let data: any = {}
|
|
|
+ let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
|
|
|
+ switch (newSelectFieldData[0].type) {
|
|
|
+ case '付费趋势':
|
|
|
+ if (b?.amountD7Trend) {
|
|
|
+ data = b?.amountD7Trend
|
|
|
+ return <div className={style.dbox}>
|
|
|
+ {keyS?.includes('rechargeUserCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</span></span>}
|
|
|
+ {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充金:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
|
|
|
+ {keyS?.includes('increase') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('back') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('multiples') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples}</span></span>}
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ },
|
|
|
+ }, {
|
|
|
+ title: "D15(总)",
|
|
|
+ dataIndex: "D15",
|
|
|
+ label: "总付费趋势",
|
|
|
+ align: "center",
|
|
|
+ width: 110,
|
|
|
+ default: 50,
|
|
|
+ render: (a: any, b: any) => {
|
|
|
+ if (newSelectFieldData?.length > 0) {
|
|
|
+ let data: any = {}
|
|
|
+ let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
|
|
|
+ switch (newSelectFieldData[0].type) {
|
|
|
+ case '付费趋势':
|
|
|
+ if (b?.amountD15Trend) {
|
|
|
+ data = b?.amountD15Trend
|
|
|
+ return <div className={style.dbox}>
|
|
|
+ {keyS?.includes('rechargeUserCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</span></span>}
|
|
|
+ {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充金:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
|
|
|
+ {keyS?.includes('increase') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('back') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('multiples') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples}</span></span>}
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ },
|
|
|
+ }, {
|
|
|
+ title: "M1(总)",
|
|
|
+ dataIndex: "M1",
|
|
|
+ label: "总付费趋势",
|
|
|
+ align: "center",
|
|
|
+ width: 110,
|
|
|
+ default: 51,
|
|
|
+ render: (a: any, b: any) => {
|
|
|
+ if (newSelectFieldData?.length > 0) {
|
|
|
+ let data: any = {}
|
|
|
+ let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
|
|
|
+ switch (newSelectFieldData[0].type) {
|
|
|
+ case '付费趋势':
|
|
|
+ if (b?.amountM1Trend) {
|
|
|
+ data = b?.amountM1Trend
|
|
|
+ return <div className={style.dbox}>
|
|
|
+ {keyS?.includes('rechargeUserCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</span></span>}
|
|
|
+ {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充金:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
|
|
|
+ {keyS?.includes('increase') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('back') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('multiples') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples}</span></span>}
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ },
|
|
|
+ }, {
|
|
|
+ title: "M2(总)",
|
|
|
+ dataIndex: "M2",
|
|
|
+ label: "总付费趋势",
|
|
|
+ align: "center",
|
|
|
+ width: 110,
|
|
|
+ default: 52,
|
|
|
+ render: (a: any, b: any) => {
|
|
|
+ if (newSelectFieldData?.length > 0) {
|
|
|
+ let data: any = {}
|
|
|
+ let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
|
|
|
+ switch (newSelectFieldData[0].type) {
|
|
|
+ case '付费趋势':
|
|
|
+ if (b?.amountM2Trend) {
|
|
|
+ data = b?.amountM2Trend
|
|
|
+ return <div className={style.dbox}>
|
|
|
+ {keyS?.includes('rechargeUserCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</span></span>}
|
|
|
+ {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充金:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
|
|
|
+ {keyS?.includes('increase') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('back') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('multiples') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples}</span></span>}
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ },
|
|
|
+ }, {
|
|
|
+ title: "M3(总)",
|
|
|
+ dataIndex: "M3",
|
|
|
+ label: "总付费趋势",
|
|
|
+ align: "center",
|
|
|
+ width: 110,
|
|
|
+ default: 53,
|
|
|
+ render: (a: any, b: any) => {
|
|
|
+ if (newSelectFieldData?.length > 0) {
|
|
|
+ let data: any = {}
|
|
|
+ let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
|
|
|
+ switch (newSelectFieldData[0].type) {
|
|
|
+ case '付费趋势':
|
|
|
+ if (b?.amountM3Trend) {
|
|
|
+ data = b?.amountM3Trend
|
|
|
+ return <div className={style.dbox}>
|
|
|
+ {keyS?.includes('rechargeUserCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</span></span>}
|
|
|
+ {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充金:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
|
|
|
+ {keyS?.includes('increase') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('back') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('multiples') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples}</span></span>}
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ },
|
|
|
+ }, {
|
|
|
+ title: "总(总)",
|
|
|
+ dataIndex: "total",
|
|
|
+ label: "总付费趋势",
|
|
|
+ align: "center",
|
|
|
+ width: 110,
|
|
|
+ default: 54,
|
|
|
+ render: (a: any, b: any) => {
|
|
|
+ if (newSelectFieldData?.length > 0) {
|
|
|
+ let data: any = {}
|
|
|
+ let keyS: string[] = newSelectFieldData?.map((item: any) => item.key)
|
|
|
+ switch (newSelectFieldData[0].type) {
|
|
|
+ case '付费趋势':
|
|
|
+ if (b?.amountSumTrend) {
|
|
|
+ data = b?.amountSumTrend
|
|
|
+ return <div className={style.dbox}>
|
|
|
+ {keyS?.includes('rechargeUserCount') && <span style={{ color: '#d81b60', fontWeight: 600 }}>充人:<span>{data?.rechargeUserCount}</span></span>}
|
|
|
+ {keyS?.includes('rechargeMoney') && <span style={{ color: '#0f538a', fontWeight: 600 }}>充金:<span><Statistic value={data?.rechargeMoney || 0} valueStyle={{ color: '#0f538a', fontWeight: 600 }} /></span></span>}
|
|
|
+ {keyS?.includes('increase') && <span style={{ color: 'rgb(12,130,16)', fontWeight: 600 }}>增:<span>{(data?.increase * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('back') && <span style={{ color: '#ff5722', fontWeight: 600 }}>回:<span>{(data?.back * 100)?.toFixed(2)}%</span></span>}
|
|
|
+ {keyS?.includes('multiples') && <span style={{ color: '#d81b60', fontWeight: 600 }}>倍:<span>{data?.multiples}</span></span>}
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return '--'
|
|
|
+ },
|
|
|
+ }]
|
|
|
}
|
|
|
+ // {
|
|
|
+ // label: '操作',
|
|
|
+ // data: [
|
|
|
+ // {
|
|
|
+ // title: '操作',
|
|
|
+ // dataIndex: 'cz',
|
|
|
+ // label: '操作',
|
|
|
+ // default: 31,
|
|
|
+ // align: 'center',
|
|
|
+ // width: 75,
|
|
|
+ // render: (a: number) => {
|
|
|
+ // return <span>推广30日复充趋势</span>
|
|
|
+ // },
|
|
|
+ // }
|
|
|
+ // ]
|
|
|
+ // }
|
|
|
]
|
|
|
}
|
|
|
|