wjx 2 лет назад
Родитель
Сommit
0f5753615e

+ 61 - 6
src/pages/launchSystemNew/launchManage/createAd/index.tsx

@@ -26,6 +26,7 @@ import TargetIng from './targeting'
 import Creative from './creative'
 import AddGroup from '../../components/addGroup'
 import CustomerServiceModal from "../../components/customerServiceModal"
+import { getTaskDetailsApi } from "@/services/launchAdq/taskList"
 
 const CreateAd: React.FC = () => {
 
@@ -76,15 +77,69 @@ const CreateAd: React.FC = () => {
     const getsysTargeting = useAjax((params) => getsysTargetingInfo(params))
     const getSysAdcreative = useAjax((params) => getSysAdcreativeInfo(params))
     const createAdBatch = useAjax((params) => createAdBatchApi(params))
+    const getTaskDetails = useAjax((params) => getTaskDetailsApi(params))
     /*************************/
 
+    console.log('accountCreateLogs----->', accountCreateLogs);
+    
+
     /**数据回填 */
     useEffect(() => {
-        let adqAdData = localStorage.getItem('ADQAD')
-        if (adqAdData) {
-            const { queryForm, accountCreateLogs } = JSON.parse(adqAdData)
-            setQueryForm({ ...queryForm })
-            setAccountCreateLogs(accountCreateLogs)
+        let taskId = sessionStorage.getItem('TASKID')
+        if (taskId) {
+            getTaskDetails.run(taskId).then(res => {
+                console.log('res----->', res)
+                const { adCreateLogs, campaignType, promotedObjectType, speedMode, sysAdgroup, sysAdgroupId, sysTargeting, sysTargetingId } = res
+                setAccountCreateLogs(adCreateLogs?.map((item: any) => {
+
+                    return { adAccountId: item?.accountId, id: item?.adAccountId }
+                }))
+                let taskMediaMaps = adCreateLogs?.map((item: any) => {
+                    let pageElementsSpecList = item?.sysPage?.pageSpecsList[0]?.pageElementsSpecList // 内容区
+                    let globalSpec = item?.sysPage?.globalSpec  // 悬浮组件
+                    /** 处理客服 */
+                    let cropUserGroupMap: any[] = []
+                    // if ((pageElementsSpecList as any[])?.some((item: { elementType: string }) => item?.elementType === 'ENTERPRISE_WX') || (globalSpec?.globalElementsSpecList?.length > 0 && globalSpec?.globalElementsSpecList?.some((item: { floatButtonSpec: { elementType: string } }) => item?.floatButtonSpec?.elementType === 'ENTERPRISE_WX'))) {
+                    //     let groupList: { type: number, name: string, cropList: any[], cropId?: number, groupId?: number }[] = [];
+                    //     (pageElementsSpecList as any[])?.forEach((item: { elementType: string, enterpriseWxSpec: { btnTitle: string } }) => {
+                    //         if (item?.elementType === 'ENTERPRISE_WX') {
+                    //             groupList.push({ type: 1, name: '联系商家', cropList: [] }) // item.enterpriseWxSpec.btnTitle
+                    //         }
+                    //     })
+                    //     if ((globalSpec?.globalElementsSpecList?.length > 0 && globalSpec?.globalElementsSpecList)) {
+                    //         groupList.push({ type: 2, name: '悬浮组件', cropList: [] })
+                    //     }
+                    //     cropUserGroupMap = adCreateLogs?.map((item: any) => ({ adAccountId: item.accountId, id: item.adAccountId, data: groupList }))
+                    // }
+                    return { sysAdcreative: item?.sysAdcreative, sysPageId: item?.sysPageId, cropUserGroupMap }
+                })
+                let pageList = adCreateLogs?.map((item: any) => {
+                    return item?.sysPage || null
+                })
+                setQueryForm({ 
+                    ...queryForm, 
+                    campaignType, 
+                    promotedObjectType, 
+                    speedMode, 
+                    sysAdgroup, 
+                    sysAdgroupId, 
+                    sysTargeting, 
+                    sysTargetingId, 
+                    adgroupName: sysAdgroup?.adgroupName,
+                    configuredStatus: sysAdgroup?.configuredStatus,
+                    expandEnabled: sysAdgroup?.expandEnabled || false, 
+                    expandTargeting: sysAdgroup?.expandTargeting || [],
+                    taskMediaMaps: taskMediaMaps || [],
+                    pageList,
+                })
+            })
+        } else {
+            let adqAdData = localStorage.getItem('ADQAD')
+            if (adqAdData) {
+                const { queryForm, accountCreateLogs } = JSON.parse(adqAdData)
+                setQueryForm({ ...queryForm })
+                setAccountCreateLogs(accountCreateLogs)
+            }
         }
     }, [])
     // 设置地域
@@ -676,7 +731,7 @@ const CreateAd: React.FC = () => {
                                                 init({ mediaType: 'PAGE', cloudSize: undefined })
                                             }
                                         }}>{queryForm?.taskMediaMaps && queryForm?.taskMediaMaps[targetKey]?.sysPageId ? '修改' : '选择落地页'}</Button>
-                                        
+
                                         {accountCreateLogs?.length > 0 ? <Button type="link" onClick={() => {
                                             setPageVisible(true)
                                             if (queryForm?.taskMediaMaps && queryForm?.taskMediaMaps[targetKey]?.sysAdcreative?.overrideCanvasHeadOption === 'OPTION_CANVAS_OVERRIDE_CREATIVE') {

+ 6 - 1
src/pages/launchSystemNew/launchManage/taskList/index.tsx

@@ -34,13 +34,18 @@ const TaskList: React.FC = () => {
         getTaskList.run(queryForm)
     }
 
-    const callback = (data: any, type: 'log' | 'page', allData?: any) => {
+    const callback = (data: any, type: 'log' | 'page' | 'copy', allData?: any) => {
         switch (type) {
             case 'log':
                 setLogData({ ...data })
                 setLogVisible(true)
                 setAllData(allData)
                 break
+            case 'copy':
+                console.log('111111111111--->', data);
+                sessionStorage.setItem('TASKID', data.taskId)
+                window.location.href = '/#/launchSystemNew/launchManage/createAd'
+                break
         }
     }
 

+ 3 - 2
src/pages/launchSystemNew/launchManage/taskList/tableConfig.tsx

@@ -3,17 +3,18 @@ import { Badge, Space } from "antd"
 import { AdStatus, PromotedObjectType, SpeedMode } from "@/services/launchAdq/enum"
 import TargetingPopover from "../../components/targetingPopover"
 import AdPopover from "../../components/adPopover"
-function tableConfig(callback: (data: any, type: 'log' | 'page', allData?: any) => void): any {
+function tableConfig(callback: (data: any, type: 'log' | 'page' | 'copy', allData?: any) => void): any {
     return [
         {
             title: '操作',
             dataIndex: 'taskName',
             key: 'taskName',
-            width: 60,
+            width: 80,
             align: 'center',
             render: (a: any, b: any) => {
                 return <Space>
                     <a style={{ color: '#1890ff', fontSize: 12 }} onClick={() => { callback({ taskId: b.id, campaignName: b.campaignName }, 'log', b) }}>日志</a>
+                    <a style={{ color: '#1890ff', fontSize: 12 }} onClick={() => { callback({ taskId: b.id, campaignName: b.campaignName }, 'copy') }}>复制</a>
                 </Space>
             }
         },

+ 5 - 1
src/services/launchAdq/taskList.ts

@@ -19,7 +19,11 @@ export async function getTaskListApi(data: TaskListProps) {
     });
 }
 
-
+export async function getTaskDetailsApi(taskId: number) {
+    return request(api + `/adq/adCreateTask/${taskId}`, {
+        method: 'GET'
+    });
+}
 
 /**
  * 任务日志列表