- 영업/매니저 시나리오 모달 구현 (6단계 체크리스트) - 상담 기록 기능 (텍스트, 음성, 첨부파일) - 음성 녹음 + Speech-to-Text 변환 - 첨부파일 Drag & Drop 업로드 - 매니저 지정 드롭다운 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
73 lines
2.2 KiB
PHP
73 lines
2.2 KiB
PHP
@extends('layouts.app')
|
|
|
|
@section('title', '영업관리 대시보드')
|
|
|
|
@push('styles')
|
|
<style>
|
|
.htmx-indicator {
|
|
display: none;
|
|
}
|
|
.htmx-request .htmx-indicator {
|
|
display: inline-flex;
|
|
}
|
|
.htmx-request.htmx-indicator {
|
|
display: inline-flex;
|
|
}
|
|
</style>
|
|
@endpush
|
|
|
|
@section('content')
|
|
<div class="space-y-6">
|
|
<!-- 페이지 헤더 -->
|
|
<div class="flex justify-between items-center">
|
|
<h1 class="text-2xl font-bold text-gray-800">영업관리 대시보드</h1>
|
|
</div>
|
|
|
|
<!-- 수당 지급 일정 안내 -->
|
|
<div class="bg-blue-50 border border-blue-200 rounded-xl p-4">
|
|
<div class="flex items-start gap-3">
|
|
<div class="flex-shrink-0 mt-0.5">
|
|
<svg class="w-5 h-5 text-blue-500" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
|
|
</svg>
|
|
</div>
|
|
<div>
|
|
<h3 class="text-sm font-semibold text-blue-800">수당 지급 일정 안내</h3>
|
|
<p class="text-sm text-blue-700 mt-1">* 가입비 수당은 가입비 완료 후 지급됩니다.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 대시보드 데이터 컨테이너 (HTMX로 새로고침되는 영역) -->
|
|
<div id="dashboard-data" class="space-y-6">
|
|
@include('sales.dashboard.partials.data-container')
|
|
</div>
|
|
</div>
|
|
|
|
{{-- 시나리오 모달용 포털 --}}
|
|
<div id="modal-portal"></div>
|
|
@endsection
|
|
|
|
@push('scripts')
|
|
<script>
|
|
// Alpine.js x-collapse 플러그인이 없는 경우를 위한 폴백
|
|
if (typeof Alpine !== 'undefined' && !Alpine.directive('collapse')) {
|
|
Alpine.directive('collapse', (el, { expression }, { effect, evaluateLater }) => {
|
|
let isOpen = evaluateLater(expression);
|
|
|
|
effect(() => {
|
|
isOpen((value) => {
|
|
if (value) {
|
|
el.style.height = 'auto';
|
|
el.style.overflow = 'visible';
|
|
} else {
|
|
el.style.height = '0px';
|
|
el.style.overflow = 'hidden';
|
|
}
|
|
});
|
|
});
|
|
});
|
|
}
|
|
</script>
|
|
@endpush
|