238 lines
4.5 KiB
JavaScript
238 lines
4.5 KiB
JavaScript
$('.btn-clone-caixa').on("click", function() {
|
|
console.clear()
|
|
var $elem = $(this)
|
|
.closest(".row")
|
|
.prev();
|
|
|
|
var hasEmpty = false;
|
|
|
|
$elem.find("input, select").each(function() {
|
|
if (($(this).val() == "" || $(this).val() == null) && $(this).attr("type") != "hidden" && $(this).attr("type") != "file" && !$(this).hasClass("ignore")) {
|
|
hasEmpty = true;
|
|
console.log($(this))
|
|
}
|
|
});
|
|
|
|
if (hasEmpty) {
|
|
swal(
|
|
"Atenção",
|
|
"Preencha todos os campos antes de adicionar novos.",
|
|
"warning"
|
|
);
|
|
return;
|
|
}
|
|
|
|
$("select.select2").select2("destroy");
|
|
var $tr = $elem.find(".dynamic-form").first();
|
|
var $clone = $tr.clone();
|
|
|
|
$clone.show();
|
|
|
|
$clone.find(".select2, .descricao, .valor_linha").val("");
|
|
$elem.find('.appends').append($clone);
|
|
|
|
setTimeout(() => {
|
|
|
|
$(".select2").select2({
|
|
language: "pt-BR",
|
|
width: "100%",
|
|
placeholder: "Selecione uma opção",
|
|
|
|
});
|
|
somaValores()
|
|
}, 200);
|
|
|
|
})
|
|
|
|
$(function(){
|
|
// somaValores()
|
|
somaRestante()
|
|
})
|
|
|
|
$('.valor_linha').blur(() => {
|
|
// somaValores()
|
|
somaRestante()
|
|
|
|
})
|
|
|
|
$(document).on("blur", ".valor_linha", function() {
|
|
// somaValores()
|
|
somaRestante()
|
|
})
|
|
|
|
function somaValores(){
|
|
let soma = 0
|
|
$('.valor_linha').each(function(e){
|
|
let v = convertMoedaToFloat($(this).val())
|
|
soma += v
|
|
$elem = $(this).closest(".dynamic-form").next();
|
|
|
|
if(!$elem[0]){
|
|
$elem2 = $(this).closest(".line-row").next();
|
|
$elem2.find('.soma-valor').text("R$ " + convertFloatToMoeda(soma))
|
|
soma = 0
|
|
}
|
|
|
|
})
|
|
}
|
|
|
|
function somaRestante(){
|
|
let soma = 0
|
|
$('.valor_linha').each(function(e){
|
|
let v = convertMoedaToFloat($(this).val())
|
|
soma += v
|
|
$elem = $(this).closest(".dynamic-form").next();
|
|
|
|
if(!$elem[0]){
|
|
$elem2 = $(this).closest(".line-row").next();
|
|
$total = $elem2.find('.valor_total').val()
|
|
let res = $total - soma
|
|
$elem2.find('.total-restante').text("R$ " + convertFloatToMoeda(res))
|
|
soma = 0
|
|
}
|
|
})
|
|
setTimeout(() => {
|
|
validaBtnStore()
|
|
}, 200);
|
|
|
|
}
|
|
|
|
function validaBtnStore(){
|
|
let isValid = true
|
|
$('.btn-store').attr('disabled', 1)
|
|
$('.total-restante').each(function(e){
|
|
let str = $(this).text().replace(/[^0-9,]*/g, '')
|
|
if(convertMoedaToFloat(str) > 0){
|
|
isValid = false
|
|
}
|
|
})
|
|
|
|
setTimeout(() => {
|
|
if(isValid){
|
|
$('.btn-store').removeAttr('disabled')
|
|
}
|
|
}, 200);
|
|
|
|
|
|
}
|
|
|
|
|
|
$('.btn-clone').on("click", function() {
|
|
console.clear()
|
|
var $elem = $(this)
|
|
.closest(".row")
|
|
.prev();
|
|
|
|
var hasEmpty = false;
|
|
|
|
$elem.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;
|
|
}
|
|
|
|
$(".select2-custom").select2("destroy");
|
|
var $tr = $elem.find(".dynamic-form").first();
|
|
var $clone = $tr.clone();
|
|
|
|
$clone.show();
|
|
|
|
$clone.find(".select2-custom, .descricao, .valor_linha").val("");
|
|
$elem.find('.appends').append($clone);
|
|
|
|
setTimeout(() => {
|
|
|
|
$(".select2-custom").select2({
|
|
language: "pt-BR",
|
|
width: "100%",
|
|
placeholder: "Selecione uma opção",
|
|
|
|
});
|
|
somaValores()
|
|
}, 200);
|
|
|
|
})
|
|
|
|
$(function(){
|
|
// somaValores()
|
|
somaRestante()
|
|
})
|
|
|
|
$('.valor_linha').blur(() => {
|
|
// somaValores()
|
|
somaRestante()
|
|
|
|
})
|
|
|
|
$(document).on("blur", ".valor_linha", function() {
|
|
// somaValores()
|
|
somaRestante()
|
|
})
|
|
|
|
function somaValores(){
|
|
let soma = 0
|
|
$('.valor_linha').each(function(e){
|
|
let v = convertMoedaToFloat($(this).val())
|
|
soma += v
|
|
$elem = $(this).closest(".dynamic-form").next();
|
|
|
|
if(!$elem[0]){
|
|
$elem2 = $(this).closest(".line-row").next();
|
|
$elem2.find('.soma-valor').text("R$ " + convertFloatToMoeda(soma))
|
|
soma = 0
|
|
}
|
|
|
|
})
|
|
}
|
|
|
|
function somaRestante(){
|
|
let soma = 0
|
|
$('.valor_linha').each(function(e){
|
|
let v = convertMoedaToFloat($(this).val())
|
|
soma += v
|
|
$elem = $(this).closest(".dynamic-form").next();
|
|
|
|
if(!$elem[0]){
|
|
$elem2 = $(this).closest(".line-row").next();
|
|
$total = $elem2.find('.valor_total').val()
|
|
let res = $total - soma
|
|
$elem2.find('.total-restante').text("R$ " + convertFloatToMoeda(res))
|
|
soma = 0
|
|
}
|
|
})
|
|
setTimeout(() => {
|
|
validaBtnStore()
|
|
}, 200);
|
|
|
|
}
|
|
|
|
function validaBtnStore(){
|
|
let isValid = true
|
|
$('.btn-store').attr('disabled', 1)
|
|
$('.total-restante').each(function(e){
|
|
let str = $(this).text().replace(/[^0-9,]*/g, '')
|
|
if(convertMoedaToFloat(str) > 0){
|
|
isValid = false
|
|
}
|
|
})
|
|
|
|
setTimeout(() => {
|
|
if(isValid){
|
|
$('.btn-store').removeAttr('disabled')
|
|
}
|
|
}, 200);
|
|
|
|
|
|
}
|
|
|
|
|