From dd831478a3ab5ac7182903d41aa4b3e47f28224f Mon Sep 17 00:00:00 2001 From: dujinkim Date: Mon, 15 Sep 2025 10:13:11 +0000 Subject: (최겸) 구매 입찰 테스트 및 수정사항 반영 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/bidding/bidding-conditions-edit.tsx | 81 +++++++++++++++++--------- 1 file changed, 55 insertions(+), 26 deletions(-) (limited to 'components/bidding/bidding-conditions-edit.tsx') diff --git a/components/bidding/bidding-conditions-edit.tsx b/components/bidding/bidding-conditions-edit.tsx index 92893867..6541bdff 100644 --- a/components/bidding/bidding-conditions-edit.tsx +++ b/components/bidding/bidding-conditions-edit.tsx @@ -17,15 +17,17 @@ import { } from "@/components/ui/select" import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card" import { Pencil, Save, X } from "lucide-react" -import { getBiddingConditions, updateBiddingConditions } from "@/lib/bidding/service" +import { getBiddingConditions, updateBiddingConditions, getActivePaymentTerms, getActiveIncoterms } from "@/lib/bidding/service" import { useToast } from "@/hooks/use-toast" interface BiddingConditionsEditProps { biddingId: number initialConditions?: any | null + paymentTermsOptions: Array<{code: string, description: string}> + incotermsOptions: Array<{code: string, description: string}> } -export function BiddingConditionsEdit({ biddingId, initialConditions }: BiddingConditionsEditProps) { +export function BiddingConditionsEdit({ biddingId, initialConditions, paymentTermsOptions, incotermsOptions }: BiddingConditionsEditProps) { const router = useRouter() const { toast } = useToast() const [isPending, startTransition] = useTransition() @@ -34,8 +36,8 @@ export function BiddingConditionsEdit({ biddingId, initialConditions }: BiddingC paymentTerms: initialConditions?.paymentTerms || "", taxConditions: initialConditions?.taxConditions || "", incoterms: initialConditions?.incoterms || "", - contractDeliveryDate: initialConditions?.contractDeliveryDate - ? new Date(initialConditions.contractDeliveryDate).toISOString().split('T')[0] + contractDeliveryDate: initialConditions?.contractDeliveryDate + ? new Date(initialConditions.contractDeliveryDate).toISOString().split('T')[0] : "", shippingPort: initialConditions?.shippingPort || "", destinationPort: initialConditions?.destinationPort || "", @@ -43,6 +45,7 @@ export function BiddingConditionsEdit({ biddingId, initialConditions }: BiddingC sparePartOptions: initialConditions?.sparePartOptions || "", }) + const handleSave = () => { startTransition(async () => { try { @@ -51,14 +54,15 @@ export function BiddingConditionsEdit({ biddingId, initialConditions }: BiddingC if (result.success) { toast({ title: "성공", - description: result.message, + description: (result as { success: true; message: string }).message, + variant: "default", }) setIsEditing(false) router.refresh() } else { toast({ title: "오류", - description: result.error, + description: (result as { success: false; error: string }).error || "입찰 조건 업데이트 중 오류가 발생했습니다.", variant: "destructive", }) } @@ -108,7 +112,12 @@ export function BiddingConditionsEdit({ biddingId, initialConditions }: BiddingC
-

{conditions.paymentTerms || "미설정"}

+

+ {conditions.paymentTerms + ? paymentTermsOptions.find(opt => opt.code === conditions.paymentTerms)?.code || conditions.paymentTerms + : "미설정" + } +

@@ -116,7 +125,12 @@ export function BiddingConditionsEdit({ biddingId, initialConditions }: BiddingC
-

{conditions.incoterms || "미설정"}

+

+ {conditions.incoterms + ? incotermsOptions.find(opt => opt.code === conditions.incoterms)?.code || conditions.incoterms + : "미설정" + } +

@@ -180,15 +194,30 @@ export function BiddingConditionsEdit({ biddingId, initialConditions }: BiddingC
- setConditions(prev => ({ + onValueChange={(value) => setConditions(prev => ({ ...prev, - paymentTerms: e.target.value + paymentTerms: value }))} - /> + > + + + + + {paymentTermsOptions.length > 0 ? ( + paymentTermsOptions.map((option) => ( + + {option.code} {option.description && `(${option.description})`} + + )) + ) : ( + + 데이터 없음 + + )} + +
@@ -206,7 +235,7 @@ export function BiddingConditionsEdit({ biddingId, initialConditions }: BiddingC
-
-- cgit v1.2.3