FabioFratini 11 mesi fa
parent
commit
5ded60d7ac
21 ha cambiato i file con 1400 aggiunte e 180 eliminazioni
  1. 0 3
      app/Http/Livewire/Report.php
  2. 1 0
      app/Http/Livewire/Traits/HasVeicoli.php
  3. 80 0
      resources/views/components/report/parti/accordion/accertamenti-conducente-accordion.blade.php
  4. 99 0
      resources/views/components/report/parti/accordion/accertamenti-passeggeri-accordion.blade.php
  5. 34 0
      resources/views/components/report/parti/accordion/accordion-main.blade.php
  6. 167 0
      resources/views/components/report/parti/accordion/osservazioni-veicolo-accordion.blade.php
  7. 41 0
      resources/views/components/report/parti/accordion/provvedimenti-adottati-accordion.blade.php
  8. 50 0
      resources/views/components/report/parti/accordion/veicolo-accordion.blade.php
  9. 132 0
      resources/views/components/report/parti/accordion/veicolo/veicolo-assicurazione.blade.php
  10. 226 0
      resources/views/components/report/parti/accordion/veicolo/veicolo-danni-circostanze.blade.php
  11. 106 0
      resources/views/components/report/parti/accordion/veicolo/veicolo-infortunati.blade.php
  12. 186 0
      resources/views/components/report/parti/accordion/veicolo/veicolo-passeggeri.blade.php
  13. 85 0
      resources/views/components/report/parti/accordion/veicolo/veicolo-posizione-destinazione.blade.php
  14. 99 0
      resources/views/components/report/parti/accordion/veicolo/veicolo-proprietario.blade.php
  15. 7 8
      resources/views/components/report/parti/parti-coinvolte.blade.php
  16. 2 1
      resources/views/components/report/veicoli/accordion/accertamenti-conducente-accordion.blade.php
  17. 2 1
      resources/views/components/report/veicoli/accordion/accertamenti-passeggeri-accordion.blade.php
  18. 2 1
      resources/views/components/report/veicoli/accordion/osservazioni-veicolo-accordion.blade.php
  19. 2 1
      resources/views/components/report/veicoli/accordion/provvedimenti-adottati-accordion.blade.php
  20. 2 1
      resources/views/components/report/veicoli/accordion/veicolo-accordion.blade.php
  21. 77 164
      resources/views/livewire/report.blade.php

+ 0 - 3
app/Http/Livewire/Report.php

@@ -242,8 +242,6 @@ class Report extends Component
     public $loadAnagrafica;
     public $currentInfortunato;
     public $cds_2;
-
-
     public $data_passeggero_0;
     public $data_infortunato_0;
     public $data_infortunato_ospedale_0;
@@ -283,7 +281,6 @@ class Report extends Component
     public $cds;
     public $showModal = false;
 
-
     protected $rules = [
         //'name' => 'required'
     ];

+ 1 - 0
app/Http/Livewire/Traits/HasVeicoli.php

@@ -291,6 +291,7 @@ trait HasVeicoli{
             $this->vei_destinazione_uso = $vei->destinazione_uso;
             $this->vei_state = $vei->state;
         }
