diff options
Diffstat (limited to 'lib/dolce/dialogs/add-and-modify-detail-drawing-dialog.tsx')
| -rw-r--r-- | lib/dolce/dialogs/add-and-modify-detail-drawing-dialog.tsx | 77 |
1 files changed, 40 insertions, 37 deletions
diff --git a/lib/dolce/dialogs/add-and-modify-detail-drawing-dialog.tsx b/lib/dolce/dialogs/add-and-modify-detail-drawing-dialog.tsx index 87819693..673d48d6 100644 --- a/lib/dolce/dialogs/add-and-modify-detail-drawing-dialog.tsx +++ b/lib/dolce/dialogs/add-and-modify-detail-drawing-dialog.tsx @@ -164,18 +164,21 @@ export function AddAndModifyDetailDrawingDialog({ toast.error(t("addDetailDialog.selectRegisterKindError")); return; } - if (!revision.trim()) { - toast.error(t("addDetailDialog.selectRevisionError")); - setRevisionError(t("addDetailDialog.revisionRequired")); - return; - } - // Revision 형식 검증 - const revisionValidationError = validateRevision(revision); - if (revisionValidationError) { - toast.error(revisionValidationError); - setRevisionError(revisionValidationError); - return; + if (drawingUsage !== "CMT") { + if (!revision.trim()) { + toast.error(t("addDetailDialog.selectRevisionError")); + setRevisionError(t("addDetailDialog.revisionRequired")); + return; + } + + // Revision 형식 검증 + const revisionValidationError = validateRevision(revision); + if (revisionValidationError) { + toast.error(revisionValidationError); + setRevisionError(revisionValidationError); + return; + } } // Add 모드일 때만 파일 필수 @@ -219,7 +222,7 @@ export function AddAndModifyDetailDrawingDialog({ RegisterGroupId: drawing.RegisterGroupId, RegisterSerialNo: 0, // 자동 증가 RegisterKind: registerKind, - DrawingRevNo: revision, + DrawingRevNo: drawingUsage === "CMT" ? null : revision, Category: "TS", // To SHI (벤더가 SHI에게 제출) Receiver: null, Manager: "", @@ -293,7 +296,7 @@ export function AddAndModifyDetailDrawingDialog({ RegisterGroupId: detailDrawing.RegisterGroupId, RegisterSerialNo: detailDrawing.RegisterSerialNo, RegisterKind: registerKind, - DrawingRevNo: revision, + DrawingRevNo: drawingUsage === "CMT" ? null : revision, Category: detailDrawing.Category, Receiver: detailDrawing.Receiver, Manager: detailDrawing.Manager, @@ -345,12 +348,10 @@ export function AddAndModifyDetailDrawingDialog({ const isFormValid = mode === "add" ? drawingUsage.trim() !== "" && registerKind.trim() !== "" && - revision.trim() !== "" && - !revisionError && + (drawingUsage === "CMT" || (revision.trim() !== "" && !revisionError)) && files.length > 0 : registerKind.trim() !== "" && - revision.trim() !== "" && - !revisionError; + (drawingUsage === "CMT" || (revision.trim() !== "" && !revisionError)); return ( <Dialog open={open} onOpenChange={onOpenChange}> @@ -429,26 +430,28 @@ export function AddAndModifyDetailDrawingDialog({ </div> {/* Revision 입력 */} - <div className="space-y-2"> - <Label>{t("addDetailDialog.revisionLabel")}</Label> - <Input - value={revision} - onChange={(e) => handleRevisionChange(e.target.value)} - placeholder={t("addDetailDialog.revisionPlaceholder")} - disabled={!registerKind} - className={revisionError ? "border-red-500 focus-visible:ring-red-500" : ""} - /> - {revisionError && ( - <p className="text-sm text-red-500 flex items-center gap-1"> - {revisionError} - </p> - )} - {!revisionError && revision && ( - <p className="text-sm text-green-600 flex items-center gap-1"> - {t("addDetailDialog.revisionValid")} - </p> - )} - </div> + {drawingUsage !== "CMT" && ( + <div className="space-y-2"> + <Label>{t("addDetailDialog.revisionLabel")}</Label> + <Input + value={revision} + onChange={(e) => handleRevisionChange(e.target.value)} + placeholder={t("addDetailDialog.revisionPlaceholder")} + disabled={!registerKind} + className={revisionError ? "border-red-500 focus-visible:ring-red-500" : ""} + /> + {revisionError && ( + <p className="text-sm text-red-500 flex items-center gap-1"> + {revisionError} + </p> + )} + {!revisionError && revision && ( + <p className="text-sm text-green-600 flex items-center gap-1"> + {t("addDetailDialog.revisionValid")} + </p> + )} + </div> + )} {/* Comment 입력 */} <div className="space-y-2"> |
