fix: 캘린더 모달 중복 카드 문제 및 삭제 권한 개선

- monthly_worker_status 조회 시 GROUP BY로 중복 데이터 합산
- 작업보고서 삭제 권한을 그룹장 이상으로 제한 (admin, system, group_leader)
- 중복 데이터 정리를 위한 마이그레이션 SQL 추가 (009_fix_duplicate_monthly_status.sql)
- synology_deployment 버전에도 동일 수정 적용
This commit is contained in:
Hyungi Ahn
2025-12-02 13:08:44 +09:00
parent beaffcad49
commit a9bce9d20b
419 changed files with 275129 additions and 394 deletions

View File

@@ -0,0 +1,109 @@
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>작업 검토 | (주)테크니컬코리아</title>
<link rel="stylesheet" href="/css/main-layout.css">
<link rel="stylesheet" href="/css/work-review.css">
<script src="/js/auth-check.js" defer></script>
</head>
<body>
<div class="main-layout-with-navbar">
<!-- 네비게이션 바 -->
<div id="navbar-container"></div>
<div class="content-wrapper">
<div class="review-container">
<!-- 뒤로가기 버튼 -->
<a href="javascript:history.back()" class="back-btn">
← 뒤로가기
</a>
<!-- 페이지 헤더 -->
<div class="page-header">
<h1>📋 작업 검토 대시보드</h1>
<p class="subtitle">캘린더에서 날짜를 클릭하여 해당 날짜의 작업 현황을 확인하고 검토하세요</p>
</div>
<!-- 메시지 영역 -->
<div id="message-container"></div>
<!-- 컨트롤 패널 -->
<div class="control-panel">
<div class="month-navigation">
<button class="nav-btn" id="prevMonth"> 이전</button>
<div class="current-month" id="currentMonth">2025년 6월</div>
<button class="nav-btn" id="nextMonth">다음 </button>
</div>
<div class="control-actions">
<button class="today-btn" id="goToday">📅 오늘</button>
</div>
</div>
<!-- 사용법 안내 -->
<div class="usage-guide">
<h3>📖 사용법</h3>
<div class="guide-grid">
<div class="guide-item">
<div class="guide-icon">👆</div>
<div class="guide-text">
<strong>날짜 클릭</strong><br>
캘린더에서 날짜를 클릭하면 해당 날짜의 작업 정보를 확인할 수 있습니다.
</div>
</div>
<div class="guide-item">
<div class="guide-icon">✏️</div>
<div class="guide-text">
<strong>작업 수정</strong><br>
각 작업 항목의 수정 버튼을 클릭하여 프로젝트, 작업 유형, 시간 등을 수정할 수 있습니다.
</div>
</div>
<div class="guide-item">
<div class="guide-icon">🗑️</div>
<div class="guide-text">
<strong>작업 삭제</strong><br>
개별 작업 또는 작업자의 모든 작업을 삭제할 수 있습니다.
</div>
</div>
<div class="guide-item">
<div class="guide-icon"></div>
<div class="guide-text">
<strong>검토 완료</strong><br>
작업 검토가 완료되면 검토 완료 버튼을 클릭하여 상태를 변경할 수 있습니다.
</div>
</div>
</div>
</div>
<!-- 캘린더 -->
<div class="calendar-container">
<h3 style="margin-bottom: 1rem;">📅 캘린더</h3>
<div class="calendar-grid" id="calendar">
<!-- 요일 헤더 -->
<div class="day-header"></div>
<div class="day-header"></div>
<div class="day-header"></div>
<div class="day-header"></div>
<div class="day-header"></div>
<div class="day-header"></div>
<div class="day-header"></div>
<!-- 날짜 셀들이 여기에 동적으로 추가됩니다 -->
</div>
</div>
<!-- 선택된 날짜 정보 -->
<div class="day-info-panel">
<div id="day-info-container">
<!-- 날짜별 정보가 여기에 동적으로 추가됩니다 -->
</div>
</div>
</div>
</div>
</div>
<!-- 스크립트 -->
<script type="module" src="/js/load-navbar.js"></script>
<script src="/js/work-review.js"></script>
</body>
</html>