diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-11-24 10:57:23 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-11-24 10:57:23 +0000 |
| commit | 68160eba15a2c8408329b6e14b94d5e44fa7e3ab (patch) | |
| tree | e78031ed06d8363a2dbdd32f73ec9b494a53e866 /lib | |
| parent | 79822c5fb48ae7cb1e510fc6c74d55941c502788 (diff) | |
(임수민) 준법문의 버튼 수정
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/basic-contract/status-detail/basic-contract-detail-table-toolbar-actions.tsx | 114 |
1 files changed, 61 insertions, 53 deletions
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 b2cc5055..42fb2b5f 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 @@ -494,8 +494,14 @@ export function BasicContractDetailTableToolbarActions({ } ] - // 법무검토 요청 + const complianceInquiryUrl = 'http://60.101.207.55/Inquiry/Write/InquiryWrite.aspx' + + // 법무검토 요청 / 준법문의 const handleRequestLegalReview = () => { + if (isComplianceTemplate) { + window.open(complianceInquiryUrl, '_blank', 'noopener,noreferrer') + return + } setLegalReviewDialog(true) } @@ -579,17 +585,17 @@ export function BasicContractDetailTableToolbarActions({ } /> - {/* 법무검토 요청 버튼 */} + {/* 법무검토 요청 / 준법문의 버튼 */} <Button variant="outline" size="sm" onClick={handleRequestLegalReview} className="gap-2" - title="법무검토 요청 링크 선택" + title={isComplianceTemplate ? "준법문의 링크로 이동" : "법무검토 요청 링크 선택"} > <FileText className="size-4" aria-hidden="true" /> <span className="hidden sm:inline"> - 법무검토 요청 + {isComplianceTemplate ? "준법문의" : "법무검토 요청"} </span> </Button> @@ -690,61 +696,63 @@ export function BasicContractDetailTableToolbarActions({ </DialogContent> </Dialog> - {/* 법무검토 요청 다이얼로그 */} - <Dialog open={legalReviewDialog} onOpenChange={setLegalReviewDialog}> - <DialogContent className="max-w-2xl"> - <DialogHeader> - <DialogTitle className="flex items-center gap-2"> - <FileText className="size-5" /> - 법무검토 요청 - </DialogTitle> - <DialogDescription> - 법무검토 요청 유형을 선택하세요. 선택한 링크가 새 창에서 열립니다. - </DialogDescription> - </DialogHeader> - - <div className="space-y-4"> - <div className="flex items-start gap-3 p-4 bg-blue-50 border border-blue-200 rounded-lg"> - <Globe className="size-5 text-blue-600 flex-shrink-0 mt-0.5" /> - <div> - <div className="font-medium text-blue-800">삼성중공업 법무관리시스템</div> - <div className="text-sm text-blue-700 mt-1"> - 아래 링크 중 해당하는 유형을 선택하여 법무검토를 요청하세요. + {/* 법무검토 요청 다이얼로그 (준법 템플릿 제외) */} + {!isComplianceTemplate && ( + <Dialog open={legalReviewDialog} onOpenChange={setLegalReviewDialog}> + <DialogContent className="max-w-2xl"> + <DialogHeader> + <DialogTitle className="flex items-center gap-2"> + <FileText className="size-5" /> + 법무검토 요청 + </DialogTitle> + <DialogDescription> + 법무검토 요청 유형을 선택하세요. 선택한 링크가 새 창에서 열립니다. + </DialogDescription> + </DialogHeader> + + <div className="space-y-4"> + <div className="flex items-start gap-3 p-4 bg-blue-50 border border-blue-200 rounded-lg"> + <Globe className="size-5 text-blue-600 flex-shrink-0 mt-0.5" /> + <div> + <div className="font-medium text-blue-800">삼성중공업 법무관리시스템</div> + <div className="text-sm text-blue-700 mt-1"> + 아래 링크 중 해당하는 유형을 선택하여 법무검토를 요청하세요. + </div> </div> </div> - </div> - <div className="space-y-2"> - {legalReviewLinks.map((link) => ( - <button - key={link.id} - onClick={() => handleLegalReviewLinkClick(link.url)} - className="w-full flex items-center justify-between p-4 rounded-lg border border-gray-200 hover:border-blue-300 hover:bg-blue-50 transition-colors text-left group" - > - <div className="flex-1"> - <div className="font-medium text-gray-900 group-hover:text-blue-700"> - {link.label} - </div> - <div className="text-sm text-gray-500 mt-1"> - {link.description} + <div className="space-y-2"> + {legalReviewLinks.map((link) => ( + <button + key={link.id} + onClick={() => handleLegalReviewLinkClick(link.url)} + className="w-full flex items-center justify-between p-4 rounded-lg border border-gray-200 hover:border-blue-300 hover:bg-blue-50 transition-colors text-left group" + > + <div className="flex-1"> + <div className="font-medium text-gray-900 group-hover:text-blue-700"> + {link.label} + </div> + <div className="text-sm text-gray-500 mt-1"> + {link.description} + </div> </div> - </div> - <ExternalLink className="size-5 text-gray-400 group-hover:text-blue-600 flex-shrink-0 ml-4" /> - </button> - ))} + <ExternalLink className="size-5 text-gray-400 group-hover:text-blue-600 flex-shrink-0 ml-4" /> + </button> + ))} + </div> </div> - </div> - <DialogFooter> - <Button - variant="outline" - onClick={() => setLegalReviewDialog(false)} - > - 닫기 - </Button> - </DialogFooter> - </DialogContent> - </Dialog> + <DialogFooter> + <Button + variant="outline" + onClick={() => setLegalReviewDialog(false)} + > + 닫기 + </Button> + </DialogFooter> + </DialogContent> + </Dialog> + )} {/* 최종승인 다이얼로그 */} <Dialog open={finalApproveDialog} onOpenChange={setFinalApproveDialog}> |
