254 lines
14 KiB
PHP
254 lines
14 KiB
PHP
@extends('layouts.app')
|
|
|
|
@section('title', 'Modifica Ripartizione Spesa')
|
|
|
|
@section('content')
|
|
<div class="container-fluid">
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h3 class="card-title">Modifica Ripartizione Spesa</h3>
|
|
<div class="card-tools">
|
|
<a href="{{ route('admin.ripartizioni-spesa.show', $ripartizione->id) }}" class="btn btn-info btn-sm">
|
|
<i class="fas fa-eye"></i> Visualizza
|
|
</a>
|
|
<a href="{{ route('admin.ripartizioni-spesa.index') }}" class="btn btn-default btn-sm">
|
|
<i class="fas fa-arrow-left"></i> Torna all'elenco
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
<form action="{{ route('admin.ripartizioni-spesa.update', $ripartizione->id) }}" method="POST">
|
|
@csrf
|
|
@method('PUT')
|
|
<div class="card-body">
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label for="voce_spesa_id">Voce di Spesa *</label>
|
|
<select class="form-control select2 @error('voce_spesa_id') is-invalid @enderror"
|
|
id="voce_spesa_id" name="voce_spesa_id" required>
|
|
<option value="">Seleziona una voce di spesa</option>
|
|
@foreach($voci_spesa as $voce)
|
|
<option value="{{ $voce->id }}"
|
|
{{ old('voce_spesa_id', $ripartizione->voce_spesa_id) == $voce->id ? 'selected' : '' }}>
|
|
{{ $voce->codice }} - {{ $voce->descrizione }}
|
|
</option>
|
|
@endforeach
|
|
</select>
|
|
@error('voce_spesa_id')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label for="stabile_id">Stabile *</label>
|
|
<select class="form-control select2 @error('stabile_id') is-invalid @enderror"
|
|
id="stabile_id" name="stabile_id" required>
|
|
<option value="">Seleziona uno stabile</option>
|
|
@foreach($stabili as $stabile)
|
|
<option value="{{ $stabile->id }}"
|
|
{{ old('stabile_id', $ripartizione->stabile_id) == $stabile->id ? 'selected' : '' }}>
|
|
{{ $stabile->denominazione }}
|
|
</option>
|
|
@endforeach
|
|
</select>
|
|
@error('stabile_id')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label for="tabella_millesimale_id">Tabella Millesimale *</label>
|
|
<select class="form-control select2 @error('tabella_millesimale_id') is-invalid @enderror"
|
|
id="tabella_millesimale_id" name="tabella_millesimale_id" required>
|
|
<option value="">Seleziona una tabella millesimale</option>
|
|
@foreach($tabelle_millesimali as $tabella)
|
|
<option value="{{ $tabella->id }}"
|
|
{{ old('tabella_millesimale_id', $ripartizione->tabella_millesimale_id) == $tabella->id ? 'selected' : '' }}>
|
|
{{ $tabella->descrizione }}
|
|
</option>
|
|
@endforeach
|
|
</select>
|
|
@error('tabella_millesimale_id')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label for="importo_totale">Importo Totale *</label>
|
|
<div class="input-group">
|
|
<input type="number" step="0.01" min="0"
|
|
class="form-control @error('importo_totale') is-invalid @enderror"
|
|
id="importo_totale" name="importo_totale"
|
|
value="{{ old('importo_totale', $ripartizione->importo_totale) }}" required>
|
|
<div class="input-group-append">
|
|
<span class="input-group-text">€</span>
|
|
</div>
|
|
@error('importo_totale')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-4">
|
|
<div class="form-group">
|
|
<label for="data_ripartizione">Data Ripartizione *</label>
|
|
<input type="date" class="form-control @error('data_ripartizione') is-invalid @enderror"
|
|
id="data_ripartizione" name="data_ripartizione"
|
|
value="{{ old('data_ripartizione', $ripartizione->data_ripartizione->format('Y-m-d')) }}" required>
|
|
@error('data_ripartizione')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-4">
|
|
<div class="form-group">
|
|
<label for="stato">Stato</label>
|
|
<select class="form-control @error('stato') is-invalid @enderror"
|
|
id="stato" name="stato">
|
|
<option value="bozza" {{ old('stato', $ripartizione->stato) == 'bozza' ? 'selected' : '' }}>Bozza</option>
|
|
<option value="definitiva" {{ old('stato', $ripartizione->stato) == 'definitiva' ? 'selected' : '' }}>Definitiva</option>
|
|
<option value="annullata" {{ old('stato', $ripartizione->stato) == 'annullata' ? 'selected' : '' }}>Annullata</option>
|
|
</select>
|
|
@error('stato')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-4">
|
|
<div class="form-group">
|
|
<label for="anno_competenza">Anno Competenza *</label>
|
|
<input type="number" min="2000" max="2099"
|
|
class="form-control @error('anno_competenza') is-invalid @enderror"
|
|
id="anno_competenza" name="anno_competenza"
|
|
value="{{ old('anno_competenza', $ripartizione->anno_competenza) }}" required>
|
|
@error('anno_competenza')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="form-group">
|
|
<label for="note">Note</label>
|
|
<textarea class="form-control @error('note') is-invalid @enderror"
|
|
id="note" name="note" rows="3"
|
|
placeholder="Note aggiuntive sulla ripartizione...">{{ old('note', $ripartizione->note) }}</textarea>
|
|
@error('note')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
@if($ripartizione->dettagli->count() > 0)
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h5>Dettagli Ripartizione</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="table-responsive">
|
|
<table class="table table-bordered table-striped">
|
|
<thead>
|
|
<tr>
|
|
<th>Unità Immobiliare</th>
|
|
<th>Millesimi</th>
|
|
<th>Importo</th>
|
|
<th>Stato</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach($ripartizione->dettagli as $dettaglio)
|
|
<tr>
|
|
<td>{{ $dettaglio->unitaImmobiliare->denominazione }}</td>
|
|
<td>{{ $dettaglio->millesimi }}</td>
|
|
<td>€ {{ number_format($dettaglio->importo, 2, ',', '.') }}</td>
|
|
<td>
|
|
<span class="badge badge-{{ $dettaglio->stato == 'pagato' ? 'success' : ($dettaglio->stato == 'sospeso' ? 'warning' : 'info') }}">
|
|
{{ ucfirst($dettaglio->stato) }}
|
|
</span>
|
|
</td>
|
|
</tr>
|
|
@endforeach
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
</div>
|
|
|
|
<div class="card-footer">
|
|
<button type="submit" class="btn btn-primary">
|
|
<i class="fas fa-save"></i> Aggiorna Ripartizione
|
|
</button>
|
|
<a href="{{ route('admin.ripartizioni-spesa.show', $ripartizione->id) }}" class="btn btn-info">
|
|
<i class="fas fa-eye"></i> Visualizza
|
|
</a>
|
|
<a href="{{ route('admin.ripartizioni-spesa.index') }}" class="btn btn-default">
|
|
<i class="fas fa-times"></i> Annulla
|
|
</a>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endsection
|
|
|
|
@section('scripts')
|
|
<script>
|
|
$(document).ready(function() {
|
|
// Initialize Select2
|
|
$('.select2').select2({
|
|
theme: 'bootstrap4',
|
|
width: '100%'
|
|
});
|
|
|
|
// Handle stabile change to filter tabelle millesimali
|
|
$('#stabile_id').on('change', function() {
|
|
var stabileId = $(this).val();
|
|
var tabellaSelect = $('#tabella_millesimale_id');
|
|
|
|
if (stabileId) {
|
|
$.ajax({
|
|
url: '{{ route("admin.stabili.tabelle-millesimali", ":id") }}'.replace(':id', stabileId),
|
|
type: 'GET',
|
|
success: function(data) {
|
|
tabellaSelect.empty();
|
|
tabellaSelect.append('<option value="">Seleziona una tabella millesimale</option>');
|
|
$.each(data, function(index, tabella) {
|
|
tabellaSelect.append('<option value="' + tabella.id + '">' + tabella.descrizione + '</option>');
|
|
});
|
|
}
|
|
});
|
|
} else {
|
|
tabellaSelect.empty();
|
|
tabellaSelect.append('<option value="">Seleziona una tabella millesimale</option>');
|
|
}
|
|
});
|
|
});
|
|
</script>
|
|
@endsection
|