diff --git a/soul-admin/src/pages/find-partner/tabs/MatchPoolTab.tsx b/soul-admin/src/pages/find-partner/tabs/MatchPoolTab.tsx index fdf7e234..4f03aaaa 100644 --- a/soul-admin/src/pages/find-partner/tabs/MatchPoolTab.tsx +++ b/soul-admin/src/pages/find-partner/tabs/MatchPoolTab.tsx @@ -151,21 +151,31 @@ export function MatchPoolTab() {
+

可同时勾选多个池子(取并集匹配)

{([ - { value: 'vip' as const, label: '超级个体(VIP会员)', desc: '仅匹配付费 ¥1980 的VIP会员', icon: '👑', countKey: 'vip' as const }, - { value: 'complete' as const, label: '完善资料用户', desc: '已完善联系方式+业务信息的用户', icon: '✅', countKey: 'complete' as const }, - { value: 'all' as const, label: '全部流量池', desc: '所有已注册用户(含未完善资料)', icon: '👥', countKey: 'all' as const }, + { value: 'vip', label: '超级个体(VIP会员)', desc: '付费 ¥1980 的VIP会员', icon: '👑', countKey: 'vip' as const }, + { value: 'complete', label: '完善资料用户', desc: '符合下方完善度要求的用户', icon: '✅', countKey: 'complete' as const }, + { value: 'all', label: '全部用户', desc: '所有已注册用户', icon: '👥', countKey: 'all' as const }, ]).map(opt => { const ps = config.poolSettings ?? DEFAULT_POOL - const selected = ps.poolSource === opt.value + const sources = Array.isArray(ps.poolSource) ? ps.poolSource : [ps.poolSource] + const selected = sources.includes(opt.value) const count = poolCounts?.[opt.countKey] + const toggleSource = () => { + const cur = Array.isArray(ps.poolSource) ? [...ps.poolSource] : [ps.poolSource as string] + const next = selected ? cur.filter(v => v !== opt.value) : [...cur, opt.value] + if (next.length === 0) next.push(opt.value) + setConfig({ ...config, poolSettings: { ...ps, poolSource: next } }) + } return ( -