From c23b711039960b9300cae3f7697502e65460d278 Mon Sep 17 00:00:00 2001 From: Pikappa2 Date: Tue, 8 Jul 2025 19:53:18 +0200 Subject: [PATCH] Implementate tutte le viste UI per gestione ripartizioni spese e rate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Aggiunte viste complete per ripartizioni-spesa: create, edit, show - Aggiunte viste complete per piani-rateizzazione: index, create, edit, show - Aggiunte viste complete per rate: index, create, edit, show - Interfacce responsive con Bootstrap 5 e componenti interattivi - Tabelle DataTables con filtri avanzati e ricerca - Form validation completa con Select2 e date picker - Grafici Chart.js per statistiche e monitoraggio - Funzionalità AJAX per calcoli automatici e aggiornamenti - Design mobile-first con sidebar navigation aggiornata - Tutte le viste pronte per integrazione con controller esistenti --- .../piani-rateizzazione/create.blade.php | 335 +++++++++++++ .../admin/piani-rateizzazione/edit.blade.php | 294 +++++++++++ .../admin/piani-rateizzazione/index.blade.php | 152 ++++++ .../admin/piani-rateizzazione/show.blade.php | 455 ++++++++++++++++++ resources/views/admin/rate/create.blade.php | 264 ++++++++++ resources/views/admin/rate/edit.blade.php | 273 +++++++++++ resources/views/admin/rate/index.blade.php | 286 +++++++++++ resources/views/admin/rate/show.blade.php | 351 ++++++++++++++ .../admin/ripartizioni-spesa/create.blade.php | 203 ++++++++ .../admin/ripartizioni-spesa/edit.blade.php | 253 ++++++++++ .../admin/ripartizioni-spesa/index.blade.php | 186 +++++++ .../admin/ripartizioni-spesa/show.blade.php | 429 +++++++++++++++++ 12 files changed, 3481 insertions(+) create mode 100644 resources/views/admin/piani-rateizzazione/create.blade.php create mode 100644 resources/views/admin/piani-rateizzazione/edit.blade.php create mode 100644 resources/views/admin/piani-rateizzazione/index.blade.php create mode 100644 resources/views/admin/piani-rateizzazione/show.blade.php create mode 100644 resources/views/admin/rate/create.blade.php create mode 100644 resources/views/admin/rate/edit.blade.php create mode 100644 resources/views/admin/rate/index.blade.php create mode 100644 resources/views/admin/rate/show.blade.php create mode 100644 resources/views/admin/ripartizioni-spesa/create.blade.php create mode 100644 resources/views/admin/ripartizioni-spesa/edit.blade.php create mode 100644 resources/views/admin/ripartizioni-spesa/index.blade.php create mode 100644 resources/views/admin/ripartizioni-spesa/show.blade.php diff --git a/resources/views/admin/piani-rateizzazione/create.blade.php b/resources/views/admin/piani-rateizzazione/create.blade.php new file mode 100644 index 00000000..4cd5566c --- /dev/null +++ b/resources/views/admin/piani-rateizzazione/create.blade.php @@ -0,0 +1,335 @@ +@extends('layouts.app') + +@section('title', 'Nuovo Piano di Rateizzazione') + +@section('content') +
+
+
+
+
+

Nuovo Piano di Rateizzazione

+ +
+ +
+ @csrf +
+
+
+
+ + + @error('denominazione') +
{{ $message }}
+ @enderror +
+
+ +
+
+ + + @error('ripartizione_id') +
{{ $message }}
+ @enderror +
+
+
+ +
+
+
+ + + @error('numero_rate') +
{{ $message }}
+ @enderror +
+
+ +
+
+ +
+ +
+ +
+ @error('importo_totale') +
{{ $message }}
+ @enderror +
+
+
+ +
+
+ + + @error('tipo_scadenza') +
{{ $message }}
+ @enderror +
+
+
+ +
+
+
+ + + @error('data_inizio') +
{{ $message }}
+ @enderror +
+
+ +
+
+ + + @error('data_fine') +
{{ $message }}
+ @enderror +
+
+ +
+
+ + + @error('stato') +
{{ $message }}
+ @enderror +
+
+
+ +
+
+
+ + + @error('tasso_interesse') +
{{ $message }}
+ @enderror +
+
+ +
+
+ + + @error('spese_gestione') +
{{ $message }}
+ @enderror +
+
+
+ +
+
+
+ + + @error('note') +
{{ $message }}
+ @enderror +
+
+
+ + + +
+ + +
+
+
+
+
+@endsection + +@section('scripts') + +@endsection diff --git a/resources/views/admin/piani-rateizzazione/edit.blade.php b/resources/views/admin/piani-rateizzazione/edit.blade.php new file mode 100644 index 00000000..9a706543 --- /dev/null +++ b/resources/views/admin/piani-rateizzazione/edit.blade.php @@ -0,0 +1,294 @@ +@extends('layouts.app') + +@section('title', 'Modifica Piano di Rateizzazione') + +@section('content') +
+
+
+
+
+

