161 lines
13 KiB
PHP
Executable File
161 lines
13 KiB
PHP
Executable File
<div>
|
|
@if($isCreatingConto || $editingContoId)
|
|
<div class="rounded-xl border border-slate-200 bg-white p-6 shadow-sm dark:border-gray-800 dark:bg-gray-900 animate-fade-in">
|
|
<div class="flex flex-wrap items-center justify-between gap-4 border-b border-slate-200 pb-4 mb-6 dark:border-gray-800">
|
|
<div>
|
|
<h3 class="text-lg font-semibold text-slate-900 dark:text-white">
|
|
{{ $isCreatingConto ? 'Nuovo Conto Bancario / Cassa' : 'Modifica Conto Bancario / Cassa' }}
|
|
</h3>
|
|
<p class="text-xs text-slate-500 dark:text-slate-400 mt-1">
|
|
Inserisci tutti i dettagli del conto. I campi contrassegnati con * sono obbligatori.
|
|
</p>
|
|
</div>
|
|
<x-filament::button type="button" size="sm" color="gray" icon="heroicon-m-arrow-left" wire:click="cancelInlineForm">
|
|
Torna alla lista
|
|
</x-filament::button>
|
|
</div>
|
|
|
|
<form wire:submit.prevent="saveContoInline" class="space-y-6">
|
|
<!-- Sezione 1: Dati Generali -->
|
|
<div class="space-y-4">
|
|
<h4 class="text-xs font-bold uppercase tracking-wider text-slate-500 dark:text-slate-400 border-l-2 border-sky-500 pl-2">
|
|
1. Dati generali del conto
|
|
</h4>
|
|
<div class="grid grid-cols-1 gap-4 md:grid-cols-3">
|
|
<div>
|
|
<label class="block text-xs font-semibold text-slate-700 dark:text-slate-300">Denominazione banca/cassa *</label>
|
|
<input type="text" wire:model.defer="contoFormState.denominazione_banca" required class="mt-1 block w-full rounded-lg border-gray-300 shadow-sm text-sm focus:border-primary-500 focus:ring-primary-500 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-100" />
|
|
</div>
|
|
<div>
|
|
<label class="block text-xs font-semibold text-slate-700 dark:text-slate-300">Tipo conto *</label>
|
|
<select wire:model.defer="contoFormState.tipo_conto" required class="mt-1 block w-full rounded-lg border-gray-300 shadow-sm text-sm focus:border-primary-500 focus:ring-primary-500 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-100">
|
|
<option value="corrente">Corrente</option>
|
|
<option value="deposito">Deposito</option>
|
|
<option value="risparmio">Risparmio</option>
|
|
</select>
|
|
</div>
|
|
<div>
|
|
<label class="block text-xs font-semibold text-slate-700 dark:text-slate-300">Stato *</label>
|
|
<select wire:model.defer="contoFormState.stato_conto" required class="mt-1 block w-full rounded-lg border-gray-300 shadow-sm text-sm focus:border-primary-500 focus:ring-primary-500 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-100">
|
|
<option value="attivo">Attivo</option>
|
|
<option value="sospeso">Sospeso</option>
|
|
<option value="chiuso">Chiuso</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="grid grid-cols-1 gap-4 md:grid-cols-2">
|
|
<div>
|
|
<label class="block text-xs font-semibold text-slate-700 dark:text-slate-300">Intestazione conto</label>
|
|
<input type="text" wire:model.defer="contoFormState.intestazione_conto" class="mt-1 block w-full rounded-lg border-gray-300 shadow-sm text-sm focus:border-primary-500 focus:ring-primary-500 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-100" />
|
|
</div>
|
|
<div class="flex items-center pt-6">
|
|
<label class="flex items-center gap-2 cursor-pointer">
|
|
<input type="checkbox" wire:model.defer="contoFormState.is_nostro_conto" class="rounded border-gray-300 text-primary-600 focus:ring-primary-500 dark:bg-gray-800 dark:border-gray-700" />
|
|
<span class="text-sm font-medium text-slate-700 dark:text-slate-300">Nostro conto (conto principale di gestione)</span>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Sezione 2: Coordinate Bancarie -->
|
|
<div class="space-y-4 pt-4 border-t border-slate-100 dark:border-gray-800">
|
|
<h4 class="text-xs font-bold uppercase tracking-wider text-slate-500 dark:text-slate-400 border-l-2 border-sky-500 pl-2">
|
|
2. Coordinate bancarie (IBAN e codici)
|
|
</h4>
|
|
<div class="grid grid-cols-1 gap-4 md:grid-cols-2">
|
|
<div>
|
|
<label class="block text-xs font-semibold text-slate-700 dark:text-slate-300">IBAN</label>
|
|
<input type="text" wire:model.defer="contoFormState.iban" placeholder="IT00..." class="mt-1 block w-full rounded-lg border-gray-300 shadow-sm text-sm focus:border-primary-500 focus:ring-primary-500 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-100" />
|
|
</div>
|
|
<div>
|
|
<label class="block text-xs font-semibold text-slate-700 dark:text-slate-300">Numero conto</label>
|
|
<input type="text" wire:model.defer="contoFormState.numero_conto" class="mt-1 block w-full rounded-lg border-gray-300 shadow-sm text-sm focus:border-primary-500 focus:ring-primary-500 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-100" />
|
|
</div>
|
|
</div>
|
|
<div class="grid grid-cols-2 gap-4 md:grid-cols-4">
|
|
<div>
|
|
<label class="block text-xs font-semibold text-slate-700 dark:text-slate-300">ABI</label>
|
|
<input type="text" wire:model.defer="contoFormState.abi" class="mt-1 block w-full rounded-lg border-gray-300 shadow-sm text-sm focus:border-primary-500 focus:ring-primary-500 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-100" />
|
|
</div>
|
|
<div>
|
|
<label class="block text-xs font-semibold text-slate-700 dark:text-slate-300">CAB</label>
|
|
<input type="text" wire:model.defer="contoFormState.cab" class="mt-1 block w-full rounded-lg border-gray-300 shadow-sm text-sm focus:border-primary-500 focus:ring-primary-500 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-100" />
|
|
</div>
|
|
<div>
|
|
<label class="block text-xs font-semibold text-slate-700 dark:text-slate-300">CIN</label>
|
|
<input type="text" wire:model.defer="contoFormState.cin" class="mt-1 block w-full rounded-lg border-gray-300 shadow-sm text-sm focus:border-primary-500 focus:ring-primary-500 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-100" />
|
|
</div>
|
|
<div>
|
|
<label class="block text-xs font-semibold text-slate-700 dark:text-slate-300">BIC / SWIFT</label>
|
|
<input type="text" wire:model.defer="contoFormState.bic_swift" class="mt-1 block w-full rounded-lg border-gray-300 shadow-sm text-sm focus:border-primary-500 focus:ring-primary-500 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-100" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Sezione 3: Codici Operativi e Saldo Iniziale -->
|
|
<div class="space-y-4 pt-4 border-t border-slate-100 dark:border-gray-800">
|
|
<h4 class="text-xs font-bold uppercase tracking-wider text-slate-500 dark:text-slate-400 border-l-2 border-sky-500 pl-2">
|
|
3. Codici operativi e saldi di partenza
|
|
</h4>
|
|
<div class="grid grid-cols-1 gap-4 md:grid-cols-5">
|
|
<div>
|
|
<label class="block text-xs font-semibold text-slate-700 dark:text-slate-300">Codice CUC</label>
|
|
<input type="text" wire:model.defer="contoFormState.cuc" class="mt-1 block w-full rounded-lg border-gray-300 shadow-sm text-sm focus:border-primary-500 focus:ring-primary-500 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-100" />
|
|
</div>
|
|
<div>
|
|
<label class="block text-xs font-semibold text-slate-700 dark:text-slate-300">Codice SIA</label>
|
|
<input type="text" wire:model.defer="contoFormState.sia" class="mt-1 block w-full rounded-lg border-gray-300 shadow-sm text-sm focus:border-primary-500 focus:ring-primary-500 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-100" />
|
|
</div>
|
|
<div>
|
|
<label class="block text-xs font-semibold text-slate-700 dark:text-slate-300">Valuta</label>
|
|
<input type="text" wire:model.defer="contoFormState.valuta" class="mt-1 block w-full rounded-lg border-gray-300 shadow-sm text-sm focus:border-primary-500 focus:ring-primary-500 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-100" />
|
|
</div>
|
|
<div>
|
|
<label class="block text-xs font-semibold text-slate-700 dark:text-slate-300">Saldo iniziale</label>
|
|
<input type="number" step="0.01" wire:model.defer="contoFormState.saldo_iniziale" class="mt-1 block w-full rounded-lg border-gray-300 shadow-sm text-sm focus:border-primary-500 focus:ring-primary-500 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-100" />
|
|
</div>
|
|
<div>
|
|
<label class="block text-xs font-semibold text-slate-700 dark:text-slate-300">Data saldo iniziale</label>
|
|
<input type="date" wire:model.defer="contoFormState.data_saldo_iniziale" class="mt-1 block w-full rounded-lg border-gray-300 shadow-sm text-sm focus:border-primary-500 focus:ring-primary-500 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-100" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Sezione 4: Referenze e Note -->
|
|
<div class="space-y-4 pt-4 border-t border-slate-100 dark:border-gray-800">
|
|
<h4 class="text-xs font-bold uppercase tracking-wider text-slate-500 dark:text-slate-400 border-l-2 border-sky-500 pl-2">
|
|
4. Referenze e note operative
|
|
</h4>
|
|
<div class="grid grid-cols-1 gap-4 md:grid-cols-3">
|
|
<div class="md:col-span-1">
|
|
<label class="block text-xs font-semibold text-slate-700 dark:text-slate-300">Contatto banca (rubrica)</label>
|
|
<select wire:model.defer="contoFormState.contatto_id" class="mt-1 block w-full rounded-lg border-gray-300 shadow-sm text-sm focus:border-primary-500 focus:ring-primary-500 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-100">
|
|
<option value="">— Nessun contatto —</option>
|
|
@foreach($contattiBancaOptions as $id => $label)
|
|
<option value="{{ $id }}">{{ $label }}</option>
|
|
@endforeach
|
|
</select>
|
|
</div>
|
|
<div class="md:col-span-2">
|
|
<label class="block text-xs font-semibold text-slate-700 dark:text-slate-300">Note interne</label>
|
|
<textarea wire:model.defer="contoFormState.note" rows="2" class="mt-1 block w-full rounded-lg border-gray-300 shadow-sm text-sm focus:border-primary-500 focus:ring-primary-500 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-100"></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Footer Azioni -->
|
|
<div class="flex flex-wrap justify-end gap-3 border-t border-slate-200 pt-4 dark:border-gray-800">
|
|
<x-filament::button type="button" size="md" color="gray" wire:click="cancelInlineForm">
|
|
Annulla
|
|
</x-filament::button>
|
|
<x-filament::button type="submit" size="md" color="primary" icon="heroicon-m-check">
|
|
Salva dati conto
|
|
</x-filament::button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
@else
|
|
{{ $this->table }}
|
|
@endif
|
|
</div>
|