HasVeicoli.php 31 KB

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