feat(tkuser): 권한 관리 페이지 최신화 — tksupport 추가, tksafety 보강, S1 휴가 정리

- tksupport 행정지원 6페이지 권한 정의 추가 (indigo 테마)
- tksupport 라우트에 requirePage() 미들웨어 적용
- tksafety 권한 2→8개 확장 (출입관리 4 + 교육/점검 4)
- System1 안전관리 그룹 제거 (s1.safety.* 고아키)
- System1 근태관리 휴가 5항목 제거 (tksupport로 통합)
- 월간근태를 공장관리 그룹으로 이동
- System3 업무, tkuser 연차설정 백엔드 키 동기화

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Hyungi Ahn
2026-03-25 14:06:06 +09:00
parent d46e509e42
commit 05c9f22bdf
5 changed files with 69 additions and 45 deletions

View File

@@ -20,13 +20,7 @@ const DEFAULT_PAGES = {
's1.inspection.daily_patrol': { title: '일일순회점검', system: 'system1', group: '공장 관리', default_access: false },
's1.inspection.checkin': { title: '출근 체크', system: 'system1', group: '공장 관리', default_access: true },
's1.inspection.work_status': { title: '근무 현황', system: 'system1', group: '공장 관리', default_access: false },
// 근태 관리
's1.attendance.my_vacation_info': { title: '내 연차 정보', system: 'system1', group: '근태 관리', default_access: true },
's1.attendance.monthly': { title: '월간 근태', system: 'system1', group: '근태 관리', default_access: true },
's1.attendance.vacation_request': { title: '휴가 신청', system: 'system1', group: '근태 관리', default_access: true },
's1.attendance.vacation_management': { title: '휴가 관리', system: 'system1', group: '근태 관리', default_access: false },
's1.attendance.vacation_allocation': { title: '휴가 발생 입력', system: 'system1', group: '근태 관리', default_access: false },
's1.attendance.annual_overview': { title: '연간 휴가 현황', system: 'system1', group: '근태 관리', default_access: false },
's1.attendance.monthly': { title: '월간 근태', system: 'system1', group: '공장 관리', default_access: true },
// 시스템 관리
's1.admin.workers': { title: '작업자 관리', system: 'system1', group: '시스템 관리', default_access: false },
's1.admin.projects': { title: '프로젝트 관리', system: 'system1', group: '시스템 관리', default_access: false },
@@ -47,6 +41,9 @@ const DEFAULT_PAGES = {
'reports_daily': { title: '일일보고서', system: 'system3', group: '보고서', default_access: false },
'reports_weekly': { title: '주간보고서', system: 'system3', group: '보고서', default_access: false },
'reports_monthly': { title: '월간보고서', system: 'system3', group: '보고서', default_access: false },
// 업무
'daily_work': { title: '일일 공수', system: 'system3', group: '업무', default_access: false },
'projects_manage': { title: '프로젝트 관리', system: 'system3', group: '업무', default_access: false },
// AI
'ai_assistant': { title: 'AI 어시스턴트', system: 'system3', group: 'AI', default_access: false },
@@ -59,11 +56,26 @@ const DEFAULT_PAGES = {
'purchasing_partner_checkin': { title: '협력업체 체크인', system: 'tkpurchase', group: '협력업체', default_access: false },
// ===== tksafety - 안전 관리 =====
'safety_visit_request': { title: '출입 신청', system: 'tksafety', group: '안전 관리', default_access: true },
'safety_visit_management': { title: '출입 관리', system: 'tksafety', group: '안전 관리', default_access: false },
'safety_training': { title: '안전교육 실시', system: 'tksafety', group: '안전 관리', default_access: false },
'safety_checklist': { title: '체크리스트 관리', system: 'tksafety', group: '안전 관리', default_access: false },
'safety_entry_dashboard': { title: '출입 현황판', system: 'tksafety', group: '안전 관리', default_access: false },
// 출입 관리
'safety_visit': { title: '방문 관리', system: 'tksafety', group: '출입 관리', default_access: true },
'safety_visit_request': { title: '출입 신청', system: 'tksafety', group: '출입 관리', default_access: true },
'safety_visit_management': { title: '출입 승인', system: 'tksafety', group: '출입 관리', default_access: false },
'safety_entry_dashboard': { title: '출입 현황판', system: 'tksafety', group: '출입 관리', default_access: false },
// 교육/점검
'safety_education': { title: '안전교육', system: 'tksafety', group: '교육/점검', default_access: true },
'safety_training': { title: '안전교육 실시', system: 'tksafety', group: '교육/점검', default_access: false },
'safety_risk_assessment': { title: '위험성평가', system: 'tksafety', group: '교육/점검', default_access: false },
'safety_checklist': { title: '체크리스트 관리', system: 'tksafety', group: '교육/점검', default_access: false },
// ===== tksupport - 행정 지원 =====
// 일반
'support_dashboard': { title: '대시보드', system: 'tksupport', group: '일반', default_access: true },
'support_vacation_request': { title: '휴가 신청', system: 'tksupport', group: '일반', default_access: true },
'support_vacation_status': { title: '내 휴가 현황', system: 'tksupport', group: '일반', default_access: true },
// 관리
'support_vacation_approval': { title: '휴가 승인', system: 'tksupport', group: '관리', default_access: false },
'support_company_holidays': { title: '전사 휴가 관리', system: 'tksupport', group: '관리', default_access: false },
'support_vacation_dashboard': { title: '전체 휴가관리', system: 'tksupport', group: '관리', default_access: false },
// ===== tkuser - 통합 관리 =====
'tkuser.users': { title: '사용자 관리', system: 'tkuser', group: '통합 관리', default_access: false },
@@ -74,6 +86,7 @@ const DEFAULT_PAGES = {
'tkuser.issue_types': { title: '이슈 유형 관리', system: 'tkuser', group: '통합 관리', default_access: false },
'tkuser.tasks': { title: '작업 관리', system: 'tkuser', group: '통합 관리', default_access: false },
'tkuser.vacations': { title: '휴가 관리', system: 'tkuser', group: '통합 관리', default_access: false },
'tkuser.vacation_settings': { title: '연차 설정', system: 'tkuser', group: '통합 관리', default_access: false },
'tkuser.partners': { title: '협력업체 관리', system: 'tkuser', group: '통합 관리', default_access: false },
'tkuser.notification_recipients': { title: '알림 수신자 관리', system: 'tkuser', group: '통합 관리', default_access: false },
};