diff options
Diffstat (limited to 'lib/bidding/vendor')
| -rw-r--r-- | lib/bidding/vendor/components/pr-items-pricing-table.tsx | 8 | ||||
| -rw-r--r-- | lib/bidding/vendor/partners-bidding-detail.tsx | 27 | ||||
| -rw-r--r-- | lib/bidding/vendor/partners-bidding-list-columns.tsx | 13 |
3 files changed, 35 insertions, 13 deletions
diff --git a/lib/bidding/vendor/components/pr-items-pricing-table.tsx b/lib/bidding/vendor/components/pr-items-pricing-table.tsx index efa10af2..22051a13 100644 --- a/lib/bidding/vendor/components/pr-items-pricing-table.tsx +++ b/lib/bidding/vendor/components/pr-items-pricing-table.tsx @@ -294,10 +294,10 @@ export function PrItemsPricingTable({ <TableHead>자재내역</TableHead> <TableHead>수량</TableHead> <TableHead>단위</TableHead> - <TableHead>구매단위</TableHead> + <TableHead>가격단위</TableHead> <TableHead>중량</TableHead> <TableHead>중량단위</TableHead> - <TableHead>가격단위</TableHead> + <TableHead>구매단위</TableHead> <TableHead>SHI 납품요청일</TableHead> <TableHead>견적단가</TableHead> <TableHead>견적금액</TableHead> @@ -336,12 +336,12 @@ export function PrItemsPricingTable({ {item.quantity ? parseFloat(item.quantity).toLocaleString() : '-'} </TableCell> <TableCell>{item.quantityUnit || '-'}</TableCell> - <TableCell>{item.purchaseUnit || '-'}</TableCell> + <TableCell>{item.priceUnit || '-'}</TableCell> <TableCell className="text-right"> {item.totalWeight ? parseFloat(item.totalWeight).toLocaleString() : '-'} </TableCell> <TableCell>{item.weightUnit || '-'}</TableCell> - <TableCell>{item.priceUnit || '-'}</TableCell> + <TableCell>{item.purchaseUnit || '-'}</TableCell> <TableCell> {item.requestedDeliveryDate ? formatDate(item.requestedDeliveryDate, 'KR') : '-' diff --git a/lib/bidding/vendor/partners-bidding-detail.tsx b/lib/bidding/vendor/partners-bidding-detail.tsx index 0215bcb6..504fc916 100644 --- a/lib/bidding/vendor/partners-bidding-detail.tsx +++ b/lib/bidding/vendor/partners-bidding-detail.tsx @@ -854,7 +854,7 @@ export function PartnersBiddingDetail({ biddingId, companyId }: PartnersBiddingD <Label className="text-sm font-medium text-muted-foreground mb-2 block">제출 마감 정보</Label> {(() => { const now = new Date() - const deadline = new Date(biddingDetail.submissionEndDate) + const deadline = new Date(biddingDetail.submissionEndDate.toISOString().slice(0, 16).replace('T', ' ')) const isExpired = deadline < now const timeLeft = deadline.getTime() - now.getTime() const daysLeft = Math.floor(timeLeft / (1000 * 60 * 60 * 24)) @@ -873,7 +873,7 @@ export function PartnersBiddingDetail({ biddingId, companyId }: PartnersBiddingD <Calendar className="w-5 h-5" /> <span className="font-medium">제출 마감일:</span> <span className="text-lg font-semibold"> - {formatDate(biddingDetail.submissionEndDate, 'KR')} + {biddingDetail.submissionEndDate.toISOString().slice(0, 16).replace('T', ' ')} </span> </div> {isExpired ? ( @@ -1025,7 +1025,7 @@ export function PartnersBiddingDetail({ biddingId, companyId }: PartnersBiddingD </div> {/* <div> - <Label className="text-muted-foreground">연동제 적용</Label> + <Label className="text-muted-foreground">하도급법 적용여부</Label> <div className="mt-1 p-3 bg-muted rounded-md"> <p className="font-medium">{biddingConditions.isPriceAdjustmentApplicable ? "적용 가능" : "적용 불가"}</p> </div> @@ -1179,7 +1179,7 @@ export function PartnersBiddingDetail({ biddingId, companyId }: PartnersBiddingD <CardContent className="space-y-4"> {/* 공통 필드 - 품목등의 명칭 */} <div className="space-y-2"> - <Label htmlFor="itemName">품목등의 명칭 *</Label> + <Label htmlFor="itemName">물품등의 명칭 *</Label> <Input id="itemName" value={priceAdjustmentForm.itemName} @@ -1205,7 +1205,7 @@ export function PartnersBiddingDetail({ biddingId, companyId }: PartnersBiddingD </div> <div className="space-y-2"> - <Label htmlFor="adjustmentRatio">연동 비율 (%) *</Label> + <Label htmlFor="adjustmentRatio">반영비율 (%) *</Label> <Input id="adjustmentRatio" type="number" @@ -1229,7 +1229,7 @@ export function PartnersBiddingDetail({ biddingId, companyId }: PartnersBiddingD </div> <div className="space-y-2"> - <Label htmlFor="referenceDate">기준시점 *</Label> + <Label htmlFor="referenceDate">원재료 기준 가격의 변동률 산정을 위한 기준시점 *</Label> <Input id="referenceDate" type="date" @@ -1240,7 +1240,7 @@ export function PartnersBiddingDetail({ biddingId, companyId }: PartnersBiddingD </div> <div className="space-y-2"> - <Label htmlFor="comparisonDate">비교시점 *</Label> + <Label htmlFor="comparisonDate">원재료 기준 가격의 변동률 산정을 위한 비교시점 *</Label> <Input id="comparisonDate" type="date" @@ -1251,7 +1251,7 @@ export function PartnersBiddingDetail({ biddingId, companyId }: PartnersBiddingD </div> <div className="space-y-2"> - <Label htmlFor="contractorWriter">수탁기업(협력사) 작성자 *</Label> + <Label htmlFor="contractorWriter">수탁기업(협력사)작성자 *</Label> <Input id="contractorWriter" value={priceAdjustmentForm.contractorWriter} @@ -1322,7 +1322,7 @@ export function PartnersBiddingDetail({ biddingId, companyId }: PartnersBiddingD </div> <div className="space-y-2"> - <Label htmlFor="priceAdjustmentNotes">기타 사항</Label> + <Label htmlFor="priceAdjustmentNotes">기타사항</Label> <Textarea id="priceAdjustmentNotes" value={priceAdjustmentForm.notes} @@ -1376,6 +1376,15 @@ export function PartnersBiddingDetail({ biddingId, companyId }: PartnersBiddingD </CardContent> </Card> )} + + {/* 참고 경고문 */} + <div className="text-xs text-red-600 space-y-2 bg-red-50 p-3 rounded-md border border-red-200 mt-4"> + <p className="font-medium">※ 참고사항</p> + <div className="space-y-1"> + <p>• 납품대금의 10% 이상을 차지하는 주요 원재료가 있는 경우 모든 주요 원재료에 대해서 적용 또는 미적용에 대한 연동표를 작성해야 한다.</p> + <p>• 납품대급연동표를 허위로 작성하거나 근거자료를 허위로 제출할 경우 본 계약이 체결되지 않을 수 있으며, 본 계약이 체결되었더라도 계약의 전부 또는 일부를 해제 또는 해지할 수 있다.</p> + </div> + </div> </> )} diff --git a/lib/bidding/vendor/partners-bidding-list-columns.tsx b/lib/bidding/vendor/partners-bidding-list-columns.tsx index 63d097c0..8cbddb3d 100644 --- a/lib/bidding/vendor/partners-bidding-list-columns.tsx +++ b/lib/bidding/vendor/partners-bidding-list-columns.tsx @@ -169,6 +169,19 @@ export function getPartnersBiddingListColumns({ setRowAction }: PartnersBiddingL } const handleView = () => { + // 입찰기간 체크 (현 시간 기준으로 입찰기간 시작 전이면 접근 불가) + const now = new Date() + const startDate = row.original.submissionStartDate ? new Date(row.original.submissionStartDate) : null + const endDate = row.original.submissionEndDate ? new Date(row.original.submissionEndDate) : null + + if (startDate && now < startDate) { + toast.warning('입찰기간 전 접근 제한', { + description: `입찰기간이 아직 시작되지 않았습니다. 입찰 시작일: ${format(startDate, "yyyy-MM-dd HH:mm")}`, + duration: 5000, + }) + return + } + // 사양설명회 체크 if (!checkSpecificationMeeting()) { return |
