fix: Fix claim_id and unified_id display in confirmation form
Problem:
- Claim ID and Unified ID showing as 'не указан' in confirmation form
- transformDraftToClaimPlanFormat was returning array instead of object
- StepClaimConfirmation was not correctly extracting IDs from claimPlanData
Solution:
1. Changed transformDraftToClaimPlanFormat return type:
- Changed from array [{ propertyName, ... }] to object { propertyName, ... }
- This matches what StepClaimConfirmation expects
2. Enhanced ID extraction in StepClaimConfirmation:
- Added explicit claimId and unifiedId variables
- Better fallback chain: claimPlanData.claim_id -> propertyName.meta.claim_id
- Same for unified_id
3. Added comprehensive logging:
- Log claimPlanData structure on component mount
- Log extracted IDs before form generation
- Log transformDraftToClaimPlanFormat input/output
- Log claim.unified_id from API response
4. Improved data flow:
- claim.unified_id from API -> transformDraftToClaimPlanFormat -> StepClaimConfirmation
- Fallback to currentFormData.unified_id if claim.unified_id missing
Files:
- frontend/src/pages/ClaimForm.tsx: Changed return type, added logging
- frontend/src/components/form/StepClaimConfirmation.tsx: Enhanced ID extraction, added logging
This commit is contained in:
@@ -22,8 +22,19 @@ export default function StepClaimConfirmation({
|
||||
return;
|
||||
}
|
||||
|
||||
console.log('📋 StepClaimConfirmation: получены данные claimPlanData:', claimPlanData);
|
||||
console.log('📋 claimPlanData.claim_id:', claimPlanData?.claim_id);
|
||||
console.log('📋 claimPlanData.unified_id:', claimPlanData?.unified_id);
|
||||
console.log('📋 claimPlanData.propertyName?.meta?.claim_id:', claimPlanData?.propertyName?.meta?.claim_id);
|
||||
console.log('📋 claimPlanData.propertyName?.meta?.unified_id:', claimPlanData?.propertyName?.meta?.unified_id);
|
||||
|
||||
// Формируем данные для формы подтверждения
|
||||
// Формат должен соответствовать тому, что ожидает HTML форма
|
||||
const claimId = claimPlanData?.claim_id || claimPlanData?.propertyName?.meta?.claim_id || '';
|
||||
const unifiedId = claimPlanData?.unified_id || claimPlanData?.propertyName?.meta?.unified_id || '';
|
||||
|
||||
console.log('📋 Извлечённые ID:', { claimId, unifiedId });
|
||||
|
||||
const formData = {
|
||||
case: {
|
||||
user: claimPlanData?.propertyName?.applicant || {},
|
||||
@@ -35,8 +46,8 @@ export default function StepClaimConfirmation({
|
||||
session_token: claimPlanData?.session_token || '',
|
||||
prefix: claimPlanData?.prefix || '',
|
||||
telegram_id: claimPlanData?.telegram_id || '',
|
||||
claim_id: claimPlanData?.claim_id || claimPlanData?.propertyName?.meta?.claim_id || '',
|
||||
unified_id: claimPlanData?.unified_id || claimPlanData?.propertyName?.meta?.unified_id || '',
|
||||
claim_id: claimId,
|
||||
unified_id: unifiedId,
|
||||
user_id: claimPlanData?.user_id || claimPlanData?.propertyName?.meta?.user_id || '',
|
||||
},
|
||||
},
|
||||
@@ -47,11 +58,13 @@ export default function StepClaimConfirmation({
|
||||
session_token: claimPlanData?.session_token || '',
|
||||
prefix: claimPlanData?.prefix || '',
|
||||
telegram_id: claimPlanData?.telegram_id || '',
|
||||
claim_id: claimPlanData?.claim_id || claimPlanData?.propertyName?.meta?.claim_id || '',
|
||||
unified_id: claimPlanData?.unified_id || claimPlanData?.propertyName?.meta?.unified_id || '',
|
||||
claim_id: claimId,
|
||||
unified_id: unifiedId,
|
||||
user_id: claimPlanData?.user_id || claimPlanData?.propertyName?.meta?.user_id || '',
|
||||
},
|
||||
};
|
||||
|
||||
console.log('📋 Сформированные formData.meta:', formData.case.meta);
|
||||
|
||||
// Здесь нужно будет получить HTML форму от n8n или использовать готовый шаблон
|
||||
// Пока используем заглушку - в реальности нужно будет вызывать n8n workflow для генерации HTML
|
||||
|
||||
Reference in New Issue
Block a user