1756 lines
47 KiB
JavaScript
1756 lines
47 KiB
JavaScript
// Fix: Override backdrop functions to prevent white screen overlay
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
// Remove any existing custom-backdrop elements
|
|
var existingBackdrops = document.querySelectorAll('#custom-backdrop');
|
|
existingBackdrops.forEach(function(el) { el.remove(); });
|
|
|
|
// Observer to immediately remove any backdrop that gets added
|
|
var observer = new MutationObserver(function(mutations) {
|
|
mutations.forEach(function(mutation) {
|
|
mutation.addedNodes.forEach(function(node) {
|
|
if (node.id === 'custom-backdrop' ||
|
|
(node.classList && node.classList.contains('offcanvas-backdrop'))) {
|
|
node.style.display = 'none';
|
|
node.style.opacity = '0';
|
|
node.style.visibility = 'hidden';
|
|
}
|
|
});
|
|
});
|
|
});
|
|
observer.observe(document.body, { childList: true, subtree: false });
|
|
});
|
|
|
|
$('input[type=file]').change(() => {
|
|
var filename = $('input[type=file]').val().replace(/.*(\/|\\)/, '');
|
|
$('#filename').html(filename)
|
|
})
|
|
|
|
const btnTop = document.getElementById("btn-top");
|
|
if(btnTop){
|
|
window.addEventListener("scroll", () => {
|
|
if (window.scrollY > 300 || document.documentElement.scrollTop > 150) {
|
|
btnTop.style.display = "block";
|
|
} else {
|
|
btnTop.style.display = "none";
|
|
}
|
|
});
|
|
|
|
btnTop.addEventListener("click", () => {
|
|
window.scrollTo({ top: 0, behavior: 'smooth' });
|
|
});
|
|
|
|
window.addEventListener("scroll", () => {
|
|
if (window.scrollY > 300) btnTop.classList.add("show");
|
|
else btnTop.classList.remove("show");
|
|
});
|
|
}
|
|
|
|
|
|
$(document).ready(function() {
|
|
|
|
$('[data-contador]').each(function() {
|
|
let max = $(this).attr('maxlength') || 255;
|
|
let contador = $('<small class="contador text-muted d-block text-end"></small>');
|
|
contador.text(`0 / ${max}`);
|
|
$(this).after(contador);
|
|
$(this).on('input', function() {
|
|
let qtd = $(this).val().length;
|
|
contador.text(`${qtd} / ${max}`);
|
|
if (qtd >= max) {
|
|
contador.removeClass('text-muted').addClass('text-danger fw-bold');
|
|
} else {
|
|
contador.removeClass('text-danger fw-bold').addClass('text-muted');
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
var mask = "00";
|
|
|
|
var SPMaskBehavior = function (val) {
|
|
return val.replace(/\D/g, "").length === 11
|
|
? "(00) 00000-0000"
|
|
: "(00) 0000-00009";
|
|
},
|
|
spOptions = {
|
|
onKeyPress: function (val, e, field, options) {
|
|
field.mask(SPMaskBehavior.apply({}, arguments), options);
|
|
},
|
|
};
|
|
|
|
$(".fone").mask(SPMaskBehavior, spOptions);
|
|
|
|
// var cpfMascara = function (val) {
|
|
// return val.replace(/\D/g, "").length > 11
|
|
// ? "00.000.000/0000-00"
|
|
// : "000.000.000-009";
|
|
// },
|
|
// cpfOptions = {
|
|
// onKeyPress: function (val, e, field, options) {
|
|
// field.mask(cpfMascara.apply({}, arguments), options);
|
|
// }
|
|
// };
|
|
|
|
// $(document).on("focus", ".cpf_cnpj", function () {
|
|
// $(this).mask(cpfMascara, cpfOptions);
|
|
// });
|
|
|
|
// $(document).on("paste blur", ".cpf_cnpj", function () {
|
|
// let $this = $(this);
|
|
// console.log("po")
|
|
// setTimeout(() => {
|
|
// $this.mask(cpfMascara($this.val()), cpfOptions);
|
|
// }, 10);
|
|
// });
|
|
|
|
$(".cpf_cnpj").inputmask({
|
|
mask: ["999.999.999-99", "99.999.999/9999-99"], // CPF ou CNPJ
|
|
keepStatic: true, // escolhe automaticamente baseado no tamanho do valor
|
|
showMaskOnHover: false,
|
|
showMaskOnFocus: true,
|
|
clearIncomplete: true // limpa se não digitar todos os dígitos
|
|
});
|
|
|
|
var clickedIndex = 0;
|
|
$(document).on("click", ".click-left", function () {
|
|
var content = document.getElementsByClassName("navbar-collapse")[0];
|
|
if (clickedIndex > 0)
|
|
{
|
|
clickedIndex = clickedIndex -1;
|
|
content.style.marginLeft = -190*clickedIndex + "px";
|
|
}
|
|
})
|
|
|
|
$(".btn-action-form").on("click", function (e) {
|
|
// var form = $(this).parents("form")
|
|
// $(this).attr('disabled', 1)
|
|
// form.submit()
|
|
// setTimeout(() => {
|
|
// $(this).removeAttr('disabled')
|
|
// }, 2000)
|
|
})
|
|
|
|
$(document).on("click", ".click-right", function () {
|
|
|
|
var content = document.getElementsByClassName("navbar-collapse")[0];
|
|
if (clickedIndex < 5)
|
|
{
|
|
clickedIndex = clickedIndex +1;
|
|
content.style.marginLeft = -220*clickedIndex + "px";
|
|
}
|
|
})
|
|
|
|
|
|
$(document).on("focus", ".cnpj", function () {
|
|
$(this).mask("00.000.000/0000-00", { reverse: true })
|
|
});
|
|
|
|
$(document).on("focus", ".cpf", function () {
|
|
$(this).mask("000.000.000-00", { reverse: true })
|
|
});
|
|
|
|
$(document).on("focus", ".moeda", function () {
|
|
$(this).mask("00000000,00", { reverse: true })
|
|
});
|
|
|
|
$(document).on("focus", ".coordenada", function () {
|
|
$(this).mask("-00.0000000", {placeholder: "-11.1111111"})
|
|
});
|
|
|
|
$(document).on("focus", ".comissao", function () {
|
|
$(this).mask("000,00", { reverse: true })
|
|
});
|
|
|
|
$(document).on("focus", ".timer", function () {
|
|
$(this).mask("00:00", { reverse: true })
|
|
});
|
|
|
|
$(document).on("focus", ".integer", function () {
|
|
$(this).mask("0000", { reverse: true })
|
|
});
|
|
|
|
$(document).on("focus", ".qtd", function () {
|
|
let casas = ""
|
|
for(let i=0; i<casas_decimais_qtd;i++){
|
|
casas += "0"
|
|
}
|
|
$(this).mask("00000000,"+casas, { reverse: true })
|
|
});
|
|
|
|
$(document).on("focus", ".quantidade", function () {
|
|
$(this).mask("0000000.000", { reverse: true })
|
|
});
|
|
|
|
$(document).on("focus", ".peso", function () {
|
|
$(this).mask("00000000.000", { reverse: true })
|
|
});
|
|
|
|
$(document).on("focus", ".percentual", function () {
|
|
$(this).mask("000.00", { reverse: true })
|
|
});
|
|
|
|
$(document).on("focus", ".dimensao", function () {
|
|
$(this).mask("00000.00", { reverse: true })
|
|
});
|
|
$(document).on("focus", ".peso", function () {
|
|
$(this).mask("000000.000", { reverse: true })
|
|
});
|
|
|
|
$(function () {
|
|
|
|
$(".cep").mask("00000-000", { reverse: true });
|
|
$(".ncm").mask("0000.00.00", { reverse: true });
|
|
$(".cest").mask("00.000.00", { reverse: true });
|
|
$(".placa").mask("AAA-AAAA", { reverse: true });
|
|
$(".cfop").mask("0000", { reverse: true });
|
|
$(".ie").mask("00000000000000", { reverse: true });
|
|
|
|
$body = $("body");
|
|
|
|
$(document).on({
|
|
ajaxStart: function () {
|
|
$body.addClass("loading");
|
|
},
|
|
ajaxStop: function () {
|
|
$body.removeClass("loading");
|
|
}
|
|
});
|
|
|
|
$("input[required], select[required], textarea[required]").each(function () {
|
|
$(this)
|
|
.closest(".form-group, .mb-3, .col, .col-12, .col-md-6")
|
|
.find("label")
|
|
.first()
|
|
.addClass("required");
|
|
});
|
|
|
|
$("input.tooltipp, select.tooltipp, textarea.tooltipp")
|
|
.siblings("label")
|
|
.append('<button type="button" class="btn btn-link btn-tooltip btn-sm" data-toggle="tooltip" data-placement="top" title="Tooltip on top"><i class="ri-file-info-fill"></i></button>')
|
|
|
|
$(document).on("focus", "#chave_nfe", function () {
|
|
$(this).mask("0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000", {
|
|
reverse: true
|
|
});
|
|
});
|
|
|
|
$(document).on("focus", ".chave", function () {
|
|
$(this).mask("00000000000000000000000000000000000000000000", {
|
|
reverse: true
|
|
});
|
|
});
|
|
|
|
$("#datetime-datepicker2").flatpickr({ enableTime: !0, dateFormat: "Y-m-d H:i" })
|
|
|
|
if($('.text-tooltip')){
|
|
let texto = $('.text-tooltip').html()
|
|
$('.btn-tooltip').prop('title', texto)
|
|
$('.btn-tooltip').tooltip()
|
|
}
|
|
|
|
$("input.tooltipp2, select.tooltipp2, textarea.tooltipp2")
|
|
.siblings("label")
|
|
.append('<button type="button" class="btn btn-link btn-tooltip2 btn-sm" data-toggle="tooltip" data-placement="top" title="Tooltip on top"><i class="ri-file-info-fill"></i></button>')
|
|
|
|
if($('.text-tooltip2')){
|
|
let texto = $('.text-tooltip2').html()
|
|
|
|
$('.btn-tooltip2').prop('title', texto)
|
|
$('.btn-tooltip2').tooltip()
|
|
}
|
|
|
|
$("input.tooltipp3, select.tooltipp3, textarea.tooltipp3")
|
|
.siblings("label")
|
|
.append('<button type="button" class="btn btn-link btn-tooltip3 btn-sm" data-toggle="tooltip" data-placement="top" title="Tooltip on top"><i class="ri-file-info-fill"></i></button>')
|
|
|
|
if($('.text-tooltip3')){
|
|
let texto = $('.text-tooltip3').html()
|
|
|
|
$('.btn-tooltip3').prop('title', texto)
|
|
$('.btn-tooltip3').tooltip()
|
|
}
|
|
|
|
$("input.tooltipp4, select.tooltipp4, textarea.tooltipp4")
|
|
.siblings("label")
|
|
.append('<button type="button" class="btn btn-link btn-tooltip4 btn-sm" data-toggle="tooltip" data-placement="top" title="Tooltip on top"><i class="ri-file-info-fill"></i></button>')
|
|
|
|
if($('.text-tooltip4')){
|
|
let texto = $('.text-tooltip4').html()
|
|
|
|
$('.btn-tooltip4').prop('title', texto)
|
|
$('.btn-tooltip4').tooltip()
|
|
}
|
|
|
|
setTimeout(() => {
|
|
notifications()
|
|
videoSuporte()
|
|
|
|
//valida menu horizontal
|
|
// console.log($('.nav-horizontal').length)
|
|
if($('.nav-horizontal').length){
|
|
if($('.nav-item').length > 16){
|
|
$('.click-menu').removeClass('d-none')
|
|
}
|
|
}
|
|
}, 10)
|
|
|
|
});
|
|
|
|
function videoSuporte(){
|
|
let currentUrl = window.location.href
|
|
$.get(path_url + 'api/video-suporte', {url : currentUrl})
|
|
.done((success) => {
|
|
if(success){
|
|
$('.video').append(success)
|
|
}
|
|
})
|
|
.fail((err) => {
|
|
console.log(err)
|
|
})
|
|
}
|
|
|
|
function convertMoedaToFloat(value) {
|
|
if (!value) {
|
|
return 0;
|
|
}
|
|
|
|
var number_without_mask = value.replaceAll(".", "").replaceAll(",", ".");
|
|
return parseFloat(number_without_mask.replace(/[^0-9\.]+/g, ""));
|
|
}
|
|
|
|
function convertFloatToMoeda(value) {
|
|
value = parseFloat(value)
|
|
return value.toLocaleString("pt-BR", {
|
|
minimumFractionDigits: 2,
|
|
maximumFractionDigits: 2
|
|
});
|
|
}
|
|
|
|
$(".btn-delete").on("click", 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");
|
|
}
|
|
});
|
|
});
|
|
|
|
$(".btn-confirm").on("click", function (e) {
|
|
e.preventDefault();
|
|
var form = $(this).parents("form").attr("id");
|
|
swal({
|
|
title: "Você está certo?",
|
|
text: "Uma vez alterado, você não poderá voltar o estado desse item!",
|
|
icon: "warning",
|
|
buttons: true,
|
|
buttons: ["Cancelar", "OK"],
|
|
dangerMode: true,
|
|
}).then((isConfirm) => {
|
|
if (isConfirm) {
|
|
document.getElementById(form).submit();
|
|
} else {
|
|
swal("", "Este item não foi alterado", "info");
|
|
}
|
|
});
|
|
});
|
|
|
|
$(".select2").select2({
|
|
// theme: "bootstrap4",
|
|
width: $(this).data("width")
|
|
? $(this).data("width")
|
|
: $(this).hasClass("w-100")
|
|
? "100%"
|
|
: "style",
|
|
placeholder: $(this).data("placeholder"),
|
|
allowClear: Boolean($(this).data("allow-clear")),
|
|
});
|
|
|
|
$(".cidade_select2").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar a cidade",
|
|
width: "100%",
|
|
// theme: "bootstrap4",
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/buscaCidades",
|
|
dataType: "json",
|
|
data: function (params) {
|
|
console.clear();
|
|
var query = {
|
|
pesquisa: params.term,
|
|
};
|
|
return query;
|
|
},
|
|
processResults: function (response) {
|
|
var results = [];
|
|
|
|
$.each(response, function (i, v) {
|
|
var o = {};
|
|
o.id = v.id;
|
|
|
|
o.text = v.info;
|
|
o.value = v.id;
|
|
results.push(o);
|
|
});
|
|
return {
|
|
results: results,
|
|
};
|
|
},
|
|
},
|
|
});
|
|
|
|
$(".codigo_unico").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar o código",
|
|
width: "100%",
|
|
// theme: "bootstrap4",
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/produtos/codigo-unico",
|
|
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.codigo;
|
|
o.value = v.id;
|
|
results.push(o);
|
|
});
|
|
return {
|
|
results: results,
|
|
};
|
|
},
|
|
},
|
|
});
|
|
|
|
$("#inp-cidade_id").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar a cidade",
|
|
width: "100%",
|
|
// theme: "bootstrap4",
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/buscaCidades",
|
|
dataType: "json",
|
|
data: function (params) {
|
|
console.clear();
|
|
var query = {
|
|
pesquisa: params.term,
|
|
};
|
|
return query;
|
|
},
|
|
processResults: function (response) {
|
|
var results = [];
|
|
|
|
$.each(response, function (i, v) {
|
|
var o = {};
|
|
o.id = v.id;
|
|
|
|
o.text = v.info;
|
|
o.value = v.id;
|
|
results.push(o);
|
|
});
|
|
return {
|
|
results: results,
|
|
};
|
|
},
|
|
},
|
|
});
|
|
|
|
$("#inp-medico_id").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar o médico",
|
|
width: "100%",
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/ordemServico/medicos",
|
|
dataType: "json",
|
|
data: function (params) {
|
|
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-usuario_id").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar o usuário",
|
|
width: "100%",
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/usuarios",
|
|
dataType: "json",
|
|
data: function (params) {
|
|
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.name;
|
|
o.value = v.id;
|
|
results.push(o);
|
|
});
|
|
return {
|
|
results: results,
|
|
};
|
|
},
|
|
},
|
|
});
|
|
|
|
$("#inp-convenio_id").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar o convênio",
|
|
width: "100%",
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/ordemServico/convenios",
|
|
dataType: "json",
|
|
data: function (params) {
|
|
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-tipo_armacao_id").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar o tipo de armação",
|
|
width: "100%",
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/ordemServico/tipos-armacao",
|
|
dataType: "json",
|
|
data: function (params) {
|
|
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-laboratorio_id").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar o laboratório",
|
|
width: "100%",
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/ordemServico/laboratorios",
|
|
dataType: "json",
|
|
data: function (params) {
|
|
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-plano_conta_id").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar o plano",
|
|
width: "100%",
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/planos-conta",
|
|
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.descricao;
|
|
o.value = v.id;
|
|
results.push(o);
|
|
});
|
|
return {
|
|
results: results,
|
|
};
|
|
},
|
|
},
|
|
});
|
|
|
|
$("#inp-conta_empresa_id").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar a conta",
|
|
width: "100%",
|
|
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-categoria_nuvem_shop").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar a categoria da nuvem shop",
|
|
width: "100%",
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/nuvemshop/get-categorias",
|
|
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.nome;
|
|
o.value = v._id;
|
|
results.push(o);
|
|
});
|
|
return {
|
|
results: results,
|
|
};
|
|
},
|
|
},
|
|
});
|
|
|
|
$("#inp-mercado_livre_categoria").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar a categoria do anúncio",
|
|
width: "100%",
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/mercadolivre/get-categorias",
|
|
dataType: "json",
|
|
data: function (params) {
|
|
console.clear();
|
|
var query = {
|
|
pesquisa: params.term,
|
|
};
|
|
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-ncm").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar o NCM",
|
|
width: "100%",
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/ncm",
|
|
dataType: "json",
|
|
data: function (params) {
|
|
console.clear();
|
|
|
|
var query = {
|
|
pesquisa: params.term,
|
|
};
|
|
return query;
|
|
},
|
|
processResults: function (response) {
|
|
var results = [];
|
|
|
|
$.each(response, function (i, v) {
|
|
var o = {};
|
|
o.id = v.codigo;
|
|
if(v.codigo.length != 10){
|
|
o.disabled = 1;
|
|
}
|
|
|
|
o.text = v.descricao
|
|
o.value = v.codigo;
|
|
results.push(o);
|
|
});
|
|
return {
|
|
results: results,
|
|
};
|
|
},
|
|
},
|
|
});
|
|
|
|
|
|
$("#inp-empresa").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar a empresa",
|
|
width: "100%",
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/empresas/find-all",
|
|
dataType: "json",
|
|
data: function (params) {
|
|
|
|
var query = {
|
|
pesquisa: params.term,
|
|
};
|
|
return query;
|
|
},
|
|
processResults: function (response) {
|
|
var results = [];
|
|
|
|
$.each(response, function (i, v) {
|
|
var o = {};
|
|
o.id = v.id;
|
|
|
|
o.text = v.info;
|
|
o.value = v.id;
|
|
results.push(o);
|
|
});
|
|
return {
|
|
results: results,
|
|
};
|
|
},
|
|
},
|
|
});
|
|
|
|
$("#inp-servico_id").select2({
|
|
minimumInputLength: 1,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar o seviço",
|
|
width: "100%",
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/servicos",
|
|
dataType: "json",
|
|
data: function (params) {
|
|
let empresa_id = $('#empresa_id').val()
|
|
console.clear();
|
|
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.numero_sequencial + ' ' + v.nome + ' R$ ' + convertFloatToMoeda(v.valor);
|
|
o.value = v.id;
|
|
results.push(o);
|
|
});
|
|
return {
|
|
results: results,
|
|
};
|
|
},
|
|
},
|
|
});
|
|
|
|
$("#inp-veiculo_id").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar o veículo",
|
|
width: "100%",
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/veiculos",
|
|
dataType: "json",
|
|
data: function (params) {
|
|
let empresa_id = $('#empresa_id').val()
|
|
console.clear();
|
|
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.placa + ' - ' + v.modelo;
|
|
o.value = v.id;
|
|
results.push(o);
|
|
});
|
|
return {
|
|
results: results,
|
|
};
|
|
},
|
|
},
|
|
});
|
|
|
|
$("#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,
|
|
usuario_id: $('#usuario_id').val()
|
|
};
|
|
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
|
|
}
|
|
|
|
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,
|
|
};
|
|
},
|
|
},
|
|
});
|
|
|
|
$(".produtos_filtro").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar o produto",
|
|
width: "100%",
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/produtos-filtro",
|
|
dataType: "json",
|
|
data: function (params) {
|
|
let empresa_id = $('#empresa_id').val()
|
|
console.clear();
|
|
var query = {
|
|
pesquisa: params.term,
|
|
empresa_id: empresa_id,
|
|
};
|
|
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
|
|
}
|
|
|
|
o.text = v.nome
|
|
o.value = v.id;
|
|
results.push(o);
|
|
});
|
|
return {
|
|
results: results,
|
|
};
|
|
},
|
|
},
|
|
});
|
|
|
|
$("#inp-produto_composto_id").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar o produto composto",
|
|
width: "100%",
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/produtos-composto",
|
|
dataType: "json",
|
|
data: function (params) {
|
|
let empresa_id = $('#empresa_id').val()
|
|
console.clear();
|
|
var query = {
|
|
pesquisa: params.term,
|
|
empresa_id: empresa_id
|
|
};
|
|
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
|
|
}
|
|
|
|
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,
|
|
};
|
|
},
|
|
},
|
|
});
|
|
|
|
$("#inp-produto_combo_id").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para adicionar o produto no combo",
|
|
width: "100%",
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/produtos-combo",
|
|
dataType: "json",
|
|
data: function (params) {
|
|
let empresa_id = $('#empresa_id').val()
|
|
console.clear();
|
|
var query = {
|
|
pesquisa: params.term,
|
|
empresa_id: empresa_id
|
|
};
|
|
return query;
|
|
},
|
|
processResults: function (response) {
|
|
var results = [];
|
|
let compra = 0
|
|
|
|
|
|
$.each(response, function (i, v) {
|
|
var o = {};
|
|
o.id = v.id;
|
|
if(v.codigo_variacao){
|
|
o.codigo_variacao = v.codigo_variacao
|
|
}
|
|
|
|
o.text = v.nome
|
|
|
|
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,
|
|
};
|
|
},
|
|
},
|
|
});
|
|
|
|
$("#inp-produto_delivery_id").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar o produto de delivery",
|
|
width: "100%",
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/produtos/delivery",
|
|
dataType: "json",
|
|
data: function (params) {
|
|
let empresa_id = $('#empresa_id').val()
|
|
console.clear();
|
|
var query = {
|
|
pesquisa: params.term,
|
|
empresa_id: empresa_id
|
|
};
|
|
return query;
|
|
},
|
|
processResults: function (response) {
|
|
var results = [];
|
|
let compra = 0
|
|
|
|
|
|
$.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-empresa_contador_id").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar a empresa",
|
|
width: "100%",
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/empresas",
|
|
dataType: "json",
|
|
data: function (params) {
|
|
console.clear();
|
|
var query = {
|
|
pesquisa: params.term,
|
|
};
|
|
return query;
|
|
},
|
|
processResults: function (response) {
|
|
var results = [];
|
|
|
|
$.each(response, function (i, v) {
|
|
|
|
var o = {};
|
|
o.id = v.id;
|
|
o.text = v.info
|
|
results.push(o);
|
|
});
|
|
return {
|
|
results: results,
|
|
};
|
|
},
|
|
},
|
|
});
|
|
|
|
$("#inp-ingrediente_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
|
|
};
|
|
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-funcionario_id").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar o funcionário",
|
|
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/funcionarios/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.nome;
|
|
o.value = v.id;
|
|
results.push(o);
|
|
});
|
|
return {
|
|
results: results,
|
|
};
|
|
},
|
|
},
|
|
});
|
|
|
|
$("#inp-cliente_id").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar o cliente",
|
|
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/clientes/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.numero_sequencial+"] " + v.razao_social + " - " + v.cpf_cnpj;
|
|
o.value = v.id;
|
|
results.push(o);
|
|
});
|
|
return {
|
|
results: results,
|
|
};
|
|
},
|
|
},
|
|
});
|
|
|
|
$("#inp-cliente_delivery_id").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar o cliente",
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/clientes/pesquisa-delivery",
|
|
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.telefone;
|
|
o.value = v.id;
|
|
results.push(o);
|
|
});
|
|
return {
|
|
results: results,
|
|
};
|
|
},
|
|
},
|
|
});
|
|
|
|
$(".cliente_id").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar o cliente",
|
|
allowClear: true,
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/clientes/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.numero_sequencial+"] " + v.razao_social + " - " + v.cpf_cnpj;
|
|
o.value = v.id;
|
|
results.push(o);
|
|
});
|
|
return {
|
|
results: results,
|
|
};
|
|
},
|
|
},
|
|
});
|
|
|
|
$("#inp-fornecedor_id").select2({
|
|
minimumInputLength: 2,
|
|
language: "pt-BR",
|
|
placeholder: "Digite para buscar o fornecedor",
|
|
ajax: {
|
|
cache: true,
|
|
url: path_url + "api/fornecedores/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.numero_sequencial+"] " + v.razao_social + " - " + v.cpf_cnpj;
|
|
o.value = v.id;
|
|
results.push(o);
|
|
});
|
|
return {
|
|
results: results,
|
|
};
|
|
},
|
|
},
|
|
});
|
|
|
|
|
|
$('.button-toggle-menu').on("click", function () {
|
|
|
|
$.post(path_url+'api/usuarios/set-sidebar',{ usuario_id: $('#usuario_id').val() })
|
|
.done((success) => {
|
|
})
|
|
.fail((err) => {
|
|
console.log(err)
|
|
})
|
|
})
|
|
|
|
$('.btn-add-tr').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;
|
|
}
|
|
// $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();
|
|
} else {
|
|
swal("Atenção", "Você deve ter ao menos um item na lista", "warning");
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
$(".multi-select").bootstrapDualListbox({
|
|
nonSelectedListLabel: "Disponíveis",
|
|
selectedListLabel: "Selecionados",
|
|
filterPlaceHolder: "Filtrar",
|
|
filterTextClear: "Mostrar Todos",
|
|
moveSelectedLabel: "Mover Selecionados",
|
|
moveAllLabel: "Mover Todos",
|
|
removeSelectedLabel: "Remover Selecionado",
|
|
removeAllLabel: "Remover Todos",
|
|
infoText: "Mostrando Todos - {0}",
|
|
infoTextFiltered:
|
|
'<span class="label label-warning">Filtrado</span> {0} DE {1}',
|
|
infoTextEmpty: "Sem Dados",
|
|
moveOnSelect: false,
|
|
selectorMinimalHeight: 300
|
|
});
|
|
|
|
function notifications(){
|
|
|
|
if($('#empresa_id').val()){
|
|
$.get(path_url + "api/notificacoes-alertas", {empresa_id: $('#empresa_id').val()})
|
|
.done((success) => {
|
|
$('.spinner-border').addClass('d-none')
|
|
if(success.length > 0){
|
|
$('.noti-icon-badge').removeClass('d-none')
|
|
}
|
|
$('.alertas-main').html(success)
|
|
})
|
|
.fail((err) => {
|
|
$('.spinner-border').addClass('d-none')
|
|
|
|
})
|
|
}else{
|
|
if($('#usuario_id').val()){
|
|
|
|
$.get(path_url + "api/notificacoes-alertas-super", {usuario_id: $('#usuario_id').val()})
|
|
.done((success) => {
|
|
$('.spinner-border').addClass('d-none')
|
|
if(success.length > 0){
|
|
$('.noti-icon-badge').removeClass('d-none')
|
|
}
|
|
$('.alertas-main').html(success)
|
|
})
|
|
.fail((err) => {
|
|
$('.spinner-border').addClass('d-none')
|
|
|
|
})
|
|
$('.spinner-border').addClass('d-none')
|
|
}
|
|
}
|
|
}
|
|
|
|
const wrapper = document.querySelector(".tabela-scroll");
|
|
const btn = document.getElementById("scrollToggle2");
|
|
|
|
if (wrapper && btn) {
|
|
|
|
let direcao = 1;
|
|
|
|
function verificarVisibilidade2() {
|
|
// console.log(wrapper.scrollWidth)
|
|
if (wrapper.scrollWidth > wrapper.clientWidth + 20) {
|
|
btn.classList.remove("hidden");
|
|
} else {
|
|
btn.classList.add("hidden");
|
|
}
|
|
}
|
|
|
|
btn.addEventListener("click", () => {
|
|
const passo = 300 * direcao;
|
|
|
|
wrapper.scrollBy({
|
|
left: passo,
|
|
behavior: "smooth"
|
|
});
|
|
|
|
setTimeout(() => {
|
|
const chegouInicio = wrapper.scrollLeft <= 5;
|
|
const chegouFim = wrapper.scrollLeft + wrapper.clientWidth >= wrapper.scrollWidth - 5;
|
|
|
|
if (chegouFim) {
|
|
direcao = -1;
|
|
btn.innerHTML = '<i class="ri-arrow-left-circle-line"></i>';
|
|
} else if (chegouInicio) {
|
|
direcao = 1;
|
|
btn.innerHTML = '<i class="ri-arrow-right-circle-line"></i>';
|
|
}
|
|
}, 400);
|
|
});
|
|
|
|
window.addEventListener("resize", verificarVisibilidade2);
|
|
|
|
window.addEventListener("load", () => {
|
|
setTimeout(verificarVisibilidade2, 450);
|
|
});
|
|
}
|
|
|
|
$('input.moeda').each(function () {
|
|
|
|
if ($(this).closest('table').length) {
|
|
return;
|
|
}
|
|
|
|
let tipo = $(this).attr('type');
|
|
|
|
if ((tipo === 'tel' || tipo === 'text') && !$(this).parent().hasClass('input-group')) {
|
|
|
|
$(this).wrap('<div class="input-group input-money"></div>');
|
|
$(this).before('<span class="input-group-text">R$</span>');
|
|
$(this).addClass('form-control');
|
|
}
|
|
});
|
|
|
|
$('input.percentual').each(function () {
|
|
|
|
if ($(this).closest('table').length) {
|
|
return;
|
|
}
|
|
|
|
let tipo = $(this).attr('type');
|
|
|
|
if ((tipo === 'tel' || tipo === 'text') && !$(this).parent().hasClass('input-group')) {
|
|
|
|
$(this).wrap('<div class="input-group input-percentual"></div>');
|
|
$(this).before('<span class="input-group-text">%</span>');
|
|
$(this).addClass('form-control');
|
|
}
|
|
});
|
|
|
|
$(document).ready(function () {
|
|
|
|
function temFiltroAtivo() {
|
|
const params = new URLSearchParams(window.location.search);
|
|
|
|
for (const [key, value] of params.entries()) {
|
|
|
|
if (key === 'status' && value === '1') {
|
|
continue;
|
|
}
|
|
|
|
if (value && value.trim() !== '') {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
const box = $('.filtros-container');
|
|
const btn = $('.btn-toggle-filtros');
|
|
|
|
if (temFiltroAtivo()) {
|
|
box.show();
|
|
btn.html('<i class="ri-close-line"></i> Ocultar');
|
|
}
|
|
|
|
$('.btn-toggle-filtros').on('click', function () {
|
|
|
|
if (box.is(':visible')) {
|
|
box.hide();
|
|
$(this).html('<i class="ri-filter-3-line"></i> Filtros');
|
|
} else {
|
|
box.show();
|
|
$(this).html('<i class="ri-close-line"></i> Ocultar');
|
|
}
|
|
});
|
|
});
|
|
|
|
(function(){
|
|
let portalMenu = null;
|
|
let portalOwner = null;
|
|
|
|
function closePortal(){
|
|
if (!portalMenu) return;
|
|
portalMenu.remove();
|
|
portalMenu = null;
|
|
portalOwner = null;
|
|
}
|
|
|
|
function openPortal(owner){
|
|
closePortal();
|
|
|
|
const btn = owner.querySelector('.btn-acoes');
|
|
const menu = owner.querySelector('.dropdown-menu');
|
|
if (!btn || !menu) return;
|
|
|
|
portalOwner = owner;
|
|
portalMenu = menu.cloneNode(true);
|
|
|
|
portalMenu.classList.add('show');
|
|
portalMenu.style.position = 'fixed';
|
|
portalMenu.style.zIndex = 3000;
|
|
|
|
document.body.appendChild(portalMenu);
|
|
|
|
const r = btn.getBoundingClientRect();
|
|
|
|
const mw = portalMenu.offsetWidth;
|
|
portalMenu.style.top = (r.bottom + 6) + 'px';
|
|
const OFFSET_X = 90;
|
|
portalMenu.style.left = Math.max(8, (r.right - mw + OFFSET_X)) + 'px';
|
|
|
|
setTimeout(() => {
|
|
document.addEventListener('mousedown', onOutside, { once:false });
|
|
window.addEventListener('scroll', closePortal, { once:true, passive:true });
|
|
window.addEventListener('resize', closePortal, { once:true });
|
|
}, 0);
|
|
}
|
|
|
|
function onOutside(e){
|
|
if (!portalMenu) return;
|
|
if (portalMenu.contains(e.target)) return;
|
|
closePortal();
|
|
document.removeEventListener('mousedown', onOutside);
|
|
}
|
|
|
|
|
|
document.addEventListener('click', function(e){
|
|
const btn = e.target.closest('.dropdown-portal .btn-acoes');
|
|
if (!btn) return;
|
|
|
|
e.preventDefault();
|
|
const owner = btn.closest('.dropdown-portal');
|
|
if (portalMenu && portalOwner === owner) {
|
|
closePortal();
|
|
return;
|
|
}
|
|
openPortal(owner);
|
|
});
|
|
|
|
document.addEventListener('click', function(e){
|
|
const item = e.target.closest('.btn-lote-validade');
|
|
if (!item || !portalMenu) return;
|
|
|
|
e.preventDefault();
|
|
|
|
const id = item.dataset.id;
|
|
closePortal();
|
|
|
|
if (typeof infoVencimento === 'function') infoVencimento(id);
|
|
const modalEl = document.getElementById('info_vencimento');
|
|
if (modalEl) bootstrap.Modal.getOrCreateInstance(modalEl).show();
|
|
});
|
|
|
|
document.addEventListener('click', function(e){
|
|
const del = e.target.closest('.btn-delete');
|
|
if (!del || !portalMenu) return;
|
|
e.preventDefault();
|
|
const id = del.dataset.id;
|
|
closePortal();
|
|
document.getElementById('form-'+id)?.submit();
|
|
});
|
|
|
|
})();
|
|
|