워크플로우 시스템 구축 완료

- 워크플로우 개요 페이지에 플로우차트 형태 추가 (3x2 그리드)
- 각 워크플로우 단계별 독립 HTML 페이지 생성 (1-4단계)
- 클릭 가능한 워크플로우 박스와 상세 페이지 연결
- DevonThink 스타일 적용 및 반응형 디자인
- 구매/물류팀 용어 통일 및 프레젠테이션 업데이트
This commit is contained in:
Hyungi Ahn
2025-09-15 19:17:42 +09:00
parent 5375842144
commit bd23e00232
10 changed files with 2445 additions and 638 deletions

View File

@@ -53,6 +53,16 @@
</a></li>
</ul>
</div>
<div class="nav-section">
<h3>워크플로우</h3>
<ul>
<li><a href="#" onclick="showPage('workflow-overview')" class="nav-item">
<span class="nav-icon">🔄</span>
전체 워크플로우
</a></li>
</ul>
</div>
</nav>
<div class="sidebar-footer">
@@ -70,134 +80,24 @@
<div class="main-content">
<!-- 프로젝트 관리 페이지 -->
<div id="project-management" class="page active">
<div class="project-selector-container">
<div class="project-selector-header">
<h1>TK Project</h1>
<p class="selector-description">프로젝트를 선택하여 관리를 시작하세요</p>
<div class="simple-project-selector">
<h1>TK Project</h1>
<p>프로젝트를 선택하여 관리를 시작하세요</p>
<div class="project-select-box">
<select id="project-select" onchange="selectProject(this.value)">
<option value="">프로젝트를 선택하세요</option>
<option value="TK-2024-015">ABC 공장 배관공사 (TK-2024-015)</option>
<option value="TK-2024-016">DEF 플랜트 배관 설치 (TK-2024-016)</option>
<option value="TK-2024-017">GHI 정유 공장 개보수 (TK-2024-017)</option>
<option value="TK-2024-012">JKL 화학 공장 신설 (TK-2024-012)</option>
</select>
</div>
<div class="project-selector-main">
<div class="project-dropdown-container">
<div class="project-dropdown" onclick="toggleProjectDropdown()">
<div class="dropdown-display">
<span class="dropdown-text" id="selected-project-text">프로젝트를 선택하세요</span>
<span class="dropdown-arrow"></span>
</div>
<div class="dropdown-menu" id="project-dropdown-menu">
<div class="dropdown-search">
<input type="text" placeholder="프로젝트 검색..." class="dropdown-search-input" onkeyup="filterProjects(this.value)">
</div>
<div class="dropdown-options" id="dropdown-options">
<div class="dropdown-option" data-job-no="TK-2024-015" onclick="selectProjectFromDropdown('TK-2024-015')">
<div class="option-main">
<span class="option-title">ABC 공장 배관공사</span>
<span class="option-job-no">TK-2024-015</span>
</div>
<div class="option-details">
<span class="option-customer">ABC 케미칼</span>
<span class="option-status status-production">제작중</span>
</div>
</div>
<div class="dropdown-option" data-job-no="TK-2024-016" onclick="selectProjectFromDropdown('TK-2024-016')">
<div class="option-main">
<span class="option-title">DEF 플랜트 배관 설치</span>
<span class="option-job-no">TK-2024-016</span>
</div>
<div class="option-details">
<span class="option-customer">DEF 화학</span>
<span class="option-status status-planning">계획</span>
</div>
</div>
<div class="dropdown-option" data-job-no="TK-2024-017" onclick="selectProjectFromDropdown('TK-2024-017')">
<div class="option-main">
<span class="option-title">GHI 정유 공장 개보수</span>
<span class="option-job-no">TK-2024-017</span>
</div>
<div class="option-details">
<span class="option-customer">GHI 정유 / 한국엔지니어링</span>
<span class="option-status status-in-progress">진행중</span>
</div>
</div>
<div class="dropdown-option" data-job-no="TK-2024-012" onclick="selectProjectFromDropdown('TK-2024-012')">
<div class="option-main">
<span class="option-title">JKL 화학 공장 신설</span>
<span class="option-job-no">TK-2024-012</span>
</div>
<div class="option-details">
<span class="option-customer">JKL 화학</span>
<span class="option-status status-completed">완료</span>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 선택된 프로젝트 정보 -->
<div class="selected-project-info" id="selected-project-info" style="display: none;">
<div class="project-info-card">
<div class="project-info-header">
<h3 id="info-project-title">프로젝트명</h3>
<span class="info-job-no" id="info-job-no">Job No.</span>
</div>
<div class="project-info-details">
<div class="info-row">
<span class="info-label">고객사</span>
<span class="info-value" id="info-customer">-</span>
</div>
<div class="info-row">
<span class="info-label">납기일</span>
<span class="info-value" id="info-deadline">-</span>
</div>
<div class="info-row">
<span class="info-label">납품방식</span>
<span class="info-value" id="info-delivery">-</span>
</div>
<div class="info-row">
<span class="info-label">담당 PM</span>
<span class="info-value" id="info-pm">-</span>
</div>
<div class="info-row">
<span class="info-label">진행상태</span>
<span class="info-value">
<span class="status-badge" id="info-status">-</span>
<span id="info-progress">0%</span>
</span>
</div>
</div>
<div class="project-actions">
<button class="btn btn-primary" id="btn-project-detail" onclick="goToProjectDetail()">📊 프로젝트 세부관리</button>
<button class="btn btn-secondary" id="btn-production-meeting" onclick="showPage('production-meeting')">🏭 생산회의록</button>
<button class="btn btn-secondary" id="btn-incoming-inspection" onclick="showPage('incoming-inspection')">📦 입고 검수</button>
<button class="btn btn-secondary" id="btn-production-work" onclick="showPage('production-work')">🔧 생산팀 작업</button>
</div>
</div>
</div>
</div>
<!-- 프로젝트 통계 -->
<div class="project-stats-simple">
<div class="stat-item">
<span class="stat-number">12</span>
<span class="stat-label">전체 프로젝트</span>
</div>
<div class="stat-item">
<span class="stat-number">8</span>
<span class="stat-label">진행중</span>
</div>
<div class="stat-item">
<span class="stat-number">3</span>
<span class="stat-label">제작중</span>
</div>
<div class="stat-item">
<span class="stat-number">1</span>
<span class="stat-label">지연</span>
</div>
<div class="project-actions" id="project-actions" style="display: none;">
<button class="btn btn-primary" onclick="showPage('production-meeting')">🏭 생산회의록</button>
<button class="btn btn-primary" onclick="showPage('incoming-inspection')">📦 입고 검수</button>
<button class="btn btn-primary" onclick="showPage('production-work')">🔧 생산팀 작업</button>
</div>
</div>
</div>
@@ -772,6 +672,493 @@
</div>
</div>
</div>
<!-- 워크플로우 개요 페이지 -->
<div id="workflow-overview" class="page">
<div class="page-header">
<h2>🔄 TK Project 전체 워크플로우</h2>
<p class="page-description">수주부터 납품까지의 전체 프로젝트 라이프사이클 관리 시스템</p>
</div>
<div class="workflow-overview-container">
<div class="workflow-flowchart">
<!-- 첫 번째 행 -->
<div class="workflow-row">
<div class="workflow-box" onclick="showPage('workflow-stage-1')">
<div class="box-number">1</div>
<div class="box-icon">📋</div>
<div class="box-title">준비 단계</div>
<div class="box-subtitle">수주 → Job No. 부여 → 담당자 배정<br>외주/자체제작 결정 → 각 부서 일정 수립</div>
</div>
<div class="flow-arrow horizontal"></div>
<div class="workflow-box" onclick="showPage('workflow-stage-2')">
<div class="box-number">2</div>
<div class="box-icon">🚀</div>
<div class="box-title">프로젝트 진행 (발주)</div>
<div class="box-subtitle">외주: 도면 → 견적 → 발주 → 관리<br>자체: BOM → 구매신청 → 발주 → 입고</div>
</div>
<div class="flow-arrow horizontal"></div>
<div class="workflow-box" onclick="showPage('workflow-stage-3')">
<div class="box-number">3</div>
<div class="box-icon">🔧</div>
<div class="box-title">제작 단계</div>
<div class="box-subtitle">외주: 업체 공정표 관리 + NCR 처리<br>자체: 생산팀 공정관리 + 자재 인수인계</div>
</div>
</div>
<!-- 두 번째 행 -->
<div class="workflow-row">
<div class="workflow-box" onclick="showPage('workflow-stage-4')">
<div class="box-number">4</div>
<div class="box-icon">🏭</div>
<div class="box-title">생산회의</div>
<div class="box-subtitle">제작 전/중 현황 관리<br>공정표 표시 개선 + 실시간 모니터링</div>
</div>
<div class="flow-arrow horizontal"></div>
<div class="workflow-box" onclick="showPage('workflow-stage-5')">
<div class="box-number">5</div>
<div class="box-icon">📦</div>
<div class="box-title">납품 (출하전 보고서)</div>
<div class="box-subtitle">필수 확인점 완료 확인<br>대표 승인 → 출하 가능</div>
</div>
<div class="flow-arrow horizontal"></div>
<div class="workflow-box special" onclick="showPage('workflow-stage-0')">
<div class="box-number">💡</div>
<div class="box-icon"></div>
<div class="box-title">특이사항</div>
<div class="box-subtitle">긴급/가공건: 구두신청 → 긴급진행<br>각 팀장이 워크플로우 자유 변형 가능</div>
</div>
</div>
<!-- 연결선들 -->
<div class="flow-connections">
<!-- 세로 연결선 (1→4) -->
<div class="vertical-line" style="left: 16.66%; top: 45%; height: 10%;"></div>
<!-- 세로 연결선 (2→5) -->
<div class="vertical-line" style="left: 50%; top: 45%; height: 10%;"></div>
<!-- 세로 연결선 (3→특이사항) -->
<div class="vertical-line" style="left: 83.33%; top: 45%; height: 10%;"></div>
</div>
</div>
<div class="workflow-summary">
<h3>🎯 핵심 목표</h3>
<ul>
<li><strong>중앙집중식 프로젝트 관리:</strong> 모든 프로젝트 정보를 한 곳에서 통합 관리</li>
<li><strong>구매 신청 중심 자재 관리:</strong> 구매 프로세스를 중심으로 한 완전한 자재 추적</li>
<li><strong>실시간 정보 연동:</strong> 부서 간 정보 공유 및 실시간 업데이트</li>
<li><strong>사용자 경험 최적화:</strong> 직관적이고 효율적인 업무 프로세스</li>
</ul>
</div>
</div>
</div>
<!-- 워크플로우 상세 페이지들 -->
<!-- Stage 0: 프로젝트 관리 -->
<div id="workflow-stage-0" class="page">
<div class="page-header">
<button class="btn-back" onclick="showPage('workflow-overview')">← 워크플로우로 돌아가기</button>
<h2>🏢 0단계: 프로젝트 관리 (워크플로우 시작점)</h2>
<p class="page-description">전체 워크플로우의 중심이 되는 프로젝트 접근점</p>
</div>
<div class="workflow-detail-container">
<div class="detail-section">
<h3>📋 주요 기능</h3>
<ul class="feature-list">
<li>활성 프로젝트 목록 표시 (납기 미경과, 미완료 프로젝트만)</li>
<li>간단하고 직관적인 프로젝트 선택 인터페이스</li>
<li>선택된 프로젝트 컨텍스트 전역 유지</li>
</ul>
</div>
<div class="detail-section">
<h3>🔄 워크플로우 연결</h3>
<div class="workflow-connection">
<div class="connection-item">프로젝트 선택</div>
<div class="arrow"></div>
<div class="connection-item">세션 저장</div>
<div class="arrow"></div>
<div class="connection-item">각 기능 모듈로 분기</div>
</div>
<div class="module-list">
<div class="module-item">📋 프로젝트 등록/수정</div>
<div class="module-item">🏭 생산회의록</div>
<div class="module-item">📦 입고 검수 관리</div>
<div class="module-item">🔧 생산팀 작업 관리</div>
<div class="module-item">🔍 품질 검사 시스템</div>
</div>
</div>
<div class="detail-section">
<h3>⚙️ 실제 구현 시 고려사항</h3>
<div class="consideration-grid">
<div class="consideration-item">
<h4>동적 필터링</h4>
<p>납기일 기준 활성 프로젝트만 표시</p>
</div>
<div class="consideration-item">
<h4>권한 기반 접근</h4>
<p>사용자 권한에 따른 프로젝트 접근 제어</p>
</div>
<div class="consideration-item">
<h4>실시간 동기화</h4>
<p>프로젝트 상태 변경 시 즉시 반영</p>
</div>
</div>
</div>
</div>
</div>
<!-- Stage 1: 준비 단계 -->
<div id="workflow-stage-1" class="page">
<div class="page-header">
<button class="btn-back" onclick="showPage('workflow-overview')">← 워크플로우로 돌아가기</button>
<h2>🚀 1단계: 준비 단계</h2>
<p class="page-description">프로젝트 등록 및 각 부서별 업무 분기 단계</p>
</div>
<div class="workflow-detail-container">
<div class="detail-section">
<h3>📋 프로젝트 등록</h3>
<div class="process-flow">
<div class="process-step">
<h4>수주에 따른 Job No. 부여</h4>
<p><strong>담당자:</strong> 영업 또는 PM</p>
</div>
<div class="process-step">
<h4>업무 내용</h4>
<ul>
<li>관련 정보 업로드 (관련 자료 + 담당자 정리본)</li>
<li>일정을 고려한 외주 & 자체제작 여부 확정</li>
</ul>
</div>
</div>
</div>
<div class="detail-section">
<h3>🏗️ 업무 분기 및 일정 수립</h3>
<p>등록된 정보와 확정된 일정을 토대로 각 부서별 업무 분기:</p>
<div class="department-grid">
<div class="department-card">
<h4>🏗️ 설계팀</h4>
<ul>
<li>도면 일정 수립</li>
</ul>
</div>
<div class="department-card">
<h4>🔍 품질팀</h4>
<ul>
<li>검사 포인트 확인 및 일정 수립</li>
<li>ITP 작성</li>
</ul>
</div>
<div class="department-card">
<h4>🛒 구매/물류팀</h4>
<ul>
<li>외주 제작 일정 시작과 끝 입력</li>
<li>항목별 소요 일수 산정 (필요시 견적 진행)</li>
</ul>
</div>
<div class="department-card">
<h4>🏭 생산팀</h4>
<ul>
<li>납기일 확인 후 제작일정 수립</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<!-- Stage 2: 프로젝트 진행 단계 -->
<div id="workflow-stage-2" class="page">
<div class="page-header">
<button class="btn-back" onclick="showPage('workflow-overview')">← 워크플로우로 돌아가기</button>
<h2>🔄 2단계: 프로젝트 진행 단계 (발주)</h2>
<p class="page-description">외주 및 자체제작 프로세스 관리</p>
</div>
<div class="workflow-detail-container">
<div class="detail-section">
<h3>🏢 외주의 경우</h3>
<div class="process-flow">
<div class="process-step">도면 업로드</div>
<div class="arrow"></div>
<div class="process-step">견적진행</div>
<div class="arrow"></div>
<div class="process-step">발주</div>
<div class="arrow"></div>
<div class="process-step">관리페이지 (납기, 검사포인트 등)</div>
</div>
</div>
<div class="detail-section">
<h3>🏭 자체제작의 경우</h3>
<div class="process-flow-vertical">
<div class="process-step">도면(BOM) 업로드</div>
<div class="arrow-down"></div>
<div class="process-step">분류</div>
<div class="arrow-down"></div>
<div class="process-step">구매신청</div>
<div class="arrow-down"></div>
<div class="process-step">견적/발주</div>
<div class="arrow-down"></div>
<div class="process-step">입고</div>
<div class="arrow-down"></div>
<div class="process-step">검수 및 보관</div>
<div class="arrow-down"></div>
<div class="process-step">검사</div>
<div class="arrow-down"></div>
<div class="process-step">불출</div>
</div>
</div>
<div class="detail-section">
<h3>📝 중요 사항</h3>
<div class="important-notes">
<div class="note-item">
<h4>보관 단계</h4>
<p>입고 위치 정보 입력 필수</p>
</div>
<div class="note-item">
<h4>추가분 발생시</h4>
<p>리비전 로직으로 진행</p>
</div>
<div class="note-item">
<h4>긴급/가공건</h4>
<p>구두로 신청(근거는 남겨야됨) → 긴급 진행 → 사후 처리(발주 담당자)</p>
</div>
</div>
</div>
</div>
</div>
<!-- Stage 3: 제작 단계 -->
<div id="workflow-stage-3" class="page">
<div class="page-header">
<button class="btn-back" onclick="showPage('workflow-overview')">← 워크플로우로 돌아가기</button>
<h2>🛠️ 3단계: 제작 단계</h2>
<p class="page-description">외주 및 자체제작 생산 관리</p>
</div>
<div class="workflow-detail-container">
<div class="detail-section">
<h3>🏢 외주의 경우</h3>
<div class="responsibility-card">
<h4>담당부서: 구매/물류팀</h4>
<ul>
<li>납기, 업체 공정표의 정보 입력 페이지</li>
<li>품질팀은 해당 입력을 토대로 검사일정 수립</li>
</ul>
</div>
<div class="ncr-process">
<h4>📋 NCR 발생시 처리 순서</h4>
<div class="process-flow">
<div class="process-step">품질 작성</div>
<div class="arrow"></div>
<div class="process-step">구매/물류팀 전달</div>
<div class="arrow"></div>
<div class="process-step">업체송부</div>
<div class="arrow"></div>
<div class="process-step">구매/물류팀이 업체 답변 수령</div>
<div class="arrow"></div>
<div class="process-step">품질 전달</div>
</div>
</div>
</div>
<div class="detail-section">
<h3>🏭 자체제작의 경우</h3>
<div class="department-responsibilities">
<div class="responsibility-card">
<h4>생산팀</h4>
<ul>
<li>공정표 이용한 공정관리</li>
<li>생산회의에 활용</li>
<li>해당 회의에서 관련 프로젝트 발주현황 확인 가능</li>
</ul>
</div>
<div class="responsibility-card">
<h4>구매/물류팀</h4>
<ul>
<li>생산팀 자재 인수인계 (자재 상태 변경)</li>
</ul>
</div>
</div>
</div>
<div class="detail-section">
<h3>⚠️ 문제 발생시 대응</h3>
<div class="problem-handling">
<h4>작업중 미수령 자재 있을시</h4>
<p>생산팀에서 검색하기 쉽게 유도 (위치정보 등)</p>
<h4>문제 발생시 (자재문제 이외에도 설계미스, 품질미스, 생산미스 전부 포함)</h4>
<p>종류와 발생 사유등을 쉽게 입력하여 차후 프로젝트에 활용할 수 있도록 설계</p>
<h4>데일리체크 개선</h4>
<p>생산회의 제작전, 제작중 모든 고정에 대한 현황을 알 수 있도록 개선</p>
</div>
</div>
</div>
</div>
<!-- Stage 4: 생산회의 -->
<div id="workflow-stage-4" class="page">
<div class="page-header">
<button class="btn-back" onclick="showPage('workflow-overview')">← 워크플로우로 돌아가기</button>
<h2>🏢 4단계: 생산회의</h2>
<p class="page-description">프로젝트 진행 현황 통합 관리</p>
</div>
<div class="workflow-detail-container">
<div class="detail-section">
<h3>📊 생산회의 주요 기능</h3>
<div class="meeting-features">
<div class="feature-card">
<h4>공정표 표시 개선</h4>
<p>제작전, 제작중 모든 공정에 대한 현황을 한눈에 확인</p>
</div>
<div class="feature-card">
<h4>프로젝트 발주현황 확인</h4>
<p>관련 프로젝트의 발주 상태를 실시간으로 파악</p>
</div>
<div class="feature-card">
<h4>데일리체크 통합</h4>
<p>일일 작업 현황 및 이슈사항 종합 관리</p>
</div>
</div>
</div>
<div class="detail-section">
<h3>🎯 회의 목적</h3>
<ul class="purpose-list">
<li>전체 프로젝트 진행 상황 점검</li>
<li>부서간 협업 이슈 해결</li>
<li>일정 지연 요소 사전 파악</li>
<li>자재 수급 현황 확인</li>
<li>품질 이슈 공유 및 대응</li>
</ul>
</div>
<div class="detail-section">
<h3>📋 회의 구성 요소</h3>
<div class="meeting-components">
<div class="component-item">
<h4>📈 공정 진행률</h4>
<p>각 프로젝트별 공정 완료 현황</p>
</div>
<div class="component-item">
<h4>📦 자재 현황</h4>
<p>입고 예정, 검수 완료, 불출 대기 자재 현황</p>
</div>
<div class="component-item">
<h4>⚠️ 이슈 사항</h4>
<p>데일리체크에서 올라온 문제점 및 해결 방안</p>
</div>
<div class="component-item">
<h4>📅 일정 조정</h4>
<p>지연 요소에 따른 일정 재조정</p>
</div>
</div>
</div>
</div>
</div>
<!-- Stage 5: 납품 -->
<div id="workflow-stage-5" class="page">
<div class="page-header">
<button class="btn-back" onclick="showPage('workflow-overview')">← 워크플로우로 돌아가기</button>
<h2>📦 5단계: 납품 (출하전 보고서)</h2>
<p class="page-description">최종 품질 확인 및 출하 승인 프로세스</p>
</div>
<div class="workflow-detail-container">
<div class="detail-section">
<h3>✅ 출하전 필수 확인점</h3>
<div class="checklist-grid">
<div class="checklist-item">
<h4>🔍 품질 검사</h4>
<ul>
<li>최종 품질 검사 완료</li>
<li>모든 NCR 처리 완료</li>
<li>고객 요구사항 충족 확인</li>
</ul>
</div>
<div class="checklist-item">
<h4>📋 문서 완성</h4>
<ul>
<li>제작 완료 보고서</li>
<li>품질 검사 성적서</li>
<li>납품 관련 서류</li>
</ul>
</div>
<div class="checklist-item">
<h4>📦 포장 및 준비</h4>
<ul>
<li>적절한 포장 완료</li>
<li>운송 준비 완료</li>
<li>납품 일정 확정</li>
</ul>
</div>
</div>
</div>
<div class="detail-section">
<h3>🔄 승인 프로세스</h3>
<div class="approval-flow">
<div class="approval-step">
<h4>1단계: 필수 확인점 검토</h4>
<p>상기 공정별 필수 확인점 여부 표시</p>
</div>
<div class="arrow-down"></div>
<div class="approval-step">
<h4>2단계: 미완료 항목 확인</h4>
<p>미완료 표시 있으면 승인요청 불가</p>
</div>
<div class="arrow-down"></div>
<div class="approval-step">
<h4>3단계: 대표 승인</h4>
<p>대표님 승인 후 출하 가능</p>
</div>
</div>
</div>
<div class="detail-section">
<h3>📊 최종 보고서 구성</h3>
<div class="report-components">
<div class="report-item">
<h4>프로젝트 개요</h4>
<p>Job No., 고객사, 납기일 등 기본 정보</p>
</div>
<div class="report-item">
<h4>제작 현황</h4>
<p>공정별 완료 현황 및 소요 시간</p>
</div>
<div class="report-item">
<h4>품질 현황</h4>
<p>검사 결과, NCR 처리 내역</p>
</div>
<div class="report-item">
<h4>특이사항</h4>
<p>프로젝트 진행 중 발생한 주요 이슈 및 해결 방안</p>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="scripts/main.js"></script>