arcadiasuite/plus/public/js/conta_empresa.js

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);
}