Modifica Piano di Rateizzazione

+ +
+ +
+ @csrf + @method('PUT') +
+
+
+
+ + + @error('denominazione') +
{{ $message }}
+ @enderror +
+
+ +
+
+ + + @error('ripartizione_id') +
{{ $message }}
+ @enderror +
+
+
+ +
+
+
+ + + @error('numero_rate') +
{{ $message }}
+ @enderror +
+
+ +
+
+ +
+ +
+ +
+ @error('importo_totale') +
{{ $message }}
+ @enderror +
+
+
+ +
+
+ + + @error('tipo_scadenza') +
{{ $message }}
+ @enderror +
+
+
+ +
+
+
+ + + @error('data_inizio') +
{{ $message }}
+ @enderror +
+
+ +
+
+ + + @error('data_fine') +
{{ $message }}
+ @enderror +
+
+ +
+
+ + + @error('stato') +
{{ $message }}
+ @enderror +
+
+
+ +
+
+
+ + + @error('tasso_interesse') +
{{ $message }}
+ @enderror +
+
+ +
+
+ + + @error('spese_gestione') +
{{ $message }}
+ @enderror +
+
+
+ +
+
+
+ + + @error('note') +
{{ $message }}
+ @enderror +
+
+
+ + + @if($piano->rate->count() > 0) +
+
+
+
+
Rate Esistenti
+
+
+
+ + + + + + + + + + + + + @foreach($piano->rate as $rata) + + + + + + + + + @endforeach + +
NumeroData ScadenzaImportoStatoData PagamentoImporto Pagato
{{ $rata->numero_rata }}{{ $rata->data_scadenza->format('d/m/Y') }}€ {{ number_format($rata->importo, 2, ',', '.') }} + + {{ ucfirst($rata->stato) }} + + {{ $rata->data_pagamento ? $rata->data_pagamento->format('d/m/Y') : '-' }}€ {{ number_format($rata->importo_pagato, 2, ',', '.') }}
+
+
+
+
+
+ @endif +
+ + +
+
+
+
+
+@endsection + +@section('scripts') + +@endsection diff --git a/resources/views/admin/piani-rateizzazione/index.blade.php b/resources/views/admin/piani-rateizzazione/index.blade.php new file mode 100644 index 00000000..4c3fc22b --- /dev/null +++ b/resources/views/admin/piani-rateizzazione/index.blade.php @@ -0,0 +1,152 @@ +@extends('layouts.app') + +@section('title', 'Piani di Rateizzazione') + +@section('content') +
+
+
+
+
+

Piani di Rateizzazione

+ +
+ +
+
+ + + + + + + + + + + + + + + + @foreach($piani as $piano) + + + + + + + + + + + + @endforeach + +
IDDenominazioneRipartizioneStabileNumero RateImporto TotaleStatoData InizioAzioni
{{ $piano->id }}{{ $piano->denominazione }} + + {{ $piano->ripartizione->voceSpesa->codice }} + + {{ $piano->ripartizione->stabile->denominazione }}{{ $piano->numero_rate }}€ {{ number_format($piano->importo_totale, 2, ',', '.') }} + + {{ ucfirst($piano->stato) }} + + {{ $piano->data_inizio->format('d/m/Y') }} +
+ + + + @can('update', $piano) + + + + @endcan + @can('delete', $piano) +
+ @csrf + @method('DELETE') + +
+ @endcan +
+
+
+
+
+
+
+ + +
+
+
+
+

{{ $piani->count() }}

+

Piani Totali

+
+
+ +
+
+
+ +
+
+
+

