Files
sam-docs/features/sales/sales-dashboard.md
김보곤 c5b1eb050e docs:영업/매출관리 개발문서 추가 (7개 메뉴)
- 영업관리 대시보드: 수당 현황, 테넌트 진행률, 파트너 활동
- 파트너관리: 영업파트너 CRUD, 역할 관리, 서류 관리
- 영업파트너승인: 신규 파트너 신청 승인/반려 워크플로우
- 상품관리: 카테고리별 상품, 가격/수당률 설정
- 고객관리(관리자): 전사 고객 현황, 본사 진행상태 8단계
- 영업파트너 고객관리: 명함등록 기반 영업권, 테넌트 전환
- 인터뷰 시나리오: 질문 템플릿, 세션 기반 인터뷰 기록

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 17:04:06 +09:00

5.2 KiB
Raw Blame History

영업관리 대시보드

개요

영업관리 대시보드는 영업파트너/상담매니저의 수당 현황, 테넌트 진행률, 유치 파트너 활동을 종합적으로 보여주는 페이지입니다. 로그인한 사용자 기준의 실적 및 수당 정보를 실시간으로 제공합니다.

  • 라우트: GET /sales/salesmanagement/dashboard
  • 미들웨어: auth, hq.member
  • UI 기술: Blade + HTMX + Alpine.js + Tailwind CSS

파일 구조

mng/
├── app/Http/Controllers/Sales/
│   └── SalesDashboardController.php      # 메인 컨트롤러 (18개 메서드, 1,073줄)
└── resources/views/sales/dashboard/
    ├── index.blade.php                   # 메인 페이지
    └── partials/
        ├── data-container.blade.php      # HTMX 새로고침 컨테이너
        ├── stats.blade.php               # 통계 카드
        ├── commission-by-role.blade.php   # 역할별 수당
        ├── tenant-list.blade.php         # 테넌트 목록
        ├── tenant-stats.blade.php        # 테넌트 통계
        ├── partner-activity.blade.php    # 유치 파트너 활동
        ├── my-commission.blade.php       # 내 수당 정보
        ├── help-modal.blade.php          # 도움말
        └── prospect-row.blade.php        # 가망고객 행

라우트

// routes/web.php (sales prefix 그룹 내)
GET  /salesmanagement/dashboard                     index()           메인 페이지
GET  /salesmanagement/dashboard/refresh             refresh()         HTMX 부분 새로고침
GET  /salesmanagement/dashboard/tenants             refreshTenantList() 테넌트 목록 갱신
GET  /salesmanagement/dashboard/partner-activity    partnerActivity()  유치 파트너 활동
GET  /salesmanagement/dashboard/help                helpGuide()       도움말 모달
GET  /salesmanagement/dashboard/prospect/{id}/row   getProspectRow()  가망고객 
GET  /managers/list                                 getManagers()     매니저 목록
GET  /managers/search                               searchManagers()  매니저 검색
POST /tenants/{tenant}/assign-manager               assignManager()   매니저 지정
POST /prospects/{prospect}/assign-manager           assignProspectManager() 가망고객 매니저 지정

컨트롤러

SalesDashboardController

메서드 HTTP 설명
index() GET 대시보드 메인 화면
refresh() GET HTMX 부분 새로고침
getDashboardData() - 대시보드 핵심 데이터 조회 (private)
refreshTenantList() GET 테넌트 목록 새로고침
getManagers() GET 매니저 드롭다운 목록
searchManagers() GET 매니저 검색 API
partnerActivity() GET 유치 파트너 활동 현황
getPartnerActivityData() - 파트너 활동 데이터 (private)
calculatePartnerSummaryStats() - 파트너 요약 통계 (private)
getPartnerActivitiesDetail() - 파트너별 상세 활동 (private)
getManagerOnlyProspects() - 매니저 전용 가망고객 (private)
getCommissionData() - 수당 정보 조회 (private)
getAllManagerUsers() - 상담매니저 사용자 목록 (private)
helpGuide() GET 도움말 모달
getProspectRow() GET 가망고객 개별 행
assignManager() POST 테넌트 매니저 변경
assignProspectManager() POST 가망고객 매니저 변경
calculateExpectedCommissionSummary() - 예상 수당 계산 (private)

수당 계산 로직

영업파트너 수당:
  - 판매자 수당: 가입비 × 20%
  - 협업지원금: 개발비 × 10% (인계 완료 시)
  - 1차/2차 분할: 각 50%

매니저 수당:
  - 1개월 구독료 (매니저 기본 수당)
  - 1차/2차 분할: 각 50%

뷰 구성

┌─ 페이지 헤더 ──────────────────────
│  제목: "영업관리"
│  [새로고침] 버튼
│
├─ 탭 전환 (Alpine.js) ─────────────
│  [내 활동] | [유치 파트너 현황]
│
├─ 탭1: 내 활동 ─────────────────────
│  ├─ 통계 카드 (수당 요약)
│  │   총 수당 | 지급완료 | 미지급 | 예상 수당
│  │
│  ├─ 역할별 수당 상세
│  │   영업파트너 수당 | 매니저 수당
│  │
│  └─ 테넌트/가망고객 목록
│      회사명 | 상태 | 진행률 | 수당 | 매니저 | 작업
│      └─ 매니저 지정 변경 (드롭다운)
│
├─ 탭2: 유치 파트너 현황 ────────────
│  ├─ 파트너 요약 통계
│  │   총 파트너 | 활성 | 계약건수 | 총 수당
│  │
│  └─ 파트너별 활동 상세
│      파트너명 | 등록 고객 | 계약 | 진행중 | 수당
│
└─ 도움말 모달 ──────────────────────
   수당 계산 방식, 진행 단계 설명

HTMX 호환성

  • Blade + HTMX 기반으로 HX-Redirect 불필요
  • hx-get으로 부분 새로고침 처리
  • Alpine.js 탭 전환