Explorar el Código

polizza + fix campi vuoti

FabioFratini hace 1 año
padre
commit
3e6398630a

+ 29 - 28
app/Http/Livewire/Traits/HasPolizza.php

@@ -4,6 +4,7 @@ namespace App\Http\Livewire\Traits;
 
 use App\Models\Polizza;
 use Carbon\Carbon;
+use App\Models\ReportDataVeicoli;
 
 trait HasPolizza{
     public $currentPolizza;
@@ -15,6 +16,7 @@ trait HasPolizza{
     public $valida_al;
     public $anagrafica_id;
     public $modalType;
+    public $veicolo_id;
 
     protected function getPolizzaRules(){
         return [
@@ -43,6 +45,11 @@ trait HasPolizza{
     }
 
     public function removePolizza(){
+        $vehicle = ReportDataVeicoli::find($this->veicolo_id);
+        if ($vehicle) {
+            $vehicle->polizze = null;
+            $vehicle->save();
+        }
         $this->data_polizze = 0;
         $this->emit('add-default-value', $this->data_polizze, '', 'data_polizze');
     }
@@ -52,39 +59,33 @@ trait HasPolizza{
         $this->editPolizzaData($this->data_polizze);
         $this->emit('load-polizza-modal');
     }
-
-    public function savePolizza(){
+    public function savePolizza()
+    {
         $this->validate($this->getPolizzaRules());
 
-        try {
-            if ($this->currentPolizza) {
-                $polizza = Polizza::find($this->currentPolizza);
-            } else {
-                $polizza = new Polizza();
-            }
-
-            $polizza->compagnia_id = $this->compagnia_id;
-            $polizza->agenzia = $this->agenzia;
-            $polizza->polizza_num = $this->polizza_num;
-            $polizza->valida_dal = Carbon::createFromFormat('d/m/Y', $this->valida_dal)->format('Y-m-d');
-            $polizza->valida_al = Carbon::createFromFormat('d/m/Y', $this->valida_al)->format('Y-m-d');
-            $polizza->anagrafica_id = $this->anagrafica_id;
-            $polizza->save();
-
-            $this->emit('polizzaSaved', [
-                'id' => $polizza->id,
-                'text' => $this->getPolizza($polizza->id)
-            ]);
-            $this->emit('closePolizzaModal');
-            $this->dispatchBrowserEvent('notify', ['message' => 'Polizza salvata con successo']);
-        } catch (\Exception $e) {
-            $this->dispatchBrowserEvent('notify', [
-                'type' => 'error',
-                'message' => 'Errore durante il salvataggio della polizza: ' . $e->getMessage()
-            ]);
+        $polizza = Polizza::create([
+            'anagrafica_id' => $this->anagrafica_id,
+            'compagnia_id' => $this->compagnia_id,
+            'agenzia' => $this->agenzia,
+            'polizza_num' => $this->polizza_num,
+            'valida_dal' => $this->valida_dal,
+            'valida_al' => $this->valida_al,
+        ]);
+
+        $this->data_polizze = $polizza->id;
+
+        $vehicle = ReportDataVeicoli::find($this->veicolo_id);
+        if ($vehicle) {
+            $vehicle->polizze = $this->data_polizze;
+            $vehicle->save();
         }
+
+        $this->dispatchBrowserEvent('hide-polizza-modal');
+        $this->emit('polizza-saved', $polizza->id, $this->getPolizza($polizza->id));
+
     }
 
+
     private function resetPolizza(){
         $this->compagnia_id = null;
         $this->agenzia = null;

+ 30 - 44
resources/views/components/verbale/segnaletica/orizzontale.blade.php

@@ -14,59 +14,45 @@
         6 => 'DOPPIA',
         7 => 'TRATTEGGIATA IN CORRISPONDENZA DI'
     ];
+@endphp
 
-    $hasData = false;
-    foreach ($orizzontaleAreas as $area) {
+@foreach ($orizzontaleAreas as $index => $area)
+    @php
         $viaKey = $area . '_via';
         $direzioneKey = $area . '_direzione';
         $lineMargineKey = $area . '_linea_margine';
         $lineMezzeriaKey = $area . '_linea_mezzeria';
         $altroKey = $area . '_altro';
 
-        if (
-            isset($data['record']->{$viaKey}) && $data['record']->{$viaKey} != '' ||
-            isset($data['record']->{$direzioneKey}) && $data['record']->{$direzioneKey} != '' ||
-            isset($data['record']->{$lineMargineKey}) && $data['record']->{$lineMargineKey} != '' ||
-            isset($data['record']->{$lineMezzeriaKey}) && $data['record']->{$lineMezzeriaKey} != '' ||
-            isset($data['record']->{$altroKey}) && $data['record']->{$altroKey} != '' ||
-            (isset($data[$area]) && count($data[$area]) > 0)
-        ) {
-            $hasData = true;
-            break;
-        }
-    }
-@endphp
-
-@if ($hasData)
-    <style>
-        .striped-table {
-            width: 100%;
-            border-collapse: collapse;
-        }
+        $hasData = isset($data['record']->{$viaKey}) && $data['record']->{$viaKey} != '' ||
+                   isset($data['record']->{$direzioneKey}) && $data['record']->{$direzioneKey} != '' ||
+                   isset($data['record']->{$lineMargineKey}) && $data['record']->{$lineMargineKey} != '' ||
+                   isset($data['record']->{$lineMezzeriaKey}) && $data['record']->{$lineMezzeriaKey} != '' ||
+                   isset($data['record']->{$altroKey}) && $data['record']->{$altroKey} != '' ||
+                   (isset($data[$area]) && count($data[$area]) > 0);
+    @endphp
 
-        .striped-table th,
-        .striped-table td {
-            border: 1px solid #000;
-            padding: 8px;
-        }
+    @if ($hasData)
+        <style>
+            .striped-table {
+                width: 100%;
+                border-collapse: collapse;
+            }
 
-        .striped-table tr:nth-child(even) {
-            background-color: #f2f2f2;
-        }
+            .striped-table th,
+            .striped-table td {
+                border: 1px solid #000;
+                padding: 8px;
+            }
 
-        .striped-table tr:nth-child(odd) {
-            background-color: #fff;
-        }
-    </style>
+            .striped-table tr:nth-child(even) {
+                background-color: #f2f2f2;
+            }
 
-    @foreach ($orizzontaleAreas as $index => $area)
-        @php
-            $viaKey = $area . '_via';
-            $direzioneKey = $area . '_direzione';
-            $lineMargineKey = $area . '_linea_margine';
-            $lineMezzeriaKey = $area . '_linea_mezzeria';
-            $altroKey = $area . '_altro';
-        @endphp
+            .striped-table tr:nth-child(odd) {
+                background-color: #fff;
+            }
+        </style>
 
         <table width="100%" class="table-title">
             <tr>
@@ -133,5 +119,5 @@
                 </tr>
             @endif
         </table>
-    @endforeach
-@endif
+    @endif
+@endforeach

+ 28 - 40
resources/views/components/verbale/segnaletica/verticale.blade.php

@@ -5,53 +5,41 @@
         'segnaletica_verticale_3',
         'segnaletica_verticale_4'
     ];
+@endphp
 
-    $hasData = false;
-    foreach ($verticaleAreas as $area) {
+@foreach ($verticaleAreas as $index => $area)
+    @php
         $viaKey = $area . '_via';
         $direzioneKey = $area . '_direzione';
         $altroKey = $area . '_altro';
 
-        if (
-            isset($data['record']->{$viaKey}) && $data['record']->{$viaKey} != '' ||
-            isset($data['record']->{$direzioneKey}) && $data['record']->{$direzioneKey} != '' ||
-            isset($data['record']->{$altroKey}) && $data['record']->{$altroKey} != '' ||
-            (isset($data[$area]) && count($data[$area]) > 0)
-        ) {
-            $hasData = true;
-            break;
-        }
-    }
-@endphp
-
-@if ($hasData)
-    <style>
-        .striped-table {
-            width: 100%;
-            border-collapse: collapse;
-        }
+        $hasData = isset($data['record']->{$viaKey}) && $data['record']->{$viaKey} != '' ||
+                   isset($data['record']->{$direzioneKey}) && $data['record']->{$direzioneKey} != '' ||
+                   isset($data['record']->{$altroKey}) && $data['record']->{$altroKey} != '' ||
+                   (isset($data[$area]) && count($data[$area]) > 0);
+    @endphp
 
-        .striped-table th,
-        .striped-table td {
-            border: 1px solid #000;
-            padding: 8px;
-        }
+    @if ($hasData)
+        <style>
+            .striped-table {
+                width: 100%;
+                border-collapse: collapse;
+            }
 
-        .striped-table tr:nth-child(even) {
-            background-color: #f2f2f2;
-        }
+            .striped-table th,
+            .striped-table td {
+                border: 1px solid #000;
+                padding: 8px;
+            }
 
-        .striped-table tr:nth-child(odd) {
-            background-color: #fff;
-        }
-    </style>
+            .striped-table tr:nth-child(even) {
+                background-color: #f2f2f2;
+            }
 
-    @foreach ($verticaleAreas as $index => $area)
-        @php
-            $viaKey = $area . '_via';
-            $direzioneKey = $area . '_direzione';
-            $altroKey = $area . '_altro';
-        @endphp
+            .striped-table tr:nth-child(odd) {
+                background-color: #fff;
+            }
+        </style>
 
         <table width="100%" class="table-title">
             <tr>
@@ -98,5 +86,5 @@
                 </tr>
             @endif
         </table>
-    @endforeach
-@endif
+    @endif
+@endforeach

+ 7 - 2
resources/views/components/verbale/veicolo/assicurazione.blade.php

@@ -55,12 +55,17 @@
                 <tr>
                     <td width="20%" class="veicolo-title-cell" style="padding-bottom: 10px !important;">VALIDA DAL:</td>
                     <td width="30%" class="veicolo-content-cell" style="padding-bottom: 10px !important;">
-                        {{ $datiVeicolo?->polizza->valida_dal ? \Carbon\Carbon::parse($datiVeicolo->polizza->valida_dal)->format('d/m/Y') : '' }}
+                        @if($datiVeicolo && $datiVeicolo->polizza && $datiVeicolo->polizza->valida_dal)
+                            {{ \Carbon\Carbon::parse($datiVeicolo->polizza->valida_dal)->format('d/m/Y') }}
+                        @endif
                     </td>
                     <td width="20%" class="veicolo-title-cell" style="padding-bottom: 10px !important;">AL:</td>
                     <td width="30%" class="veicolo-content-cell" style="padding-bottom: 10px !important;">
-                        {{ $datiVeicolo?->polizza->valida_al ? \Carbon\Carbon::parse($datiVeicolo->polizza->valida_al)->format('d/m/Y') : '' }}
+                        @if($datiVeicolo && $datiVeicolo->polizza && $datiVeicolo->polizza->valida_al)
+                            {{ \Carbon\Carbon::parse($datiVeicolo->polizza->valida_al)->format('d/m/Y') }}
+                        @endif
                     </td>
+
                 </tr>
             </table>
         </td>

+ 155 - 100
resources/views/livewire/report.blade.php

@@ -3287,12 +3287,41 @@
                                                 <option value="3">Non presente</option>
                                             </select>
                                         </div>
-                                        <div class="modal fade" id="polizzaParte" data-backdrop="static" data-keyboard="false" tabindex="-1" role="dialog" aria-labelledby="polizzaParteLabel" aria-hidden="true">
+                                        <div class="column">
+                                            <label for="data_polizze" class="form-label">Polizza auto</label>
+                                            <div class="row">
+                                                <div class="col-sm-6">
+                                                    <select class="form-control data_polizze" style="width:100%">
+                                                        @if ($data_polizze)
+                                                            <option value="{{ $data_polizze }}">
+                                                                {{ $this->getPolizza($data_polizze) }}
+                                                            </option>
+                                                        @endif
+                                                    </select>
+                                                </div>
+                                                <div class="col-sm-4">
+                                                    <a class="btn btn-primary data_polizze_add"
+                                                        wire:click.prevent="addPolizza()" data-toggle="modal"
+                                                        data-target="#polizzaParte">
+                                                        +&nbsp;
+                                                    </a>
+                                                    <a class="btn btn-danger data_polizze_remove"
+                                                        wire:click.prevent="removePolizza()">
+                                                        <i class="fa fa-trash"></i>&nbsp;
+                                                    </a>
+                                                </div>
+                                            </div>
+                                        </div>
+
+                                        <div class="modal fade" id="polizzaParte" data-backdrop="static"
+                                            data-keyboard="false" tabindex="-1" role="dialog"
+                                            aria-labelledby="polizzaParteLabel" aria-hidden="true">
                                             <div class="modal-dialog modal-lg" role="document">
                                                 <div class="modal-content">
                                                     <div class="modal-header">
                                                         <h5 class="modal-title" id="polizzaParteLabel">Gestione Polizza</h5>
-                                                        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+                                                        <button type="button" class="close" data-dismiss="modal"
+                                                            aria-label="Close">
                                                             <span aria-hidden="true">&times;</span>
                                                         </button>
                                                     </div>
@@ -3303,7 +3332,8 @@
                                                                     <label>Contraente *</label>
                                                                     <div class="row">
                                                                         <div class="col-sm-9">
-                                                                            <select class="form-control anagrafica_id" wire:model="anagrafica_id" required>
+                                                                            <select class="form-control anagrafica_id"
+                                                                                wire:model="anagrafica_id" required>
                                                                                 @if ($anagrafica_id)
                                                                                     <option value="{{ $anagrafica_id }}">
                                                                                         {{ $this->getAnagrafica($anagrafica_id) }}
@@ -3316,14 +3346,21 @@
                                                                         </div>
                                                                         <div class="col-sm-3">
                                                                             @if ($anagrafica_id)
-                                                                                <a class="btn btn-primary editAnagrafica" wire:click.prevent="editAnagraficaPolizza()" data-target="#anagraficaParte" style="background-color: orange;border-color: orange;">
+                                                                                <a class="btn btn-primary editAnagrafica"
+                                                                                    wire:click.prevent="editAnagraficaPolizza()"
+                                                                                    data-target="#anagraficaParte"
+                                                                                    style="background-color: orange;border-color: orange;">
                                                                                     <i class="fa fa-edit"></i>
                                                                                 </a>
-                                                                                <a class="btn btn-danger" wire:click.prevent="removeAnagraficaPolizza()">
+                                                                                <a class="btn btn-danger"
+                                                                                    wire:click.prevent="removeAnagraficaPolizza()">
                                                                                     <i class="fa fa-trash"></i>&nbsp;
                                                                                 </a>
                                                                             @else
-                                                                                <a class="btn btn-primary" wire:click.prevent="addAnagraficaPolizza()" data-target="#anagraficaParte">+&nbsp;</a>
+                                                                                <a class="btn btn-primary"
+                                                                                    wire:click.prevent="addAnagraficaPolizza()"
+                                                                                    data-target="#anagraficaParte">+&nbsp;
+                                                                                </a>
                                                                             @endif
                                                                         </div>
                                                                     </div>
@@ -3334,17 +3371,16 @@
                                                                 <div class="col-md-6">
                                                                     <div class="form-group">
                                                                         <label>Compagnia *</label>
-                                                                        <select class="form-control compagnia_id" wire:model="compagnia_id" required>
+                                                                        <select class="form-control compagnia_id"
+                                                                            wire:model="compagnia_id" required>
                                                                         </select>
-                                                                        @error('compagnia_id')
-                                                                            <span class="text-danger">{{ $message }}</span>
-                                                                        @enderror
                                                                     </div>
                                                                 </div>
                                                                 <div class="col-md-6">
                                                                     <div class="form-group">
                                                                         <label>Agenzia</label>
-                                                                        <select class="form-control agenzia" wire:model="agenzia">
+                                                                        <select class="form-control agenzia"
+                                                                            wire:model="agenzia">
                                                                         </select>
                                                                     </div>
                                                                 </div>
@@ -3354,7 +3390,8 @@
                                                                 <div class="col-md-12">
                                                                     <div class="form-group">
                                                                         <label>Numero Polizza *</label>
-                                                                        <input type="text" class="form-control polizza_num" name="polizza_num">
+                                                                        <input type="text" class="form-control polizza_num" wire:model.debounce.500ms="polizza_num" required>
+
                                                                     </div>
                                                                 </div>
                                                             </div>
@@ -3364,28 +3401,29 @@
                                                                     <div class="form-group">
                                                                         <label>Valida dal *</label>
                                                                         <div class="input-group">
-                                                                            <input type="text" class="form-control valida_dal" wire:ignore autocomplete="off" required>
+                                                                            <input type="date"
+                                                                                class="form-control valida_dal"
+                                                                                wire:model="valida_dal" required>
                                                                         </div>
-                                                                        @error('valida_dal')
-                                                                            <span class="text-danger">{{ $message }}</span>
-                                                                        @enderror
                                                                     </div>
                                                                 </div>
                                                                 <div class="col-md-6">
                                                                     <div class="form-group">
                                                                         <label>Valida al *</label>
                                                                         <div class="input-group">
-                                                                            <input type="text" class="form-control valida_al" wire:ignore autocomplete="off" required>
+                                                                            <input type="date"
+                                                                                class="form-control valida_al"
+                                                                                wire:model="valida_al" required>
                                                                         </div>
-                                                                        @error('valida_al')
-                                                                            <span class="text-danger">{{ $message }}</span>
-                                                                        @enderror
                                                                     </div>
                                                                 </div>
                                                             </div>
 
+
                                                             <div class="modal-footer">
-                                                                <button type="button" class="btn btn-secondary" wire:click="cleanPolizzaData" onclick="$('#polizzaParte').modal('hide')">Chiudi</button>
+                                                                <button type="button" class="btn btn-secondary"
+                                                                    wire:click="cleanPolizzaData"
+                                                                    onclick="$('#polizzaParte').modal('hide')">Chiudi</button>
                                                                 <button type="submit" class="btn btn-primary">Salva</button>
                                                             </div>
                                                         </form>
@@ -3718,12 +3756,14 @@
                                             <input class="form-control" type="text" id="data_infortunato_ospedale_3"
                                                 placeholder="" wire:model="data_infortunato_ospedale_3">
                                         </div>
-
+                                        <div class="column mt-3">
+                                            <hr size="1">
+                                        </div>
                                     </div>
 
                                 </div>
 
-                                <div class="row mt-3 mb-3" >
+                                <div class="row mt-3">
                                     <div class="divider"></div>
                                 </div>
                                 <div class="row mt-3">
@@ -3742,14 +3782,14 @@
                                                 </div>
                                                 <div class="col-sm-4">
                                                     @if ($data_infortunato_extra_0 > 0)
-                                                        <a class="btn btn-primary editAnagrafica"
-                                                            wire:click.prevent="editAnagrafica({{ $data_infortunato_extra_0 }})"
-                                                            data-toggle="modal" data-target="#anagraficaParte"
-                                                            style="background-color: orange;border-color: orange;"><i
-                                                                class="fa fa-edit"></i></i></a>
+                                                    <a class="btn btn-primary editAnagrafica"
+                                                        wire:click.prevent="editAnagrafica({{ $data_infortunato_extra_0 }})"
+                                                        data-toggle="modal" data-target="#anagraficaParte"
+                                                        style="background-color: orange;border-color: orange;"><i
+                                                            class="fa fa-edit"></i></i></a>
                                                     @else
-                                                        <a class="btn btn-primary" wire:click.prevent="addInfortunato(1)"
-                                                            data-toggle="modal" data-target="#anagraficaParte">+&nbsp;</a>
+                                                    <a class="btn btn-primary" wire:click.prevent="addInfortunato(1)"
+                                                        data-toggle="modal" data-target="#anagraficaParte">+&nbsp;</a>
                                                     @endif
                                                 </div>
                                             </div>
@@ -3768,14 +3808,14 @@
                                                 </div>
                                                 <div class="col-sm-4">
                                                     @if ($data_infortunato_extra_1 > 0)
-                                                        <a class="btn btn-primary editAnagrafica"
-                                                            wire:click.prevent="editAnagrafica({{ $data_infortunato_extra_1 }})"
-                                                            data-toggle="modal" data-target="#anagraficaParte"
-                                                            style="background-color: orange;border-color: orange;"><i
-                                                                class="fa fa-edit"></i></i></a>
+                                                    <a class="btn btn-primary editAnagrafica"
+                                                        wire:click.prevent="editAnagrafica({{ $data_infortunato_extra_1 }})"
+                                                        data-toggle="modal" data-target="#anagraficaParte"
+                                                        style="background-color: orange;border-color: orange;"><i
+                                                            class="fa fa-edit"></i></i></a>
                                                     @else
-                                                        <a class="btn btn-primary" wire:click.prevent="addInfortunato(2)"
-                                                            data-toggle="modal" data-target="#anagraficaParte">+&nbsp;</a>
+                                                    <a class="btn btn-primary" wire:click.prevent="addInfortunato(2)"
+                                                        data-toggle="modal" data-target="#anagraficaParte">+&nbsp;</a>
                                                     @endif
                                                 </div>
                                             </div>
@@ -3794,14 +3834,14 @@
                                                 </div>
                                                 <div class="col-sm-4">
                                                     @if ($data_infortunato_extra_2 > 0)
-                                                        <a class="btn btn-primary editAnagrafica"
-                                                            wire:click.prevent="editAnagrafica({{ $data_infortunato_extra_2 }})"
-                                                            data-toggle="modal" data-target="#anagraficaParte"
-                                                            style="background-color: orange;border-color: orange;"><i
-                                                                class="fa fa-edit"></i></i></a>
+                                                    <a class="btn btn-primary editAnagrafica"
+                                                        wire:click.prevent="editAnagrafica({{ $data_infortunato_extra_2 }})"
+                                                        data-toggle="modal" data-target="#anagraficaParte"
+                                                        style="background-color: orange;border-color: orange;"><i
+                                                            class="fa fa-edit"></i></i></a>
                                                     @else
-                                                        <a class="btn btn-primary" wire:click.prevent="addInfortunato(3)"
-                                                            data-toggle="modal" data-target="#anagraficaParte">+&nbsp;</a>
+                                                    <a class="btn btn-primary" wire:click.prevent="addInfortunato(3)"
+                                                        data-toggle="modal" data-target="#anagraficaParte">+&nbsp;</a>
                                                     @endif
                                                 </div>
                                             </div>
@@ -3820,14 +3860,14 @@
                                                 </div>
                                                 <div class="col-sm-4">
                                                     @if ($data_infortunato_extra_3 > 0)
-                                                        <a class="btn btn-primary editAnagrafica"
-                                                            wire:click.prevent="editAnagrafica({{ $data_infortunato_extra_3 }})"
-                                                            data-toggle="modal" data-target="#anagraficaParte"
-                                                            style="background-color: orange;border-color: orange;"><i
-                                                                class="fa fa-edit"></i></i></a>
+                                                    <a class="btn btn-primary editAnagrafica"
+                                                        wire:click.prevent="editAnagrafica({{ $data_infortunato_extra_3 }})"
+                                                        data-toggle="modal" data-target="#anagraficaParte"
+                                                        style="background-color: orange;border-color: orange;"><i
+                                                            class="fa fa-edit"></i></i></a>
                                                     @else
-                                                        <a class="btn btn-primary" wire:click.prevent="addInfortunato(4)"
-                                                            data-toggle="modal" data-target="#anagraficaParte">+&nbsp;</a>
+                                                    <a class="btn btn-primary" wire:click.prevent="addInfortunato(4)"
+                                                        data-toggle="modal" data-target="#anagraficaParte">+&nbsp;</a>
                                                     @endif
                                                 </div>
                                             </div>
@@ -3916,9 +3956,7 @@
                                         </div>
                                     </div>
                                 </div>
-                                <div class="row mt-3 mb-3" >
-                                    <div class="divider"></div>
-                                </div>
+
                                 <div class="row mt-3">
                                     <div class="col-md-12">
                                         <div id="fields-container" class="row">
@@ -4678,29 +4716,31 @@
 
 
                                 @for ($count = 1; $count <= 3; $count++)
-                                        <div class="row mt-3">
-                                            <div class="col-md-4">
-                                                <label for="verbale_violazione_numero_{{ $count }}" class="form-label">Verbale di
-                                                    violazione Num.</label>
-                                                <textarea class="form-control" type="text"
-                                                    id="verbale_violazione_numero_{{ $count }}" rows="5"
-                                                    wire:model="data_verbale_violazione_numero_{{ $count }}"></textarea>
-                                            </div>
-                                            <div class="col-md-4">
-                                                <label for="articolo_violato_{{ $count }}" class="form-label">Art.
-                                                    violato</label>
-                                                <input class="form-control" type="text" id="articolo_violato_{{ $count }}"
-                                                    placeholder="" wire:model="data_articolo_violato_{{ $count }}">
-                                            </div>
-                                            <div class="col-md-4">
-                                                <label for="cds_{{ $count }}" class="form-label">C.D.S.</label>
-                                                <input class="form-control" type="text" id="cds_{{ $count }}" placeholder=""
-                                                    wire:model="data_cds_{{ $count }}">
-                                            </div>
+                                    <div class="row mt-3">
+                                        <div class="col-md-4">
+                                            <label for="verbale_violazione_numero_{{ $count }}" class="form-label">Verbale di
+                                                violazione Num.</label>
+                                            <textarea class="form-control" type="text"
+                                                id="verbale_violazione_numero_{{ $count }}" rows="5"
+                                                wire:model="data_verbale_violazione_numero_{{ $count }}"></textarea>
+                                        </div>
+                                        <div class="col-md-4">
+                                            <label for="articolo_violato_{{ $count }}" class="form-label">Art.
+                                                violato</label>
+                                            <input class="form-control" type="text" id="articolo_violato_{{ $count }}"
+                                                placeholder="" wire:model="data_articolo_violato_{{ $count }}">
+                                        </div>
+                                        <div class="col-md-4">
+                                            <label for="cds_{{ $count }}" class="form-label">C.D.S.</label>
+                                            <input class="form-control" type="text" id="cds_{{ $count }}" placeholder=""
+                                                wire:model="data_cds_{{ $count }}">
                                         </div>
-                                        <div class="row mt-3 mb-3" >
-                                            <div class="divider"></div>
+                                    </div>
+                                    <div class="row mt-3">
+                                        <div class="col-md-4">
+                                            <hr size="1">
                                         </div>
+                                    </div>
                                 @endfor
 
                             </div>
@@ -5963,8 +6003,20 @@
         });
 
         Livewire.on('load-polizza-modal', () => {
+            $('.valida_dal').on('change', function (e) {
+                @this.set('valida_dal', $(this).val());
+            });
+
+            $('.valida_al').on('change', function (e) {
+                @this.set('valida_al', $(this).val());
+            });
+
+            $('.polizza_num').on('input', function (e) {
+                @this.set('polizza_num', $(this).val());
+            });
+
             $('.anagrafica_id').select2({
-                dropdownParent: $("#polizzaParte .modal-content"),
+                dropdownParent: $('#polizzaParte'),
                 theme: 'bootstrap4',
                 ajax: {
                     url: '/anagrafica',
@@ -5975,8 +6027,9 @@
                 @this.set('anagrafica_id', $(this).val());
             });
 
+            // Initialize Select2 for compagnia_id
             $('.compagnia_id').select2({
-                dropdownParent: $("#polizzaParte .modal-content"),
+                dropdownParent: $('#polizzaParte'),
                 theme: 'bootstrap4',
                 ajax: {
                     url: '/compagnie',
@@ -5987,8 +6040,9 @@
                 @this.set('compagnia_id', $(this).val());
             });
 
+            // Initialize Select2 for agenzia
             $('.agenzia').select2({
-                dropdownParent: $("#polizzaParte .modal-content"),
+                dropdownParent: $('#polizzaParte'),
                 theme: 'bootstrap4',
                 ajax: {
                     url: '/polizze/agenzie',
@@ -5999,34 +6053,35 @@
                 @this.set('agenzia', $(this).val());
             });
 
-            $('.valida_dal').datepicker({
-                format: 'dd/mm/yyyy',
-                autoclose: true
-            }).on('changeDate', function (e) {
-                @this.set('valida_dal', e.target.value);
+            // Show modal event
+            window.addEventListener('show-polizza-modal', event => {
+                $('#polizzaParte').modal('show');
             });
 
-            $('.valida_al').datepicker({
-                format: 'dd/mm/yyyy',
-                autoclose: true
-            }).on('changeDate', function (e) {
-                @this.set('valida_al', e.target.value);
-            });
+            // Hide modal event
+            window.addEventListener('hide-polizza-modal', event => {
+                $('#polizzaParte').modal('hide');
 
-            $('.valida_dal').datepicker({
-                format: 'dd/mm/yyyy',
-                autoclose: true
-            }).on('changeDate', function (e) {
-                @this.set('valida_dal', e.target.value);
             });
-
-            $('.valida_al').datepicker({
-                format: 'dd/mm/yyyy',
-                autoclose: true
-            }).on('changeDate', function (e) {
-                @this.set('valida_al', e.target.value);
+            Livewire.on('polizza-saved', (polizzaId, polizzaText) => {
+                let $select = $('.data_polizze');
+                $select.append(new Option(polizzaText, polizzaId, true, true)).trigger('change');
             });
         });
 
+        Livewire.on('updatePolizzaSelects', data => {
+            // Update anagrafica select
+            if (data.anagrafica) {
+                let option = new Option(data.anagrafica.text, data.anagrafica.id, true, true);
+                $('.anagrafica_id').append(option).trigger('change');
+            }
+
+            // Update compagnia select
+            if (data.compagnia) {
+                let option = new Option(data.compagnia.text, data.compagnia.id, true, true);
+                $('.compagnia_id').append(option).trigger('change');
+            }
+        });
+
     </script>
 @endpush