| 
					
				 | 
			
			
				@@ -249,64 +249,112 @@ const AddDynamic: React.FC<PULLIN.NewAddDynamic> = ({ visible, onChange, onClose 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const { dynamic, dynamicMaterialDTos, dynamicCreativesTextDTOS, mediaType } = addelivery 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let dynamicMaterialDTOS = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if ((materialData && Object.keys(materialData).length && dynamicMaterialDTos && Object.keys(dynamicMaterialDTos).length)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            let mType = Object.keys(materialData)[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            dynamicMaterialDTOS = dynamicMaterialDTos.dynamicGroup?.map((item: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (mType === 'image') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return [{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        type: mType, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        valueJson: JSON.stringify({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            value: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                imageUrl: item?.image_id?.url, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                imageId: item?.image_id?.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                materialType: item?.image_id?.materialType 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    }] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } else if (mType === 'image_list' || mType === 'element_story') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    let key = 'image_list' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (mType === 'element_story') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        key = 'element_story' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    let list = item?.[key]?.map((l: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            imageUrl: l?.url, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            imageId: l?.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            materialType: l?.materialType 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (dynamic.deliveryMode === 'DELIVERY_MODE_CUSTOMIZE') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if ((materialData && Object.keys(materialData).length && dynamicMaterialDTos && Object.keys(dynamicMaterialDTos).length)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let mType = Object.keys(materialData)[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                dynamicMaterialDTOS = dynamicMaterialDTos.dynamicGroup?.map((item: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (mType === 'image') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        return [{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            type: mType, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            valueJson: JSON.stringify({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                value: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    imageUrl: item?.image_id?.url, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    imageId: item?.image_id?.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    materialType: item?.image_id?.materialType 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        }] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } else if (mType === 'image_list' || mType === 'element_story') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        let key = 'image_list' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (mType === 'element_story') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            key = 'element_story' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return [{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        type: mType, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        valueJson: JSON.stringify({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            value: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        let list = item?.[key]?.map((l: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                imageUrl: l?.url, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                imageId: l?.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                materialType: l?.materialType 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    }] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } else if (['short_video', 'video'].includes(mType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    let value: any = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        materialType: item?.video_id?.materialType || item?.short_video1?.materialType || 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        videoUrl: item?.video_id?.url || item?.short_video1?.url, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        videoId: item?.video_id?.id || item?.short_video1?.id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (item?.cover_id?.url) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        value.imageUrl = item?.cover_id?.url 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        value.imageId = item?.cover_id?.id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        value.materialCoverType = item?.cover_id?.materialType 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        return [{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            type: mType, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            valueJson: JSON.stringify({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                value: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        }] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } else if (['short_video', 'video'].includes(mType)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        let value: any = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            materialType: item?.video_id?.materialType || item?.short_video1?.materialType || 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            videoUrl: item?.video_id?.url || item?.short_video1?.url, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            videoId: item?.video_id?.id || item?.short_video1?.id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (item?.cover_id?.url) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            value.imageUrl = item?.cover_id?.url 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            value.imageId = item?.cover_id?.id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            value.materialCoverType = item?.cover_id?.materialType 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        return [{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            type: mType, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            valueJson: JSON.stringify({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        }] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     return [{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         type: mType, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        valueJson: JSON.stringify({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        valueJson: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     }] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                return [{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    type: mType, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    valueJson: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (dynamicMaterialDTos && Object.keys(dynamicMaterialDTos).length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                dynamicMaterialDTOS = dynamicMaterialDTos.dynamicGroup?.map((item: { list: any[] }) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    return item.list.map(l => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (Array.isArray(l)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                type: 'image_list', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                valueJson: JSON.stringify({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    value: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        list: l?.map((i: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                imageUrl: i?.url, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                imageId: i?.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                materialType: i?.materialType 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } else if (l?.url?.includes('mp4')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                type: 'video', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                valueJson: JSON.stringify({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    value: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        materialType: l?.materialType, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        videoUrl: l?.url, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        videoId: l?.id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                type: 'image', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                valueJson: JSON.stringify({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    value: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        imageUrl: l?.url, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        imageId: l?.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        materialType: l?.materialType 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let accountIdParamDTOMap: any = {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         accountCreateLogs.forEach(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             let { pageList, productList, userActionSetsList, accountId, wechatChannelList } = item 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -328,9 +376,13 @@ const AddDynamic: React.FC<PULLIN.NewAddDynamic> = ({ visible, onChange, onClose 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             accountIdParamDTOMap[accountId] = map 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let dynamicCreativesDTO = { ...dynamic, mediaType } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (dynamic.deliveryMode === 'DELIVERY_MODE_COMPONENT') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            dynamicCreativesDTO.creativeTemplateId = 711 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let params = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             accountAdgroupMaps: adData.map(item => `${item.accountId},${item.adgroupId}`), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            dynamicCreativesDTO: { ...dynamic, mediaType }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            dynamicCreativesDTO, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             dynamicCreativesTextDTOS, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             dynamicMaterialDTOS, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             accountIdParamDTOMap 
			 |