From 434a73ccc02c325e7480908b2ada879b79143b3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B6=8C=ED=98=81=EC=84=B1?= Date: Wed, 11 Feb 2026 15:25:19 +0900 Subject: [PATCH] =?UTF-8?q?fix(WEB):=20=EA=B2=80=EC=82=AC=EC=84=B1?= =?UTF-8?q?=EC=A0=81=EC=84=9C=20=EB=AA=A8=EB=8B=AC=EC=9D=B4=20=ED=95=AD?= =?UTF-8?q?=EC=83=81=20=EC=B2=AB=20=EB=B2=88=EC=A7=B8=20=EC=9E=91=EC=97=85?= =?UTF-8?q?=EC=A7=80=EC=8B=9C=20=EB=8D=B0=EC=9D=B4=ED=84=B0=EB=A5=BC=20?= =?UTF-8?q?=ED=91=9C=EC=8B=9C=ED=95=98=EB=8A=94=20=EB=B2=84=EA=B7=B8=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - getTargetOrder()가 filteredWorkOrders[0]만 반환하던 로직 수정 - selectedSidebarOrderId 기반으로 선택된 작업지시를 우선 반환하도록 변경 --- src/components/production/WorkerScreen/index.tsx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/components/production/WorkerScreen/index.tsx b/src/components/production/WorkerScreen/index.tsx index 86d70151..e403f0e0 100644 --- a/src/components/production/WorkerScreen/index.tsx +++ b/src/components/production/WorkerScreen/index.tsx @@ -928,8 +928,15 @@ export default function WorkerScreen() { } }, [selectedOrder, inputMaterialsMap]); - // 하단 버튼용 합성 WorkOrder (API 데이터 없을 때 목업 폴백) + // 하단 버튼용 합성 WorkOrder (사이드바 선택 우선, 없으면 첫 번째, 그래도 없으면 목업 폴백) const getTargetOrder = useCallback((): WorkOrder | null => { + // 사이드바에서 선택된 작업지시 우선 + const selected = selectedSidebarOrderId + ? filteredWorkOrders.find((wo) => wo.id === selectedSidebarOrderId) + : null; + if (selected) return selected; + + // 선택 없으면 첫 번째 작업지시 const apiTarget = filteredWorkOrders[0]; if (apiTarget) return apiTarget; @@ -954,7 +961,7 @@ export default function WorkerScreen() { isDelayed: false, createdAt: '', }; - }, [filteredWorkOrders, workItems]); + }, [filteredWorkOrders, workItems, selectedSidebarOrderId]); // 현재 공정에 맞는 중간검사 타입 결정 const getInspectionProcessType = useCallback((): InspectionProcessType => {