diff --git a/src/components/process-management/ProcessDetail.tsx b/src/components/process-management/ProcessDetail.tsx index e4f11a99..3b91dfeb 100644 --- a/src/components/process-management/ProcessDetail.tsx +++ b/src/components/process-management/ProcessDetail.tsx @@ -86,6 +86,18 @@ export function ProcessDetail({ process, onProcessUpdate }: ProcessDetailProps) } }; + // 품목 전체 삭제 + const handleRemoveAllItems = async () => { + if (!confirm(`등록된 품목 ${itemCount}개를 모두 삭제하시겠습니까?`)) return; + const result = await removeProcessItem(process.id, []); + if (result.success && result.data) { + toast.success('품목이 모두 제거되었습니다.'); + onProcessUpdate?.(result.data); + } else { + toast.error(result.error || '품목 전체 제거에 실패했습니다.'); + } + }; + const [isDuplicating, setIsDuplicating] = useState(false); // 공정 복제 @@ -278,6 +290,17 @@ export function ProcessDetail({ process, onProcessUpdate }: ProcessDetailProps) + {itemCount > 0 && ( + + )}
품목을 선택하면 이 공정으로 분류됩니다 diff --git a/src/components/process-management/ProcessForm.tsx b/src/components/process-management/ProcessForm.tsx index 12fb6a53..9b98d513 100644 --- a/src/components/process-management/ProcessForm.tsx +++ b/src/components/process-management/ProcessForm.tsx @@ -142,6 +142,14 @@ export function ProcessForm({ mode, initialData }: ProcessFormProps) { ); }, []); + // 품목 전체 삭제 + const handleRemoveAllItems = useCallback(() => { + if (!confirm(`등록된 품목 ${itemCount}개를 모두 삭제하시겠습니까?`)) return; + setClassificationRules((prev) => + prev.filter((rule) => rule.registrationType !== 'individual') + ); + }, [itemCount]); + // 부서 목록 + 문서양식 목록 로드 useEffect(() => { const loadInitialData = async () => { @@ -598,6 +606,18 @@ export function ProcessForm({ mode, initialData }: ProcessFormProps) { > 공정 품목 선택 + {itemCount > 0 && ( + + )}
품목을 선택하면 이 공정으로 분류됩니다