|
@@ -56,7 +56,7 @@ const CreateAd: React.FC = () => {
|
|
|
expandTargeting: [],
|
|
|
model: 'cross'
|
|
|
})
|
|
|
- const [launchMode, setLaunchMode] = useState<number>(Number(localStorage.getItem('LAUNCHMODE')) || 1) // 投放模式 1 现在投放模式 2 创量模式
|
|
|
+ const [launchMode, setLaunchMode] = useState<number>(Number(localStorage.getItem('LAUNCHMODE')) || 0) // 0普通模式 1叉乘 2顺序
|
|
|
const [accountCreateLogs, setAccountCreateLogs] = useState<{ adAccountId: number, id: number, userActionSetsList?: any[], productList?: any, conversionList?: any, customAudienceList?: any, excludedCustomAudienceList?: any, pageList?: any, coldStartAudienceList?: any[] }[]>([]) // 账户
|
|
|
const [goodsVisible, setGoodsVisible] = useState<boolean>(false) // 选择商品弹窗控制
|
|
|
const [sourceVisible, setSourceVisible] = useState<boolean>(false) // 选择数据源弹窗控制
|
|
@@ -107,7 +107,7 @@ const CreateAd: React.FC = () => {
|
|
|
let taskId = sessionStorage.getItem('TASKID')
|
|
|
if (taskId) {
|
|
|
getTaskDetails.run(taskId).then(async res => {
|
|
|
- const { adCreateLogs, campaignType, promotedObjectType, speedMode, sysAdgroup, sysAdgroupId, sysTargeting, sysTargetingId } = res
|
|
|
+ const { adCreateLogs, campaignType, promotedObjectType, speedMode, sysAdgroup, sysAdgroupId, sysTargeting, sysTargetingId,putModel } = res
|
|
|
let adcreativeTemplateId = adCreateLogs[0]?.sysAdcreative?.adcreativeTemplateId
|
|
|
let sysPageId = adCreateLogs[0]?.sysPageId
|
|
|
let pageId = adCreateLogs[0]?.pageId
|
|
@@ -131,6 +131,7 @@ const CreateAd: React.FC = () => {
|
|
|
}).filter((item: any, index: number, self: any) => self.findIndex((i: any) => i.id == item.id) === index)
|
|
|
setAccountCreateLogs(adCreateLogsData)
|
|
|
|
|
|
+<<<<<<< HEAD
|
|
|
let type: 1 | 2 | 3 = 1
|
|
|
if (sysPageId && pageId) {
|
|
|
type = 1
|
|
@@ -147,6 +148,24 @@ const CreateAd: React.FC = () => {
|
|
|
type = 1
|
|
|
}
|
|
|
}
|
|
|
+=======
|
|
|
+ let type:0| 1 | 2 = putModel
|
|
|
+ // if (sysPageId && pageId) {
|
|
|
+ // type = 0
|
|
|
+ // } else if (sysPageId) {
|
|
|
+ // if (adCreateLogs?.every((item: { sysAdcreative: { adcreativeTemplateId: number }, sysPageId: number }) => item.sysAdcreative.adcreativeTemplateId === adcreativeTemplateId && (item.sysPageId === sysPageId))) {
|
|
|
+ // type = 1
|
|
|
+ // } else {
|
|
|
+ // type = 0
|
|
|
+ // }
|
|
|
+ // } else {
|
|
|
+ // if (adCreateLogs?.every((item: { sysAdcreative: { adcreativeTemplateId: number }, pageId: number }) => item.sysAdcreative.adcreativeTemplateId === adcreativeTemplateId)) {
|
|
|
+ // type = 1
|
|
|
+ // } else {
|
|
|
+ // type = 0
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+>>>>>>> d6702315621bb99938dd4c7b8c716a7be5d5d627
|
|
|
setLaunchMode(type)
|
|
|
|
|
|
/** 本地落地页处理 */
|
|
@@ -155,7 +174,7 @@ const CreateAd: React.FC = () => {
|
|
|
let adqPageList: any[] = []
|
|
|
let taskMediaMaps: any[] = []
|
|
|
let type2Data = {}
|
|
|
- if (type === 1) {
|
|
|
+ if (type === 0) {
|
|
|
const sorted = groupBy(adCreateLogs, (item) => [item.sysAdcreativeId])
|
|
|
pageList = sorted?.map((item: any[]) => {
|
|
|
if (item.some((item1: { sysPageId: number }) => item1.sysPageId)) {
|
|
@@ -535,7 +554,7 @@ const CreateAd: React.FC = () => {
|
|
|
message.error('请选择落地页')
|
|
|
return
|
|
|
}
|
|
|
- if (launchMode !== 1) {
|
|
|
+ if (launchMode !== 0) {
|
|
|
if ((queryForm?.materialData && queryForm?.materialData?.length > 0) && !(newQueryForm?.materials && newQueryForm?.materials?.length > 0)) {
|
|
|
message.error('请选择创意素材')
|
|
|
return
|
|
@@ -561,7 +580,7 @@ const CreateAd: React.FC = () => {
|
|
|
//最终数据
|
|
|
let data: any[] = []
|
|
|
// 素材叉乘处理
|
|
|
- if (launchMode !== 1) {
|
|
|
+ if (launchMode !== 0) {
|
|
|
if (Array.isArray(newQueryForm.materials) && Array.isArray(newQueryForm?.texts)) {
|
|
|
let taskMediaMap = JSON.parse(JSON.stringify(newQueryForm.taskMediaMaps[0]))
|
|
|
let adcreativeElements = taskMediaMap.sysAdcreative?.adcreativeElements || {}
|
|
@@ -573,7 +592,7 @@ const CreateAd: React.FC = () => {
|
|
|
}
|
|
|
}
|
|
|
console.log(newQueryForm.taskMediaMaps)
|
|
|
- if (launchMode !== 3) {//叉乘和普通模式
|
|
|
+ if (launchMode !== 2) {//叉乘和普通模式
|
|
|
accountCreateLogs.forEach((item: any) => {
|
|
|
newQueryForm.taskMediaMaps?.forEach((task, index) => {
|
|
|
let obj = {
|
|
@@ -582,7 +601,7 @@ const CreateAd: React.FC = () => {
|
|
|
sysAdGroupData: newQueryForm.sysAdgroup,
|
|
|
targetingData: newQueryForm.sysTargeting,
|
|
|
sysAdcreativeData: task.sysAdcreative,
|
|
|
- pageData: launchMode === 2 ? (newQueryForm.pageList as any)[0] || (newQueryForm.adqPageList as any)[0]?.find((adq: { adAccountId: any }) => adq.adAccountId === item.adAccountId)?.pageList[0] : (newQueryForm.pageList as any)[index] || (newQueryForm.adqPageList as any)[index]?.find((adq: { adAccountId: any }) => adq.adAccountId === item.adAccountId)?.pageList[0],
|
|
|
+ pageData: launchMode === 1 ? (newQueryForm.pageList as any)[0] || (newQueryForm.adqPageList as any)[0]?.find((adq: { adAccountId: any }) => adq.adAccountId === item.adAccountId)?.pageList[0] : (newQueryForm.pageList as any)[index] || (newQueryForm.adqPageList as any)[index]?.find((adq: { adAccountId: any }) => adq.adAccountId === item.adAccountId)?.pageList[0],
|
|
|
myId: Number(item.id + '' + index)
|
|
|
}
|
|
|
data.push(obj)
|
|
@@ -643,7 +662,7 @@ const CreateAd: React.FC = () => {
|
|
|
// 提交
|
|
|
const submit = (props: { campaignName: string, count?: number }) => {
|
|
|
let newQueryForm = JSON.parse(JSON.stringify(queryForm))
|
|
|
- if (launchMode !== 1) {
|
|
|
+ if (launchMode !== 0) {
|
|
|
if (Array.isArray(newQueryForm.materials) && Array.isArray(newQueryForm?.texts)) {
|
|
|
let taskMediaMap = JSON.parse(JSON.stringify(newQueryForm.taskMediaMaps[0]))
|
|
|
let adcreativeElements = taskMediaMap.sysAdcreative?.adcreativeElements || {}
|
|
@@ -719,6 +738,7 @@ const CreateAd: React.FC = () => {
|
|
|
params.sysAdgroup.expandTargeting = params?.expandTargeting
|
|
|
}
|
|
|
params.accountCreateLogs = accountLogs
|
|
|
+ params.putModel = launchMode
|
|
|
delete params.sysAdgroupId
|
|
|
delete params.sysAdcreativeId
|
|
|
delete params.sysTargetingId
|
|
@@ -902,14 +922,9 @@ const CreateAd: React.FC = () => {
|
|
|
const switchLaunchMode = (mode: number) => {
|
|
|
setLaunchMode(mode)
|
|
|
localStorage.setItem('LAUNCHMODE', mode.toString())
|
|
|
- // if (launchMode === 1) {
|
|
|
- // setLaunchMode(2)
|
|
|
- // localStorage.setItem('LAUNCHMODE', '2')
|
|
|
- // } else {
|
|
|
- // setLaunchMode(1)
|
|
|
- // localStorage.setItem('LAUNCHMODE', '1')
|
|
|
- // }
|
|
|
- delBdPlan()
|
|
|
+ if(launchMode === 0 || mode === 0){
|
|
|
+ delBdPlan()
|
|
|
+ }
|
|
|
set_targetKey('0')
|
|
|
}
|
|
|
|
|
@@ -947,21 +962,21 @@ const CreateAd: React.FC = () => {
|
|
|
<div className={style.cardTitle}>配置区</div>
|
|
|
<Select
|
|
|
style={{ width: 100 }} size="small"
|
|
|
- value={launchMode}
|
|
|
+ value={Number(launchMode)}
|
|
|
onChange={(value) => {
|
|
|
switchLaunchMode(value)
|
|
|
}}
|
|
|
options={[
|
|
|
{
|
|
|
- value: 1,
|
|
|
+ value: 0,
|
|
|
label: "普通模式",
|
|
|
},
|
|
|
{
|
|
|
- value: 2,
|
|
|
+ value: 1,
|
|
|
label: "叉乘模式",
|
|
|
},
|
|
|
{
|
|
|
- value: 3,
|
|
|
+ value: 2,
|
|
|
label: "顺序模式",
|
|
|
}
|
|
|
]}>
|
|
@@ -1074,7 +1089,7 @@ const CreateAd: React.FC = () => {
|
|
|
})}
|
|
|
</Select>
|
|
|
</Selector>
|
|
|
- {launchMode !== 1 && accountCreateLogs?.length > 0 && <>
|
|
|
+ {launchMode !== 0 && accountCreateLogs?.length > 0 && <>
|
|
|
<Button onClick={() => { setGoodsVisible(true) }}>商品广告(选填){accountCreateLogs?.some(item => item?.productList?.length) && <CheckOutlined style={{ color: '#1890ff' }} />}</Button>
|
|
|
<Button onClick={() => { setSourceVisible(true) }}>精准匹配归因(选填){accountCreateLogs?.some(item => item?.userActionSetsList?.length) && <CheckOutlined style={{ color: '#1890ff' }} />}</Button>
|
|
|
</>}
|
|
@@ -1082,7 +1097,7 @@ const CreateAd: React.FC = () => {
|
|
|
|
|
|
<div className={style.cardBody}>
|
|
|
<Row className={style.content}>
|
|
|
- <Col span={launchMode === 1 ? 12 : 8} xl={launchMode === 1 ? 12 : 8} lg={24} md={24} sm={24} xs={24} className={style.conLeft}>
|
|
|
+ <Col span={launchMode === 0 ? 12 : 8} xl={launchMode === 0 ? 12 : 8} lg={24} md={24} sm={24} xs={24} className={style.conLeft}>
|
|
|
<Row className={`${style.conTitle} ${style.conRightBorder}`}><Col span={24}>广告</Col></Row>
|
|
|
<Row className={style.items}>
|
|
|
{/* =============广告基本信息=========== */}
|
|
@@ -1101,7 +1116,7 @@ const CreateAd: React.FC = () => {
|
|
|
accountCreateLogs={accountCreateLogs}
|
|
|
/>
|
|
|
|
|
|
- {launchMode === 1 && <>
|
|
|
+ {launchMode === 0 && <>
|
|
|
{/* =============商品=========== */}
|
|
|
<Col className={style.conRightBorder} span={5}>
|
|
|
<div className={style.top}>
|
|
@@ -1169,7 +1184,7 @@ const CreateAd: React.FC = () => {
|
|
|
</Row>
|
|
|
</Col>
|
|
|
{/* =============广告创意=========== */}
|
|
|
- {launchMode === 1 ? <Col span={12} xl={12} lg={24} md={24} sm={24} xs={24} className={style.conRight}>
|
|
|
+ {launchMode === 0 ? <Col span={12} xl={12} lg={24} md={24} sm={24} xs={24} className={style.conRight}>
|
|
|
<Row className={style.conTitle}><Col span={24}>广告创意</Col></Row>
|
|
|
<Row className={style.items}>
|
|
|
{/* 创意 */}
|