import React, { useContext, useEffect, useState } from "react" import style from '../index.less' import { Button, Typography } from "antd" import { DispatchAddelivery } from ".."; import { PlusCircleOutlined, RedoOutlined } from "@ant-design/icons"; import NewText from "./newText"; const { Title, Text } = Typography; const MaterialText: React.FC = () => { /*************************************/ const { textData, addelivery, setAddelivery, clearData } = useContext(DispatchAddelivery)!; const { dynamic, dynamicCreativesTextDTOS, dynamicMaterialDTos, mediaType } = addelivery const [addVisible, setAddVisible] = useState(false) const [descName, setDescName] = useState('') const [titleName, setTitleName] = useState('') /*************************************/ useEffect(() => { if (textData && Object.keys(textData).length > 0) { Object.keys(textData).forEach(key => { let item = textData[key] let content = item.children.content if (key === 'description') { setDescName(content.description) } else if (key === 'title') { setTitleName(content.description) } }) } }, [textData]) return
创意文案 已选 {dynamicCreativesTextDTOS?.dynamicCreativesTextDetailDTOList?.length || 0} {(dynamicCreativesTextDTOS && Object.keys(dynamicCreativesTextDTOS).length > 0) ? : null}
{dynamicCreativesTextDTOS?.type === 0 ? '全部相同' : dynamicCreativesTextDTOS?.type === 1 ? '按创意组一一对应' : dynamicCreativesTextDTOS?.type === 2 ? '按文案顺序分配' : dynamicCreativesTextDTOS?.type === 3 ? '先分配创意组,文案后叉乘': dynamicCreativesTextDTOS?.type === 4 ? '创意组和文案叉乘打乱后分配' : null} {dynamicCreativesTextDTOS?.dynamicCreativesTextDetailDTOList?.map((item: { [x: string]: (boolean | React.ReactPortal | null | undefined)[]; }, index: number) => { if (item) { let keys = Object.keys(item) return
{keys.includes('description') ? <> {descName} {item['description'].map((t, index) =>
{t}
)} : keys.includes('title') ? <> {titleName} {item['title'].map((t, index) =>
{t}
)} : null}
} return null })} {((dynamic && Object.keys(dynamic).length > 0) && !(textData && Object.keys(textData).length > 0)) &&
无需设置创意文案
}
{addVisible && { setAddVisible(false) }} onChange={(values) => { setAddelivery({ ...addelivery, dynamicCreativesTextDTOS: values }) setAddVisible(false) clearData() }} />}
} export default React.memo(MaterialText)