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

@@ -3848,6 +3848,9 @@
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 16px;
}
@media (max-width: 768px) {
.moved-equipment-grid { grid-template-columns: 1fr; }
}
.moved-equipment-card {
background: white;

View File

@@ -10,7 +10,7 @@
if('serviceWorker' in navigator){navigator.serviceWorker.getRegistrations().then(function(r){r.forEach(function(reg){reg.unregister()});})}
if('caches' in window){caches.keys().then(function(k){k.forEach(function(key){caches.delete(key)})})}
</script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script>
// SSO 토큰 확인
var token = window.getSSOToken ? window.getSSOToken() : (localStorage.getItem('sso_token') || localStorage.getItem('token'));

View File

@@ -190,11 +190,11 @@
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<script type="module">
import '/js/api-config.js?v=3';
import '/js/api-config.js?v=2026031401
</script>
<script>
// axios 기본 설정

View File

@@ -324,8 +324,8 @@
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script src="/js/department-management.js"></script>
<script>initAuth();</script>
</body>

View File

@@ -7,7 +7,7 @@
<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/tkfb.css">
<link rel="stylesheet" href="/css/equipment-detail.css?v=1">
<link rel="stylesheet" href="/css/equipment-detail.css?v=2026031401">
</head>
<body class="bg-gray-50">
<header class="bg-orange-700 text-white sticky top-0 z-50">
@@ -314,11 +314,11 @@
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<script type="module">
import '/js/api-config.js?v=3';
import '/js/api-config.js?v=2026031401
</script>
<script>
(function() {
@@ -352,7 +352,7 @@
}, 50);
})();
</script>
<script src="/js/equipment-detail.js?v=1"></script>
<script src="/js/equipment-detail.js?v=2026031401"></script>
<script>initAuth();</script>
</body>
</html>

View File

@@ -7,7 +7,7 @@
<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/tkfb.css">
<link rel="stylesheet" href="/css/equipment-management.css?v=1">
<link rel="stylesheet" href="/css/equipment-management.css?v=2026031401">
</head>
<body class="bg-gray-50">
<header class="bg-orange-700 text-white sticky top-0 z-50">
@@ -190,11 +190,11 @@
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<script type="module">
import '/js/api-config.js?v=3';
import '/js/api-config.js?v=2026031401
</script>
<script>
(function() {
@@ -228,7 +228,7 @@
}, 50);
})();
</script>
<script src="/js/equipment-management.js?v=8"></script>
<script src="/js/equipment-management.js?v=2026031401"></script>
<script>initAuth();</script>
</body>
</html>

View File

@@ -329,8 +329,8 @@
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script type="module" src="/js/issue-category-manage.js"></script>
<script>initAuth();</script>
</body>

View File

@@ -387,8 +387,8 @@
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script>
let currentPage = 1;
let totalPages = 1;

View File

@@ -384,8 +384,8 @@
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script>
let allProjects = [];
let filteredProjects = [];

View File

@@ -107,7 +107,7 @@
</div>
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/static/js/purchase-analysis.js?v=20260313"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/static/js/purchase-analysis.js?v=2026031401"></script>
</body>
</html>

View File

@@ -487,8 +487,8 @@
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script>
let currentReportId = null;
let allRepairs = [];

View File

@@ -285,8 +285,8 @@
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script>
let workTypes = [];
let tasks = [];

View File

