Files
sam-react-prod/src/components/quotes/quoteConfig.ts
권혁성 05fd5b32f2 feat: 견적 V2 품목 검색 API 연동 및 수동 품목 관리 개선
- ItemSearchModal: API 프록시 라우트 연동, 검색 유효성 검사 (영문/한글 1자 이상)
- items.ts: HttpOnly 쿠키 인증을 위한 프록시 라우트 사용
- LocationDetailPanel: 수동 품목 추가 시 subtotals/grouped_items 동시 업데이트
- QuoteRegistrationV2: 견적 산출 시 수동 추가 품목(is_manual) 보존
- 상세별 합계에서 수동 추가 품목이 카테고리별로 표시되도록 개선
2026-01-27 14:28:17 +09:00

97 lines
2.6 KiB
TypeScript

import { FileText } from 'lucide-react';
import type { DetailConfig } from '@/components/templates/IntegratedDetailTemplate/types';
/**
* 견적관리 상세 페이지 Config (V2 테스트)
*
* 참고: 이 config는 타이틀/뱃지 영역만 정의
* 폼 내용은 QuoteRegistrationV2의 renderContent에서 처리
* (자동 견적 산출, QuoteFooterBar 등 특수 기능 유지)
*
* 특이사항:
* - view/edit/create 모드 지원
* - 기본 버튼(수정/삭제/목록) 숨김 - QuoteFooterBar에서 처리
* - 타이틀 영역만 IntegratedDetailTemplate이 담당
*/
export const quoteConfig: DetailConfig = {
title: '견적',
description: '견적 정보를 조회하고 관리합니다',
icon: FileText,
basePath: '/sales/quote-management',
fields: [], // renderView/renderForm 사용으로 필드 정의 불필요
gridColumns: 2,
actions: {
showBack: false, // QuoteFooterBar에서 처리
showDelete: false, // QuoteFooterBar에서 처리
showEdit: false, // QuoteFooterBar에서 처리
showSave: false, // QuoteFooterBar에서 처리
},
};
/**
* 견적 등록 페이지 Config
*/
export const quoteCreateConfig: DetailConfig = {
title: '견적',
description: '새 견적을 등록합니다',
icon: FileText,
basePath: '/sales/quote-management',
fields: [],
actions: {
showBack: true,
showSave: false, // QuoteFooterBar에서 처리
backLabel: '목록',
},
};
/**
* 견적 수정 페이지 Config
*/
export const quoteEditConfig: DetailConfig = {
title: '견적',
description: '견적 정보를 수정합니다',
icon: FileText,
basePath: '/sales/quote-management',
fields: [],
actions: {
showBack: true,
showSave: false, // QuoteFooterBar에서 처리
backLabel: '목록',
},
};
/**
* 견적 등록 페이지 Config (구버전 QuoteRegistration용)
* - 저장/취소 버튼이 IntegratedDetailTemplate에서 처리됨
*/
export const quoteRegistrationCreateConfig: DetailConfig = {
title: '견적',
description: '새 견적을 등록합니다',
icon: FileText,
basePath: '/sales/quote-management',
fields: [],
actions: {
showBack: true,
showSave: true,
submitLabel: '저장',
backLabel: '취소',
},
};
/**
* 견적 수정 페이지 Config (구버전 QuoteRegistration용)
*/
export const quoteRegistrationEditConfig: DetailConfig = {
title: '견적',
description: '견적 정보를 수정합니다',
icon: FileText,
basePath: '/sales/quote-management',
fields: [],
actions: {
showBack: true,
showSave: true,
submitLabel: '저장',
backLabel: '취소',
},
};