tableConfig.tsx 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433
  1. import { gameClassifyEnum } from "@/components/QueryForm/const"
  2. import WidthEllipsis from "@/components/widthEllipsis"
  3. import { Statistic } from "antd"
  4. import React from "react"
  5. function columns12(): { label: string, fieldSHow?: { label: string, saveField: string, defaultValue: any[], data: any[] }, data: any[] }[] {
  6. return [
  7. {
  8. label: '游戏信息',
  9. data: [
  10. { title: '推广游戏名称', dataIndex: 'gameName', label: '游戏信息', align: 'center', width: 70, default: 1, render: (a: string, b: any) => (<WidthEllipsis isCopy value={a} />) },
  11. {
  12. title: '推广游戏应用类型', dataIndex: 'gameClassify', label: '游戏信息', align: 'center', width: 85,
  13. render: (a: string) => <WidthEllipsis value={gameClassifyEnum[a]} />
  14. }
  15. ]
  16. },
  17. {
  18. label: '消耗',
  19. data: [
  20. {
  21. title: '消耗', dataIndex: 'cost', label: '消耗', align: 'center', width: 90, sorter: true, default: 2,
  22. render: (a: string) => <Statistic value={a || 0} />
  23. }
  24. ]
  25. },
  26. {
  27. label: '买量用户数据',
  28. data: [
  29. { title: '买量注册人数', dataIndex: 'buyRegNum', label: '买量用户数据', align: 'center', width: 70, sorter: true },
  30. {
  31. title: '买量注册成本', dataIndex: 'buyRegCost', label: '买量用户数据', align: 'center', width: 70, sorter: true,
  32. render: (a: string) => <Statistic value={a || 0} />
  33. }
  34. ]
  35. },
  36. {
  37. label: '自然量用户数据',
  38. data: [
  39. { title: '自然量注册人数', dataIndex: 'natureRegNum', label: '自然量用户数据', align: 'center', width: 70, sorter: true },
  40. {
  41. title: '自然量注册成本', dataIndex: 'natureRegCost', label: '自然量用户数据', align: 'center', width: 70, sorter: true,
  42. render: (a: string) => <Statistic value={a || 0} />
  43. }
  44. ]
  45. },
  46. {
  47. label: '总用户数据',
  48. data: [
  49. { title: '总注册人数', dataIndex: 'regNum', label: '总用户数据', align: 'center', width: 70, sorter: true, default: 3 },
  50. {
  51. title: '总注册成本', dataIndex: 'regCost', label: '总用户数据', align: 'center', width: 70, sorter: true, default: 4,
  52. render: (a: string) => <Statistic value={a || 0} />
  53. }
  54. ]
  55. },
  56. {
  57. label: '买量付费数据',
  58. data: [
  59. { title: '买量新用户充值次数', dataIndex: 'buyNewUserAmountCount', label: '买量付费数据', align: 'center', width: 70 },
  60. { title: '买量新用户充值人数', dataIndex: 'buyNewUserAmountNum', label: '买量付费数据', align: 'center', width: 70 },
  61. {
  62. title: '买量新用户充值金额', dataIndex: 'buyNewUserAmount', label: '买量付费数据', align: 'center', width: 70,
  63. render: (a: string) => <Statistic value={a || 0} />
  64. },
  65. {
  66. title: '买量新用户充值成本', dataIndex: 'buyNewUserRechargeCost', label: '买量付费数据', align: 'center', width: 70,
  67. render: (a: string) => <Statistic value={a || 0} />
  68. },
  69. {
  70. title: '买量新用户回收率', dataIndex: 'buyNewUserRechargeRate', label: '买量付费数据', align: 'center', width: 70,
  71. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  72. },
  73. { title: '买量首日新用户充值次数', dataIndex: 'buyFirstNewUserAmountCount', label: '买量付费数据', align: 'center', width: 70, sorter: true },
  74. { title: '买量首日新用户充值人数', dataIndex: 'buyFirstNewUserAmountNum', label: '买量付费数据', align: 'center', width: 70, sorter: true },
  75. {
  76. title: '买量首日新用户充值金额', dataIndex: 'buyFirstNewUserAmount', label: '买量付费数据', align: 'center', width: 70, sorter: true,
  77. render: (a: string) => <Statistic value={a || 0} />
  78. },
  79. { title: '买量老用户充值次数', dataIndex: 'buyOldUserCount', label: '买量付费数据', align: 'center', width: 70 },
  80. { title: '买量老用户充值人数', dataIndex: 'buyOldUserNum', label: '买量付费数据', align: 'center', width: 70 },
  81. {
  82. title: '买量老用户充值金额', dataIndex: 'buyOldUserAmount', label: '买量付费数据', align: 'center', width: 80,
  83. render: (a: string) => <Statistic value={a || 0} />
  84. },
  85. { title: '买量账面充值次数', dataIndex: 'buyAmountCount', label: '买量付费数据', align: 'center', width: 70 },
  86. { title: '买量账面充值人数', dataIndex: 'buyAmountNum', label: '买量付费数据', align: 'center', width: 70 },
  87. {
  88. title: '买量账面充值金额', dataIndex: 'buyAmount', label: '买量付费数据', align: 'center', width: 80,
  89. render: (a: string) => <Statistic value={a || 0} />
  90. },
  91. { title: '买量新用户累计充值次数', dataIndex: 'buyNewUserTotalAmountCount', label: '买量付费数据', align: 'center', width: 70, sorter: true },
  92. { title: '买量新用户累计充值人数', dataIndex: 'buyNewUserTotalAmountNum', label: '买量付费数据', align: 'center', width: 70, sorter: true },
  93. {
  94. title: '买量新用户累计充值金额', dataIndex: 'buyNewUserTotalAmount', label: '买量付费数据', align: 'center', width: 70, sorter: true,
  95. render: (a: string) => <Statistic value={a || 0} />
  96. },
  97. {
  98. title: '买量首日充值成本', dataIndex: 'buyFirstNewUserRechargeCost', label: '买量付费数据', align: 'center', width: 70, sorter: true,
  99. render: (a: string) => <Statistic value={a || 0} />
  100. },
  101. {
  102. title: '买量总充值成本', dataIndex: 'buyTotalRechargeCost', label: '买量付费数据', align: 'center', width: 70, sorter: true,
  103. render: (a: string) => <Statistic value={a || 0} />
  104. },
  105. {
  106. title: '买量首日ROI', dataIndex: 'buyFirstRoi', label: '买量付费数据', align: 'center', width: 70, sorter: true,
  107. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  108. },
  109. {
  110. title: '买量总ROI', dataIndex: 'buyTotalRoi', label: '买量付费数据', align: 'center', width: 70, sorter: true,
  111. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  112. },
  113. {
  114. title: '买量首日付费率', dataIndex: 'buyFirstAmountRate', label: '买量付费数据', align: 'center', width: 70, sorter: true,
  115. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  116. },
  117. {
  118. title: '买量新用户付费率', dataIndex: 'buyNewUserRoi', label: '买量付费数据', align: 'center', width: 70,
  119. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  120. },
  121. {
  122. title: '买量当天付费率', dataIndex: 'buyTodayAmountRate', label: '买量付费数据', align: 'center', width: 70, sorter: true,
  123. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  124. },
  125. {
  126. title: '买量新用户付费比', dataIndex: 'buyNewUserRate', label: '买量付费数据', align: 'center', width: 70,
  127. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  128. },
  129. {
  130. title: '买量首日客单价', dataIndex: 'buyFirstAvgAmount', label: '买量付费数据', align: 'center', width: 70, sorter: true,
  131. render: (a: string) => <Statistic value={a || 0} />
  132. },
  133. {
  134. title: '买量新用户客单价', dataIndex: 'buyNewUserAvgAmount', label: '买量付费数据', align: 'center', width: 70,
  135. render: (a: string) => <Statistic value={a || 0} />
  136. },
  137. {
  138. title: '买量当天客单价', dataIndex: 'buyTodayAvgAmount', label: '买量付费数据', align: 'center', width: 70, sorter: true,
  139. render: (a: string) => <Statistic value={a || 0} />
  140. },
  141. {
  142. title: '买量账面客单价', dataIndex: 'buyAvgAmount', label: '买量付费数据', align: 'center', width: 70,
  143. render: (a: string) => <Statistic value={a || 0} />
  144. },
  145. {
  146. title: '买量复充率', dataIndex: 'buyUserAgainRate', label: '买量付费数据', align: 'center', width: 70,
  147. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  148. },
  149. {
  150. title: '买量新用户复充率', dataIndex: 'buyNewUserAgainRate', label: '买量付费数据', align: 'center', width: 70,
  151. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  152. },
  153. {
  154. title: '买量当天复充率', dataIndex: 'buyTodayAgainRate', label: '买量付费数据', align: 'center', width: 70, sorter: true,
  155. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  156. },
  157. {
  158. title: '买量新增注册ARPPU', dataIndex: 'buyRegUserArpu', label: '买量付费数据', align: 'center', width: 70, sorter: true,
  159. render: (a: string) => <Statistic value={a || 0} />
  160. },
  161. {
  162. title: '买量首日付费ARPPU', dataIndex: 'buyFirstAmountArpu', label: '买量付费数据', align: 'center', width: 70, sorter: true,
  163. render: (a: string) => <Statistic value={a || 0} />
  164. },
  165. {
  166. title: '买量新用户付费ARPPU', dataIndex: 'buyNewUserAmountArpu', label: '买量付费数据', align: 'center', width: 70,
  167. render: (a: string) => <Statistic value={a || 0} />
  168. },
  169. {
  170. title: '买量当天付费ARPPU', dataIndex: 'buyTodayAmountArpu', label: '买量付费数据', align: 'center', width: 70, sorter: true,
  171. render: (a: string) => <Statistic value={a || 0} />
  172. },
  173. {
  174. title: '买量账面ARPPU', dataIndex: 'buyAmountArpu', label: '买量付费数据', align: 'center', width: 70,
  175. render: (a: string) => <Statistic value={a || 0} />
  176. }
  177. ]
  178. },
  179. {
  180. label: '自然量付费数据',
  181. data: [
  182. { title: '自然量新用户充值次数', dataIndex: 'natureNewUserAmountCount', label: '自然量付费数据', align: 'center', width: 70 },
  183. { title: '自然量新用户充值人数', dataIndex: 'natureNewUserAmountNum', label: '自然量付费数据', align: 'center', width: 70 },
  184. {
  185. title: '自然量新用户充值金额', dataIndex: 'natureNewUserAmount', label: '自然量付费数据', align: 'center', width: 70,
  186. render: (a: string) => <Statistic value={a || 0} />
  187. },
  188. {
  189. title: '自然量新用户充值成本', dataIndex: 'natureNewUserRechargeCost', label: '自然量付费数据', align: 'center', width: 70,
  190. render: (a: string) => <Statistic value={a || 0} />
  191. },
  192. {
  193. title: '自然量新用户回收率', dataIndex: 'natureNewUserRechargeRate', label: '自然量付费数据', align: 'center', width: 70,
  194. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  195. },
  196. { title: '自然量首日新用户充值次数', dataIndex: 'natureFirstNewUserAmountCount', label: '自然量付费数据', align: 'center', width: 70, sorter: true },
  197. { title: '自然量首日新用户充值人数', dataIndex: 'natureFirstNewUserAmountNum', label: '自然量付费数据', align: 'center', width: 70, sorter: true },
  198. {
  199. title: '自然量首日新用户充值金额', dataIndex: 'natureFirstNewUserAmount', label: '自然量付费数据', align: 'center', width: 70, sorter: true,
  200. render: (a: string) => <Statistic value={a || 0} />
  201. },
  202. { title: '自然量老用户充值次数', dataIndex: 'natureOldUserCount', label: '自然量付费数据', align: 'center', width: 70, },
  203. { title: '自然量老用户充值人数', dataIndex: 'natureOldUserNum', label: '自然量付费数据', align: 'center', width: 70, },
  204. {
  205. title: '自然量老用户充值金额', dataIndex: 'natureOldUserAmount', label: '自然量付费数据', align: 'center', width: 70,
  206. render: (a: string) => <Statistic value={a || 0} />
  207. },
  208. { title: '自然量账面充值次数', dataIndex: 'natureAmountCount', label: '自然量付费数据', align: 'center', width: 70 },
  209. { title: '自然量账面充值人数', dataIndex: 'natureAmountNum', label: '自然量付费数据', align: 'center', width: 70 },
  210. {
  211. title: '自然量账面充值金额', dataIndex: 'natureAmount', label: '自然量付费数据', align: 'center', width: 70,
  212. render: (a: string) => <Statistic value={a || 0} />
  213. },
  214. { title: '自然量新用户累计充值次数', dataIndex: 'natureNewUserTotalAmountCount', label: '自然量付费数据', align: 'center', width: 70, sorter: true },
  215. { title: '自然量新用户累计充值人数', dataIndex: 'natureNewUserTotalAmountNum', label: '自然量付费数据', align: 'center', width: 70, sorter: true },
  216. {
  217. title: '自然量新用户累计充值金额', dataIndex: 'natureNewUserTotalAmount', label: '自然量付费数据', align: 'center', width: 70, sorter: true,
  218. render: (a: string) => <Statistic value={a || 0} />
  219. },
  220. {
  221. title: '自然量首日充值成本', dataIndex: 'natureFirstNewUserRechargeCost', label: '自然量付费数据', align: 'center', width: 70, sorter: true,
  222. render: (a: string) => <Statistic value={a || 0} />
  223. },
  224. {
  225. title: '自然量总充值成本', dataIndex: 'natureTotalRechargeCost', label: '自然量付费数据', align: 'center', width: 70, sorter: true,
  226. render: (a: string) => <Statistic value={a || 0} />
  227. },
  228. {
  229. title: '自然量首日ROI', dataIndex: 'natureFirstRoi', label: '自然量付费数据', align: 'center', width: 70, sorter: true,
  230. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  231. },
  232. {
  233. title: '自然量总ROI', dataIndex: 'natureTotalRoi', label: '自然量付费数据', align: 'center', width: 70, sorter: true,
  234. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  235. },
  236. {
  237. title: '自然量首日付费率', dataIndex: 'natureFirstAmountRate', label: '自然量付费数据', align: 'center', width: 70, sorter: true,
  238. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  239. },
  240. {
  241. title: '自然量新用户付费率', dataIndex: 'natureNewUserRoi', label: '自然量付费数据', align: 'center', width: 70,
  242. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  243. },
  244. {
  245. title: '自然量当天付费率', dataIndex: 'natureTodayAmountRate', label: '自然量付费数据', align: 'center', width: 70, sorter: true,
  246. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  247. },
  248. {
  249. title: '自然量新用户付费比', dataIndex: 'natureNewUserRate', label: '自然量付费数据', align: 'center', width: 70,
  250. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  251. },
  252. {
  253. title: '自然量首日客单价', dataIndex: 'natureFirstAvgAmount', label: '自然量付费数据', align: 'center', width: 70, sorter: true,
  254. render: (a: string) => <Statistic value={a || 0} />
  255. },
  256. {
  257. title: '自然量新用户客单价', dataIndex: 'natureNewUserAvgAmount', label: '自然量付费数据', align: 'center', width: 70,
  258. render: (a: string) => <Statistic value={a || 0} />
  259. },
  260. {
  261. title: '自然量当天客单价', dataIndex: 'natureTodayAvgAmount', label: '自然量付费数据', align: 'center', width: 70, sorter: true,
  262. render: (a: string) => <Statistic value={a || 0} />
  263. },
  264. {
  265. title: '自然量账面客单价', dataIndex: 'natureAvgAmount', label: '自然量付费数据', align: 'center', width: 70,
  266. render: (a: string) => <Statistic value={a || 0} />
  267. },
  268. {
  269. title: '自然量复充率', dataIndex: 'natureUserAgainRate', label: '自然量付费数据', align: 'center', width: 70,
  270. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  271. },
  272. {
  273. title: '自然量新用户复充率', dataIndex: 'natureNewUserAgainRate', label: '自然量付费数据', align: 'center', width: 70,
  274. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  275. },
  276. {
  277. title: '自然量当天复充率', dataIndex: 'natureTodayAgainRate', label: '自然量付费数据', align: 'center', width: 70, sorter: true,
  278. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  279. },
  280. {
  281. title: '自然量新增注册ARPPU', dataIndex: 'natureRegUserArpu', label: '自然量付费数据', align: 'center', width: 70, sorter: true,
  282. render: (a: string) => <Statistic value={a || 0} />
  283. },
  284. {
  285. title: '自然量首日付费ARPPU', dataIndex: 'natureFirstAmountArpu', label: '自然量付费数据', align: 'center', width: 70, sorter: true,
  286. render: (a: string) => <Statistic value={a || 0} />
  287. },
  288. {
  289. title: '自然量新用户付费ARPPU', dataIndex: 'natureNewUserAmountArpu', label: '自然量付费数据', align: 'center', width: 70,
  290. render: (a: string) => <Statistic value={a || 0} />
  291. },
  292. {
  293. title: '自然量当天付费ARPPU', dataIndex: 'natureTodayAmountArpu', label: '自然量付费数据', align: 'center', width: 70, sorter: true,
  294. render: (a: string) => <Statistic value={a || 0} />
  295. },
  296. {
  297. title: '自然量账面ARPPU', dataIndex: 'natureAmountArpu', label: '自然量付费数据', align: 'center', width: 70,
  298. render: (a: string) => <Statistic value={a || 0} />
  299. }
  300. ]
  301. },
  302. {
  303. label: '总付费数据',
  304. data: [
  305. { title: '总新用户充值次数', dataIndex: 'newUserAmountCount', label: '总付费数据', align: 'center', width: 70 },
  306. { title: '总新用户充值人数', dataIndex: 'newUserAmountNum', label: '总付费数据', align: 'center', width: 70, default: 5 },
  307. {
  308. title: '总新用户充值金额', dataIndex: 'newUserAmount', label: '总付费数据', align: 'center', width: 70, default: 6,
  309. render: (a: string) => <Statistic value={a || 0} />
  310. },
  311. {
  312. title: '总新用户充值成本', dataIndex: 'newUserRechargeCost', label: '总付费数据', align: 'center', width: 70, default: 14,
  313. render: (a: string) => <Statistic value={a || 0} />
  314. },
  315. {
  316. title: '总新用户回收率', dataIndex: 'newUserRechargeRate', label: '总付费数据', align: 'center', width: 70, sorter: true, default: 11,
  317. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  318. },
  319. { title: '总首日新用户充值次数', dataIndex: 'firstNewUserAmountCount', label: '总付费数据', align: 'center', width: 70, sorter: true },
  320. { title: '总首日新用户充值人数', dataIndex: 'firstNewUserAmountNum', label: '总付费数据', align: 'center', width: 70, sorter: true, default: 7 },
  321. {
  322. title: '总首日新用户充值金额', dataIndex: 'firstNewUserAmount', label: '总付费数据', align: 'center', width: 70, sorter: true, default: 8,
  323. render: (a: string) => <Statistic value={a || 0} />
  324. },
  325. { title: '总老用户充值次数', dataIndex: 'oldUserCount', label: '总付费数据', align: 'center', width: 70 },
  326. { title: '总老用户充值人数', dataIndex: 'oldUserNum', label: '总付费数据', align: 'center', width: 70 },
  327. {
  328. title: '总老用户充值金额', dataIndex: 'oldUserAmount', label: '总付费数据', align: 'center', width: 80,
  329. render: (a: string) => <Statistic value={a || 0} />
  330. },
  331. { title: '总账面充值次数', dataIndex: 'amountCount', label: '总付费数据', align: 'center', width: 70 },
  332. { title: '总账面充值人数', dataIndex: 'amountNum', label: '总付费数据', align: 'center', width: 70 },
  333. {
  334. title: '总账面充值金额', dataIndex: 'amount', label: '总付费数据', align: 'center', width: 85,
  335. render: (a: string) => <Statistic value={a || 0} />
  336. },
  337. { title: '总新用户累计充值次数', dataIndex: 'newUserTotalAmountCount', label: '总付费数据', align: 'center', width: 70, sorter: true },
  338. { title: '总新用户累计充值人数', dataIndex: 'newUserTotalAmountNum', label: '总付费数据', align: 'center', width: 70, sorter: true, default: 9 },
  339. {
  340. title: '总新用户累计充值金额', dataIndex: 'newUserTotalAmount', label: '总付费数据', align: 'center', width: 70, sorter: true, default: 10,
  341. render: (a: string) => <Statistic value={a || 0} />
  342. },
  343. {
  344. title: '总首日充值成本', dataIndex: 'firstNewUserRechargeCost', label: '总付费数据', align: 'center', width: 70, sorter: true, default: 15,
  345. render: (a: string) => <Statistic value={a || 0} />
  346. },
  347. {
  348. title: '总总充值成本', dataIndex: 'totalRechargeCost', label: '总付费数据', align: 'center', width: 70, sorter: true, default: 16,
  349. render: (a: string) => <Statistic value={a || 0} />
  350. },
  351. {
  352. title: '总首日ROI', dataIndex: 'firstRoi', label: '总付费数据', align: 'center', width: 70, sorter: true, default: 12,
  353. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  354. },
  355. {
  356. title: '总总ROI', dataIndex: 'totalRoi', label: '总付费数据', align: 'center', width: 70, sorter: true, default: 13,
  357. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  358. },
  359. {
  360. title: '总首日付费率', dataIndex: 'firstAmountRate', label: '总付费数据', align: 'center', width: 70, sorter: true,
  361. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  362. },
  363. {
  364. title: '总新用户付费率', dataIndex: 'newUserRoi', label: '总付费数据', align: 'center', width: 70,
  365. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  366. },
  367. {
  368. title: '总当天付费率', dataIndex: 'todayAmountRate', label: '总付费数据', align: 'center', width: 70, sorter: true,
  369. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  370. },
  371. {
  372. title: '总新用户付费比', dataIndex: 'newUserRate', label: '总付费数据', align: 'center', width: 70,
  373. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  374. },
  375. {
  376. title: '总首日客单价', dataIndex: 'firstAvgAmount', label: '总付费数据', align: 'center', width: 70, sorter: true,
  377. render: (a: string) => <Statistic value={a || 0} />
  378. },
  379. {
  380. title: '总新用户客单价', dataIndex: 'newUserAvgAmount', label: '总付费数据', align: 'center', width: 70,
  381. render: (a: string) => <Statistic value={a || 0} />
  382. },
  383. {
  384. title: '总当天客单价', dataIndex: 'todayAvgAmount', label: '总付费数据', align: 'center', width: 70, sorter: true,
  385. render: (a: string) => <Statistic value={a || 0} />
  386. },
  387. {
  388. title: '总账面客单价', dataIndex: 'avgAmount', label: '总付费数据', align: 'center', width: 70,
  389. render: (a: string) => <Statistic value={a || 0} />
  390. },
  391. {
  392. title: '总复充率', dataIndex: 'userAgainRate', label: '总付费数据', align: 'center', width: 70,
  393. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  394. },
  395. {
  396. title: '总新用户复充率', dataIndex: 'newUserAgainRate', label: '总付费数据', align: 'center', width: 70,
  397. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  398. },
  399. {
  400. title: '总当天复充率', dataIndex: 'todayAgainRate', label: '总付费数据', align: 'center', width: 70, sorter: true,
  401. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={a >= 1 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  402. },
  403. {
  404. title: '总新增注册ARPPU', dataIndex: 'regUserArpu', label: '总付费数据', align: 'center', width: 70, sorter: true,
  405. render: (a: string) => <Statistic value={a || 0} />
  406. },
  407. {
  408. title: '总首日付费ARPPU', dataIndex: 'firstAmountArpu', label: '总付费数据', align: 'center', width: 70, sorter: true,
  409. render: (a: string) => <Statistic value={a || 0} />
  410. },
  411. {
  412. title: '总新用户付费ARPPU', dataIndex: 'newUserAmountArpu', label: '总付费数据', align: 'center', width: 70,
  413. render: (a: string) => <Statistic value={a || 0} />
  414. },
  415. {
  416. title: '总当天付费ARPPU', dataIndex: 'todayAmountArpu', label: '总付费数据', align: 'center', width: 70, sorter: true,
  417. render: (a: string) => <Statistic value={a || 0} />
  418. },
  419. {
  420. title: '总账面ARPPU', dataIndex: 'amountArpu', label: '总付费数据', align: 'center', width: 70,
  421. render: (a: string) => <Statistic value={a || 0} />
  422. }
  423. ]
  424. }
  425. ]
  426. }
  427. export default columns12