+        $this->emit('dataLoaded');
     }
 
     public function editVeicoloData($progressive){

+ 80 - 0
resources/views/components/report/parti/accordion/accertamenti-conducente-accordion.blade.php

@@ -0,0 +1,80 @@
+<div class="card collapsed-card">
+    <div class="card-header">
+        <h3 class="card-title">Accertamenti conducente</h3>
+        <div class="card-tools">
+            <button type="button" class="btn btn-tool" data-card-widget="collapse"><i
+                    class="fas fa-plus"></i></button>
+        </div>
+    </div>
+    <div class="card-body">
+        <div class="row mt-3">
+            <div class="col-md-4">
+                <label for="data_cinture_conducente" class="form-label">Uso cinture di
+                    sicurezza</label>
+                <select class="form-control" style="width:100%"
+                    wire:model="data_cinture_conducente">
+                    <option value="0"></option>
+                    <option value="1">SI</option>
+                    <option value="2">NO</option>
+                    <option value="3">Non rilevato</option>
+                </select>
+            </div>
+        </div>
+        <div class="row mt-3">
+            <div class="col-md-4">
+                <label for="data_casco_conducente" class="form-label">Uso del casco</label>
+                <select class="form-control" style="width:100%" wire:model="data_casco_conducente"
+                    id="data_casco_conducente">
+                    <option value="0"></option>
+                    <option value="1">SI</option>
+                    <option value="2">NO</option>
+                    <option value="3">Non rilevato</option>
+                </select>
+            </div>
+            <div class="col-md-4" id="data_casco_conducente_select">
+                <label for="data_casco_omologazione_conducente" class="form-label">Omologazione
+                    casco</label>
+                <input class="form-control" type="text" id="data_casco_omologazione_conducente_{{$p->progressive}}"
+                    placeholder="" wire:model="data_casco_omologazione_conducente">
+            </div>
+        </div>
+        <div class="row mt-3">
+            <div class="col-md-4">
+                <label for="data_alcool_test" class="form-label">Alcool test</label>
+                <select class="form-control" style="width:100%" wire:model="data_alcool_test"
+                    id="data_alcool_test">
+                    <option value="0"></option>
+                    <option value="1">SI</option>
+                    <option value="2">NO</option>
+                </select>
+            </div>
+            <div class="col-md-4" id="data_alcool_test_select">
+                <label for="data_alcool_test_esito" class="form-label">Esito alcool test</label>
+                <select class="form-control" style="width:100%" wire:model="data_alcool_test_esito">
+                    <option value="0"></option>
+                    <option value="1">Esito negativo</option>
+                    <option value="2">Esito positivo</option>
+                </select>
+            </div>
+        </div>
+        <div class="row mt-3">
+            <div class="col-md-4">
+                <label for="data_drug_test" class="form-label">Drug test</label>
+                <select class="form-control" style="width:100%" wire:model="data_drug_test"
+                    id="data_drug_test">
+                    <option value="0"></option>
+                    <option value="1">SI</option>
+                    <option value="2">NO</option>
+                </select>
+            </div>
+            <div class="col-md-4" id="data_drug_test_select">
+                <label for="data_drug_test_esito" class="form-label">Esito drug test</label>
+                <select class="form-control" style="width:100%" wire:model="data_drug_test_esito">
+                    <option value="0"></option>
+                    <option value="1">Esito negativo</option>
+                    <option value="2">Esito positivo</option>
+                </select>
+            </div>
+        </div>
+    </div>
+</div>

+ 99 - 0
resources/views/components/report/parti/accordion/accertamenti-passeggeri-accordion.blade.php

@@ -0,0 +1,99 @@
+<div class="card collapsed-card">
+    <div class="card-header">
+        <h3 class="card-title">Accertamenti passeggeri</h3>
+        <div class="card-tools">
+            <button type="button" class="btn btn-tool" data-card-widget="collapse"><i
+                    class="fas fa-plus"></i></button>
+        </div>
+    </div>
+    <div class="card-body">
+        <div class="row mt-3">
+            <div class="col-md-3" id="data_passeggero_0_cinture">
+                <label for="data_cinture_passeggeri_0" class="form-label">Uso cinture di
+                    sicurezza
+                    (anteriore)</label>
+                <select class="form-control" style="width:100%"
+                    wire:model="data_cinture_passeggeri_0">
+                    <option value="0"></option>
+                    <option value="1">SI</option>
+                    <option value="2">NO</option>
+                    <option value="3">Non rilevato</option>
+                </select>
+            </div>
+            <div class="col-md-3" id="data_passeggero_1_cinture">
+                <label for="data_cinture_passeggeri_1" class="form-label">Uso cinture di
+                    sicurezza
+                    (posteriore destra)</label>
+                <select class="form-control" style="width:100%"
+                    wire:model="data_cinture_passeggeri_1">
+                    <option value="0"></option>
+                    <option value="1">SI</option>
+                    <option value="2">NO</option>
+                    <option value="3">Non rilevato</option>
+                </select>
+            </div>
+            <div class="col-md-3" id="data_passeggero_2_cinture">
+                <label for="data_cinture_passeggeri_2" class="form-label">Uso cinture di
+                    sicurezza
+                    (posteriore centrale)</label>
+                <select class="form-control" style="width:100%"
+                    wire:model="data_cinture_passeggeri_2">
+                    <option value="0"></option>
+                    <option value="1">SI</option>
+                    <option value="2">NO</option>
+                    <option value="3">Non rilevato</option>
+                </select>
+            </div>
+            <div class="col-md-3" id="data_passeggero_3_cinture">
+                <label for="data_cinture_passeggeri_3" class="form-label">Uso cinture di
+                    sicurezza
+                    (posteriore sinistra)</label>
+                <select class="form-control" style="width:100%"
+                    wire:model="data_cinture_passeggeri_3">
+                    <option value="0"></option>
+                    <option value="1">SI</option>
+                    <option value="2">NO</option>
+                    <option value="3">Non rilevato</option>
+                </select>
+            </div>
+        </div>
+        <div class="row mt-3">
+            <div class="col-md-4">
+                <label for="data_casco_passeggero" class="form-label">Uso del casco</label>
+                <select class="form-control" style="width:100%" wire:model="data_casco_passeggero"
+                    id="data_casco_passeggero">
+                    <option value="0"></option>
+                    <option value="1">SI</option>
+                    <option value="2">NO</option>
+                    <option value="3">Non rilevato</option>
+                </select>
+            </div>
+            <div class="col-md-4" id="data_casco_passeggero_select">
+                <label for="data_casco_omologazione_passeggero" class="form-label">Omologazione
+                    casco</label>
+                <input class="form-control" type="text" id="data_casco_omologazione_passeggero_{{$p->progressive}}"
+                    placeholder="" wire:model="data_casco_omologazione_passeggero">
+            </div>
+        </div>
+        <div class="row mt-3">
+            <div class="col-md-4">
+                <label for="data_sistema_ritenuta_minori" class="form-label">Sistema ritenuta
+                    minori</label>
+                <select class="form-control" style="width:100%"
+                    wire:model="data_sistema_ritenuta_minori">
+                    <option value="0"></option>
+                    <option value="1">SI</option>
+                    <option value="2">NO</option>
+                    <option value="3">Non rilevato</option>
+                </select>
+            </div>
+            <div class="col-md-4">
+                <label for="data_sistema_ritenuta_minori_omologazione"
+                    class="form-label">Omologazione sistema ritenuta minori</label>
+                <input class="form-control" type="text"
+                    id="data_sistema_ritenuta_minori_omologazione_{{$p->progressive}}" placeholder=""
+                    wire:model="data_sistema_ritenuta_minori_omologazione">
+            </div>
+        </div>
+    </div>
+</div>

+ 34 - 0
resources/views/components/report/parti/accordion/accordion-main.blade.php

@@ -0,0 +1,34 @@
+
+<div class="accordion" id="vehicleAccordion{{ $p->progressive }}">
+    <div class="card card-primary">
+        <div class="card-header">
+            <h2 class="mb-0">
+                <button class="btn btn-link btn-block text-left text-dark" type="button"
+                    wire:click="editVeicoloData({{ $p->progressive }})" data-toggle="collapse"
+                    data-target="#vehicleCollapse{{ $p->progressive }}" aria-expanded="false"
+                    style="text-decoration: none;" aria-controls="vehicleCollapse{{ $p->progressive }}">
+                    Dati veicolo {{ App\Helpers\PoliziaUtils::numberToLetter($p->progressive) }}
+                </button>
+            </h2>
+        </div>
+
+        <div id="vehicleCollapse{{ $p->progressive }}" class="collapse"
+            aria-labelledby="vehicleHeading{{ $p->progressive }}" data-parent="#vehicleAccordion{{ $p->progressive }}">
+            <div class="card-body">
+                @include('components.report.parti.accordion.veicolo-accordion', ['p' => $p])
+                @include('components.report.parti.accordion.osservazioni-veicolo-accordion', ['p' => $p])
+                @include('components.report.parti.accordion.accertamenti-conducente-accordion', ['p' => $p])
+                @include('components.report.parti.accordion.accertamenti-passeggeri-accordion', ['p' => $p])
+                @include('components.report.parti.accordion.provvedimenti-adottati-accordion', ['p' => $p])
+
+
+                <div class="mt-3">
+                    @if (!$this->validated)
+                        <button type="button" class="btn btn-primary"
+                            wire:click.prevent="anagraficaDataParteComuneSave()">Salva</button>
+                    @endif
+                </div>
+            </div>
+        </div>
+    </div>
+</div>

+ 167 - 0
resources/views/components/report/parti/accordion/osservazioni-veicolo-accordion.blade.php

@@ -0,0 +1,167 @@
+<div class="card collapsed-card">
+    <div class="card-header">
+        <h3 class="card-title">Osservazioni sul veicolo</h3>
+        <div class="card-tools">
+            <button type="button" class="btn btn-tool" data-card-widget="collapse"><i
+                    class="fas fa-plus"></i></button>
+        </div>
+    </div>
+    <div class="card-body">
+        <div class="row mt-3">
+            <div class="col-md-4">
+                <div class="column">
+                    <label for="data_stato_pneumatici" class="form-label">Stato
+                        pneumatici</label>
+                    <select class="form-control" style="width:100%"
+                        wire:model="data_stato_pneumatici">
+                        <option value=""></option>
+                        <option value="1">Regolamentare</option>
+                        <option value="2">Buono</option>
+                        <option value="3">Sufficiente</option>
+                        <option value="4">Insufficiente</option>
+                        <option value="5">Non rilevato</option>
+                        </ul>
+                    </select>
+                </div>
+                <div class="column mt-3">
+                    <label for="data_dispositivi_ottici" class="form-label">Dispositivi
+                        ottici</label>
+                    <select class="form-control" style="width:100%"
+                        wire:model="data_dispositivi_ottici">
+                        <option value=""></option>
+                        <option value="1">Funzionante</option>
+                        <option value="2">Non funzionante</option>
+                        <option value="3">Non rilevato</option>
+                    </select>
+                </div>
+                <div class="column mt-3">
+                    <label for="data_abs" class="form-label">ABS</label>
+                    <select class="form-control" style="width:100%" wire:model="data_abs">
+                        <option value=""></option>
+                        <option value="1">Presente</option>
+                        <option value="2">Non presente</option>
+                        <option value="3">Non rilevato</option>
+                    </select>
+                </div>
+                <div class="column mt-3">
+                    <label for="data_cristallo" class="form-label">Cristallo</label>
+                    <select class="form-control" style="width:100%" wire:model="data_cristallo">
+                        <option value=""></option>
+                        <option value="1">Incrinato all'interno</option>
+                        <option value="2">Incrinato all'esterno</option>
+                        <option value="3">Altra posizione</option>
+                    </select>
+                </div>
+                <div class="column mt-3">
+                    <label for="data_specchio_retrovisore" class="form-label">Specchio
+                        retrovisore</label>
+                    <select class="form-control" style="width:100%"
+                        wire:model="data_specchio_retrovisore">
+                        <option value=""></option>
+                        <option value="1">Presente</option>
+                        <option value="2">Non presente</option>
+                        <option value="3">Non rilevato</option>
+                    </select>
+                </div>
+                <div class="column mt-3">
+                    <label for="data_attivazione_airbag" class="form-label">Attivazione
+                        airbag</label>
+                    <select class="form-control" style="width:100%"
+                        wire:model="data_attivazione_airbag">
+                        <option value=""></option>
+                        <option value="1">SI</option>
+                        <option value="2">NO</option>
+                        <option value="3">Non rilevato</option>
+                    </select>
+                </div>
+            </div>
+            <div class="col-md-4">
+                <div class="column">
+                    <label for="data_marca_pneumatici" class="form-label">Marca
+                        pneumatici</label>
+                    <input class="form-control" type="text" id="data_marca_pneumatici_{{$p->progressive}}"
+                        placeholder="" wire:model="data_marca_pneumatici">
+                </div>
+                <div class="column mt-3">
+                    <label for="data_tergicristalli" class="form-label">Tergicristalli</label>
+                    <select class="form-control" style="width:100%"
+                        wire:model="data_tergicristalli">
+                        <option value=""></option>
+                        <option value="1">Funzionante</option>
+                        <option value="2">Non funzionante</option>
+                        <option value="3">Non rilevato</option>
+                        <option value="4">Non previsto</option>
+                    </select>
+                </div>
+                <div class="column mt-3">
+                    <label for="data_gps" class="form-label">GPS</label>
+                    <select class="form-control" style="width:100%" wire:model="data_gps">
+                        <option value=""></option>
+                        <option value="1">Presente</option>
+                        <option value="2">Non presente</option>
+                        <option value="3">Non rilevato</option>
+                    </select>
+                </div>
+                <div class="column mt-3">
+                    <label for="data_specchio_lat_dx" class="form-label">Specchio laterale
+                        dx</label>
+                    <select class="form-control" style="width:100%"
+                        wire:model="data_specchio_lat_dx">
+                        <option value=""></option>
+                        <option value="1">Presente</option>
+                        <option value="2">Non presente</option>
+                        <option value="3">Non rilevato</option>
+                    </select>
+                </div>
+            </div>
+            <div class="col-md-4">
+                <div class="column">
+                    <label for="data_misura_pneumatici" class="form-label">Misura
+                        pneumatici</label>
+                    <input class="form-control" type="text" id="data_misura_pneumatici_{{$p->progressive}}"
+                        placeholder="" wire:model="data_misura_pneumatici">
+                </div>
+                <div class="column mt-3">
+                    <label for="data_segnale_pericolo" class="form-label">Segnale di
+                        pericolo</label>
+                    <select class="form-control" style="width:100%"
+                        wire:model="data_segnale_pericolo">
+                        <option value=""></option>
+                        <option value="1">Presente</option>
+                        <option value="2">Non presente</option>
+                        <option value="3">Non rilevato</option>
+                        <option value="4">Non previsto</option>
+                    </select>
+                </div>
+                <div class="column mt-3">
+                    <label for="data_marcia_inserita" class="form-label">Marcia inserita</label>
+                    <select class="form-control" style="width:100%"
+                        wire:model="data_marcia_inserita">
+                        <option value=""></option>
+                        <option value="0">Folle</option>
+                        <option value="1">Prima</option>
+                        <option value="2">Seconda</option>
+                        <option value="3">Terza</option>
+                        <option value="4">Quarta</option>
+                        <option value="5">Quinta</option>
+                        <option value="6">Sesta</option>
+                        <option value="7">Retromarcia</option>
+                        <option value="9">Cambio automatico</option>
+                        <option value="8">Non rilevata</option>
+                    </select>
+                </div>
+                <div class="column mt-3">
+                    <label for="data_specchio_lat_sx" class="form-label">Specchio laterale
+                        sx</label>
+                    <select class="form-control" style="width:100%"
+                        wire:model="data_specchio_lat_sx">
+                        <option value=""></option>
+                        <option value="1">Presente</option>
+                        <option value="2">Non presente</option>
+                        <option value="3">Non rilevato</option>
+                    </select>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>

+ 41 - 0
resources/views/components/report/parti/accordion/provvedimenti-adottati-accordion.blade.php

@@ -0,0 +1,41 @@
+<div class="card collapsed-card">
+    <div class="card-header">
+        <h3 class="card-title">Provvedimenti adottati</h3>
+        <div class="card-tools">
+            <button type="button" class="btn btn-tool" data-card-widget="collapse"><i
+                    class="fas fa-plus"></i></button>
+        </div>
+    </div>
+    <div class="card-body">
+
+
+        @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 }}_{{$p->progressive}}" 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 }}_{{$p->progressive}}"
+                        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 }}_{{$p->progressive}}" placeholder=""
+                        wire:model="data_cds_{{ $count }}">
+                </div>
+            </div>
+            <div class="row mt-3">
+                <div class="col-md-4">
+                    <hr size="1">
+                </div>
+            </div>
+        @endfor
+
+    </div>
+</div>

