fix(WEB):FQC 기본필드 키 형식 bf_{id} 우선 조회로 변경
- getBasicFieldValue: bf_{id} 우선, bf_{label} 레거시 호환
- basicFieldPairs: 동일하게 bf_{id} 우선 조회
- mng show.blade.php 및 API 저장 형식과 통일
This commit is contained in:
@@ -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 });
|
||||
|
||||
Reference in New Issue
Block a user