feat: Пошаговая загрузка документов с модалкой на Step 2
🎯 Изменения: - Документы загружаются по очереди (один за другим) - После загрузки каждого документа открывается модалка с крутилкой - SSE слушает конкретный event_type: {file_type}_processed - Модалка показывает результат распознавания с извлечёнными данными - Кнопка 'Продолжить' → переход к следующему документу - Опциональные документы можно пропустить - После обработки всех обязательных → 'Далее на Step 3' 📊 UX флоу: 1. Выбор типа события → показываются нужные документы 2. Документ 1: Выбрать файл → Загрузить → Модалка → Результат → Продолжить 3. Документ 2: Выбрать файл → Загрузить → Модалка → Результат → Продолжить 4. Документ 3 (опц): Загрузить ИЛИ Пропустить 5. Все обязательные обработаны → Далее на Step 3 🔑 Каждый документ получает свой уникальный event_type: - frontend отправляет file_type - n8n возвращает event_type = {file_type}_processed - frontend слушает этот конкретный event_type через SSE
This commit is contained in:
@@ -379,3 +379,63 @@ export default function Step3Payment({
|
||||
</Form>
|
||||
);
|
||||
}
|
||||
|
||||
borderRadius: 8,
|
||||
border: '2px dashed #999'
|
||||
}}>
|
||||
<div style={{ marginBottom: 8, fontSize: 12, color: '#666', fontWeight: 'bold' }}>
|
||||
🔧 DEV MODE - Быстрая навигация (без валидации)
|
||||
</div>
|
||||
<div style={{ display: 'flex', gap: 8 }}>
|
||||
<Button
|
||||
onClick={onPrev}
|
||||
size="small"
|
||||
>
|
||||
← Назад (Step 2)
|
||||
</Button>
|
||||
<Button
|
||||
type="dashed"
|
||||
onClick={() => {
|
||||
// Пропускаем валидацию телефона
|
||||
setIsPhoneVerified(true);
|
||||
const devData = {
|
||||
fullName: 'Тест Тестов',
|
||||
email: 'test@test.ru',
|
||||
phone: '+79991234567',
|
||||
paymentMethod: 'sbp',
|
||||
bankName: 'sberbank',
|
||||
};
|
||||
updateFormData(devData);
|
||||
message.success('DEV: Телефон автоматически подтверждён');
|
||||
}}
|
||||
size="small"
|
||||
style={{ flex: 1 }}
|
||||
>
|
||||
✅ Автоподтверждение телефона [dev]
|
||||
</Button>
|
||||
<Button
|
||||
type="primary"
|
||||
onClick={() => {
|
||||
// Автоматически отправляем заявку
|
||||
setIsPhoneVerified(true);
|
||||
const devData = {
|
||||
fullName: 'Тест Тестов',
|
||||
email: 'test@test.ru',
|
||||
phone: '+79991234567',
|
||||
paymentMethod: 'sbp',
|
||||
bankName: 'sberbank',
|
||||
};
|
||||
updateFormData(devData);
|
||||
onSubmit();
|
||||
}}
|
||||
size="small"
|
||||
>
|
||||
🚀 Отправить [пропустить]
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
</>
|
||||
)}
|
||||
</Form>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user