@extends('layouts.app') @section('title', '総合ダッシュボード') @section('content')

総合ダッシュボード

全体統計

{{ $totalStats['total_cities'] }}

自治体数

{{ $totalStats['total_parks'] }}

駐輪場数

{{ number_format($totalStats['total_contracts']) }}

総契約数

{{ number_format($totalStats['total_waiting']) }}

総予約待ち

{{ number_format($totalStats['total_capacity']) }}

総収容台数

{{ $totalStats['total_utilization_rate'] }}%

全体利用率

自治体別統計

@foreach($cityStats as $stat) @endforeach
自治体名 駐輪場数 契約数 利用者数 予約待ち 収容台数 利用率 空き台数 操作
{{ $stat['city']->city_name }} {{ $stat['parks_count'] }} {{ number_format($stat['contracts_count']) }} {{ number_format($stat['users_count']) }} @if($stat['waiting_count'] > 0) {{ number_format($stat['waiting_count']) }} @else 0 @endif {{ number_format($stat['capacity']) }} @php $rate = $stat['utilization_rate']; $badgeClass = $rate >= 90 ? 'danger' : ($rate >= 70 ? 'warning' : 'success'); @endphp {{ $rate }}% @if($stat['available_spaces'] > 0) {{ number_format($stat['available_spaces']) }} @else 満車 @endif 詳細

自治体別利用率

予約待ち状況

⚠️ 注意が必要な自治体

@php $alertCities = collect($cityStats)->filter(function($stat) { return $stat['utilization_rate'] >= 90 || $stat['waiting_count'] > 10; }); @endphp @if($alertCities->count() > 0)
@foreach($alertCities as $stat)
{{ $stat['city']->city_name }}
@if($stat['utilization_rate'] >= 90)

利用率が {{ $stat['utilization_rate'] }}% と高くなっています

@endif @if($stat['waiting_count'] > 10)

予約待ちが {{ $stat['waiting_count'] }}人 います

@endif 詳細確認
@endforeach
@else
現在、特に注意が必要な自治体はありません。
@endif
@endsection @push('scripts') @endpush