Visualizzazione informazioni riferimento

This commit is contained in:
Dasc3er 2020-09-03 14:29:17 +02:00
parent d07adca48f
commit 596cae6eb8
2 changed files with 77 additions and 34 deletions

View File

@ -303,13 +303,13 @@ if (!empty($righe)) {
$prezzo_unitario = $riga['PrezzoUnitario']; $prezzo_unitario = $riga['PrezzoUnitario'];
echo ' echo '
<tr data-id="'.$key.'" data-qta="'.$qta.'"> <tr data-id="'.$key.'" data-qta="'.$qta.'" data-prezzo_unitario="'.$prezzo_unitario.'" data-iva_percentuale="'.$riga['AliquotaIVA'].'">
<td> <td>
'.$riga['Descrizione'].'<br> '.$riga['Descrizione'].'<br>
'.(!empty($codici_articoli) ? '<small>'.implode(', ', $codici_articoli).'</small><br>' : '').' '.(!empty($codici_articoli) ? '<small>'.implode(', ', $codici_articoli).'</small><br>' : '').'
<span id="riferimento_'.$key.'_descrizione"></span> <span id="riferimento_'.$key.'_descrizione"></span>
<span id="riferimento_'.$key.'"></span> <b id="riferimento_'.$key.'"></b>
</td> </td>
<td class="text-center"> <td class="text-center">
@ -327,6 +327,7 @@ if (!empty($righe)) {
'_VALUE_' => empty($riga['Natura']) ? numberFormat($riga['AliquotaIVA']).'%' : $riga['Natura'], '_VALUE_' => empty($riga['Natura']) ? numberFormat($riga['AliquotaIVA']).'%' : $riga['Natura'],
'_DESC_' => $riga['RiferimentoNormativo'] ? ' - '.$riga['RiferimentoNormativo'] : '', '_DESC_' => $riga['RiferimentoNormativo'] ? ' - '.$riga['RiferimentoNormativo'] : '',
]).' ]).'
<span id="riferimento_'.$key.'_iva"></span>
</td> </td>
</tr> </tr>
@ -367,34 +368,41 @@ if (!empty($righe)) {
echo ' echo '
<script> <script>
function copy() { function copy() {
let first_iva = null; let aliquote = $("select[name^=iva");
let first_conto = null; let conti = $("select[name^=conto");
$("select[name^=iva").each(function() { // Individuazione della prima IVA selezionata
if ($(this).val() != "" && first_iva == null){ let iva_selezionata = null;
first_iva = $(this); for (const aliquota of aliquote) {
const data = $(aliquota).selectData();
if (data) {
iva_selezionata = data;
break;
} }
}); }
$("select[name^=conto").each(function() { // Individuazione del primo conto selezionato
if ($(this).val() != "" && first_conto == null) { let conto_selezionato = null;
first_conto = $(this); for (const conto of conti) {
const data = $(conto).selectData();
if (data) {
conto_selezionato = data;
break;
} }
}); }
if(first_iva) { // Selezione generale per l\'IVA
$iva = first_iva.selectData(); if (iva_selezionata) {
aliquote.each(function() {
$("select[name^=iva").each(function() { $(this).selectSet(iva_selezionata.id);
$(this).selectSet($iva.id);
}); });
} }
if(first_conto) { // Selezione generale per il conto
$conto = first_conto.selectData(); if (conto_selezionato) {
console.log(conto_selezionato);
$("select[name^=conto").each(function() { conti.each(function() {
$(this).selectSetNew($conto.id, $conto.text); $(this).selectSetNew(conto_selezionato.id, conto_selezionato.text, conto_selezionato);
}); });
} }
} }
@ -456,9 +464,7 @@ function selezionaRiferimento(riga, tipo_documento, id_documento) {
righe_ordini: riferimenti.ordini, righe_ordini: riferimenti.ordini,
}; };
let url = "'.$structure->fileurl('riferimento.php').'?" + Object.keys(query).map(function(k) { let url = "'.$structure->fileurl('riferimento.php').'?" + $.param(query);
return encodeURIComponent(k) + "=" + encodeURIComponent(query[k])
}).join("&")
openModal("'.tr('Selezione riferimento').'", url); openModal("'.tr('Selezione riferimento').'", url);
} }
@ -495,15 +501,46 @@ function getRiferimenti() {
* @param riga = {tipo, id, descrizione, qta, prezzo_unitario} * @param riga = {tipo, id, descrizione, qta, prezzo_unitario}
*/ */
function impostaRiferimento(id_riga, documento, riga) { function impostaRiferimento(id_riga, documento, riga) {
// Informazioni interne per il riferimento
$("#tipo_riferimento_" + id_riga).val(documento.tipo); $("#tipo_riferimento_" + id_riga).val(documento.tipo);
$("#id_riferimento_" + id_riga).val(documento.id); $("#id_riferimento_" + id_riga).val(documento.id);
$("#tipo_riga_riferimento_" + id_riga).val(riga.tipo); $("#tipo_riga_riferimento_" + id_riga).val(riga.tipo);
$("#id_riga_riferimento_" + id_riga).val(riga.id); $("#id_riga_riferimento_" + id_riga).val(riga.id);
$("#riferimento_" + id_riga).html(documento.descrizione ? documento.descrizione : ""); // Gestione della selezione
input("selezione_riferimento[" + id_riga + "]").disable(); input("selezione_riferimento[" + id_riga + "]").disable();
$("#rimuovi_riferimento_" + id_riga).removeClass("disabled"); $("#rimuovi_riferimento_" + id_riga).removeClass("disabled");
let riga_fe = $("#id_riga_riferimento_" + id_riga).closest("tr").prev();
// Informazioni visibili
let qta = parseFloat(riga.qta);
let riferimento_qta = $("#riferimento_" + id_riga + "_qta");
riferimento_qta.html("<br>" + qta.toLocale());
if (qta === riga_fe.data("qta")){
riferimento_qta.addClass("text-success").removeClass("text-danger");
} else {
riferimento_qta.removeClass("text-success").addClass("text-danger");
}
let prezzo_unitario = parseFloat(riga.prezzo_unitario);
let riferimento_prezzo = $("#riferimento_" + id_riga + "_prezzo");
riferimento_prezzo.html("<br>" + prezzo_unitario.toLocale() + " " + globals.currency)
if (prezzo_unitario === riga_fe.data("prezzo_unitario")){
riferimento_prezzo.addClass("text-success").removeClass("text-danger");
} else {
riferimento_prezzo.removeClass("text-success").addClass("text-danger");
}
let iva_percentuale = parseFloat(riga.iva_percentuale);
let riferimento_iva = $("#riferimento_" + id_riga + "_iva");
riferimento_iva.html("<br>" + iva_percentuale.toLocale() + "%");
if (prezzo_unitario === riga_fe.data("iva_percentuale")){
riferimento_iva.addClass("text-success").removeClass("text-danger");
} else {
riferimento_iva.removeClass("text-success").addClass("text-danger");
}
$("#riferimento_" + id_riga).html(documento.descrizione ? documento.descrizione : "");
} }
</script>'; </script>';

View File

@ -35,8 +35,17 @@ $righe = $documento->getRighe();
foreach ($righe as $riga) { foreach ($righe as $riga) {
$qta_rimanente = $riga->qta_rimanente - $righe_utilizzate[$riga->id]; $qta_rimanente = $riga->qta_rimanente - $righe_utilizzate[$riga->id];
$dettagli = [
'tipo' => get_class($riga),
'id' => $riga->id,
'qta' => $riga->qta,
'prezzo_unitario' => $riga->prezzo_unitario,
'id_iva' => $riga->id_iva,
'iva_percentuale' => $riga->aliquota->percentuale,
];
echo ' echo '
<tr '.($id_riferimento == $riga->id ? 'class="success"' : '').' data-type="'.get_class($riga).'" data-id="'.$riga->id.'" data-qta="'.$riga->qta.'" data-prezzo_unitario="'.$riga->prezzo_unitario.'"> <tr '.($id_riferimento == $riga->id ? 'class="success"' : '').' data-dettagli='.json_encode($dettagli).'>
<td>'.$riga->descrizione.'</td> <td>'.$riga->descrizione.'</td>
<td>'.numberFormat($qta_rimanente, 'qta').' / '.numberFormat($riga->qta, 'qta').'</td> <td>'.numberFormat($qta_rimanente, 'qta').' / '.numberFormat($riga->qta, 'qta').'</td>
<td class="text-center">'; <td class="text-center">';
@ -67,11 +76,8 @@ var documento_importazione = {
function selezionaRiga(button) { function selezionaRiga(button) {
let riga = $(button).closest("tr"); let riga = $(button).closest("tr");
let dati_riga = { let dettagli_riga = riga.data("dettagli");
tipo: riga.data("type"), impostaRiferimento("'.$id_riga.'", documento_importazione, dettagli_riga);
id: riga.data("id"),
};
impostaRiferimento("'.$id_riga.'", documento_importazione, dati_riga);
$(button).closest(".modal").modal("hide"); $(button).closest(".modal").modal("hide");
} }