feat(WEB): 리스트 페이지 UI 레이아웃 표준화

- 공통 레이아웃 패턴 적용: [달력] → [프리셋] → [검색창] → [버튼들]
- beforeTableContent → headerActions + createButton 마이그레이션
- DateRangeSelector extraActions prop 활용하여 검색창 통합
- PricingListClient 테이블 행 클릭 → 상세 이동 기능 추가
- 회계 관련 페이지 (입금/출금/매입/매출/어음/카드/예상지출 등) 정리
- 건설 관련 페이지 검색 영역 정리
- 부모 메뉴 리다이렉트 컴포넌트 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
유병철
2026-01-26 22:04:36 +09:00
parent ff93ab7fa2
commit 1f6b592b9f
65 changed files with 1974 additions and 503 deletions

View File

@@ -48,7 +48,8 @@ interface PaginationMeta {
// ===== API → Frontend 변환 =====
function transformItem(item: BankTransactionApiItem): BankTransaction {
return {
id: String(item.id),
// 입금/출금 테이블이 별도이므로 type을 접두어로 붙여 고유 ID 생성
id: `${item.type}-${item.id}`,
bankName: item.bank_name,
accountName: item.account_name,
transactionDate: item.transaction_date,

View File

@@ -279,18 +279,16 @@ export function BankTransactionInquiry({
onEndDateChange: setEndDate,
},
// 테이블 상단 콘텐츠 (새로고침 버튼)
beforeTableContent: (
<div className="flex items-center justify-end w-full">
<Button variant="outline" onClick={handleRefresh} disabled={isLoading}>
{isLoading ? (
<Loader2 className="h-4 w-4 mr-2 animate-spin" />
) : (
<RefreshCw className="h-4 w-4 mr-2" />
)}
</Button>
</div>
// 헤더 액션: 새로고침 버튼
headerActions: () => (
<Button variant="outline" size="sm" onClick={handleRefresh} disabled={isLoading}>
{isLoading ? (
<Loader2 className="h-4 w-4 mr-1 animate-spin" />
) : (
<RefreshCw className="h-4 w-4 mr-1" />
)}
{isLoading ? '조회중...' : '새로고침'}
</Button>
),
// 테이블 헤더 액션 (3개 필터)