1429 lines
48 KiB
JavaScript
1429 lines
48 KiB
JavaScript
var TRIBUTACAOCLIENTE = 0
|
|
|
|
$('body').on('change', '.cliente_id', function () {
|
|
|
|
let cliente = $('.cliente_id').val()
|
|
if (cliente != '') {
|
|
getClient(cliente)
|
|
} else {
|
|
|
|
}
|
|
})
|
|
|
|
|
|
$('body').on('keypress', '.next', function (e) {
|
|
// console.log(e)
|
|
if(e.which == 13) {
|
|
$(this).closest('td').next().find('input').focus()
|
|
e.preventDefault();
|
|
}
|
|
})
|
|
|
|
$('body').on('change', '.fornecedor_id', function () {
|
|
let fornecedor = $('.fornecedor_id').val()
|
|
if (fornecedor != '') {
|
|
getFornecedor(fornecedor)
|
|
} else {
|
|
|
|
}
|
|
})
|
|
|
|
$('body').on('change', '.transportadora_id', function () {
|
|
let transportadora = $('.transportadora_id').val()
|
|
if (transportadora != '') {
|
|
getTransp(transportadora)
|
|
} else {
|
|
|
|
}
|
|
})
|
|
|
|
$('#inp-endereco_entrega_dados_cliente').on("click", function () {
|
|
if($(this).is(':checked')){
|
|
let cliente_id = $('#inp-cliente_id').val()
|
|
if(cliente_id){
|
|
$.get(path_url + "api/clientes/find/" + cliente_id)
|
|
.done((res) => {
|
|
|
|
$('#inp-rua_entrega').val(res.rua)
|
|
$('#inp-nome_entrega').val(res.razao_social)
|
|
$('#inp-documento_entrega').val(res.cpf_cnpj)
|
|
$('#inp-numero_entrega').val(res.numero)
|
|
$('#inp-bairro_entrega').val(res.bairro)
|
|
$('#inp-cep_entrega').val(res.cep)
|
|
$('#inp-complemento_entrega').val(res.complemento)
|
|
|
|
var newOption = new Option(res.cidade.info, res.cidade.id, false, false);
|
|
$('#inp-cidade_id_entrega').html('')
|
|
$('#inp-cidade_id_entrega').append(newOption).trigger('change');
|
|
})
|
|
.fail((err) => {
|
|
console.log(err)
|
|
})
|
|
}else{
|
|
swal("Erro", "Selecione o cliente!", "warning")
|
|
}
|
|
}else{
|
|
$('#inp-rua_entrega').val('')
|
|
$('#inp-nome_entrega').val('')
|
|
$('#inp-documento_entrega').val('')
|
|
$('#inp-numero_entrega').val('')
|
|
$('#inp-bairro_entrega').val('')
|
|
$('#inp-cep_entrega').val('')
|
|
$('#inp-complemento_entrega').val('')
|
|
$('#inp-cidade_id_entrega').html('')
|
|
}
|
|
});
|
|
|
|
$('.btn-fatura-padrao').on("click", function () {
|
|
|
|
console.clear()
|
|
let total = convertMoedaToFloat($('.total_nfe').text())
|
|
if(total <= 0){
|
|
swal("Erro", "Valor precisa ser maior que zero!", "error")
|
|
return;
|
|
}
|
|
|
|
let data = {
|
|
total: total,
|
|
cliente_id: $('#inp-cliente_id').val()
|
|
}
|
|
$.get(path_url + "api/frenteCaixa/fatura-padrao-cliente", data)
|
|
.done((success) => {
|
|
// console.log(success)
|
|
$('#body-pagamento').html(success)
|
|
calTotalNfe()
|
|
|
|
|
|
})
|
|
.fail((err) => {
|
|
console.log(err);
|
|
});
|
|
});
|
|
|
|
$('.btn-gerar-fatura').on("click", function () {
|
|
let total = convertMoedaToFloat($('.total_nfe').text())
|
|
if(total == 0){
|
|
|
|
swal("Erro", "O valor da venda deve ser maior que 0", "error")
|
|
.then(() => {
|
|
$('#modal_fatura_venda').modal('hide')
|
|
})
|
|
return;
|
|
}
|
|
|
|
$('.lbl-total_fatura').text(convertFloatToMoeda(total))
|
|
})
|
|
|
|
$('.btn-store-fatura').on("click", function () {
|
|
console.clear()
|
|
let total = convertMoedaToFloat($('.total_nfe').text())
|
|
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
|
|
}
|
|
// console.log(data)
|
|
$.get(path_url + "api/frenteCaixa/gerar-fatura", data)
|
|
.done((success) => {
|
|
// console.log(success)
|
|
$('#body-pagamento').html(success)
|
|
calTotalNfe()
|
|
$('#modal_fatura_venda').modal('hide')
|
|
|
|
})
|
|
.fail((err) => {
|
|
console.log(err);
|
|
});
|
|
})
|
|
|
|
$("#inp-produto_id").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar o produto",
|
|
width: "100%",
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/produtos",
|
|
dataType: "json",
|
|
data: function (params) {
|
|
let empresa_id = $('#empresa_id').val()
|
|
|
|
let local_id = null
|
|
if($('#inp-local_id').length){
|
|
let local_id = $('#inp-local_id').val()
|
|
if(!local_id){
|
|
swal("Alerta", "Selecione primeiramente o local", "warning")
|
|
return;
|
|
}
|
|
}
|
|
console.clear();
|
|
|
|
var query = {
|
|
pesquisa: params.term,
|
|
empresa_id: empresa_id,
|
|
usuario_id: $('#usuario_id').val(),
|
|
lista_id: $('#lista_id').val(),
|
|
local_id: $('#inp-local_id').length ? $('#inp-local_id').val() : null
|
|
};
|
|
return query;
|
|
},
|
|
processResults: function (response) {
|
|
var results = [];
|
|
let compra = 0
|
|
if($('#is_compra') && $('#is_compra').val() == 1){
|
|
compra = 1
|
|
}
|
|
|
|
$.each(response, function (i, v) {
|
|
var o = {};
|
|
o.id = v.id;
|
|
if(v.codigo_variacao){
|
|
o.codigo_variacao = v.codigo_variacao
|
|
}
|
|
|
|
if(v.tipo_dimensao == 1){
|
|
o.espessura = v.espessura
|
|
o.tipo_dimensao = 1
|
|
}
|
|
|
|
if(v.altura){
|
|
o.altura = v.altura
|
|
}
|
|
|
|
if(v.largura){
|
|
o.largura = v.largura
|
|
}
|
|
|
|
o.estoque_atual = v.estoque_atual
|
|
|
|
if(v.gerenciar_estoque){
|
|
o.gerenciar_estoque = v.gerenciar_estoque
|
|
}
|
|
|
|
o.text = ""
|
|
if(v.numero_sequencial){
|
|
o.text += "["+v.numero_sequencial+"] "
|
|
}
|
|
o.text += v.nome
|
|
if(compra == 0){
|
|
if(parseFloat(v.valor_unitario) > 0){
|
|
o.text += ' R$ ' + convertFloatToMoeda(v.valor_unitario);
|
|
}
|
|
}else{
|
|
o.text += ' R$ ' + convertFloatToMoeda(v.valor_compra);
|
|
}
|
|
if(v.codigo_barras){
|
|
o.text += ' [' + v.codigo_barras + ']';
|
|
}
|
|
o.value = v.id;
|
|
results.push(o);
|
|
});
|
|
return {
|
|
results: results,
|
|
};
|
|
},
|
|
},
|
|
});
|
|
|
|
var line = null
|
|
$(document).on("click", ".alterar-descricao", function () {
|
|
line = $(this)
|
|
let descricaoLinha = $(this).closest('td').find('.descricao_item').val()
|
|
|
|
$inpProduto = $(this).closest('td').find('select')
|
|
if(descricaoLinha != ""){
|
|
$('#modal_descricao_item').modal('show')
|
|
$('#inp-descricao_item').val(descricaoLinha)
|
|
}else{
|
|
if($inpProduto.val()){
|
|
|
|
$.get(path_url + "api/produtos/descricao", {
|
|
produto_id: $inpProduto.val(),
|
|
})
|
|
.done((descricao) => {
|
|
$('#modal_descricao_item').modal('show')
|
|
$('#inp-descricao_item').val(descricao)
|
|
})
|
|
.fail((err) => {
|
|
console.log(err);
|
|
});
|
|
}else{
|
|
toastr.warning("Selecione o produto primeiro!")
|
|
}
|
|
}
|
|
})
|
|
|
|
$('.salvar-descricao').on("click", function () {
|
|
let html = line.closest('td')
|
|
html.find('.descricao_item').val($('#inp-descricao_item').val())
|
|
html.find('.nova_descricao').text($('#inp-descricao_item').val())
|
|
|
|
})
|
|
|
|
$('.btn-add-tr-nfe').on("click", function () {
|
|
console.clear()
|
|
var $table = $(this)
|
|
.closest(".row")
|
|
.prev()
|
|
.find(".table-dynamic");
|
|
|
|
var hasEmpty = false;
|
|
|
|
$table.find("input, select").each(function () {
|
|
if (($(this).val() == "" || $(this).val() == null) && $(this).attr("type") != "hidden" && $(this).attr("type") != "file" && !$(this).hasClass("ignore")) {
|
|
hasEmpty = true;
|
|
}
|
|
});
|
|
|
|
if (hasEmpty) {
|
|
swal(
|
|
"Atenção",
|
|
"Preencha todos os campos antes de adicionar novos.",
|
|
"warning"
|
|
);
|
|
return;
|
|
}
|
|
|
|
var $tr = $table.find(".dynamic-form").first();
|
|
|
|
$tr.find("select.select2").select2("destroy");
|
|
var $clone = $tr.clone();
|
|
$clone.show();
|
|
|
|
$clone.find("input,select").val("");
|
|
let lines = $('.dynamic-form').length
|
|
$clone.find("._key").val(lines-1);
|
|
$clone.find("span").html("");
|
|
$clone.find("p").html("");
|
|
$clone.find(".dimensoes-hidden").html("");
|
|
|
|
$table.append($clone);
|
|
setTimeout(function () {
|
|
$("tbody select.select2").select2({
|
|
language: "pt-BR",
|
|
width: "100%",
|
|
theme: "bootstrap4"
|
|
});
|
|
|
|
$("tbody #inp-produto_id").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar o produto",
|
|
width: "100%",
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/produtos",
|
|
dataType: "json",
|
|
data: function (params) {
|
|
let empresa_id = $('#empresa_id').val()
|
|
console.clear();
|
|
var query = {
|
|
pesquisa: params.term,
|
|
empresa_id: empresa_id,
|
|
lista_id: $('#lista_id').val(),
|
|
usuario_id: $('#usuario_id').val(),
|
|
local_id: $('#inp-local_id').length ? $('#inp-local_id').val() : null
|
|
};
|
|
return query;
|
|
},
|
|
processResults: function (response) {
|
|
var results = [];
|
|
let compra = 0
|
|
if($('#is_compra') && $('#is_compra').val() == 1){
|
|
compra = 1
|
|
}
|
|
$.each(response, function (i, v) {
|
|
var o = {};
|
|
o.id = v.id;
|
|
if(v.codigo_variacao){
|
|
o.codigo_variacao = v.codigo_variacao
|
|
}
|
|
|
|
if(v.tipo_dimensao == 1){
|
|
o.espessura = v.espessura
|
|
}
|
|
|
|
o.text = ""
|
|
if(v.numero_sequencial){
|
|
o.text += "["+v.numero_sequencial+"] "
|
|
}
|
|
o.text += v.nome;
|
|
if(compra == 0){
|
|
o.text += ' R$ ' + convertFloatToMoeda(v.valor_unitario);
|
|
}else{
|
|
o.text += ' R$ ' + convertFloatToMoeda(v.valor_compra);
|
|
}
|
|
if(v.codigo_barras){
|
|
o.text += ' [' + v.codigo_barras + ']';
|
|
}
|
|
|
|
o.estoque_atual = v.estoque_atual
|
|
|
|
if(v.gerenciar_estoque){
|
|
o.gerenciar_estoque = v.gerenciar_estoque
|
|
}
|
|
// console.log(o)
|
|
o.value = v.id;
|
|
results.push(o);
|
|
});
|
|
return {
|
|
results: results,
|
|
};
|
|
},
|
|
},
|
|
});
|
|
}, 100);
|
|
|
|
})
|
|
|
|
$('body').on('change', '#inp-local_id', function () {
|
|
let local_id = $('#inp-local_id').val();
|
|
|
|
$.get(path_url + "api/localizacao/find-number-doc", {local_id: local_id})
|
|
.done((res) => {
|
|
console.log(res)
|
|
$('#inp-numero_nfe').val(res.numero_nfe)
|
|
})
|
|
.fail((err) => {
|
|
console.error(err)
|
|
})
|
|
});
|
|
$('body').on('change', '#inp-tpNF', function () {
|
|
let tpNF = $('#inp-tpNF').val()
|
|
if (tpNF == 1) {
|
|
$('.div-conta-receber').removeClass('d-none')
|
|
$('.div-conta-pagar').addClass('d-none')
|
|
} else {
|
|
$('.div-conta-receber').addClass('d-none')
|
|
$('.div-conta-pagar').removeClass('d-none')
|
|
}
|
|
})
|
|
|
|
$("body").on("blur", ".qtd", function () {
|
|
setTimeout(() => {
|
|
let quantidade = convertMoedaToFloat($(this).val())
|
|
if($('#lista_id').val() != ''){
|
|
return;
|
|
}
|
|
$produto = $(this).closest('td').prev().find('select');
|
|
$valorUnit = $(this).closest('td').next().find('input');
|
|
$sub = $(this).closest('td').next().next().find('input');
|
|
|
|
let compra = $('#is_compra').val()
|
|
if(compra == 1){
|
|
setTimeout(() => {
|
|
calcTotal()
|
|
}, 100)
|
|
return;
|
|
}
|
|
let produto_id = $("#inp-produto_id").val();
|
|
$.get(path_url + "api/produtos/valida-atacado", {
|
|
quantidade: quantidade,
|
|
produto_id: $produto.val(),
|
|
local_id: $('#inp-local_id').val()
|
|
})
|
|
.done((success) => {
|
|
if(success){
|
|
$valorUnit.val(convertFloatToMoeda(success));
|
|
$sub.val(convertFloatToMoeda(success*quantidade));
|
|
}
|
|
calcTotal()
|
|
|
|
})
|
|
.fail((err) => {
|
|
// console.log(err);
|
|
if(err.status == 401){
|
|
toastr.error(err.responseJSON)
|
|
}
|
|
$(this).val('1')
|
|
});
|
|
}, 100);
|
|
|
|
})
|
|
|
|
var isOrcamento = 0
|
|
var descontoItem = 0
|
|
$(function () {
|
|
|
|
if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
|
|
$('td th').removeClass('first-col')
|
|
}
|
|
setTimeout(() => {
|
|
let compra = $('#is_compra').val()
|
|
if (compra == 1) {
|
|
$('.div-conta-pagar').removeClass('d-none')
|
|
$('.div-conta-receber').addClass('d-none')
|
|
}
|
|
isOrcamento = $('#is_orcamento').val();
|
|
}, 300)
|
|
$("#lista_id").val('')
|
|
|
|
})
|
|
|
|
function adicionaZero(numero) {
|
|
if (numero <= 9)
|
|
return "0" + numero;
|
|
else
|
|
return numero;
|
|
}
|
|
$(function () {
|
|
let data = new Date
|
|
let dataFormatada = (data.getFullYear() + "-" + adicionaZero((data.getMonth() + 1)) + "-" + adicionaZero(data.getDate()));
|
|
$('.date_atual').val(dataFormatada)
|
|
|
|
if(!$('#inp-natureza_id').val()){
|
|
// $('#inp-gerar_conta_receber').val(0).change()
|
|
// $('#inp-gerar_conta_pagar').val(0).change()
|
|
}
|
|
|
|
if ($('.fornecedor_id').val()) {
|
|
getFornecedor($('.fornecedor_id').val())
|
|
}
|
|
})
|
|
|
|
|
|
$(document).on("change", ".produto_id", function () {
|
|
let product_id = $(this).val()
|
|
// console.log($(this).select2('data')[0])
|
|
let codigo_variacao = $(this).select2('data')[0].codigo_variacao
|
|
let espessura = $(this).select2('data')[0].espessura
|
|
let altura = $(this).select2('data')[0].altura
|
|
let largura = $(this).select2('data')[0].largura
|
|
let tipo_dimensao = $(this).select2('data')[0].tipo_dimensao
|
|
let estoque_atual = $(this).select2('data')[0].estoque_atual
|
|
let gerenciar_estoque = $(this).select2('data')[0].gerenciar_estoque
|
|
|
|
let somaQtdLinhasProduto = 0
|
|
|
|
$(".produto_id").each(function (e, v) {
|
|
$qtd = $(this).closest('td').next().find('input');
|
|
if(product_id == $(this).val()){
|
|
let qtd = $qtd.val() ? $qtd.val() : '1'
|
|
somaQtdLinhasProduto += convertMoedaToFloat(qtd)
|
|
}
|
|
})
|
|
// console.log(somaQtdLinhasProduto)
|
|
|
|
if (product_id) {
|
|
|
|
$qtd = $(this).closest('td').next().find('input');
|
|
$vlUnit = $qtd.closest('td').next().find('input');
|
|
$sub = $vlUnit.closest('td').next().find('input');
|
|
$perc_icms = $sub.closest('td').next().find('input');
|
|
$perc_pis = $perc_icms.closest('td').next().find('input');
|
|
$perc_cofins = $perc_pis.closest('td').next().find('input');
|
|
$perc_ipi = $perc_cofins.closest('td').next().find('input');
|
|
$perc_red_bc = $perc_ipi.closest('td').next().find('input');
|
|
$cfop_estadual = $perc_red_bc.closest('td').next().find('input');
|
|
$ncm = $cfop_estadual.closest('td').next().find('input');
|
|
$codben = $ncm.closest('td').next().find('input');
|
|
$cst_csosn = $codben.closest('td').next().find('select');
|
|
$cst_pis = $cst_csosn.closest('td').next().find('select');
|
|
$cst_cofins = $cst_pis.closest('td').next().find('select');
|
|
$cst_ipi = $cst_cofins.closest('td').next().find('select');
|
|
|
|
|
|
if(estoque_atual == 0 && gerenciar_estoque == 1 && ($('#is_compra').length == 0 || $('#is_compra').val() == 0)){
|
|
toastr.warning("Produto sem estoque!")
|
|
$(this).html('')
|
|
$qtd.val('')
|
|
$vlUnit.val('')
|
|
$sub.val('')
|
|
$perc_icms.val('')
|
|
$perc_pis.val('')
|
|
$perc_cofins.val('')
|
|
$perc_ipi.val('')
|
|
$perc_red_bc.val('')
|
|
$cfop_estadual.val('')
|
|
$ncm.val('')
|
|
$codben.val('')
|
|
$cst_csosn.val('').change()
|
|
$cst_pis.val('').change()
|
|
$cst_cofins.val('').change()
|
|
$cst_ipi.val('').change()
|
|
return;
|
|
}
|
|
// console.log(somaQtdLinhasProduto)
|
|
// console.log(estoque_atual)
|
|
if(gerenciar_estoque == 1 && somaQtdLinhasProduto > estoque_atual && $('#is_compra').val() == 0){
|
|
toastr.warning("Produto com estoque insuficiente!")
|
|
$(this).html('')
|
|
$qtd.val('')
|
|
$vlUnit.val('')
|
|
$sub.val('')
|
|
$perc_icms.val('')
|
|
$perc_pis.val('')
|
|
$perc_cofins.val('')
|
|
$perc_ipi.val('')
|
|
$perc_red_bc.val('')
|
|
$cfop_estadual.val('')
|
|
$ncm.val('')
|
|
$codben.val('')
|
|
$cst_csosn.val('').change()
|
|
$cst_pis.val('').change()
|
|
$cst_cofins.val('').change()
|
|
$cst_ipi.val('').change()
|
|
return;
|
|
}
|
|
|
|
$.get(path_url + "api/produtos/find",
|
|
{
|
|
produto_id: product_id,
|
|
tributacao_cliente: TRIBUTACAOCLIENTE,
|
|
usuario_id: $('#usuario_id').val(),
|
|
cliente_id: $('#inp-cliente_id').val(),
|
|
fornecedor_id: $('#inp-fornecedor_id').val(),
|
|
lista_id: $('#lista_id').val(),
|
|
entrada: $('#is_compra') ? $('#is_compra').val() : 0
|
|
})
|
|
.done((e) => {
|
|
|
|
let cfop = e.cfop_atual
|
|
let is_xml = $('#is_xml') ? $('#is_xml').val() : 0
|
|
if(is_xml) return 1
|
|
$qtd.val('1')
|
|
let value_unit = 0
|
|
let compra = $('#is_compra').val()
|
|
if (compra == '1') {
|
|
if (e.valor_compra) {
|
|
value_unit = e.valor_compra
|
|
} else {
|
|
value_unit = 0
|
|
}
|
|
} else {
|
|
value_unit = e.valor_unitario
|
|
}
|
|
|
|
// console.log(e)
|
|
$vlUnit.val(convertFloatToMoeda(value_unit))
|
|
$sub.val(convertFloatToMoeda(value_unit))
|
|
$perc_icms.val(e.perc_icms)
|
|
$perc_pis.val(e.perc_pis)
|
|
$perc_cofins.val(e.perc_cofins)
|
|
$perc_ipi.val(e.perc_ipi)
|
|
$perc_red_bc.val(e.perc_red_bc)
|
|
$cfop_estadual.val(cfop)
|
|
$ncm.val(e.ncm)
|
|
$codben.val(e.codigo_beneficio_fiscal)
|
|
$cst_csosn.val(e.cst_csosn).change()
|
|
$cst_pis.val(e.cst_pis).change()
|
|
$cst_cofins.val(e.cst_cofins).change()
|
|
$cst_ipi.val(e.cst_ipi).change()
|
|
calcTotal()
|
|
calTotalNfe()
|
|
limpaFatura()
|
|
$qtd.focus()
|
|
if(e.variacao_modelo_id && !codigo_variacao){
|
|
buscarVariacoes(product_id)
|
|
}
|
|
|
|
if(codigo_variacao > 0){
|
|
setarVariacao(codigo_variacao)
|
|
}
|
|
|
|
if(tipo_dimensao){
|
|
KEY = null
|
|
$('#dados_dimensao').modal('show')
|
|
$('#dimensao_total').val('')
|
|
$('#dados_dimensao .modal-title').text(e.nome)
|
|
$('#dados_dimensao #dimensao_valor_unitario_m2').val(convertFloatToMoeda(e.valor_unitario))
|
|
$('#dados_dimensao #dimensao_espessura').val((e.espessura))
|
|
$('#dados_dimensao #dimensao_largura').val((e.largura))
|
|
$('#dados_dimensao #dimensao_altura').val((e.altura))
|
|
|
|
if(e.altura > 0 && e.largura > 0){
|
|
$('#dados_dimensao #dimensao_largura').prop('readonly', true);
|
|
$('#dados_dimensao #dimensao_altura').prop('readonly', true);
|
|
}
|
|
$('#btn-salvar-dimensao').text('Salvar')
|
|
|
|
}
|
|
})
|
|
.fail((e) => {
|
|
console.log(e)
|
|
})
|
|
}
|
|
})
|
|
|
|
var KEY = null
|
|
function alterarDimensoesItem(id, key){
|
|
KEY = key
|
|
DIMENSOES = []
|
|
$.get(path_url + "api/produtos/get-dimensao-edit", {id: id})
|
|
.done(res => {
|
|
$('#dados_dimensao').modal('show')
|
|
$('#dados_dimensao table tbody').html(res.view)
|
|
$('#dados_dimensao .modal-title').text(res.produto.nome)
|
|
$('#dados_dimensao #dimensao_espessura').val(convertFloatToMoeda(res.produto.espessura))
|
|
$('#dados_dimensao #dimensao_valor_unitario_m2').val(convertFloatToMoeda(res.produto.valor_unitario))
|
|
$('#btn-salvar-dimensao').text('Editar')
|
|
let cont = 0;
|
|
res.data.map((x) => {
|
|
let js = {
|
|
key: cont,
|
|
dimensao_valor_unitario_m2: x.valor_unitario_m2,
|
|
dimensao_largura: x.largura,
|
|
dimensao_altura: x.altura,
|
|
dimensao_quantidade: x.quantidade,
|
|
dimensao_m2_total: x.m2_total,
|
|
dimensao_espessura: x.espessura,
|
|
dimensao_sub_total: x.sub_total,
|
|
dimensao_observacao: x.observacao,
|
|
}
|
|
DIMENSOES.push(js)
|
|
cont++
|
|
|
|
})
|
|
|
|
setTimeout(() => {
|
|
calculaTotalDimensao()
|
|
}, 100)
|
|
})
|
|
.fail(err => {
|
|
console.log(err)
|
|
})
|
|
}
|
|
|
|
$(document).on("blur", "#dimensao_quantidade", function () {
|
|
calculaDimensao()
|
|
})
|
|
|
|
// $(document).on("blur", "#dimensao_largura", function () {
|
|
// let value = parseFloat($(this).val())
|
|
// dif = -1
|
|
// while(dif != 0){
|
|
// dif = value%5
|
|
// if(dif != 0){
|
|
// value++
|
|
// }else{
|
|
// $(this).val(value)
|
|
// }
|
|
// }
|
|
// })
|
|
|
|
// $(document).on("blur", "#dimensao_altura", function () {
|
|
// let value = parseFloat($(this).val())
|
|
// dif = -1
|
|
// while(dif != 0){
|
|
// dif = value%5
|
|
// if(dif != 0){
|
|
// value++
|
|
// }else{
|
|
// $(this).val(value)
|
|
// }
|
|
// }
|
|
// })
|
|
|
|
function calculaDimensao(){
|
|
let qtd = parseFloat($('#dimensao_quantidade').val())
|
|
let dimensao_valor_unitario_m2 = convertMoedaToFloat($('#dimensao_valor_unitario_m2').val())
|
|
let dimensao_largura = parseFloat($('#dimensao_largura').val())
|
|
let dif = -1
|
|
while(dif != 0){
|
|
dif = dimensao_largura%5
|
|
if(dif != 0){
|
|
dimensao_largura++
|
|
}
|
|
}
|
|
let dimensao_altura = parseFloat($('#dimensao_altura').val())
|
|
dif = -1
|
|
while(dif != 0){
|
|
dif = dimensao_altura%5
|
|
if(dif != 0){
|
|
dimensao_altura++
|
|
}
|
|
}
|
|
|
|
let m2 = qtd * (dimensao_largura/1000) * (dimensao_altura/1000)
|
|
$('#dimensao_m2_total').val(m2.toFixed(3))
|
|
$('#dimensao_sub_total').val(convertFloatToMoeda(m2*dimensao_valor_unitario_m2))
|
|
}
|
|
|
|
var DIMENSOES = []
|
|
$(document).on("click", "#btn-add-dimensao", function () {
|
|
|
|
let dimensao_valor_unitario_m2 = $('#dimensao_valor_unitario_m2').val()
|
|
let dimensao_largura = $('#dimensao_largura').val()
|
|
let dimensao_altura = $('#dimensao_altura').val()
|
|
let dimensao_quantidade = $('#dimensao_quantidade').val()
|
|
let dimensao_m2_total = $('#dimensao_m2_total').val()
|
|
let dimensao_espessura = $('#dimensao_espessura').val()
|
|
let dimensao_sub_total = $('#dimensao_sub_total').val()
|
|
let dimensao_observacao = $('#dimensao_observacao').val()
|
|
|
|
let data = {
|
|
dimensao_valor_unitario_m2: dimensao_valor_unitario_m2,
|
|
dimensao_largura: dimensao_largura,
|
|
dimensao_altura: dimensao_altura,
|
|
dimensao_quantidade: dimensao_quantidade,
|
|
dimensao_m2_total: dimensao_m2_total,
|
|
dimensao_espessura: dimensao_espessura,
|
|
dimensao_sub_total: dimensao_sub_total,
|
|
dimensao_observacao: dimensao_observacao,
|
|
}
|
|
|
|
DIMENSOES.push(data)
|
|
|
|
$.get(path_url + "api/produtos/linha-dimensao", data)
|
|
.done(res => {
|
|
// console.log(res)
|
|
$('#dados_dimensao table tbody').append(res)
|
|
calculaTotalDimensao()
|
|
|
|
if(!$('#dimensao_largura').prop('readonly')) {
|
|
$('#dimensao_largura').val('')
|
|
}
|
|
if(!$('#dimensao_altura').prop('readonly')) {
|
|
$('#dimensao_altura').val('')
|
|
}
|
|
$('#dimensao_quantidade').val('')
|
|
$('#dimensao_m2_total').val('')
|
|
$('#dimensao_sub_total').val('')
|
|
$('#dimensao_observacao').val('')
|
|
$('#dimensao_largura').focus()
|
|
})
|
|
.fail(err => {
|
|
console.log(err)
|
|
})
|
|
})
|
|
|
|
$(document).on("click", ".btn-remove-tr-dimensao", function () {
|
|
let key = $(this).data('key')
|
|
$line = $(this).closest('tr')
|
|
$line.remove()
|
|
DIMENSOES = DIMENSOES.filter((x) => {
|
|
return x.key != key
|
|
})
|
|
// console.log(DIMENSOES)
|
|
calculaTotalDimensao()
|
|
})
|
|
|
|
function calculaTotalDimensao(){
|
|
setTimeout(() => {
|
|
let total = 0
|
|
$("#dados_dimensao .sub_total").each(function () {
|
|
total += convertMoedaToFloat($(this).text())
|
|
})
|
|
$('#dimensao_total').val(convertFloatToMoeda(total))
|
|
}, 100)
|
|
}
|
|
|
|
$(document).on("click", "#btn-salvar-dimensao", function () {
|
|
let salvar = $("#btn-salvar-dimensao").text() == 'Salvar' ? 1 : 0
|
|
$('.dimensoes-hidden').html('')
|
|
if(salvar == 1){
|
|
DIMENSOES.map((x, i) => {
|
|
|
|
let l = $('.table-produtos .dynamic-form').length-1
|
|
|
|
let input = "<input type='hidden' name='dimensao_altura[]' value='"+x.dimensao_altura+"' />"
|
|
input += "<input type='hidden' name='dimensao_espessura[]' value='"+x.dimensao_espessura+"' />"
|
|
input += "<input type='hidden' name='dimensao_largura[]' value='"+x.dimensao_largura+"' />"
|
|
input += "<input type='hidden' name='dimensao_m2_total[]' value='"+x.dimensao_m2_total+"' />"
|
|
input += "<input type='hidden' name='dimensao_observacao[]' value='"+x.dimensao_observacao+"' />"
|
|
input += "<input type='hidden' name='dimensao_quantidade[]' value='"+x.dimensao_quantidade+"' />"
|
|
input += "<input type='hidden' name='dimensao_sub_total[]' value='"+x.dimensao_sub_total+"' />"
|
|
input += "<input type='hidden' name='dimensao_valor_unitario_m2[]' value='"+x.dimensao_valor_unitario_m2+"' />"
|
|
input += "<input type='hidden' name='_line[]' value='"+l+"' />"
|
|
$('.dimensoes-hidden').last().append(input)
|
|
})
|
|
}else{
|
|
|
|
DIMENSOES.map((x, i) => {
|
|
let l = $('.table-produtos .dynamic-form').length-1
|
|
|
|
let input = "<input type='hidden' name='dimensao_altura[]' value='"+x.dimensao_altura+"' />"
|
|
input += "<input type='hidden' name='dimensao_espessura[]' value='"+x.dimensao_espessura+"' />"
|
|
input += "<input type='hidden' name='dimensao_largura[]' value='"+x.dimensao_largura+"' />"
|
|
input += "<input type='hidden' name='dimensao_m2_total[]' value='"+x.dimensao_m2_total+"' />"
|
|
input += "<input type='hidden' name='dimensao_observacao[]' value='"+x.dimensao_observacao+"' />"
|
|
input += "<input type='hidden' name='dimensao_quantidade[]' value='"+x.dimensao_quantidade+"' />"
|
|
input += "<input type='hidden' name='dimensao_sub_total[]' value='"+x.dimensao_sub_total+"' />"
|
|
input += "<input type='hidden' name='dimensao_valor_unitario_m2[]' value='"+x.dimensao_valor_unitario_m2+"' />"
|
|
input += "<input type='hidden' name='_line[]' value='"+KEY+"' />"
|
|
$('.dh_'+KEY).last().append(input)
|
|
})
|
|
}
|
|
|
|
setTimeout(() => {
|
|
$('#dados_dimensao').modal('hide')
|
|
let dimensao_total = $('#dimensao_total').val()
|
|
$('.valor_unit').last().val(dimensao_total)
|
|
$('.sub_total_new').last().val(dimensao_total)
|
|
calcTotal()
|
|
}, 100)
|
|
|
|
})
|
|
|
|
function setarVariacao(codigo_variacao){
|
|
$varicao = $('.table-produtos').find("tr").last().find('input')[0]
|
|
$varicao.value = codigo_variacao
|
|
}
|
|
|
|
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 selecionarVariacao(id, descricao, valor){
|
|
|
|
$varicao = $('.table-produtos').find("tr").last().find('input')[1]
|
|
$qtd = $('.table-produtos').find("tr").last().find('input')[2]
|
|
$vlUnit = $('.table-produtos').find("tr").last().find('input')[3]
|
|
$sub = $('.table-produtos').find("tr").last().find('input')[4]
|
|
$select = $('.table-produtos').find("tr").last().find('select').first()
|
|
$varicao.value = id
|
|
$qtd.value = '1,00'
|
|
$vlUnit.value = (convertFloatToMoeda(valor))
|
|
$sub.value = (convertFloatToMoeda(valor))
|
|
$select.closest('td').append('<span>variação: <strong>'+descricao+'</strong></span>')
|
|
$('#modal_variacao').modal('hide')
|
|
calcTotal()
|
|
calTotalNfe()
|
|
limpaFatura()
|
|
}
|
|
|
|
$('.valor_frete, .desconto, .acrescimo').blur(() => {
|
|
limpaFatura()
|
|
})
|
|
|
|
|
|
function limpaFatura() {
|
|
|
|
$('#body-pagamento tr').each(function (e, x) {
|
|
if (e == 0) {
|
|
setTimeout(() => {
|
|
let total = convertMoedaToFloat($('.total_prod').val())
|
|
let valor_frete = convertMoedaToFloat($('.valor_frete').val())
|
|
let desconto = convertMoedaToFloat($('.desconto').val())
|
|
let acrescimo = convertMoedaToFloat($('.acrescimo').val())
|
|
// $('.valor_fatura').first().val(convertFloatToMoeda(total + valor_frete - desconto + acrescimo))
|
|
$('.tipo_pagamento').first().val('').change()
|
|
let data = new Date
|
|
let dataFormatada = (data.getFullYear() + "-" + adicionaZero((data.getMonth() + 1)) + "-" + adicionaZero(data.getDate()));
|
|
$('.date_atual').first().val(dataFormatada)
|
|
}, 500)
|
|
|
|
} else {
|
|
x.remove();
|
|
}
|
|
})
|
|
}
|
|
|
|
$(document).on('change', '.tipo_pagamento', function () {
|
|
|
|
let primeiroSelect = $('.tipo_pagamento').first();
|
|
if (!$(this).is(primeiroSelect)) {
|
|
return;
|
|
}
|
|
|
|
if($(this).val()){
|
|
$('.valor_fatura').val(convertFloatToMoeda(total_venda))
|
|
}
|
|
});
|
|
|
|
$('body').on('blur', '.valor_unit', function () {
|
|
|
|
$qtd = $(this).closest('td').prev().find('input');
|
|
$sub = $(this).closest('td').next().find('input');
|
|
let value_unit = $(this).val();
|
|
value_unit = convertMoedaToFloat(value_unit)
|
|
let qtd = convertMoedaToFloat($qtd.val())
|
|
$sub.val(convertFloatToMoeda(qtd * value_unit))
|
|
calcTotal()
|
|
|
|
if($('#is_compra') && $('#is_compra').val() == 1){
|
|
return;
|
|
}
|
|
|
|
if($('#is_orcamento').val() == 0){
|
|
return;
|
|
}
|
|
// validaDescontoItem(qtd, value_unit)
|
|
$inpProduto = $(this).closest('td').prev().prev().find('select')
|
|
if($inpProduto.val()){
|
|
$.get(path_url + "api/orcamentos/valida-desconto",
|
|
{
|
|
produto_id: $inpProduto.val(), valor: value_unit, empresa_id: $('#empresa_id').val()
|
|
}).done((res) => {
|
|
$sub.val(convertFloatToMoeda(qtd * value_unit))
|
|
})
|
|
.fail((err) => {
|
|
console.log(err)
|
|
let v = err.responseJSON
|
|
$(this).val(convertFloatToMoeda(v))
|
|
$sub.val(convertFloatToMoeda(qtd * v))
|
|
swal("Erro", "Valor minímo para este item " + convertFloatToMoeda(v), "error")
|
|
})
|
|
}
|
|
})
|
|
|
|
function validaDescontoItem(qtd, value_unit){
|
|
let produto_id
|
|
$sub.val(convertFloatToMoeda(qtd * value_unit))
|
|
}
|
|
|
|
$('body').on('blur', '.qtd', function () {
|
|
$value_unit = $(this).closest('td').next().find('input');
|
|
$sub = $(this).closest('td').next().next().find('input');
|
|
let qtd = $(this).val();
|
|
qtd = convertMoedaToFloat(qtd)
|
|
let value_unit = convertMoedaToFloat($value_unit.val())
|
|
$sub.val(convertFloatToMoeda(qtd * value_unit))
|
|
|
|
$prod = $(this).closest('td').prev().find('select')
|
|
if($prod.select2('data')[0].gerenciar_estoque == 1 && $('#is_compra').val() == 0){
|
|
let estoque = $prod.select2('data')[0].estoque_atual
|
|
if(qtd > estoque){
|
|
toastr.warning("Quantidade de estoque insuficiente!")
|
|
$(this).val(estoque)
|
|
$sub.val(convertFloatToMoeda(estoque * value_unit))
|
|
}
|
|
}
|
|
|
|
})
|
|
|
|
$('.btn-add-tr').on("click", function () {
|
|
|
|
var $table = $(this)
|
|
.closest(".row")
|
|
.prev()
|
|
.find(".table-dynamic");
|
|
var hasEmpty = false;
|
|
$table.find("input, select").each(function () {
|
|
if (($(this).val() == "" || $(this).val() == null) && $(this).attr("type") != "hidden" && $(this).attr("type") != "file" && !$(this).hasClass("ignore")) {
|
|
hasEmpty = true;
|
|
}
|
|
});
|
|
if (hasEmpty) {
|
|
swal(
|
|
"Atenção",
|
|
"Preencha todos os campos antes de adicionar novos.",
|
|
"warning"
|
|
);
|
|
return;
|
|
}
|
|
// $table.find("select.select2").select2("destroy");
|
|
var $tr = $table.find(".dynamic-form").first();
|
|
$tr.find("select.select2").select2("destroy");
|
|
var $clone = $tr.clone();
|
|
$clone.show();
|
|
$clone.find("input,select").val("");
|
|
$table.append($clone);
|
|
setTimeout(function () {
|
|
$("tbody select.select2").select2({
|
|
language: "pt-BR",
|
|
width: "100%",
|
|
theme: "bootstrap4"
|
|
});
|
|
}, 100);
|
|
})
|
|
|
|
$(document).delegate(".btn-remove-tr", "click", function (e) {
|
|
e.preventDefault();
|
|
swal({
|
|
title: "Você esta certo?",
|
|
text: "Deseja remover esse item mesmo?",
|
|
icon: "warning",
|
|
buttons: true
|
|
}).then(willDelete => {
|
|
if (willDelete) {
|
|
var trLength = $(this)
|
|
.closest("tr")
|
|
.closest("tbody")
|
|
.find("tr")
|
|
.not(".dynamic-form-document").length;
|
|
if (!trLength || trLength > 1) {
|
|
$(this)
|
|
.closest("tr")
|
|
.remove();
|
|
calcTotal()
|
|
calTotalNfe()
|
|
limpaFatura()
|
|
} else {
|
|
swal(
|
|
"Atenção",
|
|
"Você deve ter ao menos um item na lista",
|
|
"warning"
|
|
);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
function getClient(cliente) {
|
|
$('.btn-fatura-padrao').addClass('d-none')
|
|
|
|
$.get(path_url + "api/clientes/find/" + cliente)
|
|
.done((res) => {
|
|
if(res.inadimplente == true){
|
|
$('.cliente_id').val()
|
|
swal(
|
|
"Atenção",
|
|
"Este cliente está inadimplente, não é permitido vender!",
|
|
"warning"
|
|
);
|
|
return;
|
|
}
|
|
$('#inp-cliente_nome').val(res.razao_social)
|
|
$('#inp-nome_fantasia').val(res.nome_fantasia)
|
|
$('#inp-cliente_cpf_cnpj').val(res.cpf_cnpj)
|
|
$('#inp-ie').val(res.ie)
|
|
$('#inp-telefone').val(res.telefone)
|
|
$('#inp-contribuinte').val(res.contribuinte).change()
|
|
$('#inp-consumidor_final').val(res.consumidor_final).change()
|
|
$('#inp-email').val(res.email)
|
|
$('#inp-cidade_cliente').val(res.cidade_id).change()
|
|
$('#inp-cliente_rua').val(res.rua)
|
|
$('#inp-cliente_numero').val(res.numero)
|
|
$('#inp-cep').val(res.cep)
|
|
$('#inp-cliente_bairro').val(res.bairro)
|
|
$('#inp-complemento').val(res.complemento)
|
|
|
|
if(res.fatura.length > 0){
|
|
$('.btn-fatura-padrao').removeClass('d-none')
|
|
}
|
|
|
|
if(res.lista_preco_id){
|
|
$('#lista_id').val(res.lista_preco_id)
|
|
$('.lista_selecionada').text('Lista selecionada: ' + res.lista_preco.nome + " " + res.lista_preco.percentual_alteracao + "%")
|
|
}
|
|
|
|
let tributacao = res.tributacao
|
|
if(tributacao){
|
|
TRIBUTACAOCLIENTE = 0
|
|
if(tributacao.ncm || tributacao.perc_cofins || tributacao.perc_icms || tributacao.perc_ipi || tributacao.perc_pis || tributacao.perc_red_bc){
|
|
TRIBUTACAOCLIENTE = 1
|
|
}
|
|
|
|
if(tributacao.cest || tributacao.cfop_estadual || tributacao.cfop_outro_estado || tributacao.cst_cofins || tributacao.cst_csosn || tributacao.cst_ipi || tributacao.cst_pis){
|
|
TRIBUTACAOCLIENTE = 1
|
|
}
|
|
|
|
if(TRIBUTACAOCLIENTE == 1){
|
|
swal({
|
|
title: "Tributação?",
|
|
text: "Este cliente possui um padrão de tributação exclusivo deseja utilizar?",
|
|
icon: "info",
|
|
buttons: true,
|
|
buttons: ["NÃO", "SIM"],
|
|
dangerMode: true,
|
|
}).then((isConfirm) => {
|
|
if (isConfirm) {
|
|
TRIBUTACAOCLIENTE = 1
|
|
} else {
|
|
swal("", "O Padrão não será utilizado", "info");
|
|
TRIBUTACAOCLIENTE = 0
|
|
}
|
|
});
|
|
}
|
|
}
|
|
})
|
|
.fail((err) => {
|
|
console.error(err)
|
|
})
|
|
}
|
|
|
|
function getFornecedor(fornecedor) {
|
|
$.get(path_url + "api/fornecedores/find/" + fornecedor)
|
|
.done((res) => {
|
|
$('#inp-fornecedor_nome').val(res.razao_social)
|
|
$('#inp-nome_fantasia').val(res.nome_fantasia)
|
|
$('#inp-fornecedor_cpf_cnpj').val(res.cpf_cnpj)
|
|
$('#inp-ie').val(res.ie)
|
|
$('#inp-telefone').val(res.telefone)
|
|
$('#inp-contribuinte').val(res.contribuinte).change()
|
|
$('#inp-consumidor_final').val(res.consumidor_final).change()
|
|
$('#inp-email').val(res.email)
|
|
$('#inp-fornecedor_cidade').val(res.cidade_id).change()
|
|
$('#inp-fornecedor_rua').val(res.rua)
|
|
$('#inp-fornecedor_numero').val(res.numero)
|
|
$('#inp-cep').val(res.cep)
|
|
$('#inp-fornecedor_bairro').val(res.bairro)
|
|
$('#inp-complemento').val(res.complemento)
|
|
})
|
|
.fail((err) => {
|
|
console.error(err)
|
|
})
|
|
}
|
|
|
|
function getTransp(transportadora) {
|
|
$.get(path_url + "api/transportadoras/find/" + transportadora)
|
|
.done((res) => {
|
|
$('#inp-razao_social_transp').val(res.razao_social)
|
|
$('#inp-nome_fantasia_transp').val(res.nome_fantasia)
|
|
$('#inp-cpf_cnpj_transp').val(res.cpf_cnpj)
|
|
$('#inp-ie_transp').val(res.ie)
|
|
$('#inp-antt').val(res.antt)
|
|
$('#inp-telefone_transp').val(res.telefone)
|
|
$('#inp-email_transp').val(res.email)
|
|
// $('#inp-cidade_transp').val(res.cidade_id).change()
|
|
$('#inp-rua_transp').val(res.rua)
|
|
$('#inp-numero_transp').val(res.numero)
|
|
$('#inp-cep_transp').val(res.cep)
|
|
$('#inp-bairro_transp').val(res.bairro)
|
|
$('#inp-complemento_transp').val(res.complemento)
|
|
|
|
var newOption = new Option(res.cidade.info, res.cidade.id, false, false);
|
|
$('#inp-cidade_transp').html('')
|
|
$('#inp-cidade_transp').append(newOption).trigger('change');
|
|
})
|
|
.fail((err) => {
|
|
console.error(err)
|
|
})
|
|
}
|
|
|
|
|
|
$(function () {
|
|
$('body').on('blur', '.acrescimo, .desconto', function () {
|
|
calTotalNfe()
|
|
})
|
|
})
|
|
|
|
$(function () {
|
|
calcTotal()
|
|
$('body').on('blur', '.produto_id', function () {
|
|
calcTotal()
|
|
})
|
|
|
|
calcTotal()
|
|
$('body').on('blur', '.sub_total', function () {
|
|
calcTotal()
|
|
})
|
|
})
|
|
|
|
|
|
// CÁLCULO TOTAL DE PRODUTOS
|
|
var total_venda = 0
|
|
function calcTotal() {
|
|
$('.h5-ipi').addClass('d-none')
|
|
var total = 0
|
|
var totalIpi = 0
|
|
$(".sub_total").each(function () {
|
|
total += convertMoedaToFloat($(this).val())
|
|
$percIpi = $(this).closest('td').next().next().next().next().find('input')
|
|
if($percIpi.val() > 0){
|
|
let vIpi = convertMoedaToFloat($(this).val()) * ($percIpi.val()/100)
|
|
vIpi = parseFloat(vIpi.toFixed(2))
|
|
totalIpi += vIpi
|
|
}
|
|
})
|
|
setTimeout(() => {
|
|
total_venda = total
|
|
|
|
$('.total_prod').html("R$ " + convertFloatToMoeda(total))
|
|
if(totalIpi > 0){
|
|
$('.total_ipi').html("R$ " + convertFloatToMoeda(totalIpi))
|
|
$('.h5-ipi').removeClass('d-none')
|
|
}
|
|
$('.total_prod').val(total)
|
|
calTotalNfe()
|
|
}, 100)
|
|
}
|
|
|
|
$('body').on('blur', '.perc_ipi', function () {
|
|
calcTotal()
|
|
})
|
|
|
|
$(function () {
|
|
calcTotalFatura()
|
|
$('body').on('blur', '.valor_fatura', function () {
|
|
calcTotalFatura()
|
|
})
|
|
})
|
|
|
|
function calcTotalFatura() {
|
|
var total = 0
|
|
$(".valor_fatura").each(function () {
|
|
total += convertMoedaToFloat($(this).val())
|
|
})
|
|
|
|
setTimeout(() => {
|
|
// let acrescimo = convertMoedaToFloat($('#inp-acrescimo').val())
|
|
// let desconto = convertMoedaToFloat($('#inp-desconto').val())
|
|
// let total_nfe = $('.total_nfe').val()
|
|
total_fatura = total
|
|
$('.total_fatura').html("R$ " + convertFloatToMoeda(total))
|
|
}, 100)
|
|
}
|
|
|
|
|
|
// CALCULO TOTAL DA NFE
|
|
$(function () {
|
|
$('body').on('blur', '.valor_frete', function () {
|
|
calTotalNfe()
|
|
})
|
|
})
|
|
var total_frete = 0
|
|
var total_nfe = 0
|
|
function calTotalNfe() {
|
|
let acrescimo = convertMoedaToFloat($('#inp-acrescimo').val())
|
|
let desconto = convertMoedaToFloat($('#inp-desconto').val())
|
|
let total_fr = convertMoedaToFloat($("#inp-valor_frete").val())
|
|
let total_ipi = 0
|
|
if($(".total_ipi").length){
|
|
total_ipi = convertMoedaToFloat($(".total_ipi").text())
|
|
}
|
|
let total_prod = parseFloat($('.total_prod').val())
|
|
|
|
setTimeout(() => {
|
|
total_frete = total_fr
|
|
total_nfe = total_prod + total_fr + acrescimo - desconto + total_ipi
|
|
$('.total_frete').html("R$ " + convertFloatToMoeda(total_fr))
|
|
$('.total_nfe').html("R$ " + convertFloatToMoeda(total_nfe))
|
|
// $('.valor_fatura').val(convertFloatToMoeda(total_nfe))
|
|
$('.valor_total').val(convertFloatToMoeda(total_nfe))
|
|
calcTotalFatura()
|
|
}, 100)
|
|
}
|
|
|
|
|
|
$('.btn-salvar-nfe').click(() => {
|
|
addClassRequired()
|
|
})
|
|
|
|
function addClassRequired() {
|
|
if($('#is_compra').val() != 1){
|
|
let infMsg = ""
|
|
$("body #form-nfe").find('input, select').each(function () {
|
|
if ($(this).prop('required')) {
|
|
if ($(this).val() == "") {
|
|
try {
|
|
infMsg += $(this).prev()[0].textContent + "\n"
|
|
} catch { }
|
|
$(this).addClass('is-invalid')
|
|
} else {
|
|
$(this).removeClass('is-invalid')
|
|
}
|
|
} else {
|
|
$(this).removeClass('is-invalid')
|
|
}
|
|
})
|
|
if (!$('.produto_id').val()) {
|
|
infMsg += "Produto\n"
|
|
}
|
|
if (infMsg != "") {
|
|
swal("Campos pendentes", infMsg, "warning")
|
|
}
|
|
}
|
|
}
|
|
|
|
$("#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) {
|
|
console.clear();
|
|
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) {
|
|
// console.log(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,
|
|
};
|
|
},
|
|
},
|
|
});
|
|
}
|
|
});
|
|
|
|
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) => {
|
|
// console.log(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)
|
|
let text = $('#inp-lista_preco_id option:selected').text()
|
|
$('.lista_selecionada').text('Lista selecionada: ' + text)
|
|
|
|
|
|
setTimeout(() => {
|
|
$("#codBarras").focus();
|
|
}, 500)
|
|
}
|
|
|
|
$("body").on("change", "#inp-lista_preco_id", function () {
|
|
$.get(path_url + "api/lista-preco/find", {id: $(this).val()})
|
|
.done((res) => {
|
|
// console.log(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);
|
|
});
|
|
})
|