+ 50 - 0
resources/views/components/report/parti/accordion/veicolo-accordion.blade.php

@@ -0,0 +1,50 @@
+<div class="card  collapsed-card">
+    <div class="card-header">
+        <h3 class="card-title">Veicolo</h3>
+        <div class="card-tools">
+            <button type="button" class="btn btn-tool" data-card-widget="collapse"><i
+                    class="fas fa-plus"></i></button>
+        </div>
+    </div>
+    <div class="card-body">
+        <div class="row mt-3">
+            <div class="col-md-4">
+                <div class="column">
+                    <label for="data_chilometri_percorsi" class="form-label">KM percorsi</label>
+                    <input class="form-control" type="text" id="data_chilometri_percorsi"
+                        placeholder="" wire:model="data_chilometri_percorsi">
+                </div>
+                <div class="column mt-3">
+                    <label for="data_stato_veicolo" class="form-label">Stato veicolo</label>
+                    <select class="form-control" style="width:100%" wire:model="data_stato_veicolo">
+                        <option value=""></option>
+                        <option value="1">In marcia</option>
+                        <option value="2">In sosta</option>
+                        <option value="3">Non presente</option>
+                    </select>
+                </div>
+
+
+                @include('components.report.veicoli.accordion.veicolo.veicolo-assicurazione')
+            </div>
+            @include('components.report.veicoli.accordion.veicolo.veicolo-proprietario')
+
+            @include('components.report.veicoli.accordion.veicolo.veicolo-passeggeri')
+
+
+        </div>
+
+        <div class="row mt-3">
+            <div class="divider"></div>
+        </div>
+
+        @include('components.report.veicoli.accordion.veicolo.veicolo-posizione-destinazione')
+
+        <div class="row mt-3">
+            <div class="divider"></div>
+        </div>
+
+        @include('components.report.veicoli.accordion.veicolo.veicolo-danni-circostanze')
+
+    </div>
+</div>

+ 132 - 0
resources/views/components/report/parti/accordion/veicolo/veicolo-assicurazione.blade.php

@@ -0,0 +1,132 @@
+<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">
+                    <span aria-hidden="true">&times;</span>
+                </button>
+            </div>
+            <div class="modal-body">
+                <form wire:submit.prevent="savePolizza">
+                    <div class="row mb-3">
+                        <div class="col-md-12">
+                            <label>Contraente *</label>
+                            <div class="row">
+                                <div class="col-sm-9">
+                                    <select class="form-control anagrafica_id" wire:model="anagrafica_id" required>
+                                        @if ($anagrafica_id)
+                                            <option value="{{ $anagrafica_id }}">
+                                                {{ $this->getAnagrafica($anagrafica_id) }}
+                                            </option>
+                                        @endif
+                                    </select>
+                                    @error('anagrafica_id')
+                                        <span class="text-danger">{{ $message }}</span>
+                                    @enderror
+                                </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;">
+                                            <i class="fa fa-edit"></i>
+                                        </a>
+                                        <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>
+                                    @endif
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+
+                    <div class="row">
+                        <div class="col-md-6">
+                            <div class="form-group">
+                                <label>Compagnia *</label>
+                                <select class="form-control compagnia_id" wire:model="compagnia_id" required>
+                                </select>
+                            </div>
+                        </div>
+                        <div class="col-md-6">
+                            <div class="form-group">
+                                <label>Agenzia</label>
+                                <select class="form-control agenzia" wire:model="agenzia">
+                                </select>
+                            </div>
+                        </div>
+                    </div>
+
+                    <div class="row">
+                        <div class="col-md-12">
+                            <div class="form-group">
+                                <label>Numero Polizza *</label>
+                                <input type="text" class="form-control polizza_num"
+                                    wire:model.debounce.500ms="polizza_num" required>
+
+                            </div>
+                        </div>
+                    </div>
+
+                    <div class="row">
+                        <div class="col-md-6">
+                            <div class="form-group">
+                                <label>Valida dal *</label>
+                                <div class="input-group">
+                                    <input type="date" class="form-control valida_dal" wire:model="valida_dal" required>
+                                </div>
+                            </div>
+                        </div>
+                        <div class="col-md-6">
+                            <div class="form-group">
+                                <label>Valida al *</label>
+                                <div class="input-group">
+                                    <input type="date" class="form-control valida_al" wire:model="valida_al" required>
+                                </div>
+                            </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="submit" class="btn btn-primary">Salva</button>
+                    </div>
+                </form>
+            </div>
+        </div>
+    </div>
+</div>

