diff --git a/user-management/web/index.html b/user-management/web/index.html index 4b37fa1..3ba0192 100644 --- a/user-management/web/index.html +++ b/user-management/web/index.html @@ -149,7 +149,16 @@
로딩 중...
등록된 사용자가 없습니다.
'; } - else { c.innerHTML = activeUsers.map(u => renderUserRow(u, false)).join(''); } + const countEl = document.getElementById('activeUserCount'); + if (countEl) countEl.textContent = `(${activeUsers.length}명)`; + + if (!activeUsers.length) { + c.innerHTML = searchTerm || deptFilterVal + ? '검색 결과가 없습니다.
' + : '등록된 사용자가 없습니다.
'; + } else { + c.innerHTML = activeUsers.map(u => renderUserRow(u, false)).join(''); + } const resignedSection = document.getElementById('resignedSection'); const resignedList = document.getElementById('resignedUserList'); @@ -419,6 +454,16 @@ function populateDeptPermSelect() { } document.addEventListener('DOMContentLoaded', () => { + // 사용자 검색 + 부서 필터 + let userSearchTimeout; + const userSearchEl = document.getElementById('userSearchInput'); + if (userSearchEl) userSearchEl.addEventListener('input', () => { + clearTimeout(userSearchTimeout); + userSearchTimeout = setTimeout(displayUsers, 300); + }); + const userDeptFilterEl = document.getElementById('userDeptFilter'); + if (userDeptFilterEl) userDeptFilterEl.addEventListener('change', displayUsers); + const sel = document.getElementById('deptPermSelect'); if (sel) sel.addEventListener('change', async e => { selectedDeptId = e.target.value;