|
@@ -28,7 +28,7 @@ const AddDynamic: React.FC<PULLIN.NewAddDynamic> = ({ visible, onChange, onClose
|
|
const [addelivery, setAddelivery] = useState<PULLIN.AddeliveryProps>({ adgroups: {}, targeting: [], dynamic: {}, dynamicMaterialDTos: {}, dynamicCreativesTextDTOS: {}, mediaType: 0 })
|
|
const [addelivery, setAddelivery] = useState<PULLIN.AddeliveryProps>({ adgroups: {}, targeting: [], dynamic: {}, dynamicMaterialDTos: {}, dynamicCreativesTextDTOS: {}, mediaType: 0 })
|
|
const { adgroups, dynamic } = addelivery
|
|
const { adgroups, dynamic } = addelivery
|
|
const { marketingAssetOuterSpec, marketingCarrierType, marketingGoal, marketingSubGoal, siteSet, automaticSiteEnabled, sceneSpec } = addelivery.adgroups
|
|
const { marketingAssetOuterSpec, marketingCarrierType, marketingGoal, marketingSubGoal, siteSet, automaticSiteEnabled, sceneSpec } = addelivery.adgroups
|
|
- const { deliveryMode, creativeTemplateId } = addelivery.dynamic
|
|
|
|
|
|
+ const { deliveryMode, creativeTemplateId, dynamicCreativeSwitch } = addelivery.dynamic
|
|
const [wechatVisible, setWechatVisible] = useState<boolean>(false) // 选择微信公众号弹窗控制
|
|
const [wechatVisible, setWechatVisible] = useState<boolean>(false) // 选择微信公众号弹窗控制
|
|
const [channelsProfileVisible, setChannelsProfileVisible] = useState<boolean>(false) // 选择微信公众号弹窗控制
|
|
const [channelsProfileVisible, setChannelsProfileVisible] = useState<boolean>(false) // 选择微信公众号弹窗控制
|
|
const [materialData, setMaterialData] = useState<any>({}) // 素材数据
|
|
const [materialData, setMaterialData] = useState<any>({}) // 素材数据
|
|
@@ -55,7 +55,7 @@ const AddDynamic: React.FC<PULLIN.NewAddDynamic> = ({ visible, onChange, onClose
|
|
deliveryMode,
|
|
deliveryMode,
|
|
creativeTemplateId,
|
|
creativeTemplateId,
|
|
wechatSceneSpecPosition: sceneSpec?.wechatPosition,
|
|
wechatSceneSpecPosition: sceneSpec?.wechatPosition,
|
|
- dynamicCreativeType: deliveryMode === 'DELIVERY_MODE_COMPONENT' ? 'DYNAMIC_CREATIVE_TYPE_PROGRAM' : 'DYNAMIC_CREATIVE_TYPE_COMMON'
|
|
|
|
|
|
+ dynamicCreativeType: (deliveryMode === 'DELIVERY_MODE_COMPONENT' && !dynamicCreativeSwitch) ? 'DYNAMIC_CREATIVE_TYPE_PROGRAM' : 'DYNAMIC_CREATIVE_TYPE_COMMON'
|
|
}
|
|
}
|
|
if (automaticSiteEnabled) {
|
|
if (automaticSiteEnabled) {
|
|
params.automaticSiteEnabled = automaticSiteEnabled
|
|
params.automaticSiteEnabled = automaticSiteEnabled
|
|
@@ -92,7 +92,7 @@ const AddDynamic: React.FC<PULLIN.NewAddDynamic> = ({ visible, onChange, onClose
|
|
}
|
|
}
|
|
})
|
|
})
|
|
}
|
|
}
|
|
- }, [creativeTemplateId, deliveryMode, marketingGoal, marketingAssetOuterSpec, marketingCarrierType, siteSet, sceneSpec?.wechatPosition, automaticSiteEnabled, putInType])
|
|
|
|
|
|
+ }, [creativeTemplateId, deliveryMode, dynamicCreativeSwitch, marketingGoal, marketingAssetOuterSpec, marketingCarrierType, siteSet, sceneSpec?.wechatPosition, automaticSiteEnabled, putInType])
|
|
|
|
|
|
useEffect(() => {
|
|
useEffect(() => {
|
|
if (adData && adData.length) {
|
|
if (adData && adData.length) {
|
|
@@ -306,7 +306,7 @@ const AddDynamic: React.FC<PULLIN.NewAddDynamic> = ({ visible, onChange, onClose
|
|
averageAdDynamic,
|
|
averageAdDynamic,
|
|
rowSpan: ((mediaType === 1 || mediaType === 3) && textType !== 4) ? averageAdDynamic.length : ([910].includes(dynamic.creativeTemplateId) ? item.pageList?.length : (textType === 3 ? textDtoLenth * dynamicGroupLength : dynamicGroupLength)) || 1
|
|
rowSpan: ((mediaType === 1 || mediaType === 3) && textType !== 4) ? averageAdDynamic.length : ([910].includes(dynamic.creativeTemplateId) ? item.pageList?.length : (textType === 3 ? textDtoLenth * dynamicGroupLength : dynamicGroupLength)) || 1
|
|
}]
|
|
}]
|
|
-
|
|
|
|
|
|
+
|
|
let newData: any[] = []
|
|
let newData: any[] = []
|
|
if ([910].includes(dynamic.creativeTemplateId)) {
|
|
if ([910].includes(dynamic.creativeTemplateId)) {
|
|
newData = cartesianProduct(data, item.pageList).map((item, index) => {
|
|
newData = cartesianProduct(data, item.pageList).map((item, index) => {
|
|
@@ -414,8 +414,8 @@ const AddDynamic: React.FC<PULLIN.NewAddDynamic> = ({ visible, onChange, onClose
|
|
} else {
|
|
} else {
|
|
handleDynamic(adData, averageAdDynamicList)
|
|
handleDynamic(adData, averageAdDynamicList)
|
|
}
|
|
}
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
setDynamicCount(newDynamicCount)
|
|
setDynamicCount(newDynamicCount)
|
|
@@ -429,7 +429,7 @@ const AddDynamic: React.FC<PULLIN.NewAddDynamic> = ({ visible, onChange, onClose
|
|
const { dynamic, dynamicMaterialDTos, dynamicCreativesTextDTOS, mediaType } = addelivery
|
|
const { dynamic, dynamicMaterialDTos, dynamicCreativesTextDTOS, mediaType } = addelivery
|
|
|
|
|
|
let dynamicMaterialDTOS = []
|
|
let dynamicMaterialDTOS = []
|
|
- if (dynamic.deliveryMode === 'DELIVERY_MODE_CUSTOMIZE') {
|
|
|
|
|
|
+ if (dynamic.deliveryMode === 'DELIVERY_MODE_CUSTOMIZE' || dynamic?.dynamicCreativeSwitch) {
|
|
if ((materialData && Object.keys(materialData).length && dynamicMaterialDTos && Object.keys(dynamicMaterialDTos).length)) {
|
|
if ((materialData && Object.keys(materialData).length && dynamicMaterialDTos && Object.keys(dynamicMaterialDTos).length)) {
|
|
let mType = Object.keys(materialData)[0];
|
|
let mType = Object.keys(materialData)[0];
|
|
dynamicMaterialDTOS = dynamicMaterialDTos.dynamicGroup?.map((item: any) => {
|
|
dynamicMaterialDTOS = dynamicMaterialDTos.dynamicGroup?.map((item: any) => {
|
|
@@ -555,7 +555,7 @@ const AddDynamic: React.FC<PULLIN.NewAddDynamic> = ({ visible, onChange, onClose
|
|
pageList: pageList?.map((item: { pageId: any }) => item.pageId)
|
|
pageList: pageList?.map((item: { pageId: any }) => item.pageId)
|
|
}
|
|
}
|
|
|
|
|
|
- if (wechatChannelList && (['MARKETING_TARGET_TYPE_WECHAT_OFFICIAL_ACCOUNT'].includes(adgroups?.marketingAssetOuterSpec?.marketingTargetType) || adgroups?.marketingCarrierType === 'MARKETING_CARRIER_TYPE_WECHAT_OFFICIAL_ACCOUNT')) {
|
|
|
|
|
|
+ if (wechatChannelList && (['MARKETING_TARGET_TYPE_WECHAT_OFFICIAL_ACCOUNT'].includes(adgroups?.marketingAssetOuterSpec?.marketingTargetType) || adgroups?.marketingCarrierType === 'MARKETING_CARRIER_TYPE_WECHAT_OFFICIAL_ACCOUNT' || dynamic?.creativeComponents?.brand?.[0]?.value?.jumpInfo?.pageType === 'PAGE_TYPE_WECHAT_OFFICIAL_ACCOUNT_DETAIL')) {
|
|
map.wechatChannelId = wechatChannelList?.[0]?.wechatOfficialAccountId
|
|
map.wechatChannelId = wechatChannelList?.[0]?.wechatOfficialAccountId
|
|
}
|
|
}
|
|
|
|
|
|
@@ -565,8 +565,12 @@ const AddDynamic: React.FC<PULLIN.NewAddDynamic> = ({ visible, onChange, onClose
|
|
|
|
|
|
accountIdParamDTOMap[accountId] = map
|
|
accountIdParamDTOMap[accountId] = map
|
|
})
|
|
})
|
|
- let dynamicCreativesDTO = { ...dynamic, mediaType }
|
|
|
|
|
|
+ dynamic.dynamicCreativeType = 'DYNAMIC_CREATIVE_TYPE_COMMON'
|
|
if (dynamic.deliveryMode === 'DELIVERY_MODE_COMPONENT') {
|
|
if (dynamic.deliveryMode === 'DELIVERY_MODE_COMPONENT') {
|
|
|
|
+ dynamic.dynamicCreativeType = dynamic?.dynamicCreativeSwitch ? 'DYNAMIC_CREATIVE_TYPE_COMMON' : 'DYNAMIC_CREATIVE_TYPE_PROGRAM'
|
|
|
|
+ }
|
|
|
|
+ let dynamicCreativesDTO = { ...dynamic, mediaType }
|
|
|
|
+ if (dynamic.deliveryMode === 'DELIVERY_MODE_COMPONENT' && !dynamic?.dynamicCreativeSwitch) {
|
|
dynamicCreativesDTO.creativeTemplateId = 711
|
|
dynamicCreativesDTO.creativeTemplateId = 711
|
|
}
|
|
}
|
|
let params = {
|
|
let params = {
|