408 lines
13 KiB
JavaScript
408 lines
13 KiB
JavaScript
$(function(){
|
|
calculaTotal()
|
|
})
|
|
|
|
$("body").on("blur", "input", function () {
|
|
calculaTotal()
|
|
})
|
|
|
|
$("body").on("blur", "#inp-percentual_produtos", function () {
|
|
calculaValorProdutos()
|
|
})
|
|
|
|
$("body").on("blur", ".table-produtos .qtd, .table-produtos .valor_unitario", function () {
|
|
let somaCusto = 0
|
|
let somaFinal = 0
|
|
let percentual = $("#inp-percentual_produtos").val()
|
|
|
|
$qtd = $(this).closest('tr').find('.qtd');
|
|
$vlUnit = $(this).closest('tr').find('.valor_unitario');
|
|
$subTotal = $(this).closest('tr').find('.sub_total');
|
|
|
|
let qtd = convertMoedaToFloat($qtd.val())
|
|
|
|
let vlUnit = convertMoedaToFloat($vlUnit.val())
|
|
$subTotal.val(convertFloatToMoeda(qtd*vlUnit))
|
|
|
|
$vlUnitFinal = $(this).closest('tr').find('.valor_unitario_final');
|
|
$subTotalFinal = $(this).closest('tr').find('.sub_total_final');
|
|
|
|
$vlUnitFinal.val(convertFloatToMoeda(vlUnit+(vlUnit*(percentual/100))))
|
|
let vlUnitFinal = convertMoedaToFloat($vlUnitFinal.val())
|
|
$subTotalFinal.val(convertFloatToMoeda(qtd*vlUnitFinal))
|
|
|
|
setTimeout(() => {
|
|
|
|
$(".table-produtos tr").each(function () {
|
|
somaCusto += convertMoedaToFloat($(this).find('.sub_total').val())
|
|
somaFinal += convertMoedaToFloat($(this).find('.sub_total_final').val())
|
|
})
|
|
$(".table-produtos .soma-custo").text("R$ " + convertFloatToMoeda(somaCusto))
|
|
$(".table-produtos .soma-final").text("R$ " + convertFloatToMoeda(somaFinal))
|
|
}, 100)
|
|
})
|
|
|
|
$("body").on("blur", ".table-produtos .valor_unitario_final", function () {
|
|
let vlUnitFinal = convertMoedaToFloat($(this).val())
|
|
$subTotalFinal = $(this).closest('td').next().find('input');
|
|
$qtd = $(this).closest('td').prev().prev().prev().prev().find('input');
|
|
let qtd = convertMoedaToFloat($qtd.val())
|
|
$subTotalFinal.val(convertFloatToMoeda(qtd*vlUnitFinal))
|
|
|
|
let somaFinal = 0
|
|
|
|
$(".table-produtos .sub_total_final").each(function () {
|
|
somaFinal += convertMoedaToFloat($(this).val())
|
|
})
|
|
|
|
setTimeout(() => {
|
|
$(".table-produtos .soma-final").text("R$ " + convertFloatToMoeda(somaFinal))
|
|
}, 100)
|
|
})
|
|
|
|
function calculaValorProdutos(){
|
|
let percentual = $("#inp-percentual_produtos").val()
|
|
let somaCusto = 0
|
|
let somaFinal = 0
|
|
$(".table-produtos tbody tr").each(function () {
|
|
$qtd = $(this).find('.qtd')
|
|
let qtd = convertMoedaToFloat($qtd.val())
|
|
|
|
$vlUnit = $(this).find('.valor_unitario')
|
|
let vlUnit = convertMoedaToFloat($vlUnit.val())
|
|
|
|
$subTotal = $(this).find('.sub_total')
|
|
$subTotal.val(convertFloatToMoeda(qtd*vlUnit))
|
|
somaCusto += qtd*vlUnit
|
|
setTimeout(() => {
|
|
$vlUnitFinal = $(this).find('.valor_unitario_final')
|
|
|
|
$vlUnitFinal.val(convertFloatToMoeda(vlUnit+(vlUnit*(percentual/100))))
|
|
let vlUnitFinal = convertMoedaToFloat($vlUnitFinal.val())
|
|
|
|
$subTotalFinal = $(this).find('.sub_total_final')
|
|
$subTotalFinal.val(convertFloatToMoeda(qtd*vlUnitFinal))
|
|
somaFinal += qtd*vlUnitFinal
|
|
|
|
}, 10)
|
|
})
|
|
|
|
setTimeout(() => {
|
|
$(".table-produtos .soma-custo").text("R$ " + convertFloatToMoeda(somaCusto))
|
|
$(".table-produtos .soma-final").text("R$ " + convertFloatToMoeda(somaFinal))
|
|
|
|
}, 100)
|
|
}
|
|
|
|
//fim produtos
|
|
|
|
$("body").on("blur", "#inp-percentual_servicos", function () {
|
|
calculaValorServicos()
|
|
})
|
|
|
|
$("body").on("blur", ".table-servicos .qtd, .table-servicos .valor_unitario", function () {
|
|
let somaCusto = 0
|
|
let somaFinal = 0
|
|
let percentual = $("#inp-percentual_servicos").val()
|
|
|
|
$qtd = $(this).closest('tr').find('.qtd');
|
|
$vlUnit = $(this).closest('tr').find('.valor_unitario');
|
|
$subTotal = $(this).closest('tr').find('.sub_total');
|
|
|
|
let qtd = convertMoedaToFloat($qtd.val())
|
|
|
|
let vlUnit = convertMoedaToFloat($vlUnit.val())
|
|
$subTotal.val(convertFloatToMoeda(qtd*vlUnit))
|
|
|
|
$vlUnitFinal = $(this).closest('tr').find('.valor_unitario_final');
|
|
$subTotalFinal = $(this).closest('tr').find('.sub_total_final');
|
|
|
|
$vlUnitFinal.val(convertFloatToMoeda(vlUnit+(vlUnit*(percentual/100))))
|
|
let vlUnitFinal = convertMoedaToFloat($vlUnitFinal.val())
|
|
$subTotalFinal.val(convertFloatToMoeda(qtd*vlUnitFinal))
|
|
|
|
setTimeout(() => {
|
|
|
|
$(".table-servicos tr").each(function () {
|
|
somaCusto += convertMoedaToFloat($(this).find('.sub_total').val())
|
|
somaFinal += convertMoedaToFloat($(this).find('.sub_total_final').val())
|
|
})
|
|
$(".table-servicos .soma-custo").text("R$ " + convertFloatToMoeda(somaCusto))
|
|
$(".table-servicos .soma-final").text("R$ " + convertFloatToMoeda(somaFinal))
|
|
}, 100)
|
|
})
|
|
|
|
$("body").on("blur", ".table-servicos .valor_unitario_final", function () {
|
|
let vlUnitFinal = convertMoedaToFloat($(this).val())
|
|
$subTotalFinal = $(this).closest('td').next().find('input');
|
|
$qtd = $(this).closest('td').prev().prev().prev().prev().find('input');
|
|
let qtd = convertMoedaToFloat($qtd.val())
|
|
$subTotalFinal.val(convertFloatToMoeda(qtd*vlUnitFinal))
|
|
|
|
let somaFinal = 0
|
|
|
|
$(".table-servicos .sub_total_final").each(function () {
|
|
somaFinal += convertMoedaToFloat($(this).val())
|
|
})
|
|
|
|
setTimeout(() => {
|
|
$(".table-servicos .soma-final").text("R$ " + convertFloatToMoeda(somaFinal))
|
|
}, 100)
|
|
})
|
|
|
|
function calculaValorServicos(){
|
|
let percentual = $("#inp-percentual_servicos").val()
|
|
let somaCusto = 0
|
|
let somaFinal = 0
|
|
$(".table-servicos tbody tr").each(function () {
|
|
$qtd = $(this).find('.qtd')
|
|
let qtd = convertMoedaToFloat($qtd.val())
|
|
|
|
$vlUnit = $(this).find('.valor_unitario')
|
|
let vlUnit = convertMoedaToFloat($vlUnit.val())
|
|
|
|
$subTotal = $(this).find('.sub_total')
|
|
$subTotal.val(convertFloatToMoeda(qtd*vlUnit))
|
|
somaCusto += qtd*vlUnit
|
|
setTimeout(() => {
|
|
$vlUnitFinal = $(this).find('.valor_unitario_final')
|
|
|
|
$vlUnitFinal.val(convertFloatToMoeda(vlUnit+(vlUnit*(percentual/100))))
|
|
let vlUnitFinal = convertMoedaToFloat($vlUnitFinal.val())
|
|
|
|
$subTotalFinal = $(this).find('.sub_total_final')
|
|
$subTotalFinal.val(convertFloatToMoeda(qtd*vlUnitFinal))
|
|
somaFinal += qtd*vlUnitFinal
|
|
|
|
}, 10)
|
|
})
|
|
|
|
setTimeout(() => {
|
|
$(".table-servicos .soma-custo").text("R$ " + convertFloatToMoeda(somaCusto))
|
|
$(".table-servicos .soma-final").text("R$ " + convertFloatToMoeda(somaFinal))
|
|
|
|
}, 100)
|
|
}
|
|
//fim serviços
|
|
|
|
$("body").on("blur", "#inp-percentual_servicos_terceiro", function () {
|
|
calculaValorServicosTerceiro()
|
|
})
|
|
|
|
$("body").on("blur", ".table-servicos-terceiro .qtd, .table-servicos-terceiro .valor_unitario", function () {
|
|
let somaCusto = 0
|
|
let somaFinal = 0
|
|
let percentual = $("#inp-percentual_servicos_terceiro").val()
|
|
|
|
$qtd = $(this).closest('tr').find('.qtd');
|
|
$vlUnit = $(this).closest('tr').find('.valor_unitario');
|
|
$subTotal = $(this).closest('tr').find('.sub_total');
|
|
|
|
let qtd = convertMoedaToFloat($qtd.val())
|
|
|
|
let vlUnit = convertMoedaToFloat($vlUnit.val())
|
|
$subTotal.val(convertFloatToMoeda(qtd*vlUnit))
|
|
|
|
$vlUnitFinal = $(this).closest('tr').find('.valor_unitario_final');
|
|
$subTotalFinal = $(this).closest('tr').find('.sub_total_final');
|
|
|
|
$vlUnitFinal.val(convertFloatToMoeda(vlUnit+(vlUnit*(percentual/100))))
|
|
let vlUnitFinal = convertMoedaToFloat($vlUnitFinal.val())
|
|
$subTotalFinal.val(convertFloatToMoeda(qtd*vlUnitFinal))
|
|
|
|
setTimeout(() => {
|
|
|
|
$(".table-servicos-terceiro tr").each(function () {
|
|
somaCusto += convertMoedaToFloat($(this).find('.sub_total').val())
|
|
somaFinal += convertMoedaToFloat($(this).find('.sub_total_final').val())
|
|
})
|
|
$(".table-servicos-terceiro .soma-custo").text("R$ " + convertFloatToMoeda(somaCusto))
|
|
$(".table-servicos-terceiro .soma-final").text("R$ " + convertFloatToMoeda(somaFinal))
|
|
}, 100)
|
|
})
|
|
|
|
$("body").on("blur", ".table-servicos-terceiro .valor_unitario_final", function () {
|
|
let vlUnitFinal = convertMoedaToFloat($(this).val())
|
|
$subTotalFinal = $(this).closest('td').next().find('input');
|
|
$qtd = $(this).closest('td').prev().prev().prev().prev().find('input');
|
|
let qtd = convertMoedaToFloat($qtd.val())
|
|
$subTotalFinal.val(convertFloatToMoeda(qtd*vlUnitFinal))
|
|
|
|
let somaFinal = 0
|
|
|
|
$(".table-servicos-terceiro .sub_total_final").each(function () {
|
|
somaFinal += convertMoedaToFloat($(this).val())
|
|
})
|
|
|
|
setTimeout(() => {
|
|
$(".table-servicos-terceiro .soma-final").text("R$ " + convertFloatToMoeda(somaFinal))
|
|
}, 100)
|
|
})
|
|
function calculaValorServicosTerceiro(){
|
|
let percentual = $("#inp-percentual_servicos_terceiro").val()
|
|
let somaCusto = 0
|
|
let somaFinal = 0
|
|
$(".table-servicos-terceiro tbody tr").each(function () {
|
|
$qtd = $(this).find('.qtd')
|
|
let qtd = convertMoedaToFloat($qtd.val())
|
|
|
|
$vlUnit = $(this).find('.valor_unitario')
|
|
let vlUnit = convertMoedaToFloat($vlUnit.val())
|
|
|
|
$subTotal = $(this).find('.sub_total')
|
|
$subTotal.val(convertFloatToMoeda(qtd*vlUnit))
|
|
somaCusto += qtd*vlUnit
|
|
setTimeout(() => {
|
|
$vlUnitFinal = $(this).find('.valor_unitario_final')
|
|
|
|
$vlUnitFinal.val(convertFloatToMoeda(vlUnit+(vlUnit*(percentual/100))))
|
|
let vlUnitFinal = convertMoedaToFloat($vlUnitFinal.val())
|
|
$subTotalFinal = $(this).find('.sub_total_final')
|
|
$subTotalFinal.val(convertFloatToMoeda(qtd*vlUnitFinal))
|
|
somaFinal += qtd*vlUnitFinal
|
|
|
|
}, 10)
|
|
})
|
|
|
|
setTimeout(() => {
|
|
$(".table-servicos-terceiro .soma-custo").text("R$ " + convertFloatToMoeda(somaCusto))
|
|
$(".table-servicos-terceiro .soma-final").text("R$ " + convertFloatToMoeda(somaFinal))
|
|
|
|
}, 100)
|
|
}
|
|
|
|
//fim serviços terceiro
|
|
|
|
$("body").on("blur", "#inp-percentual_custos_adm", function () {
|
|
calculaValorCustosAdm()
|
|
})
|
|
|
|
$("body").on("blur", ".table-custos-adm .qtd, .table-custos-adm .valor_unitario", function () {
|
|
let somaCusto = 0
|
|
let somaFinal = 0
|
|
let percentual = $("#inp-percentual_custos_adm").val()
|
|
|
|
$qtd = $(this).closest('tr').find('.qtd');
|
|
$vlUnit = $(this).closest('tr').find('.valor_unitario');
|
|
$subTotal = $(this).closest('tr').find('.sub_total');
|
|
|
|
let qtd = convertMoedaToFloat($qtd.val())
|
|
|
|
let vlUnit = convertMoedaToFloat($vlUnit.val())
|
|
$subTotal.val(convertFloatToMoeda(qtd*vlUnit))
|
|
|
|
$vlUnitFinal = $(this).closest('tr').find('.valor_unitario_final');
|
|
$subTotalFinal = $(this).closest('tr').find('.sub_total_final');
|
|
|
|
$vlUnitFinal.val(convertFloatToMoeda(vlUnit+(vlUnit*(percentual/100))))
|
|
let vlUnitFinal = convertMoedaToFloat($vlUnitFinal.val())
|
|
$subTotalFinal.val(convertFloatToMoeda(qtd*vlUnitFinal))
|
|
|
|
setTimeout(() => {
|
|
|
|
$(".table-custos-adm tr").each(function () {
|
|
somaCusto += convertMoedaToFloat($(this).find('.sub_total').val())
|
|
somaFinal += convertMoedaToFloat($(this).find('.sub_total_final').val())
|
|
})
|
|
$(".table-custos-adm .soma-custo").text("R$ " + convertFloatToMoeda(somaCusto))
|
|
$(".table-custos-adm .soma-final").text("R$ " + convertFloatToMoeda(somaFinal))
|
|
}, 100)
|
|
})
|
|
|
|
$("body").on("blur", ".table-custos-adm .valor_unitario_final", function () {
|
|
let vlUnitFinal = convertMoedaToFloat($(this).val())
|
|
$subTotalFinal = $(this).closest('td').next().find('input');
|
|
$qtd = $(this).closest('td').prev().prev().prev().prev().find('input');
|
|
let qtd = convertMoedaToFloat($qtd.val())
|
|
$subTotalFinal.val(convertFloatToMoeda(qtd*vlUnitFinal))
|
|
|
|
let somaFinal = 0
|
|
|
|
$(".table-custos-adm .sub_total_final").each(function () {
|
|
somaFinal += convertMoedaToFloat($(this).val())
|
|
})
|
|
|
|
setTimeout(() => {
|
|
$(".table-custos-adm .soma-final").text("R$ " + convertFloatToMoeda(somaFinal))
|
|
}, 100)
|
|
})
|
|
function calculaValorCustosAdm(){
|
|
let percentual = $("#inp-percentual_custos_adm").val()
|
|
let somaCusto = 0
|
|
let somaFinal = 0
|
|
$(".table-custos-adm tbody tr").each(function () {
|
|
$qtd = $(this).find('.qtd')
|
|
let qtd = convertMoedaToFloat($qtd.val())
|
|
|
|
$vlUnit = $(this).find('.valor_unitario')
|
|
let vlUnit = convertMoedaToFloat($vlUnit.val())
|
|
|
|
$subTotal = $(this).find('.sub_total')
|
|
$subTotal.val(convertFloatToMoeda(qtd*vlUnit))
|
|
somaCusto += qtd*vlUnit
|
|
setTimeout(() => {
|
|
$vlUnitFinal = $(this).find('.valor_unitario_final')
|
|
|
|
$vlUnitFinal.val(convertFloatToMoeda(vlUnit+(vlUnit*(percentual/100))))
|
|
let vlUnitFinal = convertMoedaToFloat($vlUnitFinal.val())
|
|
$subTotalFinal = $(this).find('.sub_total_final')
|
|
$subTotalFinal.val(convertFloatToMoeda(qtd*vlUnitFinal))
|
|
somaFinal += qtd*vlUnitFinal
|
|
|
|
}, 10)
|
|
})
|
|
|
|
setTimeout(() => {
|
|
$(".table-custos-adm .soma-custo").text("R$ " + convertFloatToMoeda(somaCusto))
|
|
$(".table-custos-adm .soma-final").text("R$ " + convertFloatToMoeda(somaFinal))
|
|
|
|
}, 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();
|
|
calculaTotal()
|
|
} else {
|
|
swal(
|
|
"Atenção",
|
|
"Você deve ter ao menos um item na lista",
|
|
"warning"
|
|
);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
function calculaTotal(){
|
|
let somaCusto = 0
|
|
let somaFinal = 0
|
|
setTimeout(() => {
|
|
$(".sub_total").each(function () {
|
|
somaCusto += convertMoedaToFloat($(this).val())
|
|
})
|
|
|
|
$(".sub_total_final").each(function () {
|
|
somaFinal += convertMoedaToFloat($(this).val())
|
|
})
|
|
|
|
$(".total-custo-geral").text("R$ " + convertFloatToMoeda(somaCusto))
|
|
$(".total-final-geral").text("R$ " + convertFloatToMoeda(somaFinal))
|
|
|
|
}, 100)
|
|
} |