+ 226 - 0
resources/views/components/report/parti/accordion/veicolo/veicolo-danni-circostanze.blade.php

@@ -0,0 +1,226 @@
+<div class="row mt-3">
+    <div class="col-md-12">
+        <div id="fields-container" class="row">
+            <div class="field-group col-md-3">
+                <div class="column">
+                    <label for="data_tipo_danno" class="form-label">Tipologia
+                        danno</label>
+                    <select class="form-control" style="width:100%"
+                        wire:model="data_tipo_danno">
+                        <option value=""></option>
+                        @foreach ($tipi_danno as $t)
+                            <option value="{{ $t->id }}">{{ $t->name }}
+                            </option>
+                        @endforeach
+                    </select>
+                </div>
+                <div class="column">
+                    <label for="data_entita_danno" class="form-label">Entità del
+                        danno</label>
+                    <select class="form-control" style="width:100%"
+                        wire:model="data_entita_danno">
+                        <option value=""></option>
+                        @foreach ($entita_danni as $e)
+                            <option value="{{ $e->id }}">{{ $e->name }}
+                            </option>
+                        @endforeach
+                    </select>
+                </div>
+                <div class="column">
+                    <label for="data_effetto_danno" class="form-label">Effetto del
+                        danno</label>
+                    <select class="form-control" style="width:100%"
+                        wire:model="data_effetto_danno">
+                        <option value=""></option>
+                        @foreach ($effetto_danni as $e)
+                            <option value="{{ $e->id }}">{{ $e->name }}
+                            </option>
+                        @endforeach
+                    </select>
+                </div>
+                <div class="column">
+                    <label for="data_parte_macchina" class="form-label">Zona
+                        veicolo</label>
+                    <select class="form-control" style="width:100%"
+                        wire:model="data_parte_macchina">
+                        <option value=""></option>
+                        @foreach ($parti_macchina as $e)
+                            <option value="{{ $e->id }}">{{ $e->name }}
+                            </option>
+                        @endforeach
+                    </select>
+                </div>
+            </div>
+
+            <div class="field-group col-md-3" id="damage-column-2" style="display: none;">
+                <div class="column">
+                    <label for="data_tipo_danno_2" class="form-label">Tipologia danno
+                        2</label>
+                    <select class="form-control" style="width:100%"
+                        wire:model="data_tipo_danno_2">
+                        <option value=""></option>
+                        @foreach ($tipi_danno as $t)
+                            <option value="{{ $t->id }}">{{ $t->name }}
+                            </option>
+                        @endforeach
+                    </select>
+                </div>
+                <div class="column">
+                    <label for="data_entita_danno_2" class="form-label">Entità del danno
+                        2</label>
+                    <select class="form-control" style="width:100%"
+                        wire:model="data_entita_danno_2">
+                        <option value=""></option>
+                        @foreach ($entita_danni as $e)
+                            <option value="{{ $e->id }}">{{ $e->name }}
+                            </option>
+                        @endforeach
+                    </select>
+                </div>
+                <div class="column">
+                    <label for="data_effetto_danno_2" class="form-label">Effetto del
+                        danno 2</label>
+                    <select class="form-control" style="width:100%"
+                        wire:model="data_effetto_danno_2">
+                        <option value=""></option>
+                        @foreach ($effetto_danni as $e)
+                            <option value="{{ $e->id }}">{{ $e->name }}
+                            </option>
+                        @endforeach
+                    </select>
+                </div>
+                <div class="column">
+                    <label for="data_parte_macchina_2" class="form-label">Zona veicolo
+                        2</label>
+                    <select class="form-control" style="width:100%"
+                        wire:model="data_parte_macchina_2">
+                        <option value=""></option>
+                        @foreach ($parti_macchina as $e)
+                            <option value="{{ $e->id }}">{{ $e->name }}
+                            </option>
+                        @endforeach
+                    </select>
+                </div>
+            </div>
+
+            <div class="field-group col-md-3" id="damage-column-3" style="display: none;">
+                <div class="column">
+                    <label for="data_tipo_danno_3" class="form-label">Tipologia danno
+                        3</label>
+                    <select class="form-control" style="width:100%"
+                        wire:model="data_tipo_danno_3">
+                        <option value=""></option>
+                        @foreach ($tipi_danno as $t)
+                            <option value="{{ $t->id }}">{{ $t->name }}
+                            </option>
+                        @endforeach
+                    </select>
+                </div>
+                <div class="column">
+                    <label for="data_entita_danno_3" class="form-label">Entità del danno
+                        3</label>
+                    <select class="form-control" style="width:100%"
+                        wire:model="data_entita_danno_3">
+                        <option value=""></option>
+                        @foreach ($entita_danni as $e)
+                            <option value="{{ $e->id }}">{{ $e->name }}
+                            </option>
+                        @endforeach
+                    </select>
+                </div>
+                <div class="column">
+                    <label for="data_effetto_danno_3" class="form-label">Effetto del
+                        danno 3</label>
+                    <select class="form-control" style="width:100%"
+                        wire:model="data_effetto_danno_3">
+                        <option value=""></option>
+                        @foreach ($effetto_danni as $e)
+                            <option value="{{ $e->id }}">{{ $e->name }}
+                            </option>
+                        @endforeach
+                    </select>
+                </div>
+                <div class="column">
+                    <label for="data_parte_macchina_3" class="form-label">Zona veicolo
+                        3</label>
+                    <select class="form-control" style="width:100%"
+                        wire:model="data_parte_macchina_3">
+                        <option value=""></option>
+                        @foreach ($parti_macchina as $e)
+                            <option value="{{ $e->id }}">{{ $e->name }}
+                            </option>
+                        @endforeach
+                    </select>
+                </div>
+            </div>
+
+            <div class="field-group col-md-3" id="damage-column-4" style="display: none;">
+                <div class="column">
+                    <label for="data_tipo_danno_4" class="form-label">Tipologia danno
+                        4</label>
+                    <select class="form-control" style="width:100%"
+                        wire:model="data_tipo_danno_4">
+                        <option value=""></option>
+                        @foreach ($tipi_danno as $t)
+                            <option value="{{ $t->id }}">{{ $t->name }}
+                            </option>
+                        @endforeach
+                    </select>
+                </div>
+                <div class="column">
+                    <label for="data_entita_danno_4" class="form-label">Entità del danno
+                        4</label>
+                    <select class="form-control" style="width:100%"
+                        wire:model="data_entita_danno_4">
+                        <option value=""></option>
+                        @foreach ($entita_danni as $e)
+                            <option value="{{ $e->id }}">{{ $e->name }}
+                            </option>
+                        @endforeach
+                    </select>
+                </div>
+                <div class="column">
+                    <label for="data_effetto_danno_4" class="form-label">Effetto del
+                        danno 4</label>
+                    <select class="form-control" style="width:100%"
+                        wire:model="data_effetto_danno_4">
+                        <option value=""></option>
+                        @foreach ($effetto_danni as $e)
+                            <option value="{{ $e->id }}">{{ $e->name }}
+                            </option>
+                        @endforeach
+                    </select>
+                </div>
+                <div class="column">
+                    <label for="data_parte_macchina_4" class="form-label">Zona veicolo
+                        4</label>
+                    <select class="form-control" style="width:100%"
+                        wire:model="data_parte_macchina_4">
+                        <option value=""></option>
+                        @foreach ($parti_macchina as $e)
+                            <option value="{{ $e->id }}">{{ $e->name }}
+                            </option>
+                        @endforeach
+                    </select>
+                </div>
+            </div>
+        </div>
+
+        <div class="row mt-2">
+            <div class="col-12">
+                <button type="button" class="btn btn-primary" id="add-damage-btn"
+                    onclick="showNextDamageColumn()">
+                    Aggiungi Danni
+                </button>
+            </div>
+        </div>
+    </div>
+</div>
+
+<div class="column mt-3">
+    <label for="data_circostanze_presunte_incidente" class="form-label">Circostanze
+        presunte
+        incidente</label>
+    <textarea rows="5" class="form-control" id="data_circostanze_presunte_incidente"
+        placeholder="" wire:model="data_circostanze_presunte_incidente"></textarea>
+</div>

