|
@@ -5,7 +5,7 @@ import { PRODUCT_TYPE_ENUM } from "../../../const"
|
|
|
import { APPTYPE } from "@/pages/iaaSystem/manage/const"
|
|
|
import './index.less'
|
|
|
|
|
|
-function columns12(): { label: string, fieldSHow?: { label: string, saveField: string, defaultValue: any[], data: any[] }, data: any[] }[] {
|
|
|
+function columns12(): { label: string, fieldSHow?: { label: string, saveField: string, defaultValue: any[], data: any[] }, data: any[], bcColor?: string }[] {
|
|
|
|
|
|
return [
|
|
|
{
|
|
@@ -289,118 +289,125 @@ function columns12(): { label: string, fieldSHow?: { label: string, saveField: s
|
|
|
]
|
|
|
},
|
|
|
{
|
|
|
- label: '应用数据',
|
|
|
+ label: '广告数据',
|
|
|
data: [
|
|
|
{
|
|
|
- title: '点击数(应用端)', dataIndex: 'appClickCount', label: '应用数据', align: 'center', width: 80, sorter: true, className: 'payDataBackColorClass',
|
|
|
- render: (a: number) => <Statistic value={a || 0} />
|
|
|
- },
|
|
|
- {
|
|
|
- title: '曝光次数(应用端)', dataIndex: 'appExposureCount', label: '应用数据', align: 'center', width: 80, sorter: true, className: 'payDataBackColorClass',
|
|
|
- render: (a: number) => <Statistic value={a || 0} />
|
|
|
- },
|
|
|
- {
|
|
|
- title: '拉取次数(应用端)', dataIndex: 'appReqSuccCount', label: '应用数据', align: 'center', width: 80, sorter: true, className: 'payDataBackColorClass',
|
|
|
- render: (a: number) => <Statistic value={a || 0} />
|
|
|
+ title: '累计消耗(广告端)', dataIndex: 'totalCost', label: '广告数据', align: 'right', width: 110, sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
},
|
|
|
{
|
|
|
- title: '曝光率(应用端)', dataIndex: 'appExposureRate', label: '应用数据', align: 'center', width: 70, sorter: true, className: 'payDataBackColorClass',
|
|
|
- render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
+ title: '广告端累计变现收入(广告端)', dataIndex: 'adTotalIncome', label: '广告数据', align: 'right', width: 95, sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
},
|
|
|
{
|
|
|
- title: '点击率(应用端)', dataIndex: 'appClickRate', label: '应用数据', align: 'center', width: 70, sorter: true, className: 'payDataBackColorClass',
|
|
|
+ title: '广告端累计回收(广告端)', dataIndex: 'adTotalRecycle', label: '广告数据', align: 'right', width: 90, sorter: true,
|
|
|
render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
},
|
|
|
{
|
|
|
- title: 'eCPM(应用端)', tips: '计算公式:单日总广告收入/曝光次数*1000', dataIndex: 'appEcpm', label: '应用数据', align: 'center', width: 80, sorter: true, className: 'payDataBackColorClass',
|
|
|
- render: (a: number, b: any) => <Statistic value={a || 0} precision={2} />
|
|
|
- },
|
|
|
- {
|
|
|
- title: '累计消耗(广告端)', dataIndex: 'totalCost', label: '应用数据', align: 'right', width: 75, sorter: true, className: 'payDataBackColorClass',
|
|
|
+ title: '广告端变现累计利润(广告端)', dataIndex: 'adTotalRate', label: '广告数据', align: 'right', width: 95, sorter: true,
|
|
|
render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
},
|
|
|
{
|
|
|
- title: '广告端累计变现收入(广告端)', dataIndex: 'adTotalIncome', label: '应用数据', align: 'right', width: 95, sorter: true, className: 'payDataBackColorClass',
|
|
|
- render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
+ title: '广告端变现利润率(广告端)', dataIndex: 'appTotalProfitRate', tips: '计算公式:(广告端累计变现收入-累计消耗)/累计消耗*100%', label: '广告数据', align: 'center', width: 110, sorter: true,
|
|
|
+ render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
},
|
|
|
{
|
|
|
- title: '应用端每日变现收入(应用端)', dataIndex: 'appIncome', label: '应用数据', align: 'right', width: 95, sorter: true, className: 'payDataBackColorClass',
|
|
|
- render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
+ title: '广告新增ARPU(广告端)', dataIndex: 'adNewArpu', tips: ' 计算公式:广告端变现收入/每日新增注册人数', label: '广告数据', align: 'center', width: 105, sorter: true,
|
|
|
+ render: (a: number) => <Statistic value={a || 0} precision={2} />
|
|
|
},
|
|
|
{
|
|
|
- title: '应用端累计变现收入(应用端)', dataIndex: 'appTotalIncome', label: '应用数据', align: 'right', width: 95, sorter: true, className: 'payDataBackColorClass',
|
|
|
- render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
- },
|
|
|
+ title: '广告总ARPU(广告端)', dataIndex: 'adTotalArpu', tips: '计算公式:广告端累计变现收入/累计注册人数', label: '广告数据', align: 'center', width: 105, sorter: true,
|
|
|
+ render: (a: number) => <Statistic value={a || 0} precision={2} />
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '应用数据(颜色:法式洋红)',
|
|
|
+ bcColor: '#ffd6e7',
|
|
|
+ data: [
|
|
|
{
|
|
|
- title: '每日新增注册人数(应用端)', dataIndex: 'appNewRegUser', label: '应用数据', align: 'center', width: 95, sorter: true, className: 'payDataBackColorClass',
|
|
|
+ title: '点击数(应用端)', dataIndex: 'appClickCount', label: '应用数据', align: 'center', width: 80, sorter: true, className: 'appColorClass',
|
|
|
render: (a: number) => <Statistic value={a || 0} />
|
|
|
},
|
|
|
{
|
|
|
- title: '新增注册成本(应用端)', dataIndex: 'appNewRegUserCost', label: '应用数据', align: 'right', width: 90, sorter: true, className: 'payDataBackColorClass',
|
|
|
- render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
+ title: '曝光次数(应用端)', dataIndex: 'appExposureCount', label: '应用数据', align: 'center', width: 80, sorter: true, className: 'appColorClass',
|
|
|
+ render: (a: number) => <Statistic value={a || 0} />
|
|
|
},
|
|
|
{
|
|
|
- title: '每日活跃人数(DAU)(应用端)', dataIndex: 'appActiveUser', label: '应用数据', align: 'center', width: 95, sorter: true, className: 'payDataBackColorClass',
|
|
|
+ title: '拉取次数(应用端)', dataIndex: 'appReqSuccCount', label: '应用数据', align: 'center', width: 80, sorter: true, className: 'appColorClass',
|
|
|
render: (a: number) => <Statistic value={a || 0} />
|
|
|
},
|
|
|
{
|
|
|
- title: '活跃用户次日留存人数(应用端)', dataIndex: 'appNextActiveUser', label: '应用数据', align: 'center', width: 95, sorter: true, className: 'payDataBackColorClass',
|
|
|
- render: (a: number) => <Statistic value={a || 0} />
|
|
|
+ title: '曝光率(应用端)', dataIndex: 'appExposureRate', label: '应用数据', align: 'center', width: 70, sorter: true, className: 'appColorClass',
|
|
|
+ render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
},
|
|
|
{
|
|
|
- title: '活跃用户次日留存率(应用端)', dataIndex: 'appNextActiveUserRate', tips: '计算公式:活跃用户次日留存人数/每日活跃人数DAU', label: '应用数据', align: 'center', width: 110, sorter: true, className: 'payDataBackColorClass',
|
|
|
+ title: '点击率(应用端)', dataIndex: 'appClickRate', label: '应用数据', align: 'center', width: 70, sorter: true, className: 'appColorClass',
|
|
|
render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
},
|
|
|
{
|
|
|
- title: '人均活跃成本(应用端)', dataIndex: 'appAvgActiveCost', tips: '计算公式:累计消耗/每日活跃人数DAU', label: '应用数据', align: 'right', width: 100, sorter: true, className: 'payDataBackColorClass',
|
|
|
+ title: 'eCPM(应用端)', tips: '计算公式:单日总广告收入/曝光次数*1000', dataIndex: 'appEcpm', label: '应用数据', align: 'center', width: 80, sorter: true, className: 'appColorClass',
|
|
|
+ render: (a: number, b: any) => <Statistic value={a || 0} precision={2} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '应用端每日变现收入(应用端)', dataIndex: 'appIncome', label: '应用数据', align: 'right', width: 95, sorter: true, className: 'appColorClass',
|
|
|
render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
},
|
|
|
{
|
|
|
- title: '新增占比(应用端)', dataIndex: 'newProportion', tips: '计算公式:每日新增注册人数/每日活跃人数DAU', label: '应用数据', align: 'center', width: 85, sorter: true, className: 'payDataBackColorClass',
|
|
|
- render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
+ title: '应用端累计变现收入(应用端)', dataIndex: 'appTotalIncome', label: '应用数据', align: 'right', width: 95, sorter: true, className: 'appColorClass',
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
},
|
|
|
{
|
|
|
- title: '累计注册人数(应用端)', dataIndex: 'appTotalRegUser', label: '应用数据', align: 'center', width: 85, sorter: true, className: 'payDataBackColorClass',
|
|
|
+ title: '每日新增注册人数(应用端)', dataIndex: 'appNewRegUser', label: '应用数据', align: 'center', width: 95, sorter: true, className: 'appColorClass',
|
|
|
render: (a: number) => <Statistic value={a || 0} />
|
|
|
},
|
|
|
{
|
|
|
- title: '人均新增成本(应用端)', dataIndex: 'appUserAvgCost', label: '应用数据', align: 'right', width: 80, sorter: true, className: 'payDataBackColorClass',
|
|
|
+ title: '新增注册成本(应用端)', dataIndex: 'appNewRegUserCost', label: '应用数据', align: 'right', width: 90, sorter: true, className: 'appColorClass',
|
|
|
render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
},
|
|
|
{
|
|
|
- title: '广告端累计回收(广告端)', dataIndex: 'adTotalRecycle', label: '应用数据', align: 'right', width: 90, sorter: true, className: 'payDataBackColorClass',
|
|
|
- render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
+ title: '每日活跃人数(DAU)(应用端)', dataIndex: 'appActiveUser', label: '应用数据', align: 'center', width: 95, sorter: true, className: 'appColorClass',
|
|
|
+ render: (a: number) => <Statistic value={a || 0} />
|
|
|
},
|
|
|
{
|
|
|
- title: '应用端累计回收(应用端)', dataIndex: 'appTotalRecycle', label: '应用数据', align: 'right', width: 90, sorter: true, className: 'payDataBackColorClass',
|
|
|
+ title: '活跃用户次日留存人数(应用端)', dataIndex: 'appNextActiveUser', label: '应用数据', align: 'center', width: 95, sorter: true, className: 'appColorClass',
|
|
|
+ render: (a: number) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '活跃用户次日留存率(应用端)', dataIndex: 'appNextActiveUserRate', tips: '计算公式:活跃用户次日留存人数/每日活跃人数DAU', label: '应用数据', align: 'center', width: 110, sorter: true, className: 'appColorClass',
|
|
|
render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
},
|
|
|
{
|
|
|
- title: '广告端变现累计利润(广告端)', dataIndex: 'adTotalRate', label: '应用数据', align: 'right', width: 95, sorter: true, className: 'payDataBackColorClass',
|
|
|
+ title: '人均活跃成本(应用端)', dataIndex: 'appAvgActiveCost', tips: '计算公式:累计消耗/每日活跃人数DAU', label: '应用数据', align: 'right', width: 100, sorter: true, className: 'appColorClass',
|
|
|
render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
},
|
|
|
{
|
|
|
- title: '广告端变现利润率(广告端)', dataIndex: 'appTotalProfitRate', tips: '计算公式:(广告端累计变现收入-累计消耗)/累计消耗*100%', label: '应用数据', align: 'center', width: 110, sorter: true, className: 'payDataBackColorClass',
|
|
|
+ title: '新增占比(应用端)', dataIndex: 'newProportion', tips: '计算公式:每日新增注册人数/每日活跃人数DAU', label: '应用数据', align: 'center', width: 85, sorter: true, className: 'appColorClass',
|
|
|
render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
},
|
|
|
{
|
|
|
- title: '广告新增ARPU(广告端)', dataIndex: 'adNewArpu', tips: ' 计算公式:广告端变现收入/每日新增注册人数', label: '应用数据', align: 'center', width: 105, sorter: true, className: 'payDataBackColorClass',
|
|
|
- render: (a: number) => <Statistic value={a || 0} precision={2} />
|
|
|
+ title: '累计注册人数(应用端)', dataIndex: 'appTotalRegUser', label: '应用数据', align: 'center', width: 85, sorter: true, className: 'appColorClass',
|
|
|
+ render: (a: number) => <Statistic value={a || 0} />
|
|
|
},
|
|
|
{
|
|
|
- title: '广告总ARPU(广告端)', dataIndex: 'adTotalArpu', tips: '计算公式:广告端累计变现收入/累计注册人数', label: '应用数据', align: 'center', width: 105, sorter: true, className: 'payDataBackColorClass',
|
|
|
- render: (a: number) => <Statistic value={a || 0} precision={2} />
|
|
|
+ title: '人均新增成本(应用端)', dataIndex: 'appUserAvgCost', label: '应用数据', align: 'right', width: 80, sorter: true, className: 'appColorClass',
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
},
|
|
|
{
|
|
|
- title: '人均广告曝光次数(应用端)', dataIndex: 'avgExposureCount', tips: '计算公式:曝光量/每日活跃人数DAU', label: '应用数据', align: 'center', width: 100, sorter: true, className: 'payDataBackColorClass',
|
|
|
+ title: '应用端累计回收(应用端)', dataIndex: 'appTotalRecycle', label: '应用数据', align: 'right', width: 90, sorter: true, className: 'appColorClass',
|
|
|
+ render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
+ },
|
|
|
+
|
|
|
+ {
|
|
|
+ title: '人均广告曝光次数(应用端)', dataIndex: 'avgExposureCount', tips: '计算公式:曝光量/每日活跃人数DAU', label: '应用数据', align: 'center', width: 100, sorter: true, className: 'appColorClass',
|
|
|
render: (a: number) => <Statistic value={a || 0} />
|
|
|
},
|
|
|
{
|
|
|
- title: '应用端广告ARPU(应用端)', dataIndex: 'appAdArpu', tips: '计算公式:应用端每日变现收入/每日活跃人数DAU', label: '应用数据', align: 'center', width: 100, sorter: true, className: 'payDataBackColorClass',
|
|
|
+ title: '应用端广告ARPU(应用端)', dataIndex: 'appAdArpu', tips: '计算公式:应用端每日变现收入/每日活跃人数DAU', label: '应用数据', align: 'center', width: 100, sorter: true, className: 'appColorClass',
|
|
|
render: (a: number) => <Statistic value={a || 0} precision={2} />
|
|
|
},
|
|
|
{
|
|
|
- title: '应用端广告总ARPU(应用端)', dataIndex: 'appAdTotalArpu', tips: '计算公式:应用端累计变现收入/累计注册人数', label: '应用数据', align: 'center', width: 110, sorter: true, className: 'payDataBackColorClass',
|
|
|
+ title: '应用端广告总ARPU(应用端)', dataIndex: 'appAdTotalArpu', tips: '计算公式:应用端累计变现收入/累计注册人数', label: '应用数据', align: 'center', width: 110, sorter: true, className: 'appColorClass',
|
|
|
render: (a: number) => <Statistic value={a || 0} precision={2} />
|
|
|
},
|
|
|
]
|