import { useState } from 'react'; import { useNavigate } from 'react-router-dom'; import PageHeader from '@dukang/shared-ui/PageHeader'; import { PARTNER_STAFF_ROLE_LABELS, PartnerStaffRole } from '@dukang/shared-types'; import { createPartnerStaff, sendStaffAddSms } from '../lib/staff'; import { toastError, toastSuccess } from '../lib/toast'; const ROLE_OPTIONS = Object.values(PartnerStaffRole); export default function StaffCreatePage() { const navigate = useNavigate(); const [name, setName] = useState(''); const [phone, setPhone] = useState(''); const [code, setCode] = useState(''); const [staffRole, setStaffRole] = useState(PartnerStaffRole.INTERNAL); const [sending, setSending] = useState(false); const [submitting, setSubmitting] = useState(false); const [msg, setMsg] = useState(''); async function sendCode() { if (!/^1[3-9]\d{9}$/.test(phone.trim())) { const text = '请输入正确的11位手机号'; setMsg(text); toastError(text); return; } setSending(true); setMsg(''); try { await sendStaffAddSms(phone.trim()); setMsg('验证码已发送'); } catch { /* request 已 toast */ } finally { setSending(false); } } async function submit() { if (!name.trim()) { const text = '请填写真实姓名'; setMsg(text); toastError(text); return; } if (!/^1[3-9]\d{9}$/.test(phone.trim())) { const text = '请输入正确的11位手机号'; setMsg(text); toastError(text); return; } if (!code.trim()) { const text = '请输入验证码'; setMsg(text); toastError(text); return; } setSubmitting(true); setMsg(''); try { await createPartnerStaff({ name: name.trim(), phone: phone.trim(), staffRole, code: code.trim(), }); toastSuccess('子账号创建成功'); navigate('/center/staff'); } catch { /* request 已 toast */ } finally { setSubmitting(false); } } return (
navigate('/center/staff')} />
{msg &&

{msg}

}
setName(e.target.value)} /> person
setPhone(e.target.value)} inputMode="numeric" />
setCode(e.target.value)} inputMode="numeric" />
expand_more

创建即代表同意合伙人管理协议。子账号默认禁用,需手动启用。

); }