Files
sam-manage/resources/views/barobill/billing/partials/billing-stats.blade.php
pro 39161d1203 feat:바로빌 과금관리 시스템 구현
- 모델: BarobillSubscription, BarobillBillingRecord, BarobillMonthlySummary
- 서비스: BarobillBillingService (구독/과금 처리 로직)
- API 컨트롤러: BarobillBillingController (구독/과금 CRUD)
- 뷰: 과금 현황 탭, 구독 관리 탭, 통계 카드, 상세 모달
- 라우트: 웹/API 라우트 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 15:03:44 +09:00

70 lines
4.2 KiB
PHP

<!-- 조회 회원사 -->
<div class="bg-white rounded-lg p-6 shadow-sm border border-gray-100">
<div class="flex items-start justify-between mb-2">
<h3 class="text-xs font-semibold text-gray-400 uppercase">회원사</h3>
<div class="p-1.5 rounded-lg bg-blue-50 text-blue-600">
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4" />
</svg>
</div>
</div>
<div class="text-2xl font-bold text-gray-900">{{ number_format($stats['member_count']) }}</div>
<div class="text-xs text-gray-400 mt-1">과금 대상</div>
</div>
<!-- 월정액 합계 -->
<div class="bg-white rounded-lg p-6 shadow-sm border border-gray-100">
<div class="flex items-start justify-between mb-2">
<h3 class="text-xs font-semibold text-gray-400 uppercase">월정액</h3>
<div class="p-1.5 rounded-lg bg-green-50 text-green-600">
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" />
</svg>
</div>
</div>
<div class="text-2xl font-bold text-gray-900">{{ number_format($stats['subscription_total']) }}<span class="text-sm font-normal text-gray-500"></span></div>
<div class="text-xs text-gray-400 mt-1">계좌+카드+홈텍스</div>
</div>
<!-- 세금계산서 -->
<div class="bg-white rounded-lg p-6 shadow-sm border border-gray-100">
<div class="flex items-start justify-between mb-2">
<h3 class="text-xs font-semibold text-gray-400 uppercase">세금계산서</h3>
<div class="p-1.5 rounded-lg bg-purple-50 text-purple-600">
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" />
</svg>
</div>
</div>
<div class="text-2xl font-bold text-gray-900">{{ number_format($stats['tax_invoice_count']) }}<span class="text-sm font-normal text-gray-500"></span></div>
<div class="text-xs text-gray-400 mt-1">{{ number_format($stats['tax_invoice_amount']) }}</div>
</div>
<!-- 건별 합계 -->
<div class="bg-white rounded-lg p-6 shadow-sm border border-gray-100">
<div class="flex items-start justify-between mb-2">
<h3 class="text-xs font-semibold text-gray-400 uppercase">건별 합계</h3>
<div class="p-1.5 rounded-lg bg-indigo-50 text-indigo-600">
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 12l3-3 3 3 4-4M8 21l4-4 4 4M3 4h18M4 4h16v12a1 1 0 01-1 1H5a1 1 0 01-1-1V4z" />
</svg>
</div>
</div>
<div class="text-2xl font-bold text-gray-900">{{ number_format($stats['usage_total']) }}<span class="text-sm font-normal text-gray-500"></span></div>
<div class="text-xs text-gray-400 mt-1">세금계산서 </div>
</div>
<!-- 총합계 -->
<div class="bg-white rounded-lg p-6 shadow-sm border border-gray-100">
<div class="flex items-start justify-between mb-2">
<h3 class="text-xs font-semibold text-gray-400 uppercase"> 과금액</h3>
<div class="p-1.5 rounded-lg bg-yellow-50 text-yellow-600">
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
</svg>
</div>
</div>
<div class="text-2xl font-bold text-gray-900">{{ number_format($stats['grand_total']) }}<span class="text-sm font-normal text-gray-500"></span></div>
<div class="text-xs text-gray-400 mt-1">월정액 + 건별</div>
</div>