tableConfig.tsx 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  1. import { Tooltip } from "antd"
  2. import React from "react"
  3. import style from './index.less'
  4. import { BidModeEnum, OptimizationGoalEnum, PromotedObjectType, SiteSetEnum } from "@/services/launchAdq/enum";
  5. let columns = () => {
  6. return [
  7. {
  8. title: '媒体账户',
  9. dataIndex: 'adAccountId',
  10. key: 'adAccountId',
  11. align: 'center',
  12. width: 85,
  13. fixed: 'left'
  14. },
  15. {
  16. title: '广告名称',
  17. dataIndex: 'adgroupName',
  18. key: 'adgroupName',
  19. align: 'center',
  20. width: 120,
  21. render: (a: any, b: any) => {
  22. return <span style={{ fontSize: "12px" }}>{b?.sysAdGroupData?.adgroupName}</span>
  23. }
  24. },
  25. {
  26. title: '推广目标',
  27. dataIndex: 'promotedObjectType',
  28. key: 'promotedObjectType',
  29. align: 'center',
  30. width: 85,
  31. render: (a: any, b: any) => {
  32. return <span style={{ fontSize: "12px" }}>{PromotedObjectType[a]}</span>
  33. }
  34. },
  35. {
  36. title: '推广版位',
  37. dataIndex: 'sysAdGroupData',
  38. key: 'sysAdGroupData',
  39. align: 'center',
  40. width: 120,
  41. render: (a: any, b: any) => {
  42. return <span style={{ fontSize: "12px" }}>{a?.siteSet?.map((item: string) => SiteSetEnum[item]).toString()}</span>
  43. }
  44. },
  45. {
  46. title: '投放日期',
  47. dataIndex: 'beginDate',
  48. key: 'beginDate',
  49. align: 'center',
  50. width: 100,
  51. render: (a: any, b: any) => {
  52. return <span style={{ fontSize: "12px" }}>{b?.sysAdGroupData?.endDate ? b?.sysAdGroupData?.beginDate + '~' + b?.sysAdGroupData?.endDate : b?.sysAdGroupData?.beginDate + '~ 长期投放'}</span>
  53. }
  54. },
  55. {
  56. title: '投放时段',
  57. dataIndex: 'date_set1',
  58. key: 'date_set1',
  59. align: 'center',
  60. width: 80,
  61. render: (a: any, b: any) => {
  62. return <span style={{ fontSize: "12px" }}>全天投放</span>
  63. }
  64. },
  65. {
  66. title: '每日预算',
  67. dataIndex: 'dailyBudget',
  68. key: 'dailyBudget',
  69. align: 'center',
  70. width: 80,
  71. render: (a: any, b: any) => {
  72. return <span style={{ fontSize: "12px" }}>{b?.sysAdGroupData?.dailyBudget || '不限'}</span>
  73. }
  74. },
  75. {
  76. title: '出价方式',
  77. dataIndex: 'bidMode',
  78. key: 'bidMode',
  79. align: 'center',
  80. width: 80,
  81. render: (a: any, b: any) => {
  82. return <span style={{ fontSize: "12px" }}>{BidModeEnum[b?.sysAdGroupData?.bidMode]}</span>
  83. }
  84. },
  85. {
  86. title: '出价',
  87. dataIndex: 'bidAmount',
  88. key: 'bidAmount',
  89. align: 'center',
  90. width: 80,
  91. render: (a: any, b: any) => {
  92. return <span style={{ fontSize: "12px" }}>{b?.sysAdGroupData?.bidAmount}</span>
  93. }
  94. },
  95. {
  96. title: '优化目标',
  97. dataIndex: 'optimizationGoal',
  98. key: 'optimizationGoal',
  99. align: 'center',
  100. width: 80,
  101. render: (a: any, b: any) => {
  102. return <span style={{ fontSize: "12px" }}>{OptimizationGoalEnum[b?.sysAdGroupData?.optimizationGoal]}</span>
  103. }
  104. },
  105. {
  106. title: '出价类型',
  107. dataIndex: 'smartBidType',
  108. key: 'smartBidType',
  109. align: 'center',
  110. width: 80,
  111. render: (a: any, b: any) => {
  112. return <span style={{ fontSize: "12px" }}>{b?.sysAdGroupData?.smartBidType === 'SMART_BID_TYPE_CUSTOM' ? '手动出价' : '自动出价'}</span>
  113. }
  114. },
  115. {
  116. title: '创意名称',
  117. dataIndex: 'adcreativeName',
  118. key: 'adcreativeName',
  119. align: 'center',
  120. width: 120,
  121. render: (a: any, b: any) => {
  122. return <div className={style.twoText}>
  123. <Tooltip title={b?.sysAdcreativeData?.adcreativeName}>
  124. <span style={{ fontSize: "12px" }}>{b?.sysAdcreativeData?.adcreativeName}</span>
  125. </Tooltip>
  126. </div>
  127. }
  128. },
  129. {
  130. title: '创意形式',
  131. dataIndex: 'adcreativeTemplateAppellation',
  132. key: 'adcreativeTemplateAppellation',
  133. align: 'center',
  134. width: 120,
  135. render: (a: any, b: any) => {
  136. return <span style={{ fontSize: "12px" }}>{b?.sysAdcreativeData?.adcreativeTemplateAppellation}</span>
  137. }
  138. },
  139. {
  140. title: '创意文案',
  141. dataIndex: 'description',
  142. key: 'description',
  143. width: 200,
  144. render: (a: any, b: any) => {
  145. return <span style={{ fontSize: "12px" }}>{b?.sysAdcreativeData?.adcreativeElements?.description}</span>
  146. }
  147. },
  148. {
  149. title: '文案',
  150. dataIndex: 'title',
  151. key: 'title',
  152. width: 150,
  153. render: (a: any, b: any) => {
  154. return <span style={{ fontSize: "12px" }}>{b?.sysAdcreativeData?.adcreativeElements?.title || '<空>'}</span>
  155. }
  156. },
  157. {
  158. title: '落地页名称',
  159. dataIndex: 'pageData',
  160. key: 'pageData',
  161. align: 'center',
  162. width: 120,
  163. render: (a: any, b: any) => {
  164. return <div className={style.twoText}>
  165. <Tooltip title={a?.pageName}>
  166. <span style={{ fontSize: "12px" }}>{a?.pageName}</span>
  167. </Tooltip>
  168. </div>
  169. }
  170. },
  171. {
  172. title: '定向名称',
  173. dataIndex: 'targetingData',
  174. key: 'targetingData',
  175. align: 'center',
  176. width: 120,
  177. render: (a: any, b: any) => {
  178. return <div className={style.twoText}>
  179. {
  180. a?.targetingName ? <Tooltip title={a?.targetingName}>
  181. <span style={{ fontSize: "12px" }}>{a?.targetingName}</span>
  182. </Tooltip> : '<空>'
  183. }
  184. </div>
  185. }
  186. },
  187. {
  188. title: '定向用户群',
  189. dataIndex: 'customAudienceList',
  190. key: 'customAudienceList',
  191. align: 'center',
  192. width: 180,
  193. render: (a: any, b: any) => {
  194. let names = a?.map((item: any) => item.name)
  195. return <div className={style.twoText}>
  196. {
  197. names?.length > 0 ? <Tooltip title={names.toString()}>
  198. <span style={{ fontSize: "12px" }}>{names.toString()}</span>
  199. </Tooltip> : '<空>'
  200. }
  201. </div>
  202. }
  203. },
  204. {
  205. title: '排除用户群',
  206. dataIndex: 'excludedCustomAudienceList',
  207. key: 'excludedCustomAudienceList',
  208. align: 'center',
  209. width: 180,
  210. render: (a: any, b: any) => {
  211. let names = a?.map((item: any) => item.name)
  212. return <div className={style.twoText}>
  213. {
  214. names?.length > 0 ? <Tooltip title={names.toString()}>
  215. <span style={{ fontSize: "12px" }}>{names.toString()}</span>
  216. </Tooltip> : '<空>'
  217. }
  218. </div>
  219. }
  220. },
  221. {
  222. title: '商品',
  223. dataIndex: 'productList',
  224. key: 'productList',
  225. width: 180,
  226. align: 'center',
  227. render: (a: any, b: any) => {
  228. if (a && a?.length > 0) {
  229. let data = a[0]
  230. if (data) {
  231. return <span style={{ fontSize: "12px" }}>{data?.productName + '-' + data?.firstCatalogName + '-' + data?.secondCatalogName}</span>
  232. }
  233. return '<空>'
  234. } else {
  235. return '<空>'
  236. }
  237. }
  238. },
  239. {
  240. title: '数据源',
  241. dataIndex: 'userActionSetsList',
  242. key: 'userActionSetsList',
  243. width: 320,
  244. render: (a: any, b: any) => {
  245. if (a && a?.length > 0) {
  246. return <span style={{ fontSize: "12px" }}>{a?.map((item: any) => item?.name + '>' + item?.type)?.toString() || '<空>'}</span>
  247. } else {
  248. return '<空>'
  249. }
  250. }
  251. }
  252. ]
  253. }
  254. export default columns