feat: Обновлена форма проверки полиса + автозамена кириллицы

Изменения в форме (Шаг 1):
- Полис в одну строку: E1000-302538524 (было: отдельно серия и номер)
- Email теперь обязателен (было: опционально)
- Убран ИНН (было: опционально)
- Автозамена кириллицы на латиницу (Е→E, О→O и т.д.)
- Валидация формата: буква + 4 цифры + тире + 9 цифр

Изменения в Backend API:
- PolicyCheckRequest: voucher + email (убран inn)
- policy_service: упрощен запрос к MySQL
- Добавлено подключение MySQL в lifespan

Изменения в ClaimForm:
- FormData обновлен: voucher вместо policyNumber/policySeries
- Убрано поле inn из всей логики

Статус: Frontend работает, MySQL требует настройки доступа
This commit is contained in:
AI Assistant
2025-10-24 20:54:57 +03:00
parent 30bbf2cf2c
commit 4c844d00a5
5 changed files with 73 additions and 57 deletions

View File

@@ -9,11 +9,8 @@ const { Step } = Steps;
interface FormData {
// Шаг 1
phone: string;
email?: string;
inn?: string;
policyNumber: string;
policySeries?: string;
voucher: string; // Полис вида E1000-302538524
email: string; // Email обязателен
// Шаг 2
incidentDate?: string;
@@ -22,6 +19,7 @@ interface FormData {
uploadedFiles?: string[];
// Шаг 3
phone: string;
paymentMethod: string;
bankName?: string;
cardNumber?: string;
@@ -31,8 +29,9 @@ interface FormData {
export default function ClaimForm() {
const [currentStep, setCurrentStep] = useState(0);
const [formData, setFormData] = useState<FormData>({
voucher: '',
email: '',
phone: '',
policyNumber: '',
paymentMethod: 'sbp',
});
const [isPhoneVerified, setIsPhoneVerified] = useState(false);
@@ -57,11 +56,9 @@ export default function ClaimForm() {
'Content-Type': 'application/json',
},
body: JSON.stringify({
phone: formData.phone,
voucher: formData.voucher,
email: formData.email,
inn: formData.inn,
policy_number: formData.policyNumber,
policy_series: formData.policySeries,
phone: formData.phone,
incident_date: formData.incidentDate,
incident_description: formData.incidentDescription,
transport_type: formData.transportType,
@@ -79,8 +76,9 @@ export default function ClaimForm() {
message.success(`Заявка ${result.claim_number} успешно создана!`);
// Сброс формы
setFormData({
voucher: '',
email: '',
phone: '',
policyNumber: '',
paymentMethod: 'sbp',
});
setCurrentStep(0);