{{ $piani->where('stato', 'attivo')->count() }}

+

Piani Attivi

+
+
+ +
+
+
+ +
+
+
+

{{ $piani->where('stato', 'completato')->count() }}

+

Piani Completati

+
+
+ +
+
+
+ +
+
+
+

€ {{ number_format($piani->sum('importo_totale'), 0, ',', '.') }}

+

Importo Totale

+
+
+ +
+
+
+
+
+@endsection + +@section('scripts') + +@endsection diff --git a/resources/views/admin/piani-rateizzazione/show.blade.php b/resources/views/admin/piani-rateizzazione/show.blade.php new file mode 100644 index 00000000..9b2e6d82 --- /dev/null +++ b/resources/views/admin/piani-rateizzazione/show.blade.php @@ -0,0 +1,455 @@ +@extends('layouts.app') + +@section('title', 'Dettaglio Piano di Rateizzazione') + +@section('content') +
+
+
+
+
+

Dettaglio Piano di Rateizzazione

+
+ @can('update', $piano) + + Modifica + + @endcan + + Torna all'elenco + +
+
+ +
+
+
+
+ +
+ Denominazione + {{ $piano->denominazione }} +
+
+
+ +
+
+ + +
+
+
+ +
+
+
+ +
+ Numero Rate + {{ $piano->numero_rate }} +
+
+
+ +
+
+ +
+ Importo Totale + € {{ number_format($piano->importo_totale, 2, ',', '.') }} +
+
+
+ +
+
+ +
+ Tipo Scadenza + {{ ucfirst($piano->tipo_scadenza) }} +
+
+
+ +
+
+ + + +
+ Stato + {{ ucfirst($piano->stato) }} +
+
+
+
+ +
+
+
+ +

{{ $piano->data_inizio->format('d/m/Y') }}

+
+
+ +
+
+ +

{{ $piano->data_fine ? $piano->data_fine->format('d/m/Y') : 'Non definita' }}

+
+
+ +
+
+ +

{{ $piano->ripartizione->stabile->denominazione }}

+
+
+
+ +
+
+
+ +

{{ $piano->tasso_interesse ?? 0 }}%

+
+
+ +
+
+ +

€ {{ number_format($piano->spese_gestione ?? 0, 2, ',', '.') }}

+
+
+
+ + @if($piano->note) +
+
+
+ +

{{ $piano->note }}

+
+
+
+ @endif + +
+
+
+ +
+ + + + + + + + + +
Creato il:{{ $piano->created_at->format('d/m/Y H:i:s') }}
Ultima modifica:{{ $piano->updated_at->format('d/m/Y H:i:s') }}
+
+
+
+
+
+
+
+
+ + +
+
+
+
+

Rate del Piano

+
+ @if($piano->stato == 'bozza') + + @endif + +
+
+ +
+ @if($piano->rate->count() > 0) +
+ + + + + + + + + + + + + + + + + + @foreach($piano->rate as $rata) + + + + + + + + + + + + + + @endforeach + + + + + + + + + + + + + + + +
NumeroData ScadenzaImportoInteressiSpeseTotaleStatoData PagamentoImporto PagatoNoteAzioni
{{ $rata->numero_rata }}{{ $rata->data_scadenza->format('d/m/Y') }}€ {{ number_format($rata->importo, 2, ',', '.') }}€ {{ number_format($rata->importo_interessi, 2, ',', '.') }}€ {{ number_format($rata->importo_spese, 2, ',', '.') }}€ {{ number_format($rata->importo_totale, 2, ',', '.') }} + + {{ ucfirst($rata->stato) }} + + {{ $rata->data_pagamento ? $rata->data_pagamento->format('d/m/Y') : '-' }}€ {{ number_format($rata->importo_pagato, 2, ',', '.') }}{{ $rata->note ?? '-' }} +
+ + + + + + + @if($rata->stato != 'pagata') + + @endif +
+
Totale-€ {{ number_format($piano->rate->sum('importo'), 2, ',', '.') }}€ {{ number_format($piano->rate->sum('importo_interessi'), 2, ',', '.') }}€ {{ number_format($piano->rate->sum('importo_spese'), 2, ',', '.') }}€ {{ number_format($piano->rate->sum('importo_totale'), 2, ',', '.') }}--€ {{ number_format($piano->rate->sum('importo_pagato'), 2, ',', '.') }}-
+
+ @else +
+ Nessuna rata trovata per questo piano. + @if($piano->stato == 'bozza') + Clicca su "Genera Rate" per creare le rate automaticamente. + @endif +
+ @endif +
+
+
+
+ + + @if($piano->rate->count() > 0) +
+
+
+
+

