fix: 부적합 제출 버그 수정 및 UI 개선

- 부적합 API 호출 형식 수정 (카테고리/아이템 추가 시)
- 부적합 저장 시 내부 플래그 제거 후 백엔드 전송
- 기본 부적합 객체 구조 수정 (category_id, item_id 추가)
- 날씨 API 시간대 수정 (UTC → KST 변환)
- 신고 카테고리 관리 페이지 추가 (/pages/admin/issue-categories.html)
- 부적합 입력 UI 개선 (대분류→소분류 캐스케이딩 선택)
- 저장된 부적합 분리 표시 및 수정/삭제 기능
- 디버깅 로그 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Hyungi Ahn
2026-02-03 09:31:26 +09:00
parent 4b158de1eb
commit c42c9f4fa3
29 changed files with 7042 additions and 809 deletions

View File

@@ -32,6 +32,11 @@
<span class="btn-text">대시보드</span>
</a>
<a href="/pages/safety/report.html" class="report-btn">
<span class="btn-icon">&#9888;</span>
<span class="btn-text">신고</span>
</a>
<div class="user-profile" id="userProfile">
<div class="user-avatar">
<span class="avatar-text" id="userInitial"></span>
@@ -340,6 +345,37 @@ body {
font-family: inherit;
}
/* 신고 버튼 */
.report-btn {
display: flex;
align-items: center;
gap: var(--space-2);
padding: var(--space-2) var(--space-5);
background: rgba(239, 68, 68, 0.9);
color: white;
text-decoration: none;
border-radius: var(--radius-lg);
font-weight: var(--font-semibold);
font-size: var(--text-sm);
transition: var(--transition-slow);
border: 1px solid rgba(255, 255, 255, 0.3);
backdrop-filter: blur(10px);
}
.report-btn:hover {
background: rgba(220, 38, 38, 1);
transform: translateY(-2px);
box-shadow: var(--shadow-md);
}
.report-btn .btn-icon {
font-size: var(--text-lg);
}
.report-btn .btn-text {
font-family: inherit;
}
/* 반응형 디자인 */
@media (max-width: 768px) {
.dashboard-header {
@@ -362,11 +398,13 @@ body {
display: none;
}
.dashboard-btn .btn-text {
.dashboard-btn .btn-text,
.report-btn .btn-text {
display: none;
}
.dashboard-btn {
.dashboard-btn,
.report-btn {
padding: var(--space-2) var(--space-3);
}
}

View File

@@ -32,6 +32,9 @@
<a href="/pages/work/analysis.html" class="nav-item admin-only" data-page-key="work.analysis">
<span class="nav-text">작업 분석</span>
</a>
<a href="/pages/work/nonconformity.html" class="nav-item" data-page-key="work.nonconformity">
<span class="nav-text">부적합 현황</span>
</a>
</div>
</div>
@@ -43,11 +46,8 @@
<span class="nav-arrow">&#9662;</span>
</button>
<div class="nav-category-items">
<a href="/pages/safety/issue-report.html" class="nav-item" data-page-key="safety.issue_report">
<span class="nav-text">이슈 신고</span>
</a>
<a href="/pages/safety/issue-list.html" class="nav-item" data-page-key="safety.issue_list">
<span class="nav-text">이슈 목록</span>
<a href="/pages/safety/report-status.html" class="nav-item" data-page-key="safety.report_status">
<span class="nav-text">안전신고 현황</span>
</a>
<a href="/pages/safety/visit-request.html" class="nav-item" data-page-key="safety.visit_request">
<span class="nav-text">출입 신청</span>
@@ -122,6 +122,9 @@
<a href="/pages/admin/codes.html" class="nav-item" data-page-key="admin.codes">
<span class="nav-text">코드 관리</span>
</a>
<a href="/pages/admin/issue-categories.html" class="nav-item" data-page-key="admin.issue_categories">
<span class="nav-text">신고 카테고리 관리</span>
</a>
<a href="/pages/admin/attendance-report.html" class="nav-item" data-page-key="admin.attendance_report">
<span class="nav-text">출퇴근-보고서 대조</span>
</a>