Переглянути джерело

Merge branch 'develop' of http://git.zanxiangnet.com/wjx/ad-manage

wjx 8 місяців тому
батько
коміт
cde9530471

BIN
public/folder.png


+ 11 - 0
src/pages/launchSystemNew/account/const.ts

@@ -0,0 +1,11 @@
+
+/**
+ * 业务单元类型
+ */
+export enum AdUnitType_Enum {
+    NOVEL = '小说',
+    NOVEL_IAA = '小说IAA',
+    GAME = '游戏',
+    GAME_IAA = '游戏IAA',
+    SHOP = '电商'
+}

+ 12 - 1
src/pages/launchSystemNew/account/game/index.tsx

@@ -19,6 +19,7 @@ import ChangeRecord from './changeRecord'
 import CheckAccount from './checkAccount'
 import AppointPut from './appointPut'
 import SetEarlyWarningsAccount from '@/components/EarlyWarning/setEarlyWarningsAccount'
+import { AdUnitType_Enum } from '../const'
 
 /** 投放管理 */
 const AdAuthorize: React.FC = () => {
@@ -100,7 +101,7 @@ const AdAuthorize: React.FC = () => {
         }
 
     }
-    const edit = useCallback((data) => {
+    const edit = useCallback((data: any) => {
         set_remarkData({ ...remarkData, visible: true, data, remark: data.remark })
     }, [remarkData])
 
@@ -237,6 +238,16 @@ const AdAuthorize: React.FC = () => {
                             value={queryForm?.adUnitAccount}
                             options={[{ label: '是', value: true }, { label: '否', value: false }]}
                         />
+                        <Select
+                            style={{ width: 120 }}
+                            placeholder="业务单元类型"
+                            allowClear
+                            onChange={(e) => {
+                                setQueryForm({ ...queryForm, adUnitType: e })
+                            }}
+                            value={queryForm?.adUnitType}
+                            options={Object.keys(AdUnitType_Enum).filter(item => ['GAME', 'GAME_IAA'].includes(item)).map(key => ({ label: AdUnitType_Enum[key as keyof typeof AdUnitType_Enum], value: key }))}
+                        />
                         <Button onClick={getList} type='primary' loading={getAdAccountList.loading}>搜索</Button>
                         <AddAccountToGroup onChange={() => getAdAccountList.refresh()} />
                         <Button type='primary' onClick={() => setVisible(true)}><PlusOutlined />广告账号授权</Button>

+ 14 - 1
src/pages/launchSystemNew/account/game/tableConfig.tsx

@@ -6,6 +6,9 @@ import DivideIntoGroups from "./divideIntoGroups"
 import './index.less'
 import OpenV3 from "../components/openV3"
 import OpenV3All from "../components/openV3All"
+import { AdUnitType_Enum } from "../const"
+
+
 export function columnsMp(
     edit: (params: any) => void,
     setOpenServer: (data: any) => void,
@@ -66,6 +69,16 @@ export function columnsMp(
                 return <span>{a || '--'}</span>
             }
         },
+        {
+            title: '业务单元类型',
+            dataIndex: 'adUnitType',
+            key: 'adUnitType',
+            align: 'center',
+            width: 75,
+            render: (a: string) => {
+                return AdUnitType_Enum[a as keyof typeof AdUnitType_Enum] || '--'
+            }
+        },
         {
             title: '投手',
             dataIndex: 'putUserInfo',
@@ -209,7 +222,7 @@ export function columnsMp(
             align: 'center',
             width: 80,
             render: (a: string | number) => {
-                return FundStatusEnum[a]
+                return FundStatusEnum[a as keyof typeof FundStatusEnum]
             }
         },
         {

+ 12 - 1
src/pages/launchSystemNew/account/novel/index.tsx

@@ -19,6 +19,7 @@ import ChangeRecord from './changeRecord'
 import CheckAccount from './checkAccount'
 import AppointPut from './appointPut'
 import SetEarlyWarningsAccount from '@/components/EarlyWarning/setEarlyWarningsAccount'
+import { AdUnitType_Enum } from '../const'
 
 /** 投放管理 */
 const AdAuthorize: React.FC = () => {
@@ -100,7 +101,7 @@ const AdAuthorize: React.FC = () => {
         }
 
     }
-    const edit = useCallback((data) => {
+    const edit = useCallback((data: any) => {
         set_remarkData({ ...remarkData, visible: true, data, remark: data.remark })
     }, [remarkData])
 
@@ -242,6 +243,16 @@ const AdAuthorize: React.FC = () => {
                             value={queryForm?.adUnitAccount}
                             options={[{ label: '是', value: true }, { label: '否', value: false }]}
                         />
+                        <Select
+                            style={{ width: 120 }}
+                            placeholder="业务单元类型"
+                            allowClear
+                            onChange={(e) => {
+                                setQueryForm({ ...queryForm, adUnitType: e })
+                            }}
+                            value={queryForm?.adUnitType}
+                            options={Object.keys(AdUnitType_Enum).filter(item => ['NOVEL', 'NOVEL_IAA', 'SHOP'].includes(item)).map(key => ({ label: AdUnitType_Enum[key as keyof typeof AdUnitType_Enum], value: key }))}
+                        />
                         <Button onClick={getList} type='primary' loading={getAdAccountList.loading}>搜索</Button>
                         <AddAccountToGroup onChange={() => getAdAccountList.refresh()} />
                         <Button type='primary' onClick={() => setVisible(true)}><PlusOutlined />广告账号授权</Button>

+ 11 - 0
src/pages/launchSystemNew/account/novel/tableConfig.tsx

@@ -6,6 +6,7 @@ import DivideIntoGroups from "./divideIntoGroups"
 import './index.less'
 import OpenV3 from "../components/openV3"
 import OpenV3All from "../components/openV3All"
+import { AdUnitType_Enum } from "../const"
 export function columnsMp(
     edit: (params: any) => void,
     setOpenServer: (data: any) => void,
@@ -66,6 +67,16 @@ export function columnsMp(
                 return <span>{a || '--'}</span>
             }
         },
+        {
+            title: '业务单元类型',
+            dataIndex: 'adUnitType',
+            key: 'adUnitType',
+            align: 'center',
+            width: 75,
+            render: (a: string) => {
+                return AdUnitType_Enum[a as keyof typeof AdUnitType_Enum] || '--'
+            }
+        },
         {
             title: '投手',
             dataIndex: 'putUserInfo',

+ 3 - 1
src/pages/launchSystemV3/adMonitorListV3/adPlanList.tsx

@@ -361,7 +361,9 @@ const AdPlanList: React.FC<{ userId: string }> = (props) => {
                                 } else if (['ctr_total', 'mp_follow_rate_total',
                                     'add_quick_app_rate_total', 'scan_follow_rate_total',
                                     'first_day_order_roi_total', 'order_rate_total',
-                                    'order_roi_total', 'conversions_rate_total'
+                                    'order_roi_total', 'conversions_rate_total',
+                                    'income_roi124h_pla_total', 'income_roi124h_total', 'income_roi1_total', 'income_roi3_total', 'income_roi7_total', 'income_roi14_total', 'ad_monetization_roi_total',
+                                    'mini_game_income_roi1_total', 'minigame3d_income_roi_total', 'minigame7d_income_roi_total', 'mini_game_ad_monetization_roi_total'
                                 ].includes(item.dataIndex)) {
                                     return <Table.Summary.Cell index={index} key={item.dataIndex} align="center">
                                         <Space size={4}>

+ 135 - 0
src/pages/launchSystemV3/adMonitorListV3/config.ts

@@ -1,3 +1,4 @@
+
 const planAdConfig = [
     {
         label: '广告详情',
@@ -81,6 +82,73 @@ const planAdConfig = [
             { title: '加粉成本', dataIndex: 'add_fans_cost_total', label: '商品转化', width: 100 },
         ]
     },
+    {
+        label: '其他业务(平台上报指标)',
+        data: [
+            { title: '激活首24小时广告变现ARPPU(平台上报)', serverIndex: 'adgroup_data.first_day_ad_pur_arppu_cost24h_pla_total', dataIndex: 'first_day_ad_pur_arppu_cost24h_pla_total', label: '其他业务(平台上报指标)', width: 130 },
+            { title: '激活首24小时广告变现ROI(平台上报)', serverIndex: 'adgroup_data.income_roi124h_pla_total', dataIndex: 'income_roi124h_pla_total', label: '其他业务(平台上报指标)', width: 110 },
+            { title: '激活首24小时广告变现次数(平台上报)', serverIndex: 'adgroup_data.income_pv24h_pla_total', dataIndex: 'income_pv24h_pla_total', label: '其他业务(平台上报指标)', width: 110 },
+            { title: '激活首日广告变现次数(平台上报)', serverIndex: 'adgroup_data.income_pv1d_pla_total', dataIndex: 'income_pv1d_pla_total', label: '其他业务(平台上报指标)', width: 110 },
+            { title: '激活3日广告变现次数(平台上报)', serverIndex: 'adgroup_data.ad_monetization_pla_dedup_active3d_pv_total', dataIndex: 'ad_monetization_pla_dedup_active3d_pv_total', label: '其他业务(平台上报指标)', width: 110 },
+            { title: '激活7日广告变现次数(平台上报)', serverIndex: 'adgroup_data.minigame7d_income_count_total', dataIndex: 'minigame7d_income_count_total', label: '其他业务(平台上报指标)', width: 110 },
+            { title: '注册3日广告变现次数(平台上报)', serverIndex: 'adgroup_data.minigame3d_income_count_total', dataIndex: 'minigame3d_income_count_total', label: '其他业务(平台上报指标)', width: 110 },
+            { title: '激活首24小时广告变现金额(平台上报)', serverIndex: 'adgroup_data.income_val24h_pla_total', dataIndex: 'income_val24h_pla_total', label: '其他业务(平台上报指标)', width: 110 },
+            { title: '注册首日广告变现金额(平台上报)', serverIndex: 'adgroup_data.mini_game_first_day_ad_monetization_amount_total', dataIndex: 'mini_game_first_day_ad_monetization_amount_total', label: '其他业务(平台上报指标)', width: 120 },
+            { title: '激活7日广告变现金额(平台上报)', serverIndex: 'adgroup_data.mini_game_ad_monetization_amount_d7_total', dataIndex: 'mini_game_ad_monetization_amount_d7_total', label: '其他业务(平台上报指标)', width: 110 },
+            { title: '激活14日广告变现金额(平台上报)', serverIndex: 'adgroup_data.mini_game_ad_monetization_amount_d14_total', dataIndex: 'mini_game_ad_monetization_amount_d14_total', label: '其他业务(平台上报指标)', width: 110 },
+            { title: '广告变现金额(平台上报)', serverIndex: 'adgroup_data.mini_game_ad_monetization_amount_total', dataIndex: 'mini_game_ad_monetization_amount_total', label: '其他业务(平台上报指标)', width: 100 },
+            { title: '激活首24小时广告变现人数(平台上报)', serverIndex: 'adgroup_data.ad_paying_users24h_pla_total', dataIndex: 'ad_paying_users24h_pla_total', label: '其他业务(平台上报指标)', width: 115 },
+            { title: '激活首日广告变现人数(平台上报)', serverIndex: 'adgroup_data.ad_monetization_pla_dedup_active1d_pv_total', dataIndex: 'ad_monetization_pla_dedup_active1d_pv_total', label: '其他业务(平台上报指标)', width: 110 },
+            { title: '激活7日变现人数(平台上报)', serverIndex: 'adgroup_data.ad_monetization_pla_dedup_active7d_pv_total', dataIndex: 'ad_monetization_pla_dedup_active7d_pv_total', label: '其他业务(平台上报指标)', width: 100 }
+        ]
+    },
+    {
+        label: '其他业务(其他指标)',
+        data: [
+            { title: '激活首24小时广告变现ARPPU', serverIndex: 'adgroup_data.first_day_ad_pur_arppu_cost24h_total', dataIndex: 'first_day_ad_pur_arppu_cost24h_total', label: '其他业务(其他指标)', width: 100 },
+            { title: '激活首日广告变现ARPPU', serverIndex: 'adgroup_data.first_day_ad_pur_arppu_cost_total', dataIndex: 'first_day_ad_pur_arppu_cost_total', label: '其他业务(其他指标)', width: 90 },
+            { title: '广告变现ARPPU', serverIndex: 'adgroup_data.ad_monetization_arppu_total', dataIndex: 'ad_monetization_arppu_total', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活首24小时广告变现ROI', serverIndex: 'adgroup_data.income_roi124h_total', dataIndex: 'income_roi124h_total', label: '其他业务(其他指标)', width: 90 },
+            { title: '激活首日广告变现ROI', serverIndex: 'adgroup_data.income_roi1_total', dataIndex: 'income_roi1_total', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活3日广告变现ROI', serverIndex: 'adgroup_data.income_roi3_total', dataIndex: 'income_roi3_total', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活7日广告变现ROI', serverIndex: 'adgroup_data.income_roi7_total', dataIndex: 'income_roi7_total', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活14日广告变现ROI', serverIndex: 'adgroup_data.income_roi14_total', dataIndex: 'income_roi14_total', label: '其他业务(其他指标)', width: 80 },
+            { title: '广告变现ROI', serverIndex: 'adgroup_data.ad_monetization_roi_total', dataIndex: 'ad_monetization_roi_total', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活首日广告变现成本(人数)', serverIndex: 'adgroup_data.ad_paying_cost_d1_total', dataIndex: 'ad_paying_cost_d1_total', label: '其他业务(其他指标)', width: 100 },
+            { title: '广告变现成本', serverIndex: 'adgroup_data.ad_monetization_cost_total', dataIndex: 'ad_monetization_cost_total', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活3日广告变现次数', serverIndex: 'adgroup_data.ad_monetization_active3d_pv_total', dataIndex: 'ad_monetization_active3d_pv_total', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活7日广告变现次数', serverIndex: 'adgroup_data.ad_monetization_active7d_pv_total', dataIndex: 'ad_monetization_active7d_pv_total', label: '其他业务(其他指标)', width: 80 },
+            { title: '广告变现次数(平台上报)', serverIndex: 'adgroup_data.income_pv_pla_total', dataIndex: 'income_pv_pla_total', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活首24小时广告变现金额', serverIndex: 'adgroup_data.income_val24h_total', dataIndex: 'income_val24h_total', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活首日广告变现金额', serverIndex: 'adgroup_data.income_val1_total', dataIndex: 'income_val1_total', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活3日广告变现金额', serverIndex: 'adgroup_data.income_val3_total', dataIndex: 'income_val3_total', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活7日广告变现金额', serverIndex: 'adgroup_data.income_val7_total', dataIndex: 'income_val7_total', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活14日广告变现金额', serverIndex: 'adgroup_data.income_val14_total', dataIndex: 'income_val14_total', label: '其他业务(其他指标)', width: 80 },
+            { title: '广告变现金额', serverIndex: 'adgroup_data.ad_monetization_amount_total', dataIndex: 'ad_monetization_amount_total', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活首24小时广告变现人数', serverIndex: 'adgroup_data.ad_paying_users24h_total', dataIndex: 'ad_paying_users24h_total', label: '其他业务(其他指标)', width: 90 },
+            { title: '激活首日广告变现人数', serverIndex: 'adgroup_data.ad_paying_users_d1_total', dataIndex: 'ad_paying_users_d1_total', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活3日广告变现人数', serverIndex: 'adgroup_data.ad_monetization_dedup_active3d_pv_total', dataIndex: 'ad_monetization_dedup_active3d_pv_total', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活7日广告变现人数', serverIndex: 'adgroup_data.ad_monetization_dedup_active7d_pv_total', dataIndex: 'ad_monetization_dedup_active7d_pv_total', label: '其他业务(其他指标)', width: 80 }
+        ]
+    },
+    {
+        label: '小游戏(平台上报)',
+        data: [
+            { title: '小游戏注册首日广告变现ARPU(平台上报)', serverIndex: 'adgroup_data.mini_game_first_day_ad_paying_arpu_total', dataIndex: 'mini_game_first_day_ad_paying_arpu_total', label: '小游戏(平台上报)', width: 130 },
+            { title: '小游戏广告变现ARPU(平台上报)', serverIndex: 'adgroup_data.mini_game_ad_monetization_arpu_total', dataIndex: 'mini_game_ad_monetization_arpu_total', label: '小游戏(平台上报)', width: 110 },
+            { title: '小游戏注册首日广告变现ROI(平台上报)', serverIndex: 'adgroup_data.mini_game_income_roi1_total', dataIndex: 'mini_game_income_roi1_total', label: '小游戏(平台上报)', width: 110 },
+            { title: '小游戏注册3日广告变现ROI(平台上报)', serverIndex: 'adgroup_data.minigame3d_income_roi_total', dataIndex: 'minigame3d_income_roi_total', label: '小游戏(平台上报)', width: 110 },
+            { title: '小游戏注册7日广告变现ROI(平台上报)', serverIndex: 'adgroup_data.minigame7d_income_roi_total', dataIndex: 'minigame7d_income_roi_total', label: '小游戏(平台上报)', width: 110 },
+            { title: '小游戏广告变现ROI(平台上报)', serverIndex: 'adgroup_data.mini_game_ad_monetization_roi_total', dataIndex: 'mini_game_ad_monetization_roi_total', label: '小游戏(平台上报)', width: 110 },
+            { title: '小游戏注册首日广告变现成本(平台上报)', serverIndex: 'adgroup_data.mini_game_first_day_ad_paying_cost_total', dataIndex: 'mini_game_first_day_ad_paying_cost_total', label: '小游戏(平台上报)', width: 110 },
+            { title: '小游戏广告变现成本(平台上报)', serverIndex: 'adgroup_data.mini_game_ad_monetization_cost_total', dataIndex: 'mini_game_ad_monetization_cost_total', label: '小游戏(平台上报)', width: 110 },
+            { title: '小游戏注册3日广告变现金额(平台上报)', serverIndex: 'adgroup_data.mini_game_ad_monetization_amount_d3_total', dataIndex: 'mini_game_ad_monetization_amount_d3_total', label: '小游戏(平台上报)', width: 110 },
+            { title: '小游戏注册首日广告变现人数(平台上报)', serverIndex: 'adgroup_data.mini_game_first_day_ad_monetization_users_total', dataIndex: 'mini_game_first_day_ad_monetization_users_total', label: '小游戏(平台上报)', width: 110 },
+            { title: '小游戏注册3日广告变现人数(平台上报)', serverIndex: 'adgroup_data.minigame3d_income_uv_total', dataIndex: 'minigame3d_income_uv_total', label: '小游戏(平台上报)', width: 110 },
+            { title: '小游戏注册7日广告变现人数(平台上报)', serverIndex: 'adgroup_data.minigame7d_income_uv_total', dataIndex: 'minigame7d_income_uv_total', label: '小游戏(平台上报)', width: 110 },
+            { title: '小游戏广告变现人数(平台上报)', serverIndex: 'adgroup_data.mini_game_ad_monetization_users_total', dataIndex: 'mini_game_ad_monetization_users_total', label: '小游戏(平台上报)', width: 110 },
+        ]
+    }
 ]
 
 const qiliangpaihanghour = [
@@ -267,6 +335,73 @@ const dynamicConfig = [
             { title: '点击首日付费ROI', dataIndex: 'cheout_fd_reward', serverIndex: 'calculate_creative_data.cheout_fd_reward', label: '商品转化', width: 80 },
             { title: '点击首日付费金额(平台上报)', dataIndex: 'purchase_pla_clk1d_amount_day', serverIndex: 'creative_data.purchase_pla_clk1d_amount_day', label: '商品转化', width: 100 },
         ]
+    },
+    {
+        label: '其他业务(平台上报指标)',
+        data: [
+            { title: '激活首24小时广告变现ARPPU(平台上报)', serverIndex: 'calculate_creative_data.first_day_ad_pur_arppu_cost24h_pla', dataIndex: 'first_day_ad_pur_arppu_cost24h_pla', label: '其他业务(平台上报指标)', width: 130 },
+            { title: '激活首24小时广告变现ROI(平台上报)', serverIndex: 'calculate_creative_data.income_roi124h_pla', dataIndex: 'income_roi124h_pla', label: '其他业务(平台上报指标)', width: 110 },
+            { title: '激活首24小时广告变现次数(平台上报)', serverIndex: 'creative_data.income_pv24h_pla_day', dataIndex: 'income_pv24h_pla_day', label: '其他业务(平台上报指标)', width: 110 },
+            { title: '激活首日广告变现次数(平台上报)', serverIndex: 'creative_data.income_pv1d_pla_day', dataIndex: 'income_pv1d_pla_day', label: '其他业务(平台上报指标)', width: 110 },
+            { title: '激活3日广告变现次数(平台上报)', serverIndex: 'creative_data.ad_monetization_pla_dedup_active3d_pv_day', dataIndex: 'ad_monetization_pla_dedup_active3d_pv_day', label: '其他业务(平台上报指标)', width: 110 },
+            { title: '激活7日广告变现次数(平台上报)', serverIndex: 'creative_data.minigame7d_income_count_day', dataIndex: 'minigame7d_income_count_day', label: '其他业务(平台上报指标)', width: 110 },
+            { title: '注册3日广告变现次数(平台上报)', serverIndex: 'creative_data.minigame3d_income_count_day', dataIndex: 'minigame3d_income_count_day', label: '其他业务(平台上报指标)', width: 110 },
+            { title: '激活首24小时广告变现金额(平台上报)', serverIndex: 'creative_data.income_val24h_pla_day', dataIndex: 'income_val24h_pla_day', label: '其他业务(平台上报指标)', width: 110 },
+            { title: '注册首日广告变现金额(平台上报)', serverIndex: 'creative_data.mini_game_first_day_ad_monetization_amount_day', dataIndex: 'mini_game_first_day_ad_monetization_amount_day', label: '其他业务(平台上报指标)', width: 120 },
+            { title: '激活7日广告变现金额(平台上报)', serverIndex: 'creative_data.mini_game_ad_monetization_amount_d7_day', dataIndex: 'mini_game_ad_monetization_amount_d7_day', label: '其他业务(平台上报指标)', width: 110 },
+            { title: '激活14日广告变现金额(平台上报)', serverIndex: 'creative_data.mini_game_ad_monetization_amount_d14_day', dataIndex: 'mini_game_ad_monetization_amount_d14_day', label: '其他业务(平台上报指标)', width: 110 },
+            { title: '广告变现金额(平台上报)', serverIndex: 'creative_data.mini_game_ad_monetization_amount_day', dataIndex: 'mini_game_ad_monetization_amount_day', label: '其他业务(平台上报指标)', width: 100 },
+            { title: '激活首24小时广告变现人数(平台上报)', serverIndex: 'creative_data.ad_paying_users24h_pla_day', dataIndex: 'ad_paying_users24h_pla_day', label: '其他业务(平台上报指标)', width: 115 },
+            { title: '激活首日广告变现人数(平台上报)', serverIndex: 'creative_data.ad_monetization_pla_dedup_active1d_pv_day', dataIndex: 'ad_monetization_pla_dedup_active1d_pv_day', label: '其他业务(平台上报指标)', width: 110 },
+            { title: '激活7日变现人数(平台上报)', serverIndex: 'creative_data.ad_monetization_pla_dedup_active7d_pv_day', dataIndex: 'ad_monetization_pla_dedup_active7d_pv_day', label: '其他业务(平台上报指标)', width: 100 }
+        ]
+    },
+    {
+        label: '其他业务(其他指标)',
+        data: [
+            { title: '激活首24小时广告变现ARPPU', serverIndex: 'calculate_creative_data.first_day_ad_pur_arppu_cost24h', dataIndex: 'first_day_ad_pur_arppu_cost24h', label: '其他业务(其他指标)', width: 100 },
+            { title: '激活首日广告变现ARPPU', serverIndex: 'calculate_creative_data.first_day_ad_pur_arppu_cost', dataIndex: 'first_day_ad_pur_arppu_cost', label: '其他业务(其他指标)', width: 90 },
+            { title: '广告变现ARPPU', serverIndex: 'calculate_creative_data.ad_monetization_arppu', dataIndex: 'ad_monetization_arppu', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活首24小时广告变现ROI', serverIndex: 'calculate_creative_data.income_roi124h', dataIndex: 'income_roi124h', label: '其他业务(其他指标)', width: 90 },
+            { title: '激活首日广告变现ROI', serverIndex: 'calculate_creative_data.income_roi1', dataIndex: 'income_roi1', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活3日广告变现ROI', serverIndex: 'calculate_creative_data.income_roi3', dataIndex: 'income_roi3', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活7日广告变现ROI', serverIndex: 'calculate_creative_data.income_roi7', dataIndex: 'income_roi7', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活14日广告变现ROI', serverIndex: 'calculate_creative_data.income_roi14', dataIndex: 'income_roi14', label: '其他业务(其他指标)', width: 80 },
+            { title: '广告变现ROI', serverIndex: 'calculate_creative_data.ad_monetization_roi', dataIndex: 'ad_monetization_roi', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活首日广告变现成本(人数)', serverIndex: 'calculate_creative_data.ad_paying_cost_d1', dataIndex: 'ad_paying_cost_d1', label: '其他业务(其他指标)', width: 100 },
+            { title: '广告变现成本', serverIndex: 'calculate_creative_data.ad_monetization_cost', dataIndex: 'ad_monetization_cost', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活3日广告变现次数', serverIndex: 'creative_data.ad_monetization_active3d_pv_day', dataIndex: 'ad_monetization_active3d_pv_day', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活7日广告变现次数', serverIndex: 'creative_data.ad_monetization_active7d_pv_day', dataIndex: 'ad_monetization_active7d_pv_day', label: '其他业务(其他指标)', width: 80 },
+            { title: '广告变现次数(平台上报)', serverIndex: 'creative_data.income_pv_pla_day', dataIndex: 'income_pv_pla_day', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活首24小时广告变现金额', serverIndex: 'creative_data.income_val24h_day', dataIndex: 'income_val24h_day', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活首日广告变现金额', serverIndex: 'creative_data.income_val1_day', dataIndex: 'income_val1_day', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活3日广告变现金额', serverIndex: 'creative_data.income_val3_day', dataIndex: 'income_val3_day', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活7日广告变现金额', serverIndex: 'creative_data.income_val7_day', dataIndex: 'income_val7_day', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活14日广告变现金额', serverIndex: 'creative_data.income_val14_day', dataIndex: 'income_val14_day', label: '其他业务(其他指标)', width: 80 },
+            { title: '广告变现金额', serverIndex: 'creative_data.ad_monetization_amount_day', dataIndex: 'ad_monetization_amount_day', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活首24小时广告变现人数', serverIndex: 'creative_data.ad_paying_users24h_day', dataIndex: 'ad_paying_users24h_day', label: '其他业务(其他指标)', width: 90 },
+            { title: '激活首日广告变现人数', serverIndex: 'creative_data.ad_paying_users_d1_day', dataIndex: 'ad_paying_users_d1_day', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活3日广告变现人数', serverIndex: 'creative_data.ad_monetization_dedup_active3d_pv_day', dataIndex: 'ad_monetization_dedup_active3d_pv_day', label: '其他业务(其他指标)', width: 80 },
+            { title: '激活7日广告变现人数', serverIndex: 'creative_data.ad_monetization_dedup_active7d_pv_day', dataIndex: 'ad_monetization_dedup_active7d_pv_day', label: '其他业务(其他指标)', width: 80 }
+        ]
+    },
+    {
+        label: '小游戏(平台上报)',
+        data: [
+            { title: '小游戏注册首日广告变现ARPU(平台上报)', serverIndex: 'calculate_creative_data.mini_game_first_day_ad_paying_arpu', dataIndex: 'mini_game_first_day_ad_paying_arpu', label: '小游戏(平台上报)', width: 130 },
+            { title: '小游戏广告变现ARPU(平台上报)', serverIndex: 'calculate_creative_data.mini_game_ad_monetization_arpu', dataIndex: 'mini_game_ad_monetization_arpu', label: '小游戏(平台上报)', width: 110 },
+            { title: '小游戏注册首日广告变现ROI(平台上报)', serverIndex: 'calculate_creative_data.mini_game_income_roi1', dataIndex: 'mini_game_income_roi1', label: '小游戏(平台上报)', width: 110 },
+            { title: '小游戏注册3日广告变现ROI(平台上报)', serverIndex: 'calculate_creative_data.minigame3d_income_roi', dataIndex: 'minigame3d_income_roi', label: '小游戏(平台上报)', width: 110 },
+            { title: '小游戏注册7日广告变现ROI(平台上报)', serverIndex: 'calculate_creative_data.minigame7d_income_roi', dataIndex: 'minigame7d_income_roi', label: '小游戏(平台上报)', width: 110 },
+            { title: '小游戏广告变现ROI(平台上报)', serverIndex: 'calculate_creative_data.mini_game_ad_monetization_roi', dataIndex: 'mini_game_ad_monetization_roi', label: '小游戏(平台上报)', width: 110 },
+            { title: '小游戏注册首日广告变现成本(平台上报)', serverIndex: 'calculate_creative_data.mini_game_first_day_ad_paying_cost', dataIndex: 'mini_game_first_day_ad_paying_cost', label: '小游戏(平台上报)', width: 110 },
+            { title: '小游戏广告变现成本(平台上报)', serverIndex: 'calculate_creative_data.mini_game_ad_monetization_cost', dataIndex: 'mini_game_ad_monetization_cost', label: '小游戏(平台上报)', width: 110 },
+            { title: '小游戏注册3日广告变现金额(平台上报)', serverIndex: 'creative_data.mini_game_ad_monetization_amount_d3_day', dataIndex: 'mini_game_ad_monetization_amount_d3_day', label: '小游戏(平台上报)', width: 110 },
+            { title: '小游戏注册首日广告变现人数(平台上报)', serverIndex: 'creative_data.mini_game_first_day_ad_monetization_users_day', dataIndex: 'mini_game_first_day_ad_monetization_users_day', label: '小游戏(平台上报)', width: 110 },
+            { title: '小游戏注册3日广告变现人数(平台上报)', serverIndex: 'creative_data.minigame3d_income_uv_day', dataIndex: 'minigame3d_income_uv_day', label: '小游戏(平台上报)', width: 110 },
+            { title: '小游戏注册7日广告变现人数(平台上报)', serverIndex: 'creative_data.minigame7d_income_uv_day', dataIndex: 'minigame7d_income_uv_day', label: '小游戏(平台上报)', width: 110 },
+            { title: '小游戏广告变现人数(平台上报)', serverIndex: 'creative_data.mini_game_ad_monetization_users_day', dataIndex: 'mini_game_ad_monetization_users_day', label: '小游戏(平台上报)', width: 110 },
+        ]
     }
 ]
 

+ 2 - 2
src/pages/launchSystemV3/adMonitorListV3/monitor.tsx

@@ -150,9 +150,9 @@ function Monitor(props: { onChange: () => void }) {
         let res = await getCostTrendV3List.run({ ...params, timeUnit: planTimeUnit, sysUserIds: sysUserId, accountIdStr: accountId?.join(), trendColumns })
         if (res?.data) {
             let data = trendColumns.map((field) => {
-                let value: any = {}
+                let value: any = { legendName: LineField[field as keyof typeof LineField] }
                 res?.data?.forEach((item: any, index: number) => {
-                    if (index === 0) value.legendName = LineField[field as keyof typeof LineField];
+                    // if (index === 0) value.legendName = LineField[field as keyof typeof LineField];
                     value[item?.trend_unit] = item?.[field]
                 });
                 return value

+ 621 - 1
src/pages/launchSystemV3/adMonitorListV3/tableDynamicConfig.tsx

@@ -899,9 +899,629 @@ function tableDynamicConfig(
         },
     ]
 
+    let iaaDataArr: ColumnsType<any> = [
+        {
+            title: '激活首24小时广告变现ARPPU(平台上报)',
+            dataIndex: 'first_day_ad_pur_arppu_cost24h_pla',
+            key: 'first_day_ad_pur_arppu_cost24h_pla',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='first_day_ad_pur_arppu_cost24h_pla' />
+            }
+        },
+        {
+            title: '激活首24小时广告变现ROI(平台上报)',
+            dataIndex: 'income_roi124h_pla',
+            key: 'income_roi124h_pla',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                if (b?.income_roi124h_pla !== undefined && b?.income_roi124h_pla !== null) {
+                    return <Statistic value={a ? (a * 100) : 0} precision={2} valueStyle={{ color: '#3f8600' }} suffix="%" />
+                } else {
+                    return '--'
+                }
+            }
+        },
+        {
+            title: '激活首24小时广告变现次数(平台上报)',
+            dataIndex: 'income_pv24h_pla_day',
+            key: 'income_pv24h_pla_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='income_pv24h_pla_day' />
+            }
+        },
+        {
+            title: '激活首日广告变现次数(平台上报)',
+            dataIndex: 'income_pv1d_pla_day',
+            key: 'income_pv1d_pla_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='income_pv1d_pla_day' />
+            }
+        },
+        {
+            title: '激活3日广告变现次数(平台上报)',
+            dataIndex: 'ad_monetization_pla_dedup_active3d_pv_day',
+            key: 'ad_monetization_pla_dedup_active3d_pv_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_monetization_pla_dedup_active3d_pv_day' />
+            }
+        },
+        {
+            title: '激活7日广告变现次数(平台上报)',
+            dataIndex: 'minigame7d_income_count_day',
+            key: 'minigame7d_income_count_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='minigame7d_income_count_day' />
+            }
+        },
+        {
+            title: '注册3日广告变现次数(平台上报)',
+            dataIndex: 'minigame3d_income_count_day',
+            key: 'minigame3d_income_count_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='minigame3d_income_count_day' />
+            }
+        },
+        {
+            title: '激活首24小时广告变现金额(平台上报)',
+            dataIndex: 'income_val24h_pla_day',
+            key: 'income_val24h_pla_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='income_val24h_pla_day' />
+            }
+        },
+        {
+            title: '注册首日广告变现金额(平台上报)',
+            dataIndex: 'mini_game_first_day_ad_monetization_amount_day',
+            key: 'mini_game_first_day_ad_monetization_amount_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='mini_game_first_day_ad_monetization_amount_day' />
+            }
+        },
+        {
+            title: '激活7日广告变现金额(平台上报)',
+            dataIndex: 'mini_game_ad_monetization_amount_d7_day',
+            key: 'mini_game_ad_monetization_amount_d7_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='mini_game_ad_monetization_amount_d7_day' />
+            }
+        },
+        {
+            title: '激活14日广告变现金额(平台上报)',
+            dataIndex: 'mini_game_ad_monetization_amount_d14_day',
+            key: 'mini_game_ad_monetization_amount_d14_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='mini_game_ad_monetization_amount_d14_day' />
+            }
+        },
+        {
+            title: '广告变现金额(平台上报)',
+            dataIndex: 'mini_game_ad_monetization_amount_day',
+            key: 'mini_game_ad_monetization_amount_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='mini_game_ad_monetization_amount_day' />
+            }
+        },
+        {
+            title: '激活首24小时广告变现人数(平台上报)',
+            dataIndex: 'ad_paying_users24h_pla_day',
+            key: 'ad_paying_users24h_pla_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_paying_users24h_pla_day' />
+            }
+        },
+        {
+            title: '激活首日广告变现人数(平台上报)',
+            dataIndex: 'ad_monetization_pla_dedup_active1d_pv_day',
+            key: 'ad_monetization_pla_dedup_active1d_pv_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_monetization_pla_dedup_active1d_pv_day' />
+            }
+        },
+        {
+            title: '激活7日变现人数(平台上报)',
+            dataIndex: 'ad_monetization_pla_dedup_active7d_pv_day',
+            key: 'ad_monetization_pla_dedup_active7d_pv_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_monetization_pla_dedup_active7d_pv_day' />
+            }
+        },
+        {
+            title: '激活首24小时广告变现ARPPU',
+            dataIndex: 'first_day_ad_pur_arppu_cost24h',
+            key: 'first_day_ad_pur_arppu_cost24h',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='first_day_ad_pur_arppu_cost24h' />
+            }
+        },
+        {
+            title: '激活首日广告变现ARPPU',
+            dataIndex: 'first_day_ad_pur_arppu_cost',
+            key: 'first_day_ad_pur_arppu_cost',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='first_day_ad_pur_arppu_cost' />
+            }
+        },
+        {
+            title: '广告变现ARPPU',
+            dataIndex: 'ad_monetization_arppu',
+            key: 'ad_monetization_arppu',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_monetization_arppu' />
+            }
+        },
+        {
+            title: '激活首24小时广告变现ROI',
+            dataIndex: 'income_roi124h',
+            key: 'income_roi124h',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                if (b?.income_roi124h !== undefined && b?.income_roi124h !== null) {
+                    return <Statistic value={a ? (a * 100) : 0} precision={2} valueStyle={{ color: '#3f8600' }} suffix="%" />
+                } else {
+                    return '--'
+                }
+            }
+        },
+        {
+            title: '激活首日广告变现ROI',
+            dataIndex: 'income_roi1',
+            key: 'income_roi1',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                if (b?.income_roi1 !== undefined && b?.income_roi1 !== null) {
+                    return <Statistic value={a ? (a * 100) : 0} precision={2} valueStyle={{ color: '#3f8600' }} suffix="%" />
+                } else {
+                    return '--'
+                }
+            }
+        },
+        {
+            title: '激活3日广告变现ROI',
+            dataIndex: 'income_roi3',
+            key: 'income_roi3',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                if (b?.income_roi3 !== undefined && b?.income_roi3 !== null) {
+                    return <Statistic value={a ? (a * 100) : 0} precision={2} valueStyle={{ color: '#3f8600' }} suffix="%" />
+                } else {
+                    return '--'
+                }
+            }
+        },
+        {
+            title: '激活7日广告变现ROI',
+            dataIndex: 'income_roi7',
+            key: 'income_roi7',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                if (b?.income_roi7 !== undefined && b?.income_roi7 !== null) {
+                    return <Statistic value={a ? (a * 100) : 0} precision={2} valueStyle={{ color: '#3f8600' }} suffix="%" />
+                } else {
+                    return '--'
+                }
+            }
+        },
+        {
+            title: '激活14日广告变现ROI',
+            dataIndex: 'income_roi14',
+            key: 'income_roi14',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                if (b?.income_roi14 !== undefined && b?.income_roi14 !== null) {
+                    return <Statistic value={a ? (a * 100) : 0} precision={2} valueStyle={{ color: '#3f8600' }} suffix="%" />
+                } else {
+                    return '--'
+                }
+            }
+        },
+        {
+            title: '广告变现ROI',
+            dataIndex: 'ad_monetization_roi',
+            key: 'ad_monetization_roi',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                if (b?.ad_monetization_roi !== undefined && b?.ad_monetization_roi !== null) {
+                    return <Statistic value={a ? (a * 100) : 0} precision={2} valueStyle={{ color: '#3f8600' }} suffix="%" />
+                } else {
+                    return '--'
+                }
+            }
+        },
+        {
+            title: '激活首日广告变现成本(人数)',
+            dataIndex: 'ad_paying_cost_d1',
+            key: 'ad_paying_cost_d1',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_paying_cost_d1' />
+            }
+        },
+        {
+            title: '广告变现成本',
+            dataIndex: 'ad_monetization_cost',
+            key: 'ad_monetization_cost',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_monetization_cost' />
+            }
+        },
+        {
+            title: '激活3日广告变现次数',
+            dataIndex: 'ad_monetization_active3d_pv_day',
+            key: 'ad_monetization_active3d_pv_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_monetization_active3d_pv_day' />
+            }
+        },
+        {
+            title: '激活7日广告变现次数',
+            dataIndex: 'ad_monetization_active7d_pv_day',
+            key: 'ad_monetization_active7d_pv_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_monetization_active7d_pv_day' />
+            }
+        },
+        {
+            title: '广告变现次数(平台上报)',
+            dataIndex: 'income_pv_pla_day',
+            key: 'income_pv_pla_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='income_pv_pla_day' />
+            }
+        },
+        {
+            title: '激活首24小时广告变现金额',
+            dataIndex: 'income_val24h_day',
+            key: 'income_val24h_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='income_val24h_day' />
+            }
+        },
+        {
+            title: '激活首日广告变现金额',
+            dataIndex: 'income_val1_day',
+            key: 'income_val1_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='income_val1_day' />
+            }
+        },
+        {
+            title: '激活3日广告变现金额',
+            dataIndex: 'income_val3_day',
+            key: 'income_val3_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='income_val3_day' />
+            }
+        },
+        {
+            title: '激活7日广告变现金额',
+            dataIndex: 'income_val7_day',
+            key: 'income_val7_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='income_val7_day' />
+            }
+        },
+        {
+            title: '激活14日广告变现金额',
+            dataIndex: 'income_val14_day',
+            key: 'income_val14_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='income_val14_day' />
+            }
+        },
+        {
+            title: '广告变现金额',
+            dataIndex: 'ad_monetization_amount_day',
+            key: 'ad_monetization_amount_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_monetization_amount_day' />
+            }
+        },
+        {
+            title: '激活首24小时广告变现人数',
+            dataIndex: 'ad_paying_users24h_day',
+            key: 'ad_paying_users24h_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_paying_users24h_day' />
+            }
+        },
+        {
+            title: '激活首日广告变现人数',
+            dataIndex: 'ad_paying_users_d1_day',
+            key: 'ad_paying_users_d1_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_paying_users_d1_day' />
+            }
+        },
+        {
+            title: '激活3日广告变现人数',
+            dataIndex: 'ad_monetization_dedup_active3d_pv_day',
+            key: 'ad_monetization_dedup_active3d_pv_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_monetization_dedup_active3d_pv_day' />
+            }
+        },
+        {
+            title: '激活7日广告变现人数',
+            dataIndex: 'ad_monetization_dedup_active7d_pv_day',
+            key: 'ad_monetization_dedup_active7d_pv_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_monetization_dedup_active7d_pv_day' />
+            }
+        },
+        {
+            title: '小游戏注册首日广告变现ARPU(平台上报)',
+            dataIndex: 'mini_game_first_day_ad_paying_arpu',
+            key: 'mini_game_first_day_ad_paying_arpu',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='mini_game_first_day_ad_paying_arpu' />
+            }
+        },
+        {
+            title: '小游戏广告变现ARPU(平台上报)',
+            dataIndex: 'mini_game_ad_monetization_arpu',
+            key: 'mini_game_ad_monetization_arpu',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='mini_game_ad_monetization_arpu' />
+            }
+        },
+        {
+            title: '小游戏注册首日广告变现ROI(平台上报)',
+            dataIndex: 'mini_game_income_roi1',
+            key: 'mini_game_income_roi1',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                if (b?.mini_game_income_roi1 !== undefined && b?.mini_game_income_roi1 !== null) {
+                    return <Statistic value={a ? (a * 100) : 0} precision={2} valueStyle={{ color: '#3f8600' }} suffix="%" />
+                } else {
+                    return '--'
+                }
+            }
+        },
+        {
+            title: '小游戏注册3日广告变现ROI(平台上报)',
+            dataIndex: 'minigame3d_income_roi',
+            key: 'minigame3d_income_roi',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                if (b?.minigame3d_income_roi !== undefined && b?.minigame3d_income_roi !== null) {
+                    return <Statistic value={a ? (a * 100) : 0} precision={2} valueStyle={{ color: '#3f8600' }} suffix="%" />
+                } else {
+                    return '--'
+                }
+            }
+        },
+        {
+            title: '小游戏注册7日广告变现ROI(平台上报)',
+            dataIndex: 'minigame7d_income_roi',
+            key: 'minigame7d_income_roi',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                if (b?.minigame7d_income_roi !== undefined && b?.minigame7d_income_roi !== null) {
+                    return <Statistic value={a ? (a * 100) : 0} precision={2} valueStyle={{ color: '#3f8600' }} suffix="%" />
+                } else {
+                    return '--'
+                }
+            }
+        },
+        {
+            title: '小游戏广告变现ROI(平台上报)',
+            dataIndex: 'mini_game_ad_monetization_roi',
+            key: 'mini_game_ad_monetization_roi',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                if (b?.mini_game_ad_monetization_roi !== undefined && b?.mini_game_ad_monetization_roi !== null) {
+                    return <Statistic value={a ? (a * 100) : 0} precision={2} valueStyle={{ color: '#3f8600' }} suffix="%" />
+                } else {
+                    return '--'
+                }
+            }
+        },
+        {
+            title: '小游戏注册首日广告变现成本(平台上报)',
+            dataIndex: 'mini_game_first_day_ad_paying_cost',
+            key: 'mini_game_first_day_ad_paying_cost',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='mini_game_first_day_ad_paying_cost' />
+            }
+        },
+        {
+            title: '小游戏广告变现成本(平台上报)',
+            dataIndex: 'mini_game_ad_monetization_cost',
+            key: 'mini_game_ad_monetization_cost',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='mini_game_ad_monetization_cost' />
+            }
+        },
+        {
+            title: '小游戏注册3日广告变现金额(平台上报)',
+            dataIndex: 'mini_game_ad_monetization_amount_d3_day',
+            key: 'mini_game_ad_monetization_amount_d3_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='mini_game_ad_monetization_amount_d3_day' />
+            }
+        },
+        {
+            title: '小游戏注册首日广告变现人数(平台上报)',
+            dataIndex: 'mini_game_first_day_ad_monetization_users_day',
+            key: 'mini_game_first_day_ad_monetization_users_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='mini_game_first_day_ad_monetization_users_day' />
+            }
+        },
+        {
+            title: '小游戏注册3日广告变现人数(平台上报)',
+            dataIndex: 'minigame3d_income_uv_day',
+            key: 'minigame3d_income_uv_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='minigame3d_income_uv_day' />
+            }
+        },
+        {
+            title: '小游戏注册7日广告变现人数(平台上报)',
+            dataIndex: 'minigame7d_income_uv_day',
+            key: 'minigame7d_income_uv_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='minigame7d_income_uv_day' />
+            }
+        },
+        {
+            title: '小游戏广告变现人数(平台上报)',
+            dataIndex: 'mini_game_ad_monetization_users_day',
+            key: 'mini_game_ad_monetization_users_day',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='mini_game_ad_monetization_users_day' />
+            }
+        },
+    ]
+
     return [
         ...adArr,
-        ...adDataArr
+        ...adDataArr,
+        ...iaaDataArr
     ]
 }
 export default tableDynamicConfig