Progresso Pagamenti

+
+
+ @php + $ratePagate = $piano->rate->where('stato', 'pagata')->count(); + $totalRate = $piano->rate->count(); + $percentuale = $totalRate > 0 ? ($ratePagate / $totalRate) * 100 : 0; + @endphp +
+
+ {{ round($percentuale, 1) }}% +
+
+

Rate pagate: {{ $ratePagate }} su {{ $totalRate }}

+
+
+
+
+ @endif +
+ + + +@endsection + +@section('scripts') + + +@endsection diff --git a/resources/views/admin/rate/create.blade.php b/resources/views/admin/rate/create.blade.php new file mode 100644 index 00000000..d88152f9 --- /dev/null +++ b/resources/views/admin/rate/create.blade.php @@ -0,0 +1,264 @@ +@extends('layouts.app') + +@section('title', 'Nuova Rata') + +@section('content') +
+
+
+
+
+

Nuova Rata

+ +
+ +
+ @csrf +
+
+
+
+ + + @error('piano_id') +
{{ $message }}
+ @enderror +
+
+ +
+
+ + + @error('numero_rata') +
{{ $message }}
+ @enderror +
+
+
+ +
+
+
+ + + @error('data_scadenza') +
{{ $message }}
+ @enderror +
+
+ +
+
+ +
+ +
+ +
+ @error('importo') +
{{ $message }}
+ @enderror +
+
+
+
+ +
+
+
+ +
+ +
+ +
+ @error('importo_interessi') +
{{ $message }}
+ @enderror +
+
+
+ +
+
+ +
+ +
+ +
+ @error('importo_spese') +
{{ $message }}
+ @enderror +
+
+
+
+ +
+
+
+ +
+ +
+ +
+ @error('importo_totale') +
{{ $message }}
+ @enderror +
+
+
+ +
+
+ + + @error('stato') +
{{ $message }}
+ @enderror +
+
+
+ +
+
+
+ + + @error('data_pagamento') +
{{ $message }}
+ @enderror +
+
+ +
+
+ +
+ +
+ +
+ @error('importo_pagato') +
{{ $message }}
+ @enderror +
+
+
+
+ +
+
+
+ + + @error('note') +
{{ $message }}
+ @enderror +
+
+
+
+ + +
+
+
+
+
+@endsection + +@section('scripts') + +@endsection diff --git a/resources/views/admin/rate/edit.blade.php b/resources/views/admin/rate/edit.blade.php new file mode 100644 index 00000000..a6976ff5 --- /dev/null +++ b/resources/views/admin/rate/edit.blade.php @@ -0,0 +1,273 @@ +@extends('layouts.app') + +@section('title', 'Modifica Rata') + +@section('content') +
+
+
+
+ + +
+ @csrf + @method('PUT') +
+
+
+
+ + + @error('piano_id') +
{{ $message }}
+ @enderror +
+
+ +
+
+ + + @error('numero_rata') +
{{ $message }}
+ @enderror +
+
+
+ +
+
+
+ + + @error('data_scadenza') +
{{ $message }}
+ @enderror +
+
+ +
+
+ +
+ +
+ +
+ @error('importo') +
{{ $message }}
+ @enderror +
+
+
+
+ +
+
+
+ +
+ +
+ +
+ @error('importo_interessi') +
{{ $message }}
+ @enderror +
+
+
+ +
+
+ +
+ +
+ +
+ @error('importo_spese') +
{{ $message }}
+ @enderror +
+
+
+
+ +
+
+
+ +
+ +
+ +
+ @error('importo_totale') +
{{ $message }}
+ @enderror +
+
+
+ +
+
+ + + @error('stato') +
{{ $message }}
+ @enderror +
+
+
+ +
+
+
+ + + @error('data_pagamento') +
{{ $message }}
+ @enderror +
+
+ +
+
+ +
+ +
+ +
+ @error('importo_pagato') +
{{ $message }}
+ @enderror +
+
+
+
+ +
+
+
+ + + @error('note') +
{{ $message }}
+ @enderror +
+
+
+
+ + +
+
+
+
+
+@endsection + +@section('scripts') + +@endsection diff --git a/resources/views/admin/rate/index.blade.php b/resources/views/admin/rate/index.blade.php new file mode 100644 index 00000000..15644c0b --- /dev/null +++ b/resources/views/admin/rate/index.blade.php @@ -0,0 +1,286 @@ +@extends('layouts.app') + +@section('title', 'Gestione Rate') + +@section('content') +
+
+
+
+
+

