Files
sam-react-prod/src/components/business/construction/contract/contractConfig.ts
유병철 61e3a0ed60 feat(WEB): Phase 6 IntegratedDetailTemplate 마이그레이션 완료
Phase 6 마이그레이션 (41개 컴포넌트 완료):
- 건설/시공: 협력업체, 시공관리, 기성관리, 발주관리, 계약관리 등
- 영업: 견적관리(V2), 고객관리(V2), 수주관리
- 회계: 청구관리, 매입관리, 매출관리, 거래처관리, 악성채권 등
- 생산: 작업지시, 검수관리
- 출고: 출하관리
- 자재: 입고관리, 재고현황
- 고객센터: 문의관리, 이벤트관리, 공지관리
- 인사: 직원관리
- 설정: 권한관리

주요 변경사항:
- 34개 xxxConfig.ts 파일 생성 (설정 기반 페이지 구성)
- PageLayout/PageHeader → IntegratedDetailTemplate 통합
- 일관된 타이틀/버튼 영역 (목록, 상세, 수정, 삭제)
- 1112줄 코드 감소 (중복 제거)

프로젝트 공통화 현황 분석 문서 추가:
- 상세 페이지 62%, 목록 페이지 82% 공통화 달성
- 추가 공통화 기회 및 로드맵 정리

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 15:51:02 +09:00

37 lines
1.2 KiB
TypeScript

import { FileText } from 'lucide-react';
import type { DetailConfig } from '@/components/templates/IntegratedDetailTemplate/types';
/**
* 계약관리 상세 페이지 Config
*
* 참고: 이 config는 타이틀/버튼 영역만 정의
* 폼 내용은 기존 ContractDetailForm의 renderView/renderForm에서 처리
* (파일 업로드, 전자결재 모달, 계약서 보기 모달 등 특수 기능 유지)
*
* 모드별 타이틀:
* - create: '계약 등록' 또는 '변경 계약서 생성'
* - view/edit: '계약 상세'
*/
export const contractConfig: DetailConfig = {
title: '계약 상세',
description: '계약 정보를 관리합니다',
icon: FileText,
basePath: '/construction/project/contract',
fields: [], // renderView/renderForm 사용으로 필드 정의 불필요
gridColumns: 2,
actions: {
showBack: true,
showDelete: true,
showEdit: true,
backLabel: '목록',
deleteLabel: '삭제',
editLabel: '수정',
submitLabel: '저장',
cancelLabel: '취소',
deleteConfirmMessage: {
title: '계약 삭제',
description: '이 계약을 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.',
},
},
};