@@ -7,7 +7,7 @@
<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/tkfb.css">
<link rel="stylesheet" href="/css/workplace-management.css?v=7">
<link rel="stylesheet" href="/css/workplace-management.css?v=2026031401">
</head>
<body class="bg-gray-50">
<header class="bg-orange-700 text-white sticky top-0 z-50">
@@ -431,15 +431,15 @@
</div>
<!-- 작업장 관리 모듈 (리팩토링된 구조) -->
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/js/workplace-management/state.js?v=1"></script>
<script src="/js/workplace-management/utils.js?v=1"></script>
<script src="/js/workplace-management/api.js?v=1"></script>
<script src="/js/workplace-management/index.js?v=1"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script src="/js/workplace-management/state.js?v=2026031401"></script>
<script src="/js/workplace-management/utils.js?v=2026031401"></script>
<script src="/js/workplace-management/api.js?v=2026031401"></script>
<script src="/js/workplace-management/index.js?v=2026031401"></script>
<!-- 기존 UI 로직 (점진적 마이그레이션) -->
<script type="module" src="/js/workplace-management.js?v=9"></script>
<script type="module" src="/js/workplace-layout-map.js?v=2"></script>
<script type="module" src="/js/workplace-management.js?v=2026031401"></script>
<script type="module" src="/js/workplace-layout-map.js?v=2026031401"></script>
<script>initAuth();</script>
</body>
</html>

View File

@@ -328,8 +328,8 @@
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<script>
// axios 설정

View File

@@ -222,8 +222,8 @@
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<script>
(function() {

View File

@@ -70,8 +70,8 @@
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<script>
// axios 기본 설정

View File

@@ -474,8 +474,8 @@
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<script>
// axios 기본 설정

View File

@@ -265,8 +265,8 @@
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<script>
// axios 설정

View File

@@ -353,8 +353,8 @@
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script type="module" src="/js/vacation-allocation.js" defer></script>
<script>initAuth();</script>
</body>

View File

@@ -123,8 +123,8 @@
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<script src="/js/vacation-common.js"></script>
<script>

View File

@@ -123,8 +123,8 @@
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<script src="/js/vacation-common.js"></script>
<script>

View File

@@ -205,8 +205,8 @@
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<script src="/js/vacation-common.js"></script>
<script>

View File

@@ -117,8 +117,8 @@
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<script src="/js/vacation-common.js"></script>
<script>

View File

@@ -276,8 +276,8 @@
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<script>
(function() {

View File

@@ -138,7 +138,7 @@
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/static/js/tkfb-dashboard.js"></script>
</body>
</html>

View File

@@ -7,7 +7,7 @@
<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/tkfb.css">
<link rel="stylesheet" href="/css/modern-dashboard.css?v=3">
<link rel="stylesheet" href="/css/modern-dashboard.css?v=2026031401">
</head>
<body class="bg-gray-50">
<header class="bg-orange-700 text-white sticky top-0 z-50">
@@ -57,7 +57,7 @@
<div class="flex justify-between items-center">
<h2 class="card-title">작업장 현황</h2>
<div class="flex items-center" style="gap: 12px;">
<select id="categorySelect" class="form-select" style="width: 200px;">
<select id="categorySelect" class="form-select w-full sm:w-auto">
<option value="">공장을 선택하세요</option>
</select>
<button class="btn btn-primary btn-sm" id="refreshMapBtn">새로고침</button>
@@ -323,12 +323,12 @@
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script type="module" src="/js/modern-dashboard.js?v=10"></script>
<script type="module" src="/js/group-leader-dashboard.js?v=1"></script>
<script src="/js/workplace-status.js?v=3"></script>
<script src="/js/mobile-dashboard.js?v=4"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script type="module" src="/js/modern-dashboard.js?v=2026031401"></script>
<script type="module" src="/js/group-leader-dashboard.js?v=2026031401"></script>
<script src="/js/workplace-status.js?v=2026031401"></script>
<script src="/js/mobile-dashboard.js?v=2026031401"></script>
<script>initAuth();</script>
</body>
</html>

View File

@@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>일일순회점검 - TK 공장관리</title>
<link rel="stylesheet" href="/css/daily-patrol.css?v=4">
<link rel="stylesheet" href="/css/daily-patrol.css?v=2026031401">
<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/tkfb.css">
@@ -175,7 +175,7 @@
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<script type="module">
import '/js/api-config.js?v=3';
import '/js/api-config.js?v=2026031401
</script>
<script>
(function() {
@@ -209,9 +209,9 @@
}, 50);
})();
</script>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/js/daily-patrol.js?v=6"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script src="/js/daily-patrol.js?v=2026031401"></script>
<script>initAuth();</script>
</body>
</html>

View File

@@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>구역 상세 - TK 공장관리</title>
<link rel="stylesheet" href="/css/zone-detail.css?v=4">
<link rel="stylesheet" href="/css/zone-detail.css?v=2026031401">
<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/tkfb.css">
@@ -278,7 +278,7 @@
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<script type="module">
import '/js/api-config.js?v=3';
import '/js/api-config.js?v=2026031401
</script>
<script>
(function() {
@@ -304,9 +304,9 @@
}, 50);
})();
</script>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/js/zone-detail.js?v=6"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script src="/js/zone-detail.js?v=2026031401"></script>
<script>initAuth();</script>
</body>
</html>

