- testGeminiVertexAi() 메서드 추가
- getVertexAiAccessToken() OAuth 토큰 획득 메서드 추가
- 모달에서 Vertex AI 파라미터 전송하도록 수정
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 공통코드/카테고리 테넌트→글로벌 체크박스 벌크 복사 기능 추가
- 이미 대상에 존재하는 항목 체크박스 disabled 처리 (양방향)
- 공통코드 토글 크기 카테고리와 동일하게 축소
- 동기화 환경설정 모달을 공통 partial로 분리
- 동기화 리스트에서 불필요한 타입 컬럼 제거
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- labs-menu.blade.php: S/A 탭 구조 유지 (원격 버전)
- routes/web.php: ManagementController + AIController 모두 포함, SalesCommissionController 구현 유지
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- TenantProspectController에 modalShow, modalEdit 메서드 추가
- prospects 라우트에 modal-show, modal-edit 엔드포인트 추가
- index.blade.php에 모달 컨테이너 및 JavaScript 추가
- partials/show-modal.blade.php, edit-modal.blade.php 신규 생성
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 번개 버튼 클릭 시 랜덤 데이터 자동 입력
- 로그인 ID, 이름(한글 3자), 이메일, 전화번호, 비밀번호 랜덤 생성
- 역할 체크박스 3개 자동 체크
- 개발 환경(local, development)에서만 버튼 표시
- 비밀번호는 alert와 콘솔에 출력
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
[모델]
- SalesCommission: 영업수수료 정산 모델
- SalesCommissionDetail: 상품별 수당 내역 모델
- SalesTenantManagement: 입금 정보 필드 추가
[서비스/컨트롤러]
- SalesCommissionService: 수당 생성, 승인, 지급 처리 로직
- SalesCommissionController: 정산 관리 CRUD
[뷰]
- 본사 정산 관리 화면 (필터, 통계, 테이블)
- 입금 등록 모달
- 상세 보기 모달
- 영업파트너 대시보드 수당 카드
[라우트]
- /finance/sales-commissions/* 라우트 추가
- 기존 sales-commission 리다이렉트 호환
[메뉴]
- SalesCommissionMenuSeeder: 정산관리 > 영업수수료정산 메뉴 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 프로그레스 바 넓게 확장 (본사 진행 상태 바 제거)
- 가입비/월 구독료 오른쪽 세로 배치
- 테이블 헤더 및 상세 정보 영역 제거
- 본사 진행 상태 간단 텍스트로 표시
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 영업, 매니저 버튼을 왼쪽(관리 드롭다운 옆)으로 이동
- 오른쪽 관리 영역은 설정/삭제 아이콘만 표시
- 그리드 레이아웃 조정 (col-span-4, col-span-4, col-span-1, col-span-3)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 접기/펼치기 제거, 항상 펼친 상태로 표시
- 업체명 → 관리 드롭다운 순서로 변경
- 업체명 하단에 대표자 | 사업자번호 표시
- 상세정보에 전화번호, 이메일, 주소 아이콘과 함께 표시
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- SalesContractController: 계약 상품 저장/조회 API
- product-selection.blade.php: 상품 선택 UI 컴포넌트
- scenario-step.blade.php: 6단계에서 상품 선택 컴포넌트 표시
- routes/web.php: /sales/contracts/* 라우트 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 진행 현황을 2분할 grid로 변경 (영업/매니저 | 본사진행)
- 담당자 드롭다운을 업체명 옆 왼쪽으로 이동 (overflow 방지)
- 모든 @click → x-on:click 변경 (Blade 충돌 방지)
- 본사 진행 비활성화 시 "대기" 간략 표시
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 영업/매니저 프로그레스바를 2행에서 1행으로 변경 (각 50% 너비)
- 삭제 버튼을 본사(HQ) 사용자만 표시하도록 제한
- belongsToHQ() 메서드 활용하여 권한 체크
- @click → x-on:click 변경 (Blade 충돌 방지)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- @click → x-on:click (Blade 지시자 충돌 방지)
- 동적 색상 → 고정 색상 bg-indigo-600 (Tailwind JIT 문제 방지)
- 모든 조건 값을 @php에서 명시적 계산
- 조건 로직 단순화 ($isLastStep 불린 사용)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- scenario-step: $totalSteps 명시적 계산으로 다음 단계 버튼 표시 수정
- scenario-step: 완료 버튼 클릭 시 scenario-completed 이벤트 발송
- scenario-modal: completeAndRefresh 함수 추가 (테넌트 리스트 새로고침)
- SalesDashboardController: refreshTenantList 메서드 추가
- routes/web.php: salesmanagement.dashboard.tenants 라우트 추가
- tenant-list: id="tenant-list-container" 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- SalesTenantManagement 모델에 본사 진행 상태 7단계 추가
(대기, 검토, 기획안작성, 개발코드작성, 개발테스트, 개발완료, 통합테스트, 인계)
- 수당 지급 상태 3단계 추가 (대기, 지급대상, 지급완료)
- tenant-list.blade.php에 본사 진행 상태 스텝 인디케이터 추가
- 매니저 100% 완료 시 본사 진행 활성화
- 수당 지급 상태 배지 표시
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
음성 녹음:
- 녹음 종료 시 자동 저장 (저장/취소 버튼 제거)
- 저장 중 오버레이 + 프로그레스바 표시
- 저장 완료 후 자동 초기화
첨부파일:
- 파일 선택 즉시 자동 업로드 (업로드 버튼 제거)
- 업로드 중 오버레이 + 프로그레스바 표시
- 최근 업로드 파일 목록 표시 (5개까지)
- 다중 파일 순차 업로드 및 전체 진행률 표시
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 음성 녹음: 헤더 클릭으로 접기/펼치기, 녹음 중 상태 배지 표시
- 첨부파일: 헤더 클릭으로 접기/펼치기, 대기 파일 개수 배지 표시
- 기본 접힌 상태로 화면 공간 효율화
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 우측 메인 영역에 min-h-0 추가 (flex 자식 스크롤 활성화)
- overflow-hidden 제거
- 하단 상담 기록 영역에 flex-shrink-0 추가 (축소 방지)
- 아코디언 콘텐츠 max-height: 50vh 인라인 스타일로 적용
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 기존: 각 단계별 독립적인 상담 기록 (step_id 기반)
- 변경: 모달 하단에 고정 배치, 모든 단계에서 동일한 상담 기록 공유
- 탭 전환 시에도 상담 기록 유지
- step_id 파라미터 제거로 통합 관리
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 기존: 마지막 단계(계약 체결)에서만 상담 기록/첨부파일 표시
- 변경: 모든 단계에서 접기/펼치기 아코디언으로 공통 모듈 제공
- 단계별 독립적인 상담 기록 컨테이너 ID 사용
- HTMX revealed 트리거로 펼칠 때만 데이터 로드
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- scenario-modal: close() 시 tenantId 포함한 이벤트 발생
- tenant-list: 이벤트 수신 시 API 호출하여 진행률 업데이트
- 진행률 영역에 ID 부여하여 DOM 직접 업데이트
- 새로고침 없이 실시간 반영
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- SalesScenarioChecklist: getSimpleProgress(), getTenantProgress() 메서드 추가
- tenant-list: 진행률 컬럼 추가 (영업/매니저 각각 프로그레스 바)
- 레이아웃 재조정: 버튼 compact화, 컬럼 비율 조정
- 오른쪽 빈 공간 활용하여 정보 밀도 향상
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 실시간 음성 인식: max-h-40 스크롤 영역 + 자동 하단 스크롤
- 음성 인식: 글자 수 표시
- 텍스트 상담 기록: max-h-32 스크롤 영역
- 음성 녹음 transcript: max-h-32 스크롤 영역
- 긴 텍스트(4시간 분량 등) 대응
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 확정된 결과를 인덱스별 배열로 관리하여 중복/덮어쓰기 방지
- 음성 인식 끊김 시 자동 재시작 (녹음 중일 때만)
- no-speech, aborted 에러 무시하고 계속 진행
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>