+ 621 - 1
src/pages/launchSystemV3/adMonitorListV3/tablePlanListConfig.tsx

@@ -774,9 +774,629 @@ function tablePlanConfig(
         },
     ]
 
+    let iaaDataArr: ColumnsType<any> = [
+        {
+            title: '激活首24小时广告变现ARPPU(平台上报)',
+            dataIndex: 'first_day_ad_pur_arppu_cost24h_pla_total',
+            key: 'first_day_ad_pur_arppu_cost24h_pla_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='first_day_ad_pur_arppu_cost24h_pla_total' />
+            }
+        },
+        {
+            title: '激活首24小时广告变现ROI(平台上报)',
+            dataIndex: 'income_roi124h_pla_total',
+            key: 'income_roi124h_pla_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                if (b?.income_roi124h_pla_total !== undefined && b?.income_roi124h_pla_total !== null) {
+                    return <Statistic value={a ? (a * 100) : 0} precision={2} valueStyle={{ color: '#3f8600' }} suffix="%" />
+                } else {
+                    return '--'
+                }
+            }
+        },
+        {
+            title: '激活首24小时广告变现次数(平台上报)',
+            dataIndex: 'income_pv24h_pla_total',
+            key: 'income_pv24h_pla_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='income_pv24h_pla_total' />
+            }
+        },
+        {
+            title: '激活首日广告变现次数(平台上报)',
+            dataIndex: 'income_pv1d_pla_total',
+            key: 'income_pv1d_pla_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='income_pv1d_pla_total' />
+            }
+        },
+        {
+            title: '激活3日广告变现次数(平台上报)',
+            dataIndex: 'ad_monetization_pla_dedup_active3d_pv_total',
+            key: 'ad_monetization_pla_dedup_active3d_pv_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_monetization_pla_dedup_active3d_pv_total' />
+            }
+        },
+        {
+            title: '激活7日广告变现次数(平台上报)',
+            dataIndex: 'minigame7d_income_count_total',
+            key: 'minigame7d_income_count_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='minigame_7d_income_count' />
+            }
+        },
+        {
+            title: '注册3日广告变现次数(平台上报)',
+            dataIndex: 'minigame3d_income_count_total',
+            key: 'minigame3d_income_count_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='minigame3d_income_count_total' />
+            }
+        },
+        {
+            title: '激活首24小时广告变现金额(平台上报)',
+            dataIndex: 'income_val24h_pla_total',
+            key: 'income_val24h_pla_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='income_val24h_pla_total' />
+            }
+        },
+        {
+            title: '注册首日广告变现金额(平台上报)',
+            dataIndex: 'mini_game_first_day_ad_monetization_amount_total',
+            key: 'mini_game_first_day_ad_monetization_amount_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='mini_game_first_day_ad_monetization_amount_total' />
+            }
+        },
+        {
+            title: '激活7日广告变现金额(平台上报)',
+            dataIndex: 'mini_game_ad_monetization_amount_d7_total',
+            key: 'mini_game_ad_monetization_amount_d7_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='mini_game_ad_monetization_amount_d7_total' />
+            }
+        },
+        {
+            title: '激活14日广告变现金额(平台上报)',
+            dataIndex: 'mini_game_ad_monetization_amount_d14_total',
+            key: 'mini_game_ad_monetization_amount_d14_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='mini_game_ad_monetization_amount_d14_total' />
+            }
+        },
+        {
+            title: '广告变现金额(平台上报)',
+            dataIndex: 'mini_game_ad_monetization_amount_total',
+            key: 'mini_game_ad_monetization_amount_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='mini_game_ad_monetization_amount_total' />
+            }
+        },
+        {
+            title: '激活首24小时广告变现人数(平台上报)',
+            dataIndex: 'ad_paying_users24h_pla_total',
+            key: 'ad_paying_users24h_pla_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_paying_users24h_pla_total' />
+            }
+        },
+        {
+            title: '激活首日广告变现人数(平台上报)',
+            dataIndex: 'ad_monetization_pla_dedup_active1d_pv_total',
+            key: 'ad_monetization_pla_dedup_active1d_pv_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_monetization_pla_dedup_active1d_pv_total' />
+            }
+        },
+        {
+            title: '激活7日变现人数(平台上报)',
+            dataIndex: 'ad_monetization_pla_dedup_active7d_pv_total',
+            key: 'ad_monetization_pla_dedup_active7d_pv_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_monetization_pla_dedup_active7d_pv_total' />
+            }
+        },
+        {
+            title: '激活首24小时广告变现ARPPU',
+            dataIndex: 'first_day_ad_pur_arppu_cost24h_total',
+            key: 'first_day_ad_pur_arppu_cost24h_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='first_day_ad_pur_arppu_cost24h_total' />
+            }
+        },
+        {
+            title: '激活首日广告变现ARPPU',
+            dataIndex: 'first_day_ad_pur_arppu_cost_total',
+            key: 'first_day_ad_pur_arppu_cost_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='first_day_ad_pur_arppu_cost_total' />
+            }
+        },
+        {
+            title: '广告变现ARPPU',
+            dataIndex: 'ad_monetization_arppu_total',
+            key: 'ad_monetization_arppu_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_monetization_arppu_total' />
+            }
+        },
+        {
+            title: '激活首24小时广告变现ROI',
+            dataIndex: 'income_roi124h_total',
+            key: 'income_roi124h_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                if (b?.income_roi124h_total !== undefined && b?.income_roi124h_total !== null) {
+                    return <Statistic value={a ? (a * 100) : 0} precision={2} valueStyle={{ color: '#3f8600' }} suffix="%" />
+                } else {
+                    return '--'
+                }
+            }
+        },
+        {
+            title: '激活首日广告变现ROI',
+            dataIndex: 'income_roi1_total',
+            key: 'income_roi1_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                if (b?.income_roi1_total !== undefined && b?.income_roi1_total !== null) {
+                    return <Statistic value={a ? (a * 100) : 0} precision={2} valueStyle={{ color: '#3f8600' }} suffix="%" />
+                } else {
+                    return '--'
+                }
+            }
+        },
+        {
+            title: '激活3日广告变现ROI',
+            dataIndex: 'income_roi3_total',
+            key: 'income_roi3_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                if (b?.income_roi3_total !== undefined && b?.income_roi3_total !== null) {
+                    return <Statistic value={a ? (a * 100) : 0} precision={2} valueStyle={{ color: '#3f8600' }} suffix="%" />
+                } else {
+                    return '--'
+                }
+            }
+        },
+        {
+            title: '激活7日广告变现ROI',
+            dataIndex: 'income_roi7_total',
+            key: 'income_roi7_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                if (b?.income_roi7_total !== undefined && b?.income_roi7_total !== null) {
+                    return <Statistic value={a ? (a * 100) : 0} precision={2} valueStyle={{ color: '#3f8600' }} suffix="%" />
+                } else {
+                    return '--'
+                }
+            }
+        },
+        {
+            title: '激活14日广告变现ROI',
+            dataIndex: 'income_roi14_total',
+            key: 'income_roi14_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                if (b?.income_roi14_total !== undefined && b?.income_roi14_total !== null) {
+                    return <Statistic value={a ? (a * 100) : 0} precision={2} valueStyle={{ color: '#3f8600' }} suffix="%" />
+                } else {
+                    return '--'
+                }
+            }
+        },
+        {
+            title: '广告变现ROI',
+            dataIndex: 'ad_monetization_roi_total',
+            key: 'ad_monetization_roi_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                if (b?.ad_monetization_roi_total !== undefined && b?.ad_monetization_roi_total !== null) {
+                    return <Statistic value={a ? (a * 100) : 0} precision={2} valueStyle={{ color: '#3f8600' }} suffix="%" />
+                } else {
+                    return '--'
+                }
+            }
+        },
+        {
+            title: '激活首日广告变现成本(人数)',
+            dataIndex: 'ad_paying_cost_d1_total',
+            key: 'ad_paying_cost_d1_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_paying_cost_d1_total' />
+            }
+        },
+        {
+            title: '广告变现成本',
+            dataIndex: 'ad_monetization_cost_total',
+            key: 'ad_monetization_cost_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_monetization_cost_total' />
+            }
+        },
+        {
+            title: '激活3日广告变现次数',
+            dataIndex: 'ad_monetization_active3d_pv_total',
+            key: 'ad_monetization_active3d_pv_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_monetization_active3d_pv_total' />
+            }
+        },
+        {
+            title: '激活7日广告变现次数',
+            dataIndex: 'ad_monetization_active7d_pv_total',
+            key: 'ad_monetization_active7d_pv_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_monetization_active7d_pv_total' />
+            }
+        },
+        {
+            title: '广告变现次数(平台上报)',
+            dataIndex: 'income_pv_pla_total',
+            key: 'income_pv_pla_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='income_pv_pla_total' />
+            }
+        },
+        {
+            title: '激活首24小时广告变现金额',
+            dataIndex: 'income_val24h_total',
+            key: 'income_val24h_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='income_val24h_total' />
+            }
+        },
+        {
+            title: '激活首日广告变现金额',
+            dataIndex: 'income_val1_total',
+            key: 'income_val1_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='income_val1_total' />
+            }
+        },
+        {
+            title: '激活3日广告变现金额',
+            dataIndex: 'income_val3_total',
+            key: 'income_val3_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='income_val3_total' />
+            }
+        },
+        {
+            title: '激活7日广告变现金额',
+            dataIndex: 'income_val7_total',
+            key: 'income_val7_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='income_val7_total' />
+            }
+        },
+        {
+            title: '激活14日广告变现金额',
+            dataIndex: 'income_val14_total',
+            key: 'income_val14_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='income_val14_total' />
+            }
+        },
+        {
+            title: '广告变现金额',
+            dataIndex: 'ad_monetization_amount_total',
+            key: 'ad_monetization_amount_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_monetization_amount_total' />
+            }
+        },
+        {
+            title: '激活首24小时广告变现人数',
+            dataIndex: 'ad_paying_users24h_total',
+            key: 'ad_paying_users24h_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_paying_users24h_total' />
+            }
+        },
+        {
+            title: '激活首日广告变现人数',
+            dataIndex: 'ad_paying_users_d1_total',
+            key: 'ad_paying_users_d1_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_paying_users_d1_total' />
+            }
+        },
+        {
+            title: '激活3日广告变现人数',
+            dataIndex: 'ad_monetization_dedup_active3d_pv_total',
+            key: 'ad_monetization_dedup_active3d_pv_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_monetization_dedup_active3d_pv_total' />
+            }
+        },
+        {
+            title: '激活7日广告变现人数',
+            dataIndex: 'ad_monetization_dedup_active7d_pv_total',
+            key: 'ad_monetization_dedup_active7d_pv_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='ad_monetization_dedup_active7d_pv_total' />
+            }
+        },
+        {
+            title: '小游戏注册首日广告变现ARPU(平台上报)',
+            dataIndex: 'mini_game_first_day_ad_paying_arpu_total',
+            key: 'mini_game_first_day_ad_paying_arpu_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='mini_game_first_day_ad_paying_arpu_total' />
+            }
+        },
+        {
+            title: '小游戏广告变现ARPU(平台上报)',
+            dataIndex: 'mini_game_ad_monetization_arpu_total',
+            key: 'mini_game_ad_monetization_arpu_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='mini_game_ad_monetization_arpu_total' />
+            }
+        },
+        {
+            title: '小游戏注册首日广告变现ROI(平台上报)',
+            dataIndex: 'mini_game_income_roi1_total',
+            key: 'mini_game_income_roi1_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                if (b?.mini_game_income_roi1_total !== undefined && b?.mini_game_income_roi1_total !== null) {
+                    return <Statistic value={a ? (a * 100) : 0} precision={2} valueStyle={{ color: '#3f8600' }} suffix="%" />
+                } else {
+                    return '--'
+                }
+            }
+        },
+        {
+            title: '小游戏注册3日广告变现ROI(平台上报)',
+            dataIndex: 'minigame3d_income_roi_total',
+            key: 'minigame3d_income_roi_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                if (b?.minigame3d_income_roi_total !== undefined && b?.minigame3d_income_roi_total !== null) {
+                    return <Statistic value={a ? (a * 100) : 0} precision={2} valueStyle={{ color: '#3f8600' }} suffix="%" />
+                } else {
+                    return '--'
+                }
+            }
+        },
+        {
+            title: '小游戏注册7日广告变现ROI(平台上报)',
+            dataIndex: 'minigame7d_income_roi_total',
+            key: 'minigame7d_income_roi_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                if (b?.minigame7d_income_roi_total !== undefined && b?.minigame7d_income_roi_total !== null) {
+                    return <Statistic value={a ? (a * 100) : 0} precision={2} valueStyle={{ color: '#3f8600' }} suffix="%" />
+                } else {
+                    return '--'
+                }
+            }
+        },
+        {
+            title: '小游戏广告变现ROI(平台上报)',
+            dataIndex: 'mini_game_ad_monetization_roi_total',
+            key: 'mini_game_ad_monetization_roi_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                if (b?.mini_game_ad_monetization_roi_total !== undefined && b?.mini_game_ad_monetization_roi_total !== null) {
+                    return <Statistic value={a ? (a * 100) : 0} precision={2} valueStyle={{ color: '#3f8600' }} suffix="%" />
+                } else {
+                    return '--'
+                }
+            }
+        },
+        {
+            title: '小游戏注册首日广告变现成本(平台上报)',
+            dataIndex: 'mini_game_first_day_ad_paying_cost_total',
+            key: 'mini_game_first_day_ad_paying_cost_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='mini_game_first_day_ad_paying_cost_total' />
+            }
+        },
+        {
+            title: '小游戏广告变现成本(平台上报)',
+            dataIndex: 'mini_game_ad_monetization_cost_total',
+            key: 'mini_game_ad_monetization_cost_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='mini_game_ad_monetization_cost_total' />
+            }
+        },
+        {
+            title: '小游戏注册3日广告变现金额(平台上报)',
+            dataIndex: 'mini_game_ad_monetization_amount_d3_total',
+            key: 'mini_game_ad_monetization_amount_d3_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='mini_game_ad_monetization_amount_d3_total' />
+            }
+        },
+        {
+            title: '小游戏注册首日广告变现人数(平台上报)',
+            dataIndex: 'mini_game_first_day_ad_monetization_users_total',
+            key: 'mini_game_first_day_ad_monetization_users_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='mini_game_first_day_ad_monetization_users_total' />
+            }
+        },
+        {
+            title: '小游戏注册3日广告变现人数(平台上报)',
+            dataIndex: 'minigame3d_income_uv_total',
+            key: 'minigame3d_income_uv_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='minigame3d_income_uv_total' />
+            }
+        },
+        {
+            title: '小游戏注册7日广告变现人数(平台上报)',
+            dataIndex: 'minigame7d_income_uv_total',
+            key: 'minigame7d_income_uv_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='minigame7d_income_uv_total' />
+            }
+        },
+        {
+            title: '小游戏广告变现人数(平台上报)',
+            dataIndex: 'mini_game_ad_monetization_users_total',
+            key: 'mini_game_ad_monetization_users_total',
+            align: 'center',
+            width: 110,
+            sorter: true,
+            render: (a: any, b: any) => {
+                return <StatisticNull data={b} field='mini_game_ad_monetization_users_total' />
+            }
+        },
+    ]
+
     return [
         ...adArr,
-        ...adDataArr
+        ...adDataArr,
+        ...iaaDataArr
     ]
 }
 export default tablePlanConfig

