import { Bidding } from '@/db/schema/bidding' import { Building2, User, DollarSign, Calendar, FileText } from 'lucide-react' import { contractTypeLabels, biddingTypeLabels, awardCountLabels } from '@/db/schema/bidding' import { formatDate } from '@/lib/utils' interface BiddingInfoHeaderProps { bidding: Bidding | null } export function BiddingInfoHeader({ bidding }: BiddingInfoHeaderProps) { if (!bidding) { return (
입찰 정보를 불러오는 중...
) } return (
{/* 4개 섹션을 Grid로 배치 */}
{/* 1. 프로젝트 및 품목 정보 */}
기본 정보
{bidding.projectName && (
프로젝트
{bidding.projectName}
)} {bidding.itemName && (
품목
{bidding.itemName}
)} {bidding.prNumber && (
PR No.
{bidding.prNumber}
)} {bidding.purchasingOrganization && (
구매조직
{bidding.purchasingOrganization}
)}
{/* 2. 담당자 및 예산 정보 */}
담당자 정보
{bidding.bidPicName && (
입찰담당자
{bidding.bidPicName} {bidding.bidPicCode && ( ({bidding.bidPicCode}) )}
)} {bidding.supplyPicName && (
조달담당자
{bidding.supplyPicName} {bidding.supplyPicCode && ( ({bidding.supplyPicCode}) )}
)} {bidding.budget && (
예산
{new Intl.NumberFormat('ko-KR', { style: 'currency', currency: bidding.currency || 'KRW', minimumFractionDigits: 0, maximumFractionDigits: 0, }).format(Number(bidding.budget))}
)}
{/* 3. 계약 정보 */}
계약 정보
계약구분
{contractTypeLabels[bidding.contractType]}
입찰유형
{biddingTypeLabels[bidding.biddingType]}
낙찰수
{bidding.awardCount ? awardCountLabels[bidding.awardCount] : '-'}
통화
{bidding.currency}
{(bidding.contractStartDate || bidding.contractEndDate) && (
계약기간
{bidding.contractStartDate && formatDate(bidding.contractStartDate, 'KR')} {bidding.contractStartDate && bidding.contractEndDate && ' ~ '} {bidding.contractEndDate && formatDate(bidding.contractEndDate, 'KR')}
)}
{/* 4. 일정 정보 */}
일정 정보
{bidding.biddingRegistrationDate && (
입찰등록일
{formatDate(bidding.biddingRegistrationDate, 'KR')}
)} {bidding.preQuoteDate && (
사전견적일
{formatDate(bidding.preQuoteDate, 'KR')}
)} {bidding.submissionStartDate && bidding.submissionEndDate && (
제출기간
{formatDate(bidding.submissionStartDate, 'KR')}
~
{formatDate(bidding.submissionEndDate, 'KR')}
)} {bidding.evaluationDate && (
평가일
{formatDate(bidding.evaluationDate, 'KR')}
)}
) }