From 969c25b56f6d29d7ffa4bc2ce04c5fb4e5846b34 Mon Sep 17 00:00:00 2001 From: dujinkim Date: Thu, 14 Aug 2025 11:54:47 +0000 Subject: (대표님) 정규벤더등록, 벤더문서관리, 벤더데이터입력, 첨부파일관리 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/vendors/table/request-pq-dialog.tsx | 34 ++++++++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) (limited to 'lib/vendors/table') diff --git a/lib/vendors/table/request-pq-dialog.tsx b/lib/vendors/table/request-pq-dialog.tsx index a0c24dc6..5b5f722c 100644 --- a/lib/vendors/table/request-pq-dialog.tsx +++ b/lib/vendors/table/request-pq-dialog.tsx @@ -127,14 +127,38 @@ export function RequestPQDialog({ vendors, showTrigger = true, onSuccess, ...pro } }, [type]) - // 기본계약서 템플릿 로딩 + // 기본계약서 템플릿 로딩 및 자동 선택 React.useEffect(() => { setIsLoadingTemplates(true) getALLBasicContractTemplates() - .then(setBasicContractTemplates) + .then((templates) => { + setBasicContractTemplates(templates) + + // 벤더 국가별 자동 선택 로직 + if (vendors.length > 0) { + const isAllForeign = vendors.every(vendor => vendor.country !== 'KR') + const isAllDomestic = vendors.every(vendor => vendor.country === 'KR') + + if (isAllForeign) { + // 외자: 준법서약 (영문), GTC만 선택 + const foreignTemplates = templates.filter(template => + template.templateName?.includes('준법서약') && template.templateName?.includes('영문') || + template.templateName?.includes('GTC') + ) + setSelectedTemplateIds(foreignTemplates.map(t => t.id)) + } else if (isAllDomestic) { + // 내자: 준법서약 (영문), GTC 제외한 모든 템플릿 선택 + const domesticTemplates = templates.filter(template => { + const name = template.templateName?.toLowerCase() || '' + return !(name.includes('준법서약') && name.includes('영문')) && !name.includes('gtc') + }) + setSelectedTemplateIds(domesticTemplates.map(t => t.id)) + } + } + }) .catch(() => toast.error("기본계약서 템플릿 로딩 실패")) .finally(() => setIsLoadingTemplates(false)) - }, []) + }, [vendors]) React.useEffect(() => { if (!props.open) { @@ -527,6 +551,10 @@ export function RequestPQDialog({ vendors, showTrigger = true, onSuccess, ...pro {selectedTemplateIds.length > 0 && (
{selectedTemplateIds.length}개 템플릿이 선택되었습니다. + {vendors.length > 0 && vendors.every(v => v.country !== 'KR') && + " (외자 벤더 - 자동 선택됨)"} + {vendors.length > 0 && vendors.every(v => v.country === 'KR') && + " (내자 벤더 - 자동 선택됨)"}
)} -- cgit v1.2.3