diff options
Diffstat (limited to 'lib/bidding/vendor/partners-bidding-detail.tsx')
| -rw-r--r-- | lib/bidding/vendor/partners-bidding-detail.tsx | 68 |
1 files changed, 12 insertions, 56 deletions
diff --git a/lib/bidding/vendor/partners-bidding-detail.tsx b/lib/bidding/vendor/partners-bidding-detail.tsx index 89ca426b..d134bc3b 100644 --- a/lib/bidding/vendor/partners-bidding-detail.tsx +++ b/lib/bidding/vendor/partners-bidding-detail.tsx @@ -5,30 +5,24 @@ import { useRouter } from 'next/navigation' import { Button } from '@/components/ui/button' import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card' import { Badge } from '@/components/ui/badge' -import { Input } from '@/components/ui/input' import { Label } from '@/components/ui/label' -import { Textarea } from '@/components/ui/textarea' -import { Checkbox } from '@/components/ui/checkbox' import { ArrowLeft, - Calendar, - Building2, - Package, User, - DollarSign, - FileText, Users, Send, CheckCircle, XCircle, - Save + Save, + FileText, + Building2, + Package } from 'lucide-react' import { formatDate } from '@/lib/utils' import { getBiddingDetailsForPartners, submitPartnerResponse, - updatePartnerAttendance, updatePartnerBiddingParticipation, saveBiddingDraft } from '../detail/service' @@ -61,7 +55,8 @@ interface BiddingDetail { contractType: string biddingType: string awardCount: string | null - contractPeriod: string | null + contractStartDate: Date | null + contractEndDate: Date | null preQuoteDate: Date | null biddingRegistrationDate: Date | null submissionStartDate: Date | null @@ -180,10 +175,10 @@ export function PartnersBiddingDetail({ biddingId, companyId }: PartnersBiddingD setTotalQuotationAmount(total) // 응찰 확정 시에만 사전견적 금액을 finalQuoteAmount로 설정 - if (total > 0 && result.isBiddingParticipated === true) { + if (totalQuotationAmount > 0 && result.isBiddingParticipated === true) { setResponseData(prev => ({ ...prev, - finalQuoteAmount: total.toString() + finalQuoteAmount: totalQuotationAmount.toString() })) } } catch (error) { @@ -455,13 +450,6 @@ export function PartnersBiddingDetail({ biddingId, companyId }: PartnersBiddingD }) } - const formatCurrency = (amount: number) => { - return new Intl.NumberFormat('ko-KR', { - style: 'currency', - currency: biddingDetail?.currency || 'KRW', - }).format(amount) - } - if (isLoading) { return ( <div className="flex items-center justify-center py-12"> @@ -497,9 +485,11 @@ export function PartnersBiddingDetail({ biddingId, companyId }: PartnersBiddingD <div> <h1 className="text-2xl font-semibold">{biddingDetail.title}</h1> <div className="flex items-center gap-2 mt-1"> - <Badge variant="outline" className="font-mono"> + <Badge variant="outline" className="font-mono text-xs"> {biddingDetail.biddingNumber} - {biddingDetail.revision && biddingDetail.revision > 0 && ` Rev.${biddingDetail.revision}`} + </Badge> + <Badge variant="outline" className="font-mono"> + Rev. {biddingDetail.revision ?? 0} </Badge> <Badge variant={ biddingDetail.status === 'bidding_disposal' ? 'destructive' : @@ -670,28 +660,6 @@ export function PartnersBiddingDetail({ biddingId, companyId }: PartnersBiddingD </CardTitle> </CardHeader> <CardContent className="space-y-6"> - {/* 품목별 견적 섹션 */} - {/* <div className="space-y-2"> - <Label htmlFor="finalQuoteAmount">총 견적금액 *</Label> - <Input - id="finalQuoteAmount" - type="number" - value={responseData.finalQuoteAmount} - onChange={(e) => setResponseData({...responseData, finalQuoteAmount: e.target.value})} - placeholder="총 견적금액을 입력하세요" - /> - </div> */} - - {/* <div className="space-y-2"> - <Label htmlFor="proposedContractDeliveryDate">제안 납품일</Label> - <Input - id="proposedContractDeliveryDate" - type="date" - value={responseData.proposedContractDeliveryDate} - onChange={(e) => setResponseData({...responseData, proposedContractDeliveryDate: e.target.value})} - /> - </div> */} - {/* 품목별 상세 견적 테이블 */} {prItems.length > 0 ? ( <PrItemsPricingTable @@ -719,18 +687,6 @@ export function PartnersBiddingDetail({ biddingId, companyId }: PartnersBiddingD readOnly={false} /> )} - - {/* 기타 사항 */} - {/* <div className="space-y-2"> - <Label htmlFor="additionalProposals">기타 사항</Label> - <Textarea - id="additionalProposals" - value={responseData.additionalProposals} - onChange={(e) => setResponseData({...responseData, additionalProposals: e.target.value})} - placeholder="기타 특이사항이나 제안사항을 입력하세요" - rows={4} - /> - </div> */} {/* 응찰 제출 버튼 - 참여 확정 상태일 때만 표시 */} <div className="flex justify-end pt-4 gap-2"> <Button |
