feat(WEB): 공정관리/작업지시/작업자화면 기능 강화 및 템플릿 개선

- 공정관리: ProcessDetail/ProcessForm/ProcessList 개선, StepDetail/StepForm 신규 추가
- 작업지시: WorkOrderDetail/Edit/List UI 개선, 작업지시서 문서 추가
- 작업자화면: WorkerScreen 대폭 개선, MaterialInputModal/WorkLogModal 수정, WorkItemCard 신규
- 영업주문: 주문 상세 페이지 개선
- 입고관리: 상세/actions 수정
- 템플릿: IntegratedDetailTemplate/IntegratedListTemplateV2/UniversalListPage 기능 확장
- UI: confirm-dialog 개선

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
유병철
2026-01-29 22:56:01 +09:00
parent 106ce09482
commit 3fc63d0b3e
50 changed files with 5801 additions and 1377 deletions

View File

@@ -70,6 +70,15 @@ export interface Process {
// 설명
note?: string;
// 담당자 (신규 필드 - 백엔드 미준비)
manager?: string;
// 생산일자 사용여부 (신규 필드 - 백엔드 미준비)
useProductionDate?: boolean;
// 단계 목록 (신규 필드 - 백엔드 미준비)
steps?: ProcessStep[];
// 상태
status: ProcessStatus;
@@ -119,4 +128,51 @@ export const PROCESS_TYPE_OPTIONS: { value: ProcessType; label: string }[] = [
{ value: '검사', label: '검사' },
{ value: '포장', label: '포장' },
{ value: '조립', label: '조립' },
];
// ============================================================================
// 공정 단계 (Process Step) 타입 정의
// ============================================================================
// 연결 유형
export type StepConnectionType = '팝업' | '없음';
// 완료 유형
export type StepCompletionType = '선택 완료 시 완료' | '클릭 시 완료';
// 공정 단계 엔티티
export interface ProcessStep {
id: string;
stepCode: string; // 단계코드 (예: 123123)
stepName: string; // 단계명 (예: 자재투입, 미싱 등)
isRequired: boolean; // 필수여부
needsApproval: boolean; // 승인여부
needsInspection: boolean; // 검사여부
isActive: boolean; // 사용여부
order: number; // 순서 (드래그&드롭)
// 연결 정보
connectionType: StepConnectionType;
connectionTarget?: string; // 도달 (입고완료 자재 목록 등)
// 완료 정보
completionType: StepCompletionType;
}
// 연결 유형 옵션
export const STEP_CONNECTION_TYPE_OPTIONS: { value: StepConnectionType; label: string }[] = [
{ value: '팝업', label: '팝업' },
{ value: '없음', label: '없음' },
];
// 완료 유형 옵션
export const STEP_COMPLETION_TYPE_OPTIONS: { value: StepCompletionType; label: string }[] = [
{ value: '선택 완료 시 완료', label: '선택 완료 시 완료' },
{ value: '클릭 시 완료', label: '클릭 시 완료' },
];
// 연결 도달 옵션
export const STEP_CONNECTION_TARGET_OPTIONS: { value: string; label: string }[] = [
{ value: '입고완료 자재 목록', label: '입고완료 자재 목록' },
{ value: '출고 요청 목록', label: '출고 요청 목록' },
{ value: '검사 대기 목록', label: '검사 대기 목록' },
{ value: '작업 지시 목록', label: '작업 지시 목록' },
];