From 1e6d30c9f649dcaa0c1d24561af35d7a77fd51b2 Mon Sep 17 00:00:00 2001 From: dujinkim Date: Tue, 18 Nov 2025 10:31:47 +0000 Subject: (최겸) 구매 법무검토 조회 dialog 개발 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...basic-contract-detail-table-toolbar-actions.tsx | 135 +-------------------- 1 file changed, 5 insertions(+), 130 deletions(-) (limited to 'lib/basic-contract/status-detail') diff --git a/lib/basic-contract/status-detail/basic-contract-detail-table-toolbar-actions.tsx b/lib/basic-contract/status-detail/basic-contract-detail-table-toolbar-actions.tsx index 37ae135c..c71be9d1 100644 --- a/lib/basic-contract/status-detail/basic-contract-detail-table-toolbar-actions.tsx +++ b/lib/basic-contract/status-detail/basic-contract-detail-table-toolbar-actions.tsx @@ -2,7 +2,7 @@ import * as React from "react" import { type Table } from "@tanstack/react-table" -import { Download, FileDown, Mail, Scale, CheckCircle, AlertTriangle, Send, Gavel, Check, FileSignature } from "lucide-react" +import { Download, FileDown, Mail, CheckCircle, AlertTriangle, Send, Check, FileSignature } from "lucide-react" import { exportTableToExcel } from "@/lib/export" import { downloadFile } from "@/lib/file-download" @@ -18,11 +18,9 @@ import { DialogTitle, } from "@/components/ui/dialog" import { Badge } from "@/components/ui/badge" -import { Textarea } from "@/components/ui/textarea" -import { Label } from "@/components/ui/label" -import { Separator } from "@/components/ui/separator" -import { prepareFinalApprovalAction, quickFinalApprovalAction, requestLegalReviewAction, resendContractsAction } from "../service" +import { prepareFinalApprovalAction, quickFinalApprovalAction, resendContractsAction } from "../service" import { BasicContractSignDialog } from "../vendor-table/basic-contract-sign-dialog" +import { SSLVWPurInqReqDialog } from "@/components/common/legal/sslvw-pur-inq-req-dialog" interface BasicContractDetailTableToolbarActionsProps { table: Table @@ -35,10 +33,8 @@ export function BasicContractDetailTableToolbarActions({ table }: BasicContractD // 다이얼로그 상태 const [resendDialog, setResendDialog] = React.useState(false) - const [legalReviewDialog, setLegalReviewDialog] = React.useState(false) const [finalApproveDialog, setFinalApproveDialog] = React.useState(false) const [loading, setLoading] = React.useState(false) - const [reviewNote, setReviewNote] = React.useState("") const [buyerSignDialog, setBuyerSignDialog] = React.useState(false) const [contractsToSign, setContractsToSign] = React.useState([]) @@ -49,10 +45,6 @@ export function BasicContractDetailTableToolbarActions({ table }: BasicContractD const canBulkResend = hasSelectedRows - const canRequestLegalReview = hasSelectedRows && selectedRows.some(row => - row.original.legalReviewRequired && !row.original.legalReviewRequestedAt - ) - const canFinalApprove = hasSelectedRows && selectedRows.some(row => { const contract = row.original; if (contract.completedAt !== null || !contract.signedFilePath) { @@ -67,10 +59,6 @@ export function BasicContractDetailTableToolbarActions({ table }: BasicContractD // 필터링된 계약서들 계산 const resendContracts = selectedRows.map(row => row.original) - const legalReviewContracts = selectedRows - .map(row => row.original) - .filter(contract => contract.legalReviewRequired && !contract.legalReviewRequestedAt) - const finalApproveContracts = selectedRows .map(row => row.original) .filter(contract => { @@ -204,15 +192,6 @@ export function BasicContractDetailTableToolbarActions({ table }: BasicContractD }) } - // 법무검토 요청 - const handleLegalReviewRequest = async () => { - if (!canRequestLegalReview) { - toast.error("법무검토 요청 가능한 계약서를 선택해주세요") - return - } - setLegalReviewDialog(true) - } - // 최종승인 const handleFinalApprove = async () => { if (!canFinalApprove) { @@ -241,26 +220,6 @@ export function BasicContractDetailTableToolbarActions({ table }: BasicContractD } } - // 법무검토 요청 확인 - const confirmLegalReview = async () => { - setLoading(true) - try { - // TODO: 서버액션 호출 - await requestLegalReviewAction(legalReviewContracts.map(c => c.id), reviewNote) - - console.log("법무검토 요청:", legalReviewContracts, "메모:", reviewNote) - toast.success(`${legalReviewContracts.length}건의 법무검토 요청을 완료했습니다`) - setLegalReviewDialog(false) - setReviewNote("") - table.toggleAllPageRowsSelected(false) // 선택 해제 - } catch (error) { - toast.error("법무검토 요청 중 오류가 발생했습니다") - console.error(error) - } finally { - setLoading(false) - } - } - // 최종승인 확인 (수정됨) const confirmFinalApprove = async () => { setLoading(true) @@ -354,25 +313,8 @@ export function BasicContractDetailTableToolbarActions({ table }: BasicContractD - {/* 법무검토 요청 버튼 */} - + {/* 법무검토 버튼 (SSLVW 데이터 조회) */} + {/* 최종승인 버튼 */}