summaryrefslogtreecommitdiff
path: root/lib/vendors/table
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-10-24 09:52:35 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-10-24 09:52:35 +0000
commit0174ad394032a8dad81107341f477d6d23a3c04c (patch)
tree6be84f638a852e6d0cea057b67e462e78fc65d41 /lib/vendors/table
parent912e2bc761d7d57bd33d68cb5050da43dea59636 (diff)
(최겸) 구매 피드백 수정(PQ, 실사 등)-1024
Diffstat (limited to 'lib/vendors/table')
-rw-r--r--lib/vendors/table/request-pq-dialog.tsx25
-rw-r--r--lib/vendors/table/vendors-table.tsx1
2 files changed, 19 insertions, 7 deletions
diff --git a/lib/vendors/table/request-pq-dialog.tsx b/lib/vendors/table/request-pq-dialog.tsx
index b5e3b8a8..2f39cae1 100644
--- a/lib/vendors/table/request-pq-dialog.tsx
+++ b/lib/vendors/table/request-pq-dialog.tsx
@@ -145,22 +145,35 @@ export function RequestPQDialog({ vendors, showTrigger = true, onSuccess, ...pro
setIsLoadingTemplates(true)
getALLBasicContractTemplates()
.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) {
+ const foreignTemplates = templates.filter(template => {
+ const name = template.templateName?.toLowerCase() || ''
+ return !name.includes('비밀유지') && !name.includes('기술자료') && !name.includes('내국신용장') && !name.includes('한글')
+ })
+ setBasicContractTemplates(foreignTemplates)
+ }
+ //내자면 리스트에 GTC 제외, 비밀유지, 기술자료, 영문서약 제외
+ if(isAllDomestic) {
+ const domesticTemplates = templates.filter(template => {
+ const name = template.templateName?.toLowerCase() || ''
+ return !name.includes('gtc') && !name.includes('비밀유지') && !name.includes('기술자료') && !name.includes('영문')
+ })
+ setBasicContractTemplates(domesticTemplates)
+ }
if (isAllForeign) {
// 외자: 준법서약 (영문), GTC 선택 (GTC는 1개만 선택하도록)
- // 비밀유지 계약서, 기술자료 요구서 제외
const foreignTemplates = templates.filter(template => {
const name = template.templateName?.toLowerCase() || ''
return (
(template.templateName?.includes('준법서약') && template.templateName?.includes('영문')) ||
template.templateName?.includes('gtc')
- ) && !name.includes('비밀유지') && !name.includes('기술자료')
+ )
})
// GTC 템플릿 중 최신 리비전의 것만 선택
const gtcTemplates = foreignTemplates.filter(t => t.templateName?.includes('gtc'))
@@ -181,9 +194,7 @@ export function RequestPQDialog({ vendors, showTrigger = true, onSuccess, ...pro
const domesticTemplates = templates.filter(template => {
const name = template.templateName?.toLowerCase() || ''
return !(name.includes('준법서약') && name.includes('영문')) &&
- !name.includes('gtc') &&
- !name.includes('비밀유지') &&
- !name.includes('기술자료')
+ !name.includes('gtc')
})
setSelectedTemplateIds(domesticTemplates.map(t => t.id))
}
diff --git a/lib/vendors/table/vendors-table.tsx b/lib/vendors/table/vendors-table.tsx
index 34b9b3e7..894ee3d4 100644
--- a/lib/vendors/table/vendors-table.tsx
+++ b/lib/vendors/table/vendors-table.tsx
@@ -115,6 +115,7 @@ export function VendorsTable({ promises }: VendorsTableProps) {
filterFields,
enablePinning: true,
enableAdvancedFilter: true,
+ enableMultiRowSelection: false, // 단일 선택 모드로 제한
initialState: {
sorting: [{ id: "createdAt", desc: true }],
columnPinning: { right: ["actions"] },