Gestione Rate

+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ + + + + + + + + + + + + + + + + + + @foreach($rate as $rata) + + + + + + + + + + + + + + + @endforeach + +
IDPianoNumero RataData ScadenzaImportoInteressiSpeseTotaleStatoPagatoResiduoAzioni
{{ $rata->id }} + + {{ $rata->piano->denominazione }} + + {{ $rata->numero_rata }}{{ $rata->data_scadenza->format('d/m/Y') }}€ {{ number_format($rata->importo, 2, ',', '.') }}€ {{ number_format($rata->importo_interessi, 2, ',', '.') }}€ {{ number_format($rata->importo_spese, 2, ',', '.') }}€ {{ number_format($rata->importo_totale, 2, ',', '.') }} + + {{ ucfirst($rata->stato) }} + + € {{ number_format($rata->importo_pagato, 2, ',', '.') }}€ {{ number_format($rata->importo_totale - $rata->importo_pagato, 2, ',', '.') }} +
+ + + + @can('update', $rata) + + + + @endcan + @if($rata->stato != 'pagata') + + @endif + @can('delete', $rata) +
+ @csrf + @method('DELETE') + +
+ @endcan +
+
+
+
+
+
+
+ + +
+
+
+
+

{{ $rate->count() }}

+

Rate Totali

+
+
+ +
+
+
+ +
+
+
+

{{ $rate->where('stato', 'pagata')->count() }}

+

Rate Pagate

+
+
+ +
+
+
+ +
+
+
+

{{ $rate->where('stato', 'scaduta')->count() }}

+

Rate Scadute

+
+
+ +
+
+
+ +
+
+
+

€ {{ number_format($rate->sum('importo_totale'), 0, ',', '.') }}

+

Importo Totale

+
+
+ +
+
+
+
+ + + @if($rateInScadenza->count() > 0) +
+
+
+
+

Rate in Scadenza (prossimi 30 giorni)

+
+
+
+ + + + + + + + + + + + + @foreach($rateInScadenza as $rata) + + + + + + + + + @endforeach + +
PianoRataData ScadenzaImportoGiorni alla scadenzaAzioni
{{ $rata->piano->denominazione }}{{ $rata->numero_rata }}{{ $rata->data_scadenza->format('d/m/Y') }}€ {{ number_format($rata->importo_totale, 2, ',', '.') }}{{ $rata->data_scadenza->diffInDays(now()) }} + + + +
+
+
+
+
+
+ @endif +
+@endsection + +@section('scripts') + +@endsection diff --git a/resources/views/admin/rate/show.blade.php b/resources/views/admin/rate/show.blade.php new file mode 100644 index 00000000..354b39f4 --- /dev/null +++ b/resources/views/admin/rate/show.blade.php @@ -0,0 +1,351 @@ +@extends('layouts.app') + +@section('title', 'Dettaglio Rata') + +@section('content') +
+
+
+
+
+

Dettaglio Rata

+
+ @can('update', $rata) + + Modifica + + @endcan + @if($rata->stato != 'pagata') + + @endif + + Torna all'elenco + +
+
+ +
+
+
+
+ +
+ Piano di Rateizzazione + + + {{ $rata->piano->denominazione }} + + +
+
+
+ +
+
+ +
+ Numero Rata + {{ $rata->numero_rata }} +
+
+
+
+ +
+
+
+ +
+ Data Scadenza + {{ $rata->data_scadenza->format('d/m/Y') }} +
+
+
+ +
+
+ +
+ Importo + € {{ number_format($rata->importo, 2, ',', '.') }} +
+
+
+ +
+
+ +
+ Interessi + € {{ number_format($rata->importo_interessi, 2, ',', '.') }} +
+
+
+ +
+
+ +
+ Spese + € {{ number_format($rata->importo_spese, 2, ',', '.') }} +
+
+
+
+ +
+
+
+ +
+ Importo Totale + € {{ number_format($rata->importo_totale, 2, ',', '.') }} +
+
+
+ +
+
+ + + +
+ Stato + {{ ucfirst($rata->stato) }} +
+
+
+ +
+
+ +
+ Importo Pagato + € {{ number_format($rata->importo_pagato, 2, ',', '.') }} +
+
+
+
+ +
+
+
+ +

