diff --git a/frontend/src/pages/ClaimForm.tsx b/frontend/src/pages/ClaimForm.tsx index d37d974..94349e6 100644 --- a/frontend/src/pages/ClaimForm.tsx +++ b/frontend/src/pages/ClaimForm.tsx @@ -295,10 +295,59 @@ export default function ClaimForm() { hasCaseData: !!(body.case || payload.case), hasContractData: !!(body.contract_or_service || payload.contract_or_service), hasWizardAnswers: !!(body.answers || payload.answers || body.wizard_answers || payload.wizard_answers), + hasSendToFormApprove: !!(payload.send_to_form_approve && payload.send_to_form_approve.draft), payloadKeys: Object.keys(payload), bodyKeys: Object.keys(body), }); + // ✅ ПРИОРИТЕТ 1: Если есть данные в payload.send_to_form_approve.draft - используем их напрямую! + const sendToFormApproveDraft = payload.send_to_form_approve?.draft; + if (sendToFormApproveDraft) { + console.log('✅ Найдены данные в payload.send_to_form_approve.draft, используем их напрямую!'); + console.log('✅ send_to_form_approve.draft:', sendToFormApproveDraft); + + // Используем данные из send_to_form_approve.draft напрямую + const draftData = sendToFormApproveDraft; + + // Формируем propertyName из draft данных + const propertyName = { + applicant: draftData.applicant || {}, + case: draftData.case || {}, + contract_or_service: draftData.contract_or_service || {}, + offenders: draftData.offenders || [], + claim: draftData.claim || {}, + meta: { + ...(draftData.meta || {}), + claim_id: finalClaimId, + unified_id: draftData.meta?.unified_id || claim.unified_id || currentFormData.unified_id || null, + }, + attachments: draftData.attachments || [], + attachments_count: draftData.attachments_count || 0, + attachments_names: draftData.attachments_names || [], + }; + + // Возвращаем данные в формате объекта (для компонента StepClaimConfirmation) + const result = { + propertyName: propertyName, + session_token: actualSessionId, + prefix: '', + telegram_id: null, + claim_id: finalClaimId, + unified_id: propertyName.meta.unified_id, + user_id: propertyName.meta.user_id || null, + }; + + console.log('🔄 transformDraftToClaimPlanFormat: результат из send_to_form_approve:', { + claim_id: result.claim_id, + unified_id: result.unified_id, + hasPropertyName: !!result.propertyName, + hasMeta: !!result.propertyName?.meta, + }); + + return result; + } + + // ✅ ПРИОРИТЕТ 2: Если данных нет в send_to_form_approve, извлекаем из body/payload // Извлекаем данные из body (telegram) или напрямую из payload (web_form) const applicantData = body.applicant || payload.applicant || {}; const caseData = body.case || payload.case || {};