1519 lines
36 KiB
JavaScript
1519 lines
36 KiB
JavaScript
document.addEventListener("DOMContentLoaded", function(event) {
|
|
setTimeout(() => {
|
|
$('.div-main').removeClass('d-none')
|
|
}, 100)
|
|
});
|
|
$(function(){
|
|
|
|
if(senhaAcao != ''){
|
|
$('.inp-modal-pass').attr('readonly', 1)
|
|
}
|
|
|
|
let finalizacao_pdv = $('#inp-finalizacao_pdv').val()
|
|
if(finalizacao_pdv == 'nao_fiscal'){
|
|
$('#btn_fiscal').addClass('d-none')
|
|
}else if(finalizacao_pdv == 'fiscal'){
|
|
$('#btn_nao_fiscal').addClass('d-none')
|
|
}
|
|
setTimeout(() => {
|
|
$('#cat_todos').first().trigger('click')
|
|
|
|
$("#inp-conta_empresa_sangria_id").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar a conta",
|
|
width: "100%",
|
|
theme: "bootstrap4",
|
|
dropdownParent: '#sangria_caixa',
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/contas-empresa",
|
|
dataType: "json",
|
|
data: function (params) {
|
|
console.clear();
|
|
let empresa_id = $('#empresa_id').val()
|
|
var query = {
|
|
pesquisa: params.term,
|
|
empresa_id: empresa_id
|
|
};
|
|
return query;
|
|
},
|
|
processResults: function (response) {
|
|
var results = [];
|
|
|
|
$.each(response, function (i, v) {
|
|
var o = {};
|
|
o.id = v.id;
|
|
|
|
o.text = v.nome;
|
|
o.value = v.id;
|
|
results.push(o);
|
|
});
|
|
return {
|
|
results: results,
|
|
};
|
|
},
|
|
},
|
|
});
|
|
|
|
$("#inp-conta_empresa_suprimento_id").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar a conta",
|
|
width: "100%",
|
|
theme: "bootstrap4",
|
|
dropdownParent: '#suprimento_caixa',
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/contas-empresa",
|
|
dataType: "json",
|
|
data: function (params) {
|
|
console.clear();
|
|
let empresa_id = $('#empresa_id').val()
|
|
var query = {
|
|
pesquisa: params.term,
|
|
empresa_id: empresa_id
|
|
};
|
|
return query;
|
|
},
|
|
processResults: function (response) {
|
|
var results = [];
|
|
|
|
$.each(response, function (i, v) {
|
|
var o = {};
|
|
o.id = v.id;
|
|
|
|
o.text = v.nome;
|
|
o.value = v.id;
|
|
results.push(o);
|
|
});
|
|
return {
|
|
results: results,
|
|
};
|
|
},
|
|
},
|
|
});
|
|
}, 100)
|
|
$('#inp-pesquisa').val('')
|
|
|
|
$(document).on('click', '.categorias-pagination a', function(event){
|
|
event.preventDefault()
|
|
var page = $(this).attr('href').split('page=')[1];
|
|
$.get(path_url + 'api/frenteCaixa/categorias-page?page='+page, {
|
|
empresa_id: $('#empresa_id').val(),
|
|
})
|
|
.done((res) => {
|
|
$('.div-categorias').html(res)
|
|
}).fail((err) => {
|
|
console.log(err)
|
|
|
|
})
|
|
})
|
|
|
|
$(document).on('click', '.marcas-pagination a', function(event){
|
|
event.preventDefault()
|
|
var page = $(this).attr('href').split('page=')[1];
|
|
$.get(path_url + 'api/frenteCaixa/marcas-page?page='+page, { empresa_id: $('#empresa_id').val() })
|
|
.done((res) => {
|
|
$('.div-marcas').html(res)
|
|
}).fail((err) => {
|
|
console.log(err)
|
|
|
|
})
|
|
})
|
|
|
|
$(document).on('click', '.produtos-pagination a', function(event){
|
|
event.preventDefault()
|
|
|
|
let data = {
|
|
categoria_id : CATEGORIAID,
|
|
marca_id : MARCAID,
|
|
empresa_id: $('#empresa_id').val(),
|
|
lista_id: $('#lista_id').val(),
|
|
local_id: $('#local_id').val(),
|
|
}
|
|
var page = $(this).attr('href').split('page=')[1];
|
|
$.get(path_url + 'api/frenteCaixa/produtos-page?page='+page, data)
|
|
.done((res) => {
|
|
$('.div-produtos').html(res)
|
|
}).fail((err) => {
|
|
console.log(err)
|
|
})
|
|
})
|
|
|
|
if($('#pedido_valor_entrega').val()){
|
|
$('#inp-acrescimo').val(convertFloatToMoeda($('#pedido_valor_entrega').val()))
|
|
$('#inp-tipo_acrescimo').val('R$').change()
|
|
}
|
|
|
|
if($('#venda_id').val() == '0'){
|
|
$('#inp-desconto').val('0')
|
|
$('#inp-acrescimo').val('0')
|
|
$('#inp-valor_total').val('0')
|
|
}else{
|
|
calculaTotal()
|
|
}
|
|
|
|
setTimeout(() => {
|
|
$("#inp-pesquisa").focus();
|
|
}, 500)
|
|
})
|
|
|
|
function modalFrete(){
|
|
$('#modal_frete').modal('show')
|
|
let vFrete = $('#inp-valor_frete').val()
|
|
$('#valor_frete').val(vFrete)
|
|
}
|
|
|
|
$('.btn-save-frete').click(() => {
|
|
let valorFrete = convertMoedaToFloat($('#valor_frete').val())
|
|
if(valorFrete){
|
|
VALORFRETE = valorFrete
|
|
$('#inp-valor_frete').val(convertFloatToMoeda(valorFrete))
|
|
calculaTotal()
|
|
}
|
|
|
|
$('#modal_frete').modal('hide')
|
|
})
|
|
|
|
$("#inp-transportadora_id").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar a transportadora",
|
|
dropdownParent: '#modal_frete',
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/transportadoras/pesquisa",
|
|
dataType: "json",
|
|
data: function (params) {
|
|
console.clear();
|
|
var query = {
|
|
pesquisa: params.term,
|
|
empresa_id: $("#empresa_id").val(),
|
|
};
|
|
return query;
|
|
},
|
|
processResults: function (response) {
|
|
var results = [];
|
|
|
|
$.each(response, function (i, v) {
|
|
var o = {};
|
|
o.id = v.id;
|
|
|
|
o.text = v.razao_social + " - " + v.cpf_cnpj;
|
|
o.value = v.id;
|
|
results.push(o);
|
|
});
|
|
return {
|
|
results: results,
|
|
};
|
|
},
|
|
},
|
|
});
|
|
|
|
$("body").on("click", ".btn-incrementa", function () {
|
|
|
|
let inp = $(this).prev()[0]
|
|
let prodRow = $(this).closest('.products').find('.produto_id')
|
|
let produto_id = prodRow.val()
|
|
if (inp.value) {
|
|
let v = convertMoedaToFloat(inp.value)
|
|
|
|
$.get(path_url + "api/produtos/valida-estoque", { qtd: v+1, product_id: produto_id, local_id: $('#local_id').val() })
|
|
.done((res) => {
|
|
console.log(res)
|
|
v += 1
|
|
inp.value = parseInt(v)
|
|
$inpVlUnit = $(this).closest('.products').find('.valor_unitario')
|
|
if(res.quantidade_atacado && res.quantidade_atacado >= v){
|
|
$inpVlUnit.val(convertFloatToMoeda(res.valor_atacado))
|
|
}
|
|
// calculaTotal()
|
|
})
|
|
.fail((err) => {
|
|
// console.log(err);
|
|
inp.value = v
|
|
swal("Alerta", err.responseJSON, "warning")
|
|
});
|
|
|
|
}
|
|
})
|
|
|
|
function registrarLog(data){
|
|
// console.clear()
|
|
// console.log("LOG", data)
|
|
$.post(path_url + 'api/frenteCaixa/pdf-log', data)
|
|
.done((res) => {
|
|
// console.log(res)
|
|
})
|
|
.fail((err) => {
|
|
// console.log(err)
|
|
})
|
|
}
|
|
|
|
function resetProdutos() {
|
|
CATEGORIAID = 0
|
|
MARCAID = 0
|
|
getProdutos()
|
|
}
|
|
|
|
$('.btn-gerar-fatura').click(() => {
|
|
$('#modal_finalizar_pdv2').modal('hide')
|
|
$('#modal_fatura_venda').modal('show')
|
|
let desconto = convertMoedaToFloat($('#inp-valor_desconto').val())
|
|
let acrescimo = convertMoedaToFloat($('#inp-valor_acrescimo').val())
|
|
let total = $('#inp-valor_total').val()
|
|
|
|
let total_venda = total
|
|
$('.lbl-total_fatura').text("R$ " + convertFloatToMoeda(total_venda))
|
|
})
|
|
|
|
$('.btn-store-fatura').click(() => {
|
|
console.clear()
|
|
let desconto = convertMoedaToFloat($('#inp-valor_desconto').val())
|
|
let acrescimo = convertMoedaToFloat($('#inp-valor_acrescimo').val())
|
|
let total = $('#inp-valor_total').val()
|
|
|
|
let total_venda = total + acrescimo - desconto
|
|
if(!$('#inp-parcelas_fatura').val()){
|
|
swal("Erro", "Informe a quantidade de parcelas!", "error")
|
|
return;
|
|
}
|
|
if(!$('#inp-intervalo_fatura').val()){
|
|
swal("Erro", "Informe o intervalo!", "error")
|
|
return;
|
|
}
|
|
let data = {
|
|
entrada_fatura: $('#inp-entrada_fatura').val(),
|
|
parcelas_fatura: $('#inp-parcelas_fatura').val(),
|
|
intervalo_fatura: $('#inp-intervalo_fatura').val(),
|
|
primeiro_vencimento_fatura: $('#inp-primeiro_vencimento_fatura').val(),
|
|
tipo_pagamento_fatura: $('#inp-tipo_pagamento_fatura').val(),
|
|
total: total_venda
|
|
}
|
|
// console.log(data)
|
|
$.get(path_url + "api/frenteCaixa/gerar-fatura-pdv2", data)
|
|
.done((success) => {
|
|
// console.log(success)
|
|
$('#modal_finalizar_pdv2').modal('show')
|
|
setTimeout(() => {
|
|
$(".fatura").html(success)
|
|
$('#modal_fatura_venda').modal('hide')
|
|
|
|
|
|
}, 100)
|
|
|
|
|
|
})
|
|
.fail((err) => {
|
|
console.log(err);
|
|
});
|
|
})
|
|
|
|
var CATEGORIAID = 0
|
|
var MARCAID = 0
|
|
$(document).on('click', '.list-categoria', function(){
|
|
CATEGORIAID = $(this).data('id')
|
|
|
|
$('.list-categoria').removeClass('active')
|
|
$('.categoria-'+CATEGORIAID).addClass('active')
|
|
getProdutos()
|
|
})
|
|
|
|
$(document).on('blur', '#inp-desconto', function(e){
|
|
calculaDesconto()
|
|
});
|
|
$(document).on('change', '#inp-tipo_desconto', function(e){
|
|
calculaDesconto()
|
|
});
|
|
|
|
function calculaDesconto(){
|
|
let desconto = convertMoedaToFloat($('#inp-desconto').val())
|
|
let tipo_desconto = $('#inp-tipo_desconto').val()
|
|
let total = $('#inp-valor_total').val()
|
|
let valor_desconto = desconto
|
|
if(tipo_desconto == '%'){
|
|
valor_desconto = total*(desconto/100)
|
|
}
|
|
|
|
$('#inp-valor_desconto').val(convertFloatToMoeda(valor_desconto))
|
|
calculaTotal()
|
|
|
|
let data = {
|
|
empresa_id: $("#empresa_id").val(),
|
|
usuario_id: $('#usuario_id').val(),
|
|
acao: 'Desconto',
|
|
valor_desconto: valor_desconto,
|
|
|
|
}
|
|
registrarLog(data)
|
|
}
|
|
|
|
function removeItem(code){
|
|
if(senhaAcao != ''){
|
|
swal({
|
|
title: "Senha para remover item",
|
|
text: "Informe a senha para continuar",
|
|
content: {
|
|
element: "input",
|
|
attributes: {
|
|
type: "password",
|
|
placeholder: "Digite a senha"
|
|
}
|
|
},
|
|
button: {
|
|
text: "Ok",
|
|
closeModal: false,
|
|
type: "error",
|
|
},
|
|
}).then((v) => {
|
|
if(v == senhaAcao){
|
|
removeItemLinha(code)
|
|
}else{
|
|
swal("Erro", "Senha incorreta!", "error")
|
|
}
|
|
})
|
|
}else{
|
|
swal({
|
|
title: "Você está certo?",
|
|
text: "Deseja realmente remover este item da venda?",
|
|
icon: "warning",
|
|
buttons: true,
|
|
buttons: ["Cancelar", "Excluir"],
|
|
dangerMode: true,
|
|
}).then((isConfirm) => {
|
|
if (isConfirm) {
|
|
|
|
removeItemLinha(code)
|
|
calculaTotal()
|
|
} else {
|
|
swal("", "Este item está salvo!", "info");
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
function removeItemLinha(code){
|
|
let data = {
|
|
empresa_id: $("#empresa_id").val(),
|
|
usuario_id: $('#usuario_id').val(),
|
|
acao: 'Item removido',
|
|
produto_id: $('.product-line-'+code).find('.produto_id').val()
|
|
}
|
|
|
|
$('.product-line-'+code).remove()
|
|
swal("Sucesso", "Item removido!", "success")
|
|
calculaTotal()
|
|
registrarLog(data)
|
|
}
|
|
|
|
function buscarVariacoes(produto_id){
|
|
$.get(path_url + "api/variacoes/find", { produto_id: produto_id })
|
|
.done((res) => {
|
|
$('#modal_variacao .modal-body').html(res)
|
|
$('#modal_variacao').modal('show')
|
|
})
|
|
.fail((err) => {
|
|
console.log(err)
|
|
swal("Algo deu errado", "Erro ao buscar variações", "error")
|
|
})
|
|
}
|
|
|
|
function editItem(code){
|
|
if(senhaAcao == ''){
|
|
let produto_id = $('.product-line-'+code).find('.produto_id').val()
|
|
let quantidade = $('.product-line-'+code).find('.quantidade').val()
|
|
let valor_unitario = $('.product-line-'+code).find('.valor_unitario').val()
|
|
let data = {
|
|
produto_id: produto_id,
|
|
code: code,
|
|
quantidade: quantidade,
|
|
valor_unitario: valor_unitario
|
|
}
|
|
$.get(path_url + 'api/frenteCaixa/edit-item', data)
|
|
.done((res) => {
|
|
// console.log(res)
|
|
$('#edit_item_pdv').modal('show')
|
|
$('#edit_item_pdv .modal-body').html(res)
|
|
|
|
}).fail((err) => {
|
|
console.log(err)
|
|
})
|
|
}else{
|
|
toastr.error('Você não tem permissão para editar o item da venda!');
|
|
}
|
|
}
|
|
|
|
$(document).on('click', '#btn-edit-item', function(e){
|
|
let id = $('#inp-id-item').val()
|
|
let code = $('#inp-code-item').val()
|
|
let qtd = $('#inp-qtd-item').val()
|
|
let valor_unitario = convertMoedaToFloat($('#inp-valor-unitario-item').val())
|
|
|
|
$.get(path_url + "api/orcamentos/valida-desconto",
|
|
{
|
|
produto_id: id, valor: valor_unitario, empresa_id: $('#empresa_id').val(), pdv: 1
|
|
}).done((res) => {
|
|
$('.product-line-'+code).find('.quantidade').val(qtd)
|
|
$('.product-line-'+code).find('.qtd-row').val(qtd)
|
|
$('.product-line-'+code).find('.valor_unitario').val(convertFloatToMoeda(valor_unitario))
|
|
$('.product-line-'+code).find('.subtotal_item').val(convertFloatToMoeda(valor_unitario*qtd))
|
|
|
|
$('.product-line-'+code).find('.price').text("R$ " + convertFloatToMoeda(valor_unitario*qtd))
|
|
$('.product-line-'+code).find('.qtd-row').val(qtd)
|
|
$('#edit_item_pdv').modal('hide')
|
|
calculaTotal()
|
|
})
|
|
.fail((err) => {
|
|
console.log(err)
|
|
let v = err.responseJSON
|
|
$('#inp-valor-unitario-item').val(convertFloatToMoeda(v))
|
|
swal("Erro", "Valor minímo para este item " + convertFloatToMoeda(v), "error")
|
|
})
|
|
})
|
|
|
|
$(document).on('blur keydown', '.qtd-row', function(e){
|
|
|
|
let code = $(this).next().data('code')
|
|
let qtd = convertMoedaToFloat($(this).val())
|
|
setTimeout(() => {
|
|
$('.product-line-'+code).find('.quantidade').val(qtd)
|
|
|
|
let valor_unitario = convertMoedaToFloat($('.product-line-'+code).find('.valor_unitario').val())
|
|
|
|
$('.product-line-'+code).find('.price').text("R$ " + convertFloatToMoeda(valor_unitario*qtd))
|
|
$('.product-line-'+code).find('.subtotal_item').val(convertFloatToMoeda(valor_unitario*qtd))
|
|
|
|
calculaTotal()
|
|
}, 10)
|
|
})
|
|
|
|
$(document).on('click', '.increment-decrement', function(e){
|
|
let bt = $(this)[0].innerText
|
|
let code = $(this).data('code')
|
|
let qtd = 0;
|
|
if(bt == '+'){
|
|
qtd = $(this).prev().val()
|
|
qtd++;
|
|
}else{
|
|
qtd = $(this).next().val()
|
|
qtd--;
|
|
if(qtd <= 0){
|
|
removeItem(code)
|
|
return;
|
|
}
|
|
}
|
|
|
|
setTimeout(() => {
|
|
$('.product-line-'+code).find('.quantidade').val(qtd)
|
|
|
|
$('.product-line-'+code).find('.qtd-row').val(qtd)
|
|
let valor_unitario = convertMoedaToFloat($('.product-line-'+code).find('.valor_unitario').val())
|
|
|
|
$('.product-line-'+code).find('.price').text("R$ " + convertFloatToMoeda(valor_unitario*qtd))
|
|
$('.product-line-'+code).find('.subtotal_item').val(convertFloatToMoeda(valor_unitario*qtd))
|
|
|
|
calculaTotal()
|
|
|
|
}, 10)
|
|
});
|
|
|
|
function selecionaLista(){
|
|
let tipo_pagamento_lista = $('#inp-tipo_pagamento_lista').val()
|
|
let funcionario_lista_id = $('#inp-funcionario_lista_id').val()
|
|
let lista_preco_id = $('#inp-lista_preco_id').val()
|
|
|
|
if(!lista_preco_id){
|
|
swal("Alerta", "Selecione a lista", "warning")
|
|
return;
|
|
}
|
|
|
|
if(tipo_pagamento_lista){
|
|
$('#inp-tipo_pagamento').val(tipo_pagamento_lista).change()
|
|
}
|
|
if(funcionario_lista_id){
|
|
$.get(path_url + "api/funcionarios/find", {id: funcionario_lista_id})
|
|
.done((res) => {
|
|
var newOption = new Option(res.nome, res.id, true, false);
|
|
$('#inp-funcionario_id').append(newOption);
|
|
$('.funcionario_selecionado').text(res.nome)
|
|
|
|
})
|
|
.fail((err) => {
|
|
console.log(err);
|
|
});
|
|
}
|
|
|
|
$('#lista_id').val(lista_preco_id)
|
|
setTimeout(() => {
|
|
resetProdutos()
|
|
}, 10)
|
|
setTimeout(() => {
|
|
$("#inp-pesquisa").focus();
|
|
}, 500)
|
|
}
|
|
|
|
$("body").on("change", ".tipo_pagamento", function () {
|
|
let cliente_id = $('#inp-cliente_id').val()
|
|
if($(this).val() == '06' && !cliente_id){
|
|
swal("Alerta", "Informe o cliente!", "warning")
|
|
$(this).val('').change()
|
|
}
|
|
})
|
|
|
|
$('#inp-valor_cashback').blur(() => {
|
|
validaCashBack()
|
|
})
|
|
|
|
function validaCashBack(){
|
|
|
|
let valor_setado = $('#inp-valor_cashback').val()
|
|
valor_setado = valor_setado.replace(",", ".")
|
|
valor_setado = parseFloat(valor_setado)
|
|
let total = $('#inp-valor_total').val()
|
|
|
|
if(total == 0){
|
|
swal("Alerta", "Informe ao menos um produto para continuar", "warning")
|
|
return;
|
|
}
|
|
if(CashBackConfig){
|
|
let percentual_maximo_venda = CashBackConfig.percentual_maximo_venda
|
|
let valor_maximo = total * (percentual_maximo_venda/100)
|
|
|
|
if(valor_setado > valor_maximo){
|
|
swal("Erro", "Valor máximo permitido R$ " + convertFloatToMoeda(valor_maximo), "warning")
|
|
$('#inp-valor_cashback').val('')
|
|
}else if(valor_setado > valorCashBack){
|
|
swal("Erro", "Valor ultrapassou R$ " + convertFloatToMoeda(valorCashBack), "warning")
|
|
$('#inp-valor_cashback').val('')
|
|
}else{
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
$(document).on("change", "#inp-cliente_id", function () {
|
|
clienteCNPJ = false
|
|
let cliente_id = $(this).val()
|
|
|
|
$.get(path_url + "api/clientes/find/" + $(this).val())
|
|
.done((cliente) => {
|
|
console.log(cliente)
|
|
$('#_cashback').modal('show')
|
|
|
|
$.get(path_url + "api/clientes/cashback/" + cliente_id)
|
|
.done((e) => {
|
|
if(e){
|
|
CashBackConfig = e
|
|
valorCashBack = e.valor_cashback
|
|
|
|
$('.cashback-div').removeClass('d-none')
|
|
$('.info_cash_back').text('*percentual de cashback para uso ' + e.percentual_maximo_venda + '%')
|
|
|
|
}
|
|
$('.valor-cashback-disponivel').text('R$ ' + convertFloatToMoeda(e.valor_cashback))
|
|
})
|
|
.fail((e) => {
|
|
$('.cashback-div').addClass('d-none')
|
|
});
|
|
|
|
if(cliente.lista_preco){
|
|
|
|
$('#lista_id').val(cliente.lista_preco.id)
|
|
setTimeout(() => {
|
|
resetProdutos()
|
|
}, 10)
|
|
setTimeout(() => {
|
|
$("#inp-pesquisa").focus();
|
|
}, 500)
|
|
}
|
|
})
|
|
.fail((err) => {
|
|
console.log(err);
|
|
});
|
|
|
|
$.get(path_url + "api/clientes/find/" + cliente_id)
|
|
.done((cliente) => {
|
|
$('.p-cliente').html("<label>Cliente: <strong>"+cliente.info+"</strong></label>");
|
|
if(cliente.cpf_cnpj.replace(/[^0-9]/g,'').length == 14){
|
|
$('.p-cliente').append("<br><strong class='text-danger'>Será emitida NFe cliente selecionado com CNPJ</strong>");
|
|
clienteCNPJ = true
|
|
}
|
|
|
|
})
|
|
.fail((err) => {
|
|
console.log(err);
|
|
});
|
|
})
|
|
|
|
$("body").on("change", "#inp-lista_preco_id", function () {
|
|
$.get(path_url + "api/lista-preco/find", {id: $(this).val()})
|
|
.done((res) => {
|
|
$('#inp-tipo_pagamento_lista').val(res.tipo_pagamento).change()
|
|
|
|
if(res.funcionario_id){
|
|
$('#inp-funcionario_lista_id').val(res.funcionario_id).change();
|
|
}
|
|
})
|
|
.fail((err) => {
|
|
console.log(err);
|
|
});
|
|
})
|
|
|
|
$("#lista_precos select").each(function () {
|
|
|
|
let id = $(this).prop("id");
|
|
|
|
if (id == "inp-lista_preco_id") {
|
|
|
|
$(this).select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar a lista de preço",
|
|
theme: "bootstrap4",
|
|
dropdownParent: $(this).parent(),
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/lista-preco/pesquisa",
|
|
dataType: "json",
|
|
data: function (params) {
|
|
var query = {
|
|
pesquisa: params.term,
|
|
empresa_id: $("#empresa_id").val(),
|
|
usuario_id: $("#usuario_id").val(),
|
|
tipo_pagamento_lista: $("#inp-tipo_pagamento_lista").val(),
|
|
funcionario_lista_id: $("#inp-funcionario_lista_id").val(),
|
|
};
|
|
return query;
|
|
},
|
|
processResults: function (response) {
|
|
var results = [];
|
|
|
|
$.each(response, function (i, v) {
|
|
var o = {};
|
|
o.id = v.id;
|
|
|
|
o.text = v.nome + " " + v.percentual_alteracao + "%";
|
|
o.value = v.id;
|
|
results.push(o);
|
|
});
|
|
return {
|
|
results: results,
|
|
};
|
|
},
|
|
},
|
|
});
|
|
}
|
|
});
|
|
|
|
$(document).on('blur', '#inp-acrescimo', function(e){
|
|
calculaAcrescimo()
|
|
});
|
|
$(document).on('change', '#inp-tipo_acrescimo', function(e){
|
|
calculaAcrescimo()
|
|
});
|
|
|
|
$(document).on('keyup', '#inp-valor_frete', function(e){
|
|
calculaAcrescimo()
|
|
});
|
|
|
|
function calculaAcrescimo(){
|
|
let acrescimo = convertMoedaToFloat($('#inp-acrescimo').val())
|
|
let tipo_acrescimo = $('#inp-tipo_acrescimo').val()
|
|
let total = $('#inp-valor_total').val()
|
|
let valor_acrescimo = acrescimo
|
|
|
|
if(tipo_acrescimo == '%'){
|
|
valor_acrescimo = total*(acrescimo/100)
|
|
}
|
|
// console.log(valor_acrescimo)
|
|
$('#inp-valor_acrescimo').val(convertFloatToMoeda(valor_acrescimo))
|
|
calculaTotal()
|
|
|
|
if(valor_acrescimo > 0){
|
|
let data = {
|
|
empresa_id: $("#empresa_id").val(),
|
|
usuario_id: $('#usuario_id').val(),
|
|
acao: 'Acréscimo',
|
|
valor_acrescimo: valor_acrescimo,
|
|
}
|
|
registrarLog(data)
|
|
}
|
|
}
|
|
|
|
$(document).on('keyup', '#inp-pesquisa', function(e){
|
|
let pesquisa = $(this).val()
|
|
let isCodigoBarras = pesquisa.substring(0,1) == "@" ? 1 : 0
|
|
if(isCodigoBarras){
|
|
pesquisa = pesquisa.substring(1, pesquisa.length)
|
|
}
|
|
if(!isNumeric(pesquisa) || isCodigoBarras){
|
|
if(pesquisa.length > 1){
|
|
let data = {
|
|
pesquisa: pesquisa,
|
|
empresa_id: $('#empresa_id').val(),
|
|
local_id: $('#local_id').val(),
|
|
}
|
|
$.get(path_url + 'api/frenteCaixa/pesquisa-produto', data)
|
|
.done((res) => {
|
|
// console.log(res)
|
|
$('.results-list').removeClass('d-none')
|
|
$('.results-list').html(res)
|
|
}).fail((err) => {
|
|
console.log(err)
|
|
})
|
|
}
|
|
}
|
|
|
|
})
|
|
|
|
function fecharAutocomplete(){
|
|
$('.results-list').html('').addClass('d-none')
|
|
}
|
|
|
|
$(document).on('keypress', '.qtd-row', function(e){
|
|
if(e.which == 13) {
|
|
e.preventDefault();
|
|
}
|
|
});
|
|
|
|
var naoAbriModalVariacao = 0
|
|
$(document).on('keypress', '#inp-pesquisa', function(e){
|
|
|
|
let pesquisa = $(this).val()
|
|
|
|
// if(pesquisa.length > 1){
|
|
// let data = {
|
|
// pesquisa: pesquisa,
|
|
// empresa_id: $('#empresa_id').val(),
|
|
// local_id: $('#local_id').val(),
|
|
// }
|
|
// $.get(path_url + 'api/frenteCaixa/pesquisa-produto', data)
|
|
// .done((res) => {
|
|
// console.log(res)
|
|
// $('.results-list').removeClass('d-none')
|
|
// $('.results-list').html(res)
|
|
// }).fail((err) => {
|
|
// console.log(err)
|
|
// })
|
|
// }
|
|
|
|
if(e.which == 13) {
|
|
|
|
$('.results-list').html('').addClass('d-none')
|
|
e.preventDefault();
|
|
|
|
if(isNumeric(pesquisa)){
|
|
|
|
$.get(path_url + "api/produtos/findByBarcode",
|
|
{
|
|
barcode: pesquisa,
|
|
empresa_id: $('#empresa_id').val(),
|
|
lista_id: $('#lista_id').val(),
|
|
usuario_id: $('#usuario_id').val()
|
|
})
|
|
.done((e) => {
|
|
// console.log(e)
|
|
if(e.status == 0){
|
|
toastr.error('Produto inativo!');
|
|
return
|
|
}
|
|
$('.results-list').html('').addClass('d-none')
|
|
if(e.id){
|
|
// console.log(e.codigo_variacao)
|
|
naoAbriModalVariacao = 1
|
|
addProduto(e.id, e.codigo_variacao)
|
|
}else{
|
|
buscarPorReferencia(pesquisa)
|
|
}
|
|
})
|
|
.fail((err) => {
|
|
console.log(err);
|
|
buscarPorReferencia(pesquisa)
|
|
});
|
|
|
|
}else{
|
|
swal("Alerta", "Informe um código válido", "error")
|
|
return
|
|
}
|
|
}
|
|
|
|
})
|
|
|
|
function isNumeric(value) {
|
|
return /^-?\d+$/.test(value);
|
|
}
|
|
|
|
function buscarPorReferencia(barcode) {
|
|
|
|
$.get(path_url + "api/produtos/findByBarcodeReference2",
|
|
{
|
|
barcode: barcode,
|
|
empresa_id: $('#empresa_id').val(),
|
|
usuario_id: $('#usuario_id').val()
|
|
})
|
|
.done((e) => {
|
|
// console.log(e)
|
|
$('#inp-pesquisa').val('')
|
|
$('.itens-cart').append(e)
|
|
// $(".table-itens tbody").append(e);
|
|
calculaTotal();
|
|
})
|
|
.fail((e) => {
|
|
console.log(e);
|
|
swal("Erro", "Produto não localizado!", "error")
|
|
});
|
|
}
|
|
|
|
$(document).on('click', '.inp-modal-pass', function(){
|
|
if(senhaAcao != ''){
|
|
swal({
|
|
title: "Senha para desconto",
|
|
text: "Informe a senha para continuar",
|
|
button: {
|
|
text: "Ok",
|
|
closeModal: false,
|
|
type: "error",
|
|
},
|
|
content: {
|
|
element: "input",
|
|
attributes: {
|
|
type: "password",
|
|
placeholder: "Digite a senha"
|
|
}
|
|
},
|
|
}).then((v) => {
|
|
if(v == senhaAcao){
|
|
senhaAcao = ''
|
|
swal.close();
|
|
$('.inp-modal-pass').removeAttr('readonly')
|
|
}else{
|
|
swal("Erro", "Senha incorreta!", "error")
|
|
}
|
|
})
|
|
}
|
|
});
|
|
|
|
$(document).on('click', '.list-marca', function(){
|
|
MARCAID = $(this).data('id')
|
|
|
|
$('.list-marca').removeClass('active')
|
|
$('.marca-'+MARCAID).addClass('active')
|
|
getProdutos()
|
|
})
|
|
|
|
function getProdutos(){
|
|
|
|
let data = {
|
|
categoria_id : CATEGORIAID,
|
|
marca_id : MARCAID,
|
|
empresa_id: $('#empresa_id').val(),
|
|
lista_id: $('#lista_id').val(),
|
|
local_id: $('#local_id').val(),
|
|
}
|
|
|
|
$.get(path_url + 'api/frenteCaixa/produtos-page?page=1', data)
|
|
.done((res) => {
|
|
$('.div-produtos').html(res)
|
|
}).fail((err) => {
|
|
console.log(err)
|
|
})
|
|
}
|
|
|
|
function infoProduto(id){
|
|
$.get(path_url + 'api/produtos/info', { produto_id: id })
|
|
.done((res) => {
|
|
$('#modal_info_produto .modal-body').html(res)
|
|
$('#modal_info_produto').modal('show')
|
|
|
|
}).fail((err) => {
|
|
console.log(err)
|
|
})
|
|
}
|
|
|
|
function validaCaixa() {
|
|
let abertura = $('#abertura').val()
|
|
if (!abertura) {
|
|
$('#modal-abrir_caixa').modal('show')
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
function selecionarVariacao(id, descricao, valor){
|
|
$('#modal_variacao').modal('hide')
|
|
|
|
// add
|
|
let abertura = $('#abertura').val()
|
|
if (abertura) {
|
|
$.post(path_url + 'api/frenteCaixa/add-produto', {
|
|
produto_id: id,
|
|
lista_id: $('#lista_id').val(),
|
|
qtd: 1,
|
|
local_id: $('#local_id').val(),
|
|
variacao_id: id
|
|
})
|
|
.done((res) => {
|
|
// console.log(res)
|
|
$('.itens-cart').append(res)
|
|
|
|
}).fail((err) => {
|
|
console.log(err)
|
|
})
|
|
}else{
|
|
swal("Atenção", "Abra o caixa para continuar!", "warning").then(() => {
|
|
validaCaixa()
|
|
})
|
|
}
|
|
}
|
|
|
|
function addProduto(id, variacao_id = null){
|
|
$('.results-list').html('').addClass('d-none')
|
|
$('#inp-pesquisa').val('')
|
|
let qtd = 0;
|
|
|
|
if(variacao_id && naoAbriModalVariacao == 0){
|
|
buscarVariacoes(id)
|
|
return ;
|
|
}
|
|
|
|
naoAbriModalVariacao = 0
|
|
|
|
let abertura = $('#abertura').val()
|
|
let agrupar_itens = $('#agrupar_itens').val()
|
|
|
|
$('.products').each(function () {
|
|
if(id == $(this).find('.produto_id').val()){
|
|
qtd += parseFloat($(this).find('.quantidade').val())
|
|
}
|
|
})
|
|
|
|
if (abertura) {
|
|
$.post(path_url + 'api/frenteCaixa/add-produto', {
|
|
produto_id: id,
|
|
lista_id: $('#lista_id').val(),
|
|
qtd: qtd,
|
|
local_id: $('#local_id').val(),
|
|
variacao_id: variacao_id
|
|
})
|
|
.done((res) => {
|
|
$('.results-list').html('').addClass('d-none')
|
|
let idDup = 0
|
|
if(agrupar_itens == 1){
|
|
$(".produto_row").each(function () {
|
|
if($(this).val() == id){
|
|
idDup = $(this).val()
|
|
}
|
|
})
|
|
}
|
|
setTimeout(() => {
|
|
if(idDup == 0){
|
|
$('.itens-cart').append(res)
|
|
}else{
|
|
$(".itens-cart .products").each(function(){
|
|
if($(this).find('.produto_row').val() == id){
|
|
let qtdAnt = convertMoedaToFloat($(this).find('.quantidade').val())
|
|
|
|
$(this).find('.quantidade').val(qtdAnt+1)
|
|
$(this).find('.qtd-row').val(qtdAnt+1)
|
|
}
|
|
})
|
|
}
|
|
},10)
|
|
calculaTotal()
|
|
beepSucesso()
|
|
$('#inp-pesquisa').focus()
|
|
}).fail((err) => {
|
|
console.log(err)
|
|
swal("Erro", err.responseJSON, "error")
|
|
beepErro()
|
|
})
|
|
}else{
|
|
swal("Atenção", "Abra o caixa para continuar!", "warning").then(() => {
|
|
validaCaixa()
|
|
})
|
|
|
|
}
|
|
}
|
|
|
|
function calculaTotal(){
|
|
let desconto = convertMoedaToFloat($('#inp-valor_desconto').val())
|
|
let acrescimo = convertMoedaToFloat($('#inp-valor_acrescimo').val())
|
|
let valor_frete = convertMoedaToFloat($('#inp-valor_frete').val())
|
|
setTimeout(() => {
|
|
let total = 0
|
|
$(".price").each(function () {
|
|
total += convertMoedaToFloat($(this)[0].innerText);
|
|
});
|
|
|
|
total = total + acrescimo - desconto + valor_frete
|
|
$('.total').text(convertFloatToMoeda(total))
|
|
$('#inp-valor_total').val(total.toFixed(2))
|
|
$('#inp-valor_total2').val(total.toFixed(2))
|
|
}, 100)
|
|
}
|
|
|
|
function beepSucesso(){
|
|
let alerta = $('#alerta_sonoro').val()
|
|
if(alerta == 1){
|
|
var audio = new Audio('/audio/beep.mp3');
|
|
audio.addEventListener('canplaythrough', function() {
|
|
audio.play();
|
|
});
|
|
}
|
|
}
|
|
function beepErro(){
|
|
let alerta = $('#alerta_sonoro').val()
|
|
if(alerta == 1){
|
|
var audio = new Audio('/audio/beep_error.mp3');
|
|
audio.addEventListener('canplaythrough', function() {
|
|
audio.play();
|
|
});
|
|
}
|
|
}
|
|
|
|
$(document).on('click', '#btn_nao_fiscal', function(){
|
|
finalizar('nao_fiscal')
|
|
})
|
|
|
|
$(document).on('click', '#btn_fiscal', function(){
|
|
finalizar('fiscal')
|
|
})
|
|
|
|
$('.btn-vendas-suspensas').click(() => {
|
|
$.get(path_url + "api/frenteCaixa/venda-suspensas",
|
|
{
|
|
empresa_id: $('#empresa_id').val(),
|
|
})
|
|
.done((data) => {
|
|
$('.table-vendas-suspensas tbody').html(data)
|
|
})
|
|
.fail((e) => {
|
|
console.log(e);
|
|
});
|
|
})
|
|
|
|
$("body").on("click", ".btn-delete", function (e) {
|
|
|
|
e.preventDefault();
|
|
var form = $(this).parents("form").attr("id");
|
|
|
|
swal({
|
|
title: "Você está certo?",
|
|
text: "Uma vez deletado, você não poderá recuperar esse item novamente!",
|
|
icon: "warning",
|
|
buttons: true,
|
|
buttons: ["Cancelar", "Excluir"],
|
|
dangerMode: true,
|
|
}).then((isConfirm) => {
|
|
if (isConfirm) {
|
|
|
|
document.getElementById(form).submit();
|
|
} else {
|
|
swal("", "Este item está salvo!", "info");
|
|
}
|
|
});
|
|
});
|
|
|
|
var emitirNfce = false
|
|
var clienteCNPJ = false
|
|
|
|
function finalizar(tipo){
|
|
let soma = 0
|
|
|
|
let tipoPagamentoInvalido = 0
|
|
let dataInvalida = 0
|
|
let total = parseFloat($('#inp-valor_total').val())
|
|
$('.fatura .valor_integral_row').each(function () {
|
|
soma += convertMoedaToFloat($(this).val());
|
|
});
|
|
|
|
$('.fatura .tipo_pagamento').each(function () {
|
|
if(!$(this).val()){
|
|
tipoPagamentoInvalido = 1
|
|
}
|
|
});
|
|
|
|
$('.fatura .data_vencimento').each(function () {
|
|
if(!$(this).val()){
|
|
dataInvalida = 1
|
|
}
|
|
});
|
|
|
|
total = parseFloat(total.toFixed(2))
|
|
soma = parseFloat(soma.toFixed(2))
|
|
|
|
setTimeout(() => {
|
|
// if(total != soma){
|
|
// swal("Erro", "Total divergente da soma da fatura.", "error")
|
|
// return;
|
|
// }
|
|
if(tipoPagamentoInvalido){
|
|
swal("Erro", "Defina o tipo de pagamento para todas linhas de pagamento.", "error")
|
|
return;
|
|
}
|
|
if(dataInvalida){
|
|
swal("Erro", "Defina o vencimento para todas linhas de pagamento.", "error")
|
|
return;
|
|
}
|
|
|
|
if(tipo == 'fiscal'){
|
|
emitirNfce = true
|
|
}
|
|
|
|
if($("#form-pdv-update")){
|
|
$("#form-pdv-update").submit()
|
|
}
|
|
if($("#form-pdv")){
|
|
$("#form-pdv").submit()
|
|
}
|
|
}, 20)
|
|
|
|
}
|
|
|
|
|
|
$(document).on('keyup', '.valor_integral_row', function(){
|
|
let soma = 0
|
|
let total = parseFloat($('#inp-valor_total').val())
|
|
$('.fatura .valor_integral_row').each(function () {
|
|
soma += convertMoedaToFloat($(this).val());
|
|
});
|
|
let resultado = total-soma;
|
|
if(resultado < 0){
|
|
$('.total-restante').text("R$ 0,00")
|
|
$('.d-troco').removeClass('d-none')
|
|
$('.troco').val(convertFloatToMoeda(resultado*-1))
|
|
|
|
}else{
|
|
$('.total-restante').text("R$ " + convertFloatToMoeda(total-soma))
|
|
$('.d-troco').addClass('d-none')
|
|
$('.troco').val('0,00')
|
|
}
|
|
|
|
});
|
|
|
|
$(document).on('click', '#btn-finalizar', function(){
|
|
let total = $('#inp-valor_total').val()
|
|
|
|
if(total == 0){
|
|
swal("Erro", "Valor da venda deve ser maior que zero!", "error")
|
|
return;
|
|
}
|
|
$('.valor_integral_row').val(convertFloatToMoeda(total))
|
|
$('.total-venda-modal').text("R$ " + convertFloatToMoeda(total))
|
|
$('.total-restante').text("R$ " + convertFloatToMoeda(total))
|
|
$('#modal_finalizar_pdv2').modal('show')
|
|
});
|
|
|
|
$("#form-pdv").on("submit", function (e) {
|
|
|
|
e.preventDefault();
|
|
const form = $(e.target);
|
|
var json = $(this).serializeFormJSON();
|
|
|
|
json.empresa_id = $('#empresa_id').val()
|
|
json.usuario_id = $('#usuario_id').val()
|
|
|
|
json.desconto = convertMoedaToFloat($('#inp-valor_desconto').val())
|
|
json.acrescimo = convertMoedaToFloat($('#inp-valor_acrescimo').val())
|
|
json.valor_frete = convertMoedaToFloat($('#inp-valor_frete').val())
|
|
json.valor_total = convertFloatToMoeda(json.valor_total)
|
|
|
|
// console.log(">>>>>>>> salvando ", json);
|
|
// return
|
|
// alert('teste')
|
|
|
|
let documentoPdv = $('#documento_pdv').val()
|
|
let cliente = $("#inp-cliente_id").val();
|
|
|
|
|
|
if((clienteCNPJ == true && emitirNfce == true) || (documentoPdv == 'nfe' && cliente && emitirNfce == true)){
|
|
|
|
storeNfe(json)
|
|
}else{
|
|
|
|
$.post(path_url + 'api/frenteCaixa/store', json)
|
|
.done((success) => {
|
|
if (emitirNfce == true) {
|
|
gerarNfce(success)
|
|
} else {
|
|
|
|
swal({
|
|
title: "Sucesso",
|
|
text: "Venda finalizada com sucesso, deseja imprimir o comprovante?",
|
|
icon: "success",
|
|
buttons: true,
|
|
buttons: ["Não", "Sim"],
|
|
dangerMode: true,
|
|
}).then((isConfirm) => {
|
|
if (isConfirm) {
|
|
imprimirNaoFiscal(success.id)
|
|
}
|
|
if($('#pedido_delivery_id').length){
|
|
location.href = '/pedidos-delivery';
|
|
}else if($('#pedido_id').length){
|
|
location.href = '/pedidos-cardapio/'+$('#pedido_id').val();
|
|
}else{
|
|
|
|
if($('.fatura tr').length > 0 && $('#inp-cliente_id').val()){
|
|
swal({
|
|
title: "Sucesso",
|
|
text: "Deseja imprimir as duplicatas",
|
|
icon: "success",
|
|
buttons: ["Não", 'Imprimir'],
|
|
dangerMode: true,
|
|
})
|
|
.then((v) => {
|
|
if (v) {
|
|
window.open(path_url + 'frontbox/imprimir-carne/' + success.id, "_blank")
|
|
|
|
location.href = '/frontbox/create';
|
|
} else {
|
|
location.href = '/frontbox/create';
|
|
}
|
|
});
|
|
}else{
|
|
location.href = '/frontbox/create';
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}).fail((err) => {
|
|
swal("Erro", err.responseJSON, "error")
|
|
console.log(err)
|
|
})
|
|
}
|
|
});
|
|
|
|
function storeNfe(json){
|
|
// console.log(json)
|
|
$.post(path_url + 'api/frenteCaixa/storeNfe', json)
|
|
.done((success) => {
|
|
// console.log(success)
|
|
gerarNfe(success)
|
|
|
|
}).fail((err) => {
|
|
swal("Erro", err.responseJSON, "error")
|
|
console.log(err)
|
|
})
|
|
}
|
|
|
|
function gerarNfe(venda) {
|
|
console.clear()
|
|
|
|
$.post(path_url + "api/nfe_painel/emitir", {
|
|
id: venda.id
|
|
})
|
|
.done((success) => {
|
|
swal("Sucesso", "NFe emitida " + success.recibo + " - chave: [" + success.chave + "]", "success")
|
|
.then(() => {
|
|
window.open(path_url + 'nfe/imprimir/' + venda.id, "_blank")
|
|
setTimeout(() => {
|
|
location.reload()
|
|
}, 100)
|
|
})
|
|
})
|
|
.fail((err) => {
|
|
// console.log(err)
|
|
try{
|
|
if(err.responseJSON.error){
|
|
let o = err.responseJSON.error.protNFe.infProt
|
|
swal("Algo deu errado", o.cStat + " - " + o.xMotivo, "error")
|
|
.then(() => {
|
|
location.reload()
|
|
})
|
|
}else{
|
|
swal("Algo deu errado", err[0], "error")
|
|
}
|
|
}catch{
|
|
if(err.responseJSON.message){
|
|
swal("Algo deu errado", err.responseJSON.message, "error")
|
|
.then(() => {
|
|
location.reload()
|
|
})
|
|
}else{
|
|
try{
|
|
if(err.responseJSON.xMotivo){
|
|
swal("Algo deu errado", err.responseJSON.xMotivo, "error")
|
|
.then(() => {
|
|
location.reload()
|
|
})
|
|
}else{
|
|
if(err.responseJSON.error){
|
|
swal("Algo deu errado", err.responseJSON.error, "error")
|
|
.then(() => {
|
|
location.reload()
|
|
})
|
|
}else{
|
|
swal("Algo deu errado", err.responseJSON, "error")
|
|
.then(() => {
|
|
location.reload()
|
|
})
|
|
}
|
|
}
|
|
}catch{
|
|
swal("Algo deu errado", err.responseJSON[0], "error")
|
|
.then(() => {
|
|
location.reload()
|
|
})
|
|
}
|
|
}
|
|
}
|
|
|
|
})
|
|
}
|
|
|
|
function imprimirNaoFiscal(id){
|
|
let impressao_sem_janela_cupom = $('#impressao_sem_janela_cupom').val()
|
|
if(impressao_sem_janela_cupom == 0){
|
|
|
|
var disp_setting="toolbar=yes,location=no,";
|
|
disp_setting+="directories=yes,menubar=yes,";
|
|
disp_setting+="scrollbars=yes,width=850, height=600, left=100, top=25";
|
|
|
|
var docprint=window.open(path_url+"frontbox/imprimir-nao-fiscal/"+id,"",disp_setting);
|
|
|
|
docprint.focus();
|
|
}else{
|
|
window.open(path_url+"frontbox/imprimir-nao-fiscal-html/"+id)
|
|
}
|
|
}
|
|
|
|
var update = false
|
|
$("#form-pdv-update").on("submit", function (e) {
|
|
update = true
|
|
e.preventDefault();
|
|
const form = $(e.target);
|
|
var json = $(this).serializeFormJSON();
|
|
|
|
json.empresa_id = $('#empresa_id').val()
|
|
json.usuario_id = $('#usuario_id').val()
|
|
|
|
json.desconto = convertMoedaToFloat($('#valor_desconto').val())
|
|
json.acrescimo = convertMoedaToFloat($('#valor_acrescimo').val())
|
|
json.valor_frete = convertMoedaToFloat($('#inp-valor_frete').val())
|
|
|
|
// console.log(">>>>>>>> salvando ", json);
|
|
$.post(path_url + 'api/frenteCaixa/update/'+$('#venda_id').val(), json)
|
|
.done((success) => {
|
|
|
|
if (emitirNfce == true) {
|
|
gerarNfce(success)
|
|
} else {
|
|
|
|
swal({
|
|
title: "Sucesso",
|
|
text: "Venda atualizada com sucesso, deseja imprimir o comprovante?",
|
|
icon: "success",
|
|
buttons: true,
|
|
buttons: ["Não", "Sim"],
|
|
dangerMode: true,
|
|
}).then((isConfirm) => {
|
|
if (isConfirm) {
|
|
window.open(path_url + 'frontbox/imprimir-nao-fiscal/' + success.id, "_blank")
|
|
} else {
|
|
// location.reload()
|
|
}
|
|
if($('#pedido_delivery_id').length){
|
|
location.href = '/pedidos-delivery';
|
|
}else if($('#pedido_id').length){
|
|
location.href = '/pedidos-cardapio';
|
|
}else{
|
|
if(update){
|
|
location.href = path_url+'frontbox'
|
|
}else{
|
|
location.reload()
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}).fail((err) => {
|
|
console.log(err)
|
|
})
|
|
});
|
|
|
|
function gerarNfce(venda) {
|
|
|
|
let empresa_id = $("#empresa_id").val();
|
|
|
|
$.post(path_url + "api/nfce_painel/emitir", {
|
|
id: venda.id,
|
|
})
|
|
.done((success) => {
|
|
swal("Sucesso", "NFCe emitida " + success.recibo + " - chave: [" + success.chave + "]", "success")
|
|
.then(() => {
|
|
window.open(path_url + 'nfce/imprimir/' + venda.id, "_blank")
|
|
setTimeout(() => {
|
|
if(!update){
|
|
location.reload()
|
|
}else{
|
|
location.href = path_url+'frontbox'
|
|
}
|
|
}, 100)
|
|
})
|
|
})
|
|
.fail((err) => {
|
|
console.log(err)
|
|
swal("Algo deu errado", err.responseJSON, "error")
|
|
.then(() => {
|
|
location.reload()
|
|
})
|
|
})
|
|
}
|
|
|
|
$.fn.serializeFormJSON = function () {
|
|
|
|
var o = {};
|
|
var a = this.serializeArray();
|
|
$.each(a, function () {
|
|
if (o[this.name]) {
|
|
if (!o[this.name].push) {
|
|
o[this.name] = [o[this.name]];
|
|
}
|
|
o[this.name].push(this.value || '');
|
|
} else {
|
|
o[this.name] = this.value || '';
|
|
}
|
|
});
|
|
return o;
|
|
};
|
|
|
|
$("body").on("click", "#btn-suspender", function () {
|
|
|
|
let total = $('#inp-valor_total').val()
|
|
|
|
if(total == 0){
|
|
swal("Erro", "Valor da venda deve ser maior que zero!", "error")
|
|
return;
|
|
}
|
|
swal({
|
|
title: "Você esta certo?",
|
|
text: "Deseja suspender esta venda?",
|
|
icon: "warning",
|
|
buttons: true,
|
|
buttons: ["Cancelar", "Suspender"],
|
|
}).then(confirm => {
|
|
if (confirm) {
|
|
// console.clear()
|
|
|
|
var json = $("#form-pdv").serializeFormJSON();
|
|
json.empresa_id = $('#empresa_id').val()
|
|
json.usuario_id = $('#usuario_id').val()
|
|
|
|
$.post(path_url + 'api/frenteCaixa/suspender', json)
|
|
.done((success) => {
|
|
// console.log(success)
|
|
swal("Sucesso", "Venda suspensa!", "success")
|
|
.then(() => {
|
|
location.reload()
|
|
})
|
|
})
|
|
.fail((err) => {
|
|
console.log(err)
|
|
swal("Erro", "Algo deu errado", "error")
|
|
})
|
|
}
|
|
});
|
|
})
|
|
|