netgescon-master/resources/views/admin/ripartizioni-spesa/create.blade.php
Pikappa2 c23b711039 Implementate tutte le viste UI per gestione ripartizioni spese e rate
- 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
2025-07-08 19:53:18 +02:00

204 lines
11 KiB
PHP

@extends('layouts.app')
@section('title', 'Nuova 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">Nuova Ripartizione Spesa</h3>
<div class="card-tools">
<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.store') }}" method="POST">
@csrf
<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') == $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') == $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') == $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') }}" 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', date('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', 'bozza') == 'bozza' ? 'selected' : '' }}>Bozza</option>
<option value="definitiva" {{ old('stato') == 'definitiva' ? 'selected' : '' }}>Definitiva</option>
<option value="annullata" {{ old('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', date('Y')) }}" 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') }}</textarea>
@error('note')
<div class="invalid-feedback">{{ $message }}</div>
@enderror
</div>
</div>
</div>
</div>
<div class="card-footer">
<button type="submit" class="btn btn-primary">
<i class="fas fa-save"></i> Salva Ripartizione
</button>
<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