3.8 KiB
3.8 KiB
Сессия 26 ноября 2025 - Исправления UI Wizard
Основные изменения
1. Исправлена ошибка Authentication failed в upload_documents_to_crm.php
- Проблема: Race condition при параллельных запросах к webservice CRM
- Решение: Добавлена функция
getWebserviceSession()с retry механизмом (до 3 попыток) и случайной задержкой между попытками
2. Исправлен Wizard Plan - чекбоксы заменены на блоки загрузки
- Проблема: Вопрос
docs_existпоказывал чекбоксы вместо полей загрузки файлов - Решение:
- Скрыт вопрос
docs_existкогда есть документы в плане - Добавлены блоки загрузки файлов под карточкой "Документы, которые понадобятся"
- Скрыт вопрос
3. Чекбокс "У меня нет документа" перенесён под загрузку
- Было: Чекбокс показывался отдельно сверху
- Стало: Чекбокс внутри карточки, под Dragger (только для обязательных документов)
4. Блоки загрузки сразу развёрнуты
- Добавлен useEffect с ref для автоматического создания блоков при загрузке плана
- Используется
createdDocBlocksRefчтобы избежать дублирования
5. Убраны лишние поля для предустановленных документов
- Для документов из плана (contract, payment, correspondence и т.д.):
- Нет поля "Уточните тип" (тип уже известен)
- Нет кнопки "Удалить" для первого блока
- Для дополнительных блоков - поля отображаются
6. Исправлено дублирование блоков
- Убран дублирующий useEffect (для documentGroups)
- Добавлен ref
createdDocBlocksRefдля отслеживания созданных блоков - Исправлена опечатка
React.useRef→useRef
Файлы изменены
upload_documents_to_crm.php- retry механизм для аутентификацииticket_form/frontend/src/components/form/StepWizardPlan.tsx:- Скрытие вопроса docs_exist
- Блоки загрузки под информационной карточкой
- Чекбокс под Dragger
- Автосоздание блоков при загрузке
- Улучшенная логика isPredefinedDoc
Коммиты
Добавлен retry механизм для webservice аутентификации (race condition fix)Заменены чекбоксы docs_exist на блоки загрузки файловИсправлен JSX Fragment для блоков загрузки документовЧекбокс 'нет документа' перенесён под блок загрузкиБлоки загрузки документов сразу развёрнуты при загрузке планаУбраны лишние поля для предустановленных документовУбран дублирующий useEffect для создания блоков документовИсправлено дублирование блоков документов (ref для отслеживания созданных)Исправлен React.useRef → useRef