From 21dab0ef1f666347781634f24cddf3c6bdd4743c Mon Sep 17 00:00:00 2001 From: bicochan Date: Fri, 22 May 2026 13:52:02 +0900 Subject: [PATCH] =?UTF-8?q?[as]=20feat:=20=EC=B2=B4=ED=81=AC=EB=A6=AC?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=EA=B4=80=EB=A6=AC=20=EB=B0=8F=20=EA=B2=B0?= =?UTF-8?q?=EC=9E=AC=EC=84=A0=EA=B4=80=EB=A6=AC=20=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lib/validators.ts | 6 ++ .../ui/elapr-apln-grid.tsx | 10 +--- .../ui/cklst-preview-dialog.tsx | 59 ++++++++++++------- .../ui/cklst-rvw-grid.tsx | 32 ++++++++-- .../checklist-management/ui/cklst-rvw-row.tsx | 9 ++- 5 files changed, 79 insertions(+), 37 deletions(-) diff --git a/apps/as/src/pages/approval-line-management/lib/validators.ts b/apps/as/src/pages/approval-line-management/lib/validators.ts index a136d07d7..c5fbe0b71 100644 --- a/apps/as/src/pages/approval-line-management/lib/validators.ts +++ b/apps/as/src/pages/approval-line-management/lib/validators.ts @@ -15,11 +15,17 @@ export function validateAtrzOrder(rows: ElaprAplnRow[]): string | null { const visibleRows = getVisibleRows(rows); const receiverCount = visibleRows.filter((row) => row.atrzSeComCd === ATRZ_RECEIVER_CD).length; + if (receiverCount === 0) { + return "접수자는 반드시 등록해야 합니다."; + } if (receiverCount > 1) { return "접수자는 한 명만 등록할 수 있습니다."; } const finalCount = visibleRows.filter((row) => row.atrzSeComCd === ATRZ_FINAL_CD).length; + if (finalCount === 0) { + return "최종승인자는 반드시 등록해야 합니다."; + } if (finalCount > 1) { return "최종승인자는 한 명만 등록할 수 있습니다."; } diff --git a/apps/as/src/pages/approval-line-management/ui/elapr-apln-grid.tsx b/apps/as/src/pages/approval-line-management/ui/elapr-apln-grid.tsx index 3111673de..1dd757ff9 100644 --- a/apps/as/src/pages/approval-line-management/ui/elapr-apln-grid.tsx +++ b/apps/as/src/pages/approval-line-management/ui/elapr-apln-grid.tsx @@ -98,7 +98,6 @@ function ElaprAplnGrid({ elaprTmpltId }: ElaprAplnGridProps) { }; const handleRowDelete = async (row: ElaprAplnRow) => { - if (!(await confirm("선택한 결재선을 삭제하시겠습니까?"))) return; markDeleted(row.rowKey); }; @@ -129,6 +128,8 @@ function ElaprAplnGrid({ elaprTmpltId }: ElaprAplnGridProps) { return; } + if (!(await confirm("결재선을 저장하시겠습니까?"))) return; + await saveMultiMutation.mutateAsync({ body: payload, elaprTmpltId }); alert("결재선이 저장되었습니다."); await aplnQuery.refetch(); @@ -158,12 +159,7 @@ function ElaprAplnGrid({ elaprTmpltId }: ElaprAplnGridProps) {