summaryrefslogtreecommitdiff
path: root/lib/bidding/list/create-bidding-dialog.tsx
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-09-09 10:32:34 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-09-09 10:32:34 +0000
commitc62ec046327fd388ebce04571b55910747e69a3b (patch)
tree41ccdc4a8dea99808622f6d5d52014ac59a2d7ab /lib/bidding/list/create-bidding-dialog.tsx
parentebcec3f296d1d27943caf8a3aed26efef117cdc5 (diff)
(정희성, 최겸, 대표님) formatDate 변경 등
Diffstat (limited to 'lib/bidding/list/create-bidding-dialog.tsx')
-rw-r--r--lib/bidding/list/create-bidding-dialog.tsx24
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}