|  | @@ -0,0 +1,198 @@
 | 
	
		
			
				|  |  | +import React from "react"
 | 
	
		
			
				|  |  | +import Lazyimg from "react-lazyimg-component"
 | 
	
		
			
				|  |  | +import style from './index.less'
 | 
	
		
			
				|  |  | +import { Statistic, Typography } from "antd";
 | 
	
		
			
				|  |  | +import { formatBytes, formatSecondsToTime } from "@/utils/utils";
 | 
	
		
			
				|  |  | +import PlayVideo from "../cloudNew/playVideo";
 | 
	
		
			
				|  |  | +const { Text } = Typography;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +function columns12(): { label: string, fieldSHow?: { label: string, saveField: string, defaultValue: any[], data: any[] }, data: any[] }[] {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    return [
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            label: '自定义指标',
 | 
	
		
			
				|  |  | +            data: [
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '素材预览', dataIndex: 'preview', label: '自定义指标', width: 320, default: 1,
 | 
	
		
			
				|  |  | +                    render: (a: any, records: any) => {
 | 
	
		
			
				|  |  | +                        if (a === '总计')
 | 
	
		
			
				|  |  | +                            return <Text ellipsis strong>总计</Text>
 | 
	
		
			
				|  |  | +                        return <div className={style.preview_table}>
 | 
	
		
			
				|  |  | +                            <div className={style.preview_content}>
 | 
	
		
			
				|  |  | +                                {records.source === 'video' && <div className={style.playr}>
 | 
	
		
			
				|  |  | +                                    <PlayVideo videoUrl={records.preview_url}>{(onPlay) => <img onClick={(e) => {
 | 
	
		
			
				|  |  | +                                        e.stopPropagation(); e.preventDefault()
 | 
	
		
			
				|  |  | +                                        onPlay()
 | 
	
		
			
				|  |  | +                                    }} src={require('../../../../../public/image/play.png')} alt="" />}</PlayVideo>
 | 
	
		
			
				|  |  | +                                </div>}
 | 
	
		
			
				|  |  | +                                <Lazyimg
 | 
	
		
			
				|  |  | +                                    animateType="transition"
 | 
	
		
			
				|  |  | +                                    src={records.source === 'image' ? records.preview_url : records?.key_frame_image_url}
 | 
	
		
			
				|  |  | +                                    className={`${style.coverImg} lazy`}
 | 
	
		
			
				|  |  | +                                    animateClassName={['transition-enter', 'transition-enter-active']}
 | 
	
		
			
				|  |  | +                                />
 | 
	
		
			
				|  |  | +                            </div>
 | 
	
		
			
				|  |  | +                            <div className={style.body}>
 | 
	
		
			
				|  |  | +                                <Text ellipsis strong>{records?.description}</Text>
 | 
	
		
			
				|  |  | +                                <div>
 | 
	
		
			
				|  |  | +                                    <div>尺寸:{records.width}*{records.height}</div>
 | 
	
		
			
				|  |  | +                                    {records.source === 'video' && records.image_duration_millisecond && <div>时长:{formatSecondsToTime(Math.floor(records.image_duration_millisecond / 1000))}</div>}
 | 
	
		
			
				|  |  | +                                </div>
 | 
	
		
			
				|  |  | +                                <div>
 | 
	
		
			
				|  |  | +                                    <Text style={{ fontSize: 12 }}>{formatBytes(records?.file_size)}</Text>
 | 
	
		
			
				|  |  | +                                    <div>设计师:{records?.create_name || '--'}</div>
 | 
	
		
			
				|  |  | +                                </div>
 | 
	
		
			
				|  |  | +                            </div>
 | 
	
		
			
				|  |  | +                        </div>
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '投手', dataIndex: 'pitcher_name', label: '自定义指标', width: 80, align: 'center', default: 2,
 | 
	
		
			
				|  |  | +                    render: (a: string) => a || '--'
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '消耗', dataIndex: 'cost', label: '自定义指标', width: 110, default: 3, align: 'right', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: string) => <Statistic value={a || 0} precision={2} />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '曝光量', dataIndex: 'view_count', label: '自定义指标', width: 110, default: 4, align: 'center', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: string) => <Statistic value={a || 0} />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '点击量', dataIndex: 'valid_click_count', label: '自定义指标', width: 100, default: 5, align: 'center', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: string) => <Statistic value={a || 0} />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '公众号关注人数(点击归因)', dataIndex: 'from_follow_by_click_uv', label: '自定义指标', width: 85, default: 6, align: 'center', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: string) => <Statistic value={a || 0} />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '公众号关注成本(点击归因)', dataIndex: 'from_follow_by_click_cost', label: '自定义指标', width: 85, default: 7, align: 'right', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: string) => <Statistic value={a || 0} precision={2} />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '公众号关注人数(平台上报)', dataIndex: 'biz_follow_uv', label: '自定义指标', width: 85, default: 8, align: 'center', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: string) => <Statistic value={a || 0} />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '目标转化量', dataIndex: 'conversions_count', label: '自定义指标', width: 65, default: 9, align: 'center', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: string) => <Statistic value={a || 0} />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '目标转化成本', dataIndex: 'conversions_cost', label: '自定义指标', width: 65, default: 10, align: 'right', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: string) => <Statistic value={a || 0} precision={2} />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '深度目标转化量', dataIndex: 'deep_conversions_count', label: '自定义指标', width: 65, default: 11, align: 'center', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: string) => <Statistic value={a || 0} />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '加企业微信客服次数', dataIndex: 'scan_follow_count', label: '自定义指标', width: 70, default: 12, align: 'center', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: string) => <Statistic value={a || 0} />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '加企业微信客服人数', dataIndex: 'scan_follow_user_count', label: '自定义指标', width: 70, default: 13, align: 'center', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: string) => <Statistic value={a || 0} />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '下单次数', dataIndex: 'order_pv', label: '自定义指标', width: 60, default: 14, align: 'center', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: string) => <Statistic value={a || 0} />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '下单金额', dataIndex: 'order_amount', label: '自定义指标', width: 80, default: 15, align: 'right', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: string) => <Statistic value={a || 0} precision={2} />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '下单次数(点击归因)', dataIndex: 'order_by_click_count', label: '自定义指标', width: 75, default: 16, align: 'center', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: string) => <Statistic value={a || 0} />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '下单金额(点击归因)', dataIndex: 'order_by_click_amount', label: '自定义指标', width: 75, default: 17, align: 'right', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: string) => <Statistic value={a || 0} precision={2} />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '点击广告当天内,下单次数', dataIndex: 'first_day_order_by_click_count', label: '自定义指标', width: 80, default: 18, align: 'center', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: string) => <Statistic value={a || 0} />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '点击首日下单次数(首日新增下单量)', dataIndex: 'first_day_order_count', label: '自定义指标', width: 100, default: 19, align: 'center', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: string) => <Statistic value={a || 0} />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '首日新增下单金额(点击归因)', dataIndex: 'first_day_order_by_click_amount', label: '自定义指标', width: 95, default: 20, align: 'right', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: string) => <Statistic value={a || 0} precision={2} />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '点击首日下单金额', dataIndex: 'first_day_order_amount', label: '自定义指标', width: 110, default: 21, align: 'right', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: string) => <Statistic value={a || 0} precision={2} />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '点击均价', dataIndex: 'cpc', label: '自定义指标', width: 60, default: 22, align: 'right', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: string) => <Statistic value={a || 0} precision={2} />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '千次曝光成本', dataIndex: 'thousand_display_price', label: '自定义指标', width: 65, default: 23, align: 'right', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: string) => <Statistic value={a || 0} precision={2} />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '点击率', dataIndex: 'ctr', label: '自定义指标', width: 75, default: 24, align: 'center', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '公众号关注成本(平台上报)', dataIndex: 'biz_follow_cost', label: '自定义指标', width: 85, default: 25, align: 'right', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: string) => <Statistic value={a || 0} precision={2} />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '公众号关注率(平台上报)', dataIndex: 'biz_follow_rate', label: '自定义指标', width: 80, default: 26, align: 'center', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '目标转化率', dataIndex: 'conversions_rate', label: '自定义指标', width: 75, default: 27, align: 'center', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '深度目标转化率', dataIndex: 'deep_conversions_rate', label: '自定义指标', width: 75, default: 28, align: 'center', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '加企业微信客服成本', dataIndex: 'scan_follow_user_cost', label: '自定义指标', width: 75, default: 29, align: 'right', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: string) => <Statistic value={a || 0} precision={2} />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '加企业微信客服率', dataIndex: 'scan_follow_user_rate', label: '自定义指标', width: 75, default: 30, align: 'center', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '下单单价', dataIndex: 'order_unit_price', label: '自定义指标', width: 60, default: 31, align: 'right', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: string) => <Statistic value={a || 0} precision={2} />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '下单率', dataIndex: 'order_rate', label: '自定义指标', width: 70, default: 32, align: 'center', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '下单成本', dataIndex: 'order_by_display_cost', label: '自定义指标', width: 75, default: 33, align: 'right', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: string) => <Statistic value={a || 0} precision={2} />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '下单ROI', dataIndex: 'order_roi', label: '自定义指标', width: 75, default: 34, align: 'center', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '下单率(点击归因)', dataIndex: 'order_by_click_rate', label: '自定义指标', width: 75, default: 35, align: 'center', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '下单成本(点击归因)', dataIndex: 'order_by_click_cost', label: '自定义指标', width: 75, default: 36, align: 'right', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: string) => <Statistic value={a || 0} precision={2} />
 | 
	
		
			
				|  |  | +                },
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    title: '首日新增下单ROI', dataIndex: 'first_day_order_roi', label: '自定义指标', width: 75, default: 37, align: 'center', sorter: true,
 | 
	
		
			
				|  |  | +                    render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            ]
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +    ]
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +export default columns12
 |