feat: v2.2.0 - 중복 카드 문제 해결 및 삭제 기능 개선

### 주요 변경사항

1. 작업 현황 모달 중복 카드 문제 근본 해결
   - monthlyStatusModel.getDailyWorkerStatus() 리팩토링
   - 집계 테이블 대신 daily_work_reports에서 직접 조회
   - GROUP BY로 작업자별 1개 카드 보장

2. 삭제 권한 강화
   - 작업보고서 삭제는 그룹장/시스템/관리자만 가능
   - 권한 없는 사용자는 403 에러 반환

3. 작업 입력 UI 개선
   - 작업 항목 삭제 버튼 스타일 개선 (이모지 + 빨간색)
   - 삭제 버튼 호버 효과 추가

4. 작업 현황 모달에 삭제 기능 추가
   - 관리자/그룹장만 삭제 버튼 표시
   - 작업자의 해당 날짜 전체 작업 삭제 가능

5. 시놀로지 배포 스크립트 추가
   - update.sh: DB 보존하면서 코드만 업데이트
   - 안전한 배포 절차 자동화
This commit is contained in:
Hyungi Ahn
2025-12-02 13:33:24 +09:00
parent a9bce9d20b
commit a2669e08c4
16 changed files with 420 additions and 64 deletions

View File

@@ -351,25 +351,33 @@
}
.remove-work-btn {
width: 40px;
height: 40px;
border-radius: var(--radius-full);
background: linear-gradient(135deg, var(--error-500), var(--error-600));
width: 36px;
height: 36px;
border-radius: 50%;
background: linear-gradient(135deg, #ef4444, #dc2626);
color: white;
border: none;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
font-size: 18px;
font-weight: bold;
box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4);
transition: all 0.2s ease;
transition: var(--transition-normal);
font-size: var(--text-lg);
box-shadow: var(--shadow-sm);
}
.remove-work-btn:hover {
background: linear-gradient(135deg, var(--error-600), var(--error-700));
transform: scale(1.1) rotate(90deg);
box-shadow: var(--shadow-md);
background: linear-gradient(135deg, #dc2626, #b91c1c);
transform: scale(1.15);
box-shadow: 0 4px 12px rgba(239, 68, 68, 0.5);
}
.remove-work-btn:active {
transform: scale(0.95);
}
.work-entry-grid {