From 0a0afe1df03fc31cc4e6614130ab0f4a8d4abb0b Mon Sep 17 00:00:00 2001 From: pro Date: Thu, 29 Jan 2026 07:05:45 +0900 Subject: [PATCH] =?UTF-8?q?fix:=EB=A7=A4=EB=8B=88=EC=A0=80=20=EB=93=9C?= =?UTF-8?q?=EB=A1=AD=EB=8B=A4=EC=9A=B4=20API=20=ED=98=B8=EC=B6=9C=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0,=20=EC=84=9C=EB=B2=84=EC=82=AC=EC=9D=B4?= =?UTF-8?q?=EB=93=9C=20=EB=A0=8C=EB=8D=94=EB=A7=81=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 기존: 드롭다운 열 때 API 호출 → 로딩 스피너 문제 - 변경: 컨트롤러에서 allManagers 전달 → 즉시 렌더링 - 로딩 상태 제거로 UX 개선 Co-Authored-By: Claude Opus 4.5 --- .../Sales/SalesDashboardController.php | 7 ++ .../partials/manager-dropdown.blade.php | 112 +++++++----------- 2 files changed, 48 insertions(+), 71 deletions(-) diff --git a/app/Http/Controllers/Sales/SalesDashboardController.php b/app/Http/Controllers/Sales/SalesDashboardController.php index a857427a..a9519483 100644 --- a/app/Http/Controllers/Sales/SalesDashboardController.php +++ b/app/Http/Controllers/Sales/SalesDashboardController.php @@ -117,6 +117,12 @@ private function getDashboardData(Request $request): array ->get() ->keyBy('tenant_id'); + // HQ 매니저 목록 (드롭다운용) - 본인 제외 + $allManagers = User::whereHas('tenants', function ($query) { + $query->where('tenant_type', 'HQ'); + })->where('id', '!=', auth()->id()) + ->get(['id', 'name', 'email']); + return compact( 'stats', 'commissionByRole', @@ -124,6 +130,7 @@ private function getDashboardData(Request $request): array 'tenantStats', 'tenants', 'managements', + 'allManagers', 'period', 'year', 'month', diff --git a/resources/views/sales/dashboard/partials/manager-dropdown.blade.php b/resources/views/sales/dashboard/partials/manager-dropdown.blade.php index bad863a5..22852fca 100644 --- a/resources/views/sales/dashboard/partials/manager-dropdown.blade.php +++ b/resources/views/sales/dashboard/partials/manager-dropdown.blade.php @@ -4,9 +4,11 @@ $assignedManager = $management?->manager; $isSelf = !$assignedManager || $assignedManager->id === auth()->id(); $managerName = $assignedManager?->name ?? '본인'; + // 매니저 목록 JSON (본인 제외는 컨트롤러에서 처리됨) + $managersJson = $allManagers->map(fn($m) => ['id' => $m->id, 'name' => $m->name, 'email' => $m->email])->values()->toJson(); @endphp -
+
{{-- 드롭다운 트리거 --}} - {{-- 매니저 목록 --}} -
- {{-- 본인 옵션 --}} + {{-- 구분선 (다른 매니저가 있을 때만) --}} + + + {{-- 다른 매니저 목록 --}} + - {{-- 구분선 --}} -
- - {{-- 다른 매니저 목록 --}} - - - {{-- 매니저가 없을 때 --}} -
+ {{-- 매니저가 없을 때 --}} +