From d91064355842b3338795abac8bc84d1fa611ed6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B6=8C=ED=98=81=EC=84=B1?= Date: Thu, 5 Feb 2026 21:58:46 +0900 Subject: [PATCH] =?UTF-8?q?feat:=EB=AC=B8=EC=84=9C=EC=96=91=EC=8B=9D=20?= =?UTF-8?q?=EB=AA=A9=EB=A1=9D=EC=97=90=20=EC=97=B0=EA=B2=B0=20=ED=92=88?= =?UTF-8?q?=EB=AA=A9=20=EC=BB=AC=EB=9F=BC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - DocumentTemplateApiController: 연결 품목 ID로 품목명 조회 - table.blade.php: 연결 품목 컬럼 추가 (최대 3개 표시 + 더보기) - index.blade.php: 카테고리 필터 code/name 구조 적용 - preview-modal.blade.php: 기본필드 테이블 비율 조정 (15:35:15:35) Co-Authored-By: Claude Opus 4.5 --- .../Admin/DocumentTemplateApiController.php | 11 +++++++- .../views/document-templates/index.blade.php | 2 +- .../partials/preview-modal.blade.php | 12 ++++----- .../partials/table.blade.php | 26 ++++++++++++++++++- 4 files changed, 42 insertions(+), 9 deletions(-) diff --git a/app/Http/Controllers/Api/Admin/DocumentTemplateApiController.php b/app/Http/Controllers/Api/Admin/DocumentTemplateApiController.php index e271d4d9..b9e2c94b 100644 --- a/app/Http/Controllers/Api/Admin/DocumentTemplateApiController.php +++ b/app/Http/Controllers/Api/Admin/DocumentTemplateApiController.php @@ -61,7 +61,16 @@ public function index(Request $request): View $templates = $query->orderBy('updated_at', 'desc') ->paginate($request->input('per_page', 10)); - return view('document-templates.partials.table', compact('templates', 'showTrashed')); + // 연결된 품목 ID 수집 및 품목명 조회 + $allItemIds = $templates->pluck('linked_item_ids')->flatten()->filter()->unique()->values()->toArray(); + $itemNames = []; + if (! empty($allItemIds)) { + $itemNames = \App\Models\Items\Item::whereIn('id', $allItemIds) + ->pluck('name', 'id') + ->toArray(); + } + + return view('document-templates.partials.table', compact('templates', 'showTrashed', 'itemNames')); } /** diff --git a/resources/views/document-templates/index.blade.php b/resources/views/document-templates/index.blade.php index a1a4b9bc..316e9383 100644 --- a/resources/views/document-templates/index.blade.php +++ b/resources/views/document-templates/index.blade.php @@ -41,7 +41,7 @@ class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none foc diff --git a/resources/views/document-templates/partials/preview-modal.blade.php b/resources/views/document-templates/partials/preview-modal.blade.php index 0fdb03ee..97a1ab96 100644 --- a/resources/views/document-templates/partials/preview-modal.blade.php +++ b/resources/views/document-templates/partials/preview-modal.blade.php @@ -130,20 +130,20 @@ function buildDocumentPreviewHtml(data) { ${approvalLines.map(l => `
${_previewEsc(l.dept || '')}
`).join('')} `; - // 기본필드 + // 기본필드 (15:35:15:35 비율) let basicHtml = ''; if (basicFields.length > 0) { const rows = []; for (let i = 0; i < basicFields.length; i += 2) { const f1 = basicFields[i], f2 = basicFields[i + 1]; rows.push(` - ${_previewEsc(f1.label || '-')} - ${_previewEsc(f1.default_value || '(입력)')} - ${f2 ? `${_previewEsc(f2.label || '-')} - ${_previewEsc(f2.default_value || '(입력)')}` : ''} + ${_previewEsc(f1.label || '-')} + ${_previewEsc(f1.default_value || '(입력)')} + ${f2 ? `${_previewEsc(f2.label || '-')} + ${_previewEsc(f2.default_value || '(입력)')}` : ''} `); } - basicHtml = `${rows.join('')}
`; + basicHtml = `${rows.join('')}
`; } // 전체 항목에서 최대 frequency_n diff --git a/resources/views/document-templates/partials/table.blade.php b/resources/views/document-templates/partials/table.blade.php index de158d08..11b9886d 100644 --- a/resources/views/document-templates/partials/table.blade.php +++ b/resources/views/document-templates/partials/table.blade.php @@ -5,6 +5,7 @@ 양식명 분류 문서 제목 + 연결 품목 섹션 컬럼 미리보기 @@ -42,6 +43,29 @@ class="text-blue-600 hover:text-blue-800 font-medium"> {{ $template->title ?: '-' }} + + @php + $linkedIds = $template->linked_item_ids ?? []; + $linkedCount = count($linkedIds); + @endphp + @if($linkedCount > 0) +
+ @foreach(array_slice($linkedIds, 0, 3) as $itemId) + + {{ $itemNames[$itemId] ?? 'ID:'.$itemId }} + + @endforeach + @if($linkedCount > 3) + + +{{ $linkedCount - 3 }} + + @endif +
+ @else + - + @endif + {{ $template->sections_count ?? 0 }} @@ -107,7 +131,7 @@ class="text-gray-600 hover:text-red-600 transition" @empty - +