mirror of
https://github.com/welton89/RRBEC.git
synced 2026-04-05 13:35:42 +00:00
340 lines
10 KiB
JavaScript
340 lines
10 KiB
JavaScript
|
|
|
|
|
|
function openModal() {
|
|
textField = document.getElementById('search-product')
|
|
if (textField) {
|
|
setTimeout(() => {
|
|
textField.focus();
|
|
}, 500); // 50ms de delay (ajuste conforme necessário)
|
|
}
|
|
textField.value = '';
|
|
}
|
|
|
|
|
|
function closeModal() {
|
|
var popover = document.getElementById('addProduct');
|
|
popover.hidePopover()
|
|
}
|
|
|
|
|
|
function openModalAlter() {
|
|
document.getElementById('Modal-alter-comanda').style.display = 'block';
|
|
var name = document.getElementById('name-comanda').innerText.replace('Nome: ','').replace(' | ', '')
|
|
var mesa = document.getElementById('h-mesaId').value
|
|
console.log(name)
|
|
console.log(mesa)
|
|
|
|
var fildName = document.getElementById('nameComanda')
|
|
fildName.value = name
|
|
var fildMesa = document.getElementById('select-mesa')
|
|
fildMesa.value = mesa
|
|
}
|
|
|
|
function closeModalAlter() {
|
|
document.getElementById('Modal-alter-comanda').style.display = 'none';
|
|
}
|
|
function openModalObs(id) {
|
|
document.getElementById('modal-obs').style.display = 'block';
|
|
idd = document.getElementById('id-temp').value = id;
|
|
obs = document.getElementById('obs').value;
|
|
textField = document.getElementById('obs')
|
|
textField.focus()
|
|
|
|
}
|
|
|
|
|
|
function modal_payment_comanda() {
|
|
document.getElementById('payment-comanda').style.display = 'block';
|
|
recebido = document.getElementById('recebido')
|
|
recebido.focus()
|
|
}
|
|
function modal_payment_parcial() {
|
|
document.getElementById('payment-parcial').style.display = 'block';
|
|
value = document.getElementById('value-parcial')
|
|
value.focus()
|
|
|
|
}
|
|
|
|
|
|
function modal_conta_client() {
|
|
document.getElementById('conta-cliente').style.display = 'block';
|
|
|
|
}
|
|
|
|
function close_modal_conta_client() {
|
|
document.getElementById('conta-cliente').style.display = 'none';
|
|
}
|
|
|
|
|
|
function close_modal_payment_parcial() {
|
|
document.getElementById('payment-parcial').style.display = 'none';
|
|
}
|
|
function close_modal_payment_comanda() {
|
|
document.getElementById('payment-comanda').style.display = 'none';
|
|
}
|
|
|
|
function closeModalObs() {
|
|
document.getElementById('modal-obs').style.display = 'none';
|
|
}
|
|
|
|
|
|
|
|
function imprimirFichas() {
|
|
const element = document.getElementById("list-products-comanda");
|
|
const style = `<style>
|
|
td, th {
|
|
|
|
border-collapse: collapse;
|
|
padding-top: 35px;
|
|
margin: 20px;
|
|
text-align: center;
|
|
font-size: 24px;}
|
|
</style>`;
|
|
const agora = new Date();
|
|
var dateString = agora.getDate() + '/' + (agora.getMonth()+1) + '/' + agora.getFullYear() + ' - ' + agora.getHours() + ':' + agora.getMinutes()+' - Raul Rock Bar & Café';
|
|
|
|
if (element) {
|
|
var content = element.innerHTML;
|
|
content = content.replace( /<img[^>]*>/gi,'');
|
|
content = content.replace(/<tfoot[^>]*>(?:(?!<\/tfoot>)[\s\S])*<\/tfoot>/gi,'');
|
|
|
|
content = content.replace(/<th[^>]*>(?:(?!<\/th>)[\s\S])*<\/th>/gi,'');
|
|
// content = content.replace(/<\/tr>/g,'</tr><tr><td colspan="2" style="font-size: 12px">'+dateString+'</td></tr>');
|
|
content = content.replace(/<\/tr>/g,'</tr><tr><td colspan="2" style="font-size: 12px">'+dateString+ '<BR>VÁLIDO SOMENTE POR ESSA NOITE'+'</td></tr>');
|
|
|
|
console.log(content);
|
|
|
|
var printWindow = window.open('', '_blank');
|
|
printWindow.document.write('<table>'+content+'</table>'+style);
|
|
printWindow.document.close();
|
|
printWindow.print();
|
|
printWindow.close();
|
|
} else {
|
|
console.error(`Element with ID not found`);
|
|
}
|
|
}
|
|
function printOrder(id) {
|
|
var order = document.getElementById(id+'-obsOrder').value
|
|
order = order.split('|');
|
|
const body = `<style>
|
|
td, th {
|
|
border-collapse: collapse;
|
|
padding-top: 10px;
|
|
margin: 10px;
|
|
text-align: center;
|
|
font-size: 20px;}
|
|
</style>
|
|
<tr><td>${order[0]}</td></tr>
|
|
<tr><td>${order[1]}</td></tr>
|
|
<tr><td>${order[3]} - ${order[4]}</td></tr>
|
|
<tr><td>${order[5]}</td></tr>
|
|
`;
|
|
|
|
var printWindow = window.open('', '_blank');
|
|
// printWindow.body.appendChild(body);
|
|
printWindow.document.write('<table>'+body+'</table>');
|
|
printWindow.document.close();
|
|
printWindow.print();
|
|
printWindow.close();
|
|
|
|
}
|
|
|
|
|
|
function imprimirConta() {
|
|
reloadPage();
|
|
const element = document.getElementById("list-products-comanda");
|
|
const style = `<style>
|
|
td, th {
|
|
border-collapse: collapse;
|
|
padding-top: 15px;
|
|
margin: 15px;
|
|
text-align: justify;
|
|
font-size: 15px;}
|
|
</style>`;
|
|
const agora = new Date();
|
|
var dateString = agora.getDate() + '/' + (agora.getMonth()+1) + '/' + agora.getFullYear() + ' - ' + agora.getHours() + ':' + agora.getMinutes();
|
|
|
|
if (element) {
|
|
var content = element.innerHTML;
|
|
content = content.replace(/<img[^>]*>/gi,'');
|
|
content = content.replace(/<th[^>]*>(?:(?!<\/th>)[\s\S])*<\/th>/gi,'');
|
|
// content = content.replace('icons','');
|
|
content = '<img src="/static/midia/logo.png" style="width: 240px; height: 200px;">'
|
|
+'<br>'
|
|
+document.getElementById('name-comanda').innerText.replace(' | ', '')
|
|
+'<br>'
|
|
+document.getElementById('mesa-comanda').innerText
|
|
+'<br>'
|
|
+document.getElementById('open-comanda').innerText
|
|
+'<br> Fechado em: '
|
|
+dateString
|
|
+content
|
|
+'<br>'
|
|
|
|
|
|
|
|
var printWindow = window.open('', '_blank');
|
|
printWindow.document.write('<table>'+content+'</table><br><b>Volte Sempre!😁😊</b><br>'+style);
|
|
printWindow.document.close();
|
|
printWindow.print();
|
|
printWindow.close();
|
|
} else {
|
|
console.error(`Element with ID not found`);
|
|
}
|
|
}
|
|
|
|
|
|
function closeConta(id){
|
|
|
|
const resultadoConfirmacao = confirm("Encerrar comanda?");
|
|
const buttonAdd = document.getElementById('openModal')
|
|
const buttonClose = document.getElementById('closeComanda')
|
|
const buttonreOpenComanda = document.getElementById('reOpenComanda')
|
|
const buttonPrintComanda = document.getElementById('printComanda')
|
|
const buttonPayment = document.getElementById('pagarComanda')
|
|
if (resultadoConfirmacao){
|
|
|
|
fetch(`/comandas/closeComanda/${id}/`, {
|
|
method: 'PUT',
|
|
headers: {
|
|
'Content-Type': 'application/json',
|
|
'X-CSRFToken': document.querySelector('[name="csrfmiddlewaretoken"]').value}
|
|
})
|
|
.then(response => response.json())
|
|
.then(data => {
|
|
if(data.status == 'ok'){
|
|
buttonPrintComanda.style.display = 'flex'
|
|
buttonClose.style.display = 'none'
|
|
buttonAdd.style.display = 'none'
|
|
buttonreOpenComanda.style.display = 'flex'
|
|
buttonPayment.style.display = 'flex'
|
|
showToast('✅Comanda encerrada!😁','success')
|
|
imprimirConta()
|
|
}
|
|
})
|
|
.catch(error => {
|
|
showToast('❌Ocorreu um erro!😢','error')
|
|
});
|
|
}
|
|
|
|
}
|
|
|
|
|
|
function reloadPage(){
|
|
setTimeout(function() {
|
|
location.reload();}, 100);
|
|
}
|
|
|
|
function backPage() {
|
|
setTimeout(function() {
|
|
history.back();}, 100);
|
|
setTimeout(function() {
|
|
location.reload();}, 100);
|
|
}
|
|
|
|
|
|
function troco(){
|
|
recebido = document.getElementById('recebido').value
|
|
total = document.getElementById('first-total').innerHTML
|
|
resultado = document.getElementById('troco')
|
|
total = total.replace('R$ ','')
|
|
total = total.replace(',','.')
|
|
result = recebido - total
|
|
resultado.innerHTML = 'Troco: R$ '+result
|
|
}
|
|
|
|
|
|
function addOrder(){
|
|
var obs = document.getElementById('obs')
|
|
id = document.getElementById('id-temp').value
|
|
var obsPrint = document.getElementById(id+'-obsOrder')
|
|
var order = obsPrint.value.split('|');
|
|
var newOrder = '';
|
|
|
|
fetch(`/comandas/editOrders/${id}/${obs.value}`, {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json',
|
|
'X-CSRFToken': document.querySelector('[name="csrfmiddlewaretoken"]').value}
|
|
})
|
|
.then(response => response.json())
|
|
.then(data => {
|
|
if(data.status == 'ok'){
|
|
showToast('✅Pedido atualizado com sucesso!😁','success')
|
|
obs.value = ''
|
|
order[1] = data.obs;
|
|
for(var i = 0; i < order.length; i++){
|
|
newOrder += order[i] + '|';
|
|
}
|
|
obsPrint.value = newOrder;
|
|
document.getElementById('modal-obs').style.display = 'none';
|
|
|
|
}
|
|
})
|
|
.catch(error => {
|
|
console.log(error)
|
|
showToast('❌Ocorreu um erro!😢','error')
|
|
});
|
|
|
|
}
|
|
|
|
|
|
function showToastAdd(message, type ,duration = 3000) {
|
|
const toast = document.getElementById('toast-add');
|
|
|
|
if (type === 'success') {
|
|
toast.style.backgroundColor = '#28a745';
|
|
} else if (type === 'error') {
|
|
toast.style.backgroundColor = '#dc3545';
|
|
} else if (type === 'info') {
|
|
toast.style.backgroundColor = '#ffc107';
|
|
}
|
|
const toastMessage = document.getElementById('toast-message-add');
|
|
toastMessage.textContent = message;
|
|
toast.classList.add('show');
|
|
|
|
setTimeout(() => {
|
|
toast.classList.remove('show');
|
|
}, duration);
|
|
}
|
|
function addProductComanda(productId,comandaId, cuisine) {
|
|
obs = document.getElementById('obs');
|
|
if(cuisine == 'ggg'){
|
|
var obs = openModalObs();
|
|
}else{
|
|
fetch(`/comandas/addProduct${productId}/${comandaId}`, {
|
|
method: 'GET',
|
|
headers: {
|
|
'Content-Type': 'application/json'}
|
|
})
|
|
.then(function(response) {
|
|
return response.text();
|
|
}).then(function(text) {
|
|
var listProductsBalcaoElement = document.getElementById("list-products-comanda");
|
|
listProductsBalcaoElement.innerHTML = text;
|
|
})
|
|
showToastAdd('Produto adicionado com sucesso!😁','success');
|
|
}
|
|
|
|
}
|
|
|
|
function taxa(){
|
|
var taxa = document.getElementById('taxa')
|
|
var total = document.getElementById('first-total')
|
|
var totalComTaxa = document.getElementById('totalComTaxa').innerHTML
|
|
var totalSemTaxa = document.getElementById('totalSemTaxa').innerHTML
|
|
|
|
if (taxa.checked){
|
|
total.innerHTML = totalComTaxa
|
|
}else{
|
|
total.innerHTML = totalSemTaxa
|
|
}
|
|
}
|
|
|
|
|
|
function inforOrders(id){
|
|
var order = document.getElementById(id+'-obsOrder').value.split('|');
|
|
|
|
feedback(order[2], "", order[1]+' - '+order[5]);
|
|
} |