import React, { useState, useEffect } from 'react'; import api from '../api'; const BOMRevisionPage = ({ onNavigate, selectedProject, user }) => { const [bomFiles, setBomFiles] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(''); // BOM 파일 목록 로드 (기본 구조만) useEffect(() => { const loadBOMFiles = async () => { if (!selectedProject) return; try { setLoading(true); // TODO: 실제 API 구현 필요 // const response = await api.get(`/files/project/${selectedProject.job_no}`); // setBomFiles(response.data); // 임시 데이터 setBomFiles([ { id: 1, bom_name: 'Main Process BOM', revisions: ['Rev.0', 'Rev.1', 'Rev.2'], latest_revision: 'Rev.2', upload_date: '2024-10-17', status: 'Active' }, { id: 2, bom_name: 'Utility BOM', revisions: ['Rev.0', 'Rev.1'], latest_revision: 'Rev.1', upload_date: '2024-10-16', status: 'Active' } ]); } catch (err) { console.error('BOM 파일 로드 실패:', err); setError('BOM 파일을 불러오는데 실패했습니다.'); } finally { setLoading(false); } }; loadBOMFiles(); }, [selectedProject]); return (
{/* 헤더 */}

BOM Revision Management

Project: {selectedProject?.job_name || 'No Project Selected'}

{/* 프로젝트 정보 */}
{selectedProject?.official_project_code || selectedProject?.job_no || 'N/A'}
Project Code
{bomFiles.length}
BOM Files
{bomFiles.reduce((total, bom) => total + bom.revisions.length, 0)}
Total Revisions
{/* 개발 예정 배너 */}
🚧

Advanced Revision Management

고급 리비전 관리 기능이 개발 중입니다. 업로드 기능 완료 후 본격적인 개발이 시작됩니다.

{/* 예정 기능 미리보기 */}
📊

Revision Timeline

시각적 리비전 히스토리

🔍

Diff Comparison

리비전 간 변경사항 비교

Rollback System

이전 리비전으로 롤백

{/* 임시 BOM 파일 목록 (기본 구조) */} {bomFiles.length > 0 && (

Current BOM Files (Preview)

{bomFiles.map((bom) => (

{bom.bom_name}

Latest: {bom.latest_revision} Revisions: {bom.revisions.length} Uploaded: {bom.upload_date}
))}
)}
); }; export default BOMRevisionPage;