2020-07-20 14:40:11 +02:00
< ? 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 ;
}
2020-08-17 10:57:51 +02:00
$ . getJSON ( globals . rootdir + " /ajax_select.php?op=articoli_barcode&barcode= " + barcode + " &id_anagrafica='. $options['idanagrafica'] .' " ,
2020-07-20 14:40:11 +02:00
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 > ' ;