|
@@ -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)
|
|
|
}
|