214 lines
9.9 KiB
PHP
Executable File
214 lines
9.9 KiB
PHP
Executable File
@extends('admin.layouts.netgescon')
|
|
|
|
@section('page-title', 'Dashboard Amministrazione')
|
|
|
|
@section('content')
|
|
<div class="space-y-8 netgescon-fade-in">
|
|
<!-- Header -->
|
|
<div class="netgescon-card">
|
|
<div class="flex items-center justify-between">
|
|
<div>
|
|
<h2 class="netgescon-title">
|
|
<i class="fas fa-cogs text-purple-500 mr-3"></i>
|
|
Dashboard Amministrazione
|
|
</h2>
|
|
<p class="netgescon-text mt-2">
|
|
Gestione amministrativa condominiale e tabelle millesimali
|
|
</p>
|
|
</div>
|
|
<div class="hidden md:block">
|
|
<a href="{{ route('piano_conti.index') }}" class="netgescon-btn netgescon-btn-primary">
|
|
<i class="fas fa-table mr-2"></i>
|
|
Piano dei Conti
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Statistiche principali -->
|
|
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
|
|
<!-- Tabelle Millesimali -->
|
|
<div class="netgescon-card">
|
|
<div class="flex items-center">
|
|
<div class="flex-1">
|
|
<p class="text-sm font-medium text-gray-600">Tabelle Millesimali</p>
|
|
<p class="text-3xl font-bold netgescon-text">{{ $statistiche['tabelle_millesimali'] }}</p>
|
|
</div>
|
|
<div class="p-3 bg-purple-100 rounded-full">
|
|
<i class="fas fa-table text-purple-600 text-xl"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Gestioni Attive -->
|
|
<div class="netgescon-card">
|
|
<div class="flex items-center">
|
|
<div class="flex-1">
|
|
<p class="text-sm font-medium text-gray-600">Gestioni Attive</p>
|
|
<p class="text-3xl font-bold netgescon-text">{{ $statistiche['gestioni_attive'] }}</p>
|
|
</div>
|
|
<div class="p-3 bg-green-100 rounded-full">
|
|
<i class="fas fa-check-circle text-green-600 text-xl"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Pratiche Aperte -->
|
|
<div class="netgescon-card">
|
|
<div class="flex items-center">
|
|
<div class="flex-1">
|
|
<p class="text-sm font-medium text-gray-600">Pratiche Aperte</p>
|
|
<p class="text-3xl font-bold netgescon-text">{{ $statistiche['pratiche_aperte'] }}</p>
|
|
<p class="text-sm text-orange-600">In lavorazione</p>
|
|
</div>
|
|
<div class="p-3 bg-orange-100 rounded-full">
|
|
<i class="fas fa-folder-open text-orange-600 text-xl"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Assemblee Programmate -->
|
|
<div class="netgescon-card">
|
|
<div class="flex items-center">
|
|
<div class="flex-1">
|
|
<p class="text-sm font-medium text-gray-600">Assemblee Programmate</p>
|
|
<p class="text-3xl font-bold netgescon-text">{{ $statistiche['assemblee_programmate'] }}</p>
|
|
<p class="text-sm text-blue-600">Prossimi 30 giorni</p>
|
|
</div>
|
|
<div class="p-3 bg-blue-100 rounded-full">
|
|
<i class="fas fa-users-cog text-blue-600 text-xl"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid grid-cols-1 lg:grid-cols-2 gap-6">
|
|
<!-- Gestioni Condominiali -->
|
|
<div class="netgescon-card">
|
|
<div class="netgescon-card-header">
|
|
<h3 class="netgescon-card-title">
|
|
<i class="fas fa-sitemap text-purple-500 mr-2"></i>
|
|
Gestioni Condominiali
|
|
</h3>
|
|
</div>
|
|
<div class="netgescon-card-body">
|
|
@if($gestioni->count())
|
|
<div class="space-y-3">
|
|
@foreach($gestioni as $gestione)
|
|
<div class="flex items-center justify-between p-3 bg-gray-50 rounded-lg">
|
|
<div>
|
|
<h4 class="font-semibold netgescon-text">{{ $gestione->descrizione }}</h4>
|
|
<p class="text-sm text-gray-600">Codice: {{ $gestione->codice }}</p>
|
|
<p class="text-xs text-gray-500">
|
|
Tabelle collegate: {{ $gestione->tabella_count ?? 0 }}
|
|
</p>
|
|
@if($gestione->stabile)
|
|
<p class="text-xs text-gray-400">
|
|
Stabile: {{ $gestione->stabile->denominazione }}
|
|
</p>
|
|
@endif
|
|
</div>
|
|
<div class="text-right">
|
|
<span class="netgescon-badge {{ ($gestione->is_attiva ?? false) ? 'netgescon-badge-green' : 'netgescon-badge-gray' }}">
|
|
{{ ($gestione->is_attiva ?? false) ? 'Attiva' : 'Non Attiva' }}
|
|
</span>
|
|
<div class="mt-1">
|
|
<a href="{{ route('piano_conti.report_gestione', $gestione) }}" class="text-blue-600 hover:text-blue-800 text-xs">
|
|
<i class="fas fa-eye mr-1"></i>Report
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endforeach
|
|
</div>
|
|
@else
|
|
<div class="text-center py-8">
|
|
<i class="fas fa-sitemap text-gray-300 text-4xl mb-4"></i>
|
|
<p class="netgescon-text-muted">Nessuna gestione disponibile</p>
|
|
</div>
|
|
@endif
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Tabelle Revenue -->
|
|
<div class="netgescon-card">
|
|
<div class="netgescon-card-header">
|
|
<h3 class="netgescon-card-title">
|
|
<i class="fas fa-table text-blue-500 mr-2"></i>
|
|
Tabelle Millesimali Recenti
|
|
</h3>
|
|
</div>
|
|
<div class="netgescon-card-body">
|
|
@if($tabelle_recenti->count())
|
|
<div class="space-y-3">
|
|
@foreach($tabelle_recenti as $tabella)
|
|
<div class="flex items-center justify-between p-3 bg-gray-50 rounded-lg">
|
|
<div>
|
|
<h4 class="font-semibold netgescon-text">{{ $tabella->nome_tabella }}</h4>
|
|
<p class="text-sm text-gray-600">
|
|
{{ $tabella->denominazione ?: 'Nessuna descrizione' }}
|
|
</p>
|
|
<p class="text-xs text-gray-500">
|
|
Tipo: {{ ucfirst($tabella->tipo_tabella) }} •
|
|
{{ number_format($tabella->totale_millesimi, 2) }}‰
|
|
</p>
|
|
</div>
|
|
<div class="text-right">
|
|
<span class="netgescon-badge {{ $tabella->attiva ? 'netgescon-badge-green' : 'netgescon-badge-red' }}">
|
|
{{ $tabella->attiva ? 'Attiva' : 'Non Attiva' }}
|
|
</span>
|
|
<div class="mt-1">
|
|
<a href="{{ route('piano_conti.show_tabella', $tabella) }}" class="text-blue-600 hover:text-blue-800 text-xs">
|
|
<i class="fas fa-eye mr-1"></i>Dettagli
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endforeach
|
|
</div>
|
|
@else
|
|
<div class="text-center py-8">
|
|
<i class="fas fa-table text-gray-300 text-4xl mb-4"></i>
|
|
<p class="netgescon-text-muted">Nessuna tabella disponibile</p>
|
|
</div>
|
|
@endif
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Azioni Rapide -->
|
|
<div class="netgescon-card">
|
|
<div class="netgescon-card-header">
|
|
<h3 class="netgescon-card-title">
|
|
<i class="fas fa-bolt text-yellow-500 mr-2"></i>
|
|
Azioni Rapide
|
|
</h3>
|
|
</div>
|
|
<div class="netgescon-card-body">
|
|
<div class="grid grid-cols-1 md:grid-cols-3 lg:grid-cols-5 gap-4">
|
|
<a href="{{ route('piano_conti.index') }}" class="netgescon-btn netgescon-btn-outline flex flex-col items-center p-4">
|
|
<i class="fas fa-table text-2xl mb-2"></i>
|
|
<span>Piano dei Conti</span>
|
|
</a>
|
|
<a href="#" class="netgescon-btn netgescon-btn-outline flex flex-col items-center p-4">
|
|
<i class="fas fa-plus text-2xl mb-2"></i>
|
|
<span>Nuova Tabella</span>
|
|
</a>
|
|
<a href="#" class="netgescon-btn netgescon-btn-outline flex flex-col items-center p-4">
|
|
<i class="fas fa-users-cog text-2xl mb-2"></i>
|
|
<span>Assemblee</span>
|
|
</a>
|
|
<a href="#" class="netgescon-btn netgescon-btn-outline flex flex-col items-center p-4">
|
|
<i class="fas fa-folder text-2xl mb-2"></i>
|
|
<span>Pratiche</span>
|
|
</a>
|
|
<a href="#" class="netgescon-btn netgescon-btn-outline flex flex-col items-center p-4">
|
|
<i class="fas fa-envelope text-2xl mb-2"></i>
|
|
<span>Comunicazioni</span>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endsection
|