162 lines
5.9 KiB
PHP
162 lines
5.9 KiB
PHP
|
<?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){});
|
||
|
}
|
||
|
}
|