import { Space, TableProps, Typography } from "antd" import React from "react" import { OPTIMIZATIONGOAL_ENUM } from "../const"; const { Text, Title } = Typography; import style from './index.less' const columns = (): TableProps['columns'] => { return [ { title: '广告', dataIndex: 'adgroup', key: 'adgroup', align: 'center', children: [ { title: '广告名称', dataIndex: 'adgroupName', key: 'adgroupName', width: 250, render: (_, b) => { return {b?.adgroupsDto?.adgroupName} }, onCell: (record, index = 0) => ({ rowSpan: !(index % record.rowSpan) ? record.rowSpan : 0 }), }, { title: '营销内容', dataIndex: 'productName', key: 'productName', width: 200, render: (_, b) => { if (['MARKETING_TARGET_TYPE_FICTION'].includes(b.adgroupsDto?.marketingAssetOuterSpec?.marketingTargetType)) { return 推广产品:{b?.productDto?.marketingAssetName}(产品ID:{b?.productDto?.marketingAssetId}) {(b.adgroupsDto?.marketingCarrierType === 'MARKETING_CARRIER_TYPE_WECHAT_OFFICIAL_ACCOUNT' && b?.marketingCarrierDto) && 营销载体:{b.marketingCarrierDto.map((item: { wechatOfficialAccountName: any; wechatOfficialAccountId: any; }) => `${item?.wechatOfficialAccountName}(${item?.wechatOfficialAccountId})`)?.toString()}} 转化归因:{b?.userActionSetsList ? b?.userActionSetsList.map((item: { name: any; }) => item.name).toString() : '暂未配置'} } else if (['MARKETING_TARGET_TYPE_WECHAT_OFFICIAL_ACCOUNT'].includes(b.adgroupsDto?.marketingAssetOuterSpec?.marketingTargetType)) { return 推广产品:微信公众号 营销载体:微信公众号 应用:{b?.productDto?.wechatOfficialAccountName}({b?.productDto?.wechatOfficialAccountId}) 转化归因:{b?.userActionSetsList ? b?.userActionSetsList.map((item: { name: any; }) => item.name).toString() : '暂未配置'} } return 'ERROR,请联系管理员' }, onCell: (record, index = 0) => ({ rowSpan: !(index % record.rowSpan) ? record.rowSpan : 0 }), }, { title: '定向', dataIndex: 'targeting', key: 'targeting', width: 170, render: (_, b) => { return {b?.targetDto?.targetingName} }, onCell: (record, index = 0) => ({ rowSpan: !(index % record.rowSpan) ? record.rowSpan : 0 }), }, { title: '预算与出价', dataIndex: 'dailyBudget', key: 'dailyBudget', width: 170, render: (_, b) => { let { optimizationGoal, dailyBudget, bidAmount, bidMode } = b?.adgroupsDto return 广告日预算:{dailyBudget ? dailyBudget + '元/天' : '不限'} 出价:{bidAmount}元/{optimizationGoal ? OPTIMIZATIONGOAL_ENUM[optimizationGoal] : ['BID_MODE_OCPM', 'BID_MODE_OCPC'].includes(bidMode) ? '千次曝光' : '点击'} }, onCell: (record, index = 0) => ({ rowSpan: !(index % record.rowSpan) ? record.rowSpan : 0 }), }, ] }, { title: '创意', dataIndex: 'dynamicDto', key: 'dynamicDto', align: 'center', children: [ { title: '创意名称', dataIndex: 'dynamicCreativeName', key: 'dynamicCreativeName', width: 200, render: (_, b) => { return {b?.dynamicDto?.dynamicCreativeName} } }, { title: '创意素材', dataIndex: 'dynamicGroup', key: 'dynamicGroup', width: 200, render: (_, b) => { let deliveryMode = b?.dynamicDto?.deliveryMode let dynamicGroup = b?.dynamicGroup if (dynamicGroup && Object.keys(dynamicGroup).length) { let keys = Object.keys(dynamicGroup) if (deliveryMode === "DELIVERY_MODE_CUSTOMIZE") { return 已选{(keys.includes('video_id') || keys.includes('short_video1')) ? '1个视频,0张图片' : keys.includes('image_id') ? '0个视频,1张图片' : (keys.includes('image_list') || keys.includes('element_story') ? '1个组图, 0个视频' : '')} } else { return 开发中 } } else { return 无需配置 } } }, { title: '创意文案', dataIndex: 'textDto', key: 'textDto', width: 200, render: (value, b) => { console.log('textDto-->', value) let deliveryMode = b?.dynamicDto?.deliveryMode if (value && Object.keys(value).length) { if (deliveryMode === "DELIVERY_MODE_CUSTOMIZE") { return
{Object.keys(value)?.map((key, index: number) => { return
{key === 'description' ? <> {'文案'}
{value['description']?.toString()}
: key === 'title' ? <> {'标题'}
{value['title']?.toString()}
: null}
})}
} else { return 开发中 } } else { return 无需配置 } } }, { title: '跳转类型', dataIndex: 'pageListDto', key: 'pageListDto', width: 200, render: (_, b) => { let pageListDto = b?.pageListDto return 原生推广页:{pageListDto?.[0]?.pageName} } } ] } ] } export default columns