56 lines
3.8 KiB
Markdown
56 lines
3.8 KiB
Markdown
|
|
# Сессия 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`
|
|||
|
|
|