summaryrefslogtreecommitdiff
path: root/lib/bidding/vendor/partners-bidding-detail.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bidding/vendor/partners-bidding-detail.tsx')
-rw-r--r--lib/bidding/vendor/partners-bidding-detail.tsx68
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