+ 106 - 0
resources/views/components/report/parti/accordion/veicolo/veicolo-infortunati.blade.php

@@ -0,0 +1,106 @@
+ {{-- <div class="col-md-4">
+                <div class="column">
+                    <label for="data_infortunato_extra_0" class="form-label">Selezionare
+                        infortunato</label>
+                    <div class="row">
+                        <div class="col-sm-6">
+                            <select class="form-control data_infortunato_extra_0"
+                                style="width:100%">
+                                <option value="{{ $data_infortunato_extra_0 }}">
+                                    {{ $this->getAnagrafica($data_infortunato_extra_0) }}
+                                </option>
+                            </select>
+                        </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>
+                            @else
+                            <a class="btn btn-primary" wire:click.prevent="addInfortunato(1)"
+                                data-toggle="modal" data-target="#anagraficaParte">+&nbsp;</a>
+                            @endif
+                        </div>
+                    </div>
+                </div>
+                <div class="column mt-3">
+                    <label for="data_infortunato_extra_1" class="form-label">Selezionare
+                        infortunato</label>
+                    <div class="row">
+                        <div class="col-sm-6">
+                            <select class="form-control data_infortunato_extra_1"
+                                style="width:100%">
+                                <option value="{{ $data_infortunato_extra_1 }}">
+                                    {{ $this->getAnagrafica($data_infortunato_extra_1) }}
+                                </option>
+                            </select>
+                        </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>
+                            @else
+                            <a class="btn btn-primary" wire:click.prevent="addInfortunato(2)"
+                                data-toggle="modal" data-target="#anagraficaParte">+&nbsp;</a>
+                            @endif
+                        </div>
+                    </div>
+                </div>
+                <div class="column mt-3">
+                    <label for="data_infortunato_extra_2" class="form-label">Selezionare
+                        infortunato</label>
+                    <div class="row">
+                        <div class="col-sm-6">
+                            <select class="form-control data_infortunato_extra_2"
+                                style="width:100%">
+                                <option value="{{ $data_infortunato_extra_2 }}">
+                                    {{ $this->getAnagrafica($data_infortunato_extra_2) }}
+                                </option>
+                            </select>
+                        </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>
+                            @else
+                            <a class="btn btn-primary" wire:click.prevent="addInfortunato(3)"
+                                data-toggle="modal" data-target="#anagraficaParte">+&nbsp;</a>
+                            @endif
+                        </div>
+                    </div>
+                </div>
+                <div class="column mt-3">
+                    <label for="data_infortunato_extra_3" class="form-label">Selezionare
+                        infortunato</label>
+                    <div class="row">
+                        <div class="col-sm-6">
+                            <select class="form-control data_infortunato_extra_3"
+                                style="width:100%">
+                                <option value="{{ $data_infortunato_extra_3 }}">
+                                    {{ $this->getAnagrafica($data_infortunato_extra_3) }}
+                                </option>
+                            </select>
+                        </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>
+                            @else
+                            <a class="btn btn-primary" wire:click.prevent="addInfortunato(4)"
+                                data-toggle="modal" data-target="#anagraficaParte">+&nbsp;</a>
+                            @endif
+                        </div>
+                    </div>
+                </div>
+            </div> --}}

+ 186 - 0
resources/views/components/report/parti/accordion/veicolo/veicolo-passeggeri.blade.php

@@ -0,0 +1,186 @@
+<div class="col-md-4">
+    <div class="column">
+        <label for="data_passeggero_0" class="form-label">Selezionare passeggero
+            (sedile
+            anteriore)</label>
+        <div class="row">
+            <div class="col-sm-6">
+                <select class="form-control data_passeggero_0" style="width:100%">
+                    <option value="{{ $data_passeggero_0 }}">
+                        {{ $this->getAnagrafica($data_passeggero_0) }}
+                    </option>
+                </select>
+            </div>
+            <div class="col-sm-4">
+                <a class="btn btn-primary editAnagrafica data_passeggero_0_edit"
+                    wire:click.prevent="editPasseggero(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-danger data_passeggero_0_remove"
+                    wire:click.prevent="removePasseggero(1)"><i
+                        class="fa fa-trash"></i>&nbsp;</a>
+                <a class="btn btn-primary data_passeggero_0_add"
+                    wire:click.prevent="addPasseggero(1)" data-toggle="modal"
+                    data-target="#anagraficaParte">+&nbsp;</a>
+            </div>
+        </div>
+    </div>
+    <div class="column mt-3">
+        <label for="data_infortunato_0" class="form-label">Infortunato</label>
+        <select class="form-control" wire:model="data_infortunato_0"
+            id="data_infortunato_0">
+            <option value=""></option>
+            <option value="1">Ferito</option>
+            <option value="2">Deceduto entro 24 ore</option>
+            <option value="3">Deceduto entro 30 giorni</option>
+        </select>
+    </div>
+    <div class="column mt-3" id="data_infortunato_0_select">
+        <label for="data_infortunato_ospedale_0" class="form-label">Ospedale
+            medicazione/ricovero</label>
+        <input class="form-control" type="text" id="data_infortunato_ospedale_0"
+            placeholder="" wire:model="data_infortunato_ospedale_0">
+    </div>
+    <div class="column mt-3">
+        <hr size="1">
+    </div>
+    <div class="column mt-3">
+        <label for="data_passeggero_1" class="form-label">Selezionare passeggero
+            (posteriore destra)</label>
+        <div class="row">
+            <div class="col-sm-6">
+                <select class="form-control data_passeggero_1" style="width:100%">
+                    <option value="{{ $data_passeggero_1 }}">
+                        {{ $this->getAnagrafica($data_passeggero_1) }}
+                    </option>
+                </select>
+            </div>
+            <div class="col-sm-4">
+                <a class="btn btn-primary editAnagrafica data_passeggero_1_edit"
+                    wire:click.prevent="editPasseggero(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-danger data_passeggero_1_remove"
+                    wire:click.prevent="removePasseggero(2)"><i
+                        class="fa fa-trash"></i>&nbsp;</a>
+                <a class="btn btn-primary data_passeggero_1_add"
+                    wire:click.prevent="addPasseggero(2)" data-toggle="modal"
+                    data-target="#anagraficaParte">+&nbsp;</a>
+
+            </div>
+        </div>
+    </div>
+    <div class="column mt-3">
+        <label for="data_infortunato_1" class="form-label">Infortunato</label>
+        <select class="form-control" wire:model="data_infortunato_1"
+            id="data_infortunato_1">
+            <option value=""></option>
+            <option value="1">Ferito</option>
+            <option value="2">Deceduto entro 24 ore</option>
+            <option value="3">Deceduto entro 30 giorni</option>
+        </select>
+    </div>
+    <div class="column mt-3" id="data_infortunato_1_select">
+        <label for="data_infortunato_ospedale_1" class="form-label">Ospedale
+            medicazione/ricovero</label>
+        <input class="form-control" type="text" id="data_infortunato_ospedale_1"
+            placeholder="" wire:model="data_infortunato_ospedale_1">
+    </div>
+    <div class="column mt-3">
+        <hr size="1">
+    </div>
+    <div class="column mt-3">
+        <label for="data_passeggero_2" class="form-label">Selezionare passeggero
+            (posteriore centrale)</label>
+        <div class="row">
+            <div class="col-sm-6">
+                <select class="form-control data_passeggero_2" style="width:100%">
+                    <option value="{{ $data_passeggero_2 }}">
+                        {{ $this->getAnagrafica($data_passeggero_2) }}
+                    </option>
+                </select>
+            </div>
+            <div class="col-sm-4">
+                <a class="btn btn-primary editAnagrafica data_passeggero_2_edit"
+                    wire:click.prevent="editPasseggero(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-danger data_passeggero_2_remove"
+                    wire:click.prevent="removePasseggero(3)"><i
+                        class="fa fa-trash"></i>&nbsp;</a>
+                <a class="btn btn-primary data_passeggero_2_add"
+                    wire:click.prevent="addPasseggero(3)" data-toggle="modal"
+                    data-target="#anagraficaParte">+&nbsp;</a>
+
+            </div>
+        </div>
+    </div>
+    <div class="column mt-3">
+        <label for="data_infortunato_2" class="form-label">Infortunato</label>
+        <select class="form-control" wire:model="data_infortunato_2"
+            id="data_infortunato_2">
+            <option value=""></option>
+            <option value="1">Ferito</option>
+            <option value="2">Deceduto entro 24 ore</option>
+            <option value="3">Deceduto entro 30 giorni</option>
+        </select>
+    </div>
+    <div class="column mt-3" id="data_infortunato_2_select">
+        <label for="data_infortunato_ospedale_2" class="form-label">Ospedale
+            medicazione/ricovero</label>
+        <input class="form-control" type="text" id="data_infortunato_ospedale_2"
+            placeholder="" wire:model="data_infortunato_ospedale_2">
+    </div>
+    <div class="column mt-3">
+        <hr size="1">
+    </div>
+    <div class="column mt-3">
+        <label for="data_passeggero_3" class="form-label">Selezionare passeggero
+            (posteriore sinistro)</label>
+        <div class="row">
+            <div class="col-sm-6">
+                <select class="form-control data_passeggero_3" style="width:100%">
+                    <option value="{{ $data_passeggero_3 }}">
+                        {{ $this->getAnagrafica($data_passeggero_3) }}
+                    </option>
+                </select>
+            </div>
+            <div class="col-sm-4">
+                <a class="btn btn-primary editAnagrafica data_passeggero_3_edit"
+                    wire:click.prevent="editPasseggero(4)" 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-danger data_passeggero_3_remove"
+                    wire:click.prevent="removePasseggero(4)"><i
+                        class="fa fa-trash"></i>&nbsp;</a>
+                <a class="btn btn-primary data_passeggero_3_add"
+                    wire:click.prevent="addPasseggero(4)" data-toggle="modal"
+                    data-target="#anagraficaParte">+&nbsp;</a>
+
+            </div>
+        </div>
+    </div>
+    <div class="column mt-3">
+        <label for="data_infortunato_3" class="form-label">Infortunato</label>
+        <select class="form-control" wire:model="data_infortunato_3"
+            id="data_infortunato_3">
+            <option value=""></option>
+            <option value="1">Ferito</option>
+            <option value="2">Deceduto entro 24 ore</option>
+            <option value="3">Deceduto entro 30 giorni</option>
+        </select>
+    </div>
+    <div class="column mt-3" id="data_infortunato_3_select">
+        <label for="data_infortunato_ospedale_3" class="form-label">Ospedale
+            medicazione/ricovero</label>
+        <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>

