Selaa lähdekoodia

Merge branch 'develop' of http://git.zanxiangnet.com/wjx/ad-manage

wjx 2 vuotta sitten
vanhempi
commit
248475348d
1 muutettua tiedostoa jossa 35 lisäystä ja 34 poistoa
  1. 35 34
      src/pages/launchSystemNew/launchManage/createAd/index.tsx

+ 35 - 34
src/pages/launchSystemNew/launchManage/createAd/index.tsx

@@ -89,7 +89,7 @@ const CreateAd: React.FC = () => {
     useEffect(() => {
         getGroupList.run()
     }, [])
-
+  
 
     /** 判断出价方式,优化目标 “二方包”人群包仅能在出价方式为CPC(包含oCPM点击优化目标)、CPM场景下使用 */
     // 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 {