Aggiunta gestione inline sessioni
This commit is contained in:
parent
70c9e02126
commit
f15b28fcb3
|
@ -948,6 +948,22 @@ switch (post('op')) {
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'update_inline_sessione':
|
||||||
|
$id_sessione = post('id_sessione');
|
||||||
|
$sessione = Sessione::find($id_sessione);
|
||||||
|
|
||||||
|
$sessione->orario_inizio = post('data_inizio');
|
||||||
|
$sessione->orario_fine = post('data_fine');
|
||||||
|
|
||||||
|
$sessione->km = post('km');
|
||||||
|
|
||||||
|
$sessione->sconto_unitario = post('sconto_unitario');
|
||||||
|
$sessione->tipo_sconto = post('tipo_sconto');
|
||||||
|
$sessione->scontokm_unitario = post('scontokm_unitario');
|
||||||
|
$sessione->tipo_scontokm = post('tipo_sconto_km');
|
||||||
|
$sessione->save();
|
||||||
|
break;
|
||||||
|
|
||||||
// Duplica intervento
|
// Duplica intervento
|
||||||
case 'copy':
|
case 'copy':
|
||||||
$id_stato = post('id_stato');
|
$id_stato = post('id_stato');
|
||||||
|
|
|
@ -80,7 +80,7 @@ if (!empty($sessioni)) {
|
||||||
}
|
}
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
'.$sessione['ragione_sociale'].' '.(($sessione['anagrafica_deleted_at']) ? '<small class="text-danger"><em>('.tr('Eliminato').')</em></small>' : '').'</th>
|
'.$sessione['ragione_sociale'].' '.(($sessione['anagrafica_deleted_at']) ? '<small class="text-danger"><em>('.tr('Eliminato').')</em></small>' : '').'</th>
|
||||||
<th width="15%">'.tr('Orario inizio').'</th>
|
<th width="15%">'.tr('Orario inizio').'</th>
|
||||||
<th width="15%">'.tr('Orario fine').'</th>
|
<th width="15%">'.tr('Orario fine').'</th>
|
||||||
<th width="12%">'.tr('Ore').'</th>
|
<th width="12%">'.tr('Ore').'</th>
|
||||||
|
@ -131,18 +131,20 @@ if (!empty($sessioni)) {
|
||||||
// Orario di inizio
|
// Orario di inizio
|
||||||
echo '
|
echo '
|
||||||
<td>
|
<td>
|
||||||
'.Translator::timestampToLocale($sessione['orario_inizio']).'
|
{[ "type": "timestamp", "name": "data_inizio_'.$sessione['id'].'", "required": 1, "value": "'.$sessione['orario_inizio'].'", "disabled": "'.$block_edit.'" ]}
|
||||||
</td>';
|
</td>';
|
||||||
|
|
||||||
// Orario di fine
|
// Orario di fine
|
||||||
echo '
|
echo '
|
||||||
<td>
|
<td>
|
||||||
'.Translator::timestampToLocale($sessione['orario_fine']).'
|
{[ "type": "timestamp", "name": "data_fine_'.$sessione['id'].'", "required": 1, "value": "'.$sessione['orario_fine'].'", "disabled": "'.$block_edit.'" ]}
|
||||||
</td>';
|
</td>';
|
||||||
|
|
||||||
// ORE
|
// ORE
|
||||||
echo '
|
echo '
|
||||||
<td style="border-right:1px solid #aaa;">'.($ore <= 0 ? '<i class="fa fa-warning tip" style="position:relative;margin-left:-16px;" title="'.tr('Questa sessione è vuota').'" ></i>' : '').' '.numberFormat($ore, 'qta').'
|
<td style="border-right:1px solid #aaa;">'.($ore <= 0 ? '<i class="fa fa-warning tip" style="position:relative;margin-left:-16px;" title="'.tr('Questa sessione è vuota').'" ></i>' : '').'
|
||||||
|
{[ "type": "number", "name": "ore_'.$sessione['id'].'", "required": 1, "value": "'.numberFormat($ore, 'qta').'", "disabled": "1" ]}
|
||||||
|
|
||||||
|
|
||||||
<div class="extra hide">
|
<div class="extra hide">
|
||||||
<table class="table table-condensed table-bordered">
|
<table class="table table-condensed table-bordered">
|
||||||
|
@ -171,7 +173,7 @@ if (!empty($sessioni)) {
|
||||||
// KM
|
// KM
|
||||||
echo '
|
echo '
|
||||||
<td style="border-right:1px solid #aaa;">
|
<td style="border-right:1px solid #aaa;">
|
||||||
'.numberFormat($km, 'qta').'
|
{[ "type": "number", "name": "sessione_km_'.$sessione['id'].'", "required": 1, "value": "'.numberFormat($sessione['km'], 'qta').'", "onchange": "aggiornaSessioneInline($(this).closest(\'tr\').data(\'id\'))", "disabled": "'.$block_edit.'" ]}
|
||||||
|
|
||||||
<div class="extra hide">
|
<div class="extra hide">
|
||||||
<table class="table table-condensed table-bordered">
|
<table class="table table-condensed table-bordered">
|
||||||
|
@ -203,12 +205,10 @@ if (!empty($sessioni)) {
|
||||||
|
|
||||||
// Sconto ore
|
// Sconto ore
|
||||||
if ($show_costi) {
|
if ($show_costi) {
|
||||||
|
$tipo_sconto = (setting('Tipo di sconto predefinito') == '%' ? 'PRC' : 'UNT');
|
||||||
echo '
|
echo '
|
||||||
<td style="border-right:1px solid #aaa;">
|
<td style="border-right:1px solid #aaa;">
|
||||||
'.tr('_TOT_ _TYPE_', [
|
{[ "type": "number", "name": "sconto_unitario_'.$sessione['id'].'", "value": "'.Translator::numberToLocale($sessione['sconto_unitario']).'", "onchange": "aggiornaSessioneInline($(this).closest(\'tr\').data(\'id\'))", "icon-after": "choice|untprc|'.($sessione['tipo_sconto'] ? $sessione['tipo_sconto'] : $tipo_sconto).'", "disabled": "'.$block_edit.'" ]}
|
||||||
'_TOT_' => Translator::numberToLocale($sessione['sconto_unitario']),
|
|
||||||
'_TYPE_' => ($sessione['tipo_sconto'] == 'PRC' ? '%' : currency()),
|
|
||||||
]).'
|
|
||||||
</td>';
|
</td>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -216,10 +216,7 @@ if (!empty($sessioni)) {
|
||||||
if ($show_costi) {
|
if ($show_costi) {
|
||||||
echo '
|
echo '
|
||||||
<td style="border-right:1px solid #aaa;">
|
<td style="border-right:1px solid #aaa;">
|
||||||
'.tr('_TOT_ _TYPE_', [
|
{[ "type": "number", "name": "scontokm_unitario_'.$sessione['id'].'", "value": "'.Translator::numberToLocale($sessione['scontokm_unitario']).'", "onchange": "aggiornaSessioneInline($(this).closest(\'tr\').data(\'id\'))", "icon-after": "choice|untprc|'.($sessione['tipo_sconto_km'] ? $sessione['tipo_sconto_km'] : $tipo_sconto).'", "disabled": "'.$block_edit.'" ]}
|
||||||
'_TOT_' => Translator::numberToLocale($sessione['scontokm_unitario']),
|
|
||||||
'_TYPE_' => ($sessione['tipo_sconto_km'] == 'PRC' ? '%' : currency()),
|
|
||||||
]).'
|
|
||||||
</td>';
|
</td>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -423,4 +420,59 @@ async function copySessione(button) {
|
||||||
openModal("'.tr('Copia sessione').'", "'.$module->fileurl('modals/copy_sessione.php').'?id_module=" + globals.id_module + "&id_record=" + globals.id_record + "&id_sessione=" + id);
|
openModal("'.tr('Copia sessione').'", "'.$module->fileurl('modals/copy_sessione.php').'?id_module=" + globals.id_module + "&id_record=" + globals.id_record + "&id_sessione=" + id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$("#tecnici .tipo_icon_after").on("change", function() {
|
||||||
|
aggiornaSessioneInline($(this).closest("tr").data("id"));
|
||||||
|
});
|
||||||
|
|
||||||
|
$("[id^=data_inizio_], [id^=data_fine_]").on("dp.hide", function (e) {
|
||||||
|
aggiornaSessioneInline($(this).closest("tr").data("id"));
|
||||||
|
});
|
||||||
|
|
||||||
|
function caricaTecnici() {
|
||||||
|
let container = $("#tecnici");
|
||||||
|
|
||||||
|
localLoading(container, true);
|
||||||
|
$.get("'.$structure->fileurl('ajax_tecnici.php').'?id_module='.$id_module.'&id_record='.$id_record.'", function(data) {
|
||||||
|
container.html(data);
|
||||||
|
localLoading(container, false);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function aggiornaSessioneInline(id) {
|
||||||
|
var id_sessione = id;
|
||||||
|
var data_inizio = $("#data_inizio_" + id_sessione).val();
|
||||||
|
var data_fine = $("#data_fine_" + id_sessione).val();
|
||||||
|
var km = $("#sessione_km_" + id_sessione).val();
|
||||||
|
var sconto_unitario = $("#sconto_unitario_" + id_sessione).val();
|
||||||
|
var tipo_sconto = $("[id^=tipo_sconto_unitario_" + id_sessione + "]").val()
|
||||||
|
var scontokm_unitario = $("#scontokm_unitario_" + id_sessione).val();
|
||||||
|
var tipo_sconto_km =$("[id^=tipo_scontokm_unitario_" + id_sessione + "]").val()
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: globals.rootdir + "/actions.php",
|
||||||
|
type: "POST",
|
||||||
|
data: {
|
||||||
|
id_module: globals.id_module,
|
||||||
|
id_record: globals.id_record,
|
||||||
|
op: "update_inline_sessione",
|
||||||
|
id_sessione: id_sessione,
|
||||||
|
data_inizio: data_inizio,
|
||||||
|
data_fine: data_fine,
|
||||||
|
km: km,
|
||||||
|
sconto_unitario: sconto_unitario,
|
||||||
|
tipo_sconto: tipo_sconto,
|
||||||
|
scontokm_unitario: scontokm_unitario,
|
||||||
|
tipo_sconto_km: tipo_sconto_km,
|
||||||
|
},
|
||||||
|
success: function(response) {
|
||||||
|
caricaTecnici();
|
||||||
|
caricaCosti();
|
||||||
|
renderMessages();
|
||||||
|
},
|
||||||
|
error: function(xhr, status, error) {
|
||||||
|
caricaCosti();
|
||||||
|
renderMessages();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
</script>';
|
</script>';
|
||||||
|
|
|
@ -335,6 +335,7 @@ function aggiornaRighe(id) {
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
renderMessages();
|
renderMessages();
|
||||||
caricaRighe(null);
|
caricaRighe(null);
|
||||||
|
caricaCosti();
|
||||||
},
|
},
|
||||||
error: function() {
|
error: function() {
|
||||||
renderMessages();
|
renderMessages();
|
||||||
|
@ -363,12 +364,14 @@ function rimuoviRiga(id) {
|
||||||
righe: id,
|
righe: id,
|
||||||
},
|
},
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
renderMessages();
|
|
||||||
caricaRighe(null);
|
caricaRighe(null);
|
||||||
|
caricaCosti();
|
||||||
|
renderMessages();
|
||||||
},
|
},
|
||||||
error: function() {
|
error: function() {
|
||||||
renderMessages();
|
|
||||||
caricaRighe(null);
|
caricaRighe(null);
|
||||||
|
caricaCosti();
|
||||||
|
renderMessages();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}).catch(swal.noop);
|
}).catch(swal.noop);
|
||||||
|
@ -395,6 +398,7 @@ function duplicaRiga(id) {
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
renderMessages();
|
renderMessages();
|
||||||
caricaRighe(null);
|
caricaRighe(null);
|
||||||
|
caricaCosti();
|
||||||
},
|
},
|
||||||
error: function() {
|
error: function() {
|
||||||
renderMessages();
|
renderMessages();
|
||||||
|
@ -470,7 +474,7 @@ $("#check_all").click(function(){
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$(".tipo_icon_after").on("change", function() {
|
$("#righe .tipo_icon_after").on("change", function() {
|
||||||
aggiornaInline($(this).closest("tr").data("id"));
|
aggiornaInline($(this).closest("tr").data("id"));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -498,6 +502,7 @@ function aggiornaInline(id) {
|
||||||
},
|
},
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
caricaRighe(id);
|
caricaRighe(id);
|
||||||
|
caricaCosti();
|
||||||
renderMessages();
|
renderMessages();
|
||||||
},
|
},
|
||||||
error: function() {
|
error: function() {
|
||||||
|
|
Loading…
Reference in New Issue