feat(WEB): 회계/설정/카드 관리 페이지 대규모 기능 추가 및 리팩토링
- 일반전표입력, 상품권관리, 세금계산서 발행/조회 신규 페이지 추가 - 바로빌 연동 설정 페이지 추가 - 카드관리/계좌관리 리스트 UniversalListPage 공통 구조로 전환 - 카드거래조회/은행거래조회 리팩토링 (모달 분리, 액션 확장) - 계좌 상세 폼(AccountDetailForm) 신규 구현 - 카드 상세(CardDetail) 신규 구현 + CardNumberInput 적용 - DateRangeSelector, StatCards, IntegratedListTemplateV2 공통 컴포넌트 개선 - 레거시 파일 정리 (CardManagementUnified, cardConfig, _legacy 등) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -109,6 +109,12 @@ export interface IntegratedListTemplateV2Props<T = any> {
|
||||
showPresets?: boolean;
|
||||
/** 날짜 입력 숨김 (검색창만 표시하고 싶을 때) */
|
||||
hideDateInputs?: boolean;
|
||||
/** 표시할 프리셋 목록 */
|
||||
presets?: import('@/components/molecules/DateRangeSelector').DatePreset[];
|
||||
/** 프리셋 레이블 커스텀 오버라이드 */
|
||||
presetLabels?: Partial<Record<import('@/components/molecules/DateRangeSelector').DatePreset, string>>;
|
||||
/** 프리셋 버튼 위치 */
|
||||
presetsPosition?: 'inline' | 'below';
|
||||
startDate?: string;
|
||||
endDate?: string;
|
||||
onStartDateChange?: (date: string) => void;
|
||||
@@ -603,6 +609,9 @@ export function IntegratedListTemplateV2<T = any>({
|
||||
onEndDateChange={dateRangeSelector.onEndDateChange || (() => {})}
|
||||
hidePresets={dateRangeSelector.showPresets === false}
|
||||
hideDateInputs={dateRangeSelector.hideDateInputs}
|
||||
presets={dateRangeSelector.presets}
|
||||
presetLabels={dateRangeSelector.presetLabels}
|
||||
presetsPosition={dateRangeSelector.presetsPosition}
|
||||
extraActions={
|
||||
<>
|
||||
{/* hideSearch=true면 검색창 자동 추가 (extraActions 앞에) */}
|
||||
@@ -944,7 +953,7 @@ export function IntegratedListTemplateV2<T = any>({
|
||||
onClick={isSortable ? () => onSort(column.key) : undefined}
|
||||
>
|
||||
{column.key === "actions" && selectedItems.size === 0 ? "" : (
|
||||
<div className={`flex items-center gap-1 ${isSortable ? 'group' : ''}`}>
|
||||
<div className={`flex items-center gap-1 ${isSortable ? 'group' : ''} ${(column.className || '').includes('text-right') ? 'justify-end' : (column.className || '').includes('text-center') ? 'justify-center' : ''}`}>
|
||||
<span>{column.label}</span>
|
||||
{isSortable && (
|
||||
<span className="text-muted-foreground">
|
||||
|
||||
@@ -283,6 +283,10 @@ export interface UniversalListConfig<T> {
|
||||
showPresets?: boolean;
|
||||
/** 날짜 입력 숨김 (검색창만 표시하고 싶을 때) */
|
||||
hideDateInputs?: boolean;
|
||||
/** 표시할 프리셋 목록 */
|
||||
presets?: import('@/components/molecules/DateRangeSelector').DatePreset[];
|
||||
/** 프리셋 레이블 커스텀 오버라이드 */
|
||||
presetLabels?: Partial<Record<import('@/components/molecules/DateRangeSelector').DatePreset, string>>;
|
||||
/** 프리셋 버튼 위치: 'inline' (날짜 옆), 'below' (별도 줄) */
|
||||
presetsPosition?: 'inline' | 'below';
|
||||
startDate?: string;
|
||||
|
||||
Reference in New Issue
Block a user