+ 85 - 0
resources/views/components/report/parti/accordion/veicolo/veicolo-posizione-destinazione.blade.php

@@ -0,0 +1,85 @@
+<div class="row mt-3">
+
+    <div class="col-md-4">
+        <div class="column">
+            <label for="data_posizione_statica_finale" class="form-label">Posizione
+                statica
+                finale</label>
+            <select class="form-control" style="width:100%"
+                wire:model="data_posizione_statica_finale">
+                <option value=""></option>
+                <option value="1">Come da documentazione fotografica</option>
+                <option value="2">Come rilievo planimetrico</option>
+                <option value="3">Coma da schizzo a vista non in scala</option>
+                <option value="4">Già rimosso</option>
+            </select>
+        </div>
+        <div class="column mt-3">
+            <label for="data_danni_visibili_riportati" class="form-label">Danni visibili
+                riportati</label>
+            <textarea rows="5" class="form-control" id="data_danni_visibili_riportati"
+                placeholder="" wire:model="data_danni_visibili_riportati"></textarea>
+        </div>
+        <div class="column mt-3">
+            <label for="data_danni_visibili_pre_esistenti" class="form-label">Danni
+                visibili
+                preesistenti</label>
+            <textarea rows="5" class="form-control" id="data_danni_visibili_pre_esistenti"
+                placeholder="" wire:model="data_danni_visibili_pre_esistenti"></textarea>
+        </div>
+
+    </div>
+    <div class="col-md-4">
+        <div class="column">
+
+            <label for="data_destinazione_veicolo" class="form-label">Destinazione
+                veicolo</label>
+            <select class="form-control" style="width:100%"
+                wire:model="data_destinazione_veicolo" id="data_destinazione_veicolo">
+                <option value=""></option>
+                <option value="1">Rimosso ai sensi dell'articolo 2028</option>
+                <option value="2">Sequestro art. 354 Codice Procedura Penale</option>
+                <option value="3">Sequestro art. 321 Codice Procedura Penale</option>
+                <option value="4">Sequestro</option>
+                <option value="5">Sequestro amministrativo</option>
+                <option value="6">Fermo amministrativo</option>
+                <option value="7">Ritirato dal conducente</option>
+            </select>
+        </div>
+        <div class="column mt-3" id="data_destinazione_veicolo_select_0">
+            <label for="data_destinazione_veicolo_affidato_a" class="form-label">Affidato
+                a</label>
+            <input class="form-control" type="text"
+                id="data_destinazione_veicolo_affidato_a" placeholder=""
+                wire:model="data_destinazione_veicolo_affidato_a">
+        </div>
+        <div class="column mt-3" id="data_destinazione_veicolo_select_1">
+            <label for="data_destinazione_veicolo_sequestro_num_art" class="form-label">Ai
+                sensi dell'art.</label>
+            <input class="form-control" type="text"
+                id="data_destinazione_veicolo_sequestro_num_art_{{$p->progressive}}" placeholder=""
+                wire:model="data_destinazione_veicolo_sequestro_num_art">
+        </div>
+        <div class="column mt-3" id="data_destinazione_veicolo_select_2">
+            <label for="data_destinazione_veicolo_amministrativo_num"
+                class="form-label">Numero fermo o sequestro amministrativo</label>
+            <input class="form-control" type="text"
+                id="data_destinazione_veicolo_amministrativo_num_{{$p->progressive}}" placeholder=""
+                wire:model="data_destinazione_veicolo_amministrativo_num">
+        </div>
+        <div class="column mt-3" id="data_destinazione_veicolo_select_3">
+            <label for="data_destinazione_veicolo_amministrativo_num_art_violato"
+                class="form-label">Art. violato</label>
+            <input class="form-control" type="text"
+                id="data_destinazione_veicolo_amministrativo_num_art_violato_{{$p->progressive}}" placeholder=""
+                wire:model="data_destinazione_veicolo_amministrativo_num_art_violato">
+        </div>
+        <div class="column" id="data_destinazione_veicolo_select_4">
+            <label for="data_destinazione_veicolo_amministrativo_cds"
+                class="form-label">Cds</label>
+            <input class="form-control" type="text"
+                id="data_destinazione_veicolo_amministrativo_cds_{{$p->progressive}}" placeholder=""
+                wire:model="data_destinazione_veicolo_amministrativo_cds">
+        </div>
+    </div>
+</div>

+ 99 - 0
resources/views/components/report/parti/accordion/veicolo/veicolo-proprietario.blade.php

