feat(WEB): UniversalListPage 날짜 범위 필터 자동 적용 기능 추가

UniversalListPage:
- dateRangeSelector.dateField 설정 시 클라이언트 사이드 날짜 필터 자동 적용
- 종료일 23:59:59까지 포함하도록 처리

AttendanceManagement:
- 사유 등록 버튼을 extraFilters에서 headerActions로 이동

IntegratedListTemplateV2:
- 날짜 범위 관련 타입 및 처리 개선

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
유병철
2026-01-28 09:57:12 +09:00
parent 3157fb9401
commit 805063c686
6 changed files with 40 additions and 15 deletions

View File

@@ -469,6 +469,14 @@ export function AttendanceManagement() {
onClick: handleAddAttendance,
},
// 헤더 액션 (근태 등록 버튼 옆에 표시)
headerActions: () => (
<Button variant="outline" onClick={handleAddReason}>
<FileText className="w-4 h-4 mr-2" />
</Button>
),
searchPlaceholder: '이름, 부서 검색...',
// 엑셀 다운로드 설정 (클라이언트 사이드 필터링이므로 filteredData 사용)
@@ -478,15 +486,6 @@ export function AttendanceManagement() {
sheetName: '근태',
},
extraFilters: (
<div className="flex items-center gap-2 flex-wrap">
<Button variant="outline" onClick={handleAddReason}>
<FileText className="w-4 h-4 mr-2" />
</Button>
</div>
),
itemsPerPage: itemsPerPage,
clientSideFiltering: true,

View File

@@ -153,6 +153,8 @@ export function EmployeeManagement() {
);
}
// 날짜 필터는 UniversalListPage에서 dateField 설정을 통해 자동 처리됨
// 정렬
filtered = [...filtered].sort((a, b) => {
switch (sortOption) {
@@ -450,6 +452,7 @@ export function EmployeeManagement() {
endDate,
onStartDateChange: setStartDate,
onEndDateChange: setEndDate,
dateField: 'hireDate', // 입사일 기준 자동 필터링
},
createButton: {