templates/ordine_veloce/ordine_veloce.html.twig line 1
{% extends 'base.html.twig' %}
{% trans_default_domain 'ordine_veloce' %}
{% block head %}
<script type="text/javascript" src="https://unpkg.com/@zxing/library@latest"></script>
<script type="text/javascript" src="{{ asset('js/lettore_barcode.js') }}"></script>
{% endblock %}
{% block body %}
{{ traduzione.CaricaTraduzioniDaFamiglia("ordine_veloce", app.request.locale, false) }}
<h2 class="page-header">{{ traduzione.OttieniElementoDizionario("ordine_veloce_title", "ordine_veloce").valoreUscita }}</h2>
<div class="modal fade" tabindex="-1" role="dialog" id="aggiungi_da_excel_modal">
<div class="modal-dialog panel-warning" role="document">
<div class="modal-content panel-warning">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="modalTitle">{{ traduzione.OttieniElementoDizionario("ordine_veloce_excel_modal_title", "ordine_veloce").valoreUscita }}</h4>
</div>
<div id="modalImportazioneCarrelloBody" class="modal-body panel-warning">
<div id="baseModalImportazioneCarrelloBody">
<div class="loading" id="loadingExcel">Loading…</div>
<p>{{ traduzione.OttieniElementoDizionario("ordine_veloce_excel_modal_testo", "ordine_veloce").valoreUscita }}</p>
<textarea id="listaCodiciImportazioneCarrelloTextArea" class="form-control" cols="5" rows="10"></textarea>
<p><b>{{ traduzione.OttieniElementoDizionario("ordine_veloce_excel_modal_testo_di_fondo", "ordine_veloce").valoreUscita }}</b></p>
</div>
<div id="esitoModalImportazioneCarrelloBody"></div>
<span id="erroreImportazioneCarrello" style="color: red; font-weight: bold"></span>
</div>
<div class="modal-footer">
<button type="button" id="importaCarrelloBtn" class="btn btn-success">{{ traduzione.OttieniElementoDizionario("ordine_veloce_excel_modal_esegui_btn", "ordine_veloce").valoreUscita }}</button>
<button type="button" id="chiudiImportaCarrelloBtn" class="btn btn-danger" data-dismiss="modal">{{ traduzione.OttieniElementoDizionario("ordine_veloce_excel_modal_chiudi_btn", "ordine_veloce").valoreUscita }}</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<div class="modal fade" tabindex="-1" role="dialog" id="myModalShop">
<div class="modal-dialog panel-warning" role="document">
<div class="modal-content panel-warning">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="modalTitle">{{ traduzione.OttieniElementoDizionario("ordine_veloce_msg_attenzione", "ordine_veloce").valoreUscita }}</h4>
</div>
<div id="modalBodyAttenzione" class="modal-body panel-warning">
<p></p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">{{ traduzione.OttieniElementoDizionario("ordine_veloce_btn_chiudi", "ordine_veloce").valoreUscita }}</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<div style="width: 50%;" class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel panel-success">
<div class="panel-heading" role="tab" id="headingOne">
<h4 class="panel-title">
<a role="button" class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
<span class="glyphicon glyphicon-question-sign" aria-hidden="true"></span>{{ traduzione.OttieniElementoDizionario("ordine_veloce_aiuto_title", "ordine_veloce").valoreUscita }}
</a>
</h4>
</div>
<div id="collapseOne" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingOne">
<div class="panel-body">
{{ traduzione.OttieniElementoDizionario("ordine_veloce_aiuto_testo", "ordine_veloce").valoreUscita }}
</div>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-body">
<div class="form-inline">
<div class="form-group">
<div class="input-group">
<div class="input-group-addon">{{ traduzione.OttieniElementoDizionario("ordine_veloce_inserimento_codice_parte", "ordine_veloce").valoreUscita }}</div>
<input type="text" class="form-control attiva-press" id="ordineVeloceCodiceParteTxt" autofocus="autofocus" placeholder="{{ traduzione.OttieniElementoDizionario("ordine_veloce_inserimento_codice_parte_placeholder", "ordine_veloce").valoreUscita }}">
</div>
</div>
<div class="form-group">
<div class="input-group">
<div class="input-group-addon">{{ traduzione.OttieniElementoDizionario("ordine_veloce_inserimento_qta", "ordine_veloce").valoreUscita }}</div>
<input type="number" class="form-control attiva-press" id="ordineVeloceQtaTxt" placeholder="{{ traduzione.OttieniElementoDizionario("ordine_veloce_inserimento_qta_placeholder", "ordine_veloce").valoreUscita }}">
</div>
</div>
<div class="form-group">
<div class="input-group">
<button class="btn btn-success ordineVeloceAggiungiBtn">{{ traduzione.OttieniElementoDizionario("ordine_veloce_bottone_aggiungi", "ordine_veloce").valoreUscita }}</button>
</div>
</div>
<div class="form-group" style="margin-left: 100px;">
<div class="input-group">
<div class="input-group-addon">{{ traduzione.OttieniElementoDizionario("ordine_veloce_inserimento_marca_opzionale", "ordine_veloce").valoreUscita }}</div>
<input type="text" class="form-control attiva-press" id="ordineVeloceMarcaTxt" placeholder="{{ traduzione.OttieniElementoDizionario("ordine_veloce_inserimento_marca_opzionale_placeholder", "ordine_veloce").valoreUscita }}">
</div>
</div>
<div class="form-group" style="float: right; margin-right: 20px;">
<div class="input-group">
<button type="button" onclick="AvviaLettoreBarcode();" class="btn btn-default">
<span class="glyphicon glyphicon-barcode" aria-hidden="true"></span> {{ traduzione.OttieniElementoDizionario("ordine_veloce_aggiungi_da_barcode", "ordine_veloce").valoreUscita }}
</button>
<button style="margin-left: 20px;" id="importa_da_excel_btn" class="btn btn-large btn-success">{{ traduzione.OttieniElementoDizionario("ordine_veloce_aggiungi_da_excel_btn", "ordine_veloce").valoreUscita }}</button>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-12 col-xs-12" id="lettoreBarcodeDiv" style="display: none;">
<div class="col-md-3 col-xs-12">
<a class="btn btn-success" id="startButton">Start</a>
<a class="btn btn-danger" id="resetButton">Stop</a>
<div>
<video id="video" width="250" height="200" style="border: 1px solid gray"></video>
</div>
<div id="sourceSelectPanel" style="display:none">
<label for="sourceSelect">{{ traduzione.OttieniElementoDizionario("ordine_veloce_barcode_sorgente_video", "ordine_veloce").valoreUscita }}</label>
<select id="sourceSelect" style="max-width:400px">
</select>
</div>
</div>
<div class="col-md-3 col-xs-12" style="display: flex; flex-direction: row; align-content: stretch; align-items: center;">
<p id="datiSparata"></p>
</div>
</div>
<b style="color: red;">{{ traduzione.OttieniElementoDizionario("ordine_veloce_frase_di_attenzione", "ordine_veloce").valoreUscita }}</b>
<br>
<table class="table table-responsive table-striped lista-articoli-table">
<thead>
<tr>
<th>{{ traduzione.OttieniElementoDizionario("ordine_veloce_tab_tp", "ordine_veloce").valoreUscita }}</th>
<th>{{ traduzione.OttieniElementoDizionario("ordine_veloce_tab_codice", "ordine_veloce").valoreUscita }}</th>
<th>{{ traduzione.OttieniElementoDizionario("ordine_veloce_tab_descrizione", "ordine_veloce").valoreUscita }}</th>
<th>{{ traduzione.OttieniElementoDizionario("ordine_veloce_tab_marca", "ordine_veloce").valoreUscita }}</th>
<th>{{ traduzione.OttieniElementoDizionario("ordine_veloce_tab_qta", "ordine_veloce").valoreUscita }}</th>
<th>{{ traduzione.OttieniElementoDizionario("ordine_veloce_tab_nettocad", "ordine_veloce").valoreUscita }}</th>
<th>{{ traduzione.OttieniElementoDizionario("ordine_veloce_tab_listino", "ordine_veloce").valoreUscita }}</th>
<th>{{ traduzione.OttieniElementoDizionario("ordine_veloce_tab_disponibile", "ordine_veloce").valoreUscita }}</th>
<th>{{ traduzione.OttieniElementoDizionario("ordine_veloce_tab_inarrivo", "ordine_veloce").valoreUscita }}</th>
</tr>
</thead>
<tbody class="body-tabella-articoli">
</tbody>
</table>
<button class="btn btn-lg btn-primary aggiungi-tutto-carrello" style="float: left;">{{ traduzione.OttieniElementoDizionario("ordine_veloce_bottone_aggiungi_al_carrello", "ordine_veloce").valoreUscita }}</button>
{% endblock %}
{% block javascript %}
<script type="text/javascript">
$(document).ready(function () {
$("#myModalShop").modal({
show: false
});
$("#aggiungi_da_excel_modal").modal({
show: false
});
$('#importa_da_excel_btn').on("click", function () {
$("#aggiungi_da_excel_modal").modal("toggle");
});
$(".lista-articoli-table").on("click", "a", function () {
$(this).closest("tr").remove();
});
$(".attiva-press").keypress(function (e) {
var keycode = event.keyCode || event.which;
if (keycode == '13') {
$(".ordineVeloceAggiungiBtn").click();
}
});
$("#importaCarrelloBtn").on("click", function () {
if($("#listaCodiciImportazioneCarrelloTextArea").val() != ''){
$("#loadingExcel").css("display", "block");
$.ajax({
type: "POST",
dataType: 'html',
data: {
"lista_da_importare": $("#listaCodiciImportazioneCarrelloTextArea").val()
},
url: Routing.generate('carrello_aggiungi_da_excel'),
async: true
})
.done(function (response) {
$("#loadingExcel").css("display", "none");
try {
let ritorno = JSON.parse(response);
if (ritorno["errori"].length > 0) {
$('#modalBodyAttenzione').html(ritorno["errori"]);
} else {
$('#modalBodyAttenzione').html('{{ traduzione.OttieniElementoDizionario("ordine_veloce_excel_modal_importazione_completata", "ordine_veloce").valoreUscita }}');
}
}catch{
$('#modalBodyAttenzione').html("ERROR!");
}
$('#myModalShop').modal({
show: false
});
$("#myModalShop").modal('show');
})
.fail(function (jqXHR, textStatus, errorThrown) {
alert('Error : ' + errorThrown);
$("#loadingMaster").css("display", "none");
});
}else{
$('#modalBodyAttenzione').html("{{ traduzione.OttieniElementoDizionario("ordine_veloce_excel_modal_errore_inserisci_almeno_una_riga", "ordine_veloce").valoreUscita }}");
$('#myModalShop').modal({
show: false
});
$("#myModalShop").modal('show');
}
});
$(".aggiungi-tutto-carrello").on("click", function () {
var listaCodici = [];
$(".body-tabella-articoli tr").each(function () {
var idmappa = $(this).data('idmappa');
var qta = $(this).find("td:nth-child(5)").text();
listaCodici.push({
'idMappaArticoli': idmappa,
'idVariante': '',
'idListaTipologiePreimpostate': '',
'qta': qta
});
});
if (listaCodici.length > 0) {
$("#erroreImportazioneCarrello").html("");
$("#importaCarrelloBtn").hide();
$("#loadingMaster").css("display", "block");
$.ajax({
type: "POST",
dataType: 'html',
data: {
"lista": listaCodici
},
url: Routing.generate('carrello_aggiungi'),
async: true
})
.done(function (response) {
$("#loadingMaster").css("display", "none");
$("#baseModalImportazioneCarrelloBody").hide();
CountArticoliCarrello();
$(".body-tabella-articoli").html("");
toastMessage("{{ traduzione.OttieniElementoDizionario("ordine_veloce_articoli_aggiunti_carrello", "ordine_veloce").valoreUscita }}");
})
.fail(function (jqXHR, textStatus, errorThrown) {
alert('Error : ' + errorThrown);
$("#loadingMaster").css("display", "none");
});
}else{
$("#modalBodyAttenzione").html("<p>{{ traduzione.OttieniElementoDizionario("ordine_veloce_messaggio_testo", "ordine_veloce").valoreUscita }}</p>");
$('#myModalShop').modal({
show: false
});
$("#myModalShop").modal('show');
}
});
$(".ordineVeloceAggiungiBtn").on("click", function () {
var codiceParte = $("#ordineVeloceCodiceParteTxt").val();
var marca = $("#ordineVeloceMarcaTxt").val();
var qta = $("#ordineVeloceQtaTxt").val();
if (codiceParte && codiceParte != "" && qta && qta != "")
{
$("#loadingMaster").css("display", "block");
$.ajax({
type: "POST",
dataType: 'json',
url: Routing.generate('ordine_veloce_cerca_mappa'),
data: {
"data": {
'codice' : codiceParte,
'marca' : marca
}
},
async: true //you won't need that if nothing in your following code is dependend of the result
})
.done(function (response) {
$("#loadingMaster").css("display", "none");
if (response['descrizione']) {
var backgroundStyle = "";
if (Number(response['disponibile'].replace(",", ".")) < Number(qta)) {
if (Number(response['in_arrivo'].replace(",", ".")) > qta) {
backgroundStyle = " style='background-color: yellow;'";
parseFloat(qta).toFixed(response['numero_decimali']);
$("#modalBodyAttenzione").html("<p>{{ traduzione.OttieniElementoDizionario("ordine_veloce_messaggio_testo_non_disponibile_in_arrivo", "ordine_veloce").valoreUscita }}</p>");
$('#myModalShop').modal({
show: false
});
$("#myModalShop").modal('show');
}
else {
backgroundStyle = " style='background-color: red;'";
$("#modalBodyAttenzione").html("<p>{{ traduzione.OttieniElementoDizionario("ordine_veloce_messaggio_testo_non_disponibile", "ordine_veloce").valoreUscita }}</p>");
$('#myModalShop').modal({
show: false
});
$("#myModalShop").modal('show');
}
}
var tabRow = "<tr" + backgroundStyle + " data-idmappa='" + response['id_mappa'] + "'><td>" + response['tipo_parte'] + "</td><td id='codice'>" + codiceParte + "</td><td>" + response['descrizione'] + "</td><td id='marca'>" + response['marca'] + "</td><td id='qta'>" + parseFloat(qta).toFixed(response['numero_decimali']) + "</td><td>€ " + response['prezzo_netto']
+ "</td><td>€ " + response['prezzo_listino'] + "</td><td>" + response['disponibile'] + "</td><td>" + response['in_arrivo'] + "</td><td><a class='btn btn-danger elimina-elemento' title='{{ traduzione.OttieniElementoDizionario("ordine_veloce_elimina_btn_title", "ordine_veloce").valoreUscita }}'><span class='glyphicon glyphicon-trash'></span></a></td></tr>";
$(".body-tabella-articoli").append(tabRow);
$("#codiceParteTxt").focus();
if(avviato){
pulisciTutto();
document.getElementById('startButton').click();
}
}else{
$("#modalBodyAttenzione").html("<p>{{ traduzione.OttieniElementoDizionario("ordine_veloce_messaggio_testo_articolo_non_trovato", "ordine_veloce").valoreUscita }}</p>");
$('#myModalShop').modal({
show: false
});
$("#myModalShop").modal('show');
}
})
.fail(function (jqXHR, textStatus, errorThrown) {
alert('Error : ' + errorThrown);
$("#loadingMaster").css("display", "none");
});
}
else{
$("#modalBodyAttenzione").html("<p>{{ traduzione.OttieniElementoDizionario("ordine_veloce_messaggio_testo_compila_dati", "ordine_veloce").valoreUscita }}</p>");
$('#myModalShop').modal({
show: false
});
$("#myModalShop").modal('show');
}
});
});
</script>
{% endblock %}