@@ -0,0 +1,99 @@
+<div class="col-md-4">
+    <div class="column">
+        <label for="data_proprietari" class="form-label">Proprietario</label>
+        <div class="row">
+            <div class="col-sm-6">
+                <select class="form-control data_proprietari" style="width:100%">
+                    <option value="{{ $data_proprietari }}">
+                        {{ $this->getAnagrafica($data_proprietari) }}
+                    </option>
+                </select>
+            </div>
+            <div class="col-sm-4">
+                <a class="btn btn-primary editAnagrafica data_proprietari_edit"
+                    wire:click.prevent="editProprietario()" 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-danger data_proprietari_remove"
+                    wire:click.prevent="removeProprietario()"><i
+                        class="fa fa-trash"></i>&nbsp;</a>
+                <a class="btn btn-primary data_proprietari_add"
+                    wire:click.prevent="addProprietario()" data-toggle="modal"
+                    data-target="#anagraficaParte">+&nbsp;</a>
+            </div>
+        </div>
+
+    </div>
+
+    <div class="column">
+        <label for="data_coproprietari" class="form-label">Coproprietario</label>
+        <div class="row">
+            <div class="col-sm-6">
+                <select class="form-control data_coproprietari" style="width:100%">
+                    <option value="{{ $data_coproprietari }}">
+                        {{ $this->getAnagrafica($data_coproprietari) }}
+                    </option>
+                </select>
+            </div>
+            <div class="col-sm-4">
+                <a class="btn btn-primary editAnagrafica data_coproprietari_edit"
+                    wire:click.prevent="editCoproprietario()" 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-danger data_coproprietari_remove"
+                    wire:click.prevent="removeCoproprietario()"><i
+                        class="fa fa-trash"></i>&nbsp;</a>
+                <a class="btn btn-primary data_coproprietari_add"
+                    wire:click.prevent="addCoproprietario()" data-toggle="modal"
+                    data-target="#anagraficaParte">+&nbsp;</a>
+            </div>
+        </div>
+
+    </div>
+
+    <div class="column mt-3">
+        <label for="data_infortunato" class="form-label">Conducente
+            infortunato</label>
+        <select class="form-control" style="width:100%" wire:model="data_infortunato"
+            id="data_infortunato">
+            <option value=""></option>
+            <option value="1">Ferito</option>
+            <option value="2">Deceduto entro 24 ore</option>
+            <option value="3">Deceduto entro 30 giorni</option>
+        </select>
+    </div>
+    <div class="column mt-3" id="data_infortunato_select">
+        <label for="data_infortunato_ospedale" class="form-label">Ospedale
+            medicazione/ricovero</label>
+        <input class="form-control" type="text" id="data_infortunato_ospedale"
+            placeholder="" wire:model="data_infortunato_ospedale">
+    </div>
+    <div class="column mt-3">
+        <label for="data_patente_al_seguito" class="form-label">Patente al
+            seguito</label>
+        <select class="form-control" style="width:100%"
+            wire:model="data_patente_al_seguito">
+            <option value=""></option>
+            <option value="1">Si</option>
+            <option value="2">No</option>
+            <option value="3">Non prevista</option>
+        </select>
+    </div>
+    <div class="column mt-3">
+        <label for="data_generalizzato" class="form-label">Generalizzato</label>
+        <select class="form-control" style="width:100%" wire:model="data_generalizzato"
+            id="data_generalizzato">
+            <option value=""></option>
+            <option value="1">Sul luogo</option>
+            <option value="2">In ospedale</option>
+            <option value="3">Altrove</option>
+        </select>
+    </div>
+    <div class="column mt-3" id="data_generalizzato_select">
+        <label for="data_generalizzato_altrove" class="form-label">Altrove</label>
+        <input class="form-control" type="text" id="data_generalizzato_altrove"
+            placeholder="" wire:model="data_generalizzato_altrove">
+    </div>
+</div>

+ 7 - 8
resources/views/components/report/parti/parti-coinvolte.blade.php

@@ -84,11 +84,6 @@
                                                     data-target="#veicoloParte"
                                                     style="background-color: orange;border-color: orange;"><i
                                                         class="fa fa-edit"></i></i></a>
-                                                <a class="btn btn-primary editVeicoloData"
-                                                    wire:click.prevent="editVeicoloData({{ $p->progressive }})"
-                                                    data-toggle="modal"
-                                                    data-target="#veicoloDataParte"><i
-                                                        class="fa-solid fa-info"></i></a>
                                                 <a onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()"
                                                     wire:click.prevent="removeVeicoloParteCoinvolta({{ $p->progressive }})"
                                                     type="button" class="btn btn-danger "><i
@@ -110,10 +105,14 @@
                                     wire:click.prevent="removeParteCoinvolta({{ $p->progressive }})">Elimina</button>
                             </div>
                         </div>
-
-
                     </div>
-
+                    @if ($p->conducente_o_pedone == 2)
+                        <div class="col-12 mt-3">
+                            <div class="accordion" id="vehicleAccordion{{ $p->progressive }}">
+                                @include('components.report.parti.accordion.accordion-main', ['p' => $p])
+                            </div>
+                        </div>
+                     @endif
                     <div class="row">
                         <div class="col-sm-12">
                             <hr size="1">

+ 2 - 1
resources/views/components/report/veicoli/accordion/accertamenti-conducente-accordion.blade.php

@@ -1,4 +1,4 @@
-<div class="card collapsed-card">
+{{-- <div class="card collapsed-card">
     <div class="card-header">
         <h3 class="card-title">Accertamenti conducente</h3>
         <div class="card-tools">
@@ -78,3 +78,4 @@
         </div>
     </div>
 </div>
+ --}}

+ 2 - 1
resources/views/components/report/veicoli/accordion/accertamenti-passeggeri-accordion.blade.php

@@ -1,4 +1,4 @@
-<div class="card collapsed-card">
+{{-- <div class="card collapsed-card">
     <div class="card-header">
         <h3 class="card-title">Accertamenti passeggeri</h3>
         <div class="card-tools">
@@ -97,3 +97,4 @@
         </div>
     </div>
 </div>
+ --}}

+ 2 - 1
resources/views/components/report/veicoli/accordion/osservazioni-veicolo-accordion.blade.php

@@ -1,4 +1,4 @@
-<div class="card collapsed-card">
+{{-- <div class="card collapsed-card">
     <div class="card-header">
         <h3 class="card-title">Osservazioni sul veicolo</h3>
         <div class="card-tools">
@@ -165,3 +165,4 @@
         </div>
     </div>
 </div>
+ --}}

+ 2 - 1
resources/views/components/report/veicoli/accordion/provvedimenti-adottati-accordion.blade.php

@@ -1,4 +1,4 @@
-<div class="card collapsed-card">
+{{-- <div class="card collapsed-card">
     <div class="card-header">
         <h3 class="card-title">Provvedimenti adottati</h3>
         <div class="card-tools">
@@ -39,3 +39,4 @@
 
     </div>
 </div>
+ --}}

+ 2 - 1
resources/views/components/report/veicoli/accordion/veicolo-accordion.blade.php

@@ -1,4 +1,4 @@
-<div class="card  collapsed-card">
+{{-- <div class="card  collapsed-card">
     <div class="card-header">
         <h3 class="card-title">Veicolo</h3>
         <div class="card-tools">
@@ -48,3 +48,4 @@
 
     </div>
 </div>
+ --}}

+ 77 - 164
resources/views/livewire/report.blade.php

@@ -7,20 +7,20 @@
     @if (!$add && !$update)
         @include('components.report.list.verbali')
     @else
-            <form>
-                @include('components.report.modifica.header')
-                @include('components.report.modifica.menu')
-                    <div class="tab-content" id="custom-tabs-three-tabContent">
-                        @include('components.report.protocollo.protocollo')
-                        @include('components.report.parti.parti-accertatori')
-                        @include('components.report.segnalazione.segnalazione-page')
-                        @include('components.report.campo-sinistro.campo-sinistro')
-                        @include('components.report.segnaletica.segnaletica')
-                        @include('components.report.testimoni.testimone')
-                        @include('components.report.allegati.allegato')
-                    </div>
-                @include('components.report.modifica.footer')
-            </form>
+        <form>
+            @include('components.report.modifica.header')
+            @include('components.report.modifica.menu')
+            <div class="tab-content" id="custom-tabs-three-tabContent">
+                @include('components.report.protocollo.protocollo')
+                @include('components.report.parti.parti-accertatori')
+                @include('components.report.segnalazione.segnalazione-page')
+                @include('components.report.campo-sinistro.campo-sinistro')
+                @include('components.report.segnaletica.segnaletica')
+                @include('components.report.testimoni.testimone')
+                @include('components.report.allegati.allegato')
+            </div>
+            @include('components.report.modifica.footer')
+        </form>
 
         @include('components.report.anagrafica.anagrafica-modal')
 
