feat(tkuser): 통합 관리 탭별 권한 시스템 추가

- DEFAULT_PAGES에 tkuser 시스템 10개 페이지 권한 정의 추가
- 권한 관리 UI에 tkuser 섹션 추가 (개인/부서 권한 모두)
- 비admin 사용자 로그인 시 effective-permissions 기반 탭 표시 제어
- switchTab()에 권한 guard 추가하여 비허용 탭 접근 차단

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Hyungi Ahn
2026-03-13 10:20:21 +09:00
parent 976e55d672
commit 3b0ac615bf
5 changed files with 121 additions and 10 deletions

View File

@@ -64,6 +64,9 @@
<button class="tab-btn px-4 py-2 rounded-lg text-sm font-medium whitespace-nowrap" onclick="switchTab('partners')">
<i class="fas fa-truck mr-2"></i>협력업체
</button>
<button class="tab-btn px-4 py-2 rounded-lg text-sm font-medium whitespace-nowrap" onclick="switchTab('notificationRecipients')">
<i class="fas fa-bell mr-2"></i>알림 수신자
</button>
</div>
</div>
</nav>
@@ -222,6 +225,18 @@
</div>
<div id="dept-tksafety-perms" class="p-4 border border-t-0 border-orange-100 rounded-b-lg space-y-4"></div>
</div>
<!-- tkuser - 통합 관리 -->
<div>
<div class="flex items-center justify-between bg-slate-50 px-4 py-2 rounded-t-lg border border-slate-200">
<h4 class="font-semibold text-slate-800"><i class="fas fa-cogs mr-2"></i>통합 관리 (tkuser)</h4>
<div class="flex gap-2">
<button onclick="toggleDeptSystemAll('tkuser', true)" class="text-xs text-slate-600 hover:underline">전체 허용</button>
<span class="text-gray-300">|</span>
<button onclick="toggleDeptSystemAll('tkuser', false)" class="text-xs text-slate-600 hover:underline">전체 해제</button>
</div>
</div>
<div id="dept-tkuser-perms" class="p-4 border border-t-0 border-slate-200 rounded-b-lg space-y-4"></div>
</div>
<!-- 저장 -->
<div class="flex items-center gap-3 pt-2">
<button id="saveDeptPermBtn" class="px-6 py-2.5 bg-slate-700 text-white rounded-lg hover:bg-slate-800 text-sm font-medium">
@@ -309,6 +324,18 @@
</div>
<div id="tksafety-perms" class="p-4 border border-t-0 border-orange-100 rounded-b-lg space-y-4"></div>
</div>
<!-- tkuser - 통합 관리 -->
<div>
<div class="flex items-center justify-between bg-slate-50 px-4 py-2 rounded-t-lg border border-slate-200">
<h4 class="font-semibold text-slate-800"><i class="fas fa-cogs mr-2"></i>통합 관리 (tkuser)</h4>
<div class="flex gap-2">
<button onclick="toggleSystemAll('tkuser', true)" class="text-xs text-slate-600 hover:underline">전체 허용</button>
<span class="text-gray-300">|</span>
<button onclick="toggleSystemAll('tkuser', false)" class="text-xs text-slate-600 hover:underline">전체 해제</button>
</div>
</div>
<div id="tkuser-perms" class="p-4 border border-t-0 border-slate-200 rounded-b-lg space-y-4"></div>
</div>
<!-- 저장 버튼 -->
<div class="flex items-center gap-3 pt-2">