tableConfigDay.tsx 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544
  1. import WidthEllipsis from "@/components/widthEllipsis"
  2. import { Badge, Progress, Statistic } from "antd"
  3. import React from "react"
  4. import { AD_STATUS_ENUM, BID_MODE_ENUM, PRODUCT_TYPE_ENUM } from "../../const"
  5. import CreativePreview from "../../components/CreativePreview"
  6. import { DELIVERY_MODE_Enum } from "./const"
  7. function columns12(): { label: string, fieldSHow?: { label: string, saveField: string, defaultValue: any[], data: any[] }, data: any[] }[] {
  8. return [
  9. {
  10. label: '腾讯创意基本信息',
  11. data: [
  12. {
  13. title: '广告账号', dataIndex: 'accountId', label: '腾讯创意基本信息', align: 'center', width: 80, default: 2,
  14. render: (a: string) => (<WidthEllipsis value={a} />)
  15. },
  16. {
  17. title: '业务类型', dataIndex: 'productType', label: '腾讯创意基本信息', align: 'center', width: 80, default: 3,
  18. render: (a: string) => (<WidthEllipsis value={PRODUCT_TYPE_ENUM[a as keyof typeof PRODUCT_TYPE_ENUM]} />)
  19. },
  20. {
  21. title: '应用', dataIndex: 'appName', label: '腾讯创意基本信息', align: 'center', width: 100, default: 4,
  22. render: (a: string) => (<WidthEllipsis value={a} />)
  23. },
  24. {
  25. title: '小程序ID', dataIndex: 'mpId', label: '腾讯创意基本信息', align: 'center', width: 100, default: 5,
  26. render: (a: string, b: any) => (<WidthEllipsis isCopy value={a} />)
  27. },
  28. {
  29. title: '投手', dataIndex: 'pitcherName', label: '腾讯创意基本信息', align: 'center', width: 60, default: 6,
  30. render: (a: string) => (<WidthEllipsis value={a} />)
  31. },
  32. {
  33. title: '创意名称', dataIndex: 'dynamicCreativeName', label: '腾讯创意基本信息', align: 'center', width: 120, default: 7,
  34. render: (a: string) => (<WidthEllipsis value={a} />)
  35. },
  36. {
  37. title: '创意ID', dataIndex: 'dynamicCreativeId', label: '腾讯创意基本信息', align: 'center', width: 90, default: 8,
  38. render: (a: string, b: any) => (b?.accountId === '总计' ? '--' : <WidthEllipsis value={a} isCopy />)
  39. },
  40. {
  41. title: '广告名称', dataIndex: 'promotionName', label: '腾讯创意基本信息', align: 'center', width: 120, default: 9,
  42. render: (a: string) => (<WidthEllipsis value={a} />)
  43. },
  44. {
  45. title: '广告ID', dataIndex: 'promotionId', label: '腾讯创意基本信息', align: 'center', width: 90, default: 10,
  46. render: (a: string) => (<WidthEllipsis value={a} isCopy/>)
  47. },
  48. {
  49. title: '广告状态', dataIndex: 'status', label: '腾讯创意基本信息', align: 'center', width: 75, default: 11,
  50. render: (a: string) => (<WidthEllipsis value={AD_STATUS_ENUM[a as keyof typeof AD_STATUS_ENUM]} />)
  51. },
  52. {
  53. title: '投放模式', dataIndex: 'deliveryMode', label: '腾讯创意基本信息', align: 'center', width: 75,
  54. render: (a: string) => (<WidthEllipsis value={DELIVERY_MODE_Enum[a as keyof typeof DELIVERY_MODE_Enum]} />)
  55. },
  56. {
  57. title: '服务商', dataIndex: 'service', label: '腾讯创意基本信息', align: 'center', width: 75,
  58. render: (a: string) => (<WidthEllipsis value={a} />)
  59. },
  60. {
  61. title: '余额', dataIndex: 'balance', label: '腾讯创意基本信息', align: 'right', width: 75, sorter: true, default: 12,
  62. render: (a: string) => <Statistic value={a || 0} precision={2} />
  63. },
  64. {
  65. title: '出价方式', dataIndex: 'pricing', label: '腾讯创意基本信息', align: 'center', width: 70, default: 13,
  66. render: (a: string) => (<WidthEllipsis value={BID_MODE_ENUM[a as keyof typeof BID_MODE_ENUM]} />)
  67. },
  68. {
  69. title: '当前出价', dataIndex: 'cpaBid', label: '腾讯创意基本信息', align: 'center', width: 75, default: 14, sorter: true,
  70. render: (a: string) => <Statistic value={a || 0} />
  71. },
  72. {
  73. title: '深度转化ROI系数', dataIndex: 'roiGoal', label: '腾讯创意基本信息', align: 'right', width: 75, default: 15,
  74. render: (a: string) => <Statistic value={a || 0} />
  75. },
  76. {
  77. title: '广告日预算', dataIndex: 'budget', label: '腾讯创意基本信息', align: 'right', width: 75, default: 16, sorter: true,
  78. render: (a: string) => <Statistic value={a || 0} />
  79. },
  80. {
  81. title: '广告创建时间', dataIndex: 'adTime', label: '基本信息', align: 'center', width: 140,
  82. render: (a: string, b: any) => (<WidthEllipsis value={a} />)
  83. },
  84. {
  85. title: '广告已删除?', dataIndex: 'isDeleted', label: '基本信息', align: 'center', width: 50,
  86. render: (a: number, b: any) => (b?.accountId === '总计' ? '--' : a === 1 ? <Badge status="error" text="是" /> : <Badge status="success" text="否" />)
  87. },
  88. {
  89. title: '创意已删除?', dataIndex: 'dynamicCreativeIsDeleted', label: '基本信息', align: 'center', width: 50, default: 17,
  90. render: (a: number, b: any) => (b?.accountId === '总计' ? '--' : a === 1 ? <Badge status="error" text="是" /> : <Badge status="success" text="否" />)
  91. },
  92. {
  93. title: '创意创建时间', dataIndex: 'dynamicCreativeCreatedTime', label: '基本信息', align: 'center', width: 140,
  94. render: (a: string, b: any) => (<WidthEllipsis value={b?.accountId === '总计' ? '--' : `${a}`} />)
  95. },
  96. {
  97. title: '投放日期', dataIndex: 'startTime', label: '基本信息', align: 'center', width: 180, default: 18,
  98. render: (a: string, b: any) => (<WidthEllipsis value={b?.accountId === '总计' ? '--' : `${a}-${b?.endTime}`} />)
  99. },
  100. {
  101. title: '消耗时间', dataIndex: 'dt', label: '基本信息', align: 'center', width: 90, default: 19,
  102. render: (a: string, b: any) => (<WidthEllipsis value={a} />)
  103. },
  104. {
  105. title: '今日消耗', dataIndex: 'cost', label: '腾讯创意基本信息', align: 'center', width: 85, default: 20, sorter: true,
  106. className: 'padding_0',
  107. render: (a: number) => <div style={{ height: 27, position: 'relative' }}>
  108. <Progress
  109. strokeColor={{
  110. from: '#ff5900',
  111. to: '#ffd380',
  112. }}
  113. status="active"
  114. showInfo={false}
  115. percent={a ? a / 20000 * 100 : 0}
  116. />
  117. <span style={{ position: 'absolute', left: 0, top: 2, bottom: 0, right: 0, padding: '0 5px' }}><Statistic value={a || 0} valueStyle={a >= 20000 ? { color: '#000', fontWeight: 500 } : { fontWeight: 500 }} /></span>
  118. </div>
  119. },
  120. {
  121. title: '广告总消耗', dataIndex: 'totalCost', label: '腾讯创意基本信息', align: 'center', width: 85, default: 21, sorter: true,
  122. className: 'padding_0',
  123. render: (a: number) => <div style={{ height: 27, position: 'relative' }}>
  124. <Progress
  125. strokeColor={{
  126. from: '#10c1e9',
  127. to: '#6892d0',
  128. }}
  129. status="active"
  130. showInfo={false}
  131. percent={a ? a / 20000 * 100 : 0}
  132. />
  133. <span style={{ position: 'absolute', left: 0, top: 2, bottom: 0, right: 0, padding: '0 5px' }}><Statistic value={a || 0} valueStyle={a >= 20000 ? { color: '#000', fontWeight: 500 } : { fontWeight: 500 }} /></span>
  134. </div>
  135. },
  136. {
  137. title: '点击量', dataIndex: 'validClickCount', label: '腾讯创意基本信息', align: 'center', width: 70, default: 22, sorter: true,
  138. render: (a: string) => <Statistic value={a || 0} />
  139. },
  140. {
  141. title: '点击率', dataIndex: 'ctr', label: '腾讯创意基本信息', align: 'center', width: 70, default: 23, sorter: true,
  142. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  143. },
  144. {
  145. title: '曝光量', dataIndex: 'viewCount', label: '腾讯创意基本信息', align: 'center', width: 70, default: 24, sorter: true,
  146. render: (a: string) => <Statistic value={a || 0} />
  147. },
  148. {
  149. title: '千次曝光成本', dataIndex: 'thousandDisplayPrice', label: '腾讯创意基本信息', align: 'right', width: 65, default: 25, sorter: true,
  150. render: (a: string) => <Statistic value={a || 0} precision={2} />
  151. },
  152. {
  153. title: '点击均价', dataIndex: 'cpc', label: '腾讯创意基本信息', align: 'center', width: 65, default: 26, sorter: true,
  154. render: (a: string) => <Statistic value={a || 0} precision={2} />
  155. },
  156. {
  157. title: '转化目标', dataIndex: 'convertTarget', label: '基本信息', align: 'center', width: 65, default: 27, sorter: true,
  158. render: (a: string) => (<WidthEllipsis value={a} />)
  159. },
  160. {
  161. title: '转化目标量', dataIndex: 'conversionsCount', label: '基本信息', align: 'center', width: 65, default: 28, sorter: true,
  162. render: (a: string) => <Statistic value={a || 0} />
  163. },
  164. {
  165. title: '转化目标成本', dataIndex: 'convertCost', label: '基本信息', align: 'center', width: 65, default: 29, sorter: true,
  166. render: (a: string) => <Statistic value={a || 0} precision={2} />
  167. },
  168. {
  169. title: '转化目标率', dataIndex: 'convertRate', label: '腾讯创意基本信息', align: 'center', width: 70, default: 30, sorter: true,
  170. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  171. },
  172. {
  173. title: '小游戏注册人数', dataIndex: 'miniGameRegisterUsers', label: '基本信息', align: 'center', width: 80, default: 31, sorter: true,
  174. render: (a: string) => <Statistic value={a || 0} />
  175. },
  176. {
  177. title: '小游戏注册成本', dataIndex: 'miniGameRegisterCost', label: '基本信息', align: 'center', width: 80, default: 32, sorter: true,
  178. render: (a: string) => <Statistic value={a || 0} precision={2} />
  179. },
  180. {
  181. title: '小游戏注册率', dataIndex: 'miniGameRegisterRate', label: '腾讯创意基本信息', align: 'center', width: 75, default: 33, sorter: true,
  182. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  183. }
  184. ]
  185. },
  186. {
  187. label: 'IAA补充指标',
  188. data: [
  189. {
  190. title: '首日ROI', dataIndex: 'firstRoi', label: 'IAA补充指标', align: 'center', width: 80, sorter: true, className: 'redColorClass',
  191. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  192. },
  193. {
  194. title: '24小时ROI', dataIndex: 'twentyFourHoursRoi', label: 'IAA补充指标', align: 'center', width: 80, sorter: true, className: 'redColorClass',
  195. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  196. },
  197. {
  198. title: '总ROI', dataIndex: 'totalRoi', label: 'IAA补充指标', align: 'center', width: 80, sorter: true, className: 'redColorClass',
  199. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  200. },
  201. {
  202. title: '广告总ROI', dataIndex: 'promotionTotalRoi', label: 'IAA补充指标', align: 'center', width: 80, sorter: true, className: 'redColorClass',
  203. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  204. }
  205. ]
  206. },
  207. {
  208. label: '其他业务(平台上报指标)',
  209. data: [
  210. {
  211. title: '激活首24小时广告变现ARPPU(平台上报)', dataIndex: 'firstDayAdPurArppuCost24hPla', label: '其他业务(平台上报指标)', width: 130, align: 'center', sorter: true, className: 'green2ColorClass',
  212. render: (a: string) => <Statistic value={a || 0} />
  213. },
  214. {
  215. title: '激活首24小时广告变现ROI(平台上报)', dataIndex: 'incomeRoi124hPla', label: '其他业务(平台上报指标)', width: 110, align: 'center', sorter: true, className: 'green2ColorClass',
  216. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  217. },
  218. {
  219. title: '激活首24小时广告变现次数(平台上报)', dataIndex: 'incomePv24hPla', label: '其他业务(平台上报指标)', width: 110, align: 'center', sorter: true, className: 'green2ColorClass',
  220. render: (a: string) => <Statistic value={a || 0} />
  221. },
  222. {
  223. title: '激活首日广告变现次数(平台上报)', dataIndex: 'incomePv1dPla', label: '其他业务(平台上报指标)', width: 110, align: 'center', sorter: true, className: 'green2ColorClass',
  224. render: (a: string) => <Statistic value={a || 0} />
  225. },
  226. {
  227. title: '激活3日广告变现次数(平台上报)', dataIndex: 'adMonetizationPlaDedupActive3dPv', label: '其他业务(平台上报指标)', width: 110, align: 'center', sorter: true, className: 'green2ColorClass',
  228. render: (a: string) => <Statistic value={a || 0} />
  229. },
  230. {
  231. title: '激活7日广告变现次数(平台上报)', dataIndex: 'minigame7dIncomeCount', label: '其他业务(平台上报指标)', width: 110, align: 'center', sorter: true, className: 'green2ColorClass',
  232. render: (a: string) => <Statistic value={a || 0} />
  233. },
  234. {
  235. title: '注册3日广告变现次数(平台上报)', dataIndex: 'minigame3dIncomeCount', label: '其他业务(平台上报指标)', width: 110, align: 'center', sorter: true, className: 'green2ColorClass',
  236. render: (a: string) => <Statistic value={a || 0} />
  237. },
  238. {
  239. title: '激活首24小时广告变现金额(平台上报)', dataIndex: 'incomeVal24hPla', label: '其他业务(平台上报指标)', width: 110, align: 'center', sorter: true, className: 'green2ColorClass',
  240. render: (a: string) => <Statistic value={a || 0} precision={2} />
  241. },
  242. {
  243. title: '注册首日广告变现金额(平台上报)', dataIndex: 'miniGameFirstDayAdMonetizationAmount', label: '其他业务(平台上报指标)', width: 120, align: 'center', sorter: true, className: 'green2ColorClass',
  244. render: (a: string) => <Statistic value={a || 0} precision={2} />
  245. },
  246. {
  247. title: '注册7日广告变现金额(平台上报)', dataIndex: 'miniGameAdMonetizationAmountD7', label: '其他业务(平台上报指标)', width: 110, align: 'center', sorter: true, className: 'green2ColorClass',
  248. render: (a: string) => <Statistic value={a || 0} precision={2} />
  249. },
  250. {
  251. title: '激活14日广告变现金额(平台上报)', dataIndex: 'miniGameAdMonetizationAmountD14', label: '其他业务(平台上报指标)', width: 110, align: 'center', sorter: true, className: 'green2ColorClass',
  252. render: (a: string) => <Statistic value={a || 0} precision={2} />
  253. },
  254. {
  255. title: '广告变现金额(平台上报)', dataIndex: 'miniGameAdMonetizationAmount', label: '其他业务(平台上报指标)', width: 100, align: 'center', sorter: true, className: 'green2ColorClass',
  256. render: (a: string) => <Statistic value={a || 0} precision={2} />
  257. },
  258. {
  259. title: '激活首24小时广告变现人数(平台上报)', dataIndex: 'adPayingUsers24hPla', label: '其他业务(平台上报指标)', width: 115, align: 'center', sorter: true, className: 'green2ColorClass',
  260. render: (a: string) => <Statistic value={a || 0} />
  261. },
  262. {
  263. title: '激活首日广告变现人数(平台上报)', dataIndex: 'adMonetizationPlaDedupActive1dPv', label: '其他业务(平台上报指标)', width: 110, align: 'center', sorter: true, className: 'green2ColorClass',
  264. render: (a: string) => <Statistic value={a || 0} />
  265. },
  266. {
  267. title: '激活7日变现人数(平台上报)', dataIndex: 'adMonetizationPlaDedupActive7dPv', label: '其他业务(平台上报指标)', width: 100, align: 'center', sorter: true, className: 'green2ColorClass',
  268. render: (a: string) => <Statistic value={a || 0} />
  269. }
  270. ]
  271. },
  272. {
  273. label: '其他业务(其他指标)',
  274. data: [
  275. {
  276. title: '激活首24小时广告变现ARPPU', dataIndex: 'firstDayAdPurArppuCost24h', label: '其他业务(其他指标)', width: 100, align: 'center', sorter: true, className: 'volcanoColorClass',
  277. render: (a: string) => <Statistic value={a || 0} />
  278. },
  279. {
  280. title: '激活首日广告变现ARPPU', dataIndex: 'firstDayAdPurArppuCost', label: '其他业务(其他指标)', width: 90, align: 'center', sorter: true, className: 'volcanoColorClass',
  281. render: (a: string) => <Statistic value={a || 0} />
  282. },
  283. {
  284. title: '广告变现ARPPU', dataIndex: 'adMonetizationArppu', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  285. render: (a: string) => <Statistic value={a || 0} />
  286. },
  287. {
  288. title: '激活首24小时广告变现ROI', dataIndex: 'incomeRoi124h', label: '其他业务(其他指标)', width: 90, align: 'center', sorter: true, className: 'volcanoColorClass',
  289. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  290. },
  291. {
  292. title: '激活首日广告变现ROI', dataIndex: 'incomeRoi1', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  293. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  294. },
  295. {
  296. title: '激活3日广告变现ROI', dataIndex: 'incomeRoi3', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  297. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  298. },
  299. {
  300. title: '激活7日广告变现ROI', dataIndex: 'incomeRoi7', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  301. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  302. },
  303. {
  304. title: '激活14日广告变现ROI', dataIndex: 'incomeRoi14', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  305. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  306. },
  307. {
  308. title: '广告变现ROI', dataIndex: 'adMonetizationRoi', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  309. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  310. },
  311. {
  312. title: '激活首日广告变现成本(人数)', dataIndex: 'adPayingCostD1', label: '其他业务(其他指标)', width: 100, align: 'center', sorter: true, className: 'volcanoColorClass',
  313. render: (a: string) => <Statistic value={a || 0} precision={2} />
  314. },
  315. {
  316. title: '广告变现成本', dataIndex: 'adMonetizationCost', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  317. render: (a: string) => <Statistic value={a || 0} precision={2} />
  318. },
  319. {
  320. title: '激活3日广告变现次数', dataIndex: 'adMonetizationActive3dPv', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  321. render: (a: string) => <Statistic value={a || 0} />
  322. },
  323. {
  324. title: '激活7日广告变现次数', dataIndex: 'adMonetizationActive7dPv', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  325. render: (a: string) => <Statistic value={a || 0} />
  326. },
  327. {
  328. title: '广告变现次数(平台上报)', dataIndex: 'incomePvPla', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  329. render: (a: string) => <Statistic value={a || 0} />
  330. },
  331. {
  332. title: '激活首24小时广告变现金额', dataIndex: 'incomeVal24h', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  333. render: (a: string) => <Statistic value={a || 0} precision={2} />
  334. },
  335. {
  336. title: '激活首日广告变现金额', dataIndex: 'incomeVal1', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  337. render: (a: string) => <Statistic value={a || 0} precision={2} />
  338. },
  339. {
  340. title: '激活3日广告变现金额', dataIndex: 'incomeVal3', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  341. render: (a: string) => <Statistic value={a || 0} precision={2} />
  342. },
  343. {
  344. title: '激活7日广告变现金额', dataIndex: 'incomeVal7', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  345. render: (a: string) => <Statistic value={a || 0} precision={2} />
  346. },
  347. {
  348. title: '激活14日广告变现金额', dataIndex: 'incomeVal14', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  349. render: (a: string) => <Statistic value={a || 0} precision={2} />
  350. },
  351. {
  352. title: '广告变现金额', dataIndex: 'adMonetizationAmount', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  353. render: (a: string) => <Statistic value={a || 0} precision={2} />
  354. },
  355. {
  356. title: '激活首24小时广告变现人数', dataIndex: 'adPayingUsers24h', label: '其他业务(其他指标)', width: 90, align: 'center', sorter: true, className: 'volcanoColorClass',
  357. render: (a: string) => <Statistic value={a || 0} />
  358. },
  359. {
  360. title: '激活首日广告变现人数', dataIndex: 'adPayingUsersD1', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  361. render: (a: string) => <Statistic value={a || 0} />
  362. },
  363. {
  364. title: '激活3日广告变现人数', dataIndex: 'adMonetizationDedupActive3dPv', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  365. render: (a: string) => <Statistic value={a || 0} />
  366. },
  367. {
  368. title: '激活7日广告变现人数', dataIndex: 'adMonetizationDedupActive7dPv', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  369. render: (a: string) => <Statistic value={a || 0} />
  370. },
  371. {
  372. title: '注册次数', dataIndex: 'regPv', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  373. render: (a: string) => <Statistic value={a || 0} />
  374. },
  375. {
  376. title: '注册人数', dataIndex: 'regDedupPv', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  377. render: (a: string) => <Statistic value={a || 0} />
  378. },
  379. {
  380. title: '注册成本', dataIndex: 'regCost', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  381. render: (a: string) => <Statistic value={a || 0} precision={2} />
  382. },
  383. {
  384. title: 'APP激活次数', dataIndex: 'activatedCount', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  385. render: (a: string) => <Statistic value={a || 0} />
  386. },
  387. {
  388. title: 'APP点击激活率', dataIndex: 'clickActivatedRate', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  389. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  390. },
  391. {
  392. title: 'APP激活成本', dataIndex: 'activatedCost', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  393. render: (a: string) => <Statistic value={a || 0} precision={2} />
  394. },
  395. {
  396. title: '激活注册率', dataIndex: 'activateRegisterRate', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  397. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  398. },
  399. {
  400. title: '次日留存次数', dataIndex: 'retentionCount', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  401. render: (a: string) => <Statistic value={a || 0} />
  402. },
  403. {
  404. title: '次日留存人数', dataIndex: 'miniGameRetentionD1', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  405. render: (a: string) => <Statistic value={a || 0} />
  406. },
  407. {
  408. title: '次日留存率', dataIndex: 'retentionRate', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  409. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  410. },
  411. {
  412. title: '次日留存成本', dataIndex: 'retentionCost', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  413. render: (a: string) => <Statistic value={a || 0} precision={2} />
  414. },
  415. {
  416. title: '关键页面次日留存率', dataIndex: 'appKeyPageRetentionRate', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  417. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  418. },
  419. {
  420. title: '小游戏次日留存率', dataIndex: 'miniGameRetentionD1Rate', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  421. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  422. },
  423. {
  424. title: '小游戏次日留存成本', dataIndex: 'miniGameRetentionD1Cost', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  425. render: (a: string) => <Statistic value={a || 0} precision={2} />
  426. },
  427. {
  428. title: '3日留存人数', dataIndex: 'appRetentionD3Uv', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  429. render: (a: string) => <Statistic value={a || 0} />
  430. },
  431. {
  432. title: '3日留存成本(人数)', dataIndex: 'appRetentionD3Cost', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  433. render: (a: string) => <Statistic value={a || 0} precision={2} />
  434. },
  435. {
  436. title: '3日留存率(人数)', dataIndex: 'appRetentionD3Rate', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  437. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  438. },
  439. {
  440. title: '5日留存人数', dataIndex: 'appRetentionD5Uv', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  441. render: (a: string) => <Statistic value={a || 0} />
  442. },
  443. {
  444. title: '5日留存成本(人数)', dataIndex: 'appRetentionD5Cost', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  445. render: (a: string) => <Statistic value={a || 0} precision={2} />
  446. },
  447. {
  448. title: '5日留存率(人数)', dataIndex: 'appRetentionD5Rate', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  449. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  450. },
  451. {
  452. title: '7日留存人数', dataIndex: 'appRetentionD7Uv', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  453. render: (a: string) => <Statistic value={a || 0} />
  454. },
  455. {
  456. title: '7日留存成本(人数)', dataIndex: 'appRetentionD7Cost', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  457. render: (a: string) => <Statistic value={a || 0} precision={2} />
  458. },
  459. {
  460. title: '7日留存率(人数)', dataIndex: 'appRetentionD7Rate', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  461. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  462. },
  463. ]
  464. },
  465. {
  466. label: '小游戏(平台上报)',
  467. data: [
  468. {
  469. title: '小游戏注册首日广告变现ARPU(平台上报)', dataIndex: 'miniGameFirstDayAdPayingArpu', label: '小游戏(平台上报)', width: 130, align: 'center', sorter: true, className: 'purple1ColorClass',
  470. render: (a: string) => <Statistic value={a || 0} />
  471. },
  472. {
  473. title: '小游戏广告变现ARPU(平台上报)', dataIndex: 'miniGameAdMonetizationArpu', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  474. render: (a: string) => <Statistic value={a || 0} />
  475. },
  476. {
  477. title: '小游戏注册首日广告变现ROI(平台上报)', dataIndex: 'miniGameIncomeRoi1', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  478. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  479. },
  480. {
  481. title: '小游戏注册3日广告变现ROI(平台上报)', dataIndex: 'minigame3dIncomeRoi', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  482. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  483. },
  484. {
  485. title: '小游戏注册7日广告变现ROI(平台上报)', dataIndex: 'minigame7dIncomeRoi', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  486. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  487. },
  488. {
  489. title: '小游戏广告变现ROI(平台上报)', dataIndex: 'miniGameAdMonetizationRoi', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  490. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  491. },
  492. {
  493. title: '小游戏注册首日广告变现成本(平台上报)', dataIndex: 'miniGameFirstDayAdPayingCost', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  494. render: (a: string) => <Statistic value={a || 0} precision={2} />
  495. },
  496. {
  497. title: '小游戏广告变现成本(平台上报)', dataIndex: 'miniGameAdMonetizationCost', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  498. render: (a: string) => <Statistic value={a || 0} precision={2} />
  499. },
  500. {
  501. title: '小游戏注册3日广告变现金额(平台上报)', dataIndex: 'miniGameAdMonetizationAmountD3', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  502. render: (a: string) => <Statistic value={a || 0} precision={2} />
  503. },
  504. {
  505. title: '小游戏注册首日广告变现人数(平台上报)', dataIndex: 'miniGameFirstDayAdMonetizationUsers', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  506. render: (a: string) => <Statistic value={a || 0} />
  507. },
  508. {
  509. title: '小游戏注册3日广告变现人数(平台上报)', dataIndex: 'minigame3dIncomeUv', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  510. render: (a: string) => <Statistic value={a || 0} />
  511. },
  512. {
  513. title: '小游戏注册7日广告变现人数(平台上报)', dataIndex: 'minigame7dIncomeUv', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  514. render: (a: string) => <Statistic value={a || 0} />
  515. },
  516. {
  517. title: '小游戏广告变现人数(平台上报)', dataIndex: 'miniGameAdMonetizationUsers', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  518. render: (a: string) => <Statistic value={a || 0} />
  519. },
  520. {
  521. title: '注册次数(平台上报)', dataIndex: 'regPlaPv', label: '小游戏(平台上报)', width: 90, align: 'center', sorter: true, className: 'purple1ColorClass',
  522. render: (a: string) => <Statistic value={a || 0} />
  523. },
  524. {
  525. title: '注册人数(平台上报+广告主上报)', dataIndex: 'regAllDedupPv', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  526. render: (a: string) => <Statistic value={a || 0} />
  527. },
  528. {
  529. title: '注册成本(平台上报+广告主上报)', dataIndex: 'regCostPla', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  530. render: (a: string) => <Statistic value={a || 0} precision={2} />
  531. },
  532. {
  533. title: '注册率(平台上报+广告主上报)', dataIndex: 'regClickRatePla', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  534. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  535. },
  536. ]
  537. }
  538. ]
  539. }
  540. export default columns12