@@ -163,7 +163,17 @@
             });
 
             const anagrafiche = ["richiestaAnagrafica", "data_testi_oculari_0", "data_testi_oculari_1",
-                "data_testi_oculari_2", "data_testi_oculari_3"
+                "data_testi_oculari_2", "data_testi_oculari_3","data_proprietari",
+                "data_coproprietari",
+                "data_conducenti",
+                "data_passeggero_0",
+                "data_passeggero_1",
+                "data_passeggero_2",
+                "data_passeggero_3",
+                "data_infortunato_extra_0",
+                "data_infortunato_extra_1",
+                "data_infortunato_extra_2",
+                "data_infortunato_extra_3"
             ];
             anagrafiche.forEach(anagraficheSelect);
 
@@ -433,98 +443,6 @@
             });
         });
 
-        Livewire.on('load-select-modal', () => {
-
-            initializeSelect2Controls();
-
-            const modals = [
-                "data_proprietari", "data_coproprietari", "data_conducenti",
-                "data_passeggero_0", "data_passeggero_1", "data_passeggero_2", "data_passeggero_3",
-                "data_infortunato_extra_0", "data_infortunato_extra_1", "data_infortunato_extra_2",
-                "data_infortunato_extra_3"
-            ];
-
-            function initializeSelect2(element, url = '/anagrafica') {
-                return $(element).select2({
-                    dropdownParent: document.body,
-                    theme: 'bootstrap4',
-                    ajax: {
-                        url: url,
-                        dataType: 'json'
-                    },
-                    width: '100%'
-                });
-            }
-
-            function initializeRelatedElements(value, data) {
-                $('#' + value + "_cinture").hide();
-                $('.' + value + "_edit").hide();
-                $('.' + value + "_remove").hide();
-                $('.' + value + "_add").hide();
-
-                if (data > 0) {
-                    $('.' + value + "_edit").show();
-                    $('.' + value + "_remove").show();
-                    $('#' + value + "_cinture").show();
-                } else {
-                    $('.' + value + "_add").show();
-                }
-            }
-
-            function modalsSelect(value) {
-                const $select = $('.' + value);
-                initializeSelect2($select);
-
-                if (["data_proprietari", "data_coproprietari", "data_conducenti", "data_passeggero_0",
-                    "data_passeggero_1", "data_passeggero_2", "data_passeggero_3"
-                ].includes(value)) {
-                    initializeRelatedElements(value, $select.val());
-                }
-
-                $select.on('change', function (e) {
-                    const data = $(this).val();
-                    @this.set(value, data);
-
-                    if (["data_proprietari", "data_coproprietari", "data_conducenti", "data_passeggero_0",
-                        "data_passeggero_1", "data_passeggero_2", "data_passeggero_3"
-                    ].includes(value)) {
-                        initializeRelatedElements(value, data);
-                    }
-                });
-
-                const currentValue = $select.val();
-                const currentText = $select.find('option:selected').text();
-                if (currentValue) {
-                    const option = new Option(currentText, currentValue, true, true);
-                    $select.append(option).trigger('change');
-                }
-            }
-
-            $('#veicoloDataParte select').each(function () {
-                if ($(this).data('select2')) {
-                    $(this).select2('destroy');
-                }
-            });
-
-            modals.forEach(modalsSelect);
-
-            $('.data_polizze').each(function () {
-                if ($(this).data('select2')) {
-                    $(this).select2('destroy');
-                }
-                initializeSelect2(this, '/polizze').on('change', function (e) {
-                    @this.set('data_polizze', $(this).val());
-                });
-            });
-
-            $('#veicoloDataParte').on('hidden.bs.modal', function () {
-                $('#veicoloDataParte select').each(function () {
-                    if ($(this).data('select2')) {
-                        $(this).select2('destroy');
-                    }
-                });
-            });
-        });
         Livewire.on('load-select-pedone', () => {
 
             var x = $("#generalizzato").val();
@@ -595,40 +513,6 @@
             $("#allegatiModal").modal('hide');
         });
 
-        Livewire.on('close-modal-parte-comune', () => {
-            const selectFields = [
-                'data_polizze',
-                'data_proprietari',
-                'data_conducenti',
-                'data_passeggero_0',
-                'data_passeggero_1',
-                'data_passeggero_2',
-                'data_passeggero_3',
-                'data_infortunato_extra_0',
-                'data_infortunato_extra_1',
-                'data_infortunato_extra_2',
-                'data_infortunato_extra_3'
-            ];
-
-            selectFields.forEach(field => {
-                if ($(`.${field}`).length) {
-                    $(`.${field}`).val(null).trigger('change');
-                    if ($(`.${field}`).data('select2')) {
-                        $(`.${field}`).select2('destroy');
-                    }
-                }
-            });
-
-            $("#veicoloDataParte").modal('hide');
-        });
-        $(document).on('click', '[data-dismiss="modal"]', function (e) {
-            const modalId = $(this).closest('.modal').attr('id');
-            if (modalId === 'veicoloDataParte') {
-                e.preventDefault();
-                Livewire.emit('closeAndResetModal');
-            }
-        });
-
         Livewire.on('attachments', (allegati) => {
             $("#attachments").html('');
             allegati.split("|").forEach(function (item) {
@@ -734,36 +618,65 @@
             }
         });
 
-        function initializeSelect2Controls() {
-            console.log("initializeSelect2Controls");
-            const modals = [
-                "data_proprietari", "data_coproprietari", "data_conducenti",
-                "data_passeggero_0", "data_passeggero_1", "data_passeggero_2", "data_passeggero_3",
-                "data_infortunato_extra_0", "data_infortunato_extra_1", "data_infortunato_extra_2",
-                "data_infortunato_extra_3"
-            ];
+        Livewire.on('initializeVehicleAccordion', () => {
+            console.log('initializeVehicleAccordion');
+            $('.accordion').on('show.bs.collapse', function(e) {
+                // Prevent Bootstrap's default behavior
+                e.preventDefault();
+                e.stopPropagation();
 
-            modals.forEach(value => {
-                $('.' + value).select2({
-                    dropdownParent: document.body,
+                const progressive = $(this).attr('id').replace('vehicleAccordion', '');
+                const collapseElement = $(this).find('.collapse');
+
+                // Let Livewire load the data first
+                Livewire.emit('editVeicoloData', progressive);
+
+                // Show the collapse after a brief delay to ensure data is loaded
+                setTimeout(() => {
+                    collapseElement.collapse('show');
+                }, 50);
+            });
+
+            $('.accordion').on('hide.bs.collapse', function(e) {
+                const progressive = $(this).attr('id').replace('vehicleAccordion', '');
+
+                // Clean up select2 instances
+                $(`#vehicleAccordion${progressive} select`).each(function() {
+                    if ($(this).data('select2')) {
+                        $(this).select2('destroy');
+                    }
+                });
+
+                Livewire.emit('closeAndResetModal');
+            });
+        });
+
+        // Initialize controls when data is loaded
+        Livewire.on('load-select-modal', () => {
+            const openAccordion = $('.collapse.show');
+            if (openAccordion.length) {
+                const progressive = openAccordion.closest('.accordion').attr('id').replace('vehicleAccordion', '');
+                initializeSelect2Controls(progressive);
+            }
+        });
+
+        function initializeSelect2Controls(progressive) {
+
+
+            // Initialize polizze select2
+            const polizzeSelector = `#data_polizze_${progressive}`;
+            if ($(polizzeSelector).length && !$(polizzeSelector).data('select2')) {
+                $(polizzeSelector).select2({
                     theme: 'bootstrap4',
                     ajax: {
-                        url: '/anagrafica',
+                        url: '/polizze',
                         dataType: 'json'
                     },
                     width: '100%'
+                }).on('change', function(e) {
+                    @this.set('data_polizze', $(this).val());
                 });
-            });
-
-            $('.data_polizze').select2({
-                dropdownParent: document.body,
-                theme: 'bootstrap4',
-                ajax: {
-                    url: '/polizze',
-                    dataType: 'json'
-                },
-                width: '100%'
-            });
+            }
         }
 
     </script>