feat(tkuser): 입사일 자동표시 + 퇴사자 목록 분리 + 퇴사일 관리
- 사용자 추가 시 hire_date 전송 (서울 오늘날짜 기본값) - resigned_date 컬럼 마이그레이션 + CRUD 지원 - 비활성화(삭제) 시 resigned_date 자동 설정 (COALESCE) - 활성/비활성 사용자 목록 분리, 퇴사자 접기/펼치기 - 퇴사자 재활성화 기능 (resigned_date 초기화) - 편집 모달에 퇴사일 필드 추가 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -137,6 +137,10 @@
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label class="block text-xs font-medium text-gray-600 mb-1">입사일</label>
|
||||
<input type="date" id="newHireDate" class="input-field w-full px-3 py-1.5 rounded-lg text-sm">
|
||||
</div>
|
||||
<button type="submit" class="w-full px-4 py-2 bg-slate-700 text-white rounded-lg hover:bg-slate-800 text-sm font-medium">
|
||||
<i class="fas fa-plus mr-1"></i>추가
|
||||
</button>
|
||||
@@ -152,6 +156,20 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 퇴사자 목록 -->
|
||||
<div id="resignedSection" class="mt-6 bg-white rounded-xl shadow-sm p-5 hidden">
|
||||
<div class="flex items-center justify-between mb-4">
|
||||
<h2 class="text-base font-semibold text-gray-800">
|
||||
<i class="fas fa-user-slash text-gray-400 mr-2"></i>퇴사자 목록
|
||||
<span id="resignedCount" class="text-xs font-normal text-gray-400 ml-1"></span>
|
||||
</h2>
|
||||
<button onclick="toggleResignedList()" id="resignedToggleBtn" class="text-xs text-gray-500 hover:text-gray-700">
|
||||
<i class="fas fa-chevron-down mr-1"></i>펼치기
|
||||
</button>
|
||||
</div>
|
||||
<div id="resignedUserList" class="space-y-2 max-h-[300px] overflow-y-auto hidden"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -1043,9 +1061,15 @@
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label class="block text-xs font-medium text-gray-600 mb-1">입사일</label>
|
||||
<input type="date" id="editHireDate" class="input-field w-full px-3 py-1.5 rounded-lg text-sm">
|
||||
<div class="grid grid-cols-2 gap-3">
|
||||
<div>
|
||||
<label class="block text-xs font-medium text-gray-600 mb-1">입사일</label>
|
||||
<input type="date" id="editHireDate" class="input-field w-full px-3 py-1.5 rounded-lg text-sm">
|
||||
</div>
|
||||
<div>
|
||||
<label class="block text-xs font-medium text-gray-600 mb-1">퇴사일</label>
|
||||
<input type="date" id="editResignedDate" class="input-field w-full px-3 py-1.5 rounded-lg text-sm">
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex gap-3 pt-3">
|
||||
<button type="button" onclick="closeEditModal()" class="flex-1 px-4 py-2 border border-gray-300 rounded-lg hover:bg-gray-50 text-sm">취소</button>
|
||||
@@ -2323,11 +2347,11 @@
|
||||
</div>
|
||||
|
||||
<!-- JS: Core (config, token, api, toast, helpers, init) -->
|
||||
<script src="/static/js/tkuser-core.js?v=2026032301"></script>
|
||||
<script src="/static/js/tkuser-core.js?v=2026032303"></script>
|
||||
<!-- JS: Tabs -->
|
||||
<script src="/static/js/tkuser-tabs.js?v=2026032301"></script>
|
||||
<!-- JS: Individual modules -->
|
||||
<script src="/static/js/tkuser-users.js?v=2026032302"></script>
|
||||
<script src="/static/js/tkuser-users.js?v=2026032303"></script>
|
||||
<script src="/static/js/tkuser-projects.js?v=2026031401"></script>
|
||||
<script src="/static/js/tkuser-departments.js?v=2026032302"></script>
|
||||
<script src="/static/js/tkuser-issue-types.js?v=2026031401"></script>
|
||||
|
||||
Reference in New Issue
Block a user