HasVeicoli.php 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571
  1. <?php
  2. namespace App\Http\Livewire\Traits;
  3. use App\Models\ReportDataPartiCoinvolte;
  4. use App\Models\ReportDataVeicoli;
  5. use App\Models\Vehicle;
  6. trait HasVeicoli{
  7. public $currentVeicolo;
  8. public $vei_tipo_id;
  9. public $vei_marca_id;
  10. public $vei_marca_altro;
  11. public $vei_modello_id;
  12. public $vei_modello_altro;
  13. public $vei_colore;
  14. public $vei_targa;
  15. public $vei_carta_circolazione;
  16. public $vei_carta_circolazione_rilasciata_da;
  17. public $vei_carta_circolazione_rilasciata_da_altro;
  18. public $vei_foreign_country;
  19. public $vei_carta_circolazione_rilasciata_da_di_foreign_country;
  20. public $vei_carta_circolazione_rilasciata_da_di_foreign_localita;
  21. public $vei_carta_circolazione_rilasciata_da_di;
  22. public $vei_carta_circolazione_rilasciata_il;
  23. public $vei_data_ultima_revisione;
  24. public $vei_cilindrata;
  25. public $vei_peso_complessivo;
  26. public $vei_destinazione_uso;
  27. public $vei_state;
  28. public $data_chilometri_percorsi;
  29. public $data_stato_veicolo;
  30. public $data_polizze;
  31. public $data_conducente_uguale_proprietario;
  32. public $data_conducenti;
  33. public $data_infortunato;
  34. public $data_infortunato_ospedale;
  35. public $data_patente_al_seguito;
  36. public $data_generalizzato;
  37. public $data_generalizzato_altrove;
  38. public $data_posizione_statica_finale;
  39. public $data_danni_visibili_riportati;
  40. public $data_danni_visibili_pre_esistenti;
  41. public $data_destinazione_veicolo;
  42. public $data_destinazione_veicolo_affidato_a;
  43. public $data_destinazione_veicolo_sequestro_num_art;
  44. public $data_destinazione_veicolo_amministrativo_num;
  45. public $data_destinazione_veicolo_amministrativo_num_art_violato;
  46. public $data_destinazione_veicolo_amministrativo_cds;
  47. public $data_circostanze_presunte_incidente;
  48. public $data_stato_pneumatici;
  49. public $data_marca_pneumatici;
  50. public $data_misura_pneumatici;
  51. public $data_dispositivi_ottici;
  52. public $data_tergicristalli;
  53. public $data_segnale_pericolo;
  54. public $data_abs;
  55. public $data_gps;
  56. public $data_marcia_inserita;
  57. public $data_cristallo;
  58. public $data_cristallo_posizione;
  59. public $data_specchio_retrovisore;
  60. public $data_specchio_lat_dx;
  61. public $data_specchio_lat_sx;
  62. public $data_attivazione_airbag;
  63. public $data_airbag_posizione;
  64. public $data_alcool_test;
  65. public $data_alcool_test_esito;
  66. public $data_drug_test;
  67. public $data_drug_test_esito;
  68. public $data_sistema_ritenuta_minori;
  69. public $data_sistema_ritenuta_minori_omologazione;
  70. public $data_verbale_violazione_numero_1;
  71. public $data_articolo_violato_1;
  72. public $data_cds_1;
  73. public $data_verbale_violazione_numero_2;
  74. public $data_articolo_violato_2;
  75. public $data_cds_2;
  76. public $data_verbale_violazione_numero_3;
  77. public $data_articolo_violato_3;
  78. public $data_cds_3;
  79. public $data_conducente_patente_numero;
  80. public $data_conducente_patente_categoria;
  81. public $data_conducente_patente_rilasciata_da;
  82. public $data_conducente_patente_rilasciata_da_altro;
  83. public $data_conducente_patente_rilasciata_il;
  84. public $data_conducente_patente_scadenza;
  85. public $data_conducente_patente_prescrizioni;
  86. public $data_conducente_patente_limitazioni_art_117_1;
  87. public $data_conducente_patente_limitazioni_art_117_2;
  88. public $data_conducente_patente_abilitazione;
  89. public $data_conducente_patente_abilitazione_numero;
  90. public $data_conducente_patente_abilitazione_rilasciata_da;
  91. public $data_conducente_patente_abilitazione_rilasciata_il;
  92. public $data_conducente_documento;
  93. public $data_conducente_documento_numero;
  94. public $data_conducente_sedicente;
  95. public $data_tipo_danno;
  96. public $data_entita_danno;
  97. public $data_effetto_danno;
  98. public $data_parte_macchina;
  99. public $data_tipo_danno_2;
  100. public $data_entita_danno_2;
  101. public $data_effetto_danno_2;
  102. public $data_parte_macchina_2;
  103. public $data_tipo_danno_3;
  104. public $data_entita_danno_3;
  105. public $data_effetto_danno_3;
  106. public $data_parte_macchina_3;
  107. public $data_tipo_danno_4;
  108. public $data_entita_danno_4;
  109. public $data_effetto_danno_4;
  110. public $data_parte_macchina_4;
  111. public $data_cinture_conducente;
  112. public $verbale_violazione_numero;
  113. public $articolo_violato;
  114. public function resetVeicolo(){
  115. $this->loadTarga = '';
  116. $this->currentVeicolo = 0;
  117. $this->currentProgressive = -1;
  118. $this->vei_tipo_id = null;
  119. $this->vei_marca_id = null;
  120. $this->vei_marca_altro = '';
  121. $this->vei_modello_id = null;
  122. $this->vei_modello_altro = '';
  123. $this->vei_colore = '';
  124. $this->vei_targa = '';
  125. $this->vei_carta_circolazione = '';
  126. $this->vei_carta_circolazione_rilasciata_da = '';
  127. $this->vei_carta_circolazione_rilasciata_da_altro = '';
  128. $this->vei_foreign_country = null;
  129. $this->vei_carta_circolazione_rilasciata_da_di_foreign_country = null;
  130. $this->vei_carta_circolazione_rilasciata_da_di_foreign_localita = null;
  131. $this->vei_carta_circolazione_rilasciata_da_di = '';
  132. $this->vei_carta_circolazione_rilasciata_il = null;
  133. $this->vei_data_ultima_revisione = null;
  134. $this->vei_cilindrata = '';
  135. $this->vei_peso_complessivo = '';
  136. $this->vei_destinazione_uso = '';
  137. $this->vei_state = '';
  138. }
  139. public function resetVeicoloData(){
  140. $this->currentProgressive = null;
  141. $this->currentVeicolo = null;
  142. $this->data_chilometri_percorsi = null;
  143. $this->data_stato_veicolo = null;
  144. $this->data_polizze = 0;
  145. $this->data_proprietari = null;
  146. $this->data_coproprietari = null;
  147. $this->data_conducente_uguale_proprietario = true;
  148. $this->data_conducenti = null;
  149. $this->data_infortunato = null;
  150. $this->data_infortunato_ospedale = '';
  151. $this->data_patente_al_seguito = null;
  152. $this->data_generalizzato = null;
  153. $this->data_generalizzato_altrove = '';
  154. $this->data_posizione_statica_finale = null;
  155. $this->data_danni_visibili_riportati = '';
  156. $this->data_danni_visibili_pre_esistenti = '';
  157. $this->data_destinazione_veicolo = null;
  158. $this->data_destinazione_veicolo_affidato_a = '';
  159. $this->data_destinazione_veicolo_sequestro_num_art = '';
  160. $this->data_destinazione_veicolo_amministrativo_num = '';
  161. $this->data_destinazione_veicolo_amministrativo_num_art_violato = '';
  162. $this->data_destinazione_veicolo_amministrativo_cds = '';
  163. $this->data_circostanze_presunte_incidente = '';
  164. $this->data_stato_pneumatici = null;
  165. $this->data_marca_pneumatici = '';
  166. $this->data_misura_pneumatici = '';
  167. $this->data_dispositivi_ottici = null;
  168. $this->data_tergicristalli = null;
  169. $this->data_segnale_pericolo = null;
  170. $this->data_abs = null;
  171. $this->data_gps = null;
  172. $this->data_marcia_inserita = null;
  173. $this->data_cristallo = null;
  174. $this->data_cristallo_posizione = '';
  175. $this->data_specchio_retrovisore = null;
  176. $this->data_specchio_lat_dx = null;
  177. $this->data_specchio_lat_sx = null;
  178. $this->data_attivazione_airbag = null;
  179. $this->data_airbag_posizione = '';
  180. $this->data_alcool_test = null;
  181. $this->data_alcool_test_esito = null;
  182. $this->data_drug_test = null;
  183. $this->data_drug_test_esito = null;
  184. $this->data_sistema_ritenuta_minori = null;
  185. $this->data_sistema_ritenuta_minori_omologazione = '';
  186. $this->data_verbale_violazione_numero_1 = '';
  187. $this->data_articolo_violato_1 = '';
  188. $this->data_cds_1 = '';
  189. $this->data_verbale_violazione_numero_2 = '';
  190. $this->data_articolo_violato_2 = '';
  191. $this->cds_2 = '';
  192. $this->data_verbale_violazione_numero_3 = '';
  193. $this->data_articolo_violato_3 = '';
  194. $this->data_cds_3 = '';
  195. $this->data_conducente_patente_numero = '';
  196. $this->data_conducente_patente_categoria = '';
  197. $this->data_conducente_patente_rilasciata_da = null;
  198. $this->data_conducente_patente_rilasciata_da_altro = '';
  199. $this->data_conducente_patente_rilasciata_il = null;
  200. $this->data_conducente_patente_scadenza = null;
  201. $this->data_conducente_patente_prescrizioni = null;
  202. $this->data_conducente_patente_limitazioni_art_117_1 = '';
  203. $this->data_conducente_patente_limitazioni_art_117_2 = '';
  204. $this->data_conducente_patente_abilitazione = null;
  205. $this->data_conducente_patente_abilitazione_numero = '';
  206. $this->data_conducente_patente_abilitazione_rilasciata_da = null;
  207. $this->data_conducente_patente_abilitazione_rilasciata_il = null;
  208. $this->data_conducente_documento = null;
  209. $this->data_conducente_documento_numero = '';
  210. $this->data_conducente_sedicente = null;
  211. $this->data_tipo_danno = null;
  212. $this->data_entita_danno = null;
  213. $this->data_effetto_danno = null;
  214. $this->data_parte_macchina = null;
  215. $this->data_tipo_danno_2 = null;
  216. $this->data_entita_danno_2 = null;
  217. $this->data_effetto_danno_2 = null;
  218. $this->data_parte_macchina_2 = null;
  219. $this->data_tipo_danno_3 = null;
  220. $this->data_entita_danno_3 = null;
  221. $this->data_effetto_danno_3 = null;
  222. $this->data_parte_macchina_3 = null;
  223. $this->data_tipo_danno_4 = null;
  224. $this->data_entita_danno_4 = null;
  225. $this->data_effetto_danno_4 = null;
  226. $this->data_parte_macchina_4 = null;
  227. $this->data_cinture_conducente = '';
  228. $this->data_cinture_passeggeri_0 = '';
  229. $this->data_cinture_passeggeri_1 = '';
  230. $this->data_cinture_passeggeri_2 = '';
  231. $this->data_cinture_passeggeri_3 = '';
  232. $this->data_casco_conducente = '';
  233. $this->data_casco_passeggero = '';
  234. $this->data_casco_omologazione_conducente = '';
  235. $this->data_casco_omologazione_passeggero = '';
  236. $this->data_passeggero_0 = 0;
  237. $this->data_infortunato_0 = 0;
  238. $this->data_infortunato_ospedale_0 = '';
  239. $this->data_passeggero_1 = 0;
  240. $this->data_infortunato_1 = 0;
  241. $this->data_infortunato_ospedale_1 = '';
  242. $this->data_passeggero_2 = 0;
  243. $this->data_infortunato_2 = 0;
  244. $this->data_infortunato_ospedale_2 = '';
  245. $this->data_passeggero_3 = 0;
  246. $this->data_infortunato_3 = 0;
  247. $this->data_infortunato_ospedale_3 = '';
  248. $this->data_infortunato_extra_0 = 0;
  249. $this->data_infortunato_extra_1 = 0;
  250. $this->data_infortunato_extra_2 = 0;
  251. $this->data_infortunato_extra_3 = 0;
  252. }
  253. public function addVeicolo($progressive)
  254. {
  255. $this->resetVeicolo();
  256. $this->currentProgressive = $progressive;
  257. }
  258. public function editVeicolo($veicolo)
  259. {
  260. $this->resetVeicolo();
  261. $vei = Vehicle::where('id', $veicolo)->first();
  262. if ($vei != null){
  263. $this->currentVeicolo = $veicolo;
  264. $this->vei_tipo_id = $vei->tipo_id;
  265. $this->vei_marca_id = $vei->marca_id;
  266. $this->vei_marca_altro = $vei->marca_altro;
  267. $this->vei_modello_id = $vei->modello_id;
  268. $this->vei_modello_altro = $vei->modello_altro;
  269. $this->vei_colore = $vei->colore;
  270. $this->vei_targa = $vei->targa;
  271. $this->vei_carta_circolazione = $vei->carta_circolazione;
  272. $this->vei_carta_circolazione_rilasciata_da = $vei->carta_circolazione_rilasciata_da;
  273. $this->vei_carta_circolazione_rilasciata_da_altro = $vei->carta_circolazione_rilasciata_da_altro;
  274. $this->vei_foreign_country = $vei->foreign_country;
  275. $this->vei_carta_circolazione_rilasciata_da_di_foreign_country = $vei->carta_circolazione_rilasciata_da_di_foreign_country;
  276. $this->vei_carta_circolazione_rilasciata_da_di_foreign_localita = $vei->carta_circolazione_rilasciata_da_di_foreign_localita;
  277. $this->vei_carta_circolazione_rilasciata_da_di = $vei->carta_circolazione_rilasciata_da_di;
  278. $this->vei_carta_circolazione_rilasciata_il = $vei->carta_circolazione_rilasciata_il;
  279. $this->vei_data_ultima_revisione = $vei->data_ultima_revisione;
  280. $this->vei_cilindrata = $vei->cilindrata;
  281. $this->vei_peso_complessivo = $vei->peso_complessivo;
  282. $this->vei_destinazione_uso = $vei->destinazione_uso;
  283. $this->vei_state = $vei->state;
  284. }
  285. $this->emit('dataLoaded');
  286. }
  287. public function editVeicoloData($progressive){
  288. $this->resetVeicoloData();
  289. $this->currentProgressive = $progressive;
  290. $data = ReportDataVeicoli::where('progressive', $progressive)->where('report_id', $this->dataId)->first();
  291. if ($data != null){
  292. $this->currentVeicolo = $data->veicolo;
  293. $this->data_chilometri_percorsi = $data->chilometri_percorsi;
  294. $this->data_stato_veicolo = $data->stato_veicolo;
  295. $this->data_polizze = $data->polizze;
  296. $this->data_proprietari = $data->proprietari;
  297. $this->data_coproprietari = $data->coproprietari;
  298. $this->data_conducente_uguale_proprietario = $data->conducente_uguale_proprietario;
  299. $this->data_conducenti = $data->conducenti;
  300. $this->data_infortunato = $data->infortunato;
  301. $this->data_infortunato_ospedale = $data->infortunato_ospedale;
  302. $this->data_patente_al_seguito = $data->patente_al_seguito;
  303. $this->data_generalizzato = $data->generalizzato;
  304. $this->data_generalizzato_altrove = $data->generalizzato_altrove;
  305. $this->data_posizione_statica_finale = $data->posizione_statica_finale;
  306. $this->data_danni_visibili_riportati = $data->danni_visibili_riportati;
  307. $this->data_danni_visibili_pre_esistenti = $data->danni_visibili_pre_esistenti;
  308. $this->data_destinazione_veicolo = $data->destinazione_veicolo;
  309. $this->data_destinazione_veicolo_affidato_a = $data->destinazione_veicolo_affidato_a;
  310. $this->data_destinazione_veicolo_sequestro_num_art = $data->destinazione_veicolo_sequestro_num_art;
  311. $this->data_destinazione_veicolo_amministrativo_num = $data->destinazione_veicolo_amministrativo_num;
  312. $this->data_destinazione_veicolo_amministrativo_num_art_violato = $data->destinazione_veicolo_amministrativo_num_art_violato;
  313. $this->data_destinazione_veicolo_amministrativo_cds = $data->destinazione_veicolo_amministrativo_cds;
  314. $this->data_circostanze_presunte_incidente = $data->circostanze_presunte_incidente;
  315. $this->data_stato_pneumatici = $data->stato_pneumatici;
  316. $this->data_marca_pneumatici = $data->marca_pneumatici;
  317. $this->data_misura_pneumatici = $data->misura_pneumatici;
  318. $this->data_dispositivi_ottici = $data->dispositivi_ottici;
  319. $this->data_tergicristalli = $data->tergicristalli;
  320. $this->data_segnale_pericolo = $data->segnale_pericolo;
  321. $this->data_abs = $data->abs;
  322. $this->data_gps = $data->gps;
  323. $this->data_marcia_inserita = $data->marcia_inserita;
  324. $this->data_cristallo = $data->cristallo;
  325. $this->data_cristallo_posizione = $data->cristallo_posizione;
  326. $this->data_specchio_retrovisore = $data->specchio_retrovisore;
  327. $this->data_specchio_lat_dx = $data->specchio_lat_dx;
  328. $this->data_specchio_lat_sx = $data->specchio_lat_sx;
  329. $this->data_attivazione_airbag = $data->attivazione_airbag;
  330. $this->data_airbag_posizione = $data->airbag_posizione;
  331. $this->data_alcool_test = $data->alcool_test;
  332. $this->data_alcool_test_esito = $data->alcool_test_esito;
  333. $this->data_drug_test = $data->drug_test;
  334. $this->data_drug_test_esito = $data->drug_test_esito;
  335. $this->data_sistema_ritenuta_minori = $data->sistema_ritenuta_minori;
  336. $this->data_sistema_ritenuta_minori_omologazione = $data->sistema_ritenuta_minori_omologazione;
  337. $this->data_verbale_violazione_numero_1 = $data->verbale_violazione_numero_1;
  338. $this->data_articolo_violato_1 = $data->articolo_violato_1;
  339. $this->data_cds_1 = $data->cds_1;
  340. $this->data_verbale_violazione_numero_2 = $data->verbale_violazione_numero_2;
  341. $this->data_articolo_violato_2 = $data->articolo_violato_2;
  342. $this->data_cds_2 = $data->cds_2;
  343. $this->data_verbale_violazione_numero_3 = $data->verbale_violazione_numero_3;
  344. $this->data_articolo_violato_3 = $data->articolo_violato_3;
  345. $this->data_cds_3 = $data->cds_3;
  346. $this->data_conducente_patente_numero = $data->conducente_patente_numero;
  347. $this->data_conducente_patente_categoria = $data->conducente_patente_categoria;
  348. $this->data_conducente_patente_rilasciata_da = $data->conducente_patente_rilasciata_da;
  349. $this->data_conducente_patente_rilasciata_da_altro = $data->conducente_patente_rilasciata_da_altro;
  350. $this->data_conducente_patente_rilasciata_il = $data->conducente_patente_rilasciata_il;
  351. $this->data_conducente_patente_scadenza = $data->conducente_patente_scadenza;
  352. $this->data_conducente_patente_prescrizioni = $data->conducente_patente_prescrizioni;
  353. $this->data_conducente_patente_limitazioni_art_117_1 = $data->conducente_patente_limitazioni_art_117_1;
  354. $this->data_conducente_patente_limitazioni_art_117_2 = $data->conducente_patente_limitazioni_art_117_2;
  355. $this->data_conducente_patente_abilitazione = $data->conducente_patente_abilitazione;
  356. $this->data_conducente_patente_abilitazione_numero = $data->conducente_patente_abilitazione_numero;
  357. $this->data_conducente_patente_abilitazione_rilasciata_da = $data->conducente_patente_abilitazione_rilasciata_da;
  358. $this->data_conducente_patente_abilitazione_rilasciata_il = $data->conducente_patente_abilitazione_rilasciata_il;
  359. $this->data_conducente_documento = $data->conducente_documento;
  360. $this->data_conducente_documento_numero = $data->conducente_documento_numero;
  361. $this->data_conducente_sedicente = $data->conducente_sedicente;
  362. $this->data_tipo_danno = $data->tipo_danno;
  363. $this->data_entita_danno = $data->entita_danno;
  364. $this->data_effetto_danno = $data->effetto_danno;
  365. $this->data_parte_macchina = $data->parte_macchina;
  366. $this->data_tipo_danno_2 = $data->tipo_danno_2;
  367. $this->data_entita_danno_2 = $data->entita_danno_2;
  368. $this->data_effetto_danno_2 = $data->effetto_danno_2;
  369. $this->data_parte_macchina_2 = $data->parte_macchina_2;
  370. $this->data_tipo_danno_3 = $data->tipo_danno_3;
  371. $this->data_entita_danno_3 = $data->entita_danno_3;
  372. $this->data_effetto_danno_3 = $data->effetto_danno_3;
  373. $this->data_parte_macchina_3 = $data->parte_macchina_3;
  374. $this->data_tipo_danno_4 = $data->tipo_danno_4;
  375. $this->data_entita_danno_4 = $data->entita_danno_4;
  376. $this->data_effetto_danno_4 = $data->effetto_danno_4;
  377. $this->data_parte_macchina_4 = $data->parte_macchina_4;
  378. }else{
  379. if ($this->data_conducenti == "" || $this->data_conducenti == 0){
  380. $an = ReportDataPartiCoinvolte::where('report_id', $this->dataId)->where('progressive', $progressive)->first();
  381. $this->data_conducenti = $an->anagrafica;
  382. }
  383. }
  384. $cinture = \App\Models\ReportDataCintureSicurezza::where('progressive', $progressive)->where('report_id', $this->dataId)->first();
  385. if ($cinture != null){
  386. $this->data_cinture_conducente = $cinture->conducente;
  387. $this->data_cinture_passeggeri_0 = $cinture->passeggeri_0;
  388. $this->data_cinture_passeggeri_1 = $cinture->passeggeri_1;
  389. $this->data_cinture_passeggeri_2 = $cinture->passeggeri_2;
  390. $this->data_cinture_passeggeri_3 = $cinture->passeggeri_3;
  391. }
  392. $casco = \App\Models\ReportDataUsoDelCasco::where('progressive', $progressive)->where('report_id', $this->dataId)->first();
  393. if ($casco != null){
  394. $this->data_casco_conducente = $casco->conducente;
  395. $this->data_casco_passeggero = $casco->passeggeri;
  396. }
  397. $omologazione = \App\Models\ReportDataUsoDelCascoOmologazione::where('progressive', $progressive)->where('report_id', $this->dataId)->first();
  398. if ($omologazione != null){
  399. $this->data_casco_omologazione_conducente = $omologazione->conducente;
  400. $this->data_casco_omologazione_passeggero = $omologazione->passeggeri;
  401. }
  402. $passeggeri = \App\Models\ReportDataPasseggeri::where('progressive', $progressive)->where('report_id', $this->dataId)->get();
  403. foreach($passeggeri as $idx => $pa){
  404. if($idx == 0){
  405. $this->data_passeggero_0 = $pa->passeggero;
  406. $this->data_infortunato_0 = $pa->infortunato;
  407. $this->data_infortunato_ospedale_0 = $pa->infortunato_ospedale;
  408. }
  409. if($idx == 1){
  410. $this->data_passeggero_1 = $pa->passeggero;
  411. $this->data_infortunato_1 = $pa->infortunato;
  412. $this->data_infortunato_ospedale_1 = $pa->infortunato_ospedale;
  413. }
  414. if($idx == 2){
  415. $this->data_passeggero_2 = $pa->passeggero;
  416. $this->data_infortunato_2 = $pa->infortunato;
  417. $this->data_infortunato_ospedale_2 = $pa->infortunato_ospedale;
  418. }
  419. if($idx == 3){
  420. $this->data_passeggero_3 = $pa->passeggero;
  421. $this->data_infortunato_3 = $pa->infortunato;
  422. $this->data_infortunato_ospedale_3 = $pa->infortunato_ospedale;
  423. }
  424. }
  425. $infortunati = \App\Models\ReportDataInfortunati::where('progressive', $progressive)->where('report_id', $this->dataId)->get();
  426. foreach($infortunati as $idx => $i){
  427. if($idx == 0)
  428. $this->data_infortunato_extra_0 = $i->infortunato;
  429. if($idx == 1)
  430. $this->data_infortunato_extra_1 = $i->infortunato;
  431. if($idx == 2)
  432. $this->data_infortunato_extra_2 = $i->infortunato;
  433. if($idx == 3)
  434. $this->data_infortunato_extra_3 = $i->infortunato;
  435. }
  436. $this->emit('load-select-modal');
  437. if ($this->data_polizze > 0)
  438. $this->emit('add-default-value', $this->data_polizze, $this->getPolizza($this->data_polizze), 'data_polizze');
  439. if ($this->data_proprietari > 0)
  440. $this->emit('add-default-value', $this->data_proprietari, $this->getAnagrafica($this->data_proprietari), 'data_proprietari');
  441. if ($this->data_coproprietari > 0)
  442. $this->emit('add-default-value', $this->data_coproprietari, $this->getAnagrafica($this->data_coproprietari), 'data_coproprietari');
  443. if ($this->data_passeggero_0 > 0)
  444. $this->emit('add-default-value', $this->data_passeggero_0, $this->getAnagrafica($this->data_passeggero_0), 'data_passeggero_0');
  445. if ($this->data_passeggero_1 > 0)
  446. $this->emit('add-default-value', $this->data_passeggero_1, $this->getAnagrafica($this->data_passeggero_1), 'data_passeggero_1');
  447. if ($this->data_passeggero_2 > 0)
  448. $this->emit('add-default-value', $this->data_passeggero_2, $this->getAnagrafica($this->data_passeggero_2), 'data_passeggero_2');
  449. if ($this->data_passeggero_3 > 0)
  450. $this->emit('add-default-value', $this->data_passeggero_3, $this->getAnagrafica($this->data_passeggero_3), 'data_passeggero_3');
  451. if ($this->data_infortunato_extra_0 > 0)
  452. $this->emit('add-default-value', $this->data_infortunato_extra_0, $this->getAnagrafica($this->data_infortunato_extra_0), 'data_infortunato_extra_0');
  453. if ($this->data_infortunato_extra_1 > 0)
  454. $this->emit('add-default-value', $this->data_infortunato_extra_1, $this->getAnagrafica($this->data_infortunato_extra_1), 'data_infortunato_extra_1');
  455. if ($this->data_infortunato_extra_2 > 0)
  456. $this->emit('add-default-value', $this->data_infortunato_extra_2, $this->getAnagrafica($this->data_infortunato_extra_2), 'data_infortunato_extra_2');
  457. if ($this->data_infortunato_extra_3 > 0)
  458. $this->emit('add-default-value', $this->data_infortunato_extra_3, $this->getAnagrafica($this->data_infortunato_extra_3), 'data_infortunato_extra_3');
  459. if ($this->data_conducenti > 0)
  460. $this->emit('add-default-value', $this->data_conducenti, $this->getAnagrafica($this->data_conducenti), 'data_conducenti');
  461. }
  462. public function getVeicolo($veicolo){
  463. if ($veicolo > 0)
  464. {
  465. $ret = Vehicle::findOrFail($veicolo);
  466. return ($ret->marca ? $ret->marca->name : '') . " " . ($ret->modello ? $ret->modello->name : '') . " " . $ret->targa;
  467. }
  468. return "";
  469. }
  470. public function veicoloSave()
  471. {
  472. $this->validate([
  473. 'vei_tipo_id' => 'required',
  474. 'vei_marca_id' => 'required',
  475. 'vei_modello_id' => 'required',
  476. 'vei_carta_circolazione_rilasciata_da' => 'required',
  477. 'vei_foreign_country' => 'required',
  478. 'vei_carta_circolazione_rilasciata_da_di' => 'required',
  479. 'vei_destinazione_uso' => 'required',
  480. ], [
  481. 'vei_tipo_id.required' => 'Il campo "Tipo di veicolo" è obbligatorio.',
  482. 'vei_marca_id.required' => 'Il campo "Marca" è obbligatorio.',
  483. 'vei_modello_id.required' => 'Il campo "Modello" è obbligatorio.',
  484. 'vei_carta_circolazione_rilasciata_da.required' => 'Il campo "Rilasciata da" è obbligatorio.',
  485. 'vei_foreign_country.required' => 'Il campo "Paese di rilascio" è obbligatorio.',
  486. 'vei_carta_circolazione_rilasciata_da_di.required' => 'Il campo "Località di rilascio" è obbligatorio.',
  487. 'vei_destinazione_uso.required' => 'Il campo "Destinazione d\'uso" è obbligatorio.',
  488. ]);
  489. if ($this->currentVeicolo > 0){
  490. Vehicle::whereId($this->currentVeicolo)->update([
  491. 'tipo_id' => $this->vei_tipo_id,
  492. 'marca_id' => $this->vei_marca_id,
  493. 'marca_altro' => $this->vei_marca_altro,
  494. 'modello_id' => $this->vei_modello_id,
  495. 'modello_altro' => $this->vei_modello_altro,
  496. 'colore' => $this->vei_colore,
  497. 'targa' => $this->vei_targa,
  498. 'carta_circolazione' => $this->vei_carta_circolazione,
  499. 'carta_circolazione_rilasciata_da' => $this->vei_carta_circolazione_rilasciata_da,
  500. 'carta_circolazione_rilasciata_da_altro' => $this->vei_carta_circolazione_rilasciata_da_altro,
  501. 'foreign_country' => $this->vei_foreign_country,
  502. 'carta_circolazione_rilasciata_da_di_foreign_country' => $this->vei_carta_circolazione_rilasciata_da_di_foreign_country,
  503. 'carta_circolazione_rilasciata_da_di_foreign_localita' => $this->vei_carta_circolazione_rilasciata_da_di_foreign_localita,
  504. 'carta_circolazione_rilasciata_da_di' => $this->vei_carta_circolazione_rilasciata_da_di,
  505. 'carta_circolazione_rilasciata_il' => $this->vei_carta_circolazione_rilasciata_il,
  506. 'data_ultima_revisione' => $this->vei_data_ultima_revisione,
  507. 'cilindrata' => $this->vei_cilindrata,
  508. 'peso_complessivo' => $this->vei_peso_complessivo,
  509. 'destinazione_uso' => $this->vei_destinazione_uso
  510. ]);
  511. }else{
  512. $veicolo = Vehicle::create([
  513. 'tipo_id' => $this->vei_tipo_id,
  514. 'marca_id' => $this->vei_marca_id,
  515. 'marca_altro' => $this->vei_marca_altro,
  516. 'modello_id' => $this->vei_modello_id,
  517. 'modello_altro' => $this->vei_modello_altro,
  518. 'colore' => $this->vei_colore,
  519. 'targa' => $this->vei_targa,
  520. 'carta_circolazione' => $this->vei_carta_circolazione,
  521. 'carta_circolazione_rilasciata_da' => $this->vei_carta_circolazione_rilasciata_da,
  522. 'carta_circolazione_rilasciata_da_altro' => $this->vei_carta_circolazione_rilasciata_da_altro,
  523. 'foreign_country' => $this->vei_foreign_country,
  524. 'carta_circolazione_rilasciata_da_di_foreign_country' => $this->vei_carta_circolazione_rilasciata_da_di_foreign_country,
  525. 'carta_circolazione_rilasciata_da_di_foreign_localita' => $this->vei_carta_circolazione_rilasciata_da_di_foreign_localita,
  526. 'carta_circolazione_rilasciata_da_di' => $this->vei_carta_circolazione_rilasciata_da_di,
  527. 'carta_circolazione_rilasciata_il' => $this->vei_carta_circolazione_rilasciata_il,
  528. 'data_ultima_revisione' => $this->vei_data_ultima_revisione,
  529. 'cilindrata' => $this->vei_cilindrata,
  530. 'peso_complessivo' => $this->vei_peso_complessivo,
  531. 'destinazione_uso' => $this->vei_destinazione_uso
  532. ]);
  533. $this->updateVeicoloParteCoinvolta($veicolo->id, $this->currentProgressive);
  534. }
  535. $this->resetVeicolo();
  536. $this->emit('close-modal');
  537. }
  538. }