From 596cd51d4f637c129332e536b7e162aa35d72340 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=A1=E8=8B=A5?= Date: Sun, 8 Mar 2026 11:26:01 +0800 Subject: [PATCH] =?UTF-8?q?sync:=20soul-admin=20=E9=A1=B5=E9=9D=A2=20|=20?= =?UTF-8?q?=E5=8E=9F=E5=9B=A0:=20=E5=89=8D=E7=AB=AF=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/find-partner/tabs/MatchPoolTab.tsx | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) 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 ( -