diff --git a/frontend/lib/registry/pop-components/pop-work-detail/PopWorkDetailComponent.tsx b/frontend/lib/registry/pop-components/pop-work-detail/PopWorkDetailComponent.tsx index 350d1c26..7d5e1ab8 100644 --- a/frontend/lib/registry/pop-components/pop-work-detail/PopWorkDetailComponent.tsx +++ b/frontend/lib/registry/pop-components/pop-work-detail/PopWorkDetailComponent.tsx @@ -1253,12 +1253,13 @@ export function PopWorkDetailComponent({ ))} {/* 각 그룹 하단: 작업완료 버튼 */} - {!isProcessCompleted && selectedGroup && !isGroupCompleted && ( + {!isProcessCompleted && selectedGroup && (
{ await handleGroupTimerAction("complete"); // 완료 후 다음 그룹으로 자동 이동 @@ -2274,6 +2275,11 @@ function GroupTimerHeader({ 재개 )} + {isGroupStarted && ( + onTimerAction("complete")} style={{ minHeight: 48, minWidth: 120, fontSize: 16 }}> + 완료 + + )}
)} @@ -2427,12 +2433,14 @@ function GroupCompleteButton({ group, currentItems, isGroupStarted, + isGroupCompleted, onComplete, onNavigateNext, }: { group: WorkGroup; currentItems: WorkResultRow[]; isGroupStarted: boolean; + isGroupCompleted: boolean; onComplete: () => void; onNavigateNext: () => void; }) { @@ -2442,6 +2450,19 @@ function GroupCompleteButton({ const allDone = currentItems.every((r) => r.status === "completed"); const isDisabled = !isGroupStarted || (!allRequiredDone); + // 이미 완료된 그룹: 완료 표시만 + if (isGroupCompleted) { + return ( +
+ + 작업완료됨 +
+ ); + } + if (confirmOpen) { return (