|
@@ -1,9 +1,10 @@
|
|
|
import React, { useContext, useEffect, useState } from "react"
|
|
|
import style from '../index.less'
|
|
|
-import { Button, Typography } from "antd"
|
|
|
+import { Button, message, Tooltip, Typography } from "antd"
|
|
|
import { DispatchAddelivery } from "..";
|
|
|
-import { PlusCircleOutlined, RedoOutlined } from "@ant-design/icons";
|
|
|
+import { PlusCircleOutlined, RedoOutlined, SyncOutlined } from "@ant-design/icons";
|
|
|
import NewText from "./newText";
|
|
|
+import { shuffleArray } from "@/utils/utils";
|
|
|
const { Title, Text } = Typography;
|
|
|
|
|
|
|
|
@@ -32,9 +33,28 @@ const MaterialText: React.FC<{ adDataGroup?: { [x: number]: any[] } }> = ({ adDa
|
|
|
}
|
|
|
}, [textData])
|
|
|
|
|
|
+ const handleDisruption = () => {
|
|
|
+ const textDto: { description: string[] }[] = dynamicCreativesTextDTOS.dynamicCreativesTextDetailDTOList
|
|
|
+ if (textDto?.[0]?.description) {
|
|
|
+ const textDtoArr = shuffleArray(textDto.reduce((acc: string[], val) => acc.concat(val.description), []))
|
|
|
+ setAddelivery({
|
|
|
+ ...addelivery,
|
|
|
+ dynamicCreativesTextDTOS: { ...dynamicCreativesTextDTOS, dynamicCreativesTextDetailDTOList: textDto.map(item => ({ description: textDtoArr.splice(0, item.description.length) })) }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ message.error('打乱文案出错,请联系管理员')
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
return <div className={`${style.settingsBody_content_row} ${style.row5}`}>
|
|
|
<div className={style.title}>
|
|
|
- <span>创意文案 <span className={style.selected}>已选 {dynamicCreativesTextDTOS?.dynamicCreativesTextDetailDTOList?.length || 0}</span></span>
|
|
|
+ <span>
|
|
|
+ 创意文案
|
|
|
+ <span className={style.selected}>已选 {dynamicCreativesTextDTOS?.dynamicCreativesTextDetailDTOList?.length || 0}</span>
|
|
|
+ {dynamicCreativesTextDTOS?.dynamicCreativesTextDetailDTOList?.length > 1 && <Tooltip title="随机打乱文案">
|
|
|
+ <a style={{ marginLeft: 8, fontSize: 12 }} onClick={handleDisruption}><SyncOutlined /></a>
|
|
|
+ </Tooltip>}
|
|
|
+ </span>
|
|
|
{(dynamicCreativesTextDTOS && Object.keys(dynamicCreativesTextDTOS).length > 0) ? <Button type="link" size="small" style={{ fontSize: 11, padding: 0 }} onClick={() => setAddelivery({ ...addelivery, dynamicCreativesTextDTOS: {} })}><RedoOutlined />清空</Button> : null}
|
|
|
</div>
|
|
|
<div className={style.detail}>
|