diff --git a/frontend/src/components/form/Step1Policy.tsx b/frontend/src/components/form/Step1Policy.tsx index 8d32946..52acdef 100644 --- a/frontend/src/components/form/Step1Policy.tsx +++ b/frontend/src/components/form/Step1Policy.tsx @@ -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) { // Новый формат ответа от n8n: {claim: {...}, policy: {...}} @@ -229,10 +234,13 @@ export default function Step1Policy({ formData, updateFormData, onNext, addDebug }); message.success(`Полис найден: ${result.policy.voucher}. Застрахованных: ${result.policy.count} чел.`); - // ✅ Сохраняем claim_id из ответа n8n (если есть) или используем существующий + // ✅ Сохраняем все данные из ответа n8n updateFormData({ ...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(); } else { @@ -245,10 +253,13 @@ export default function Step1Policy({ formData, updateFormData, onNext, addDebug }); message.warning('Полис не найден в базе. Загрузите скан полиса'); - // ✅ Сохраняем claim_id из ответа n8n (если есть) или используем существующий + // ✅ Сохраняем все данные из ответа n8n (даже если полис не найден, проект уже создан) updateFormData({ ...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);