diff --git a/storage/2025/December/week1/399752_1_заявление_потребителя_Селдушев____стр.pdf b/storage/2025/December/week1/399752_1_заявление_потребителя_Селдушев____стр.pdf new file mode 100644 index 00000000..a3f162cb Binary files /dev/null and b/storage/2025/December/week1/399752_1_заявление_потребителя_Селдушев____стр.pdf differ diff --git a/ticket_form/frontend/src/components/form/Step1Phone.tsx b/ticket_form/frontend/src/components/form/Step1Phone.tsx index 092d6577..bfdc0f28 100644 --- a/ticket_form/frontend/src/components/form/Step1Phone.tsx +++ b/ticket_form/frontend/src/components/form/Step1Phone.tsx @@ -290,14 +290,24 @@ export default function Step1Phone({ } // Оставляем только первые 10 цифр cleanText = cleanText.substring(0, 10); - // ✅ Используем setTimeout для избежания циклических ссылок при обновлении формы - setTimeout(() => { + + // ✅ Устанавливаем значение напрямую в input, затем синхронизируем с формой + const target = e.target as HTMLInputElement; + if (target) { + target.value = cleanText; + // Триггерим событие input для синхронизации с формой + const inputEvent = new Event('input', { bubbles: true }); + target.dispatchEvent(inputEvent); + } + + // ✅ Синхронизируем с формой через requestAnimationFrame для избежания циклических ссылок + requestAnimationFrame(() => { form.setFieldValue('phone', cleanText); // Показываем предупреждение, если номер был обрезан if (pastedText.replace(/\D/g, '').length > 10) { message.warning('Номер автоматически обрезан до 10 цифр'); } - }, 0); + }); }} />