summaryrefslogtreecommitdiff
path: root/lib/swp/table/swp-help-dialog.tsx
diff options
context:
space:
mode:
authorjoonhoekim <26rote@gmail.com>2025-10-29 15:59:04 +0900
committerjoonhoekim <26rote@gmail.com>2025-10-29 15:59:04 +0900
commit2ecdac866c19abea0b5389708fcdf5b3889c969a (patch)
treee02a02cfa0890691fb28a7df3a96ef495b3d4b79 /lib/swp/table/swp-help-dialog.tsx
parent2fc9e5492e220041ba322d9a1479feb7803228cf (diff)
(김준회) SWP 파일 업로드 취소 기능 추가, 업로드 파일명 검증로직에서 파일명 비필수로 변경
Diffstat (limited to 'lib/swp/table/swp-help-dialog.tsx')
-rw-r--r--lib/swp/table/swp-help-dialog.tsx66
1 files changed, 51 insertions, 15 deletions
diff --git a/lib/swp/table/swp-help-dialog.tsx b/lib/swp/table/swp-help-dialog.tsx
index 6880a8c7..c6c5296b 100644
--- a/lib/swp/table/swp-help-dialog.tsx
+++ b/lib/swp/table/swp-help-dialog.tsx
@@ -21,7 +21,7 @@ export function SwpUploadHelpDialog() {
업로드 가이드
</Button>
</DialogTrigger>
- <DialogContent className="max-w-2xl" opacityControl={false}>
+ <DialogContent className="max-w-2xl max-h-[80vh] overflow-y-auto">
<DialogHeader>
<DialogTitle>파일 업로드 가이드</DialogTitle>
<DialogDescription>
@@ -34,10 +34,13 @@ export function SwpUploadHelpDialog() {
<div className="space-y-2">
<h3 className="text-sm font-semibold">파일명 형식</h3>
<div className="rounded-lg bg-muted p-4 font-mono text-sm">
- [OWN_DOC_NO]_[REV_NO]_[STAGE]_[YYYYMMDDhhmmss].[확장자]
+ [DOC_NO]_[REV_NO]_[STAGE].[확장자]
</div>
<p className="text-xs text-muted-foreground">
- ⚠️ 언더스코어(_)가 정확히 3개 있어야 합니다
+ ⚠️ 언더스코어(_)가 최소 2개 이상 있어야 합니다
+ </p>
+ <p className="text-xs text-muted-foreground">
+ ℹ️ 선택사항: 4번째 항목으로 파일명을 추가할 수 있습니다 (예: [DOC_NO]_[REV_NO]_[STAGE]_[파일명].[확장자])
</p>
</div>
@@ -47,7 +50,7 @@ export function SwpUploadHelpDialog() {
<div className="flex items-center gap-3 rounded-lg border p-3">
<Badge variant="secondary" className="font-mono shrink-0">
- OWN_DOC_NO
+ DOC_NO
</Badge>
<div className="text-sm">
<span className="font-medium">벤더의 문서번호</span>
@@ -77,11 +80,11 @@ export function SwpUploadHelpDialog() {
<div className="flex items-center gap-3 rounded-lg border p-3">
<Badge variant="secondary" className="font-mono shrink-0">
- YYYYMMDDhhmmss
+ 파일명
</Badge>
<div className="text-sm">
- <span className="font-medium">날짜 및 시간</span>
- <span className="text-muted-foreground"> - 업로드 날짜 정보를 기입합니다 (14자리 숫자)</span>
+ <span className="font-medium">자유 파일명 (선택사항)</span>
+ <span className="text-muted-foreground"> - 문서를 식별할 수 있는 이름 (언더스코어 포함 가능, 생략 가능)</span>
</div>
</div>
</div>
@@ -92,13 +95,35 @@ export function SwpUploadHelpDialog() {
<div className="space-y-2">
<div className="rounded-lg bg-green-50 dark:bg-green-950/30 border border-green-200 dark:border-green-800 p-3">
<code className="text-xs font-mono text-green-700 dark:text-green-300">
- VD-DOC-001_01_IFA_20250124143000.pdf
+ VD-DOC-001_01_IFA.pdf
+ </code>
+ <p className="text-xs text-green-600 dark:text-green-400 mt-1">
+ ✓ 기본 형식 (파일명 생략)
+ </p>
+ </div>
+ <div className="rounded-lg bg-green-50 dark:bg-green-950/30 border border-green-200 dark:border-green-800 p-3">
+ <code className="text-xs font-mono text-green-700 dark:text-green-300">
+ VD-DOC-001_01_IFA_drawing_final.pdf
+ </code>
+ <p className="text-xs text-green-600 dark:text-green-400 mt-1">
+ ✓ 파일명 추가 (파일명에 언더스코어 포함 가능)
+ </p>
+ </div>
+ <div className="rounded-lg bg-green-50 dark:bg-green-950/30 border border-green-200 dark:border-green-800 p-3">
+ <code className="text-xs font-mono text-green-700 dark:text-green-300">
+ TECH-SPEC-002_02_IFC.dwg
</code>
+ <p className="text-xs text-green-600 dark:text-green-400 mt-1">
+ ✓ 기본 형식 사용
+ </p>
</div>
<div className="rounded-lg bg-green-50 dark:bg-green-950/30 border border-green-200 dark:border-green-800 p-3">
<code className="text-xs font-mono text-green-700 dark:text-green-300">
- TECH-SPEC-002_02_IFC_20250124150000.dwg
+ DOC-003_03_IFA_test_result_data.xlsx
</code>
+ <p className="text-xs text-green-600 dark:text-green-400 mt-1">
+ ✓ 파일명 추가 (여러 단어 조합 가능)
+ </p>
</div>
</div>
</div>
@@ -109,7 +134,7 @@ export function SwpUploadHelpDialog() {
<div className="space-y-2">
<div className="rounded-lg bg-red-50 dark:bg-red-950/30 border border-red-200 dark:border-red-800 p-3">
<code className="text-xs font-mono text-red-700 dark:text-red-300">
- VD-DOC-001-01-IFA-20250124.pdf
+ VD-DOC-001-01-IFA.pdf
</code>
<p className="text-xs text-red-600 dark:text-red-400 mt-1">
✗ 언더스코어(_) 대신 하이픈(-) 사용
@@ -117,18 +142,26 @@ export function SwpUploadHelpDialog() {
</div>
<div className="rounded-lg bg-red-50 dark:bg-red-950/30 border border-red-200 dark:border-red-800 p-3">
<code className="text-xs font-mono text-red-700 dark:text-red-300">
- VD-DOC-001_01_IFA.pdf
+ VD-DOC-001_01.pdf
+ </code>
+ <p className="text-xs text-red-600 dark:text-red-400 mt-1">
+ ✗ STAGE 정보 누락 (최소 3개 항목 필요)
+ </p>
+ </div>
+ <div className="rounded-lg bg-red-50 dark:bg-red-950/30 border border-red-200 dark:border-red-800 p-3">
+ <code className="text-xs font-mono text-red-700 dark:text-red-300">
+ VD DOC 001_01_IFA.pdf
</code>
<p className="text-xs text-red-600 dark:text-red-400 mt-1">
- ✗ 날짜/시간 정보 누락
+ ✗ 공백 포함 (언더스코어 사용 필요)
</p>
</div>
<div className="rounded-lg bg-red-50 dark:bg-red-950/30 border border-red-200 dark:border-red-800 p-3">
<code className="text-xs font-mono text-red-700 dark:text-red-300">
- VD-DOC-001_01_IFA_20250124.pdf
+ VD-DOC-001__IFA.pdf
</code>
<p className="text-xs text-red-600 dark:text-red-400 mt-1">
- ✗ 시간 정보 누락 (14자리가 아님)
+ ✗ REV_NO 비어있음 (빈 항목 불가)
</p>
</div>
</div>
@@ -140,7 +173,10 @@ export function SwpUploadHelpDialog() {
⚠️ 주의사항
</h3>
<ul className="text-xs text-amber-800 dark:text-amber-200 space-y-1 list-disc list-inside">
- <li>파일명 형식이 올바르지 않으면 업로드가 실패합니다</li>
+ <li>파일명은 최소 [DOC_NO]_[REV_NO]_[STAGE].[확장자] 형식이어야 합니다</li>
+ <li>DOC_NO는 현재 프로젝트에 할당된 문서번호여야 합니다</li>
+ <li>4번째 항목(파일명)은 선택사항으로 생략 가능합니다</li>
+ <li>업로드 날짜/시간은 시스템에서 자동으로 생성됩니다</li>
<li>같은 파일명으로 이미 업로드된 파일이 있으면 덮어쓰지 않고 오류 처리됩니다</li>
<li>프로젝트와 업체 코드를 먼저 선택해야 업로드 버튼이 활성화됩니다</li>
</ul>