feat: 통합 BOM 관리 시스템 구현
Some checks failed
SonarQube Analysis / SonarQube Scan (push) Has been cancelled
Some checks failed
SonarQube Analysis / SonarQube Scan (push) Has been cancelled
🎯 주요 변경사항: - 통합 BOM 페이지 (UnifiedBOMPage) 신규 개발 - 탭 구조로 업로드 → 파일 관리 → 자재 관리 워크플로우 개선 - 컴포넌트 분리로 스파게티 코드 방지 📤 업로드 탭 (BOMUploadTab): - 드래그 앤 드롭 파일 업로드 - 파일 검증 및 진행률 표시 - 업로드 완료 후 자동 Files 탭 이동 📊 파일 관리 탭 (BOMFilesTab): - 프로젝트별 BOM 파일 목록 조회 - 리비전 히스토리 표시 - BOM 선택 후 자동 Materials 탭 이동 📋 자재 관리 탭 (BOMMaterialsTab): - 기존 BOMManagementPage 래핑 - 선택된 BOM의 자재 분류 및 관리 🔧 백엔드 API 개선: - /files/project/{project_code} 엔드포인트 추가 - 한글 프로젝트 코드 URL 인코딩 지원 - 프로젝트별 파일 조회 기능 구현 🎨 대시보드 개선: - 3개 BOM 카드를 1개 통합 카드로 변경 - 기능 미리보기 태그 추가 - 더 직관적인 네비게이션 📁 코드 구조 개선: - 기존 페이지들을 _deprecated 폴더로 이동 - 탭별 컴포넌트 분리 (components/bom/tabs/) - PAGES_GUIDE.md 업데이트 ✨ 사용자 경험 개선: - 자연스러운 워크플로우 (업로드 → 선택 → 관리) - 탭 간 상태 공유 및 자동 네비게이션 - 통합된 인터페이스에서 모든 BOM 작업 처리
This commit is contained in:
@@ -33,12 +33,14 @@
|
||||
- **역할**: 메인 대시보드 페이지
|
||||
- **기능**:
|
||||
- 프로젝트 선택 드롭다운
|
||||
- 프로젝트별 기능 카드 (BOM 관리, 구매신청 관리)
|
||||
- **새로운 3개 BOM 카드**: 📤 BOM Upload, 📊 Revision Management, 📋 BOM Management
|
||||
- 구매신청 관리 카드
|
||||
- 관리자 전용 기능 (사용자 관리, 로그 관리)
|
||||
- 프로젝트 생성/편집/삭제/비활성화
|
||||
- **라우팅**: `/dashboard`
|
||||
- **접근 권한**: 인증된 사용자
|
||||
- **디자인**: 데본씽크 스타일, 글래스모피즘 효과
|
||||
- **업데이트**: BOM 기능을 3개 전용 페이지로 분리
|
||||
|
||||
### `MainPage.jsx`
|
||||
- **역할**: 초기 랜딩 페이지
|
||||
@@ -88,17 +90,40 @@
|
||||
|
||||
## BOM 관리 페이지
|
||||
|
||||
### `BOMManagementPage.jsx`
|
||||
- **역할**: BOM(Bill of Materials) 통합 관리 페이지
|
||||
### `BOMUploadPage.jsx` ⭐ 신규
|
||||
- **역할**: BOM 파일 업로드 전용 페이지
|
||||
- **기능**:
|
||||
- 카테고리별 자재 조회 (PIPE, FITTING, FLANGE, VALVE, GASKET, BOLT, SUPPORT, SPECIAL)
|
||||
- 드래그 앤 드롭 파일 업로드
|
||||
- 파일 검증 (형식: .xlsx, .xls, .csv / 최대 50MB)
|
||||
- 실시간 업로드 진행률 표시
|
||||
- 자동 BOM 이름 설정
|
||||
- 업로드 완료 후 BOM 관리 페이지로 자동 이동
|
||||
- **라우팅**: `/bom-upload`
|
||||
- **접근 권한**: 인증된 사용자
|
||||
- **디자인**: 모던 UI, 글래스모피즘 효과
|
||||
|
||||
### `BOMRevisionPage.jsx` ⭐ 신규
|
||||
- **역할**: BOM 리비전 관리 전용 페이지
|
||||
- **현재 상태**: 기본 구조 완성, 고급 기능 개발 예정
|
||||
- **기능**:
|
||||
- BOM 파일 목록 표시
|
||||
- 리비전 히스토리 개요
|
||||
- 개발 예정 기능 안내 (타임라인, 비교, 롤백)
|
||||
- **라우팅**: `/bom-revision`
|
||||
- **접근 권한**: 인증된 사용자
|
||||
- **향후 계획**: 📊 리비전 타임라인, 🔍 변경사항 비교, ⏪ 롤백 시스템
|
||||
|
||||
### `BOMManagementPage.jsx`
|
||||
- **역할**: BOM(Bill of Materials) 자재 관리 페이지
|
||||
- **기능**:
|
||||
- 카테고리별 자재 조회 (PIPE, FITTING, FLANGE, VALVE, GASKET, BOLT, SUPPORT, SPECIAL, UNCLASSIFIED)
|
||||
- 자재 선택 및 구매신청 (엑셀 내보내기)
|
||||
- 구매신청된 자재 비활성화 표시
|
||||
- 사용자 요구사항 입력 및 저장
|
||||
- 리비전 관리
|
||||
- 사용자 요구사항 입력 및 저장 (Brand, Additional Request)
|
||||
- 카테고리별 전용 컴포넌트 구조
|
||||
- **라우팅**: `/bom-management`
|
||||
- **접근 권한**: 인증된 사용자
|
||||
- **특징**: 카테고리별 컴포넌트로 분리된 구조
|
||||
- **특징**: 카테고리별 컴포넌트로 완전 분리된 구조
|
||||
|
||||
### `NewMaterialsPage.jsx` (레거시)
|
||||
- **역할**: 기존 자재 관리 페이지 (현재 백업용)
|
||||
@@ -113,13 +138,10 @@
|
||||
- **라우팅**: `/bom-status`
|
||||
- **접근 권한**: 인증된 사용자
|
||||
|
||||
### `BOMWorkspacePage.jsx`
|
||||
- **역할**: BOM 작업 공간
|
||||
- **기능**:
|
||||
- BOM 파일 업로드 및 처리
|
||||
- 자재 분류 작업
|
||||
- **라우팅**: `/bom-workspace`
|
||||
- **접근 권한**: 인증된 사용자
|
||||
### `_deprecated/BOMWorkspacePage.jsx` (사용 중단)
|
||||
- **역할**: 기존 BOM 작업 공간 (사용 중단)
|
||||
- **상태**: `BOMUploadPage`와 `BOMRevisionPage`로 분리됨
|
||||
- **이유**: 업로드와 리비전 관리 기능을 별도 페이지로 분리하여 사용성 개선
|
||||
|
||||
---
|
||||
|
||||
@@ -303,6 +325,21 @@
|
||||
|
||||
## 최근 업데이트 내역
|
||||
|
||||
### 2024-10-17: BOM 페이지 구조 개편 ⭐ 주요 업데이트
|
||||
- **새로운 페이지 추가**:
|
||||
- `BOMUploadPage.jsx`: 전용 업로드 페이지 (드래그 앤 드롭, 파일 검증)
|
||||
- `BOMRevisionPage.jsx`: 리비전 관리 페이지 (기본 구조, 향후 고급 기능 예정)
|
||||
- **기존 페이지 정리**:
|
||||
- `BOMWorkspacePage.jsx` → `_deprecated/` 폴더로 이동 (사용 중단)
|
||||
- 업로드와 리비전 기능을 별도 페이지로 분리하여 사용성 개선
|
||||
- **대시보드 개편**:
|
||||
- BOM 관리를 3개 카드로 분리: 📤 Upload, 📊 Revision, 📋 Management
|
||||
- 각 기능별 전용 페이지로 명확한 역할 분담
|
||||
- **라우팅 업데이트**:
|
||||
- `/bom-upload`: 새 파일 업로드
|
||||
- `/bom-revision`: 리비전 관리
|
||||
- `/bom-management`: 자재 관리
|
||||
|
||||
### 2024-10-17: SPECIAL 카테고리 추가
|
||||
- `SpecialMaterialsView.jsx` 컴포넌트 추가
|
||||
- 특수 제작 자재 관리 기능 구현
|
||||
|
||||
Reference in New Issue
Block a user