From 9f6218bc07d12d4fd0d94ad26f5e1b187e92a21d Mon Sep 17 00:00:00 2001 From: pro Date: Thu, 29 Jan 2026 07:57:30 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=EC=98=81=EC=97=85=EB=8B=B4=EB=8B=B9?= =?UTF-8?q?=EC=9E=90=20=E2=86=92=20=EC=98=81=EC=97=85=ED=8C=8C=ED=8A=B8?= =?UTF-8?q?=EB=84=88=20=EC=9A=A9=EC=96=B4=20=EB=B3=80=EA=B2=BD=20=EB=B0=8F?= =?UTF-8?q?=20=EB=93=9C=EB=A1=AD=EB=8B=A4=EC=9A=B4=20=EB=A1=9C=EC=A7=81=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 전체 코드에서 '영업담당자' → '영업파트너'로 용어 통일 - 관리 드롭다운: 모든 HQ 사용자 → 내가 유치한 하위 영업파트너만 표시 - User.php children() 관계 활용 Co-Authored-By: Claude Opus 4.5 --- app/Http/Controllers/Sales/SalesDashboardController.php | 9 ++++----- app/Models/Sales/SalesManagerDocument.php | 2 +- app/Models/User.php | 4 ++-- resources/views/finance/sales-commission.blade.php | 6 +++--- resources/views/sales/managers/create.blade.php | 4 ++-- resources/views/sales/managers/edit.blade.php | 4 ++-- 6 files changed, 14 insertions(+), 15 deletions(-) diff --git a/app/Http/Controllers/Sales/SalesDashboardController.php b/app/Http/Controllers/Sales/SalesDashboardController.php index 2b78e1cd..662381aa 100644 --- a/app/Http/Controllers/Sales/SalesDashboardController.php +++ b/app/Http/Controllers/Sales/SalesDashboardController.php @@ -118,11 +118,10 @@ 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']); + // 내가 유치한 영업파트너 목록 (드롭다운용) + $allManagers = auth()->user()->children() + ->where('is_active', true) + ->get(['id', 'name', 'email']); return compact( 'stats', diff --git a/app/Models/Sales/SalesManagerDocument.php b/app/Models/Sales/SalesManagerDocument.php index d54479c6..40f32da3 100644 --- a/app/Models/Sales/SalesManagerDocument.php +++ b/app/Models/Sales/SalesManagerDocument.php @@ -45,7 +45,7 @@ class SalesManagerDocument extends Model ]; /** - * 사용자 (영업담당자) + * 사용자 (영업파트너) */ public function user(): BelongsTo { diff --git a/app/Models/User.php b/app/Models/User.php index 495c51ac..3780779a 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -72,7 +72,7 @@ protected function casts(): array } /** - * 상위 관리자 (영업담당자 계층 구조) + * 상위 관리자 (영업파트너 계층 구조) */ public function parent(): \Illuminate\Database\Eloquent\Relations\BelongsTo { @@ -96,7 +96,7 @@ public function approver(): \Illuminate\Database\Eloquent\Relations\BelongsTo } /** - * 영업담당자 첨부 서류 + * 영업파트너 첨부 서류 */ public function salesDocuments(): HasMany { diff --git a/resources/views/finance/sales-commission.blade.php b/resources/views/finance/sales-commission.blade.php index 6e8beb52..9e3e2ed3 100644 --- a/resources/views/finance/sales-commission.blade.php +++ b/resources/views/finance/sales-commission.blade.php @@ -120,7 +120,7 @@ function SalesCommissionManagement() { const handleDelete = (id) => { if (confirm('정말 삭제하시겠습니까?')) { setCommissions(prev => prev.filter(item => item.id !== id)); setShowModal(false); } }; const handleDownload = () => { - const rows = [['영업수수료', `${dateRange.start} ~ ${dateRange.end}`], [], ['날짜', '영업담당', '고객사', '프로젝트', '매출액', '수수료율', '수수료', '상태'], + const rows = [['영업수수료', `${dateRange.start} ~ ${dateRange.end}`], [], ['날짜', '영업파트너', '고객사', '프로젝트', '매출액', '수수료율', '수수료', '상태'], ...filteredCommissions.map(item => [item.date, item.salesperson, item.customer, item.project, item.salesAmount, `${item.rate}%`, item.commission, item.status === 'paid' ? '지급완료' : '지급예정'])]; const csvContent = rows.map(row => row.join(',')).join('\n'); const blob = new Blob(['\uFEFF' + csvContent], { type: 'text/csv;charset=utf-8;' }); @@ -188,7 +188,7 @@ function SalesCommissionManagement() { 날짜 - 영업담당 + 영업파트너 고객사 프로젝트 매출액 @@ -231,7 +231,7 @@ function SalesCommissionManagement() {
setFormData(prev => ({ ...prev, date: e.target.value }))} className="w-full px-3 py-2 border border-gray-300 rounded-lg" />
-
+
setFormData(prev => ({ ...prev, customer: e.target.value }))} placeholder="고객사명" className="w-full px-3 py-2 border border-gray-300 rounded-lg" />
setFormData(prev => ({ ...prev, project: e.target.value }))} placeholder="프로젝트명" className="w-full px-3 py-2 border border-gray-300 rounded-lg" />
diff --git a/resources/views/sales/managers/create.blade.php b/resources/views/sales/managers/create.blade.php index 04889933..c0166e44 100644 --- a/resources/views/sales/managers/create.blade.php +++ b/resources/views/sales/managers/create.blade.php @@ -1,6 +1,6 @@ @extends('layouts.app') -@section('title', '영업담당자 등록') +@section('title', '영업파트너 등록') @push('styles')