feat: Сохранение project_id в formData при проверке полиса
- ✅ Добавлена обработка массива от n8n (как в Step2EventType) - ✅ Сохранение project_id, is_new_project в formData - ✅ Сохранение contact_id для консистентности - ✅ Работает как для найденного, так и для не найденного полиса Теперь formData содержит полную информацию: - claim_id (из n8n) - contact_id (из CreateWebContact) - project_id (из CreateWebProject) ← НОВОЕ - is_new_project (флаг создания) ← НОВОЕ
This commit is contained in:
@@ -213,7 +213,12 @@ export default function Step1Policy({ formData, updateFormData, onNext, addDebug
|
|||||||
}),
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await response.json();
|
let result = await response.json();
|
||||||
|
|
||||||
|
// ✅ n8n может вернуть массив - берём первый элемент
|
||||||
|
if (Array.isArray(result) && result.length > 0) {
|
||||||
|
result = result[0];
|
||||||
|
}
|
||||||
|
|
||||||
if (response.ok) {
|
if (response.ok) {
|
||||||
// Новый формат ответа от n8n: {claim: {...}, policy: {...}}
|
// Новый формат ответа от n8n: {claim: {...}, policy: {...}}
|
||||||
@@ -229,10 +234,13 @@ export default function Step1Policy({ formData, updateFormData, onNext, addDebug
|
|||||||
});
|
});
|
||||||
message.success(`Полис найден: ${result.policy.voucher}. Застрахованных: ${result.policy.count} чел.`);
|
message.success(`Полис найден: ${result.policy.voucher}. Застрахованных: ${result.policy.count} чел.`);
|
||||||
|
|
||||||
// ✅ Сохраняем claim_id из ответа n8n (если есть) или используем существующий
|
// ✅ Сохраняем все данные из ответа n8n
|
||||||
updateFormData({
|
updateFormData({
|
||||||
...values,
|
...values,
|
||||||
claim_id: result.claim?.claim_id || formData.claim_id
|
claim_id: result.result?.claim_id || formData.claim_id,
|
||||||
|
contact_id: result.result?.contact_id,
|
||||||
|
project_id: result.result?.project_id, // ✅ НОВОЕ!
|
||||||
|
is_new_project: result.result?.is_new_project // ✅ НОВОЕ!
|
||||||
});
|
});
|
||||||
onNext();
|
onNext();
|
||||||
} else {
|
} else {
|
||||||
@@ -245,10 +253,13 @@ export default function Step1Policy({ formData, updateFormData, onNext, addDebug
|
|||||||
});
|
});
|
||||||
message.warning('Полис не найден в базе. Загрузите скан полиса');
|
message.warning('Полис не найден в базе. Загрузите скан полиса');
|
||||||
|
|
||||||
// ✅ Сохраняем claim_id из ответа n8n (если есть) или используем существующий
|
// ✅ Сохраняем все данные из ответа n8n (даже если полис не найден, проект уже создан)
|
||||||
updateFormData({
|
updateFormData({
|
||||||
...values,
|
...values,
|
||||||
claim_id: result.claim?.claim_id || formData.claim_id
|
claim_id: result.result?.claim_id || formData.claim_id,
|
||||||
|
contact_id: result.result?.contact_id,
|
||||||
|
project_id: result.result?.project_id, // ✅ НОВОЕ!
|
||||||
|
is_new_project: result.result?.is_new_project // ✅ НОВОЕ!
|
||||||
});
|
});
|
||||||
|
|
||||||
setPolicyNotFound(true);
|
setPolicyNotFound(true);
|
||||||
|
|||||||
Reference in New Issue
Block a user