feat: 대시보드 구분선 디자인 전환, 폰트 확대 및 버그 수정

This commit is contained in:
2026-06-12 08:49:04 +09:00
parent 0c1977f707
commit 8a3727ea61
22 changed files with 2238 additions and 1813 deletions

View File

@@ -0,0 +1,60 @@
import { state } from '../../core/state';
import { openUserModal } from '../../components/Modal/UserModal';
import { formatInline } from '../../core/utils';
import { createListView } from './ListFactory';
export function renderUserList(container: HTMLElement) {
createListView(container, {
title: '사용자',
dataSource: () => state.masterData.users || [],
searchKeys: ['emp_no', 'user_name', 'dept_name', 'position', 'status'],
filterOptions: {
keywordLabel: '사번/이름/부서/직급 검색',
showCorp: false,
showDept: true,
showType: false
},
onRowClick: (user) => openUserModal(user, 'view'),
columns: [
{
header: '사번',
sortKey: 'emp_no',
align: 'center',
width: '15%',
render: u => formatInline(u.emp_no || '-')
},
{
header: '이름',
sortKey: 'user_name',
align: 'center',
width: '15%',
render: u => formatInline(u.user_name || '-')
},
{
header: '조직 (부서)',
sortKey: 'dept_name',
align: 'left',
width: '25%',
render: u => formatInline(u.dept_name || '-')
},
{
header: '직급 (직무)',
sortKey: 'position',
align: 'left',
width: '25%',
render: u => formatInline(u.position || '-')
},
{
header: '상태',
sortKey: 'status',
align: 'center',
width: '10%',
render: u => {
const status = u.status || '재직';
const badgeClass = status === '퇴직' ? 'badge-danger' : 'badge-success';
return `<span class="badge ${badgeClass}">${status}</span>`;
}
}
]
});
}