feat(WEB): 공정 단계 설정(검사여부/연결정보/완료정보) → WorkerScreen 연동

- WorkStepData 타입에 stepProgressId, needsInspection, connectionType, connectionTarget, completionType 추가
- getWorkOrderDetail step 변환에서 needs_inspection, connection_type, completion_type 추출
- PROCESS_STEPS 폴백 시 processListCache 단계 설정 매칭하여 enrichStep 헬퍼로 주입
- handleStepClick에 connectionType='팝업' + connectionTarget='중간검사' 분기 추가
- handleInspectionComplete에서 completionType='검사완료 시 완료' 단계 toggleStepProgress API 호출
- TemplateInspectionContent: reference_attribute → workItem 치수 연동
- InspectionInputModal: workItemDimensions prop으로 실제 치수 기반 설계값 표시
This commit is contained in:
2026-02-11 14:30:46 +09:00
parent 8a993bc0c3
commit 5104a8b012
13 changed files with 831 additions and 409 deletions

View File

@@ -132,7 +132,7 @@ export function DevToolbar() {
// 숨김 상태일 때 작은 버튼만 표시
if (!isVisible) {
return (
<div className="fixed bottom-9 right-4 z-[9999]">
<div className="fixed bottom-12 right-4 z-[9999]">
<Button
size="sm"
variant="outline"
@@ -185,10 +185,10 @@ export function DevToolbar() {
const hasFlowData = flowData.quoteId || flowData.orderId || flowData.workOrderId || flowData.lotNo;
return (
<div className="fixed bottom-9 left-1/2 -translate-x-1/2 z-[9999] max-w-[calc(100vw-1rem)]">
<div className="fixed bottom-12 left-1/2 -translate-x-1/2 z-[9999] w-[calc(100vw-1rem)] sm:w-auto sm:max-w-[calc(100vw-1rem)]">
<div className="bg-yellow-50 border-2 border-yellow-400 rounded-lg shadow-2xl overflow-hidden">
{/* 헤더 */}
<div className="flex items-center justify-between px-3 py-2 bg-yellow-100 border-b border-yellow-300">
<div className="flex items-center justify-between px-2 sm:px-3 py-1.5 sm:py-2 bg-yellow-100 border-b border-yellow-300">
<div className="flex items-center gap-2">
<Badge variant="outline" className="bg-yellow-200 border-yellow-500 text-yellow-800">
DEV MODE
@@ -257,7 +257,7 @@ export function DevToolbar() {
{/* 판매/생산 플로우 버튼 영역 */}
{isExpanded && (
<div className="flex flex-wrap items-center gap-2 px-3 py-3">
<div className="flex flex-wrap items-center gap-1.5 sm:gap-2 px-2 sm:px-3 py-2 sm:py-3">
{FLOW_STEPS.map((step, index) => {
const Icon = step.icon;
const isActive = activePage === step.type;
@@ -331,7 +331,7 @@ export function DevToolbar() {
{/* 2행: 회계 + 기준정보 + 자재 버튼 영역 */}
{isExpanded && (
<div className="flex flex-wrap items-center gap-2 px-3 pb-3 border-t border-yellow-300 pt-3">
<div className="flex flex-wrap items-center gap-1.5 sm:gap-2 px-2 sm:px-3 pb-2 sm:pb-3 border-t border-yellow-300 pt-2 sm:pt-3">
{/* 회계 */}
<span className="text-xs text-yellow-600 font-medium mr-1">:</span>
{ACCOUNTING_STEPS.map((step) => {