shenwu há 1 ano atrás
pai
commit
d670231562

+ 40 - 44
src/pages/launchSystemNew/launchManage/createAd/index.tsx

@@ -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,22 +131,22 @@ const CreateAd: React.FC = () => {
                 }).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
-                } else if (sysPageId) {
-                    if (adCreateLogs?.every((item: { sysAdcreative: { adcreativeTemplateId: number }, sysPageId: number }) => item.sysAdcreative.adcreativeTemplateId === adcreativeTemplateId && (item.sysPageId === sysPageId))) {
-                        type = 2
-                    } else {
-                        type = 1
-                    }
-                } else {
-                    if (adCreateLogs?.every((item: { sysAdcreative: { adcreativeTemplateId: number }, pageId: number }) => item.sysAdcreative.adcreativeTemplateId === adcreativeTemplateId)) {
-                        type = 2
-                    } else {
-                        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
+                //     }
+                // }
                 setLaunchMode(type)
 
                 /** 本地落地页处理 */
@@ -155,7 +155,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 +535,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 +561,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 +573,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 +582,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 +643,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 +719,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
@@ -734,7 +735,7 @@ const CreateAd: React.FC = () => {
         delete params?.model
         params.targetSingle = true
         console.log('paramsSubmit====>', params)
-        return
+        // return
         createAdBatch.run(params).then(res => {
             if (res) {
                 Modal.success({
@@ -903,14 +904,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')
     }
 
@@ -948,23 +944,23 @@ 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,
-                            //     label: "顺序模式",
-                            // }
+                            {
+                                value: 2,
+                                label: "顺序模式",
+                            }
                         ]}>
                     </Select>
                     {/* <Popconfirm
@@ -1075,7 +1071,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>
                 </>}
@@ -1083,7 +1079,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}>
                             {/* =============广告基本信息=========== */}
@@ -1102,7 +1098,7 @@ const CreateAd: React.FC = () => {
                                 accountCreateLogs={accountCreateLogs}
                             />
 
-                            {launchMode === 1 && <>
+                            {launchMode === 0 && <>
                                 {/* =============商品=========== */}
                                 <Col className={style.conRightBorder} span={5}>
                                     <div className={style.top}>
@@ -1170,7 +1166,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}>
                             {/* 创意 */}

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

@@ -44,6 +44,7 @@ const TaskList: React.FC = () => {
             case 'copy':
                 console.log('111111111111--->', data);
                 sessionStorage.setItem('TASKID', data.taskId)
+                sessionStorage.setItem('LAUNCHMODE', data.putModel)
                 window.location.href = '/#/launchSystemNew/launchManage/createAd'
                 break
         }

+ 1 - 1
src/pages/launchSystemNew/launchManage/taskList/tableConfig.tsx

@@ -14,7 +14,7 @@ function tableConfig(callback: (data: any, type: 'log' | 'page' | 'copy', allDat
             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>
+                    <a style={{ color: '#1890ff', fontSize: 12 }} onClick={() => { callback({ taskId: b.id, campaignName: b.campaignName,putModel:b.putModel }, 'copy') }}>复制</a>
                 </Space>
             }
         },