diff --git a/src/pages/system/ai-agent/components/BlacklistAddModal.tsx b/src/pages/system/ai-agent/components/BlacklistAddModal.tsx index b09a213..0a61369 100644 --- a/src/pages/system/ai-agent/components/BlacklistAddModal.tsx +++ b/src/pages/system/ai-agent/components/BlacklistAddModal.tsx @@ -8,6 +8,8 @@ import styles from './BlacklistAddModal.module.less'; interface BlacklistAddModalProps { visible: boolean; submitting: boolean; + /** 预设用户信息(从列表行「再次拉黑」带入时使用) */ + presetUser?: { userId: string; phone?: string; nickname?: string }; onClose: () => void; onSubmit: (params: AiBlacklistAddParams) => void; } @@ -27,12 +29,13 @@ export default defineComponent({ props: { visible: { type: Boolean, default: false }, submitting: { type: Boolean, default: false }, + presetUser: { type: Object, default: undefined }, onClose: { type: Function, default: null }, onSubmit: { type: Function, default: null }, }, setup(props: BlacklistAddModalProps) { const form = reactive({ - userId: undefined as number | undefined, + userId: undefined as string | undefined, reason: '', expireDate: null as Dayjs | null, }); @@ -40,21 +43,33 @@ export default defineComponent({ // 用户搜索 const userSearch = useUserSearch(); - // 弹窗打开时重置表单 + // 弹窗打开时重置表单 / 回填预设用户 + // immediate: true 配合 destroyOnClose,组件重建后 visible 已为 true 时也能立即回填 watch( () => props.visible, (val) => { if (val) { - form.userId = undefined; form.reason = ''; form.expireDate = null; userSearch.reset(); + if (props.presetUser) { + // 从列表行「再次拉黑」带入:回填 userId 并锁定 + form.userId = props.presetUser.userId; + userSearch.setPresetUser({ + userId: props.presetUser.userId, + phone: props.presetUser.phone, + nickname: props.presetUser.nickname, + }); + } else { + form.userId = undefined; + } } }, + { immediate: true }, ); const handleSubmit = () => { - if (!form.userId || form.userId <= 0) { + if (!form.userId) { message.warning('请搜索并选择用户'); return; } @@ -99,14 +114,15 @@ export default defineComponent({ { - form.userId = val ? Number(val) : undefined; + form.userId = val ? String(val) : undefined; }} allowClear notFoundContent={ @@ -113,11 +113,11 @@ export default defineComponent({ ? '搜索中...' : userSearch.keyword.value ? '无匹配用户' - : '请输入手机号搜索' + : '请输入手机号或用户ID搜索' } />
- 搜索手机号选择用户,展示手机号,传用户ID给后端;目标用户无账户时系统自动建户 + 搜索手机号或用户ID选择用户,展示手机号,传用户ID给后端;目标用户无账户时系统自动建户
diff --git a/src/pages/system/ai-agent/components/PointsTab.tsx b/src/pages/system/ai-agent/components/PointsTab.tsx index 5bbabe9..97d4ae8 100644 --- a/src/pages/system/ai-agent/components/PointsTab.tsx +++ b/src/pages/system/ai-agent/components/PointsTab.tsx @@ -17,7 +17,7 @@ import PointsAdjustModal from './PointsAdjustModal'; /** 用户搜索 Select 的 notFoundContent 公共渲染 */ const renderNotFound = (searching: boolean, keyword: string) => - searching ? '搜索中...' : keyword ? '无匹配用户' : '输入手机号搜索'; + searching ? '搜索中...' : keyword ? '无匹配用户' : '输入手机号或用户ID搜索'; /** 分页组件公共配置 */ const paginationProps = { @@ -169,7 +169,7 @@ export default defineComponent({