wjx hace 2 años
padre
commit
46802c7300
Se han modificado 1 ficheros con 19 adiciones y 10 borrados
  1. 19 10
      src/pages/launchSystemNew/launchManage/createAd/index.tsx

+ 19 - 10
src/pages/launchSystemNew/launchManage/createAd/index.tsx

@@ -89,7 +89,6 @@ const CreateAd: React.FC = () => {
     useEffect(() => {
         getGroupList.run()
     }, [])
-  
 
     /** 判断出价方式,优化目标 “二方包”人群包仅能在出价方式为CPC(包含oCPM点击优化目标)、CPM场景下使用 */
     // useEffect(() => {
@@ -141,7 +140,7 @@ const CreateAd: React.FC = () => {
                         type = 1
                     }
                 } else {
-                    if (adCreateLogs?.every((item: { sysAdcreative: { adcreativeTemplateId: number }, pageId: number }) => item.sysAdcreative.adcreativeTemplateId === adcreativeTemplateId && item.pageId === pageId)) {
+                    if (adCreateLogs?.every((item: { sysAdcreative: { adcreativeTemplateId: number }, pageId: number }) => item.sysAdcreative.adcreativeTemplateId === adcreativeTemplateId)) {
                         type = 2
                     } else {
                         type = 1
@@ -219,11 +218,17 @@ const CreateAd: React.FC = () => {
                         pageList = [null]
                     }
                     if (adCreateLog?.pageId) {
-                        adqPageList = [[{
-                            pageList: [{ ...adCreateLog.page, id: adCreateLog.page.pageId }],
-                            adAccountId: adCreateLog?.accountId,
-                            id: adCreateLog?.adAccountId,
-                        }]]
+                        adqPageList = groupBy(adCreateLogs, (item) => [item.sysAdcreativeId])?.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
+                            }
+                        })
                     } else {
                         adqPageList = [null]
                     }
@@ -852,7 +857,8 @@ const CreateAd: React.FC = () => {
             setAccountCreateLogs([])
         }
     }
-
+    console.log('accountCreateLogs', accountCreateLogs);
+    
     return <Space direction="vertical" style={{ width: '100%' }}>
         <Card
             title={<Space>
@@ -895,6 +901,9 @@ const CreateAd: React.FC = () => {
                         maxTagCount={1}
                         allowClear
                         bordered={false}
+                        maxTagPlaceholder={<Tooltip color="#FFF" title={accountCreateLogs.filter((item, index) => index !== 0).map(item => <div key={item.id} style={{ color: '#000' }}>{item.adAccountId}</div>)}>
+                            <span>+{accountCreateLogs?.length > 1 ? accountCreateLogs.length - 1 : 0}</span>
+                        </Tooltip>}
                         dropdownMatchSelectWidth={false}
                         filterOption={(input: any, option: any) => {
                             return option!.children?.toString().toLowerCase().includes(input.toLowerCase())
@@ -903,11 +912,11 @@ const CreateAd: React.FC = () => {
                         onChange={(e, option) => {
                             console.log(option)
                             setQueryForm({ ...queryForm, adqPageList: [], pageList: [], taskMediaMaps: queryForm?.taskMediaMaps?.map((item: { sysPageId: number }) => ({ ...item, sysPageId: '', accountPageIdMap: {}, cropUserGroupMap: [] })) })
-                            setAccountCreateLogs(option?.map((item: any) => ({ adAccountId: item?.children?.toString()?.split('——')[0], id: item?.value })))
+                            setAccountCreateLogs(option?.map((item: any) => ({ adAccountId: item?.children?.toString()?.split('_')[0], id: item?.value })))
                             clearData()
                         }}
                     >
-                        {getAllUserAccount?.data?.data?.map((item: any) => <Select.Option value={item.id} key={item.id}>{item.remark ? item.accountId + '——' + item.remark : item.accountId}</Select.Option>)}
+                        {getAllUserAccount?.data?.data?.map((item: any) => <Select.Option value={item.id} key={item.id}>{item.remark ? item.accountId + '_' + item.remark : item.accountId}</Select.Option>)}
                     </Select>
                 </Selector>
                 <Selector label="推广目标">