feat(ux): 전체 시스템 모바일 UX 개선 — 햄버거메뉴·필터반응형·터치타겟·iOS줌방지

7개 시스템(tkpurchase/tksafety/tksupport/tkuser/system1/system2/system3)의
모바일 사용성 일괄 개선. system1(tkfb)의 모바일 메뉴 패턴을 3개 신규 시스템에 적용.

주요 변경:
- 모바일 햄버거 메뉴: tkpurchase/tksafety/tksupport에 toggleMobileMenu+overlay 추가
- 필터 반응형: 768px 이하 2열 그리드 전환 (filter-bar/filter-actions 클래스)
- 터치 타겟 44px: 테이블 액션 버튼 36px+gap, tksafety ±버튼 w-11
- iOS 줌 방지: input/select/textarea font-size 16px
- tkuser: 탭 가로스크롤+fade힌트, 사이드바·grid·드롭다운 반응형
- system1: 대시보드 인라인 width 제거, 이동설비 그리드 1열
- system2: 사진그리드 4열, 유형버튼 2열 (480px 이하)
- system3: 카드 내 액션 버튼 stopPropagation 추가
- 캐시 무효화: 전체 HTML ?v=2026031401

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Hyungi Ahn
2026-03-14 17:57:47 +09:00
parent 2d8ac92404
commit fe5f7cd155
86 changed files with 667 additions and 373 deletions

View File

@@ -6,7 +6,7 @@
<title>업무현황 - TK 구매관리</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<link rel="stylesheet" href="/static/css/tkpurchase.css?v=20260312">
<link rel="stylesheet" href="/static/css/tkpurchase.css?v=2026031401">
</head>
<body>
<!-- Header -->
@@ -14,6 +14,9 @@
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex justify-between items-center h-14">
<div class="flex items-center gap-3">
<button id="mobileMenuBtn" onclick="toggleMobileMenu()" class="lg:hidden text-emerald-200 hover:text-white">
<i class="fas fa-bars text-xl"></i>
</button>
<i class="fas fa-truck text-xl text-emerald-200"></i>
<h1 class="text-lg font-semibold">TK 구매관리</h1>
</div>
@@ -35,7 +38,7 @@
<div class="flex-1 min-w-0">
<!-- 필터 -->
<div class="bg-white rounded-xl shadow-sm p-4 mb-5">
<div class="flex flex-wrap items-end gap-3">
<div class="flex flex-wrap items-end gap-3 filter-bar">
<div>
<label class="block text-xs font-medium text-gray-600 mb-1">업체</label>
<select id="filterCompany" class="input-field px-3 py-2 rounded-lg text-sm">
@@ -58,12 +61,14 @@
<option value="true">확인완료</option>
</select>
</div>
<button onclick="loadReports()" class="px-4 py-2 bg-gray-100 text-gray-700 rounded-lg text-sm hover:bg-gray-200">
<i class="fas fa-search mr-1"></i>조회
</button>
<a href="/workreport-summary.html" class="px-4 py-2 bg-purple-50 text-purple-700 rounded-lg text-sm hover:bg-purple-100 border border-purple-200">
<i class="fas fa-chart-bar mr-1"></i>종합
</a>
<div class="filter-actions">
<button onclick="loadReports()" class="px-4 py-2 bg-gray-100 text-gray-700 rounded-lg text-sm hover:bg-gray-200">
<i class="fas fa-search mr-1"></i>조회
</button>
<a href="/workreport-summary.html" class="px-4 py-2 bg-purple-50 text-purple-700 rounded-lg text-sm hover:bg-purple-100 border border-purple-200">
<i class="fas fa-chart-bar mr-1"></i>종합
</a>
</div>
</div>
</div>
@@ -109,8 +114,8 @@
</div>
</div>
<script src="/static/js/tkpurchase-core.js?v=20260313b"></script>
<script src="/static/js/tkpurchase-workreport.js?v=20260312"></script>
<script src="/static/js/tkpurchase-core.js?v=2026031401"></script>
<script src="/static/js/tkpurchase-workreport.js?v=2026031401"></script>
<script>initWorkReportPage();</script>
</body>
</html>