summaryrefslogtreecommitdiff
path: root/lib/bidding/detail/table/bidding-detail-vendor-edit-dialog.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bidding/detail/table/bidding-detail-vendor-edit-dialog.tsx')
-rw-r--r--lib/bidding/detail/table/bidding-detail-vendor-edit-dialog.tsx24
1 files changed, 20 insertions, 4 deletions
diff --git a/lib/bidding/detail/table/bidding-detail-vendor-edit-dialog.tsx b/lib/bidding/detail/table/bidding-detail-vendor-edit-dialog.tsx
index f43e850a..1a1b331e 100644
--- a/lib/bidding/detail/table/bidding-detail-vendor-edit-dialog.tsx
+++ b/lib/bidding/detail/table/bidding-detail-vendor-edit-dialog.tsx
@@ -22,13 +22,17 @@ interface BiddingDetailVendorEditDialogProps {
open: boolean
onOpenChange: (open: boolean) => void
onSuccess: () => void
+ biddingAwardCount?: string // 낙찰수 정보 추가
+ biddingStatus?: string // 입찰 상태 정보 추가
}
export function BiddingDetailVendorEditDialog({
vendor,
open,
onOpenChange,
- onSuccess
+ onSuccess,
+ biddingAwardCount,
+ biddingStatus
}: BiddingDetailVendorEditDialogProps) {
const { toast } = useToast()
const [isPending, startTransition] = useTransition()
@@ -41,11 +45,13 @@ export function BiddingDetailVendorEditDialog({
// vendor가 변경되면 폼 데이터 업데이트
React.useEffect(() => {
if (vendor) {
+ // 낙찰수가 단수인 경우 발주비율을 100%로 자동 설정
+ const defaultAwardRatio = biddingAwardCount === 'single' ? 100 : (vendor.awardRatio || 0)
setFormData({
- awardRatio: vendor.awardRatio || 0,
+ awardRatio: defaultAwardRatio,
})
}
- }, [vendor])
+ }, [vendor, biddingAwardCount])
const handleEdit = () => {
if (!vendor) return
@@ -129,13 +135,23 @@ export function BiddingDetailVendorEditDialog({
value={formData.awardRatio}
onChange={(e) => setFormData({ ...formData, awardRatio: Number(e.target.value) })}
placeholder="발주비율을 입력하세요"
- disabled={vendor?.isBiddingParticipated !== true}
+ disabled={vendor?.isBiddingParticipated !== true || biddingAwardCount === 'single' || biddingStatus === 'vendor_selected'}
/>
{vendor?.isBiddingParticipated !== true && (
<p className="text-sm text-muted-foreground">
입찰에 참여한 업체만 발주비율을 설정할 수 있습니다.
</p>
)}
+ {biddingAwardCount === 'single' && vendor?.isBiddingParticipated === true && (
+ <p className="text-sm text-blue-600">
+ 단수 낙찰의 경우 발주비율은 자동으로 100%로 설정됩니다.
+ </p>
+ )}
+ {biddingStatus === 'vendor_selected' && (
+ <p className="text-sm text-red-600">
+ 낙찰이 완료되어 발주비율을 수정할 수 없습니다.
+ </p>
+ )}
</div>
</div>
<DialogFooter>