|
@@ -89,18 +89,18 @@ const CreateAd: React.FC = () => {
|
|
|
useEffect(() => {
|
|
|
getGroupList.run()
|
|
|
}, [])
|
|
|
-
|
|
|
+
|
|
|
|
|
|
/** 判断出价方式,优化目标 “二方包”人群包仅能在出价方式为CPC(包含oCPM点击优化目标)、CPM场景下使用 */
|
|
|
- useEffect(() => {
|
|
|
- if (queryForm?.sysAdgroup && Object.keys(queryForm?.sysAdgroup).length > 0 && (!['BID_MODE_CPC', 'BID_MODE_CPM'].includes(queryForm?.sysAdgroup?.bidMode) || !(queryForm?.sysAdgroup?.bidMode === 'BID_MODE_OCPM' && queryForm?.sysAdgroup?.optimizationGoal === 'OPTIMIZATIONGOAL_CLICK'))) {
|
|
|
- setAccountCreateLogs(() => accountCreateLogs.map(item => {
|
|
|
- delete item?.customAudienceList
|
|
|
- delete item?.excludedCustomAudienceList
|
|
|
- return item
|
|
|
- }))
|
|
|
- }
|
|
|
- }, [queryForm?.sysAdgroup])
|
|
|
+ // useEffect(() => {
|
|
|
+ // if (queryForm?.sysAdgroup && Object.keys(queryForm?.sysAdgroup).length > 0 && (!['BID_MODE_CPC', 'BID_MODE_CPM'].includes(queryForm?.sysAdgroup?.bidMode) || !(queryForm?.sysAdgroup?.bidMode === 'BID_MODE_OCPM' && queryForm?.sysAdgroup?.optimizationGoal === 'OPTIMIZATIONGOAL_CLICK'))) {
|
|
|
+ // setAccountCreateLogs(() => accountCreateLogs.map(item => {
|
|
|
+ // delete item?.customAudienceList
|
|
|
+ // delete item?.excludedCustomAudienceList
|
|
|
+ // return item
|
|
|
+ // }))
|
|
|
+ // }
|
|
|
+ // }, [queryForm?.sysAdgroup])
|
|
|
|
|
|
/**数据回填 */
|
|
|
useEffect(() => {
|
|
@@ -111,6 +111,26 @@ const CreateAd: React.FC = () => {
|
|
|
let adcreativeTemplateId = adCreateLogs[0]?.sysAdcreative?.adcreativeTemplateId
|
|
|
let sysPageId = adCreateLogs[0]?.sysPageId
|
|
|
let pageId = adCreateLogs[0]?.pageId
|
|
|
+
|
|
|
+ // 账号信息相关
|
|
|
+ let adCreateLogsData = adCreateLogs?.map((item: any) => {
|
|
|
+ return {
|
|
|
+ adAccountId: item?.accountId,
|
|
|
+ id: item?.adAccountId,
|
|
|
+ // 数据源
|
|
|
+ userActionSetsList: item?.userActionSetList?.map((item: any) => ({ ...item, id: item?.userActionSetId })),
|
|
|
+ // 商品
|
|
|
+ productList: item?.product ? [{ ...item?.product, productCatalog: item?.productCatalog, id: Number(item?.product?.productOuterId?.replace(/\D/ig, '')) }] : undefined,
|
|
|
+ coldStartAudienceList: item?.coldStartAudienceList?.map((item: any) => ({ ...item, id: item.audienceId })),
|
|
|
+ // pageList: [item.page]
|
|
|
+ // 定向用户群
|
|
|
+ customAudienceList: item?.customAudienceList?.map((item: any) => ({ ...item, id: item.audienceId })),
|
|
|
+ // 排除用户群
|
|
|
+ excludedCustomAudienceList: item?.excludedCustomAudienceList?.map((item: any) => ({ ...item, id: item.audienceId }))
|
|
|
+ }
|
|
|
+ }).filter((item: any, index: number, self: any) => self.findIndex((i: any) => i.id == item.id) === index)
|
|
|
+ setAccountCreateLogs(adCreateLogsData)
|
|
|
+
|
|
|
let type: 1 | 2 = 1
|
|
|
if (sysPageId && pageId) {
|
|
|
type = 1
|
|
@@ -134,29 +154,28 @@ const CreateAd: React.FC = () => {
|
|
|
/** 云端落地页 */
|
|
|
let adqPageList: any[] = []
|
|
|
let taskMediaMaps: any[] = []
|
|
|
- const sorted = groupBy(adCreateLogs, (item) => [item.accountId])
|
|
|
let type2Data = {}
|
|
|
-
|
|
|
if (type === 1) {
|
|
|
- pageList = sorted[0]?.map((item: any) => {
|
|
|
- if (item?.sysPageId) {
|
|
|
- return item.sysPage
|
|
|
+ const sorted = groupBy(adCreateLogs, (item) => [item.sysAdcreativeId])
|
|
|
+ pageList = sorted?.map((item: any[]) => {
|
|
|
+ if (item.some((item1: { sysPageId: number }) => item1.sysPageId)) {
|
|
|
+ return item[0].sysPage
|
|
|
} else {
|
|
|
return null
|
|
|
}
|
|
|
})
|
|
|
- adqPageList = sorted[0]?.map((item: any) => {
|
|
|
- if (item?.pageId) {
|
|
|
- return {
|
|
|
- pageList: [{ ...item.page, id: item.page.pageId }],
|
|
|
- adAccountId: item?.accountId,
|
|
|
- id: item?.adAccountId,
|
|
|
- }
|
|
|
+ adqPageList = sorted?.map((item: any[]) => {
|
|
|
+ if (item.some((item1: { pageId: number }) => item1.pageId)) {
|
|
|
+ return item.map((item1: any) => ({
|
|
|
+ pageList: [{ ...item1.page, id: item1.page.pageId }],
|
|
|
+ adAccountId: item1?.accountId,
|
|
|
+ id: item1?.adAccountId,
|
|
|
+ }))
|
|
|
} else {
|
|
|
return null
|
|
|
}
|
|
|
})
|
|
|
- taskMediaMaps = sorted[0]?.map((item: any, index: number) => {
|
|
|
+ taskMediaMaps = groupBy(adCreateLogs, (item) => [item.accountId])?.[0]?.map((item: any, index: number) => {
|
|
|
let pageElementsSpecList = item?.sysPage?.pageSpecsList[0]?.pageElementsSpecList // 内容区
|
|
|
let globalSpec = item?.sysPage?.globalSpec // 悬浮组件
|
|
|
/** 处理客服 */
|
|
@@ -171,7 +190,7 @@ const CreateAd: React.FC = () => {
|
|
|
if ((globalSpec?.globalElementsSpecList?.length > 0 && globalSpec?.globalElementsSpecList)) {
|
|
|
groupList.push({ type: 2, name: '悬浮组件', cropList: [] })
|
|
|
}
|
|
|
- cropUserGroupMap = groupBy(adCreateLogs, (item) => [item.sysAdcreativeId])[0]?.map((item: any) => {
|
|
|
+ cropUserGroupMap = sorted[0]?.map((item: any) => {
|
|
|
let corpUserGroup1s = item?.corpUserGroup1s
|
|
|
let corpUserGroup2s = item?.corpUserGroup2s
|
|
|
return {
|
|
@@ -192,6 +211,7 @@ const CreateAd: React.FC = () => {
|
|
|
return { sysAdcreative: item?.sysAdcreative, sysPageId: item?.sysPageId, cropUserGroupMap, accountPageIdMap }
|
|
|
})
|
|
|
} else {
|
|
|
+ const sorted = groupBy(adCreateLogs, (item) => [item.accountId])
|
|
|
let adCreateLog = adCreateLogs[0]
|
|
|
if (adCreateLog?.sysPageId) {
|
|
|
pageList = [adCreateLog?.sysPage]
|
|
@@ -351,25 +371,6 @@ const CreateAd: React.FC = () => {
|
|
|
pageList,
|
|
|
adqPageList
|
|
|
})
|
|
|
-
|
|
|
- // 账号信息相关
|
|
|
- let adCreateLogsData = adCreateLogs?.map((item: any) => {
|
|
|
- return {
|
|
|
- adAccountId: item?.accountId,
|
|
|
- id: item?.adAccountId,
|
|
|
- // 数据源
|
|
|
- userActionSetsList: item?.userActionSetList?.map((item: any) => ({ ...item, id: item?.userActionSetId })),
|
|
|
- // 商品
|
|
|
- productList: item?.product ? [{ ...item?.product, productCatalog: item?.productCatalog, id: Number(item?.product?.productOuterId?.replace(/\D/ig, '')) }] : undefined,
|
|
|
- coldStartAudienceList: item?.coldStartAudienceList?.map((item: any) => ({ ...item, id: item.audienceId })),
|
|
|
- // pageList: [item.page]
|
|
|
- // 定向用户群
|
|
|
- customAudienceList: item?.customAudienceList?.map((item: any) => ({ ...item, id: item.audienceId })),
|
|
|
- // 排除用户群
|
|
|
- excludedCustomAudienceList: item?.excludedCustomAudienceList?.map((item: any) => ({ ...item, id: item.audienceId }))
|
|
|
- }
|
|
|
- }).filter((item: any, index: number, self: any) => self.findIndex((i: any) => i.id == item.id) === index)
|
|
|
- setAccountCreateLogs(adCreateLogsData)
|
|
|
})
|
|
|
sessionStorage.removeItem('TASKID')
|
|
|
} else {
|