wjx 9 miesięcy temu
rodzic
commit
ddb70684e1

+ 11 - 9
src/pages/launchSystemV3/tencentAdPutIn/create/Target/generateTarget.tsx

@@ -60,7 +60,7 @@ const GenerateTarget: React.FC<Props> = ({ target, visible, onChange, onClose })
             message.error('请联系管理员')
             return
         }
-        const getTarget = (count: number, regionsList: string[], targeting: any): any => {
+        const getTarget = (count: number, regionsList: string[]): any => {
             let dataRandom = getRandomElements(regionsList, count)
             return dataRandom.map(item => {
                 let r = item.split(',')
@@ -73,23 +73,25 @@ const GenerateTarget: React.FC<Props> = ({ target, visible, onChange, onClose })
                     let lName = lData?.title
                     let lRegionsL = lChildren.map(item => item.value)
                     return {
+                        ...target,
                         targetingName: `${regionsData?.title}无${rName}${lName}+` + target.targetingName,
                         targeting: {
-                            ...targeting || {},
+                            ...(target?.targeting || {}),
                             geoLocation: {
-                                locationTypes: targeting?.locationTypes || locationTypes,
-                                regions: [...((targeting?.regions || zhongguo) as number[]).filter(item => item !== regions), ...regionsL.filter(item => item.toString() !== r[0]), ...lRegionsL.filter(item => item.toString() !== r[1])]
+                                locationTypes: (target?.targeting?.locationTypes || locationTypes),
+                                regions: [...((target?.targeting?.regions || zhongguo) as number[]).filter(item => item !== regions), ...regionsL.filter(item => item.toString() !== r[0]), ...lRegionsL.filter(item => item.toString() !== r[1])]
                             }
                         }
                     }
                 } else {
                     return {
+                        ...target,
                         targetingName: `${regionsData?.title}无${rName}+` + target.targetingName,
                         targeting: {
-                            ...targeting || {},
+                            ...(target?.targeting || {}),
                             geoLocation: {
-                                locationTypes: targeting?.locationTypes || locationTypes,
-                                regions: [...((targeting?.regions || zhongguo) as number[]).filter(item => item !== regions), ...regionsL.filter(item => item.toString() !== r[0])]
+                                locationTypes: (target?.targeting?.locationTypes || locationTypes),
+                                regions: [...((target?.targeting?.regions || zhongguo) as number[]).filter(item => item !== regions), ...regionsL.filter(item => item.toString() !== r[0])]
                             }
                         }
                     }
@@ -100,13 +102,13 @@ const GenerateTarget: React.FC<Props> = ({ target, visible, onChange, onClose })
         if (target?.targeting?.geoLocation) {
             let oldregions: number[] = target.targeting.geoLocation.regions
             if (oldregions.includes(regions)) {
-                data = data.concat(getTarget(count, regionsList, target?.targeting))
+                data = data.concat(getTarget(count, regionsList))
             } else { // 不包含 regionsList
                 message.error('当前地域已经排除了该省下的某个区或者县')
                 return
             }
         } else {
-            data = data.concat(getTarget(count, regionsList, {}))
+            data = data.concat(getTarget(count, regionsList))
         }
         onChange?.(data)
     }