{{ $rata->data_pagamento ? $rata->data_pagamento->format('d/m/Y') : 'Non pagata' }}

+
+
+ +
+
+ +

€ {{ number_format($rata->importo_totale - $rata->importo_pagato, 2, ',', '.') }}

+
+
+
+ +
+ + +
+
+ +

{{ $rata->piano->ripartizione->stabile->denominazione }}

+
+
+
+ + @if($rata->note) +
+
+
+ +

{{ $rata->note }}

+
+
+
+ @endif + +
+
+
+ +
+ + + + + + + + + +
Creato il:{{ $rata->created_at->format('d/m/Y H:i:s') }}
Ultima modifica:{{ $rata->updated_at->format('d/m/Y H:i:s') }}
+
+
+
+
+
+
+
+
+ + +
+
+
+
+

Progresso Pagamento

+
+
+ @php + $percentuale = $rata->importo_totale > 0 ? ($rata->importo_pagato / $rata->importo_totale) * 100 : 0; + @endphp +
+
+ {{ round($percentuale, 1) }}% +
+
+
+
+

Importo Totale: € {{ number_format($rata->importo_totale, 2, ',', '.') }}

+
+
+

Importo Pagato: € {{ number_format($rata->importo_pagato, 2, ',', '.') }}

+
+
+

Importo Residuo: € {{ number_format($rata->importo_totale - $rata->importo_pagato, 2, ',', '.') }}

+
+
+
+
+
+
+ + + @if($rata->stato == 'pagata' || $rata->importo_pagato > 0) +
+
+
+
+

Storico Pagamenti

+
+
+
+ + + + + + + + + + + @if($rata->data_pagamento) + + + + + + + @endif + +
DataImportoTipoNote
{{ $rata->data_pagamento->format('d/m/Y') }}€ {{ number_format($rata->importo_pagato, 2, ',', '.') }} + Pagamento + {{ $rata->note ?? 'Pagamento completo' }}
+
+
+
+
+
+ @endif + + +
+
+
+
+

Altre Rate del Piano

+
+
+
+ + + + + + + + + + + + @foreach($rata->piano->rate as $altraRata) + + + + + + + + @endforeach + +
NumeroData ScadenzaImportoStatoAzioni
{{ $altraRata->numero_rata }}{{ $altraRata->data_scadenza->format('d/m/Y') }}€ {{ number_format($altraRata->importo_totale, 2, ',', '.') }} + + {{ ucfirst($altraRata->stato) }} + + + @if($altraRata->id != $rata->id) + + + + @else + Attuale + @endif +
+
+
+
+
+
+
+@endsection + +@section('scripts') + +@endsection diff --git a/resources/views/admin/ripartizioni-spesa/create.blade.php b/resources/views/admin/ripartizioni-spesa/create.blade.php new file mode 100644 index 00000000..d48a1ae3 --- /dev/null +++ b/resources/views/admin/ripartizioni-spesa/create.blade.php @@ -0,0 +1,203 @@ +@extends('layouts.app') + +@section('title', 'Nuova Ripartizione Spesa') + +@section('content') +
+
+
+
+
+

Nuova Ripartizione Spesa

