|
@@ -1,10 +1,11 @@
|
|
import WidthEllipsis from "@/components/widthEllipsis"
|
|
import WidthEllipsis from "@/components/widthEllipsis"
|
|
-import { Badge, Progress, Space, Statistic } from "antd"
|
|
|
|
|
|
+import { Badge, Progress, Space, Statistic, Tag } from "antd"
|
|
import React from "react"
|
|
import React from "react"
|
|
-import { ADGROUP_STATUS, AdUnitType_Enum, BID_MODE_ENUM, MARKETING_GOAL_ENUM, MARKETING_TARGET_TYPE_ENUM, OPTIMIZATIONGOAL_ENUM, PRODUCT_TYPE_ENUM, SMART_BID_TYPE_ENUM } from "../../../const"
|
|
|
|
|
|
+import { ADGROUP_STATUS, BID_MODE_ENUM, MARKETING_GOAL_ENUM, MARKETING_TARGET_TYPE_ENUM, OPTIMIZATIONGOAL_ENUM, PRODUCT_TYPE_ENUM, SMART_BID_TYPE_ENUM } from "../../../const"
|
|
import SwitchStatus from "./switchStatus"
|
|
import SwitchStatus from "./switchStatus"
|
|
import CreativePreview from "../../../components/CreativePreview"
|
|
import CreativePreview from "../../../components/CreativePreview"
|
|
import TimeSeriesLook from "@/pages/iaaData/components/TimeSeriesLook"
|
|
import TimeSeriesLook from "@/pages/iaaData/components/TimeSeriesLook"
|
|
|
|
+import { AUTO_ACQUISTION_STATUS } from "./const"
|
|
|
|
|
|
function columns12(dayHandle: (data: any) => void, onChange?: () => void): { label: string, fieldSHow?: { label: string, saveField: string, defaultValue: any[], data: any[] }, data: any[] }[] {
|
|
function columns12(dayHandle: (data: any) => void, onChange?: () => void): { label: string, fieldSHow?: { label: string, saveField: string, defaultValue: any[], data: any[] }, data: any[] }[] {
|
|
|
|
|
|
@@ -80,28 +81,41 @@ function columns12(dayHandle: (data: any) => void, onChange?: () => void): { lab
|
|
}
|
|
}
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- title: '深度优化出价', dataIndex: 'deepConversionWorthRate', label: '广告基本信息', align: 'center', width: 70, default: 14,
|
|
|
|
|
|
+ title: '一键起量', dataIndex: 'autoAcquisitionEnabled', label: '广告基本信息', width: 200, default: 14,
|
|
|
|
+ render: (a: boolean, b: any) => {
|
|
|
|
+ if (b?.accountId === '总计') return '--';
|
|
|
|
+ return <Space size={2}>
|
|
|
|
+ {a ? <>
|
|
|
|
+ <Tag color="success">开启</Tag>
|
|
|
|
+ <Statistic prefix={'¥'} value={b?.autoAcquisitionBudget || 0} precision={2} />
|
|
|
|
+ </> : <Tag color="error">关闭</Tag>}
|
|
|
|
+ {b?.autoAcquisitionStatus && <div style={{ width: 65, paddingLeft: 4 }}><WidthEllipsis value={AUTO_ACQUISTION_STATUS[b?.autoAcquisitionStatus as keyof typeof AUTO_ACQUISTION_STATUS]} /></div>}
|
|
|
|
+ </Space>
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ title: '深度优化出价', dataIndex: 'deepConversionWorthRate', label: '广告基本信息', align: 'center', width: 70, default: 15,
|
|
render: (a: string, b: { accountId: any }) => {
|
|
render: (a: string, b: { accountId: any }) => {
|
|
if (b?.accountId === '总计') return '--';
|
|
if (b?.accountId === '总计') return '--';
|
|
return <Statistic value={a || 0} precision={2} />
|
|
return <Statistic value={a || 0} precision={2} />
|
|
}
|
|
}
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- title: '出价类型', dataIndex: 'smartBidType', label: '广告基本信息', align: 'center', width: 80, default: 15,
|
|
|
|
|
|
+ title: '出价类型', dataIndex: 'smartBidType', label: '广告基本信息', align: 'center', width: 80, default: 16,
|
|
render: (a: string, b: any) => {
|
|
render: (a: string, b: any) => {
|
|
if (b?.accountId === '总计') return '--';
|
|
if (b?.accountId === '总计') return '--';
|
|
return SMART_BID_TYPE_ENUM[a as keyof typeof SMART_BID_TYPE_ENUM]
|
|
return SMART_BID_TYPE_ENUM[a as keyof typeof SMART_BID_TYPE_ENUM]
|
|
}
|
|
}
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- title: '广告组日预算(元)', dataIndex: 'dailyBudget', label: '广告基本信息', align: 'right', width: 70, sorter: true, default: 16,
|
|
|
|
|
|
+ title: '广告组日预算(元)', dataIndex: 'dailyBudget', label: '广告基本信息', align: 'right', width: 70, sorter: true, default: 17,
|
|
render: (a: string, b: any) => {
|
|
render: (a: string, b: any) => {
|
|
if (b?.accountId === '总计') return '--';
|
|
if (b?.accountId === '总计') return '--';
|
|
return <Statistic value={a || 0} precision={2} />
|
|
return <Statistic value={a || 0} precision={2} />
|
|
}
|
|
}
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- title: '是否开启自动版位功能', dataIndex: 'automaticSiteEnabled', label: '广告基本信息', align: 'center', width: 80, default: 17,
|
|
|
|
|
|
+ title: '是否开启自动版位功能', dataIndex: 'automaticSiteEnabled', label: '广告基本信息', align: 'center', width: 80, default: 18,
|
|
render: (a: string, b: any) => {
|
|
render: (a: string, b: any) => {
|
|
if (b?.accountId === '总计') return '--';
|
|
if (b?.accountId === '总计') return '--';
|
|
return <WidthEllipsis value={a ? '是' : '否'} />
|
|
return <WidthEllipsis value={a ? '是' : '否'} />
|
|
@@ -112,33 +126,33 @@ function columns12(dayHandle: (data: any) => void, onChange?: () => void): { lab
|
|
render: (a: string) => (<WidthEllipsis value={a} />)
|
|
render: (a: string) => (<WidthEllipsis value={a} />)
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- title: '是否已删除', dataIndex: 'isDeleted', label: '广告基本信息', align: 'center', width: 60, default: 18,
|
|
|
|
|
|
+ title: '是否已删除', dataIndex: 'isDeleted', label: '广告基本信息', align: 'center', width: 60, default: 19,
|
|
render: (a: any, b: any) => {
|
|
render: (a: any, b: any) => {
|
|
if (b?.accountId === '总计') return '--';
|
|
if (b?.accountId === '总计') return '--';
|
|
return <Badge status={!a ? "processing" : "error"} text={a ? '是' : '否'} />
|
|
return <Badge status={!a ? "processing" : "error"} text={a ? '是' : '否'} />
|
|
}
|
|
}
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- title: '广告状态', dataIndex: 'systemStatus', label: '广告基本信息', align: 'center', width: 100, default: 19,
|
|
|
|
|
|
+ title: '广告状态', dataIndex: 'systemStatus', label: '广告基本信息', align: 'center', width: 100, default: 20,
|
|
render: (a: string, b: any) => {
|
|
render: (a: string, b: any) => {
|
|
if (b?.accountId === '总计') return '--';
|
|
if (b?.accountId === '总计') return '--';
|
|
return ADGROUP_STATUS[a as keyof typeof ADGROUP_STATUS]
|
|
return ADGROUP_STATUS[a as keyof typeof ADGROUP_STATUS]
|
|
}
|
|
}
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- title: '营销目的', dataIndex: 'marketingGoal', label: '广告基本信息', align: 'center', width: 85, default: 20,
|
|
|
|
|
|
+ title: '营销目的', dataIndex: 'marketingGoal', label: '广告基本信息', align: 'center', width: 85, default: 21,
|
|
render: (a: string) => (<WidthEllipsis value={MARKETING_GOAL_ENUM[a as keyof typeof MARKETING_GOAL_ENUM]} />)
|
|
render: (a: string) => (<WidthEllipsis value={MARKETING_GOAL_ENUM[a as keyof typeof MARKETING_GOAL_ENUM]} />)
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- title: '推广内容资产类型', dataIndex: 'marketingTargetType', label: '广告基本信息', align: 'center', width: 85, default: 21,
|
|
|
|
|
|
+ title: '推广内容资产类型', dataIndex: 'marketingTargetType', label: '广告基本信息', align: 'center', width: 85, default: 22,
|
|
render: (a: string) => (<WidthEllipsis value={MARKETING_TARGET_TYPE_ENUM[a as keyof typeof MARKETING_TARGET_TYPE_ENUM]} />)
|
|
render: (a: string) => (<WidthEllipsis value={MARKETING_TARGET_TYPE_ENUM[a as keyof typeof MARKETING_TARGET_TYPE_ENUM]} />)
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- title: '标记备注', dataIndex: 'tagRemark', label: '广告基本信息', align: 'center', width: 80, default: 22,
|
|
|
|
|
|
+ title: '标记备注', dataIndex: 'tagRemark', label: '广告基本信息', align: 'center', width: 80, default: 23,
|
|
render: (a: string) => (<WidthEllipsis value={a} />)
|
|
render: (a: string) => (<WidthEllipsis value={a} />)
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- title: '创意预览', dataIndex: 'dynamicCreativeVOList', label: '腾讯广告列表', width: 150, default: 31,
|
|
|
|
|
|
+ title: '创意预览', dataIndex: 'dynamicCreativeVOList', label: '腾讯广告列表', width: 150, default: 32,
|
|
render: (a: any, b: any) => {
|
|
render: (a: any, b: any) => {
|
|
if (b?.accountId === '总计') {
|
|
if (b?.accountId === '总计') {
|
|
return '--'
|
|
return '--'
|
|
@@ -160,7 +174,7 @@ function columns12(dayHandle: (data: any) => void, onChange?: () => void): { lab
|
|
label: '广告消耗信息',
|
|
label: '广告消耗信息',
|
|
data: [
|
|
data: [
|
|
{
|
|
{
|
|
- title: '消耗', dataIndex: 'cost', label: '广告消耗信息', align: 'center', width: 85, default: 23, sorter: true,
|
|
|
|
|
|
+ title: '消耗', dataIndex: 'cost', label: '广告消耗信息', align: 'center', width: 85, default: 24, sorter: true,
|
|
className: 'padding_0',
|
|
className: 'padding_0',
|
|
render: (a: number) => <div style={{ height: 27, position: 'relative' }}>
|
|
render: (a: number) => <div style={{ height: 27, position: 'relative' }}>
|
|
<Progress
|
|
<Progress
|
|
@@ -176,31 +190,31 @@ function columns12(dayHandle: (data: any) => void, onChange?: () => void): { lab
|
|
</div>
|
|
</div>
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- title: '曝光量', dataIndex: 'viewCount', label: '广告消耗信息', align: 'center', width: 70, default: 24, sorter: true,
|
|
|
|
|
|
+ title: '曝光量', dataIndex: 'viewCount', label: '广告消耗信息', align: 'center', width: 70, default: 25, sorter: true,
|
|
render: (a: string) => <Statistic value={a || 0} />
|
|
render: (a: string) => <Statistic value={a || 0} />
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- title: '千次曝光成本', dataIndex: 'thousandDisplayPrice', label: '广告消耗信息', align: 'right', width: 65, default: 25, sorter: true,
|
|
|
|
|
|
+ title: '千次曝光成本', dataIndex: 'thousandDisplayPrice', label: '广告消耗信息', align: 'right', width: 65, default: 26, sorter: true,
|
|
render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- title: '点击量', dataIndex: 'clickCount', label: '广告消耗信息', align: 'center', width: 70, default: 26, sorter: true,
|
|
|
|
|
|
+ title: '点击量', dataIndex: 'clickCount', label: '广告消耗信息', align: 'center', width: 70, default: 27, sorter: true,
|
|
render: (a: string) => <Statistic value={a || 0} />
|
|
render: (a: string) => <Statistic value={a || 0} />
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- title: '点击率', dataIndex: 'ctr', label: '广告消耗信息', align: 'center', width: 70, default: 27, sorter: true,
|
|
|
|
|
|
+ title: '点击率', dataIndex: 'ctr', label: '广告消耗信息', align: 'center', width: 70, default: 28, sorter: true,
|
|
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: 'cpc', label: '广告消耗信息', align: 'center', width: 65, default: 28, sorter: true,
|
|
|
|
|
|
+ title: '点击均价', dataIndex: 'cpc', label: '广告消耗信息', align: 'center', width: 65, default: 29, sorter: true,
|
|
render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- title: '不感兴趣点击次数', dataIndex: 'noInterestCount', label: '广告消耗信息', align: 'center', width: 65, default: 29, sorter: true,
|
|
|
|
|
|
+ title: '不感兴趣点击次数', dataIndex: 'noInterestCount', label: '广告消耗信息', align: 'center', width: 65, default: 30, sorter: true,
|
|
render: (a: string) => <Statistic value={a || 0} />
|
|
render: (a: string) => <Statistic value={a || 0} />
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- title: '朋友圈视频播放次数', dataIndex: 'videoPlayCount', label: '广告消耗信息', align: 'center', width: 65, default: 30, sorter: true,
|
|
|
|
|
|
+ title: '朋友圈视频播放次数', dataIndex: 'videoPlayCount', label: '广告消耗信息', align: 'center', width: 65, default: 31, sorter: true,
|
|
render: (a: string) => <Statistic value={a || 0} />
|
|
render: (a: string) => <Statistic value={a || 0} />
|
|
},
|
|
},
|
|
]
|
|
]
|
|
@@ -336,7 +350,7 @@ function columns12(dayHandle: (data: any) => void, onChange?: () => void): { lab
|
|
data: [
|
|
data: [
|
|
{
|
|
{
|
|
title: '激活首24小时广告变现ARPPU(平台上报)', dataIndex: 'firstDayAdPurArppuCost24hPla', label: '其他业务(平台上报指标)', width: 130, align: 'center', sorter: true, className: 'green2ColorClass',
|
|
title: '激活首24小时广告变现ARPPU(平台上报)', dataIndex: 'firstDayAdPurArppuCost24hPla', label: '其他业务(平台上报指标)', width: 130, align: 'center', sorter: true, className: 'green2ColorClass',
|
|
- render: (a: string) => <Statistic value={a || 0} precision={2}/>
|
|
|
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
},
|
|
},
|
|
{
|
|
{
|
|
title: '激活首24小时广告变现ROI(平台上报)', dataIndex: 'incomeRoi124hPla', label: '其他业务(平台上报指标)', width: 110, align: 'center', sorter: true, className: 'green2ColorClass',
|
|
title: '激活首24小时广告变现ROI(平台上报)', dataIndex: 'incomeRoi124hPla', label: '其他业务(平台上报指标)', width: 110, align: 'center', sorter: true, className: 'green2ColorClass',
|
|
@@ -475,6 +489,10 @@ function columns12(dayHandle: (data: any) => void, onChange?: () => void): { lab
|
|
title: '激活14日广告变现金额', dataIndex: 'incomeVal14', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
|
|
title: '激活14日广告变现金额', dataIndex: 'incomeVal14', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
|
|
render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
},
|
|
},
|
|
|
|
+ {
|
|
|
|
+ title: '广告变现人数', dataIndex: 'appAdPayingUsers', label: '其他业务(其他指标)', width: 90, align: 'center', sorter: true, className: 'volcanoColorClass',
|
|
|
|
+ render: (a: string) => <Statistic value={a || 0} />
|
|
|
|
+ },
|
|
{
|
|
{
|
|
title: '广告变现金额', dataIndex: 'adMonetizationAmount', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
|
|
title: '广告变现金额', dataIndex: 'adMonetizationAmount', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
|
|
render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
@@ -507,6 +525,10 @@ function columns12(dayHandle: (data: any) => void, onChange?: () => void): { lab
|
|
title: '注册成本', dataIndex: 'regCost', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
|
|
title: '注册成本', dataIndex: 'regCost', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
|
|
render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
},
|
|
},
|
|
|
|
+ {
|
|
|
|
+ title: '注册次数成本', dataIndex: 'regPvCost', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
|
|
|
|
+ render: (a: string) => <Statistic value={a || 0} precision={2} />
|
|
|
|
+ },
|
|
{
|
|
{
|
|
title: '注册率', dataIndex: 'regRate', label: '其他业务(其他指标)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
|
|
title: '注册率', dataIndex: 'regRate', label: '其他业务(其他指标)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
|
|
render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
|
|
@@ -622,7 +644,7 @@ function columns12(dayHandle: (data: any) => void, onChange?: () => void): { lab
|
|
label: '操作',
|
|
label: '操作',
|
|
data: [
|
|
data: [
|
|
{
|
|
{
|
|
- title: '操作', dataIndex: 'cz', label: '操作', align: 'center', width: 150, default: 32,
|
|
|
|
|
|
+ title: '操作', dataIndex: 'cz', label: '操作', align: 'center', width: 150, default: 33,
|
|
render: (_: number, b: any) => {
|
|
render: (_: number, b: any) => {
|
|
if (b?.accountId === '总计') return '--'
|
|
if (b?.accountId === '总计') return '--'
|
|
return <Space>
|
|
return <Space>
|