Files
test-mcp/templates/inquiries.html
Taehoon 5ddaad6a2e feat: 문의사항(Q&A) 게시판 구현 및 대시보드 활성도 분석 로직 개선
- [server.py] 문의사항 API(목록, 상세, 답변 저장/삭제) 및 라우트 추가
- [templates/inquiries.html] 문의사항 게시판 HTML 구조 구현 (Sticky 헤더, 아코디언 상세)
- [js/inquiries.js] 비동기 데이터 로드, 아코디언 토글, 답변 편집 로직 구현
- [style/inquiries.css] 와이드 레이아웃, Sticky 헤더, 아코디언 및 상태 배지 스타일 적용
- [server.py, js/dashboard.js] '폴더 자동 삭제' 로그 발생 시 14일 경과 여부와 관계없이 '방치'로 분류하도록 로직 수정
- [templates/dashboard.html] 대시보드 내 문의사항 탭 활성화 및 링크 연동
2026-03-12 18:01:51 +09:00

138 lines
6.9 KiB
HTML

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>문의사항 관리 - Project Master</title>
<link rel="stylesheet" as="style" crossorigin
href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css" />
<link rel="stylesheet" href="style/common.css">
<link rel="stylesheet" href="style/dashboard.css">
<link rel="stylesheet" href="style/inquiries.css">
</head>
<body>
<nav class="topbar">
<div class="topbar-header">
<a href="/">
<h2>Project Master Test</h2>
</a>
</div>
<ul class="nav-list">
<li class="nav-item" onclick="location.href='/dashboard'">대시보드</li>
<li class="nav-item active" onclick="location.href='/inquiries'">문의사항</li>
<li class="nav-item" onclick="alert('준비 중입니다.')">로그관리</li>
<li class="nav-item" onclick="alert('준비 중입니다.')">파일관리</li>
<li class="nav-item" onclick="alert('준비 중입니다.')">인원관리</li>
<li class="nav-item" onclick="alert('준비 중입니다.')">공지사항</li>
</ul>
</nav>
<main class="inquiry-board">
<div id="stickyHeader" class="board-sticky-header">
<div class="board-header">
<div>
<h2>문의사항</h2>
<p style="font-size: 13px; color: #666; margin-top: 4px;">시스템 운영 관련 불편사항 및 개선 요청 관리</p>
</div>
<div class="header-actions">
<button class="sync-btn" onclick="loadInquiries()">새로고침</button>
</div>
</div>
<!-- 시트 상단 공지 영역 재현 (통합 박스) -->
<div class="notice-container">
<div style="margin-bottom: 12px; display: flex; gap: 20px;">
<div style="flex: 1;">
<h4
style="color: #d32f2f; margin-bottom: 5px; font-size: 14px; display: flex; align-items: center; gap: 6px;">
<span style="font-size: 16px;">📢</span> &lt;공지&gt;
</h4>
<ul style="font-size: 12px; line-height: 1.6; color: #444; padding-left: 20px; margin: 0;">
<li>파워포인트 파일에 읽기전용포함(제한)글꼴이 있는 경우 컨버팅이 되지 않습니다. 제한된 글꼴 제거 후 업로드 권장.</li>
<li>이미지는 '문의사항 이미지' 시트에 문의사항 번호와 함께 업로드 부탁드립니다.</li>
</ul>
</div>
<div style="flex: 2; border-left: 1px dashed #ddd; padding-left: 20px;">
<h4
style="color: #1976d2; margin-bottom: 5px; font-size: 14px; display: flex; align-items: center; gap: 6px;">
<span style="font-size: 16px;">📂</span> &lt;이전 문의사항 요약&gt;
</h4>
<div
style="display: grid; grid-template-columns: 1fr 1fr; gap: 10px; font-size: 11px; color: #666; line-height: 1.4;">
<div><strong>1. 폴더트리:</strong> 하위폴더 권한, 숨김 기능 등 (완료)</div>
<div><strong>2. 뷰어:</strong> 변환 오류, 특정 문서 깨짐 등 (완료)</div>
<div><strong>3. 업로드/다운로드:</strong> 대용량 전송 오류 등 (완료)</div>
<div><strong>4. 기타:</strong> 정렬, 화면 개선 등 (완료)</div>
</div>
</div>
</div>
</div>
<div class="filter-section">
<div class="filter-group">
<label>시스템(PM 종류)</label>
<select id="filterPmType" onchange="loadInquiries()">
<option value="">전체</option>
<option value="Overseas">Overseas</option>
<option value="기술개발센터">기술개발센터</option>
<option value="장헌">장헌</option>
</select>
</div>
<div class="filter-group">
<label>구분(카테고리)</label>
<select id="filterCategory" onchange="loadInquiries()">
<option value="">전체</option>
<option value="업로드">업로드</option>
<option value="다운로드">다운로드</option>
<option value="폴더트리">폴더트리</option>
<option value="뷰어">뷰어</option>
<option value="기타">기타</option>
</select>
</div>
<div class="filter-group">
<label>처리여부</label>
<select id="filterStatus" onchange="loadInquiries()">
<option value="">전체</option>
<option value="완료">완료</option>
<option value="작업 중">작업 중</option>
<option value="확인 중">확인 중</option>
<option value="개발예정">개발예정</option>
<option value="미확인">미확인</option>
</select>
</div>
<div class="filter-group">
<label>검색(내용/작성자/프로젝트)</label>
<input type="text" id="searchKeyword" placeholder="검색어 입력 후 Enter..."
onkeyup="if(event.key==='Enter') loadInquiries()" style="width: 250px;">
</div>
</div>
</div>
<table class="inquiry-table">
<thead>
<tr>
<th width="50">No</th>
<th width="120">PM 종류</th>
<th width="100">환경</th>
<th width="150">구분</th>
<th>프로젝트</th>
<th width="400">문의내용</th>
<th width="400">답변내용</th>
<th width="100">작성자</th>
<th width="120">날짜</th>
<th width="100">상태</th>
</tr>
</thead>
<tbody id="inquiryList">
<!-- Data will be loaded here -->
</tbody>
</table>
</main>
<script src="js/common.js"></script>
<script src="js/inquiries.js"></script>
</body>
</html>