diff options
Diffstat (limited to 'lib/evaluation/table/periodic-evaluation-finalize-dialogs.tsx')
| -rw-r--r-- | lib/evaluation/table/periodic-evaluation-finalize-dialogs.tsx | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/evaluation/table/periodic-evaluation-finalize-dialogs.tsx b/lib/evaluation/table/periodic-evaluation-finalize-dialogs.tsx index 7d6ca45d..d6784754 100644 --- a/lib/evaluation/table/periodic-evaluation-finalize-dialogs.tsx +++ b/lib/evaluation/table/periodic-evaluation-finalize-dialogs.tsx @@ -48,7 +48,7 @@ const GRADE_OPTIONS = [ ] as const // 점수에 따른 등급 계산 -const calculateGrade = (score: number): string => { +const calculateGrade = (score: number): "S" | "A" | "B" | "C" | "D" => { if (score >= 90) return "S" if (score >= 80) return "A" if (score >= 70) return "B" @@ -61,8 +61,8 @@ const evaluationItemSchema = z.object({ id: z.number(), vendorName: z.string(), vendorCode: z.string(), - evaluationScore: z.number().nullable(), - finalScore: z.number() + evaluationScore: z.coerce.number().nullable(), + finalScore: z.coerce.number() .min(0, "점수는 0 이상이어야 합니다"), // .max(100, "점수는 100 이하여야 합니다"), finalGrade: z.enum(["S", "A", "B", "C", "D"]), @@ -109,7 +109,7 @@ export function FinalizeEvaluationDialog({ id: evaluation.id, vendorName: evaluation.vendorName || "", vendorCode: evaluation.vendorCode || "", - evaluationScore: evaluation.evaluationScore || null, + evaluationScore: evaluation.evaluationScore ? Number(evaluation.evaluationScore) : null, finalScore: Number(evaluation.evaluationScore || 0), finalGrade: calculateGrade(Number(evaluation.evaluationScore || 0)), })) |
