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 (