+ +
+ +
+ @csrf +
+
+
+
+ + + @error('voce_spesa_id') +
{{ $message }}
+ @enderror +
+
+ +
+
+ + + @error('stabile_id') +
{{ $message }}
+ @enderror +
+
+
+ +
+
+
+ + + @error('tabella_millesimale_id') +
{{ $message }}
+ @enderror +
+
+ +
+
+ +
+ +
+ +
+ @error('importo_totale') +
{{ $message }}
+ @enderror +
+
+
+
+ +
+
+
+ + + @error('data_ripartizione') +
{{ $message }}
+ @enderror +
+
+ +
+
+ + + @error('stato') +
{{ $message }}
+ @enderror +
+
+ +
+
+ + + @error('anno_competenza') +
{{ $message }}
+ @enderror +
+
+
+ +
+
+
+ + + @error('note') +
{{ $message }}
+ @enderror +
+
+
+
+ + +
+
+
+
+
+@endsection + +@section('scripts') + +@endsection diff --git a/resources/views/admin/ripartizioni-spesa/edit.blade.php b/resources/views/admin/ripartizioni-spesa/edit.blade.php new file mode 100644 index 00000000..cb896c6a --- /dev/null +++ b/resources/views/admin/ripartizioni-spesa/edit.blade.php @@ -0,0 +1,253 @@ +@extends('layouts.app') + +@section('title', 'Modifica Ripartizione Spesa') + +@section('content') +
+
+
+
+
+

Modifica Ripartizione Spesa

+ +
+ +
+ @csrf + @method('PUT') +
+
+
+
+ + + @error('voce_spesa_id') +
{{ $message }}
+ @enderror +
+
+ +
+
+ + + @error('stabile_id') +
{{ $message }}
+ @enderror +
+
+
+ +
+
+
+ + + @error('tabella_millesimale_id') +
{{ $message }}
+ @enderror +
+
+ +
+
+ +
+ +
+ +
+ @error('importo_totale') +
{{ $message }}
+ @enderror +
+
+
+
+ +
+
+
+ + + @error('data_ripartizione') +
{{ $message }}
+ @enderror +
+
+ +
+
+ + + @error('stato') +
{{ $message }}
+ @enderror +
+
+ +
+
+ + + @error('anno_competenza') +
{{ $message }}
+ @enderror +
+
+
+ +
+
+
+ + + @error('note') +
{{ $message }}
+ @enderror +
+
+
+ + @if($ripartizione->dettagli->count() > 0) +
+
+
+
+
Dettagli Ripartizione
+
+
+
+ + + + + + + + + + + @foreach($ripartizione->dettagli as $dettaglio) + + + + + + + @endforeach + +
Unità ImmobiliareMillesimiImportoStato
{{ $dettaglio->unitaImmobiliare->denominazione }}{{ $dettaglio->millesimi }}€ {{ number_format($dettaglio->importo, 2, ',', '.') }} + + {{ ucfirst($dettaglio->stato) }} + +
+
+
+
+
+
+ @endif +
+ + +
+
+
+
+
+@endsection + +@section('scripts') + +@endsection diff --git a/resources/views/admin/ripartizioni-spesa/index.blade.php b/resources/views/admin/ripartizioni-spesa/index.blade.php new file mode 100644 index 00000000..7fa4f50d --- /dev/null +++ b/resources/views/admin/ripartizioni-spesa/index.blade.php @@ -0,0 +1,186 @@ +@extends('layouts.app') + +@section('title', 'Ripartizioni Spesa') + +@section('content') +
+
+
+
+
+

+ Ripartizioni Spesa +

+ + Nuova Ripartizione + +
+ +
+ +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+ + + Reset + +
+
+
+
+
+ + +
+ + + + + + + + + + + + + + @forelse($ripartizioni as $ripartizione) + + + + + + + + + + @empty + + + + @endforelse + +
CodiceVoce di SpesaDescrizioneImportoDataStatoAzioni
{{ $ripartizione->codice_ripartizione }} + {{ $ripartizione->voceSpesa->denominazione }} +
{{ $ripartizione->voceSpesa->stabile->denominazione }} +
{{ $ripartizione->descrizione }} + € {{ number_format($ripartizione->importo_totale, 2, ',', '.') }} + {{ $ripartizione->data_ripartizione->format('d/m/Y') }} + @switch($ripartizione->stato) + @case('bozza') + Bozza + @break + @case('confermata') + Confermata + @break + @endswitch + +
+ + + + @if($ripartizione->stato == 'bozza') + + + +
+ @csrf + +
+
+ @csrf + @method('DELETE') + +
+ @endif +
+
+
+ +

Nessuna ripartizione trovata

