|
@@ -0,0 +1,297 @@
|
|
|
+import WidthEllipsis from "@/components/widthEllipsis"
|
|
|
+import { Progress, Statistic } from "antd"
|
|
|
+import React from "react"
|
|
|
+import { PRODUCT_TYPE_ENUM } from "../../../const"
|
|
|
+import { APPTYPE } from "@/pages/iaaSystem/manage/const"
|
|
|
+
|
|
|
+function columns12(): { label: string, fieldSHow?: { label: string, saveField: string, defaultValue: any[], data: any[] }, data: any[] }[] {
|
|
|
+
|
|
|
+ return [
|
|
|
+ {
|
|
|
+ label: '基础信息',
|
|
|
+ data: [
|
|
|
+ {
|
|
|
+ title: '统计日', dataIndex: 'day', label: '基础信息', align: 'center', width: 80, default: 1,
|
|
|
+ render: (a: string) => (<WidthEllipsis value={a} />)
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '应用', dataIndex: 'appName', label: '基础信息', align: 'center', width: 120, default: 2,
|
|
|
+ render: (a: string) => (<WidthEllipsis value={a} />)
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '应用ID', dataIndex: 'appId', label: '基础信息', align: 'center', width: 80,
|
|
|
+ render: (a: string) => (<WidthEllipsis value={a} />)
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '小程序名称', dataIndex: 'mpName', label: '基础信息', align: 'center', width: 85, default: 3,
|
|
|
+ render: (a: string) => (<WidthEllipsis value={a} />)
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '小程序ID', dataIndex: 'mpId', label: '基础信息', align: 'center', width: 80,
|
|
|
+ render: (a: string) => (<WidthEllipsis value={a} />)
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '业务类型', dataIndex: 'productType', label: '基础信息', align: 'center', width: 80, default: 4,
|
|
|
+ render: (a: string) => (<WidthEllipsis value={PRODUCT_TYPE_ENUM[a as keyof typeof PRODUCT_TYPE_ENUM]} />)
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '应用类型', dataIndex: 'appType', label: '基础信息', align: 'center', width: 80, default: 5,
|
|
|
+ render: (a: string) => (<WidthEllipsis value={APPTYPE[a as keyof typeof APPTYPE]?.text} />)
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '投手名称', dataIndex: 'pitcherName', label: '基础信息', align: 'center', width: 80, default: 6,
|
|
|
+ render: (a: string) => (<WidthEllipsis value={a} />)
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '每日真实消耗', dataIndex: 'cost', label: '基础信息', align: 'right', width: 95, default: 7, sorter: true,
|
|
|
+ className: 'padding_0',
|
|
|
+ render: (a: number) => <div style={{ height: 25.5, position: 'relative' }}>
|
|
|
+ <Progress
|
|
|
+ strokeColor={{
|
|
|
+ from: '#10c1e9',
|
|
|
+ to: '#6892d0',
|
|
|
+ }}
|
|
|
+ status="active"
|
|
|
+ showInfo={false}
|
|
|
+ percent={a ? a / 20000 * 100 : 0}
|
|
|
+ />
|
|
|
+ <span style={{ position: 'absolute', left: '50%', top: '50%', width: '100%', padding: '0 5px', transform: 'translate(-50%, -50%)' }}><Statistic style={{ fontWeight: 'bold' }} value={a || 0} precision={2} valueStyle={a >= 20000 ? { color: '#000', fontWeight: 'bold' } : { fontWeight: 'bold' }} /></span>
|
|
|
+ </div>
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '每日消耗', dataIndex: 'todayCost', label: '基础信息', align: 'right', width: 85, default: 8, sorter: true,
|
|
|
+ className: 'padding_0',
|
|
|
+ render: (a: number) => <div style={{ height: 25.5, position: 'relative' }}>
|
|
|
+ <Progress
|
|
|
+ strokeColor={{
|
|
|
+ from: '#ff5900',
|
|
|
+ to: '#ffd380',
|
|
|
+ }}
|
|
|
+ status="active"
|
|
|
+ showInfo={false}
|
|
|
+ percent={a ? a / 20000 * 100 : 0}
|
|
|
+ />
|
|
|
+ <span style={{ position: 'absolute', left: '50%', top: '50%', width: '100%', padding: '0 5px', transform: 'translate(-50%, -50%)' }}><Statistic value={a || 0} precision={2} valueStyle={a >= 20000 ? { color: '#000', fontWeight: 'bold' } : { fontWeight: 'bold' }} /></span>
|
|
|
+ </div>
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '赔付金', dataIndex: 'payout', label: '基础信息', align: 'right', width: 80, default: 9, sorter: true,
|
|
|
+ render: (a: number) => <Statistic value={a || 0} precision={2} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '推广广告账号数量', dataIndex: 'acountCount', label: '基础信息', align: 'center', width: 80, default: 10, sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '推广广告数量', dataIndex: 'adgroupCount', label: '基础信息', align: 'center', width: 80, default: 11, sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '广告曝光指标(媒体)',
|
|
|
+ data: [
|
|
|
+ {
|
|
|
+ title: '点击量', dataIndex: 'clickCount', label: '广告曝光指标(媒体)', align: 'center', width: 65, default: 12, sorter: true,
|
|
|
+ render: (a: number) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '曝光量', dataIndex: 'viewCount', label: '广告曝光指标(媒体)', align: 'center', width: 65, default: 13, sorter: true,
|
|
|
+ render: (a: number) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '千次曝光成本', dataIndex: 'thousandDisplayPrice', label: '广告曝光指标(媒体)', align: 'right', width: 65, default: 14, sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '点击率', dataIndex: 'ctr', label: '广告曝光指标(媒体)', align: 'center', width: 70, default: 15, sorter: true,
|
|
|
+ render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '点击均价', dataIndex: 'cpc', label: '广告曝光指标(媒体)', align: 'center', width: 65, default: 16, sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '不感兴趣点击次数', dataIndex: 'noInterestCount', label: '广告曝光指标(媒体)', align: 'center', width: 65, default: 17, sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '转化量', dataIndex: 'conversionsCount', label: '广告曝光指标(媒体)', align: 'center', width: 65, sorter: true, default: 18,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '转化成本', dataIndex: 'conversionsCost', label: '广告曝光指标(媒体)', align: 'right', width: 65, sorter: true, default: 19,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '广告转化指标(媒体)',
|
|
|
+ data: [
|
|
|
+ {
|
|
|
+ title: '注册人数', dataIndex: 'regDedupPv', label: '广告转化指标(媒体)', width: 65, align: 'center', sorter: true, default: 20,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '注册次数', dataIndex: 'regPv', label: '广告转化指标(媒体)', align: 'center', width: 65, sorter: true, default: 21,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '注册成本(人数)', dataIndex: 'regDedupCost', label: '广告转化指标(媒体)', align: 'right', width: 70, sorter: true, default: 22,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '注册成本(次数)', dataIndex: 'regCost', label: '广告转化指标(媒体)', align: 'right', width: 70, sorter: true, default: 23,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '注册率', dataIndex: 'regRate', label: '广告转化指标(媒体)', align: 'center', width: 70, default: 24, sorter: true,
|
|
|
+ render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '注册人数(平台上报+广告主上报)', dataIndex: 'regAllDedupPv', label: '广告转化指标(媒体)', align: 'center', width: 110, sorter: true, default: 25,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '注册成本(平台上报+广告主上报)', dataIndex: 'regCostPla', label: '广告转化指标(媒体)', align: 'right', width: 110, sorter: true, default: 26,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '注册率(平台上报+广告主上报)', dataIndex: 'regClickRatePla', label: '广告转化指标(媒体)', align: 'center', width: 110, default: 27, sorter: true,
|
|
|
+ render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '广告变现指标(媒体)',
|
|
|
+ data: [
|
|
|
+ {
|
|
|
+ title: '激活首日广告变现人数', dataIndex: 'adPayingUsersD1', label: '广告变现指标(媒体)', align: 'center', width: 85, sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '激活首日广告变现成本(人数)', dataIndex: 'adPayingCostD1', label: '广告变现指标(媒体)', align: 'right', width: 100, sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '激活首日广告变现金额', dataIndex: 'incomeVal1', label: '广告变现指标(媒体)', align: 'right', width: 85, sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '激活首日广告变现ARPPU', dataIndex: 'incomeArppu1', label: '广告变现指标(媒体)', width: 90, align: 'center', sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '激活首日广告变现ROI', dataIndex: 'incomeRoi1', label: '广告变现指标(媒体)', align: 'center', width: 85, sorter: true,
|
|
|
+ render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '激活首24小时广告变现人数', dataIndex: 'adPayingUsers24h', label: '广告变现指标(媒体)', align: 'center', width: 85, sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '激活首24小时广告变现成本(人数)', dataIndex: 'adPayingCost24h', label: '广告变现指标(媒体)', align: 'right', width: 100, sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '激活首24小时广告变现金额', dataIndex: 'incomeVal24h', label: '广告变现指标(媒体)', align: 'right', width: 85, sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '激活首24小时广告变现ARPPU', dataIndex: 'incomeArppu24h', label: '广告变现指标(媒体)', width: 98, align: 'center', sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '激活首24小时广告变现ROI', dataIndex: 'incomeRoi24h', label: '广告变现指标(媒体)', align: 'center', 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: '激活3日广告变现次数', dataIndex: 'adMonetizationActive3dPv', label: '广告变现指标(媒体)', align: 'center', width: 75, sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '激活3日广告变现人数', dataIndex: 'adMonetizationDedupActive3dPv', label: '广告变现指标(媒体)', align: 'center', width: 75, sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '激活3日广告变现成本(人数)', dataIndex: 'adMonetizationDedupCost3', label: '广告变现指标(媒体)', align: 'right', width: 90, sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '激活3日广告变现成本(次数)', dataIndex: 'adMonetizationActiveCost3', label: '广告变现指标(媒体)', align: 'right', width: 90, sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '激活3日广告变现金额', dataIndex: 'incomeVal3', label: '广告变现指标(媒体)', align: 'right', width: 75, sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '激活3日广告变现ARPPU', dataIndex: 'incomeArppu3', label: '广告变现指标(媒体)', width: 80, align: 'center', sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '激活3日广告变现ROI', dataIndex: 'incomeRoi3', label: '广告变现指标(媒体)', align: 'center', width: 75, sorter: true,
|
|
|
+ render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '激活7日广告变现次数', dataIndex: 'adMonetizationActive7dPv', label: '广告变现指标(媒体)', align: 'center', width: 75, sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '激活7日广告变现人数', dataIndex: 'adMonetizationDedupActive7dPv', label: '广告变现指标(媒体)', align: 'center', width: 75, sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '激活7日广告变现成本(人数)', dataIndex: 'adMonetizationDedupCost7', label: '广告变现指标(媒体)', align: 'right', width: 85, sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '激活7日广告变现成本(次数)', dataIndex: 'adMonetizationActiveCost7', label: '广告变现指标(媒体)', align: 'right', width: 85, sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '激活7日广告变现金额', dataIndex: 'incomeVal7', label: '广告变现指标(媒体)', align: 'right', width: 75, sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '激活7日广告变现ARPPU', dataIndex: 'incomeArppu7', label: '广告变现指标(媒体)', width: 80, align: 'center', sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '激活7日广告变现ROI', dataIndex: 'incomeRoi7', label: '广告变现指标(媒体)', align: 'center', width: 80, sorter: true,
|
|
|
+ render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '激活14日广告变现金额', dataIndex: 'incomeVal14', label: '广告变现指标(媒体)', align: 'right', width: 80, sorter: true,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '激活14日广告变现ROI', dataIndex: 'incomeRoi14', label: '广告变现指标(媒体)', align: 'center', width: 75, sorter: true,
|
|
|
+ render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '广告变现人数', dataIndex: 'appAdPayingUsers', label: '广告变现指标(媒体)', align: 'right', width: 70, sorter: true, default: 28,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '广告变现成本', dataIndex: 'appAdPayingCost', label: '广告变现指标(媒体)', align: 'right', width: 70, sorter: true, default: 29,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '广告变现金额', dataIndex: 'adMonetizationAmount', label: '广告变现指标(媒体)', align: 'right', width: 70, sorter: true, default: 30,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '广告变现ARPPU', dataIndex: 'adMonetizationArppu', label: '广告变现指标(媒体)', width: 70, align: 'center', sorter: true, default: 31,
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '广告变现ROI', dataIndex: 'adMonetizationRoi', label: '广告变现指标(媒体)', align: 'center', width: 70, sorter: true, default: 32,
|
|
|
+ render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ ]
|
|
|
+}
|
|
|
+
|
|
|
+export default columns12
|