wjx 7 mesi fa
parent
commit
f3e0337013

+ 169 - 0
src/pages/iaaData/novel/tencent/adList/tableConfig.tsx

@@ -640,6 +640,175 @@ function columns12(dayHandle: (data: any) => void, onChange?: () => void): { lab
                 },
             ]
         },
+        {
+            label: 'App相关字段',
+            data: [
+                {
+                    title: '回流率', dataIndex: 'miniGameRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '回流次日留存人数', dataIndex: 'retentionPlaDedupPv', label: 'App相关字段', width: 80, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流次日留存率', dataIndex: 'retentionPlaDedupRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '回流人数(平台上报)', dataIndex: 'miniGameBfUv', label: 'App相关字段', width: 80, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流成本(平台上报)', dataIndex: 'miniGameBfCost', label: 'App相关字段', width: 80, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '广告变现人数(平台上报)', dataIndex: 'adMonetizationPlaDedupPv', label: 'App相关字段', width: 90, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流广告变现金额(平台上报)', dataIndex: 'miniGameBfIncomeAmount', label: 'App相关字段', width: 100, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流首日广告变现金额(平台上报)', dataIndex: 'miniGameBfIncomeD1Amount', label: 'App相关字段', width: 100, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流广告变现人数(平台上报)', dataIndex: 'adMonetizationBkPlaDedupPv', label: 'App相关字段', width: 90, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流广告变现ROI(平台上报)', dataIndex: 'miniGameBfIncomePlaRoi', label: 'App相关字段', width: 100, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '回流广告变现ARPU(平台上报)', dataIndex: 'miniGameBfIncomePlaArpu', label: 'App相关字段', width: 100, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流广告变现成本(平台上报)', dataIndex: 'adMonetizationBkPlaCost', label: 'App相关字段', width: 100, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流首日广告变现人数(平台上报)', dataIndex: 'adMonetizationBkPlaDedupActive1dPv', label: 'App相关字段', width: 100, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流首24小时广告变现金额(平台上报)', dataIndex: 'adMonetizationBkPlaActive24hAmount', label: 'App相关字段', width: 110, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流首24小时广告变现人数(平台上报)', dataIndex: 'adMonetizationBkPlaDedupActive24hPv', label: 'App相关字段', width: 110, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流首24小时广告变现ROI(平台上报)', dataIndex: 'adMonetizationBkPlaDedupActive24hRoi', label: 'App相关字段', width: 110, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '回流首24小时广告变现ARPU(平台上报)', dataIndex: 'adMonetizationBkPlaDedupActive24hArpu', label: 'App相关字段', width: 120, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流首24小时广告变现成本(平台上报)', dataIndex: 'adMonetizationBkPlaDedupActive24hCost', label: 'App相关字段', width: 110, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流3日广告变现金额(平台上报)', dataIndex: 'adMonetizationBkPlaActive3dAmount', label: 'App相关字段', width: 95, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流3日广告变现ROI(平台上报)', dataIndex: 'adMonetizationBkPlaActive3dRoi', label: 'App相关字段', width: 100, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '回流7日广告变现金额(平台上报)', dataIndex: 'adMonetizationBkPlaActive7dAmount', label: 'App相关字段', width: 95, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流7日广告变现ROI(平台上报)', dataIndex: 'adMonetizationBkPlaActive7dRoi', label: 'App相关字段', width: 100, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '回流14日广告变现金额(平台上报)', dataIndex: 'adMonetizationBkPlaActive14dAmount', label: 'App相关字段', width: 95, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流14日广告变现ROI(平台上报)', dataIndex: 'adMonetizationBkPlaActive14dRoi', label: 'App相关字段', width: 110, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: 'APP下载激活率', dataIndex: 'activatedRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: 'APP下载率', dataIndex: 'downloadRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: 'APP下载成本', dataIndex: 'downloadCost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: 'APP安装率', dataIndex: 'installRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: 'APP安装成本', dataIndex: 'installCost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: 'APP激活成本', dataIndex: 'activatedCost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: 'APP点击激活率', dataIndex: 'clickActivatedRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '次日留存率', dataIndex: 'retentionRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '3日留存人数', dataIndex: 'appRetentionD3Uv', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '3日留存成本(人数)', dataIndex: 'appRetentionD3Cost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '3日留存率(人数)', dataIndex: 'appRetentionD3Rate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '5日留存人数', dataIndex: 'appRetentionD5Uv', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '5日留存成本(人数)', dataIndex: 'appRetentionD5Cost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '5日留存率(人数)', dataIndex: 'appRetentionD5Rate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '7日留存人数', dataIndex: 'appRetentionD7Uv', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '7日留存成本(人数)', dataIndex: 'appRetentionD7Cost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '7日留存率(人数)', dataIndex: 'appRetentionD7Rate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                }
+            ]
+        },
         {
             label: '操作',
             data: [

+ 169 - 0
src/pages/iaaData/novel/tencent/adList/tableConfigDay.tsx

@@ -517,6 +517,175 @@ function columns12(): { label: string, fieldSHow?: { label: string, saveField: s
                     render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
                 },
             ]
+        },
+        {
+            label: 'App相关字段',
+            data: [
+                {
+                    title: '回流率', dataIndex: 'miniGameRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '回流次日留存人数', dataIndex: 'retentionPlaDedupPv', label: 'App相关字段', width: 80, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流次日留存率', dataIndex: 'retentionPlaDedupRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '回流人数(平台上报)', dataIndex: 'miniGameBfUv', label: 'App相关字段', width: 80, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流成本(平台上报)', dataIndex: 'miniGameBfCost', label: 'App相关字段', width: 80, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '广告变现人数(平台上报)', dataIndex: 'adMonetizationPlaDedupPv', label: 'App相关字段', width: 90, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流广告变现金额(平台上报)', dataIndex: 'miniGameBfIncomeAmount', label: 'App相关字段', width: 100, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流首日广告变现金额(平台上报)', dataIndex: 'miniGameBfIncomeD1Amount', label: 'App相关字段', width: 100, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流广告变现人数(平台上报)', dataIndex: 'adMonetizationBkPlaDedupPv', label: 'App相关字段', width: 90, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流广告变现ROI(平台上报)', dataIndex: 'miniGameBfIncomePlaRoi', label: 'App相关字段', width: 100, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '回流广告变现ARPU(平台上报)', dataIndex: 'miniGameBfIncomePlaArpu', label: 'App相关字段', width: 100, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流广告变现成本(平台上报)', dataIndex: 'adMonetizationBkPlaCost', label: 'App相关字段', width: 100, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流首日广告变现人数(平台上报)', dataIndex: 'adMonetizationBkPlaDedupActive1dPv', label: 'App相关字段', width: 100, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流首24小时广告变现金额(平台上报)', dataIndex: 'adMonetizationBkPlaActive24hAmount', label: 'App相关字段', width: 110, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流首24小时广告变现人数(平台上报)', dataIndex: 'adMonetizationBkPlaDedupActive24hPv', label: 'App相关字段', width: 110, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流首24小时广告变现ROI(平台上报)', dataIndex: 'adMonetizationBkPlaDedupActive24hRoi', label: 'App相关字段', width: 110, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '回流首24小时广告变现ARPU(平台上报)', dataIndex: 'adMonetizationBkPlaDedupActive24hArpu', label: 'App相关字段', width: 120, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流首24小时广告变现成本(平台上报)', dataIndex: 'adMonetizationBkPlaDedupActive24hCost', label: 'App相关字段', width: 110, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流3日广告变现金额(平台上报)', dataIndex: 'adMonetizationBkPlaActive3dAmount', label: 'App相关字段', width: 95, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流3日广告变现ROI(平台上报)', dataIndex: 'adMonetizationBkPlaActive3dRoi', label: 'App相关字段', width: 100, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '回流7日广告变现金额(平台上报)', dataIndex: 'adMonetizationBkPlaActive7dAmount', label: 'App相关字段', width: 95, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流7日广告变现ROI(平台上报)', dataIndex: 'adMonetizationBkPlaActive7dRoi', label: 'App相关字段', width: 100, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '回流14日广告变现金额(平台上报)', dataIndex: 'adMonetizationBkPlaActive14dAmount', label: 'App相关字段', width: 95, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流14日广告变现ROI(平台上报)', dataIndex: 'adMonetizationBkPlaActive14dRoi', label: 'App相关字段', width: 110, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: 'APP下载激活率', dataIndex: 'activatedRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: 'APP下载率', dataIndex: 'downloadRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: 'APP下载成本', dataIndex: 'downloadCost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: 'APP安装率', dataIndex: 'installRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: 'APP安装成本', dataIndex: 'installCost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: 'APP激活成本', dataIndex: 'activatedCost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: 'APP点击激活率', dataIndex: 'clickActivatedRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '次日留存率', dataIndex: 'retentionRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '3日留存人数', dataIndex: 'appRetentionD3Uv', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '3日留存成本(人数)', dataIndex: 'appRetentionD3Cost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '3日留存率(人数)', dataIndex: 'appRetentionD3Rate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '5日留存人数', dataIndex: 'appRetentionD5Uv', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '5日留存成本(人数)', dataIndex: 'appRetentionD5Cost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '5日留存率(人数)', dataIndex: 'appRetentionD5Rate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '7日留存人数', dataIndex: 'appRetentionD7Uv', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '7日留存成本(人数)', dataIndex: 'appRetentionD7Cost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '7日留存率(人数)', dataIndex: 'appRetentionD7Rate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                }
+            ]
         }
     ]
 }

