summaryrefslogtreecommitdiff
path: root/lib/rfq-last/vendor-response/editor/vendor-response-editor.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rfq-last/vendor-response/editor/vendor-response-editor.tsx')
-rw-r--r--lib/rfq-last/vendor-response/editor/vendor-response-editor.tsx63
1 files changed, 63 insertions, 0 deletions
diff --git a/lib/rfq-last/vendor-response/editor/vendor-response-editor.tsx b/lib/rfq-last/vendor-response/editor/vendor-response-editor.tsx
index 48ebeb47..c983dd55 100644
--- a/lib/rfq-last/vendor-response/editor/vendor-response-editor.tsx
+++ b/lib/rfq-last/vendor-response/editor/vendor-response-editor.tsx
@@ -66,6 +66,24 @@ const vendorResponseSchema = z.object({
// 연동제
vendorMaterialPriceRelatedYn: z.boolean().optional(),
vendorMaterialPriceRelatedReason: z.string().optional(),
+ priceAdjustmentForm: z.object({
+ priceAdjustmentResponse: z.boolean().nullable().optional(),
+ itemName: z.string().optional(),
+ adjustmentReflectionPoint: z.string().optional(),
+ adjustmentRatio: z.number().optional(),
+ adjustmentPeriod: z.string().optional(),
+ referenceDate: z.string().optional(),
+ comparisonDate: z.string().optional(),
+ adjustmentDate: z.string().optional(),
+ contractorWriter: z.string().optional(),
+ majorApplicableRawMaterial: z.string().optional(),
+ adjustmentFormula: z.string().optional(),
+ rawMaterialPriceIndex: z.string().optional(),
+ adjustmentConditions: z.string().optional(),
+ notes: z.string().optional(),
+ majorNonApplicableRawMaterial: z.string().optional(),
+ nonApplicableReason: z.string().optional(),
+ }).optional(),
// 변경 사유
currencyReason: z.string().optional(),
@@ -162,6 +180,51 @@ export default function VendorResponseEditor({
vendorMaterialPriceRelatedYn: existingResponse?.vendorMaterialPriceRelatedYn ?? rfqDetail.materialPriceRelatedYn,
vendorMaterialPriceRelatedReason: existingResponse?.vendorMaterialPriceRelatedReason || "",
+ priceAdjustmentForm: existingResponse?.priceAdjustmentForm ? {
+ priceAdjustmentResponse: existingResponse.priceAdjustmentForm.majorApplicableRawMaterial ? true :
+ existingResponse.priceAdjustmentForm.majorNonApplicableRawMaterial ? false : null,
+ itemName: existingResponse.priceAdjustmentForm.itemName || "",
+ adjustmentReflectionPoint: existingResponse.priceAdjustmentForm.adjustmentReflectionPoint || "",
+ adjustmentRatio: existingResponse.priceAdjustmentForm.adjustmentRatio ? Number(existingResponse.priceAdjustmentForm.adjustmentRatio) : undefined,
+ adjustmentPeriod: existingResponse.priceAdjustmentForm.adjustmentPeriod || "",
+ referenceDate: existingResponse.priceAdjustmentForm.referenceDate ?
+ (typeof existingResponse.priceAdjustmentForm.referenceDate === 'string'
+ ? existingResponse.priceAdjustmentForm.referenceDate
+ : existingResponse.priceAdjustmentForm.referenceDate.toISOString().split('T')[0]) : "",
+ comparisonDate: existingResponse.priceAdjustmentForm.comparisonDate ?
+ (typeof existingResponse.priceAdjustmentForm.comparisonDate === 'string'
+ ? existingResponse.priceAdjustmentForm.comparisonDate
+ : existingResponse.priceAdjustmentForm.comparisonDate.toISOString().split('T')[0]) : "",
+ adjustmentDate: existingResponse.priceAdjustmentForm.adjustmentDate ?
+ (typeof existingResponse.priceAdjustmentForm.adjustmentDate === 'string'
+ ? existingResponse.priceAdjustmentForm.adjustmentDate
+ : existingResponse.priceAdjustmentForm.adjustmentDate.toISOString().split('T')[0]) : "",
+ contractorWriter: existingResponse.priceAdjustmentForm.contractorWriter || "",
+ majorApplicableRawMaterial: existingResponse.priceAdjustmentForm.majorApplicableRawMaterial || "",
+ adjustmentFormula: existingResponse.priceAdjustmentForm.adjustmentFormula || "",
+ rawMaterialPriceIndex: existingResponse.priceAdjustmentForm.rawMaterialPriceIndex || "",
+ adjustmentConditions: existingResponse.priceAdjustmentForm.adjustmentConditions || "",
+ notes: existingResponse.priceAdjustmentForm.notes || "",
+ majorNonApplicableRawMaterial: existingResponse.priceAdjustmentForm.majorNonApplicableRawMaterial || "",
+ nonApplicableReason: existingResponse.priceAdjustmentForm.nonApplicableReason || "",
+ } : {
+ priceAdjustmentResponse: null,
+ itemName: "",
+ adjustmentReflectionPoint: "",
+ adjustmentRatio: undefined,
+ adjustmentPeriod: "",
+ referenceDate: "",
+ comparisonDate: "",
+ adjustmentDate: "",
+ contractorWriter: "",
+ majorApplicableRawMaterial: "",
+ adjustmentFormula: "",
+ rawMaterialPriceIndex: "",
+ adjustmentConditions: "",
+ notes: "",
+ majorNonApplicableRawMaterial: "",
+ nonApplicableReason: "",
+ },
currencyReason: existingResponse?.currencyReason || "",
paymentTermsReason: existingResponse?.paymentTermsReason || "",