From 47e527f5f763658600696ee58451fb666e692f5a Mon Sep 17 00:00:00 2001 From: dujinkim Date: Thu, 11 Sep 2025 11:21:35 +0000 Subject: (최겸) 구매 입찰 세부기능 수정 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/bidding/bidding-info-header.tsx | 220 +++++++++++++++-------------- 1 file changed, 115 insertions(+), 105 deletions(-) (limited to 'components/bidding/bidding-info-header.tsx') diff --git a/components/bidding/bidding-info-header.tsx b/components/bidding/bidding-info-header.tsx index e109a8ca..b897187d 100644 --- a/components/bidding/bidding-info-header.tsx +++ b/components/bidding/bidding-info-header.tsx @@ -4,127 +4,137 @@ import { contractTypeLabels, biddingTypeLabels } from '@/db/schema/bidding' import { formatDate } from '@/lib/utils' interface BiddingInfoHeaderProps { - bidding: Bidding + bidding: Bidding | null } export function BiddingInfoHeader({ bidding }: BiddingInfoHeaderProps) { + if (!bidding) { + return ( +
+
입찰 정보를 불러오는 중...
+
+ ) + } + return (
- {/* 주요 정보 섹션 */} -
- {/* 프로젝트 정보 */} - {bidding.projectName && ( -
-
- - 프로젝트 + {/* 3개 섹션을 Grid로 배치 - 각 섹션이 동일한 width로 꽉 채움 */} +
+ {/* 왼쪽 섹션: 프로젝트, 품목, 담당자 정보 */} +
+ {/* 프로젝트 정보 */} + {bidding.projectName && ( +
+
+ + 프로젝트 +
+
{bidding.projectName}
-
{bidding.projectName}
-
- )} - - {/* 품목 정보 */} - {bidding.itemName && ( -
-
- - 품목 + )} + + {/* 품목 정보 */} + {bidding.itemName && ( +
+
+ + 품목 +
+
{bidding.itemName}
-
{bidding.itemName}
-
- )} - - {/* 담당자 정보 */} - {bidding.managerName && ( -
-
- - 담당자 + )} + + {/* 담당자 정보 */} + {bidding.managerName && ( +
+
+ + 담당자 +
+
{bidding.managerName}
-
{bidding.managerName}
-
- )} - - {/* 예산 정보 */} - {bidding.budget && ( -
-
- - 예산 + )} + + {/* 예산 정보 */} + {bidding.budget && ( +
+
+ + 예산 +
+
+ {new Intl.NumberFormat('ko-KR', { + style: 'currency', + currency: bidding.currency || 'KRW', + }).format(Number(bidding.budget))} +
-
- {new Intl.NumberFormat('ko-KR', { - style: 'currency', - currency: bidding.currency || 'KRW', - }).format(Number(bidding.budget))} + )} +
+ + {/* 가운데 섹션: 계약 정보 */} +
+
+
+ 계약 + {contractTypeLabels[bidding.contractType]} +
+ +
+ 유형 + {biddingTypeLabels[bidding.biddingType]}
-
- )} -
- - {/* 구분선 */} -
- {/* 계약 정보 */} -
-
- 계약 - {contractTypeLabels[bidding.contractType]} -
- -
- 유형 - {biddingTypeLabels[bidding.biddingType]} -
-
- 낙찰 - {bidding.awardCount === 'single' ? '단수' : '복수'} -
+
+ 낙찰 + {bidding.awardCount === 'single' ? '단수' : '복수'} +
-
- 통화 - {bidding.currency} +
+ 통화 + {bidding.currency} +
-
- - {/* 일정 정보 */} - {(bidding.submissionStartDate || bidding.evaluationDate || bidding.preQuoteDate || bidding.biddingRegistrationDate) && ( -
-
- - 일정 정보 -
-
- {bidding.submissionStartDate && bidding.submissionEndDate && ( -
- 제출기간 -
- {formatDate(bidding.submissionStartDate, 'KR')} ~ {formatDate(bidding.submissionEndDate, 'KR')} + + {/* 오른쪽 섹션: 일정 정보 */} + {(bidding.submissionStartDate || bidding.evaluationDate || bidding.preQuoteDate || bidding.biddingRegistrationDate) && ( +
+
+ + 일정 정보 +
+
+ {bidding.submissionStartDate && bidding.submissionEndDate && ( +
+ 제출기간 +
+ {formatDate(bidding.submissionStartDate, 'KR')} ~ {formatDate(bidding.submissionEndDate, 'KR')} +
-
- )} - {bidding.biddingRegistrationDate && ( -
- 입찰등록일 -
{formatDate(bidding.biddingRegistrationDate, 'KR')}
-
- )} - {bidding.preQuoteDate && ( -
- 사전견적일 -
{formatDate(bidding.preQuoteDate, 'KR')}
-
- )} - {bidding.evaluationDate && ( -
- 평가일 -
{formatDate(bidding.evaluationDate, 'KR')}
-
- )} + )} + {bidding.biddingRegistrationDate && ( +
+ 입찰등록일 +
{formatDate(bidding.biddingRegistrationDate, 'KR')}
+
+ )} + {bidding.preQuoteDate && ( +
+ 사전견적일 +
{formatDate(bidding.preQuoteDate, 'KR')}
+
+ )} + {bidding.evaluationDate && ( +
+ 평가일 +
{formatDate(bidding.evaluationDate, 'KR')}
+
+ )} +
-
- )} + )} +
) } -- cgit v1.2.3