- 입금관리, 출금관리 리스트에 등록 버튼 추가 - skeleton, confirm-dialog, empty-state, status-badge UI 컴포넌트 추가 - document-system 컴포넌트 추상화 (ApprovalLine, DocumentHeader 등) - 여러 페이지 컴포넌트 리팩토링 및 코드 정리 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
64 lines
1.8 KiB
TypeScript
64 lines
1.8 KiB
TypeScript
'use client';
|
|
|
|
/**
|
|
* 전량완료 확인 다이얼로그
|
|
*
|
|
* "자재 투입이 필요합니다" 안내 후 확인 클릭 시 MaterialInputModal로 이동
|
|
*/
|
|
|
|
import { ConfirmDialog } from '@/components/ui/confirm-dialog';
|
|
import type { WorkOrder } from '../ProductionDashboard/types';
|
|
|
|
interface CompletionConfirmDialogProps {
|
|
open: boolean;
|
|
onOpenChange: (open: boolean) => void;
|
|
order: WorkOrder | null;
|
|
onConfirm: () => void; // 확인 클릭 시 → MaterialInputModal 열기
|
|
}
|
|
|
|
export function CompletionConfirmDialog({
|
|
open,
|
|
onOpenChange,
|
|
order,
|
|
onConfirm,
|
|
}: CompletionConfirmDialogProps) {
|
|
const handleConfirm = () => {
|
|
onOpenChange(false);
|
|
onConfirm(); // 부모에서 MaterialInputModal 열기
|
|
};
|
|
|
|
if (!order) return null;
|
|
|
|
return (
|
|
<ConfirmDialog
|
|
open={open}
|
|
onOpenChange={onOpenChange}
|
|
onConfirm={handleConfirm}
|
|
variant="warning"
|
|
title={<span className="text-orange-600">자재 투입이 필요합니다!</span>}
|
|
description={
|
|
<div className="space-y-3">
|
|
<div className="bg-gray-50 p-3 rounded-lg space-y-1 text-sm">
|
|
<p>
|
|
<span className="text-muted-foreground">작업지시:</span>{' '}
|
|
<span className="font-medium text-foreground">{order.orderNo}</span>
|
|
</p>
|
|
<p>
|
|
<span className="text-muted-foreground">공정:</span>{' '}
|
|
<span className="font-medium text-foreground">
|
|
{order.processName}
|
|
</span>
|
|
</p>
|
|
</div>
|
|
<p className="text-orange-600 font-medium">
|
|
자재 투입 없이 완료 처리하시겠습니까?
|
|
</p>
|
|
<p className="text-sm text-muted-foreground">
|
|
(LOT 추적이 불가능해집니다)
|
|
</p>
|
|
</div>
|
|
}
|
|
confirmText="확인"
|
|
/>
|
|
);
|
|
} |