From f1676f41e6edadd5841bff6a097dc93fbd195b92 Mon Sep 17 00:00:00 2001 From: dujinkim Date: Mon, 17 Nov 2025 09:04:34 +0000 Subject: (임수민) 서명 알림 수정 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../viewer/basic-contract-sign-viewer.tsx | 71 +++++++++------------- 1 file changed, 29 insertions(+), 42 deletions(-) (limited to 'lib/basic-contract') diff --git a/lib/basic-contract/viewer/basic-contract-sign-viewer.tsx b/lib/basic-contract/viewer/basic-contract-sign-viewer.tsx index 4d98675b..75862506 100644 --- a/lib/basic-contract/viewer/basic-contract-sign-viewer.tsx +++ b/lib/basic-contract/viewer/basic-contract-sign-viewer.tsx @@ -1292,39 +1292,27 @@ export function BasicContractSignViewer({ } }; - // 서명 상태 표시 컴포넌트 + // 서명 상태 표시 컴포넌트 - 처리 중이거나 오류일 때만 표시 const SignatureFieldsStatus = () => { - if (!hasSignatureFields && !isAutoSignProcessing && !autoSignError && !hasValidSignature) return null; - - const currentInstance = webViewerInstance.current || instance; + // 처리 중이거나 오류가 있을 때만 표시 (완료 후에는 자동으로 사라짐) + if (!isAutoSignProcessing && !autoSignError) return null; return ( -
- {isAutoSignProcessing ? ( - - - 서명 필드 생성 중... - - ) : autoSignError ? ( - - - 자동 생성 실패 - - ) : hasSignatureFields ? ( - <> - - - {signatureFields.length}개 서명 필드 자동 생성됨 {mode === 'buyer' ? '(왼쪽 하단)' : ''} +
+
+ {isAutoSignProcessing && ( + + + 서명 필드 생성 중... - - ) : null} - - {hasValidSignature && ( - - - 서명 완료됨 - - )} + )} + {autoSignError && ( + + + 자동 생성 실패 - 수동으로 서명해주세요 + + )} +
); }; @@ -1333,11 +1321,13 @@ export function BasicContractSignViewer({ if (!isOpen && !onClose) { return (
+ {/* 서명 필드 생성 중 알림 - 상단 고정 */} + + {/* 구매자 모드에서는 탭 없이 단일 뷰어만 표시 */} {allFiles.length > 1 && mode !== 'buyer' ? (
- {allFiles.map((file, index) => { let tabId: string; @@ -1447,9 +1437,6 @@ export function BasicContractSignViewer({ ) : (
-
- -
@@ -1492,9 +1479,8 @@ export function BasicContractSignViewer({ - - {mode === 'buyer' ? '구매자 최종승인' : '기본계약서 서명'} - + + {mode === 'buyer' ? '구매자 최종승인' : '기본계약서 서명'} 계약서를 확인하고 {mode === 'buyer' ? '최종승인을' : '서명을'} 진행해주세요. @@ -1504,7 +1490,7 @@ export function BasicContractSignViewer({ {mode !== 'buyer' && isGTCTemplate && ( 📋 협의 코멘트를 확인하고 모든 협의가 완료되었는지 확인해주세요. )} - {hasSignatureFields && ( + {hasSignatureFields && !isAutoSignProcessing && ( 🎯 서명 위치가 자동으로 감지되었습니다{mode === 'buyer' ? ' (왼쪽 하단)' : ''}. @@ -1514,11 +1500,6 @@ export function BasicContractSignViewer({ ✅ {mode === 'buyer' ? '승인이' : '서명이'} 완료되었습니다. )} - {mode !== 'buyer' && isGTCTemplate && gtcCommentStatus.hasComments && ( - - ⚠️ {gtcCommentStatus.commentCount}개의 코멘트가 있어 서명할 수 없습니다. - - )} {mode !== 'buyer' && isGTCTemplate && gtcCommentStatus.hasComments && !gtcCommentStatus.isComplete && ( ⚠️ {gtcCommentStatus.commentCount}개의 미해결 코멘트가 있어 서명할 수 없습니다. @@ -1533,6 +1514,9 @@ export function BasicContractSignViewer({
+ {/* 서명 필드 생성 중 알림 - 상단 고정 */} + + {/* 구매자 모드에서는 탭 없이 단일 뷰어만 표시 */} {allFiles.length > 1 && mode !== 'buyer' ? ( @@ -1641,6 +1625,9 @@ export function BasicContractSignViewer({ ) : (
+ {/* 서명 필드 생성 중 알림 - 상단 고정 */} + +
-- cgit v1.2.3