feat: 페이지 구조 재구성 및 사이드바 네비게이션 구현
- 페이지 폴더 재구성: safety/, attendance/ 폴더 신규 생성 - work/ → safety/: 이슈 신고, 출입 신청 관련 페이지 이동 - common/ → attendance/: 근태/휴가 관련 페이지 이동 - admin/ 정리: safety-* 파일들을 safety/로 이동 - 사이드바 네비게이션 메뉴 구현 - 카테고리별 메뉴: 작업관리, 안전관리, 근태관리, 시스템관리 - 접기/펼치기 기능 및 상태 저장 - 관리자 전용 메뉴 자동 표시/숨김 - 날씨 API 연동 (기상청 단기예보) - TBM 및 navbar에 현재 날씨 표시 - weatherService.js 추가 - 안전 체크리스트 확장 - 기본/날씨별/작업별 체크 유형 추가 - checklist-manage.html 페이지 추가 - 이슈 신고 시스템 구현 - workIssueController, workIssueModel, workIssueRoutes 추가 - DB 마이그레이션 파일 추가 (실행 대기) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -92,36 +92,74 @@ docker-compose up -d # 수동 실행
|
||||
- **일관된 헤더**: 모든 페이지에서 `<div id="navbar-container"></div>` 사용
|
||||
- **CSS 로딩 순서**: `design-system.css` → 페이지별 CSS
|
||||
|
||||
### 페이지 구조 (2026-01-20 개편)
|
||||
### 페이지 구조 (2026-02-02 현행)
|
||||
```
|
||||
web-ui/pages/
|
||||
├── dashboard.html # 메인 대시보드
|
||||
├── work/ # 작업 관련 페이지
|
||||
├── dashboard.html # 메인 대시보드 (작업장 현황 지도 포함)
|
||||
├── work/ # 작업 관련 페이지 (현장 입력/생산)
|
||||
│ ├── tbm.html # TBM(Tool Box Meeting) 관리
|
||||
│ ├── report-create.html # 작업보고서 작성
|
||||
│ ├── report-view.html # 작업보고서 조회
|
||||
│ └── analysis.html # 작업 분석
|
||||
├── admin/ # 관리자 기능
|
||||
│ ├── index.html # 관리 메뉴 허브
|
||||
│ ├── projects.html # 프로젝트 관리
|
||||
├── safety/ # 안전 관리 페이지 (신규)
|
||||
│ ├── issue-report.html # 이슈 신고
|
||||
│ ├── issue-list.html # 이슈 목록
|
||||
│ ├── issue-detail.html # 이슈 상세
|
||||
│ ├── visit-request.html # 출입 신청
|
||||
│ ├── management.html # 안전 관리 (출입 승인)
|
||||
│ ├── training-conduct.html # 안전교육 진행
|
||||
│ └── checklist-manage.html # 안전 체크리스트 관리
|
||||
├── attendance/ # 근태 관리 페이지 (common → attendance 변경)
|
||||
│ ├── daily.html # 일일 출퇴근 입력
|
||||
│ ├── monthly.html # 월별 출퇴근 현황
|
||||
│ ├── vacation-request.html # 휴가 신청
|
||||
│ ├── vacation-management.html # 휴가 관리 (통합)
|
||||
│ ├── vacation-approval.html # 휴가 승인 관리
|
||||
│ ├── vacation-input.html # 휴가 직접 입력
|
||||
│ ├── vacation-allocation.html # 휴가 발생 입력
|
||||
│ └── annual-overview.html # 연간 연차 현황
|
||||
├── admin/ # 시스템 관리 페이지
|
||||
│ ├── accounts.html # 계정 관리
|
||||
│ ├── page-access.html # 페이지 접근 권한 관리
|
||||
│ ├── workers.html # 작업자 관리
|
||||
│ ├── projects.html # 프로젝트 관리
|
||||
│ ├── tasks.html # 작업 관리
|
||||
│ ├── workplaces.html # 작업장 관리 (지도 구역 설정)
|
||||
│ ├── equipments.html # 설비 관리
|
||||
│ ├── codes.html # 코드 관리
|
||||
│ └── accounts.html # 계정 관리
|
||||
│ └── attendance-report.html # 출퇴근-작업보고서 대조
|
||||
├── profile/ # 사용자 프로필
|
||||
│ ├── info.html # 내 정보
|
||||
│ └── password.html # 비밀번호 변경
|
||||
└── .archived-*/ # 미사용 페이지 보관
|
||||
```
|
||||
|
||||
**폴더 분류 기준** (2026-02-02 변경):
|
||||
- `work/`: 현장 입력/생산 활동 (TBM, 작업보고서)
|
||||
- `safety/`: 안전 관리/분석 (이슈, 출입, 안전교육)
|
||||
- `attendance/`: 근태/휴가 관리
|
||||
- `admin/`: 시스템 관리 (관리자 전용)
|
||||
- `profile/`: 개인 설정 페이지
|
||||
|
||||
**네이밍 규칙**:
|
||||
- 메인 페이지: 단일 명사 (`dashboard.html`)
|
||||
- 관리 페이지: 복수형 명사 (`projects.html`, `workers.html`)
|
||||
- 기능 페이지: 동사-명사 (`report-create.html`, `report-view.html`)
|
||||
- 폴더명: 단수형, 소문자 (`work/`, `admin/`, `profile/`)
|
||||
- 기능 페이지: 동사-명사 또는 명사 (`report-create.html`, `daily.html`)
|
||||
- 폴더명: 단수형, 소문자 (`work/`, `safety/`, `attendance/`, `admin/`, `profile/`)
|
||||
|
||||
**네비게이션 구조**:
|
||||
- 1차: `dashboard.html` (메인 진입점)
|
||||
- 2차: `admin/index.html` (관리 허브)
|
||||
- 모든 페이지: navbar를 통해 profile, 작업 페이지로 이동 가능
|
||||
- 1차: `dashboard.html` (메인 진입점, 작업장 현황 지도)
|
||||
- 2차: 사이드 메뉴 또는 빠른 작업 카드를 통한 각 기능 페이지 이동
|
||||
- 모든 페이지: navbar를 통해 profile, 로그아웃 가능
|
||||
|
||||
### 대기 중인 DB 마이그레이션
|
||||
페이지 구조 변경에 따른 DB 마이그레이션이 필요합니다:
|
||||
```bash
|
||||
cd /Users/hyungiahn/Documents/code/TK-FB-Project/api.hyungi.net
|
||||
npx knex migrate:latest
|
||||
```
|
||||
- 마이그레이션 파일: `db/migrations/20260202200000_reorganize_pages.js`
|
||||
- 내용: pages 테이블 경로 업데이트, role_default_pages 테이블 생성
|
||||
|
||||
### 표준 컴포넌트 (2026-01-20 업데이트)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user