View File

@@ -320,8 +320,8 @@
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script type="module" src="/js/my-profile.js"></script>
<script>initAuth();</script>
</body>

View File

@@ -390,8 +390,8 @@
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script type="module" src="/js/change-password.js"></script>
<script>initAuth();</script>
</body>

View File

@@ -221,7 +221,7 @@
</div>
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313b"></script>
<script src="/static/js/purchase-request.js?v=20260313b"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/static/js/purchase-request.js?v=2026031401"></script>
</body>
</html>

View File

@@ -7,7 +7,7 @@
<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/tkfb.css">
<link rel="stylesheet" href="/css/work-analysis.css?v=41">
<link rel="stylesheet" href="/css/work-analysis.css?v=2026031401">
<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.js"></script>
</head>
<body class="bg-gray-50">
@@ -277,9 +277,9 @@
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script type="module" src="/js/work-analysis.js?v=5"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script type="module" src="/js/work-analysis.js?v=2026031401"></script>
<script>
// 날짜 및 시간 함수들은 WorkAnalysis.utils 네임스페이스로 이동됨

View File

@@ -90,7 +90,7 @@
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/static/js/tkfb-nonconformity.js"></script>
</body>
</html>

View File

@@ -7,7 +7,7 @@
<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/tkfb.css">
<link rel="stylesheet" href="/css/daily-work-report-mobile.css?v=1">
<link rel="stylesheet" href="/css/daily-work-report-mobile.css?v=2026031401">
<style>
/* 데스크탑이면 리다이렉트 */
@media (min-width: 769px) {
@@ -189,18 +189,18 @@
</div>
<!-- 공통 모듈 -->
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/js/common/utils.js?v=1"></script>
<script src="/js/common/base-state.js?v=1"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script src="/js/common/utils.js?v=2026031401"></script>
<script src="/js/common/base-state.js?v=2026031401"></script>
<!-- 작업보고서 모듈 (재사용) -->
<script src="/js/daily-work-report/state.js?v=2"></script>
<script src="/js/daily-work-report/utils.js?v=2"></script>
<script src="/js/daily-work-report/api.js?v=2"></script>
<script src="/js/daily-work-report/state.js?v=2026031401"></script>
<script src="/js/daily-work-report/utils.js?v=2026031401"></script>
<script src="/js/daily-work-report/api.js?v=2026031401"></script>
<!-- 모바일 전용 UI 로직 -->
<script src="/js/daily-work-report-mobile.js?v=4"></script>
<script src="/js/daily-work-report-mobile.js?v=2026031401"></script>
<script>initAuth();</script>
</body>
</html>

View File

@@ -7,7 +7,7 @@
<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/tkfb.css">
<link rel="stylesheet" href="/css/daily-work-report.css?v=13">
<link rel="stylesheet" href="/css/daily-work-report.css?v=2026031401">
</head>
<body class="bg-gray-50">
<header class="bg-orange-700 text-white sticky top-0 z-50">
@@ -149,14 +149,14 @@
</div>
</div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/js/common/utils.js?v=1"></script>
<script src="/js/common/base-state.js?v=1"></script>
<script src="/js/daily-work-report/state.js?v=2"></script>
<script src="/js/daily-work-report/utils.js?v=2"></script>
<script src="/js/daily-work-report/api.js?v=2"></script>
<script defer src="/js/daily-work-report.js?v=36"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script src="/js/common/utils.js?v=2026031401"></script>
<script src="/js/common/base-state.js?v=2026031401"></script>
<script src="/js/daily-work-report/state.js?v=2026031401"></script>
<script src="/js/daily-work-report/utils.js?v=2026031401"></script>
<script src="/js/daily-work-report/api.js?v=2026031401"></script>
<script defer src="/js/daily-work-report.js?v=2026031401"></script>
<script>initAuth();</script>
</body>
</html>

View File

@@ -843,15 +843,15 @@
</div>
<!-- Scripts -->
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<!-- 공통 모듈 -->
<script src="/js/common/utils.js?v=2"></script>
<script src="/js/common/base-state.js?v=2"></script>
<script src="/js/tbm/state.js?v=3"></script>
<script src="/js/tbm/utils.js?v=3"></script>
<script src="/js/tbm/api.js?v=4"></script>
<script src="/js/tbm-create.js?v=14"></script>
<script src="/js/common/utils.js?v=2026031401"></script>
<script src="/js/common/base-state.js?v=2026031401"></script>
<script src="/js/tbm/state.js?v=2026031401"></script>
<script src="/js/tbm/utils.js?v=2026031401"></script>
<script src="/js/tbm/api.js?v=2026031401"></script>
<script src="/js/tbm-create.js?v=2026031401"></script>
<script>initAuth();</script>
</body>
</html>

View File

@@ -7,7 +7,7 @@
<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/tkfb.css">
<link rel="stylesheet" href="/css/tbm-mobile.css?v=1">
<link rel="stylesheet" href="/css/tbm-mobile.css?v=2026031401">
</head>
<body class="bg-gray-50">
@@ -296,15 +296,15 @@
</div>
<!-- 공통 모듈 -->
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/js/common/utils.js?v=2"></script>
<script src="/js/common/base-state.js?v=2"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script src="/js/common/utils.js?v=2026031401"></script>
<script src="/js/common/base-state.js?v=2026031401"></script>
<script src="/js/tbm/state.js?v=3"></script>
<script src="/js/tbm/utils.js?v=3"></script>
<script src="/js/tbm/api.js?v=4"></script>
<script src="/js/tbm-mobile.js?v=3"></script>
<script src="/js/tbm/state.js?v=2026031401"></script>
<script src="/js/tbm/utils.js?v=2026031401"></script>
<script src="/js/tbm/api.js?v=2026031401"></script>
<script src="/js/tbm-mobile.js?v=2026031401"></script>
<script>initAuth();</script>
</body>
</html>

View File

@@ -7,7 +7,7 @@
<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/tkfb.css">
<link rel="stylesheet" href="/css/tbm.css?v=5">
<link rel="stylesheet" href="/css/tbm.css?v=2026031401">
</head>
<body class="bg-gray-50">
<header class="bg-orange-700 text-white sticky top-0 z-50">
@@ -560,14 +560,14 @@
<!-- 토스트 -->
<div class="toast-container" id="toastContainer"></div>
<script src="/static/js/tkfb-core.js?v=20260313"></script>
<script src="/js/api-base.js?v=20260313"></script>
<script src="/js/common/utils.js?v=2"></script>
<script src="/js/common/base-state.js?v=2"></script>
<script src="/js/tbm/state.js?v=3"></script>
<script src="/js/tbm/utils.js?v=3"></script>
<script src="/js/tbm/api.js?v=4"></script>
<script defer src="/js/tbm.js?v=13"></script>
<script src="/static/js/tkfb-core.js?v=2026031401"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script src="/js/common/utils.js?v=2026031401"></script>
<script src="/js/common/base-state.js?v=2026031401"></script>
<script src="/js/tbm/state.js?v=2026031401"></script>
<script src="/js/tbm/utils.js?v=2026031401"></script>
<script src="/js/tbm/api.js?v=2026031401"></script>
<script defer src="/js/tbm.js?v=2026031401"></script>
<script>initAuth();</script>
</body>
</html>