+ 186 - 1
src/pages/iaaData/novel/tencent/dynamic/tableConfig.tsx

@@ -1,7 +1,7 @@
 import WidthEllipsis from "@/components/widthEllipsis"
 import { Badge, Progress, Space, Statistic } from "antd"
 import React from "react"
-import { AdUnitType_Enum, DYNAMIC_CREATIVE_TYPE, PRODUCT_TYPE_ENUM } from "../../../const"
+import { DYNAMIC_CREATIVE_TYPE, PRODUCT_TYPE_ENUM } from "../../../const"
 import SwitchStatus from "./switchStatus"
 import CreativePreview from "../../../components/CreativePreview"
 import { DELIVERY_MODE_Enum } from "./const"
@@ -645,6 +645,191 @@ function columns12(dayHandle: (data: any) => void, onChange?: () => void): { lab
                 },
             ]
         },
+        {
+            label: 'App相关字段',
+            data: [
+                {
+                    title: '回流率', dataIndex: 'miniGameRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '回流次日留存人数', dataIndex: 'retentionPlaDedupPv', label: 'App相关字段', width: 80, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流次日留存率', dataIndex: 'retentionPlaDedupRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '回流人数(平台上报)', dataIndex: 'miniGameBfUv', label: 'App相关字段', width: 80, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流成本(平台上报)', dataIndex: 'miniGameBfCost', label: 'App相关字段', width: 80, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '广告变现人数(平台上报)', dataIndex: 'adMonetizationPlaDedupPv', label: 'App相关字段', width: 90, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流广告变现金额(平台上报)', dataIndex: 'miniGameBfIncomeAmount', label: 'App相关字段', width: 100, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流首日广告变现金额(平台上报)', dataIndex: 'miniGameBfIncomeD1Amount', label: 'App相关字段', width: 100, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流广告变现人数(平台上报)', dataIndex: 'adMonetizationBkPlaDedupPv', label: 'App相关字段', width: 90, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流广告变现ROI(平台上报)', dataIndex: 'miniGameBfIncomePlaRoi', label: 'App相关字段', width: 100, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '回流广告变现ARPU(平台上报)', dataIndex: 'miniGameBfIncomePlaArpu', label: 'App相关字段', width: 100, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流广告变现成本(平台上报)', dataIndex: 'adMonetizationBkPlaCost', label: 'App相关字段', width: 100, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流首日广告变现人数(平台上报)', dataIndex: 'adMonetizationBkPlaDedupActive1dPv', label: 'App相关字段', width: 100, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流首24小时广告变现金额(平台上报)', dataIndex: 'adMonetizationBkPlaActive24hAmount', label: 'App相关字段', width: 110, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流首24小时广告变现人数(平台上报)', dataIndex: 'adMonetizationBkPlaDedupActive24hPv', label: 'App相关字段', width: 110, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流首24小时广告变现ROI(平台上报)', dataIndex: 'adMonetizationBkPlaDedupActive24hRoi', label: 'App相关字段', width: 110, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '回流首24小时广告变现ARPU(平台上报)', dataIndex: 'adMonetizationBkPlaDedupActive24hArpu', label: 'App相关字段', width: 120, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流首24小时广告变现成本(平台上报)', dataIndex: 'adMonetizationBkPlaDedupActive24hCost', label: 'App相关字段', width: 110, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流3日广告变现金额(平台上报)', dataIndex: 'adMonetizationBkPlaActive3dAmount', label: 'App相关字段', width: 95, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流3日广告变现ROI(平台上报)', dataIndex: 'adMonetizationBkPlaActive3dRoi', label: 'App相关字段', width: 100, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '回流7日广告变现金额(平台上报)', dataIndex: 'adMonetizationBkPlaActive7dAmount', label: 'App相关字段', width: 95, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流7日广告变现ROI(平台上报)', dataIndex: 'adMonetizationBkPlaActive7dRoi', label: 'App相关字段', width: 100, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '回流14日广告变现金额(平台上报)', dataIndex: 'adMonetizationBkPlaActive14dAmount', label: 'App相关字段', width: 95, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流14日广告变现ROI(平台上报)', dataIndex: 'adMonetizationBkPlaActive14dRoi', label: 'App相关字段', width: 110, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: 'APP下载激活率', dataIndex: 'activatedRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: 'APP下载率', dataIndex: 'downloadRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: 'APP下载成本', dataIndex: 'downloadCost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: 'APP安装率', dataIndex: 'installRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: 'APP安装成本', dataIndex: 'installCost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: 'APP激活成本', dataIndex: 'activatedCost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: 'APP点击激活率', dataIndex: 'clickActivatedRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '次日留存率', dataIndex: 'retentionRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '3日留存人数', dataIndex: 'appRetentionD3Uv', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '3日留存成本(人数)', dataIndex: 'appRetentionD3Cost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '3日留存率(人数)', dataIndex: 'appRetentionD3Rate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '5日留存人数', dataIndex: 'appRetentionD5Uv', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '5日留存成本(人数)', dataIndex: 'appRetentionD5Cost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '5日留存率(人数)', dataIndex: 'appRetentionD5Rate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '7日留存人数', dataIndex: 'appRetentionD7Uv', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '7日留存成本(人数)', dataIndex: 'appRetentionD7Cost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '7日留存率(人数)', dataIndex: 'appRetentionD7Rate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '下载次数', dataIndex: 'downloadCount', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '安装次数', dataIndex: 'installCount', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '快应用添加次数', dataIndex: 'addDesktopPv', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '快应用添加成本', dataIndex: 'addDesktopCost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                }
+            ]
+        },
         {
             label: '操作',
             data: [

+ 185 - 0
src/pages/iaaData/novel/tencent/dynamic/tableConfigDay.tsx

@@ -602,6 +602,191 @@ function columns12(): { label: string, fieldSHow?: { label: string, saveField: s
                     render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
                 },
             ]
+        },
+        {
+            label: 'App相关字段',
+            data: [
+                {
+                    title: '回流率', dataIndex: 'miniGameRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '回流次日留存人数', dataIndex: 'retentionPlaDedupPv', label: 'App相关字段', width: 80, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流次日留存率', dataIndex: 'retentionPlaDedupRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '回流人数(平台上报)', dataIndex: 'miniGameBfUv', label: 'App相关字段', width: 80, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流成本(平台上报)', dataIndex: 'miniGameBfCost', label: 'App相关字段', width: 80, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '广告变现人数(平台上报)', dataIndex: 'adMonetizationPlaDedupPv', label: 'App相关字段', width: 90, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流广告变现金额(平台上报)', dataIndex: 'miniGameBfIncomeAmount', label: 'App相关字段', width: 100, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流首日广告变现金额(平台上报)', dataIndex: 'miniGameBfIncomeD1Amount', label: 'App相关字段', width: 100, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流广告变现人数(平台上报)', dataIndex: 'adMonetizationBkPlaDedupPv', label: 'App相关字段', width: 90, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流广告变现ROI(平台上报)', dataIndex: 'miniGameBfIncomePlaRoi', label: 'App相关字段', width: 100, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '回流广告变现ARPU(平台上报)', dataIndex: 'miniGameBfIncomePlaArpu', label: 'App相关字段', width: 100, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流广告变现成本(平台上报)', dataIndex: 'adMonetizationBkPlaCost', label: 'App相关字段', width: 100, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流首日广告变现人数(平台上报)', dataIndex: 'adMonetizationBkPlaDedupActive1dPv', label: 'App相关字段', width: 100, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流首24小时广告变现金额(平台上报)', dataIndex: 'adMonetizationBkPlaActive24hAmount', label: 'App相关字段', width: 110, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流首24小时广告变现人数(平台上报)', dataIndex: 'adMonetizationBkPlaDedupActive24hPv', label: 'App相关字段', width: 110, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流首24小时广告变现ROI(平台上报)', dataIndex: 'adMonetizationBkPlaDedupActive24hRoi', label: 'App相关字段', width: 110, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '回流首24小时广告变现ARPU(平台上报)', dataIndex: 'adMonetizationBkPlaDedupActive24hArpu', label: 'App相关字段', width: 120, align: 'center', sorter: true, 
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '回流首24小时广告变现成本(平台上报)', dataIndex: 'adMonetizationBkPlaDedupActive24hCost', label: 'App相关字段', width: 110, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流3日广告变现金额(平台上报)', dataIndex: 'adMonetizationBkPlaActive3dAmount', label: 'App相关字段', width: 95, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流3日广告变现ROI(平台上报)', dataIndex: 'adMonetizationBkPlaActive3dRoi', label: 'App相关字段', width: 100, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '回流7日广告变现金额(平台上报)', dataIndex: 'adMonetizationBkPlaActive7dAmount', label: 'App相关字段', width: 95, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流7日广告变现ROI(平台上报)', dataIndex: 'adMonetizationBkPlaActive7dRoi', label: 'App相关字段', width: 100, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '回流14日广告变现金额(平台上报)', dataIndex: 'adMonetizationBkPlaActive14dAmount', label: 'App相关字段', width: 95, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '回流14日广告变现ROI(平台上报)', dataIndex: 'adMonetizationBkPlaActive14dRoi', label: 'App相关字段', width: 110, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: 'APP下载激活率', dataIndex: 'activatedRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: 'APP下载率', dataIndex: 'downloadRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: 'APP下载成本', dataIndex: 'downloadCost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: 'APP安装率', dataIndex: 'installRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: 'APP安装成本', dataIndex: 'installCost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: 'APP激活成本', dataIndex: 'activatedCost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: 'APP点击激活率', dataIndex: 'clickActivatedRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '次日留存率', dataIndex: 'retentionRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '3日留存人数', dataIndex: 'appRetentionD3Uv', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '3日留存成本(人数)', dataIndex: 'appRetentionD3Cost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '3日留存率(人数)', dataIndex: 'appRetentionD3Rate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '5日留存人数', dataIndex: 'appRetentionD5Uv', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '5日留存成本(人数)', dataIndex: 'appRetentionD5Cost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '5日留存率(人数)', dataIndex: 'appRetentionD5Rate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '7日留存人数', dataIndex: 'appRetentionD7Uv', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '7日留存成本(人数)', dataIndex: 'appRetentionD7Cost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                },
+                {
+                    title: '7日留存率(人数)', dataIndex: 'appRetentionD7Rate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
+                },
+                {
+                    title: '下载次数', dataIndex: 'downloadCount', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '安装次数', dataIndex: 'installCount', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '快应用添加次数', dataIndex: 'addDesktopPv', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} />
+                },
+                {
+                    title: '快应用添加成本', dataIndex: 'addDesktopCost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
+                    render: (a: string) => <Statistic value={a || 0} precision={2} />
+                }
+            ]
         }
     ]
 }