import { useAjax } from "@/Hook/useAjax" import { PromotedObjectType, SiteSetEnum } from "@/services/launchAdq/enum" import { get_adcreative_template_list } from "@/services/launchAdq/global" import React, { useEffect, useState } from "react" import { outAdcreativeTemplateIdFun } from "../localAd/adenum" import { Image, Space, Spin } from "antd" /** * 创意详情 */ interface Props { data: any, onChange?: (value: string) => void } const AdcreativeCol: React.FC = (props) => { /***************************/ const { data, onChange } = props const { adcreativeName, promotedObjectType, siteSet, adcreativeTemplateId, adcreativeElements } = data const [adcreative_template_list, set_adcreative_template_list] = useState([]) const getAdcreativeTemplateList = useAjax((params) => get_adcreative_template_list(params)) /***************************/ /** 获取创意形式 */ useEffect(() => { if (siteSet?.length > 0 && promotedObjectType && !(adcreative_template_list.length > 0)) { getAdcreativeTemplateList.run({ siteSet, promotedObjectType, campaignType: 'CAMPAIGN_TYPE_NORMAL', }).then(res => { let newArr: any = [] // 过滤掉相同的和即将下线的 Object.values(res)?.forEach((arr: any) => { Array.isArray(arr) && arr?.forEach((item: any) => { if (newArr.length > 0) { if (outAdcreativeTemplateIdFun(item.adcreativeTemplateId) && newArr.every((i: { adcreativeTemplateId: any }) => i.adcreativeTemplateId !== item.adcreativeTemplateId)) { newArr.push(item) } else { // 找出通用创意 newArr = newArr?.map((arr: { adcreativeTemplateId: any }) => { if (arr.adcreativeTemplateId === item.adcreativeTemplateId) { return { ...arr, isGeneral: true } } return arr }) } } else { if (outAdcreativeTemplateIdFun(item.adcreativeTemplateId)) { newArr.push(item) } } }) }) set_adcreative_template_list(newArr) }) } }, [siteSet, promotedObjectType]) useEffect(() => { if (adcreative_template_list?.length > 0 && adcreativeTemplateId) { onChange && onChange(adcreative_template_list?.find((item: any) => item?.adcreativeTemplateId === adcreativeTemplateId)?.adcreativeTemplateAppellation || '') } }, [adcreative_template_list, adcreativeTemplateId]) return
创意名称: {adcreativeName}
推广目标: {PromotedObjectType[promotedObjectType]}
广告版位: {siteSet?.map((item: string) => SiteSetEnum[item]).toString()}
创意形式: {adcreative_template_list?.find((item: any) => item?.adcreativeTemplateId === adcreativeTemplateId)?.adcreativeTemplateAppellation || ''}
{adcreativeElements?.description &&
创意文案: {adcreativeElements?.description}
} {adcreativeElements?.title &&
文案: {adcreativeElements?.title}
} {adcreativeElements?.imageUrl &&
创意素材:
} {adcreativeElements?.imageUrlList &&
创意素材: {adcreativeElements?.imageUrlList?.map((url: string, index: number) => )}
} {adcreativeElements?.shortVideoStruct?.shortVideo1Url &&
创意素材:
} {adcreativeElements?.videoUrl &&
创意素材:
}
} export default React.memo(AdcreativeCol)