import { CreateAdProps } from "@/services/launchAdq/createAd" import { BaseResult } from "@ahooksjs/use-request/lib/types" import { Col, Select, Space, Spin, Tooltip } from "antd" import React, { useCallback, useState } from "react" import { ModalConfig } from "../ad" import style from '../index.less' import AdcreativeCol from "../adcreativeCol" import CreativePup from "./modal" import Material from "./modal/material" import Copywriting from "./modal/copywriting" type Props = { queryForm: Partial, setQueryForm: React.Dispatch>>, getSysAdcreative: BaseResult, clearData: () => void, targetKey: string, } const CreativeCL: React.FC = (props) => { /********************************/ const { queryForm, getSysAdcreative, setQueryForm, clearData, targetKey } = props const [adModalConfig, setAdModalConfig] = useState({//新建广告弹窗 visible: false, type: 'add' }) /********************************/ // 设置变量 const handleAdModalConfig = useCallback((arg: ModalConfig) => { setAdModalConfig({ ...adModalConfig, ...arg }) }, [adModalConfig]) return <>
创意基本信息
{ queryForm?.taskMediaMaps?.filter((item, index) => index === 0)?.map((item, index) => { return
{item.sysAdcreative && }
}) }
{queryForm?.sysAdgroup ? <> { handleAdModalConfig(queryForm?.taskMediaMaps && queryForm?.taskMediaMaps[targetKey]?.sysAdcreative ? { visible: true, type: 'edit' } : { visible: true, type: 'add' }) }}>{queryForm?.taskMediaMaps && queryForm?.taskMediaMaps[targetKey]?.sysAdcreative ? '编辑' : '添加'} : 添加 }
{/* 创建创意 */} {adModalConfig.visible && { let arr = queryForm.taskMediaMaps || [] let adqPageArr: any = queryForm.adqPageList || [] let pageArr: any = queryForm.pageList || [] adqPageArr[targetKey as string] = null//清除adq落地页 pageArr[targetKey as string] = null//清除本地落地页 arr[targetKey] = { sysAdcreative: values } setQueryForm({ ...queryForm, taskMediaMaps: arr, adqPageList: adqPageArr, pageList: pageArr, materialData: material, materials: [], textData, texts: [] }); clearData(); handleAdModalConfig({ visible: false, dataInfo: null, type: 'add' }) }} dataInfo={queryForm?.taskMediaMaps && queryForm?.taskMediaMaps[targetKey]?.sysAdcreative} queryForm={queryForm} />}
创意素材 已选:{queryForm?.materials?.length || 0}
1 ? style.imgListGroup : style.otherGroup}> {queryForm?.materials?.map((item: any, index: number) => { let keys = Object.keys(item) if (keys?.includes('imageUrlList')) { return
{item?.imageUrlList?.map((url: string, index: number) =>
)}
} else if (keys?.includes('elementStory')) { return
{item?.elementStory?.map((item: { imageUrl: string }, index: number) =>
)}
} else { if (keys?.length > 1) { return
{keys?.includes('imageUrl') &&
} {keys?.includes('videoUrl') &&
} {keys?.includes('shortVideo1Url') &&
}
} else { if (keys?.includes('imageUrl')) { return
} else if (keys?.includes('videoUrl')) { return
} else if (keys?.includes('shortVideo1Url')) { return
} } return null } })}
{queryForm?.taskMediaMaps && queryForm?.taskMediaMaps?.length > 0 ? <> { setQueryForm({ ...queryForm, materials: data }) }} material={queryForm?.materialData} value={queryForm?.materials} sysAdcreative={queryForm?.taskMediaMaps[0]?.sysAdcreative} /> : 添加 }
{!(queryForm?.materialData && queryForm?.materialData?.length > 0) &&
无需配置素材
}
创意文案 已选:{queryForm?.texts?.length || 0}
{queryForm?.texts?.some((item: any) => item?.title) &&
标题
} {queryForm?.texts?.map((item: any, index: number) => { if (item?.title) { return
{item?.title}
} else { return null } })} {queryForm?.texts?.some((item: any) => item?.description) &&
广告详情
} {queryForm?.texts?.map((item: any, index: number) => { if (item?.description) { return
{item?.description}
} else { return null } })}
{queryForm?.taskMediaMaps && queryForm?.taskMediaMaps?.length > 0 ? <> { setQueryForm({ ...queryForm, texts: data }) }} /> : 添加 }
{!(queryForm?.textData && queryForm.textData?.length > 0) &&
无需配置文案
} } export default React.memo(CreativeCL)