feat: [worker] 절곡 작업일지 이미지 R2 presigned URL 전환 + 품질검사 3건 수정
절곡 작업일지: - API bending_images 맵을 받아서 R2 presigned URL로 이미지 로드 - getBendingImageUrl()에 bendingImages 맵 조회 우선, API fallback 유지 - 4개 섹션(가이드레일, 하단마감재, 셔터박스, 연기차단재) 모두 적용 품질검사: - 요약카드 draft 상태 접수 건수 포함 - 검사완료 버튼 미검사/진행중 시 disabled - 완료 상태 수정 버튼 disabled(흐리게) + 편집 모드 진입 차단
This commit is contained in:
@@ -63,6 +63,7 @@ export function WorkLogModal({
|
||||
const [isLoading, setIsLoading] = useState(false);
|
||||
const [isSaving, setIsSaving] = useState(false);
|
||||
const [error, setError] = useState<string | null>(null);
|
||||
const [bendingImages, setBendingImages] = useState<Record<string, string>>({});
|
||||
const contentWrapperRef = useRef<HTMLDivElement>(null);
|
||||
// Lazy Snapshot 대상 문서 ID
|
||||
const [snapshotDocumentId, setSnapshotDocumentId] = useState<number | null>(null);
|
||||
@@ -129,6 +130,10 @@ export function WorkLogModal({
|
||||
if (lotsResult.success) {
|
||||
setMaterialLots(lotsResult.data);
|
||||
}
|
||||
// bending_images 맵 저장
|
||||
if (workLogResult.success && workLogResult.data?.bending_images) {
|
||||
setBendingImages(workLogResult.data.bending_images);
|
||||
}
|
||||
// Lazy Snapshot: 문서가 있고 rendered_html이 없으면 스냅샷 대상
|
||||
if (workLogResult.success && workLogResult.data?.document) {
|
||||
const doc = workLogResult.data.document as { id?: number; rendered_html?: string | null };
|
||||
@@ -147,6 +152,7 @@ export function WorkLogModal({
|
||||
// 모달 닫힐 때 상태 초기화
|
||||
setOrder(null);
|
||||
setMaterialLots([]);
|
||||
setBendingImages({});
|
||||
setSnapshotDocumentId(null);
|
||||
setError(null);
|
||||
}
|
||||
@@ -250,7 +256,7 @@ export function WorkLogModal({
|
||||
lotNoMap[lot.item_code] = lot.lot_no;
|
||||
}
|
||||
}
|
||||
return <BendingWorkLogContent data={order} lotNoMap={lotNoMap} />;
|
||||
return <BendingWorkLogContent data={order} lotNoMap={lotNoMap} bendingImages={bendingImages} />;
|
||||
}
|
||||
default:
|
||||
return <WorkLogContent data={order} />;
|
||||
|
||||
@@ -771,6 +771,7 @@ export async function getWorkLog(
|
||||
document: Record<string, unknown> | null;
|
||||
auto_values: Record<string, string>;
|
||||
work_stats: Record<string, unknown>;
|
||||
bending_images: Record<string, string>;
|
||||
};
|
||||
error?: string;
|
||||
}> {
|
||||
@@ -779,6 +780,7 @@ export async function getWorkLog(
|
||||
document: Record<string, unknown> | null;
|
||||
auto_values: Record<string, string>;
|
||||
work_stats: Record<string, unknown>;
|
||||
bending_images: Record<string, string>;
|
||||
}>({
|
||||
url: `${API_URL}/api/v1/work-orders/${workOrderId}/work-log`,
|
||||
errorMessage: '작업일지 조회에 실패했습니다.',
|
||||
|
||||
Reference in New Issue
Block a user