Сессия 26.11.2025: Исправления UI Wizard - блоки загрузки, retry аутентификации
This commit is contained in:
55
ticket_form/SESSION_LOG_2025-11-26_WIZARD_UI.md
Normal file
55
ticket_form/SESSION_LOG_2025-11-26_WIZARD_UI.md
Normal file
@@ -0,0 +1,55 @@
|
||||
# Сессия 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`
|
||||
|
||||
## Файлы изменены
|
||||
|
||||
1. `upload_documents_to_crm.php` - retry механизм для аутентификации
|
||||
2. `ticket_form/frontend/src/components/form/StepWizardPlan.tsx`:
|
||||
- Скрытие вопроса docs_exist
|
||||
- Блоки загрузки под информационной карточкой
|
||||
- Чекбокс под Dragger
|
||||
- Автосоздание блоков при загрузке
|
||||
- Улучшенная логика isPredefinedDoc
|
||||
|
||||
## Коммиты
|
||||
|
||||
1. `Добавлен retry механизм для webservice аутентификации (race condition fix)`
|
||||
2. `Заменены чекбоксы docs_exist на блоки загрузки файлов`
|
||||
3. `Исправлен JSX Fragment для блоков загрузки документов`
|
||||
4. `Чекбокс 'нет документа' перенесён под блок загрузки`
|
||||
5. `Блоки загрузки документов сразу развёрнуты при загрузке плана`
|
||||
6. `Убраны лишние поля для предустановленных документов`
|
||||
7. `Убран дублирующий useEffect для создания блоков документов`
|
||||
8. `Исправлено дублирование блоков документов (ref для отслеживания созданных)`
|
||||
9. `Исправлен React.useRef → useRef`
|
||||
|
||||
Reference in New Issue
Block a user