netgescon-master/netgescon-laravel/resources/views/admin/rate/show.blade.php

352 lines
17 KiB
PHP

@extends('layouts.app')
@section('title', 'Dettaglio Rata')
@section('content')
<div class="container-fluid">
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-header">
<h3 class="card-title">Dettaglio Rata</h3>
<div class="card-tools">
@can('update', $rata)
<a href="{{ route('admin.rate.edit', $rata->id) }}" class="btn btn-primary btn-sm">
<i class="fas fa-edit"></i> Modifica
</a>
@endcan
@if($rata->stato != 'pagata')
<button type="button" class="btn btn-success btn-sm" onclick="marcaPagata({{ $rata->id }})">
<i class="fas fa-check"></i> Marca Pagata
</button>
@endif
<a href="{{ route('admin.rate.index') }}" class="btn btn-default btn-sm">
<i class="fas fa-arrow-left"></i> Torna all'elenco
</a>
</div>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-6">
<div class="info-box">
<span class="info-box-icon bg-primary"><i class="fas fa-calendar-alt"></i></span>
<div class="info-box-content">
<span class="info-box-text">Piano di Rateizzazione</span>
<span class="info-box-number">
<a href="{{ route('admin.piani-rateizzazione.show', $rata->piano->id) }}" class="text-primary">
{{ $rata->piano->denominazione }}
</a>
</span>
</div>
</div>
</div>
<div class="col-md-6">
<div class="info-box">
<span class="info-box-icon bg-info"><i class="fas fa-list-ol"></i></span>
<div class="info-box-content">
<span class="info-box-text">Numero Rata</span>
<span class="info-box-number">{{ $rata->numero_rata }}</span>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-3">
<div class="info-box">
<span class="info-box-icon bg-secondary"><i class="fas fa-calendar"></i></span>
<div class="info-box-content">
<span class="info-box-text">Data Scadenza</span>
<span class="info-box-number">{{ $rata->data_scadenza->format('d/m/Y') }}</span>
</div>
</div>
</div>
<div class="col-md-3">
<div class="info-box">
<span class="info-box-icon bg-success"><i class="fas fa-euro-sign"></i></span>
<div class="info-box-content">
<span class="info-box-text">Importo</span>
<span class="info-box-number">€ {{ number_format($rata->importo, 2, ',', '.') }}</span>
</div>
</div>
</div>
<div class="col-md-3">
<div class="info-box">
<span class="info-box-icon bg-warning"><i class="fas fa-percentage"></i></span>
<div class="info-box-content">
<span class="info-box-text">Interessi</span>
<span class="info-box-number">€ {{ number_format($rata->importo_interessi, 2, ',', '.') }}</span>
</div>
</div>
</div>
<div class="col-md-3">
<div class="info-box">
<span class="info-box-icon bg-danger"><i class="fas fa-file-invoice"></i></span>
<div class="info-box-content">
<span class="info-box-text">Spese</span>
<span class="info-box-number">€ {{ number_format($rata->importo_spese, 2, ',', '.') }}</span>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="info-box">
<span class="info-box-icon bg-primary"><i class="fas fa-calculator"></i></span>
<div class="info-box-content">
<span class="info-box-text">Importo Totale</span>
<span class="info-box-number">€ {{ number_format($rata->importo_totale, 2, ',', '.') }}</span>
</div>
</div>
</div>
<div class="col-md-4">
<div class="info-box">
<span class="info-box-icon bg-{{ $rata->stato == 'pagata' ? 'success' : ($rata->stato == 'scaduta' ? 'danger' : ($rata->stato == 'sospesa' ? 'warning' : 'info')) }}">
<i class="fas fa-{{ $rata->stato == 'pagata' ? 'check' : ($rata->stato == 'scaduta' ? 'times' : ($rata->stato == 'sospesa' ? 'pause' : 'clock')) }}"></i>
</span>
<div class="info-box-content">
<span class="info-box-text">Stato</span>
<span class="info-box-number">{{ ucfirst($rata->stato) }}</span>
</div>
</div>
</div>
<div class="col-md-4">
<div class="info-box">
<span class="info-box-icon bg-success"><i class="fas fa-money-bill"></i></span>
<div class="info-box-content">
<span class="info-box-text">Importo Pagato</span>
<span class="info-box-number">€ {{ number_format($rata->importo_pagato, 2, ',', '.') }}</span>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label>Data Pagamento</label>
<p class="form-control-plaintext">{{ $rata->data_pagamento ? $rata->data_pagamento->format('d/m/Y') : 'Non pagata' }}</p>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label>Importo Residuo</label>
<p class="form-control-plaintext">€ {{ number_format($rata->importo_totale - $rata->importo_pagato, 2, ',', '.') }}</p>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label>Ripartizione Spesa</label>
<p class="form-control-plaintext">
<a href="{{ route('admin.ripartizioni-spesa.show', $rata->piano->ripartizione->id) }}" class="text-info">
{{ $rata->piano->ripartizione->voceSpesa->codice }} - {{ $rata->piano->ripartizione->voceSpesa->descrizione }}
</a>
</p>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label>Stabile</label>
<p class="form-control-plaintext">{{ $rata->piano->ripartizione->stabile->denominazione }}</p>
</div>
</div>
</div>
@if($rata->note)
<div class="row">
<div class="col-12">
<div class="form-group">
<label>Note</label>
<p class="form-control-plaintext">{{ $rata->note }}</p>
</div>
</div>
</div>
@endif
<div class="row">
<div class="col-12">
<div class="form-group">
<label>Audit</label>
<div class="table-responsive">
<table class="table table-sm">
<tr>
<th>Creato il:</th>
<td>{{ $rata->created_at->format('d/m/Y H:i:s') }}</td>
</tr>
<tr>
<th>Ultima modifica:</th>
<td>{{ $rata->updated_at->format('d/m/Y H:i:s') }}</td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Progresso Pagamento -->
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-header">
<h3 class="card-title">Progresso Pagamento</h3>
</div>
<div class="card-body">
@php
$percentuale = $rata->importo_totale > 0 ? ($rata->importo_pagato / $rata->importo_totale) * 100 : 0;
@endphp
<div class="progress mb-3">
<div class="progress-bar bg-{{ $percentuale == 100 ? 'success' : ($percentuale > 0 ? 'warning' : 'danger') }}"
role="progressbar" style="width: {{ $percentuale }}%"
aria-valuenow="{{ $percentuale }}" aria-valuemin="0" aria-valuemax="100">
{{ round($percentuale, 1) }}%
</div>
</div>
<div class="row">
<div class="col-md-4">
<p class="text-muted">Importo Totale: <strong>€ {{ number_format($rata->importo_totale, 2, ',', '.') }}</strong></p>
</div>
<div class="col-md-4">
<p class="text-muted">Importo Pagato: <strong>€ {{ number_format($rata->importo_pagato, 2, ',', '.') }}</strong></p>
</div>
<div class="col-md-4">
<p class="text-muted">Importo Residuo: <strong>€ {{ number_format($rata->importo_totale - $rata->importo_pagato, 2, ',', '.') }}</strong></p>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Storico Pagamenti -->
@if($rata->stato == 'pagata' || $rata->importo_pagato > 0)
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-header">
<h3 class="card-title">Storico Pagamenti</h3>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Data</th>
<th>Importo</th>
<th>Tipo</th>
<th>Note</th>
</tr>
</thead>
<tbody>
@if($rata->data_pagamento)
<tr>
<td>{{ $rata->data_pagamento->format('d/m/Y') }}</td>
<td>€ {{ number_format($rata->importo_pagato, 2, ',', '.') }}</td>
<td>
<span class="badge badge-success">Pagamento</span>
</td>
<td>{{ $rata->note ?? 'Pagamento completo' }}</td>
</tr>
@endif
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
@endif
<!-- Altre Rate del Piano -->
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-header">
<h3 class="card-title">Altre Rate del Piano</h3>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-bordered table-striped table-sm">
<thead>
<tr>
<th>Numero</th>
<th>Data Scadenza</th>
<th>Importo</th>
<th>Stato</th>
<th>Azioni</th>
</tr>
</thead>
<tbody>
@foreach($rata->piano->rate as $altraRata)
<tr class="{{ $altraRata->id == $rata->id ? 'table-active' : '' }}">
<td>{{ $altraRata->numero_rata }}</td>
<td>{{ $altraRata->data_scadenza->format('d/m/Y') }}</td>
<td>€ {{ number_format($altraRata->importo_totale, 2, ',', '.') }}</td>
<td>
<span class="badge badge-{{ $altraRata->stato == 'pagata' ? 'success' : ($altraRata->stato == 'scaduta' ? 'danger' : 'warning') }}">
{{ ucfirst($altraRata->stato) }}
</span>
</td>
<td>
@if($altraRata->id != $rata->id)
<a href="{{ route('admin.rate.show', $altraRata->id) }}" class="btn btn-sm btn-info">
<i class="fas fa-eye"></i>
</a>
@else
<span class="badge badge-primary">Attuale</span>
@endif
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('scripts')
<script>
function marcaPagata(id) {
if (confirm('Sei sicuro di voler marcare questa rata come pagata?')) {
$.ajax({
url: '{{ route("admin.rate.marca-pagata", ":id") }}'.replace(':id', id),
type: 'POST',
data: {
_token: '{{ csrf_token() }}'
},
success: function(response) {
if (response.success) {
location.reload();
} else {
alert('Errore: ' + response.message);
}
},
error: function() {
alert('Errore nella marcatura del pagamento');
}
});
}
}
</script>
@endsection