fix(WEB):FQC 기본필드 키 형식 bf_{id} 우선 조회로 변경

- getBasicFieldValue: bf_{id} 우선, bf_{label} 레거시 호환
- basicFieldPairs: 동일하게 bf_{id} 우선 조회
- mng show.blade.php 및 API 저장 형식과 통일
This commit is contained in:
2026-02-13 00:32:57 +09:00
parent 935b222602
commit ebd6abc147

View File

@@ -130,13 +130,21 @@ export const FqcDocumentContent = forwardRef<FqcDocumentContentRef, FqcDocumentC
// 기본필드 값 조회
const getBasicFieldValue = useCallback(
(fieldKey: string): string => {
// 먼저 API에서 auto-fill된 값, 없으면 documentData에서
const bfKey = `bf_${template.basicFields.find(f => f.fieldKey === fieldKey)?.label ?? fieldKey}`;
const field = template.basicFields.find(f => f.fieldKey === fieldKey);
if (!field) return '';
// bf_{id} 형식 (mng show.blade.php 호환)
const bfKey = `bf_${field.id}`;
if (basicFieldValues[bfKey]) return basicFieldValues[bfKey];
// documentData에서 기본필드 값 찾기
const found = documentData.find(d => d.fieldKey === bfKey && !d.sectionId);
return found?.fieldValue ?? '';
if (found?.fieldValue) return found.fieldValue;
// 레거시 호환: bf_{label} 형식
const legacyKey = `bf_${field.label}`;
if (basicFieldValues[legacyKey]) return basicFieldValues[legacyKey];
const legacyFound = documentData.find(d => d.fieldKey === legacyKey && !d.sectionId);
return legacyFound?.fieldValue ?? '';
},
[basicFieldValues, documentData, template.basicFields]
);
@@ -195,9 +203,13 @@ export const FqcDocumentContent = forwardRef<FqcDocumentContentRef, FqcDocumentC
const sorted = [...template.basicFields].sort((a, b) => a.sortOrder - b.sortOrder);
const pairs: Array<{ label: string; value: string }> = [];
for (const field of sorted) {
const bfKey = `bf_${field.label}`;
// bf_{id} 형식 우선, 레거시 bf_{label} fallback
const bfKey = `bf_${field.id}`;
const legacyKey = `bf_${field.label}`;
const value = basicFieldValues[bfKey]
|| documentData.find(d => d.fieldKey === bfKey && !d.sectionId)?.fieldValue
|| basicFieldValues[legacyKey]
|| documentData.find(d => d.fieldKey === legacyKey && !d.sectionId)?.fieldValue
|| field.defaultValue
|| '';
pairs.push({ label: field.label, value });