|
225 | 225 | <input type="hidden" name="id_scadenza['.$i.']" value="'.$scadenza['id'].'"> |
226 | 226 | <td> |
227 | 227 | '.($dir == 'entrata' ? |
228 | | - '{[ "type": "select", "name": "id_banca_azienda['.$i.']", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $anagrafica_azienda->id]).', "value": "'.$scadenza['id_banca_azienda'].'", "icon-after": "add|'.$id_modulo_banche.'|id_anagrafica='.$anagrafica_azienda->id.'", "onchange": "aggiornaScadenzaInline('.$scadenza['id'].')" ]}' |
| 228 | + '{[ "type": "select", "name": "id_banca_azienda['.$i.']", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $anagrafica_azienda->id]).', "value": "'.$scadenza['id_banca_azienda'].'", "icon-after": "add|'.$id_modulo_banche.'|id_anagrafica='.$anagrafica_azienda->id.'", "onchange": "aggiornaScadenzaInline('.$scadenza['id'].')", "onblur": "aggiornaScadenzaInline('.$scadenza['id'].')" ]}' |
229 | 229 | : |
230 | | - '{[ "type": "select", "name": "id_banca_controparte['.$i.']", "ajax-source": "banche", "select-options":'.json_encode(['id_anagrafica' => $scadenza['idanagrafica']]).', "value": "'.$scadenza['id_banca_controparte'].'", "icon-after": "add|'.$id_modulo_banche.'|idanagrafica='.$record['idanagrafica'].'", "onchange": "aggiornaScadenzaInline('.$scadenza['id'].')"]} |
| 230 | + '{[ "type": "select", "name": "id_banca_controparte['.$i.']", "ajax-source": "banche", "select-options":'.json_encode(['id_anagrafica' => $scadenza['idanagrafica']]).', "value": "'.$scadenza['id_banca_controparte'].'", "icon-after": "add|'.$id_modulo_banche.'|idanagrafica='.$record['idanagrafica'].'", "onchange": "aggiornaScadenzaInline('.$scadenza['id'].')", "onblur": "aggiornaScadenzaInline('.$scadenza['id'].')"]} |
231 | 231 | ').' |
232 | 232 | </td> |
233 | 233 |
|
234 | 234 | <td> |
235 | 235 | '.($dir == 'entrata' ? |
236 | | - '{[ "type": "select", "name": "id_banca_controparte['.$i.']", "ajax-source": "banche", "select-options":'.json_encode(['id_anagrafica' => $scadenza['idanagrafica']]).', "value": "'.$scadenza['id_banca_controparte'].'", "icon-after": "add|'.$id_modulo_banche.'|idanagrafica='.$record['idanagrafica'].'", "onchange": "aggiornaScadenzaInline('.$scadenza['id'].')"]}' |
| 236 | + '{[ "type": "select", "name": "id_banca_controparte['.$i.']", "ajax-source": "banche", "select-options":'.json_encode(['id_anagrafica' => $scadenza['idanagrafica']]).', "value": "'.$scadenza['id_banca_controparte'].'", "icon-after": "add|'.$id_modulo_banche.'|idanagrafica='.$record['idanagrafica'].'", "onchange": "aggiornaScadenzaInline('.$scadenza['id'].')", "onblur": "aggiornaScadenzaInline('.$scadenza['id'].')"]}' |
237 | 237 | : |
238 | | - '{[ "type": "select", "name": "id_banca_azienda['.$i.']", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $anagrafica_azienda->id]).', "value": "'.$scadenza['id_banca_azienda'].'", "icon-after": "add|'.$id_modulo_banche.'|id_anagrafica='.$anagrafica_azienda->id.'", "onchange": "aggiornaScadenzaInline('.$scadenza['id'].')" ]}' |
| 238 | + '{[ "type": "select", "name": "id_banca_azienda['.$i.']", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $anagrafica_azienda->id]).', "value": "'.$scadenza['id_banca_azienda'].'", "icon-after": "add|'.$id_modulo_banche.'|id_anagrafica='.$anagrafica_azienda->id.'", "onchange": "aggiornaScadenzaInline('.$scadenza['id'].')", "onblur": "aggiornaScadenzaInline('.$scadenza['id'].')" ]}' |
239 | 239 | ).' |
240 | 240 | </td> |
241 | 241 |
|
242 | 242 | <td> |
243 | | - {[ "type": "select", "name": "id_pagamento['.$i.']", "values": "query=SELECT `co_pagamenti`.`id`, `fe_modalita_pagamento_lang`.`title` as descrizione FROM `fe_modalita_pagamento` LEFT JOIN `fe_modalita_pagamento_lang` ON (`fe_modalita_pagamento_lang`.`id_record` = `fe_modalita_pagamento`.`codice` AND `fe_modalita_pagamento_lang`.`id_lang` = '.Models\Locale::getDefault()->id.') INNER JOIN `co_pagamenti` ON `fe_modalita_pagamento`.`codice` = `co_pagamenti`.`codice_modalita_pagamento_fe` GROUP BY title", "value": "'.$pagamento.'", "onchange": "aggiornaScadenzaInline('.$scadenza['id'].')" ]} |
| 243 | + {[ "type": "select", "name": "id_pagamento['.$i.']", "values": "query=SELECT `co_pagamenti`.`id`, `fe_modalita_pagamento_lang`.`title` as descrizione FROM `fe_modalita_pagamento` LEFT JOIN `fe_modalita_pagamento_lang` ON (`fe_modalita_pagamento_lang`.`id_record` = `fe_modalita_pagamento`.`codice` AND `fe_modalita_pagamento_lang`.`id_lang` = '.Models\Locale::getDefault()->id.') INNER JOIN `co_pagamenti` ON `fe_modalita_pagamento`.`codice` = `co_pagamenti`.`codice_modalita_pagamento_fe` GROUP BY title", "value": "'.$pagamento.'", "onchange": "aggiornaScadenzaInline('.$scadenza['id'].')", "onblur": "aggiornaScadenzaInline('.$scadenza['id'].')" ]} |
244 | 244 | </td> |
245 | 245 |
|
246 | 246 | <td> |
247 | 247 | {[ "type": "date", "name": "scadenza['.$i.']", "value": "'.$scadenza['scadenza'].'", "readonly": 1 ]} |
248 | 248 | </td> |
249 | 249 |
|
250 | 250 | <td> |
251 | | - {[ "type": "date", "name": "data_concordata['.$i.']", "value": "'.$scadenza['data_concordata'].'", "onchange": "aggiornaScadenzaInline('.$scadenza['id'].')" ]} |
| 251 | + {[ "type": "date", "name": "data_concordata['.$i.']", "value": "'.$scadenza['data_concordata'].'", "onchange": "aggiornaScadenzaInline('.$scadenza['id'].')", "onblur": "aggiornaScadenzaInline('.$scadenza['id'].')" ]} |
252 | 252 | </td> |
253 | 253 |
|
254 | 254 | <td class="text-right"> |
255 | | - {[ "type": "number", "name": "da_pagare['.$i.']", "decimals": 2, "value": "'.numberFormat($scadenza['da_pagare'], 2).'", "onchange": "controlloTotale(); aggiornaScadenzaInline('.$scadenza['id'].')" ]} |
| 255 | + {[ "type": "number", "name": "da_pagare['.$i.']", "decimals": 2, "value": "'.numberFormat($scadenza['da_pagare'], 2).'", "onchange": "controlloTotale(); aggiornaScadenzaInline('.$scadenza['id'].')", "onblur": "aggiornaScadenzaInline('.$scadenza['id'].')" ]} |
256 | 256 | </td> |
257 | 257 |
|
258 | 258 | <td class="text-right"> |
259 | | - {[ "type": "number", "name": "pagato['.$i.']", "decimals": 2, "value": "'.numberFormat($scadenza['pagato']).'", "onchange": "aggiornaScadenzaInline('.$scadenza['id'].')" ]} |
| 259 | + {[ "type": "number", "name": "pagato['.$i.']", "decimals": 2, "value": "'.numberFormat($scadenza['pagato']).'", "onchange": "aggiornaScadenzaInline('.$scadenza['id'].')", "onblur": "aggiornaScadenzaInline('.$scadenza['id'].')" ]} |
260 | 260 | </td> |
261 | 261 |
|
262 | 262 | <td> |
|
319 | 319 | <input type="hidden" name="id_scadenza[-id-]" value=""> |
320 | 320 | <td> |
321 | 321 | '.($dir == 'entrata' ? |
322 | | -'{[ "type": "select", "name": "id_banca_azienda[-id-]", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $anagrafica_azienda->id]).', "icon-after": "add|'.$id_modulo_banche.'|id_anagrafica='.$anagrafica_azienda->id.'" ]}' |
| 322 | +'{[ "type": "select", "name": "id_banca_azienda[-id-]", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $anagrafica_azienda->id]).', "icon-after": "add|'.$id_modulo_banche.'|id_anagrafica='.$anagrafica_azienda->id.'", "onchange": "aggiornaScadenzaNuova(-id-)", "onblur": "aggiornaScadenzaNuova(-id-)" ]}' |
323 | 323 | : |
324 | | -'{[ "type": "select", "name": "id_banca_controparte[-id-]", "ajax-source": "banche", "select-options":'.json_encode(['id_anagrafica' => $scadenza['idanagrafica']]).', "icon-after": "add|'.$id_modulo_banche.'|idanagrafica='.$record['idanagrafica'].'"]} |
| 324 | +'{[ "type": "select", "name": "id_banca_controparte[-id-]", "ajax-source": "banche", "select-options":'.json_encode(['id_anagrafica' => $scadenza['idanagrafica']]).', "icon-after": "add|'.$id_modulo_banche.'|idanagrafica='.$record['idanagrafica'].'", "onchange": "aggiornaScadenzaNuova(-id-)", "onblur": "aggiornaScadenzaNuova(-id-)"]} |
325 | 325 | ').' |
326 | 326 | </td> |
327 | 327 | <td> |
328 | 328 | '.($dir == 'entrata' ? |
329 | | -'{[ "type": "select", "name": "id_banca_controparte[-id-]", "ajax-source": "banche", "select-options":'.json_encode(['id_anagrafica' => $scadenza['idanagrafica']]).',"icon-after": "add|'.$id_modulo_banche.'|idanagrafica='.$record['idanagrafica'].'"]}' |
| 329 | +'{[ "type": "select", "name": "id_banca_controparte[-id-]", "ajax-source": "banche", "select-options":'.json_encode(['id_anagrafica' => $scadenza['idanagrafica']]).',"icon-after": "add|'.$id_modulo_banche.'|idanagrafica='.$record['idanagrafica'].'", "onchange": "aggiornaScadenzaNuova(-id-)", "onblur": "aggiornaScadenzaNuova(-id-)"]}' |
330 | 330 | : |
331 | | -'{[ "type": "select", "name": "id_banca_azienda[-id-]", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $anagrafica_azienda->id]).', "icon-after": "add|'.$id_modulo_banche.'|id_anagrafica='.$anagrafica_azienda->id.'" ]}' |
| 331 | +'{[ "type": "select", "name": "id_banca_azienda[-id-]", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $anagrafica_azienda->id]).', "icon-after": "add|'.$id_modulo_banche.'|id_anagrafica='.$anagrafica_azienda->id.'", "onchange": "aggiornaScadenzaNuova(-id-)", "onblur": "aggiornaScadenzaNuova(-id-)" ]}' |
332 | 332 | ).' |
333 | 333 | </td> |
334 | 334 |
|
335 | 335 | <td> |
336 | | - {[ "type": "select", "name": "id_pagamento[-id-]", "values": "query=SELECT `co_pagamenti`.`id`, `fe_modalita_pagamento_lang`.`title` as descrizione FROM `fe_modalita_pagamento` LEFT JOIN `fe_modalita_pagamento_lang` ON (`fe_modalita_pagamento_lang`.`id_record` = `fe_modalita_pagamento`.`codice` AND `fe_modalita_pagamento_lang`.`id_lang` = '.Models\Locale::getDefault()->id.') INNER JOIN `co_pagamenti` ON `fe_modalita_pagamento`.`codice` = `co_pagamenti`.`codice_modalita_pagamento_fe` GROUP BY title"]} |
| 336 | + {[ "type": "select", "name": "id_pagamento[-id-]", "values": "query=SELECT `co_pagamenti`.`id`, `fe_modalita_pagamento_lang`.`title` as descrizione FROM `fe_modalita_pagamento` LEFT JOIN `fe_modalita_pagamento_lang` ON (`fe_modalita_pagamento_lang`.`id_record` = `fe_modalita_pagamento`.`codice` AND `fe_modalita_pagamento_lang`.`id_lang` = '.Models\Locale::getDefault()->id.') INNER JOIN `co_pagamenti` ON `fe_modalita_pagamento`.`codice` = `co_pagamenti`.`codice_modalita_pagamento_fe` GROUP BY title", "onchange": "aggiornaScadenzaNuova(-id-)", "onblur": "aggiornaScadenzaNuova(-id-)"]} |
337 | 337 | </td> |
338 | 338 |
|
339 | 339 | <td> |
340 | | - {[ "type": "date", "name": "scadenza[-id-]" ]} |
| 340 | + {[ "type": "date", "name": "scadenza[-id-]", "onchange": "aggiornaScadenzaNuova(-id-)", "onblur": "aggiornaScadenzaNuova(-id-)" ]} |
341 | 341 | </td> |
342 | 342 |
|
343 | 343 | <td> |
344 | | - {[ "type": "date", "name": "data_concordata[-id-]" ]} |
| 344 | + {[ "type": "date", "name": "data_concordata[-id-]", "onchange": "aggiornaScadenzaNuova(-id-)", "onblur": "aggiornaScadenzaNuova(-id-)" ]} |
345 | 345 | </td> |
346 | 346 |
|
347 | 347 | <td class="text-right"> |
348 | | - {[ "type": "number", "name": "da_pagare[-id-]", "decimals": 2, "onchange": "controlloTotale()" ]} |
| 348 | + {[ "type": "number", "name": "da_pagare[-id-]", "decimals": 2, "onchange": "controlloTotale(); aggiornaScadenzaNuova(-id-)", "onblur": "aggiornaScadenzaNuova(-id-)" ]} |
349 | 349 | </td> |
350 | 350 |
|
351 | 351 | <td class="text-right"> |
352 | | - {[ "type": "number", "name": "pagato[-id-]", "decimals": 2 ]} |
| 352 | + {[ "type": "number", "name": "pagato[-id-]", "decimals": 2, "onchange": "aggiornaScadenzaNuova(-id-)", "onblur": "aggiornaScadenzaNuova(-id-)" ]} |
353 | 353 | </td> |
354 | 354 |
|
355 | 355 | <td> |
|
387 | 387 | data_emissione: "'.$documento['data_emissione'].'", |
388 | 388 | }, |
389 | 389 | success: function(response) { |
| 390 | + // Aggiorna l\'ID della scadenza appena creata |
| 391 | + if (response && response.id_record) { |
| 392 | + $("#scadenze tr:last-child input[name*=\'id_scadenza\']").val(response.id_record); |
| 393 | + } |
390 | 394 | restart_inputs(); |
391 | 395 | }, |
392 | 396 | error: function(xhr, status, error) { |
|
396 | 400 |
|
397 | 401 | restart_inputs(); |
398 | 402 | }); |
| 403 | +
|
| 404 | + // Funzione per aggiornare le nuove scadenze (senza ID scadenza ancora) |
| 405 | + function aggiornaScadenzaNuova(index) { |
| 406 | + content_was_modified = false; |
| 407 | +
|
| 408 | + // Trova la riga della scadenza tramite l\'indice |
| 409 | + var $row = $("input[name*=\'id_scadenza\'][name*=\'[" + index + "]\']").closest("tr"); |
| 410 | + var id_scadenza = $row.find("input[name*=\'id_scadenza\']").val(); |
| 411 | +
|
| 412 | + // Se ha già un ID scadenza, usa la funzione normale |
| 413 | + if (id_scadenza && id_scadenza !== "") { |
| 414 | + aggiornaScadenzaInline(id_scadenza); |
| 415 | + return; |
| 416 | + } |
| 417 | +
|
| 418 | + // Altrimenti, salva la nuova scadenza |
| 419 | + var id_banca_azienda = input("id_banca_azienda[" + index + "]").get(); |
| 420 | + var id_banca_controparte = input("id_banca_controparte[" + index + "]").get(); |
| 421 | + var id_pagamento = input("id_pagamento[" + index + "]").get(); |
| 422 | + var scadenza = input("scadenza[" + index + "]").get(); |
| 423 | + var data_concordata = input("data_concordata[" + index + "]").get(); |
| 424 | + var da_pagare = input("da_pagare[" + index + "]").get(); |
| 425 | + var pagato = input("pagato[" + index + "]").get(); |
| 426 | +
|
| 427 | + // Verifica se ci sono dati sufficienti per salvare |
| 428 | + if (!scadenza || !da_pagare || da_pagare == 0) { |
| 429 | + return; // Non salvare se mancano dati essenziali |
| 430 | + } |
| 431 | +
|
| 432 | + $.ajax({ |
| 433 | + url: globals.rootdir + "/actions.php", |
| 434 | + type: "POST", |
| 435 | + dataType: "json", |
| 436 | + data: { |
| 437 | + id_module: globals.id_module, |
| 438 | + id_record: globals.id_record, |
| 439 | + op: "save_new_scadenza", |
| 440 | + index: index, |
| 441 | + iddocumento: '.$documento['id'].', |
| 442 | + idanagrafica: '.$record['idanagrafica'].', |
| 443 | + id_banca_azienda: id_banca_azienda, |
| 444 | + id_banca_controparte: id_banca_controparte, |
| 445 | + id_pagamento: id_pagamento, |
| 446 | + scadenza: scadenza, |
| 447 | + data_concordata: data_concordata, |
| 448 | + da_pagare: da_pagare, |
| 449 | + pagato: pagato |
| 450 | + }, |
| 451 | + success: function (response) { |
| 452 | + if (response.success && response.id_record) { |
| 453 | + // Aggiorna l\'ID della scadenza nella riga |
| 454 | + $row.find("input[name*=\'id_scadenza\']").val(response.id_record); |
| 455 | + renderMessages(); |
| 456 | + } |
| 457 | + }, |
| 458 | + error: function() { |
| 459 | + console.error("Errore durante il salvataggio della nuova scadenza"); |
| 460 | + } |
| 461 | + }); |
| 462 | + } |
399 | 463 | </script>'; |
400 | 464 |
|
401 | 465 | // Abilitazione dei controlli solo per Scadenze collegate a documenti |
|
0 commit comments