gest366/modules/agenda/js/interventi_helperjs.php

162 lines
5.9 KiB
PHP
Raw Normal View History

2021-02-24 20:40:04 +00:00
<?php
include_once(__DIR__."/../../../core.php");
?>
globals = { s_totale_ore: 0.00, s_totale_costo_ore: 0.00, s_totale_costo_ore_tecnico: 0.00, s_totale_km: 0.00, s_totale_costo_km: 0.00, s_totale_costo_km_tecnico: 0.00 };
/*
Aggiorna il totale delle ore mentre si cambiano gli orari nei campi di testo
*/
function update_ore_parziale( update_consuntivo ){
$('input[id*=orario_]').each( function(){
id = $(this).attr('id').split('_');
idriga = id[1];
orario = $('#orario_'+idriga).val();
o = orario.split(' - ');
start = moment( o[0] );
end = moment( o[1] );
totale_ore = ( end.diff(start, 'minutes') ) / 60;
totale_ore = totale_ore.toFixed(2);
if( !isNaN(totale_ore) ){
$('#ore_'+idriga).val( totale_ore );
}
});
}
function calcola_ore( idriga, start, end ){
totale_ore = ( moment(end).diff( moment(start), 'minutes') ) / 60;
totale_ore = totale_ore.toFixed(2);
if( !isNaN(totale_ore) ){
$('#ore_'+idriga).val( totale_ore );
}
}
function load_tecnici( idzona, el ){
$.get( '<?= $rootdir ?>/modules/agenda/ajax_tecnici.php?idintervento='+idintervento+'&idzona='+idzona, function(response){
$(el).html( response );
});
}
function add_tecnici( idintervento, idtipoagenda, idtecnico, orario_fine, el ){
$.get( '<?= $rootdir ?>/modules/agenda/ajax_tecnici.php?op=add_sessione&idintervento='+idintervento+'&idtipoagenda='+idtipoagenda+'&idtecnico='+idtecnico+'&orario_fine='+orario_fine, function(response){
$(el).html( response );
});
}
/*
Legge l'id del cliente e seleziona la zona associata
*/
function select_zona( idcliente, select_el ){
$.get( 'modules/anagrafiche/ajaxreq.php?op=get_idzona&idcliente='+idcliente, function(response){
$(select_el).find('option').removeAttr('selected');
$(select_el).find('option[value='+response+']').attr('selected', 'true');
load_tecnici( response, '#tecnici' );
});
}
/*
Carica i tecnici nella scheda intervento che possono svolgere quell'intervento in base alla zona
*/
function load_tecnici_intervento( idintervento, idzona, el ){
$.get( 'modules/agenda/ajax_tecnici.php?idintervento='+idintervento+'&idzona='+idzona, function(response){
$(el).html( response );
});
}
function add_intervento(){
if( $('#idtecnico option:selected').length == 0 )
alert( "Seleziona almeno un tecnico!" );
else if( $('#idintervento').val()!='' && $('#data').val()!='' && $('#idanagrafica').val()!='' && $('#idtipoagenda').val()!='' && $('#richiesta').val()!='' ){
//Se l'aggiunta intervento proviene dal calendario, faccio il submit via ajax e ricarico gli eventi...
if( ref=="dashboard" ){
$.post('<?php echo $rootdir ?>/modules/agenda/actions.php', $('#add-form').serialize(), function(data,response){
if( response=="success" ){
$('#bs-popup').modal('hide');
$("#calendar").fullCalendar('refetchEvents');
$('#calendar').fullCalendar('render');
}
});
}
//Se l'aggiunta intervento proviene dai contratti, faccio il submit via ajax e ricarico la tabella dei contratti
else if( ref=="interventi_contratti" ){
$('#add-form').find('input:disabled, select:disabled').removeAttr('disabled');
$.post('<?php echo $rootdir ?>/modules/agenda/actions.php', $('#add-form').serialize(), function(data,response){
if( response=="success" ){
$("#bs-popup").modal('hide');
$('#elenco_interventi > tbody').load('<?php echo $rootdir ?>/modules/contabilita/contratti/plugins/contratti.pianificazione.interventi.php?op=get_interventi_pianificati&idcontratto=');
}
});
}
//Se l'aggiunta intervento proviene dalla scheda di pianificazione ordini di servizio della dashboard, la ricarico
else if( ref=="interventi_contratti_dashboard" ){
$('#add-form').find('input:disabled, select:disabled').removeAttr('disabled');
$.post('<?php echo $rootdir ?>/modules/agenda/actions.php', $('#add-form').serialize(), function(data,response){
if( response=="success" ){
$("#bs-popup").modal('hide');
//Aggiornamento elenco interventi da pianificare
//$('#tabs-1').load('<?php echo $rootdir ?>/modules/contabilita/contratti/plugins/contratti.pianificazionedashboard.interventi.php', function(data){ n_int_dapianificare=$('#n_int_dapianificare').val(); $('#ui-id-2').text('Interventi da pianificare ('+n_int_dapianificare+')'); setTimeout( "$('#calendar').fullCalendar('refetchEvents'); $('#calendar').fullCalendar('render');", 500 ); });
$('#calendar').fullCalendar('refetchEvents');
$('#calendar').fullCalendar('render');
}
});
}
//Se l'aggiunta intervento proviene dalla scheda di pianificazione ordini di servizio della dashboard, la ricarico
else if( ref=="contratti_dashboard" ){
$('#add-form').find('input:disabled, select:disabled').removeAttr('disabled');
$.post('<?php echo $rootdir ?>/modules/agenda/actions.php?op=add', $('#add-form').serialize(), function(data,response){
if( response=="success" ){
$("#bs-popup").modal('hide');
//Aggiornamento elenco interventi da pianificare
//$('#tabs-2').load('<?php echo $rootdir ?>/modules/contabilita/contratti/plugins/contratti.pianificazionedashboard.php', function(data){ n_dapianificare=$('#n_dapianificare').val(); $('#ui-id-2').text('Ordini di servizio da impostare ('+n_dapianificare+')'); setTimeout( "$('#calendar').fullCalendar('refetchEvents'); $('#calendar').fullCalendar('render');", 500 ); });
$('#calendar').fullCalendar('refetchEvents');
$('#calendar').fullCalendar('render');
}
});
}
//...altrimenti faccio il submit normale
else{
$("#add-form").submit();
}
}
else{
alert ('Alcuni campi sono incompleti.');
}
}
function elimina_sessione( idriga, idintervento, idzona ){
if( confirm('Eliminare sessione di lavoro?') ){
$('#tecnici').load( '<?= $rootdir ?>/modules/agenda/ajax_tecnici.php?op=del_sessione&idintervento='+idintervento+'&id='+idriga, function(response){});
}
}