From 8d29f2510156d2199e499dc735005b5c63a3f429 Mon Sep 17 00:00:00 2001 From: bicochan Date: Mon, 13 Jul 2026 16:43:01 +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=20=EC=A0=84=EC=B2=B4=EC=84=A0=ED=83=9D=20?= =?UTF-8?q?=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/components/checklist-task-panel.tsx | 44 ++++- .../ui/components/checklist-task-panel.tsx | 44 ++++- .../pbadms-sprt/ui/checklist-form-section.tsx | 152 ++++++++++-------- 3 files changed, 163 insertions(+), 77 deletions(-) diff --git a/apps/as/src/pages/fnrs-cnsltn/ui/components/checklist-task-panel.tsx b/apps/as/src/pages/fnrs-cnsltn/ui/components/checklist-task-panel.tsx index 4e0100089..1e4d186e6 100644 --- a/apps/as/src/pages/fnrs-cnsltn/ui/components/checklist-task-panel.tsx +++ b/apps/as/src/pages/fnrs-cnsltn/ui/components/checklist-task-panel.tsx @@ -2,6 +2,7 @@ import type { Dispatch, SetStateAction } from "react"; import type { CklstRvwRsltTreeDto } from "@/entities/fnrs-cnsltn"; import { + Button, cn, Table, TableBody, @@ -36,6 +37,24 @@ function ChecklistTaskPanel({ const currentUserReviewStep = userRoleCode ? ROLE_TO_REVIEW_STEP[userRoleCode] : undefined; const isStepEditable = currentUserReviewStep === selectedReviewStep; + function handleSelectAll(value: "Y" | "N") { + if (!isStepEditable) return; + setFormState((prev) => { + const nextResults = { ...prev.results }; + selectedRows + .filter((row) => row.bchckUseYn === "Y") + .forEach((row) => { + nextResults[buildChecklistRowKey(row, selectedReviewStep)] = value; + }); + return patchChecklistFormState( + prev, + { results: nextResults }, + allRows, + selectedReviewStep, + ); + }); + } + return ( <>
@@ -54,8 +73,27 @@ function ChecklistTaskPanel({ ) : null} - 예 - 아니오 + + + + + + @@ -131,7 +169,7 @@ function ChecklistTaskPanel({