From 4efd95e2baad56bee24edd30cb73f1e06721c218 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B6=8C=ED=98=81=EC=84=B1?= Date: Sat, 31 Jan 2026 05:07:33 +0900 Subject: [PATCH] =?UTF-8?q?feat:Phase=202.4=20=EB=AC=B8=EC=84=9C=20?= =?UTF-8?q?=EB=AA=A9=EB=A1=9D/=EA=B2=80=EC=83=89/=ED=95=84=ED=84=B0=20?= =?UTF-8?q?=EC=99=84=EC=84=B1=20-=20=EB=82=A0=EC=A7=9C=20=EB=B2=94?= =?UTF-8?q?=EC=9C=84=20=ED=95=84=ED=84=B0=20+=20=EC=82=AD=EC=A0=9C=20?= =?UTF-8?q?=EA=B8=B0=EB=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.5 --- .../Api/Admin/DocumentApiController.php | 8 ++++ resources/views/documents/index.blade.php | 39 ++++++++++++++++++- 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Api/Admin/DocumentApiController.php b/app/Http/Controllers/Api/Admin/DocumentApiController.php index e5ee7d5a..774e8d07 100644 --- a/app/Http/Controllers/Api/Admin/DocumentApiController.php +++ b/app/Http/Controllers/Api/Admin/DocumentApiController.php @@ -43,6 +43,14 @@ public function index(Request $request): JsonResponse }); } + // 날짜 범위 필터 + if ($request->filled('date_from')) { + $query->whereDate('created_at', '>=', $request->date_from); + } + if ($request->filled('date_to')) { + $query->whereDate('created_at', '<=', $request->date_to); + } + $documents = $query->paginate($request->input('per_page', 15)); return response()->json($documents); diff --git a/resources/views/documents/index.blade.php b/resources/views/documents/index.blade.php index 7e831224..fe812456 100644 --- a/resources/views/documents/index.blade.php +++ b/resources/views/documents/index.blade.php @@ -56,6 +56,15 @@ class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none foc + +
+ + ~ + +
+ ` : ''} @@ -248,5 +260,30 @@ function formatDate(dateString) { const date = new Date(dateString); return date.toLocaleDateString('ko-KR', { year: 'numeric', month: '2-digit', day: '2-digit' }); } + +function deleteDocument(id, documentNo) { + showDeleteConfirm(documentNo, () => { + fetch(`/api/admin/documents/${id}`, { + method: 'DELETE', + headers: { + 'Accept': 'application/json', + 'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').content, + } + }) + .then(response => response.json()) + .then(result => { + if (result.success) { + showToast(result.message || '삭제되었습니다.', 'success'); + loadDocuments(); + } else { + showToast(result.message || '삭제에 실패했습니다.', 'error'); + } + }) + .catch(error => { + console.error('Delete error:', error); + showToast('삭제 중 오류가 발생했습니다.', 'error'); + }); + }); +} @endpush \ No newline at end of file