<?php include_once __DIR__.'/../../core.php'; $incorpora_iva = setting('Utilizza prezzi di vendita comprensivi di IVA'); $intestazione_prezzo = ($options['dir'] == 'uscita' ? tr('Prezzo di acquisto') : ($incorpora_iva ? tr('Prezzo vendita ivato') : tr('Prezzo vendita imponibile'))); // Articolo echo ' <div class="row"> <div class="col-md-offset-4 col-md-4"> {[ "type": "text", "label": "'.tr('Barcode').'", "name": "barcode", "value": "", "icon-before": "<i class=\"fa fa-barcode\"></i>" ]} </div> </div> <div class="alert alert-info hidden" id="articolo-missing"> <i class="fa fa-exclamation-circle"></i> '.tr('Nessuna corrispondenza trovata!').' </div> <div class="alert alert-warning hidden" id="articolo-qta"> <i class="fa fa-warning"></i> '.tr('Articolo con quantità non sufficiente!').' </div> <div class="row"> <div class="col-md-12"> <table class="table table-stripped hide" id="articoli_barcode"> <tr> <th>'.tr('Articolo').'</th> <th width="25%">'.$intestazione_prezzo.'</th> <th width="20%" class="text-center">'.tr('Sconto').'</th> <th width="10%" class="text-center">'.tr('Q.tà').'</th> <th width="5%" class="text-center">#</th> </tr> </table> </div> </div> '; echo ' <script> $(document).ready(function(){ init(); setTimeout(function(){ $("#barcode").focus(); }, 300); $(".modal-body button").attr("disabled", true); }); // Gestione dell\'invio da tastiera $(document).keypress(function(event){ let key = window.event ? event.keyCode : event.which; // IE vs Netscape/Firefox/Opera if (key == "13") { event.preventDefault(); $("#barcode").blur() .focus(); } }); var dir = "'.$options['dir'].'"; $("#barcode").off("keyup").on("keyup", function (event) { let key = window.event ? event.keyCode : event.which; // IE vs Netscape/Firefox/Opera $("#articolo-missing").addClass("hidden"); $("#articolo-qta").addClass("hidden"); if (key !== 13) { return; } $("#barcode").attr("disabled", true); var barcode = $("#barcode").val(); if (!barcode){ barcodeReset(); return; } $.getJSON(globals.rootdir + "/ajax_select.php?op=articoli_barcode&barcode=" + barcode + "&id_anagrafica='.$options['idanagrafica'].'", function(response) { let result = response.results[0]; if(!result){ $("#articolo-missing").removeClass("hidden"); barcodeReset(); return; } let qta_input = $("#riga_barcode_" + result.id).find("[name^=qta]"); if (result.qta == 0) { $("#articolo-qta").removeClass("hidden"); barcodeReset(); return; } // Controllo se è già presente l\'articolo, in tal caso incremento la quantità, altrimenti inserisco la riga nuova if (qta_input.length) { let qta = qta_input.val().toEnglish(); let nuova_qta = qta + 1; if (result.qta < nuova_qta) { $("#articolo-qta").removeClass("hidden"); barcodeReset(); return; } qta_input.val(nuova_qta).trigger("change"); } else { let prezzo_unitario = (dir === "uscita") ? result.prezzo_acquisto : result.prezzo_vendita; let info_prezzi; if(dir == "entrata") { info_prezzi = "Acquisto: " + result.prezzo_acquisto + " €"; }else{ info_prezzi = "Vendita: " + result.prezzo_vendita + " €"; } $("#articoli_barcode").removeClass("hide"); cleanup_inputs(); var text = replaceAll($("#barcode-template").html(), "-id-", result.id); text = text.replace("|prezzo_unitario|", prezzo_unitario) .replace("|info_prezzi|", info_prezzi) .replace("|descrizione|", result.descrizione) .replace("|codice|", result.codice) .replace("|qta|", 1) .replace("|sconto_unitario|", 0) .replace("|tipo_sconto|", "") .replace("|id_dettaglio_fornitore|", result.id_dettaglio_fornitore ? result.id_dettaglio_fornitore : "") $("#articoli_barcode tr:last").after(text); restart_inputs(); $(".modal-body button").attr("disabled", false); } barcodeReset(); $("#barcode").val(""); }, function(){ $("#articolo-missing").removeClass("hidden"); barcodeReset(); }); }); function barcodeReset() { setTimeout(function(){ $("#barcode") .attr("disabled",false) .focus(); },200); } function rimuoviRigaBarcode(id) { if (confirm("'.tr('Eliminare questo articolo?').'")) { $("#riga_barcode_" + id).remove(); // Disabilito il pulsante di aggiunta se non ci sono articoli inseriti if ($(".inputmask-decimal").length === 0) { $(".modal-body button").attr("disabled", true); $("#articoli_barcode").addClass("hide"); } } } </script> <table class="hidden"> <tbody id="barcode-template"> <tr id="riga_barcode_-id-"> <td> |codice| - |descrizione| <br><small>|info_prezzi|</small> <input type="hidden" name="id_dettaglio_fornitore[-id-]" value="|id_dettaglio_fornitore|"> </td> <td> {[ "type": "number", "name": "prezzo_unitario[-id-]", "value": "|prezzo_unitario|", "required": 0, "icon-after": "'.currency().'" ]} </td> <td> {[ "type": "number", "name": "sconto[-id-]", "value": "|sconto_unitario|", "icon-after": "choice|untprc||tipo_sconto|", "help": "'.tr('Il valore positivo indica uno sconto. Per applicare una maggiorazione inserire un valore negativo.').'" ]} </td> <td> {[ "type": "number", "name": "qta[-id-]", "required": 0, "value": "|qta|", "decimals": "qta" ]} </td> <td width="5%" class="text-center"> <button type="button" class="btn btn-xs btn-danger" onclick="rimuoviRigaBarcode(\'-id-\')"> <i class="fa fa-trash"></i> </button> </td> </tr> </tbody> </table>';