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