diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-09-09 10:32:34 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-09-09 10:32:34 +0000 |
| commit | c62ec046327fd388ebce04571b55910747e69a3b (patch) | |
| tree | 41ccdc4a8dea99808622f6d5d52014ac59a2d7ab /lib/bidding/list/create-bidding-dialog.tsx | |
| parent | ebcec3f296d1d27943caf8a3aed26efef117cdc5 (diff) | |
(정희성, 최겸, 대표님) formatDate 변경 등
Diffstat (limited to 'lib/bidding/list/create-bidding-dialog.tsx')
| -rw-r--r-- | lib/bidding/list/create-bidding-dialog.tsx | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/lib/bidding/list/create-bidding-dialog.tsx b/lib/bidding/list/create-bidding-dialog.tsx index 88697903..f21782ff 100644 --- a/lib/bidding/list/create-bidding-dialog.tsx +++ b/lib/bidding/list/create-bidding-dialog.tsx @@ -274,7 +274,10 @@ export function CreateBiddingDialog() { conditions: { isValid: biddingConditions.paymentTerms.trim() !== "" && biddingConditions.taxConditions.trim() !== "" && - biddingConditions.incoterms.trim() !== "", + biddingConditions.incoterms.trim() !== "" && + biddingConditions.contractDeliveryDate.trim() !== "" && + biddingConditions.shippingPort.trim() !== "" && + biddingConditions.destinationPort.trim() !== "", hasErrors: false }, details: { @@ -286,7 +289,7 @@ export function CreateBiddingDialog() { hasErrors: !!(formErrors.managerName || formErrors.managerEmail || formErrors.managerPhone) } } - }, [form, specMeetingInfo.meetingDate, specMeetingInfo.location, specMeetingInfo.contactPerson]) + }, [form, specMeetingInfo.meetingDate, specMeetingInfo.location, specMeetingInfo.contactPerson, biddingConditions]) const tabValidation = getTabValidationState() @@ -428,7 +431,7 @@ export function CreateBiddingDialog() { toast.error("제출 시작일시와 마감일시를 입력해주세요") } } else if (activeTab === "conditions") { - toast.error("입찰 조건을 모두 입력해주세요 (지급조건, 세금조건, 운송조건)") + toast.error("입찰 조건을 모두 입력해주세요 (지급조건, 세금조건, 운송조건, 계약납품일, 선적지, 도착지)") } return } @@ -474,17 +477,18 @@ export function CreateBiddingDialog() { const result = await createBidding(extendedData, userId) if (result.success) { - toast.success(result.message) + toast.success(result.message || "입찰이 성공적으로 생성되었습니다.") setOpen(false) router.refresh() // 생성된 입찰 상세페이지로 이동할지 묻기 - if (result.data?.id) { + if (result.success && 'data' in result && result.data?.id) { setCreatedBiddingId(result.data.id) setShowSuccessDialog(true) } } else { - toast.error(result.error || "입찰 생성에 실패했습니다.") + const errorMessage = result.success === false && 'error' in result ? result.error : "입찰 생성에 실패했습니다." + toast.error(errorMessage) } } catch (error) { console.error("Error creating bidding:", error) @@ -1316,7 +1320,7 @@ export function CreateBiddingDialog() { 세금조건 <span className="text-red-500">*</span> </label> <Input - + placeholder="예: 부가세 별도" value={biddingConditions.taxConditions} onChange={(e) => setBiddingConditions(prev => ({ ...prev, @@ -1341,7 +1345,7 @@ export function CreateBiddingDialog() { <div className="space-y-2"> <label className="text-sm font-medium"> - 계약 납품일 + 계약 납품일 <span className="text-red-500">*</span> </label> <Input type="date" @@ -1354,7 +1358,7 @@ export function CreateBiddingDialog() { </div> <div className="space-y-2"> - <label className="text-sm font-medium">선적지</label> + <label className="text-sm font-medium">선적지 <span className="text-red-500">*</span></label> <Input placeholder="예: 부산항, 인천항" value={biddingConditions.shippingPort} @@ -1366,7 +1370,7 @@ export function CreateBiddingDialog() { </div> <div className="space-y-2"> - <label className="text-sm font-medium">도착지</label> + <label className="text-sm font-medium">도착지 <span className="text-red-500">*</span></label> <Input placeholder="예: 현장 직납, 창고 납품" value={biddingConditions.destinationPort} |