+ 0 - 0
src/pages/launchSystemV3/material/cloudNew/global.less


+ 13 - 0
src/pages/launchSystemV3/material/cloudNew/index.less

@@ -89,6 +89,19 @@
             background-color: #ececec;
             border-top-left-radius: 6px;
             border-top-right-radius: 6px;
+            text-align: center;
+        }
+
+        .body {
+            padding: 6px 10px;
+        }
+
+        .actions {
+            border-top: 1px solid rgba(0, 0, 0, .06);
+            padding: 4px 10px;
+            display: flex;
+            justify-content: space-between;
+            line-height: 22px;
         }
 
         .fotter {

+ 11 - 0
src/pages/launchSystemV3/material/cloudNew/index.tsx

@@ -27,6 +27,7 @@ const CloudNew: React.FC = () => {
     const [folderLoading, setFolderLoading] = useState<boolean>(false)
     const [breadcrumdData, setBreadcrumdData] = useState<CLOUDNEW.BreadcrumdData[]>([{ label: '全部素材', key: 0, currentKey: '0' }])
     const [loadedKeys, setLoadedKeys] = useState<string[]>([])  // 已经加载了的节点
+    const [initialValuesFolder, setInitialValuesFolder] = useState<any>({})
 
     const getFolderList = useAjax((params) => getFolderListApi(params))
     /**********************************/
@@ -106,6 +107,10 @@ const CloudNew: React.FC = () => {
         setBreadcrumdData(newBreadcrumdData)
     };
 
+    const delFolder = (id: number) => {
+
+    }
+
     return <Card
         style={{ height: '100%' }}
         bodyStyle={{ padding: 0, overflow: 'auto hidden', height: '100%' }}
@@ -137,6 +142,11 @@ const CloudNew: React.FC = () => {
                     onAddFolder={() => {
                         setFolderVisible(true)
                     }}
+                    onUpdateFolder={(data) => {
+                        setInitialValuesFolder(data)
+                        setFolderVisible(true)
+                    }}
+                    onDelFolder={delFolder}
                     ref={refMaterial}
                 />
             </DispatchCloudNew.Provider>
@@ -144,6 +154,7 @@ const CloudNew: React.FC = () => {
 
         {/* 文件夹新增修改 */}
         {folderVisible && <ManageFolder
+            initialValues={initialValuesFolder}
             parentIdStr={expandedKeys?.[0] as string || '0'}
             visible={folderVisible}
             onClose={() => {

+ 20 - 10
src/pages/launchSystemV3/material/cloudNew/manageFolder.tsx

@@ -10,6 +10,7 @@ interface Props {
     visible?: boolean
     onChange?: (res: any) => void
     onClose?: () => void
+    initialValues?: any
 }
 
 /**
@@ -17,7 +18,7 @@ interface Props {
  * @param param0 
  * @returns 
  */
-const ManageFolder: React.FC<Props> = ({ parentIdStr = '0', visible, onChange, onClose }) => {
+const ManageFolder: React.FC<Props> = ({ parentIdStr = '0', visible, onChange, onClose, initialValues }) => {
 
     /************************************/
     const [form] = Form.useForm();
@@ -37,17 +38,26 @@ const ManageFolder: React.FC<Props> = ({ parentIdStr = '0', visible, onChange, o
         const parentIdArr = parentIdStr.split('-')
         const parentIdArrLength = parentIdArr.length
         const parentId = Number(parentIdArr[parentIdArrLength - 1])
-        addFolder.run({ ...values, parentId }).then(res => {
-            if (res) {
-                message.success('新增成功')
-                onChange?.(res)
-            }
-        })
+        if (initialValues?.id) {
+            updateFolder.run({ ...values, parentId, id: initialValues.id }).then(res => {
+                if (res) {
+                    message.success('修改成功')
+                    onChange?.(res)
+                }
+            })
+        } else {
+            addFolder.run({ ...values, parentId }).then(res => {
+                if (res) {
+                    message.success('新增成功')
+                    onChange?.(res)
+                }
+            })
+        }
     }
 
 
     return <Modal
-        title={<strong>新增文件夹</strong>}
+        title={<strong>{initialValues?.id ? '修改文件夹' : '新增文件夹'}</strong>}
         open={visible}
         onCancel={onClose}
         footer={null}
@@ -72,7 +82,7 @@ const ManageFolder: React.FC<Props> = ({ parentIdStr = '0', visible, onChange, o
                 message.error(errorFields?.[0]?.errors?.[0])
             }}
             onFinish={handleOk}
-            initialValues={{
+            initialValues={initialValues ? initialValues :{
                 isPublic: true
             }}
         >
@@ -106,7 +116,7 @@ const ManageFolder: React.FC<Props> = ({ parentIdStr = '0', visible, onChange, o
             <Form.Item className="submit_pull">
                 <Space>
                     <Button onClick={onClose}>取消</Button>
-                    <Button type="primary" htmlType="submit" loading={addFolder.loading} className="modalResetCss">
+                    <Button type="primary" htmlType="submit" loading={addFolder.loading || updateFolder.loading} className="modalResetCss">
                         确定
                     </Button>
                 </Space>

+ 24 - 7
src/pages/launchSystemV3/material/cloudNew/material.tsx

@@ -1,14 +1,17 @@
 import React, { forwardRef, Ref, useContext, useEffect, useImperativeHandle, useRef, useState } from "react"
 import style from './index.less'
-import { Breadcrumb, Button, Card, Pagination, Spin } from "antd"
+import { Breadcrumb, Button, Card, Dropdown, Pagination, Spin, Typography } from "antd"
 import { DispatchCloudNew } from "."
 import { getFolderListApi } from "@/services/adqV3/cloudNew"
 import { useAjax } from "@/Hook/useAjax"
 import { useSize } from "ahooks"
+const { Text, Title } = Typography;
 
 interface Props {
     /** 新增文件夹 */
     onAddFolder?: () => void
+    onUpdateFolder?: (data: any) => void
+    onDelFolder?: (id: number) => void
 }
 
 interface MaterialRef {
@@ -18,7 +21,7 @@ interface MaterialRef {
  * 素材列表
  * @returns 
  */
-const Material = forwardRef(({ onAddFolder }: Props, ref1: Ref<MaterialRef>) => {
+const Material = forwardRef(({ onAddFolder, onUpdateFolder, onDelFolder }: Props, ref1: Ref<MaterialRef>) => {
 
     /********************************/
     const { breadcrumdData, setExpandedKeys, setBreadcrumdData, expandedKeys } = useContext(DispatchCloudNew)!;
@@ -90,17 +93,31 @@ const Material = forwardRef(({ onAddFolder }: Props, ref1: Ref<MaterialRef>) =>
                         {folderList.map((item, index) => <div key={index} className={style.content_row} style={{ width: rowNum ? (1 / rowNum * 100) + '%' : 240 }}>
                             <Card
                                 hoverable
-                                className={style.content_col}
+                                bodyStyle={{ padding: 0 }}
+                                className={`${style.content_col}`}
                                 cover={<div style={{ height: 150 }} className={style.content_cover}>
-
+                                    <img src={require('../../../../../public/file.png')} height={'100%'} alt="" />
                                 </div>}
                             >
-                                {/* <Meta title="Europe Street beat" description="www.instagram.com" /> */}
-                                6666
+                                <div className={style.body}>
+                                    <Text ellipsis>{item?.folderName}</Text>
+                                </div>
+                                <div className={style.actions}>
+                                    <div></div>
+                                    <Dropdown menu={{
+                                        items: [
+                                            { label: '编辑', key: 'edit', onClick: () => onUpdateFolder?.(item) },
+                                            { label: <span style={{ color: 'red' }}>删除</span>, key: 'del', onClick: () => onDelFolder?.(item.id) }
+                                        ]
+                                    }}>
+                                        <a onClick={e => e.preventDefault()} style={{ fontSize: 12 }}>
+                                            更多
+                                        </a>
+                                    </Dropdown>
+                                </div>
                             </Card>
                         </div>)}
 
-
                     </div>
                 </div>
             </Spin>

+ 1 - 0
src/services/launchAdq/adAuthorize.ts

@@ -13,6 +13,7 @@ export interface GetAdAccountParams {
     putUserId?: number,
     addV3?: boolean,
     adUnitAccount?: boolean
+    adUnitType?: string
 }
 export async function getAdAccountListApi(data: GetAdAccountParams) {
     return request(api + '/adq/adAccount/accountListOfNovel', {