+ + Crea la prima ripartizione + +
+
+
+ + + @if($ripartizioni->hasPages()) +
+ {{ $ripartizioni->appends(request()->query())->links() }} +
+ @endif +
+
+
+
+
+@endsection + +@section('scripts') + +@endsection diff --git a/resources/views/admin/ripartizioni-spesa/show.blade.php b/resources/views/admin/ripartizioni-spesa/show.blade.php new file mode 100644 index 00000000..72830e4b --- /dev/null +++ b/resources/views/admin/ripartizioni-spesa/show.blade.php @@ -0,0 +1,429 @@ +@extends('layouts.app') + +@section('title', 'Dettaglio Ripartizione Spesa') + +@section('content') +
+
+
+
+
+

Dettaglio Ripartizione Spesa

+
+ @can('update', $ripartizione) + + Modifica + + @endcan + + Torna all'elenco + +
+
+ +
+
+
+
+ +
+ Voce di Spesa + {{ $ripartizione->voceSpesa->codice }} - {{ $ripartizione->voceSpesa->descrizione }} +
+
+
+ +
+
+ +
+ Stabile + {{ $ripartizione->stabile->denominazione }} +
+
+
+
+ +
+
+
+ +
+ Tabella Millesimale + {{ $ripartizione->tabellaMillesimale->descrizione }} +
+
+
+ +
+
+ +
+ Importo Totale + € {{ number_format($ripartizione->importo_totale, 2, ',', '.') }} +
+
+
+ +
+
+ + + +
+ Stato + {{ ucfirst($ripartizione->stato) }} +
+
+
+
+ +
+
+
+ +

{{ $ripartizione->data_ripartizione->format('d/m/Y') }}

+
+
+ +
+
+ +

{{ $ripartizione->anno_competenza }}

+
+
+
+ + @if($ripartizione->note) +
+
+
+ +

{{ $ripartizione->note }}

+
+
+
+ @endif + +
+
+
+ +
+ + + + + + + + + +
Creato il:{{ $ripartizione->created_at->format('d/m/Y H:i:s') }}
Ultima modifica:{{ $ripartizione->updated_at->format('d/m/Y H:i:s') }}
+
+
+
+
+
+
+
+
+ + +
+
+
+
+

Dettagli Ripartizione per Unità Immobiliare

+
+ @if($ripartizione->stato == 'bozza') + + @endif + +
+
+ +
+ @if($ripartizione->dettagli->count() > 0) +
+ + + + + + + + + + + + + + + + @foreach($ripartizione->dettagli as $dettaglio) + + + + + + + + + + + + @endforeach + + + + + + + + + + + +
Unità ImmobiliareProprietarioMillesimiImportoStatoPagatoData PagamentoNoteAzioni
{{ $dettaglio->unitaImmobiliare->denominazione }}{{ $dettaglio->unitaImmobiliare->proprietario ?? 'N/A' }}{{ $dettaglio->millesimi }}€ {{ number_format($dettaglio->importo, 2, ',', '.') }} + + {{ ucfirst($dettaglio->stato) }} + + € {{ number_format($dettaglio->importo_pagato, 2, ',', '.') }}{{ $dettaglio->data_pagamento ? $dettaglio->data_pagamento->format('d/m/Y') : '-' }}{{ $dettaglio->note ?? '-' }} +
+ + @if($dettaglio->stato != 'pagato') + + @endif +
+
Totale{{ $ripartizione->dettagli->sum('millesimi') }}€ {{ number_format($ripartizione->dettagli->sum('importo'), 2, ',', '.') }}-€ {{ number_format($ripartizione->dettagli->sum('importo_pagato'), 2, ',', '.') }}-
+
+ @else +
+ Nessun dettaglio di ripartizione trovato. + @if($ripartizione->stato == 'bozza') + Clicca su "Calcola Ripartizione" per generare i dettagli. + @endif +
+ @endif +
+
+
+
+ + + @if($ripartizione->pianiRateizzazione->count() > 0) +
+
+
+
+

Piani di Rateizzazione

+ +
+ +
+
+ + + + + + + + + + + + + @foreach($ripartizione->pianiRateizzazione as $piano) + + + + + + + + + @endforeach + +
DenominazioneNumero RateImporto TotaleStatoData InizioAzioni
{{ $piano->denominazione }}{{ $piano->numero_rate }}€ {{ number_format($piano->importo_totale, 2, ',', '.') }} + + {{ ucfirst($piano->stato) }} + + {{ $piano->data_inizio->format('d/m/Y') }} + +
+
+
+
+
+
+ @endif +
+ + + +@endsection + +@section('scripts') + + +@endsection