import { useEffect, useState } from 'react' import { useNavigate } from 'react-router-dom' import { Button, Form, Input, message, Select } from 'antd' import { getBrands, login, BrandVO } from '../../api/auth' import { setCredentials } from '../../store/slices/authSlice' import { useAppDispatch } from '../../store/hooks' export default function LoginPage() { const [brandOptions, setBrandOptions] = useState([]) const [loading, setLoading] = useState(false) const [form] = Form.useForm() const dispatch = useAppDispatch() const navigate = useNavigate() useEffect(() => { getBrands().then(brands => { setBrandOptions(brands) const std = brands.find(b => b.sName === '标准版') const defaultNo = std ? std.sNo : brands[0]?.sNo if (defaultNo) form.setFieldValue('brandNo', defaultNo) }).catch(() => {}) }, []) const onFinish = async (values: { brandNo: string; username: string; password: string }) => { setLoading(true) try { const result = await login(values) dispatch(setCredentials({ accessToken: result.accessToken, refreshToken: result.refreshToken, userInfo: result.userInfo })) navigate('/') } catch (e: unknown) { message.error(e instanceof Error ? e.message : '登录失败') } finally { setLoading(false) } } return (

小羚羊 ERP

) }