class Web { static init() { Web.warningMessage = "Si abandonas ahora la web se perderán los cambios realizados."; Web.warningMessageActivated = false; $(document).ready(function() { $("form.check-change").on("change", "select, input, textarea", function() { Web.activateDeactivateWarning(true); }); //$(".bloqueLegalCookiesEnlaceMasInfo, .masInfoCookie").attr("href", "politica-cookies/").attr("target", "_blank"); $(".tooltipStandardHTML").not(".tooltipstered").tooltipster({ animation: 'grow', interactive: true, position: 'bottom', contentAsHTML: true }); }); } static initInicio() { $(document).ready(function() { $(".carousel-servicios").each(function(i, e) { let to = null; let itemCarousel = $(e); const numItems = itemCarousel.find(".item-servicio").length; if (itemCarousel.length) { itemCarousel.owlCarousel({ smartSpeed: 650, loop:false, checkVisible:false, margin: 30, nav:true, lazyLoad: true, navText: [ '', '', ], dots: false, mouseDrag: false, items:1, responsive: { 0: { items: 1, margin: 30, mouseDrag: true, loop: true, stagePadding: 65, }, 576: { mouseDrag: numItems > 2 ? true : false, loop: numItems > 2 ? true : false, items: 2 }, 768: { mouseDrag: false, loop: numItems > 3 ? true : false, items: 3 }, }, onTranslate: function(e) { itemCarousel.removeClass("owl-shadow"); clearTimeout(to); to = setTimeout(function(){itemCarousel.addClass("owl-shadow");}, 400); }, onDrag: function(e) { itemCarousel.removeClass("owl-shadow"); }, }); } }); let itemCarousel2 = $(".carousel-noticias"); const numItems2 = itemCarousel2.find(".itemNoticia").length; if (itemCarousel2.length) { itemCarousel2.owlCarousel({ smartSpeed: 650, loop:false, checkVisible:false, margin: 30, lazyLoad: true, nav:false, dots: false, mouseDrag: false, items:1, responsive: { 0: { items: 1.5, margin: 30, mouseDrag: true, loop: true, }, 576: { mouseDrag: numItems2 > 2 ? true : false, touchDrag: numItems2 > 2 ? true : false, loop: numItems2 > 2 ? true : false, items: 2 }, 768: { mouseDrag: false, touchDrag: false, loop: numItems2 > 3 ? true : false, items: 3 }, }, onTranslate: function(e) { itemCarousel2.removeClass("owl-shadow"); clearTimeout(to); to = setTimeout(function () { itemCarousel2.addClass("owl-shadow"); }, 400); }, onDrag: function(e) { itemCarousel2.removeClass("owl-shadow"); }, }); } let itemCarousel3 = $("#nuestros-clientes"); const numItems3 = itemCarousel3.find(".item-cliente").length; if (itemCarousel3.length) { itemCarousel3.owlCarousel({ margin: 75, nav: false, dots: false, lazyLoad: true, loop: numItems3 > 5 ? true : false, autoWidth: true, autoplay: true, autoplayTimeout: 4000, autoplayHoverPause: true }); } }); } static initGaleria() { $(document).ready(function () { $(".item-galeria").simpleLightbox({maxZoom: 2}); }); } static initContacto() { var validacion; $(document).ready(function(e) { $("#btnEnviarContacto").click(enviarFormulario); var opciones_validacion = {showLabels: false}; validacion = $("#formContacto").validate(opciones_validacion); }); function enviarFormulario(event) { event.preventDefault(); var extraMsg = ""; if (!$("#politica").is(":checked")) { extraMsg = $("#politica").attr("title"); } Utils.sendStandardAjax("formContacto", "ajax/Contacto.enviar.php", { extraErroresForm: extraMsg, successCallback: null, resetFormOnSuccess: true, }); } } static initTexto() { $("document").ready(function() { //$(".textoSeccion a").attr("target", "_blank"); $(".textoSeccion a[href^='tel']").removeAttr("target"); $(".textoSeccion img[style^='float: left'], .textoSeccion img[style^='float:left']").addClass("margin-right-20 margin-bottom-20 img-float"); $(".textoSeccion img[style^='float: right'], .textoSeccion img[style^='float:right']").addClass("margin-left-20 margin-bottom-20 img-float"); $(".textoSeccion img:not(.imagenDerecha)").addClass("img-fluid").css("max-width", "100%").css("height", "auto").css("object-fit", "cover"); }); } static initBanner() { $(document).ready(function () { if ($('#carousel-banner').length) { $('#carousel-banner').owlCarousel({ animateOut: 'fadeOut', animateIn: 'fadeIn', loop:true, margin:0, nav:true, navText: [ '', '', ], dots:false, mouseDrag: false, smartSpeed: 900, autoplay: true, autoplayTimeout: 7000, items:1, }); } }); } } $(document).ready(function() { if ($.fn.dataTable != undefined) { $.fn.dataTable.ext.errMode = function ( settings, helpPage, message ) { $.notify( { title: "Error: ", message: "Se ha producido un error inesperado", }, { type: 'danger', placement: { from: "top", align: "center" }, delay: 10000 }); }; $.extend($.fn.dataTable.defaults, { "language": { "sProcessing": "Procesando...", "sLengthMenu": "Mostrar _MENU_", "sZeroRecords": "No se han encontrado resultados", "sEmptyTable": "Sin datos todavía", "sInfo": "_START_-_END_ de _TOTAL_", "sInfoEmpty": "Todavía no hay datos", "sInfoFiltered": "(filtrado de _MENU_ entradas)", "sSearchPlaceholder": "Buscar", "sInfoPostFix": "", "sSearch": "", "sUrl": "", "oPaginate": { "sFirst": " ", "sPrevious": " ", "sNext": " ", "sLast": " " }, "buttons":{ "colvis":"Columnas" } } }); } }); /* ClassBlockUI.abrirBlockUIEstandar(contenedorIDAMostrar[, accionCerrar, headerText, extraClass, restaurarElemento]); ClassBlockUI.abrirBlockUIEstandarMensaje(mensaje[, isAlertOrButtons, onClose]); ClassBlockUI.abrirBlockUIConfirm(mensaje, textoBotonAceptar, accionBotonAceptar, textoBotonCancelar[, accionBotonCancelar]); //accionBotonCancelar="close" ClassBlockUI.abrirBlockUIEsperePorFavor:([mensaje]); */ var ClassBlockUI = { restaurarElemento: function() { var data = $("body").data('blockUIEstandar.history'); if (data) { data.el.style.display = data.display; data.el.style.position = data.position; if (data.parent) data.parent.appendChild(data.el); $("body").removeData('blockUIEstandar.history'); $("#"+data.generatedId).remove(); } }, abrirBlockUIEstandar: function(contenedorIDAMostrar, accionCerrar, headerText, extraClass, restaurarElemento) { $(".modalAutoHide").modal("hide"); if($(".modal").length>0){$("body").addClass("modal-open")} if(contenedorIDAMostrar == undefined || $("#"+contenedorIDAMostrar).length == 0){return;} //var blockUIId="blockUI_"+new Date().getTime(); var blockUIId="blockUI_"+contenedorIDAMostrar; extraClass = extraClass == undefined ? "" : extraClass; //modal-lg var object = $("#"+contenedorIDAMostrar); var node = object[0]; var data = {}; $("body").data('blockUIEstandar.history', data); data.el = node; data.parent = node.parentNode; data.display = node.style.display; data.position = node.style.position; data.generatedId = blockUIId; data.object = object; if (data.parent) data.parent.removeChild(node); var header = headerText != undefined ? headerText : ""; var message = ''+ ''; $("body").append(message); var modal = $("#"+blockUIId); modal.find(".modal-body").append(node); modal.find(".modal-dialog").addClass("jackInTheBox"); modal.on('hidden.bs.modal', function () { if (restaurarElemento !== false) ClassBlockUI.restaurarElemento(); }) var myModal = new bootstrap.Modal($(modal)[0], { keyboard: false }) myModal.show(); if(accionCerrar==undefined) //boton cerrar tiene accion por defecto { $("#"+blockUIId+" .btnCerrarModalEquis").click(function(){ myModal.hide(); if($(".modal").length>0){$("body").addClass("modal-open")} }); } else if(accionCerrar==false) //oculta el boton cerrar { $("#"+blockUIId+" .btnCerrarModalEquis").hide(); } else //boton cerrar con accion especial { $("#"+blockUIId+" .btnCerrarModalEquis").click(accionCerrar); } return modal; }, abrirBlockUIEstandarMensaje: function(mensaje, isAlertOrButtons, onClose, extraClass, title) { $(".modalAutoHide").modal("hide"); if($(".modal").length>0){$("body").addClass("modal-open")} var blockUIId="blockUI_"+new Date().getTime(); extraClass = extraClass == null || extraClass == undefined ? "" : extraClass; //modal-lg title = title == null || title == undefined ? "Aviso" : title; if(isAlertOrButtons==undefined) isAlertOrButtons=false; if(onClose==undefined) onClose=false; var botonera = ""; var botoneraEspecial = false; if(isAlertOrButtons === false) { botonera = ""; } else if (isAlertOrButtons === true) { botonera = "
Aceptar
"; } else { botoneraEspecial = true; botonera = "
"; for(var index in isAlertOrButtons) { botonera += " "+isAlertOrButtons[index]["text"]+" "; } botonera += "
"; } var message = ''; message += ''; $("body").append(message); var modal = $("#"+blockUIId); modal.find(".modal-dialog").css("animation-duration", "500ms").addClass("zoomIn"); modal.on('hidden.bs.modal', function () { modal.remove(); }) var myModal = new bootstrap.Modal($(modal)[0], { keyboard: false }); myModal.show(); //Acciones de los botones especiales if(botoneraEspecial) { for(var index in isAlertOrButtons) { if(isAlertOrButtons[index]["action"] == "close") { isAlertOrButtons[index]["action"] = function(){ myModal.hide(); if($(".modal").length>0){$("body").addClass("modal-open")} }; } $("#"+blockUIId+" ."+index).unbind("click").click(isAlertOrButtons[index]["action"]); } } var fnOnClose; if(onClose==false) { fnOnClose = function(){ myModal.hide(); if($(".modal").length>0){$("body").addClass("modal-open")} }; } else if (typeof onClose === "function") { fnOnClose = function(){onClose()}; } else if (onClose == "location") { fnOnClose = function(){window.location.reload()}; } else if (onClose == "back") { fnOnClose = function(){history.go(-1);}; } else { fnOnClose = function(){window.location = onClose}; } $("#"+blockUIId+" .btnCerrarBlockUIAlert, #"+blockUIId+" .btnCerrarModalEquis").unbind("click").click(fnOnClose); return modal; }, abrirBlockUIConfirm: function(mensaje, textoAceptar, accionAceptar, textoCancelar, accionCancelar, extraClass, title) { accionCancelar = accionCancelar == undefined ? "close" : accionCancelar; extraClass = extraClass == null || extraClass == undefined ? "" : extraClass; var buttons = { "btnAceptarBUI_CONFIRM": { "text": textoAceptar, "action": accionAceptar }, "btnCancelarBUI_CONFIRM": { "text": textoCancelar, "action": accionCancelar } }; return ClassBlockUI.abrirBlockUIEstandarMensaje(mensaje, buttons, false, extraClass, title); }, abrirBlockUIEsperePorFavor: function(mensaje) { if(mensaje == undefined){ mensaje = "
Espera por favor...
"; }; return ClassBlockUI.abrirBlockUIEstandarMensaje(mensaje, undefined, false, "modalEspere"); } }; var ClassUsuarios = { guardaClaveOlvidoPass: function () { var opciones_validacion= { showLabels: false, rules: { passwordOlvido: { required: true, minlength: 6 }, password2: { equalTo: "#passwordOlvido" } } }; Utils.sendStandardAjax("form_olvido", "ajax/Usuarios.guardaClave.php?CSRF="+CSRF, {opcionesValidacion: opciones_validacion, successCallback: ""}); }, enviarOlvido: function() { Utils.sendStandardAjax("frmEnviarOlvido", "ajax/Usuarios.olvidarContrasena.php", {successCallback: null, resetFormOnSuccess: true}); }, initAcceso: function() { let validacionLogin; $(document).ready(function() { $("#btnAcceder").click(login); $("#emailLogin").pressEnter(login); $("#passwordLogin").pressEnter(login); const opciones_validacion_login = {showLabels: false}; validacionLogin = $("#frmLogin").validate(opciones_validacion_login); }); function login() { var validation = $("#frmLogin").valid(); if(!validation) { ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor, revisa los campos porque se han detectado los siguientes errores

"+validacionLogin.invalidMessages("
"), true, undefined, ""); return; } var opcionesDatos = { type:"POST", dataType:"json", url:"ajax/Usuarios.login.php", data: $("#frmLogin").serialize(), success: function(data, textStatus, XMLHttpRequest) { //Registro a mitad if(data["error_number"]>=0) { window.location = data["urlOnLogin"].replace(/&/,"&"); } //Login error else { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined, ""); $("#passwordLogin").val(""); } } }; ClassBlockUI.abrirBlockUIEsperePorFavor(); $.ajax(opcionesDatos); } }, initOlvido: function () { $(document).ready(function () { $("#btnEnviarOlvido").click(ClassUsuarios.enviarOlvido); }); }, initConfirmarOlvido: function () { $(document).ready( function () { $(".btnEnviarNuevoPass").click(ClassUsuarios.guardaClaveOlvidoPass); $("#password2").pressEnter(ClassUsuarios.guardaClaveOlvidoPass); }); } }; class ClassWeb { static actualizarTarifaOferta(productoDual) { let tarifa = productoDual === false ? $("#frmContratoIdTarifa") : $("#frmDualIdTarifa"); let oferta = productoDual === false ? $("#frmContratoIdOferta") : $("#frmDualIdOferta"); let idCompania = productoDual === false ? $("#frmContratoIdCompania").val() : $("#frmDualIdCompania").val(); let idProducto = productoDual === false ? $("#frmContratoIdProducto").val() : $("#frmDualIdProducto").val(); let idTipoTarifa = productoDual === false ? $("#frmContratoIdTipoTarifa").val() : $("#frmDualIdTipoTarifa").val(); ClassWeb.actualizarTarifaOfertaInput(tarifa, oferta, idCompania, idProducto, idTipoTarifa); }; static actualizarTarifaOfertaInput(tarifa, oferta, idCompania, idProducto, idTipoTarifa, idTarifaSelected = undefined, idOfertaSelected = undefined) { let bootStrapSelect = false; let previousTarifa = tarifa.val(); tarifa.empty(); tarifa.append(""); oferta.empty(); oferta.append(""); let esperePorFavor = Utils.sendStandardAjax(null, "ajax/Companias.tarifasOfertas.php?idCompania=" + idCompania + "&idProducto=" + idProducto+"&idTipoTarifa="+idTipoTarifa, { "successCallback": function (data, textStatus, XMLHttpRequest) { tarifa.empty(); tarifa.append(""); for (var index in data["tarifas"]) { if (data["tarifas"].hasOwnProperty(index)) { tarifa.append(""); } } oferta.empty(); oferta.append(""); for (var j in data["ofertas"]) { if (data["ofertas"].hasOwnProperty(j)) { oferta.append(""); } } var options = tarifa.find('option'); var arr = options.map(function (_, o) { return {t: $(o).text(), v: o.value}; }).get(); arr.sort(function (o1, o2) { return o2.v == "" ? 1 : (o1.t > o2.t ? 1 : o1.t < o2.t ? -1 : 0); }); options.each(function (i, o) { o.value = arr[i].v; $(o).text(arr[i].t); }); var options2 = oferta.find('option'); var arr2 = options2.map(function (_, o) { return {t: $(o).text(), v: o.value}; }).get(); arr2.sort(function (o1, o2) { return o2.v == "" ? 1 : (o1.t > o2.t ? 1 : o1.t < o2.t ? -1 : 0); }); options2.each(function (i, o) { o.value = arr2[i].v; $(o).text(arr2[i].t); }); esperePorFavor.modal("hide"); if (previousTarifa > 0 || idTarifaSelected > 0) { tarifa.val((idTarifaSelected > 0 ? idTarifaSelected : previousTarifa)); } if(idOfertaSelected > 0) oferta.val(idOfertaSelected); } }); } static initConfiguracion(ofertasActuales, idCompania) { ClassWeb.idCompania = idCompania; $(document).ready(function () { var body = $("body"); body.on("click", ".btnEditarProducto, .btnAnadirProducto", function (e) { ClassBlockUI.abrirBlockUIEstandar("modalProductos", undefined, "Gestionar Producto", "modal493"); $("#frmProductosID").val($(this).attr("data-id")); $("#frmProductosTitulo").val($(this).attr("data-title")); return false; }); body.on("click", ".btnGuardarProducto", function (e) { Utils.sendStandardAjax("frmProductos", "ajax/Productos.editar.php"); return false; }); body.on("click", ".btnBorrarImagen", function (e) { let logo = $("#frmCompaniaBorrarLogo"); let icono = $(".btnBorrarImagen"); if (logo.val() * 1 === 1) { logo.val(0); icono.attr("title", "La imagen no se borrara"); icono.css("color", "black"); } else { logo.val(1); icono.attr("title", "Se ha marcado para borrar"); icono.css("color", "red"); } return false; }); body.on("click", ".btnEliminarProducto", function (e) { var idProducto = $(this).attr("data-id"); ClassBlockUI.abrirBlockUIConfirm("¿Esta seguro de que desea borrar el producto %1%?".replaceAll("%1%", $(this).attr("data-title")), "Aceptar", function () { Utils.sendStandardAjax(null, "ajax/Productos.eliminar.php?id=" + idProducto); }, "Cancelar"); return false; }); body.on("click", ".btnEditarTarifa, .btnAnadirTarifa", function (e) { var modal = ClassBlockUI.abrirBlockUIEstandar("modalTarifas", undefined, "Gestionar Tarifa", "modal493"); $("#frmTarifasID").val($(this).attr("data-id")); $("#frmTarifasTitulo").val($(this).attr("data-title")); $("input[name=frmTarifasProducto]").val([$(this).attr("data-idProducto")]); return false; }); body.on("click", ".btnGuardarTarifa", function (e) { Utils.sendStandardAjax("frmTarifas", "ajax/Tarifas.editar.php"); return false; }); body.on("click", ".btnEliminarTarifa", function (e) { var idTarifa = $(this).attr("data-id"); ClassBlockUI.abrirBlockUIConfirm("¿Esta seguro de que desea borrar la tarifa %1%?".replaceAll("%1%", $(this).attr("data-title")), "Aceptar", function () { Utils.sendStandardAjax(null, "ajax/Tarifas.eliminar.php?id=" + idTarifa); }, "Cancelar"); return false; }); body.on("click", ".btnActivaDesactivaCompañia", function (e) { if (!e.target.classList.contains('form-check-input')) return; var activo = $(e.target).is(":checked") ? 1 : 0; var idCompania = $(e.target).attr("data-id"); Utils.sendStandardAjax(null, "ajax/Companias.activarDesactivar.php?id=" + idCompania + "&activo=" + activo, { "esperePorFavor": false, "successCallback": function () { } }); return true; }); body.on("click", ".btnEditarCompañia, .btnAnadirCompañia", function (e) { var id = $(this).attr("data-id"); if (id === undefined) { id = 0; } window.location = "/configuraciones/?c=compañias&id=" + id; return false; }); body.on("click", ".btnEliminarCompañia", function (e) { var idCompania = $(this).attr("data-id"); ClassBlockUI.abrirBlockUIConfirm("¿Esta seguro de que desea borrar la compañía %1%?".replaceAll("%1%", $(this).attr("data-title")), "Aceptar", function () { Utils.sendStandardAjax(null, "ajax/Companias.eliminar.php?id=" + idCompania); }, "Cancelar"); return false; }); body.on("click", ".btnGuardarCompañia", function (e) { Utils.sendStandardAjax("frmCompania", "ajax/Companias.editar.php", {"successCallback": "data-location"}); return false; }); body.on("click", ".btnEditarCompañiaOferta, .btnAnadirCompañiaOferta", function (e) { ClassWeb.modalEditarOferta = ClassBlockUI.abrirBlockUIEstandar("modalOfertas", undefined, "Gestionar Oferta", "modal493", false); const idOferta = $(this).attr("data-id") || Math.floor(new Date().getTime() / 1000.0) * -1; $("#frmOfertasidOferta").val(idOferta); $("#frmOfertasidCompania").val($(this).attr("data-idCompania")); $("#frmOfertasTitulo").val($(this).attr("data-title")); let idProducto = $(this).attr("data-idProducto"); let tipoTarifa = $(this).attr("data-tarifa"); let radio = $("input:radio[name='frmOfertasProducto']"); let radioTarifa = $("input:radio[name='frmOfertasTipoTarifa']"); $("#comisiones-ofertas").html(""); if (idProducto > 0) { radio.attr("checked", false); radio.attr("disabled", true); radioTarifa.attr("checked", false); radioTarifa.attr("disabled", true); $("input:radio[name='frmOfertasProducto'][value=" + idProducto + "]").attr("checked", true); $("input:radio[name='frmOfertasTipoTarifa'][value=" + tipoTarifa + "]").attr("checked", true); cargarComisiones(idOferta); } else { $("input:radio[name='frmOfertasProducto'], input:radio[name='frmOfertasTipoTarifa']").attr("checked", false); radio.attr("disabled", false); radioTarifa.attr("disabled", false); } return false; }); body.on("click", "#btn-anadir-comision, .btn-comision-editar", function (e) { $("#frmComisiones")[0].reset(); const comisionId = $(this).attr("data-id") || -1; $("#comision-id").val(comisionId); $("#oferta-id").val($("#frmOfertasidOferta").val()); if (comisionId > 0) { const elementComision = $(this).parents(".item-comision"); const rInicio = elementComision.attr("data-inicio"); const rFin = elementComision.attr("data-fin"); const comision = elementComision.attr("data-comision"); $("#rango-inicio").val(rInicio); $("#rango-fin").val(rFin); $("#comision").val(comision); } ClassWeb.modalEditarComisiones = ClassBlockUI.abrirBlockUIEstandar("modalComisiones", undefined, "Comisión", "modal493", false); return false; }); body.on("click", ".btnActivaDesactivaCompañiaOferta", function (e) { if (!e.target.classList.contains('form-check-input')) return; var activo = $(e.target).is(":checked") ? 1 : 0; var idOferta = $(e.target).attr("data-id"); Utils.sendStandardAjax(null, "ajax/CompaniasOfertas.activarDesactivar.php?id=" + idOferta + "&activo=" + activo, { "esperePorFavor": false, "successCallback": function () { } }); return true; }); body.on("click", ".btnEliminarCompañiaOferta", function (e) { var idCompaniaOferta = $(this).attr("data-id"); let modalConfirmarBorrar = ClassBlockUI.abrirBlockUIConfirm("¿Esta seguro de que desea borrar la oferta %1%?".replaceAll("%1%", $(this).attr("data-title")), "Aceptar", function () { let esperePorFavor = Utils.sendStandardAjax(null, "ajax/CompaniasOfertas.eliminar.php?id=" + idCompaniaOferta, { "successCallback": function (data, textStatus, XMLHttpRequest) { modalConfirmarBorrar.modal("hide"); esperePorFavor.modal("hide"); if (data["error_number"] >= 0) { tablatablaOfertas.ajax.reload(); } else { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true) } } }); }, "Cancelar"); return false; }); body.on("click", ".btnGuardarCompañiaOferta", function (e) { let esperePorFavor = Utils.sendStandardAjax("frmOfertas", "ajax/CompaniasOfertas.editar.php", { "onBeforeSend": function () { let radio = $("input:radio[name='frmOfertasProducto']"); radio.attr("disabled", false); }, "successCallback": function (data, textStatus, XMLHttpRequest) { esperePorFavor.modal("hide"); if (ClassWeb.modalEditarOferta) { ClassWeb.modalEditarOferta.modal("hide"); } //eval("tablatablaOfertas"+data["idProducto"]).ajax.reload(); tablatablaOfertas.ajax.reload(); } }); return false; }); /* body.on("click", ".btnGuardarComision", function (e) { let esperePorFavor = Utils.sendStandardAjax("frmComisiones", "ajax/CompaniasComisiones.editar.php", { successCallback: function (data, textStatus, XMLHttpRequest) { esperePorFavor.modal("hide"); if (data["error_number"] * 1 < 0) { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } else { if (ClassWeb.modalEditarComisiones) { ClassWeb.modalEditarComisiones.modal("hide"); } } if (data["comisiones"] && data["comisiones"].length > 0) { const comisiones = data["comisiones"]; let htmlComisiones = ""; $.each(comisiones, function (i, e) { htmlComisiones += getHtmlComision(e); }); $("#comisiones-ofertas").html(htmlComisiones); } } }); return false; }); body.on("click", ".btn-comision-eliminar", function (e) { const id = $(this).attr("data-id"); let modalConfirm = ClassBlockUI.abrirBlockUIConfirm("Va a eliminar una comisión, ¿Desea continuar?", "Aceptar", function () { modalConfirm.modal("hide"); let esperePorFavor = Utils.sendStandardAjax(null, "ajax/CompaniasComisiones.eliminar.php?id="+id, { successCallback: function (data, textStatus, XMLHttpRequest) { esperePorFavor.modal("hide"); if (data["error_number"] * 1 < 0) { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } else { $.notify( { title: "Aviso: ", message: data["error_message"], }, { type: 'success', placement: { from: "top", align: "center" }, delay: 6000 }); } if (data["comisiones"] && data["comisiones"].length > 0) { const comisiones = data["comisiones"]; let htmlComisiones = ""; $.each(comisiones, function (i, e) { htmlComisiones += getHtmlComision(e); }); $("#comisiones-ofertas").html(htmlComisiones); } } }); }, "Cancelar"); return false; }); */ var lastCall = 0; if (Object.keys(ofertasActuales).length > 0) { $.each(ofertasActuales, function (id, item) { var currentDropdown = $('#etiquetasDropdown' + id); currentDropdown.dropdownSUI({ allowAdditions: true, apiSettings: { url: 'ajax/ProductosOfertas.buscar.php?CSRF=' + CSRF + '&q={query}&idProducto=' + id + "&idCompania=" + ClassWeb.idCompania, cache: true, beforeSend: function (a) { let currentCall = new Date().getTime(); //Limitar llamadas vacias a 1 cada segundo porque se ponia a llamar sin parar una y otra vez if (a.urlData.query === "" && currentCall - lastCall < 1000) { return false; } lastCall = currentCall; return a; }, onResponse: function (response) { var currentValues = ("," + currentDropdown.dropdownSUI("get value") + ","); var results = []; // Quitar los que ya tienen valor. for (var k in response["results"]) { if (!response["results"].hasOwnProperty(k)) { continue; } if (currentValues.indexOf("," + response["results"][k]["value"] + ",") === -1) { results.push(response["results"][k]); } } return { success: true, results: results }; } }, saveRemoteData: true }); $.each(item, function (index, element) { currentDropdown.dropdownSUI("set selected", element); }); currentDropdown.dropdownSUI('refresh'); }); } body.on("click", ".btnGuardarTextoLOPD", function (e) { if (CKEDITOR.instances) { for (var i in CKEDITOR.instances) { CKEDITOR.instances[i].updateElement(); } } Utils.sendStandardAjax("frmTextoLOPD", "ajax/TextoLOPD.editar.php"); return false; }); body.on("click", ".btnGuardarEnlaceDropbox", function (e) { Utils.sendStandardAjax("frmEnlaceDropbox", "ajax/EnlaceDropbox.editar.php"); return false; }); $(".barra_busqueda_global").html(""); if ($(".dataTables_filter input").length == 1) { $(".barra_busqueda_global").append($(".dataTables_filter input").detach()); } }); function cargarComisiones(id) { let successCallback = function (data, textStatus, XMLHttpRequest) { $(".modalAutoHide").modal("hide"); if (data["comisiones"] && data["comisiones"].length > 0) { const comisiones = data["comisiones"]; let htmlComisiones = ""; $.each(comisiones, function (i, e) { htmlComisiones += getHtmlComision(e); }); $("#comisiones-ofertas").html(htmlComisiones); } }; Utils.sendStandardAjax(null, "https://gestion.fotonasesoreshellin.com/ajax/CompaniasComisiones.cargar.php?CSRF=" + CSRF + "&id=" + id, { successCallback: successCallback, }); } function getHtmlComision(item) { let html = ""; html += `
`; html += item.rango_inicio + "kw - " + item.rango_fin + "kw - " + item.comision + "€"; html += `
`; html += `
`; html += `
`; html += "
"; html += "
"; return html; } }; static initConfiguracionComisiones(urlAjax) { $(document).ready(function () { const body = $("body"); $("#frmBuscarIdCompania, #frmBuscarIdProducto, #frmBuscarIdTipoTarifa, #frmBuscarIdTarifa, #frmBuscarIdOferta").change(actualizaTablaFiltros); let companiaBuscar = $("#frmBuscarIdCompania, #frmBuscarIdProducto, #frmBuscarIdTipoTarifa"); companiaBuscar.change(function () { let idCompania = $("#frmBuscarIdCompania").val(); let idProducto = $("#frmBuscarIdProducto").val(); let idTipoTarifa = $("#frmBuscarIdTipoTarifa").val(); ClassWeb.actualizarTarifaOfertaInput($("#frmBuscarIdTarifa"), $("#frmBuscarIdOferta"), idCompania, idProducto, idTipoTarifa); }); let toRangos; $("#frmBuscarRangoInicio, #frmBuscarRangoFin").keyup(function () { clearTimeout(toRangos); toRangos = setTimeout(actualizaTablaFiltros, 400); }); let tarifa = $("#frmComisionIdTarifa"); let oferta = $("#frmComisionIdOferta"); let companiaProducto = $("#frmComisionIdCompania, #frmComisionIdProducto, #frmComisionIdTipoTarifa"); companiaProducto.change(function () { let idCompania = $("#frmComisionIdCompania").val(); let idProducto = $("#frmComisionIdProducto").val(); let idTipoTarifa = $("#frmComisionIdTipoTarifa").val(); ClassWeb.actualizarTarifaOfertaInput(tarifa, oferta, idCompania, idProducto, idTipoTarifa); }); body.on("click", ".btnAnadirComision, .btnEditarComision", function (e) { //$("#frmComisiones")[0].reset(); $("#rango-inicio").val(""); $("#rango-fin").val(""); $("#comision").val(""); const comisionId = $(this).attr("data-id") || -1; $("#comision-id").val(comisionId); if (comisionId > 0) { const datos = JSON.parse($(this).attr("data-datos")); $("#frmComisionIdCompania").val(datos.idCompania); $("#frmComisionIdProducto").val(datos.idProducto); $("#frmComisionIdTipoTarifa").val(datos.idTipoTarifa); ClassWeb.actualizarTarifaOfertaInput(tarifa, oferta, datos.idCompania, datos.idProducto, datos.idTipoTarifa, datos.idTarifa, datos.idOferta); $("#rango-inicio").val(datos.rangoInicio); $("#rango-fin").val(datos.rangoFin); $("#comision").val(datos.comision); } ClassWeb.modalEditarComisiones = ClassBlockUI.abrirBlockUIEstandar("modalComisiones", undefined, "Comisión", "modal750", false); return false; }); body.on("click", ".btnGuardarComision", function (e) { let esperePorFavor = Utils.sendStandardAjax("frmComisiones", "ajax/CompaniasComisiones.editar.php", { successCallback: function (data, textStatus, XMLHttpRequest) { esperePorFavor.modal("hide"); if (data["error_number"] * 1 < 0) { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } else { tablatablaComisiones.ajax.reload(); if (ClassWeb.modalEditarComisiones) ClassWeb.modalEditarComisiones.modal("hide"); } } }); return false; }); body.on("click", ".btnEliminarComision", function (e) { const id = $(this).attr("data-id"); let modalConfirm = ClassBlockUI.abrirBlockUIConfirm("Va a eliminar una comisión, ¿Desea continuar?", "Aceptar", function () { modalConfirm.modal("hide"); let esperePorFavor = Utils.sendStandardAjax(null, "ajax/CompaniasComisiones.eliminar.php?id="+id, { successCallback: function (data, textStatus, XMLHttpRequest) { esperePorFavor.modal("hide"); if (data["error_number"] * 1 < 0) { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } else { $.notify( { title: "Aviso: ", message: data["error_message"], }, { type: 'success', placement: { from: "top", align: "center" }, delay: 6000 }); } actualizaTablaFiltros(); } }); }, "Cancelar"); return false; }); }); function actualizaTablaFiltros() { tablatablaComisiones.ajax.url(urlAjax+"&"+$("#frmBuscar").serialize()).load(); } } static initConfiguracionCanales(urlAjax) { $(document).ready(function () { const body = $("body"); body.on("click", ".btnAnadirCanal, .btnEditarCanal", function (e) { const idItem = $(this).attr("data-id") || -1; $("#canal-id").val(idItem); if (idItem > 0) { const datos = JSON.parse($(this).attr("data-datos")); $("#canal").val(datos.gcan_canal); } ClassWeb.modalEditarCanales = ClassBlockUI.abrirBlockUIEstandar("modalCanal", undefined, "Canal", "modal750", false); return false; }); body.on("click", ".btnGuardarCanal", function (e) { let esperePorFavor = Utils.sendStandardAjax("frmCanales", "ajax/Canales.editar.php", { successCallback: function (data, textStatus, XMLHttpRequest) { esperePorFavor.modal("hide"); if (data["error_number"] * 1 < 0) { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } else { tablatablaCanales.ajax.reload(); if (ClassWeb.modalEditarCanales) ClassWeb.modalEditarCanales.modal("hide"); } } }); return false; }); body.on("click", ".btnEliminarCanal", function (e) { const id = $(this).attr("data-id"); let modalConfirm = ClassBlockUI.abrirBlockUIConfirm("Va a eliminar un canal, ¿Desea continuar?", "Aceptar", function () { modalConfirm.modal("hide"); let esperePorFavor = Utils.sendStandardAjax(null, "ajax/Canales.eliminar.php?id="+id, { successCallback: function (data, textStatus, XMLHttpRequest) { esperePorFavor.modal("hide"); if (data["error_number"] * 1 < 0) { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } else { $.notify( { title: "Aviso: ", message: data["error_message"], }, { type: 'success', placement: { from: "top", align: "center" }, delay: 6000 }); } actualizaTablaFiltros(); } }); }, "Cancelar"); return false; }); }); function actualizaTablaFiltros() { tablatablaCanales.ajax.url(urlAjax+"&"+$("#frmBuscar").serialize()).load(); } } static initClientes() { $(document).ready(function () { tablatablaClientes.on('click', 'tr', function () { var data = tablatablaClientes.row(this).data(); window.location = "/clientes/?id=" + data[1]; }); var body = $("body"); body.on("click", ".btnNuevoCliente, .btnAnadirProducto", function (e) { window.location = "/clientes/?nc=1"; return false; }); body.on("click", ".btnExportarClientes", function (e) { window.location = "/exportarDatos.php?t=gc_&draw=" + tablatablaClientes.ajax.params().draw; return false; }); }) }; static initClickTablaContratos() { $(document).ready(function () { tablatablaContratos.on('click', 'tr td:not(.contieneBtnEstado, .noVis, .contieneDNI)', function () { var data = tablatablaContratos.row($(this).parent()).data(); window.open("/contratos/?id=" + data[1], '_blank'); //window.location = "/contratos/?id="+data[1]; }); }); } static initBusquedaGlobal(busqueda, pos, idCliente) { let autocompleteBuscarCliente = $("#frmBuscarClienteDNI"); autocompleteBuscarCliente.keyup(function () { if ($(this).val() === "") { if (ClassWeb.busquedaGlobal) { ClassWeb.cargarDatosCliente(ClassWeb.busquedaGlobal.urlAjax, undefined, ClassWeb.busquedaGlobal.idCompania, ClassWeb.busquedaGlobal.idEstado, ClassWeb.busquedaGlobal.hoy); } } }); autocompleteBuscarCliente.autocomplete({ source: "ajax/Clientes.buscar.php?CSRF=" + CSRF, minLength: 3, response: function (event, ui) { $(event.target).removeClass("ui-autocomplete-loading"); }, change: function (event, ui) { $(event.target).removeClass("ui-autocomplete-loading"); if (!ui.item) { $(event.target).val("").data("item", null).removeClass("selected"); if (ClassWeb.busquedaGlobal) { ClassWeb.cargarDatosCliente(ClassWeb.busquedaGlobal.urlAjax, undefined, ClassWeb.busquedaGlobal.idCompania, ClassWeb.busquedaGlobal.idEstado, ClassWeb.busquedaGlobal.hoy); } } }, select: function (event, ui) { $(event.target).data("item", ui.item).addClass("selected"); if (ClassWeb.busquedaGlobal) { ClassWeb.cargarDatosCliente(ClassWeb.busquedaGlobal.urlAjax, ui.item, ClassWeb.busquedaGlobal.idCompania, ClassWeb.busquedaGlobal.idEstado, ClassWeb.busquedaGlobal.hoy); } else { window.location = "/contratos/?busqueda=" + ui.item.datos.gc_DNI + "&pos=" + ui.item.index + "&cliente=" + ui.item.datos.gc_idCliente; } }, open: function (event, ui) { if (ClassWeb.autocompleteBuscarClientePrimerResultado) { ClassWeb.autocompleteBuscarClientePrimerResultado = false; if (idCliente > 0) { $(".ui-menu-item[data-value='" + idCliente + "']").trigger("click"); } else { if ($(".ui-menu-item").length >= pos + 1) { $(".ui-menu-item:eq(" + pos + ")").trigger("click"); return false; } else { $(".ui-menu-item:eq(0)").trigger("click"); return false; } } } }, }); autocompleteBuscarCliente.autocomplete("instance")._renderItem = function (ul, item) { return $("
  • ") .attr("data-value", item.id) .append(item.label) .appendTo(ul); }; autocompleteBuscarCliente.autocomplete("instance")._renderItem = function (ul, item) { let classAC = item.bloqueado ? "opcionAutoCompleteBloqueado" : "opcionAutoCompleteNormal"; return $("
  • ") .attr("data-value", item.id) .append(item.label) .appendTo(ul); }; if (busqueda !== undefined && busqueda !== "") { ClassWeb.autocompleteBuscarClientePrimerResultado = true; autocompleteBuscarCliente.autocomplete("search", autocompleteBuscarCliente.val()); } } static initContratos(urlAjax, esAdmin, idCompania, idTarifa, idEstado, hoy) { ClassWeb.initClickTablaContratos(); ClassWeb.busquedaGlobal = { "urlAjax": urlAjax, "idCompania": idCompania, "idTarifa": idTarifa, "idEstado": idEstado, "hoy": hoy }; $(document).ready(function () { var body = $("body"); if (esAdmin) { body.on("click", ".contrato-estado", ClassWeb.cambiarEstadoContrato); body.on("change", "#frmCCEIdEstado", ClassWeb.mostarOcultarNotas); body.on("click", ".btnCambiarEstado", ClassWeb.enivarCambiarEstadoContrato); } body.on("click", ".btnAñadirContratos", function (e) { let idCliente = $(this).attr("data-idCliente"); if (idCliente > 0) { window.location = "/contratos/?idCliente=" + idCliente + "&c=1"; } else { let dni = $("#frmBuscarClienteDNI"); dni.focus(); dni.animate({backgroundColor: "#2768C2"}, "slow").animate({backgroundColor: "#FFFFFF"}, "slow"); $.notify( { title: "Aviso: ", message: "Para poder añadir un contrato, por favor busca un cliente por su DNI para utilizar un cliente existente o bien crearlo para poder añadirle el contrato", }, { type: 'danger', placement: { from: "top", align: "center" }, delay: 10000 }); //ClassBlockUI.abrirBlockUIEstandarMensaje("Para poder añadir un contrato, por favor busca un cliente por su DNI para utilizar un cliente existente o bien crearlo para poder añadirle el contrato", true, undefined, ""); } return false; }); body.on("keyup", "#frmFechaDesde, #frmFechaHasta", ClassWeb.getFechasFiltradasValidas); body.on("click", ".btnFiltrarFechas", function () { let fechas = ClassWeb.getFechasFiltradasValidas(); ClassWeb.recargaTablaContratos(urlAjax, $("#frmClienteID").val(), idCompania, idTarifa, idEstado, fechas, hoy); if (ClassWeb.modalFiltrarFechas) { ClassWeb.modalFiltrarFechas.modal("hide"); ClassWeb.modalFiltrarFechas = null; } }); body.on("click", ".btnExportarContratos", function (e) { window.location = "/exportarDatos.php?t=gcont_&draw=" + tablatablaContratos.ajax.params().draw; return false; }); }); }; static getFechasFiltradasValidas() { let fechaDesde = $("#frmFechaDesde").val().split("-"); let fechaHasta = $("#frmFechaHasta").val().split("-"); let fechaDesdeFiltrar = ClassWeb.isValidDate(fechaDesde[2], fechaDesde[1], fechaDesde[0]) ? fechaDesde : null; let fechaHastaFiltrar = ClassWeb.isValidDate(fechaHasta[2], fechaHasta[1], fechaHasta[0]) ? fechaHasta : null; //console.log(fechaDesdeFiltrar, fechaHastaFiltrar); return [fechaDesdeFiltrar, fechaHastaFiltrar]; }; static isValidDate(day, month, year) { var validDate = /^(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$/.test(month + "/" + day + "/" + year); return (validDate && !/Invalid|NaN/.test(new Date(month + "/" + day + "/" + year))); }; static cambiarEstadoContrato(e) { if ($(this).attr("data-idEstado") == 6) return; ClassWeb.modalCambiarEstado = ClassBlockUI.abrirBlockUIEstandar("modalCambiarEstado", undefined, "Cambiar Estado", "modal493"); let estado = $("#frmCCEIdEstado"); estado.val($(this).attr("data-idEstado")); $("#frmCCEIDContrato").val($(this).attr("data-idContrato")); $("#frmCCENotas").val(""); estado.trigger("change"); return false; }; static mostarOcultarNotas(e) { if ($("#frmCCEIdEstado").val() * 1 === 3) { $(".contieneCCENotas").show(); } else { $(".contieneCCENotas").hide(); $("#frmCCENotas").val(""); } return false; } static enivarCambiarEstadoContrato(e) { let modal = Utils.sendStandardAjax("frmContratosCambiarEstado", "ajax/Contrato.cambiarEstado.php", { "successCallback": function (data, textStatus, XMLHttpRequest) { tablatablaContratos.ajax.reload(); modal.modal("hide"); if (ClassWeb.modalCambiarEstado) { ClassWeb.modalCambiarEstado.modal("hide"); } } }); return false; }; static initRenovaciones(esAdmin) { $(document).ready(function () { tablatablaRenovaciones.on('click', 'tr td:not(.contieneBtnEstado, .noVis)', function () { var data = tablatablaRenovaciones.row($(this).parent()).data(); window.location = "/contratos/?id=" + data[1]; }); var body = $("body"); if (esAdmin) { body.on("click", ".contrato-estado", ClassWeb.cambiarEstadoContrato); body.on("change", "#frmCCEIdEstado", ClassWeb.mostarOcultarNotas); body.on("click", ".btnCambiarEstado", ClassWeb.enivarCambiarEstadoContrato); } body.on("click", ".btnExportarContratos", function (e) { window.location = "/exportarDatos.php?t=gcont_&draw=" + tablatablaRenovaciones.ajax.params().draw; return false; }); }); }; static recargaTablaContratos(urlAjax, idCliente, idCompania, idTarifa, idEstado, fechas, hoy) { var url = urlAjax.replaceAll("%idCliente%", idCliente > 0 ? idCliente : 0).replaceAll("%idCompania%", idCompania).replaceAll("%idTarifa%", idTarifa).replaceAll("%idEstado%", idEstado).replaceAll("%hoy%", hoy); if (fechas != undefined) { if (fechas[0]) { url = url + "&fechaInicio=" + fechas[0].join("/"); } if (fechas[1]) { url = url + "&fechaFin=" + fechas[1].join("/"); } } tablatablaContratos.ajax.url(url).load(); } static cargarDatosCliente(urlAjax, cliente, idCompania, idEstado, hoy) { //Quitamos CONTRATOS DE COMPANIA y que ponga solo CONTRATOS al buscar un cliente let tituloContratos = $(".tituloContratos"); tituloContratos.html(tituloContratos.attr("data-titulo")); ClassWeb.recargaTablaContratos(urlAjax, cliente === undefined || cliente.bloqueado ? "0" : cliente.datos.gc_idCliente, idCompania, idEstado, hoy); let mostrarOcultarBloques = $(".datosAdjuntos, .btnEditarCliente, #frmCliente"); let btnAnadirContratos = $(".btnAñadirContratos"); if (cliente === undefined) { mostrarOcultarBloques.addClass("d-none"); $("#frmCliente")[0].reset(); btnAnadirContratos.attr("data-idCliente", 0); return; } else if (cliente.id === -1) { window.location = "/contratos/?dniNuevoCliente=" + cliente.datos.gc_DNI; return; } else if (cliente.bloqueado) { let modal = ClassBlockUI.abrirBlockUIEstandarMensaje("El cliente que estás tratando de gestionar pertenece a otro comercial y por tanto no puedes hacer contratos ni editar este cliente.", true, function () { modal.modal("hide"); $("#frmBuscarClienteDNI").val(""); }, ""); mostrarOcultarBloques.addClass("d-none"); $("#frmCliente")[0].reset(); btnAnadirContratos.attr("data-idCliente", 0); return; } mostrarOcultarBloques.removeClass("d-none"); $("#frmClienteID").val(cliente["datos"]["gc_idCliente"]); $("#frmClienteDNI").val(cliente["datos"]["gc_DNI"]); $("#frmClienteNombre").val(cliente["datos"]["gc_nombre"]); $("#frmClienteTelefono").val(cliente["datos"]["gc_telefono"]); $("#frmClienteEmail").val(cliente["datos"]["gc_email"]); $("#frmClienteApodo").val(cliente["datos"]["gc_apodo"]); //$("#frmClienteIBAN").val(cliente["datos"]["gc_IBAN"]); $("#frmClienteRepresentante").val(cliente["datos"]["gc_representante"]); $("#frmClienteNIFRepresentante").val(cliente["datos"]["gc_NIF_representante"]); $("#frmClienteNombreRepresentante").val(cliente["datos"]["gc_nombre_representante"]); $("#frmClienteComercial").val(cliente["datos"]["nombre"]); $("#frmClienteidComercial").val(cliente["datos"]["gc_idComercial"]); $.each(cliente["datos"]["iban"], function (i, e) { $("#frmClienteIBAN_"+(i + 1)+"_nombre").val(e.nombre); $("#frmClienteIBAN_"+(i + 1)+"_IBAN").val(e.iban); }); $("#frmClienteRepresentante").trigger("change"); $(".datosAdjuntos").html(""); if (cliente["adjuntos"] !== undefined) { $(".bloqueDatosAdjuntos").removeClass("d-none"); let template = '
    '; for (var index in cliente["adjuntos"]) { let adjunto = cliente["adjuntos"][index]; $(".datosAdjuntos").append(template.replaceAll("%titulo%", adjunto["gcd_titulo"]).replaceAll("%gcd_idClienteDocumento%", adjunto["gcd_idClienteDocumento"]).replaceAll("%readonly%", "readonly").replaceAll("%deleteVisible%", "d-none")); } $(".tooltipStandard").not(".tooltipstered").tooltipster({ animation: 'grow', interactive: true, position: 'bottom' }); } else { $(".bloqueDatosAdjuntos").addClass("d-none"); } btnAnadirContratos.attr("data-idCliente", cliente["datos"]["gc_idCliente"]); setTimeout(function () { $("#frmBuscarClienteDNI").val(""); }, 100); } static cargarDatosComercial(comercial, formIdField, formIdName, formPorcentajeField = "porcentajeComisionComercial") { let formIdComercial = $("#" + formIdField); let formComercial = $("#" + formIdName); let formPorcentaje = $("#" + formPorcentajeField); if (comercial === undefined || comercial["id"] * 1 === -1) { formIdComercial.val(""); formComercial.val(""); formPorcentaje.val(0); setTimeout(function () { formComercial.val(""); }, 400) return; } formIdComercial.val(comercial["datos"]["idUsuario"]); formComercial.val(comercial["datos"]["nombre"]); formPorcentaje.val(comercial["datos"]["porcentajeComision"]); } static initGuardarCliente(redireccion) { $(document).ready(function () { var body = $("body"); body.on("click", ".btnGuardarCliente", function (e) { let esperaPorFavor = Utils.sendStandardAjax("frmCliente", "ajax/Clientes.editar.php", { "opcionesValidacion": { showLabels: false, rules: { "frmClienteNIFRepresentante": { required: function () { return $("#frmClienteRepresentante").val() * 1 == 1 } }, "frmClienteNombreRepresentante": { required: function () { return $("#frmClienteRepresentante").val() * 1 == 1 } } } }, successCallback: function (data, textStatus, XMLHttpRequest) { if (data["error_number"] * 1 >= 0) { if (redireccion !== undefined && redireccion !== "") { window.location = redireccion; } else { esperaPorFavor.modal("hide"); $("#frmContratoIdCliente").val(data["idCliente"]) $(".btnGuardarCliente").hide(); $(".btnGuardarContrato").removeClass("d-none"); $("#frmContrato").removeClass("d-none"); $("#frmCliente input, #frmCliente select, #frmCliente textarea").each(function () { $(this).prop("readonly", true); $(this).prop("disabled", true); $(this).addClass("readonly"); }); } } else { var errorMessage = "
    "; var lastError = ""; for (var i in data["info"]) { if (typeof (data["info"][i]) == "function") continue; errorMessage += data["info"][i] + "
    \r\n"; lastError = i; } ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"] + errorMessage, true, undefined); } } }); }); body.on("click", ".btnEliminarDocumento", function (e) { let idDocumento = $(this).attr("data-idClienteDocumento"); let titulo = $(this).attr("data-titulo"); let confirmar = ClassBlockUI.abrirBlockUIConfirm("¿Estas seguro de que deseas borrar el documento %1%?".replaceAll("%1%", titulo), "Aceptar", function () { let esperePorFavor = Utils.sendStandardAjax(null, "ajax/ClientesDocumentos.eliminar.php?id=" + idDocumento, { "successCallback": function (data, textStatus, XMLHttpRequest) { if (data["error_number"] >= 0) { $(".documento_" + idDocumento).hide(); esperePorFavor.modal("hide"); confirmar.modal("hide"); } else { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined, ""); } } }); }, "Cancelar") }); }); }; static isValidNumericoPuntoSeparadorMiles(value) { let regex = /^([1-9]\d{0,2}(.?\d{3})*|0)?$/ //console.log(value, regex.test(value), "isValidNumericoPuntoSeparadorMiles"); return regex.test(value); }; static isValidNumericoDecimalesComa(value) { let regex = /^(?:\d{1,3}(?:\.\d{3})+|\d+)(?:,\d+)?$/ //console.log(value, regex.test(value), "isValidNumericoDecimalesComa"); return regex.test(value); }; static isValidCUPS(value) { let ret = false; const reCUPS = /^[A-Z]{2}(\d{4}\d{12})([A-Z]{2})(\d[FPCRXYZ])?$/i; if (reCUPS.test(value)) { const mCUPS = value.toUpperCase().match(reCUPS); const [, cups16, control] = mCUPS; const letters = [ 'T', 'R', 'W', 'A', 'G', 'M', 'Y', 'F', 'P', 'D', 'X', 'B', 'N', 'J', 'Z', 'S', 'Q', 'V', 'H', 'L', 'C', 'K', 'E', ]; const cup16Mod = +cups16 % 529, quotient = Math.floor(cup16Mod / letters.length), remainder = cup16Mod % letters.length; //console.log(letters[quotient] + letters[remainder]); ret = (control === letters[quotient] + letters[remainder]); } return ret; } static isDateES(value, element, validator, forceGetDate) { var date = null; var separators = new Array("\\", "-", "/"); for (var index in separators) { if (value.indexOf(separators[index]) != -1) { date = value.split(separators[index]); } } if (date == null || date.length != 3 || date[1] * 1 > 12 || date[0] * 1 > 31) { return (validator.optional(element) || false); } var validDate = /^(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$/.test(date[1] + "/" + date[0] + "/" + date[2]); if (forceGetDate == undefined) { return validator.optional(element) || (validDate && !/Invalid|NaN/.test(new Date(date[1] + "/" + date[0] + "/" + date[2]))); } else { if ((validDate && !/Invalid|NaN/.test(new Date(date[1] + "/" + date[0] + "/" + date[2])))) { return new Date(date[1] + "/" + date[0] + "/" + date[2]); } else { return false; } } }; static dateENtoES(value) { //de 2023-08-02 a 02/08/2023 return value.split("-").reverse().join("/"); } static initGuardarContrato() { $(document).ready(function () { jQuery.validator.addMethod("numericoPuntoSeparadorMiles", function (value, element) { return this.optional(element) || (ClassWeb.isValidNumericoPuntoSeparadorMiles(value)) }, "Debes escribir un número con un formato válido (1000 o 1.000)"); jQuery.validator.addMethod("numericoDecimalesComa", function (value, element) { return this.optional(element) || (ClassWeb.isValidNumericoDecimalesComa(value)) }, "Debes escribir un número con un formato válido (100,39)"); jQuery.validator.addMethod("CUPS", function (value, element) { return this.optional(element) || (ClassWeb.isValidCUPS(value)) }, "Debes escribir un CUPS valido (20 digitos de la forma: ES0000000000000000XX)"); jQuery.validator.addMethod("dateES", function (value, element) { return this.optional(element) || ClassWeb.isDateES(value, element, this) }, "
    Escriba una fecha del formato DD/MM/AAAA (dia, mes y año)"); jQuery.validator.addMethod("dateInputES", function (value, element) { value = ClassWeb.dateENtoES(value); return this.optional(element) || ClassWeb.isDateES(value, element, this) }, "
    Escriba una fecha del formato DD/MM/AAAA (dia, mes y año)"); var body = $("body"); body.on("click", ".btnGuardarContrato", function (e) { let esperaPorFavor = Utils.sendStandardAjax("frmContrato", "ajax/Contrato.editar.php?idCliente=" + $("#frmContratoIdCliente").val() + "&frmDualIdProducto=" + $("#frmDualIdProducto").val(), { successCallback: function (data, textStatus, XMLHttpRequest) { if (data["error_number"] * 1 >= 0) { window.location = "/contratos/?id=" + data["id"]; //window.location.reload(); } else { var errorMessage = "
    "; var lastError = ""; for (var i in data["info"]) { if (typeof (data["info"][i]) == "function") continue; errorMessage += data["info"][i] + "
    \r\n"; lastError = i; } ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"] + errorMessage, true, undefined); } }, "opcionesValidacion": { showLabels: false, rules: { "frmContratoCP": { number: true, minlength: 5, maxlength: 5, }, "frmContratoPotencia": { numericoDecimalesComa: true, required: function () { return ($("#frmContratoIdProducto").val() * 1 === 1) } }, "frmContratoComisionAdministrador": {numericoDecimalesComa: true}, "frmContratoPotencia1": {numericoDecimalesComa: true}, "frmContratoPotencia2": {numericoDecimalesComa: true}, "frmContratoPotencia3": {numericoDecimalesComa: true}, "frmContratoPotencia4": {numericoDecimalesComa: true}, "frmContratoPotencia5": {numericoDecimalesComa: true}, "frmContratoPotencia6": {numericoDecimalesComa: true}, //"frmContratoPrecioKWActual": //{ // numericoDecimalesComa: true, //}, //"frmContratoPrecioKWNuevo": //{ // numericoDecimalesComa: true, //}, "frmContratoConsumo": {numericoDecimalesComa: true}, "frmContratoConsumo1": {numericoDecimalesComa: true}, "frmContratoConsumo2": {numericoDecimalesComa: true}, "frmContratoConsumo3": {numericoDecimalesComa: true}, "frmContratoConsumo4": {numericoDecimalesComa: true}, "frmContratoConsumo5": {numericoDecimalesComa: true}, "frmContratoConsumo6": {numericoDecimalesComa: true}, "frmContratoCUPS": {CUPS: true}, "frmDualPotencia": { numericoDecimalesComa: true, required: function () { return ($("#frmDualIdProducto").val() * 1 === 1) } }, "frmDualConsumo": { numericoPuntoSeparadorMiles: true }, "frmDualCUPS": { CUPS: true }, } } }); }); }); }; static muestraOcultaRepresentante() { if ($(this).val() * 1 === 1) { $(".contieneDatosRepresentante").show(); } else { $(".contieneDatosRepresentante").hide(); } }; static initClientesDatos(idCliente) { $(document).ready(function () { var body = $("body"); let autocompleteBuscarComercial = $("#frmClienteComercial"); autocompleteBuscarComercial.keyup(function () { if ($(this).val() === "") { ClassWeb.cargarDatosComercial(undefined, "frmClienteidComercial", "frmClienteComercial"); } }); autocompleteBuscarComercial.autocomplete({ source: "ajax/Comerciales.buscar.php?CSRF=" + CSRF, minLength: 3, response: function (event, ui) { $(event.target).removeClass("ui-autocomplete-loading"); }, change: function (event, ui) { $(event.target).removeClass("ui-autocomplete-loading"); if (!ui.item) { $(event.target).val("").data("item", null).removeClass("selected"); ClassWeb.cargarDatosComercial(undefined, "frmClienteidComercial", "frmClienteComercial"); } }, select: function (event, ui) { $(event.target).data("item", ui.item).addClass("selected"); ClassWeb.cargarDatosComercial(ui.item, "frmClienteidComercial", "frmClienteComercial"); } }); $("#frmClienteRepresentante").change(ClassWeb.muestraOcultaRepresentante).trigger("change"); body.on("click", ".btnEditarCliente", function (e) { window.location = "/contratos/?idCliente=" + $("#frmClienteID").val(); return false; }); let template = '
    '; var uploader = new plupload.Uploader({ runtimes: 'html5', browse_button: 'pickfiles', // you can pass in id... container: document.getElementById('container'), // ... or DOM Element itself url: "/ajax/ClientesDocumentos.subirFicheros.php?CSRF=" + CSRF + "&idCliente=" + idCliente, filters: { max_file_size: '100mb' }, init: { PostInit: function () { document.getElementById('filelist').innerHTML = ''; }, FilesAdded: function (up, files) { plupload.each(files, function (file) { document.getElementById('filelist').innerHTML += '
    ' + file.name + ' (' + plupload.formatSize(file.size) + ')
    '; }); uploader.start(); }, UploadProgress: function (up, file) { document.getElementById(file.id).getElementsByTagName('b')[0].innerHTML = '' + file.percent + "%"; }, Error: function (up, err) { document.getElementById('console').innerHTML += "\nError #" + err.code + ": " + err.message; }, FileUploaded: function (up, file, object) { let response = jQuery.parseJSON(object.response); if (object.status === 200 && response.OK === 1) { $(".datosAdjuntos").append(template.replaceAll("%titulo%", response.info.name).replaceAll("%gcd_idClienteDocumento%", response.info.gcd_idClienteDocumento).replaceAll("%readonly%", "").replaceAll("%deleteVisible%", "")); } else { if (response.error_number * 1 <= 0) { $.notify( { title: "Aviso: ", message: response.error_message, }, { type: 'danger', placement: { from: "top", align: "center" }, delay: 10000 }); } } }, UploadComplete: function (up, files) { document.getElementById('filelist').innerHTML = ''; document.getElementById('console').innerHTML = ''; $(".tooltipStandard").not(".tooltipstered").tooltipster({ animation: 'grow', interactive: true, position: 'bottom' }); } } }); uploader.init(); }); }; static compruebaGasPotencia(contratoDual) { const NUM_POTENCIAS = 6; let potencia = contratoDual === false ? $("#frmContratoPotencia") : $("#frmDualPotencia"); let producto = contratoDual === false ? $("#frmContratoIdProducto") : $("#frmDualIdProducto"); if (producto.is('[readonly]') && !contratoDual) { if (producto.val() * 1 === 2) { for (let i = 0; i <= NUM_POTENCIAS; i++) { const idInput = contratoDual ? "#frmDualPotencia" : "#frmContratoPotencia"; const elementPotencia = i === 0 ? potencia : $(idInput+i); elementPotencia.val(""); } } return; } for (let i = 0; i <= NUM_POTENCIAS; i++) { const idInput = contratoDual ? "#frmDualPotencia" : "#frmContratoPotencia"; const elementPotencia = i === 0 ? potencia : $(idInput+i); if (producto.val() * 1 === 2) { elementPotencia.prop("readonly", true); elementPotencia.addClass("readonly"); elementPotencia.data("value", elementPotencia.val()); elementPotencia.val(""); } else { if (i > 0) { elementPotencia.prop("readonly", false); elementPotencia.removeClass("readonly"); } let value = elementPotencia.data("value"); if (value !== undefined) { elementPotencia.val(value); } } } } static productoCambiado() { ClassWeb.actualizarTarifaOferta(false); ClassWeb.compruebaGasPotencia(false); ClassWeb.compruebaGasPotencia(true); $(".contratoDual").hide(); ClassWeb.actualizaContratoDual(); } static productoCambiadoDual() { ClassWeb.actualizarTarifaOferta(true); ClassWeb.compruebaGasPotencia(true); } static muestraOcultaContratoDual() { let contratoDual = $("#frmContratoDual").val() * 1; let producto = $("#frmContratoIdProducto").val() * 1; if (contratoDual === 1 && producto > 0) { $(".contratoDual").show(); } else { $(".contratoDual").hide(); } $("#frmDualIdCompania").trigger("change"); } static actualizaContratoDual() { let producto = $("#frmContratoIdProducto"); if (producto.val() * 1 === 1) { $("#frmDualIdProducto").val(2); ClassWeb.muestraOcultaContratoDual(); } else if (producto.val() * 1 === 2) { $("#frmDualIdProducto").val(1); ClassWeb.muestraOcultaContratoDual(); } } static initDatosContratos(esAdmin, idCompania, idProducto, idTarifa, idOferta) { let lastComisionCargada = 0; $(document).ready(function () { $("#frmContratoIdEstado").change(function () { if ($(this).prop("disabled")) return; const val = $(this).val(); const frmContratoTramitacion = $("#frmContratoTramitacion"); const frmContratoActivacion = $("#frmContratoActivacion"); if (val == 2) { frmContratoTramitacion.prop("readonly", false); if (frmContratoTramitacion.data("mask") != 1) { frmContratoTramitacion.mask("99/99/9999"); frmContratoTramitacion.data("mask", 1); } frmContratoActivacion.prop("readonly", true); } else if (val == 4) { frmContratoActivacion.prop("readonly", false); if (frmContratoActivacion.data("mask") != 1) { frmContratoActivacion.mask("99/99/9999"); frmContratoActivacion.data("mask", 1); } frmContratoTramitacion.prop("readonly", true); } else { frmContratoTramitacion.prop("readonly", true); frmContratoActivacion.prop("readonly", true); } }); $("#frmContratoIdEstado").trigger("change"); $("#frmContratoDual").change(ClassWeb.muestraOcultaContratoDual); let companiaProducto = $("#frmContratoIdCompania, #frmContratoIdProducto, #frmContratoIdTipoTarifa"); companiaProducto.change(ClassWeb.productoCambiado); let companiaProductoDual = $("#frmDualIdCompania, #frmDualIdProducto"); companiaProductoDual.change(ClassWeb.productoCambiadoDual); //ClassWeb.actualizarTarifaOferta(); var body = $("body"); if (esAdmin) { let autocompleteBuscarComercial = $("#frmContratoUsuario"); autocompleteBuscarComercial.keyup(function () { if ($(this).val() === "") { ClassWeb.cargarDatosComercial(undefined, "frmContratoIdUsuario", "frmContratoUsuario"); } }); autocompleteBuscarComercial.autocomplete({ source: "ajax/Comerciales.buscar.php?CSRF=" + CSRF, minLength: 3, response: function (event, ui) { $(event.target).removeClass("ui-autocomplete-loading"); }, change: function (event, ui) { $(event.target).removeClass("ui-autocomplete-loading"); if (!ui.item) { $(event.target).val("").data("item", null).removeClass("selected"); ClassWeb.cargarDatosComercial(undefined, "frmContratoIdUsuario", "frmContratoUsuario"); calculaComisiones(); } }, select: function (event, ui) { $(event.target).data("item", ui.item).addClass("selected"); ClassWeb.cargarDatosComercial(ui.item, "frmContratoIdUsuario", "frmContratoUsuario"); calculaComisiones(); } }); } body.on("click", ".btnEliminarContrato", function (e) { var idContrato = $(this).attr("data-id"); ClassBlockUI.abrirBlockUIConfirm("¿Estas seguro de que deseas borrar el contrato?", "Aceptar", function () { Utils.sendStandardAjax(null, "ajax/Contrato.eliminar.php?id=" + idContrato); }, "Cancelar"); return false; }); body.on("click", ".btnEditarContrato", function (e) { var idContrato = $(this).attr("data-id"); window.location = "/contratos/?id=" + idContrato + "&e=1"; return false; }); let compania = $("#frmContratoIdCompania"); if (idCompania > 0 && compania.val() * 1 !== idCompania) { compania.append(""); compania.val(idCompania); } let producto = $("#frmContratoIdProducto"); if (idProducto > 0 && producto.val() * 1 !== idProducto) { producto.append(""); producto.val(idProducto); } let tarifa = $("#frmContratoIdTarifa"); if (idTarifa > 0 && tarifa.val() * 1 !== idTarifa) { tarifa.append(""); tarifa.val(idTarifa); } let oferta = $("#frmContratoIdOferta"); if (idOferta > 0 && oferta.val() * 1 !== idOferta) { oferta.append(""); oferta.val(idOferta); } tarifa.change(cargarComisiones); oferta.change(cargarComisiones); $("#frmContratoComisionServicio").keyup(calculaComisiones); let comisionDown = 0; $("#frmContratoComisionAdministrador").keydown(function () { comisionDown = $(this).val(); }); $("#frmContratoComisionAdministrador").keyup(function () { const val = $(this).val(); $("#frmContratoComisionAdministrador").val(val.replace(".", ",")); if (comisionDown !== val && val.length > 0) $("#comisionAdminCambiado").val(1); else $("#comisionAdminCambiado").val(0); //$("#frmContratoComisionAdministrador").val($("#frmContratoComisionAdministrador").val().replace(",", ".")); calculaComisiones(); }); let autocompleteBuscarCP = $("#frmContratoCP"); if (!autocompleteBuscarCP.is('[readonly]')) { autocompleteBuscarCP.keyup(function () { if ($(this).val() === "") { ClassWeb.cargarPoblacion(); } }); autocompleteBuscarCP.autocomplete({ source: "ajax/CP.buscar.php?CSRF=" + CSRF, minLength: 3, response: function (event, ui) { if (!ui.content.length) { var noResult = {value: "", label: "No results found"}; ui.content.push(noResult); $.notify( { title: "Error: ", message: "No se ha podido buscar el CP indicado, por favor asegurese de que escribe un codigo postal correcto y dispone de conexion a internet.", }, { type: 'danger', placement: { from: "top", align: "center" }, delay: 10000 }); } $(event.target).removeClass("ui-autocomplete-loading"); }, change: function (event, ui) { $(event.target).removeClass("ui-autocomplete-loading"); if (!ui.item) { $(event.target).val("").data("item", null).removeClass("selected"); ClassWeb.cargarPoblacion(); } }, select: function (event, ui) { $(event.target).data("item", ui.item).addClass("selected"); ClassWeb.cargarPoblacion(ui.item); }, open: function (event, ui) { if ($(".ui-menu-item").length == 1) { $(".ui-menu-item:eq(0)").trigger("click"); return false; } }, focus: function () { return false; } }); autocompleteBuscarCP.on('autocompleteselect', function (e, ui) { var cp_input = $(this), poblacion_input = $('#frmContratoPoblacion'), provincia_input = $('#frmContratoProvincia'), cp = (e.type == 'autocompleteresponse' ? ui.content[0].cp : ui.item.cp), poblacion = (e.type == 'autocompleteresponse' ? ui.content[0].poblacion : ui.item.poblacion), provincia = (e.type == 'autocompleteresponse' ? ui.content[0].provincia : ui.item.provincia); cp_input.val(cp); poblacion_input.val(poblacion); provincia_input.val(provincia); return false; }); autocompleteBuscarCP.click(function () { autocompleteBuscarCP.autocomplete("search", autocompleteBuscarCP.val()); }); } const elementsPotenciaConsumo = $(".input-potencia, .input-consumo"); elementsPotenciaConsumo.keyup(function () { //$(this).val($(this).val().replace(".", ",")); let elements; if ($(this).hasClass("input-potencia")) elements = $(".input-potencia"); else elements = $(".input-consumo"); let total = 0; elements.each(function (i, e) { total += $(e).val().replace(",", ".") * 1 || 0; }); if ($(this).hasClass("input-potencia")) { $("#frmContratoPotencia").val(Utils.number_format(total, { decimalSeparator: ",", thousandSeparator: "", })); } else { $("#frmContratoConsumo").val(Utils.number_format(total, { decimalSeparator: ",", thousandSeparator: "", })); cargarComisiones(); } //$(this).val($(this).val().replace(",", ".") * 1 || ""); }); // //let precioKWActual = $("#frmContratoPrecioKWActual"); //precioKWActual.keyup(function () { // $(this).val($(this).val().replace(".", ",")); //}); // //let precioKWNuevo = $("#frmContratoPrecioKWNuevo"); //precioKWNuevo.keyup(function () { // $(this).val($(this).val().replace(".", ",")); //}); ClassWeb.compruebaGasPotencia(false); ClassWeb.compruebaGasPotencia(true); }); let timeOutCargar; function cargarComisiones() { const consumo = $("#frmContratoConsumo").val().replace(",", ".")*1 || 0; const idOferta = $("#frmContratoIdOferta").val(); const idTarifa = $("#frmContratoIdTarifa").val(); if (!idOferta || !idTarifa || consumo === 0) return; clearTimeout(timeOutCargar); timeOutCargar = setTimeout(function () { let successCallback = function (data, textStatus, XMLHttpRequest) { $(".modalAutoHide").modal("hide"); if (data["error_number"] >= 0) { lastComisionCargada = data["comision"]; calculaComisiones(); } }; Utils.sendStandardAjax(null, "https://gestion.fotonasesoreshellin.com/ajax/ContratosComisiones.cargar.php?CSRF=" + CSRF + "&idOferta=" + idOferta+"&idTarifa=" + idTarifa+"&consumo="+consumo, { successCallback: successCallback, esperePorFavor: false, }); }, 300); } function calculaComisiones() { const comisionAdminCambiado = $("#comisionAdminCambiado").val()*1 || 0; const comisionServicio = $("#frmContratoComisionServicio").val().replace(",", ".")*1 || 0; const porcentajeComercial = $("#porcentajeComisionComercial").val()*1 || 0; const elementComisionAdmin = $("#frmContratoComisionAdministrador"); let comisionAdmin = elementComisionAdmin.val().replace(",", ".")*1 || 0; if (comisionAdminCambiado === 0) { comisionAdmin = lastComisionCargada + comisionServicio; elementComisionAdmin.val(Utils.number_format((Math.round((comisionAdmin + Number.EPSILON) * 100) / 100), { decimalSeparator: ",", thousandSeparator: "" })); } let comisionComercial = comisionAdmin > 0 ? porcentajeComercial * comisionAdmin / 100 : 0; $("#frmContratoComision").val(Utils.number_format((Math.round((comisionComercial + Number.EPSILON) * 100) / 100), { decimalSeparator: ",", thousandSeparator: "" })); } }; static cargarPoblacion(item) { $("#frmContratoIdPoblacion").val(item === undefined ? "" : item["id"]); } static initGestionUsuario() { var body = $("body"); body.on("click", ".btnGuardarGestionUsuario", function (e) { var opciones = { "opcionesValidacion": { showLabels: false, rules: { "frmUsuariosRepiteContrasena": { "equalTo": "#frmUsuariosContrasena" } } }, }; Utils.sendStandardAjax("frmUsuarios", "ajax/Usuarios.editar.php", opciones); return false; }); body.on("change", "input[name='frmProductosTipoUsuario']", ClassWeb.preparaTipoUsuario); ClassWeb.preparaTipoUsuario(); }; static preparaTipoUsuario() { switch ($("input[name='frmProductosTipoUsuario']:checked").val() * 1) { case 1: { $(".fg-comision").addClass("d-none"); $("#frmProductosIdPadreAdministrador").attr("disabled", true); $("#frmProductosIdPadreGerente").attr("disabled", true); break; } default: case 3: { $(".fg-comision").removeClass("d-none"); $("#frmProductosIdPadreAdministrador").attr("disabled", true); $("#frmProductosIdPadreGerente").attr("disabled", false); break; } case 2: { $(".fg-comision").removeClass("d-none"); $("#frmProductosIdPadreAdministrador").attr("disabled", false); $("#frmProductosIdPadreGerente").attr("disabled", true); break; } } } static initEquipo() { $(document).ready(function () { var body = $("body"); body.on("click", ".btnEditarUsuario", function (e) { let idUsuario = $(this).attr("data-idUsuario"); let esperePorFavor = Utils.sendStandardAjax(null, "ajax/Usuarios.datos.php?idUsuario=" + idUsuario, { "successCallback": function (data, textStatus, XMLHttpRequest) { if (data["error_number"] >= 0) { esperePorFavor.modal("hide"); ClassWeb.abrirEditarUsuario(idUsuario); /* objetivo*/ $("#frmUsuariosNombre").val(data["datos"]["nombre"]); $("#frmUsuariosTelefono").val(data["datos"]["telefono"]); $("#frmUsuariosComision").val(data["datos"]["porcentajeComision"]); $("#frmUsuariosEmail").val(data["datos"]["email"]); $("#frmProductosTipoUsuario").val(data["datos"]["idRol"]); $("input[name^='frmUsuariosLiquidacion']").val(""); $.each(data["extraLiquidaciones"], function (i, e) { $("#frmUsuariosLiquidacion_"+(i + 1)+"_nombre").val(e.concepto); $("#frmUsuariosLiquidacion_"+(i + 1)+"_cantidad").val(e.cantidad); $("#frmUsuariosLiquidacion_"+(i + 1)+"_quincena").val(e.quincena); }); ClassWeb.setIdRol(data["datos"]["idRol"] * 1, data["datos"]["idSuperior"]); } else { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined, ""); } } }) return false; }); body.on("click", ".btnBloquearDesbloquear", function (e) { let idUsuario = $(this).attr("data-idUsuario"); let estado = $(this).attr("data-estado") * 1; let bloqueado = estado === 0 ? 1 : 0; let esperePorFavor = Utils.sendStandardAjax(null, "ajax/Usuarios.bloquearDesbloquear.php?idUsuario=" + idUsuario + "&bloqueado=" + bloqueado, { "successCallback": function (data, textStatus, XMLHttpRequest) { if (data["error_number"] >= 0) { esperePorFavor.modal("hide"); tablatablaEquipo.ajax.reload(); } else { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined, ""); } } }) return false; }); body.on("click", ".btnAnadirUsuario", function (e) { ClassWeb.abrirEditarUsuario(0); $("#frmUsuarios")[0].reset(); ClassWeb.setIdRol(1); $(".soloExistentes").hide(); $("#frmUsuariosContrasena, #frmUsuariosRepiteContrasena").addClass("required"); return false; }); $(".barra_busqueda_global").html(""); $(".barra_busqueda_global").append($(".dataTables_filter input").detach()); }); }; static setIdRol(idRol, idSuperior) { switch (idRol) { case 1: { $("#frmProductosTipoUsuarioAdministrador").prop("checked", true).trigger('change'); break; } case 2: { $("input[name='frmProductosTipoUsuario'][value=" + 2 + "]").attr("checked", "checked"); $("#frmProductosIdPadreAdministrador").val(idSuperior); $("#frmProductosTipoUsuarioGerente").prop("checked", true).trigger('change'); break; } default: case 3: { $("input[name='frmProductosTipoUsuario'][value=" + 3 + "]").attr("checked", "checked"); $("#frmProductosIdPadreGerente").val(idSuperior); $("#frmProductosTipoUsuarioComercial").prop("checked", true).trigger('change'); break; } } }; static abrirEditarUsuario(idUsuario) { $("#frmUsuariosID").val(idUsuario); $(".soloExistentes").show(); $("#frmUsuariosContrasena, #frmUsuariosRepiteContrasena").removeClass("required"); ClassBlockUI.abrirBlockUIEstandar("modalUsuarios", undefined, "Gestión de Usuarios", "modal670"); }; static requierePasswordActualNuevo() { return $("#frmUsuarioPassActual").val() !== "" || $("#frmUsuarioPassNueva").val() !== "" || $("#frmUsuarioPassRepite").val() !== ""; } static initMisDatos() { $(document).ready(function () { var body = $("body"); body.on("click", ".btnGuardarMisDatos", function (e) { let esperePorFavor = Utils.sendStandardAjax("frmUsuario", "ajax/Usuarios.actualizar.php", { "opcionesValidacion": { showLabels: false, rules: { "frmUsuarioPassActual": { required: ClassWeb.requierePasswordActualNuevo }, "frmUsuarioPassNueva": { required: ClassWeb.requierePasswordActualNuevo }, "frmUsuarioPassRepite": { required: ClassWeb.requierePasswordActualNuevo, "equalTo": "#frmUsuarioPassNueva" } } }, "successCallback": function (data, textStatus, XMLHttpRequest) { if (data["error_number"] * 1 >= 0) { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined, ""); } else { var errorMessage = "
    "; var lastError = ""; for (var i in data["info"]) { if (typeof (data["info"][i]) == "function") continue; errorMessage += data["info"][i] + "
    \r\n"; lastError = i; } ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"] + errorMessage, true, undefined); } } }) return false; }); }); }; static initObjetivos() { $(document).ready(function () { var body = $("body"); body.on("click", ".btnGuardarMisObjetivos", function (e) { let esperePorFavor = Utils.sendStandardAjax("frmObjetivos", "ajax/Usuarios.objetivos.php", { "successCallback": function (data, textStatus, XMLHttpRequest) { if (data["error_number"] * 1 >= 0) { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined, ""); } else { var errorMessage = "
    "; var lastError = ""; for (var i in data["info"]) { if (typeof (data["info"][i]) == "function") continue; errorMessage += data["info"][i] + "
    \r\n"; lastError = i; } ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"] + errorMessage, true, undefined); } } }) return false; }); }); }; static refrescaTabla(idTabla, indexTablaMovil) { $(".tooltipStandard").not(".tooltipstered").tooltipster({ animation: 'grow', interactive: true, position: 'bottom', contentAsHTML: true }); $(".inputIconLupa, .inputMostrar").removeClass("d-none"); $(".form-control").removeClass().addClass("form-control-b"); //var numItems = 0; let tabla = eval("tabla" + idTabla); if (typeof tabla != "undefined") { //numItems = tabla.page.info().recordsDisplay; } else if ($.fn.dataTable.isDataTable('#' + idTabla)) { tabla = $('#' + idTabla).DataTable(); //numItems = tabla.page.info().recordsDisplay; } //if (numItems > $("#"+idTabla+"_length select").val()) { // $("#"+idTabla+"_wrapper .pagination-footer").removeClass("opacity-0"); //} else { // $("#"+idTabla+"_wrapper .pagination-footer").addClass("opacity-0"); //} //Formato movil const numColumnaMv = indexTablaMovil !== undefined ? indexTablaMovil : 1; const numColumnas = tabla.columns()[0].length; if ($("#" + idTabla).hasClass("tablaMovil")) { const w = $(window).outerWidth(); if (w <= 767) //Ocultar { for (let i = 0; i < numColumnas; i++) { tabla.column(i).visible((numColumnaMv === i)); } } else //Mostrar { for (let i = 0; i < numColumnas; i++) { let txt = $(tabla.columns(i).header()).text(); let noVis = $(tabla.columns(i).header()).hasClass("forceNoVis"); tabla.column(i).visible((!(txt === "oculto" || numColumnaMv === i || noVis))); } } } }; static filtrarFechaContratos() { ClassWeb.modalFiltrarFechas = ClassBlockUI.abrirBlockUIEstandar("modalFiltrarFecha", undefined, "Filtrar Fechas", ""); }; static borrarAvanzadosContratos() { $(".select2").val("").trigger("change"); $("#frmFechaDesde").val(""); $("#frmFechaHasta").val(""); }; static activarFiltrosAvanzadosContratos(idTabla) { if (ClassWeb.filtrosContratosActivados === 1) { return; } $(".btnActivarFiltros").addClass("d-none"); $(".btnBorrarFiltros").removeClass("d-none"); ClassWeb.filtrosContratosActivados = 1; let count = 0; //$(".select2").remove(); $("#" + idTabla).dataTable().api().columns().every(function (columnIndex) { let columnName = this.settings()[0].aoColumns[columnIndex]["name"]; let columnTitle = this.settings()[0].aoColumns[columnIndex]["titulo"]; var column = this; if (!columnName || columnName === "ignorar" || columnName === "oculto" || !column.visible()) { return; } var title = columnTitle.replace(/[\W]/g, '-'); var select = $('') .appendTo($(column.header())) .on('change', function () { //Get the "text" property from each selected data //regex escape the value and store in array var data = $.map($(this).select2('data'), function (value, key) { return value.id ? '' + $.fn.dataTable.util.escapeRegex(value.id) + '' : null; }); //if no data selected use "" if (data.length === 0) { data = [""]; } //join array into string with regex or (|) var val = data.join('||'); //search for the option(s) selected column .search(val ? val : '') .draw(); }); //column.data().unique().sort().each( function ( d, j ) { // select.append( '' ); //} ); //use column title as selector and placeholder $('#' + columnName).select2({ multiple: true, closeOnSelect: false, placeholder: columnTitle, ajax: { url: 'ajax/Contratos.datosColumna.php?CSRF=' + CSRF + '&idColumna=' + columnName + "&idTabla=" + idTabla, dataType: 'json', // Additional AJAX parameters go here; see the end of this chapter for the full code of this example processResults: function (data) { // Transforms the top-level key of the response object from 'items' to 'results' return { results: data.items }; } } }); }); //initially clear select otherwise first option is selected //$('.select2').val(null).trigger('change'); }; static borrarAvanzadosEquipo() { $(".select2").val("").trigger("change"); }; static activarFiltrosAvanzadosEquipo(idTabla) { if (ClassWeb.filtrosContratosActivados === 1) { return; } $(".btnActivarFiltros").addClass("d-none"); $(".btnBorrarFiltros").removeClass("d-none"); ClassWeb.filtrosContratosActivados = 1; let count = 0; //$(".select2").remove(); $("#" + idTabla).dataTable().api().columns().every(function (columnIndex) { let columnName = this.settings()[0].aoColumns[columnIndex]["name"]; let columnTitle = this.settings()[0].aoColumns[columnIndex]["titulo"]; var column = this; if (!columnName || columnName === "ignorar" || columnName === "oculto" || !column.visible()) { return; } var title = columnTitle.replace(/[\W]/g, '-'); var select = $('') .appendTo($(column.header())) .on('change', function () { //Get the "text" property from each selected data //regex escape the value and store in array var data = $.map($(this).select2('data'), function (value, key) { return value.id ? '' + $.fn.dataTable.util.escapeRegex(value.id) + '' : null; }); //if no data selected use "" if (data.length === 0) { data = [""]; } //join array into string with regex or (|) var val = data.join('||'); //search for the option(s) selected column .search(val ? val : '') .draw(); }); //column.data().unique().sort().each( function ( d, j ) { // select.append( '' ); //} ); //use column title as selector and placeholder $('#' + columnName).select2({ multiple: true, closeOnSelect: false, placeholder: columnTitle, ajax: { url: 'ajax/Equipo.datosColumna.php?CSRF=' + CSRF + '&idColumna=' + columnName + "&idTabla=" + idTabla, dataType: 'json', // Additional AJAX parameters go here; see the end of this chapter for the full code of this example processResults: function (data) { // Transforms the top-level key of the response object from 'items' to 'results' return { results: data.items }; } } }); }); //initially clear select otherwise first option is selected //$('.select2').val(null).trigger('change'); }; static initVerContrato(idCliente) { let body = $("body"); body.on("click", ".btnAñadirContratos", function (e) { window.location = "/contratos/?idCliente=" + idCliente + "&c=1"; }); }; static initAgenda() { $(document).ready(function () { ClassWeb.resourceData = []; ClassWeb.visibleResourceIds = []; $("#frm-filtro-calendar .btnCerrar, .btnAbrirComerciales").click(function () { $("#frm-filtro-calendar").toggleClass("open"); }); $(".item-usuario-filtro input").each(function () { ClassWeb.resourceData.push({ id: $(this).attr("data-id"), title: $(this).attr("data-usuario"), "eventClassNames": $(this).attr("data-color") + " active showOnAgenda" }); ClassWeb.visibleResourceIds.push($(this).attr("data-id")); $(this).change(function () { $(this).toggleClass("active"); toggleResource($(this).attr("data-id")); }); }); ClassWeb.fullCalendar = new FullCalendar.Calendar($("#calendar")[0], { //timeZone: "America/New_York", timeZone: "Europe/Madrid", schedulerLicenseKey: "0221401364-fcs-1627045855", headerToolbar: { left: 'prev,next today', center: 'title', right: "dayGridMonth timeGridWeek timeGridDay", }, views: { resourceTimeGridDay: { // name of view titleFormat: {year: 'numeric', month: 'long', day: 'numeric', weekday: 'long'} } }, dayMaxEvents: 3, //dayPopoverFormat: {month: 'long', day: 'numeric', year: 'numeric'}, locale: 'es', allDaySlot: false, initialDate: new Date().toISOString(), initialView: 'dayGridMonth', nowIndicator: true, eventSources: [ { url: "ajax/Usuarios.agenda.php", method: 'POST', extraParams: { "CSRF": CSRF, }, failure: function (e) { ClassBlockUI.abrirBlockUIEstandarMensaje("Se ha producido un error al cargar la agenda", true); }, success: function (content, xhr) { let currentUnixtime = new Date().getTime() / 1000; return content.eventArray; } }, ], eventTimeFormat: { // like '14:30:00' hour: '2-digit', minute: '2-digit', //omitZeroMinute: true, //second: '2-digit', meridiem: false }, resources: function (fetchInfo, successCallback, failureCallback) { // Filter resources by whether their id is in visibleResourceIds. var filteredResources = []; if (ClassWeb.resourceData) { filteredResources = ClassWeb.resourceData.filter(function (x) { return ClassWeb.visibleResourceIds.indexOf(x.id) !== -1; }); } successCallback(filteredResources); }, editable: false, selectable: true, loading: function (bool) { if (bool) { $(".loadingText").remove(); } }, selectConstraint: "businessHours", eventConstraint: "businessHours", eventOrder: 'numOrder,start', dateClick: function (info) { ClassWeb.lastDateSelected = moment(info.dateStr); $("#btn-anadir").attr("href", $("#btn-anadir").attr("data-url") + "?fecha=" + ClassWeb.lastDateSelected.format("DD/MM/YYYY")); }, //eventMouseEnter eventClick: function (info) { ClassWeb.calendarEventClick(info); }, height: "100%" }); ClassWeb.fullCalendar.render(); function toggleResource(resourceId) { var index = ClassWeb.visibleResourceIds.indexOf(resourceId); if (index !== -1) { ClassWeb.visibleResourceIds.splice(index, 1); } else { ClassWeb.visibleResourceIds.push(resourceId); } ClassWeb.fullCalendar.refetchResources(); } }); } static initCita(idUsuario, currentDate) { currentDate = new Date(currentDate); var spanishCalendar = { days: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'], daysShort: ['Dom', 'Lun', 'Mar', 'Mie', 'Jue', 'Vie', 'Sab'], daysMin: ['D', 'L', 'M', 'X', 'J', 'V', 'S'], months: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'], monthsShort: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'], today: 'Hoy', clear: 'Limpiar', dateFormat: 'dd/MM/yyyy', timeFormat: 'hh:mm aa', firstDay: 1 }; ClassWeb.datapicker = null; $(document).ready(function () { $("#cita-inicio").mask("99:99"); const elementUsuarioSeleccionado = $("#cita-comerciales input:checked")[0]; if (elementUsuarioSeleccionado) { elementUsuarioSeleccionado.setAttribute('tabindex', '-1'); elementUsuarioSeleccionado.focus(); elementUsuarioSeleccionado.removeAttribute('tabindex'); } ClassWeb.datapicker = new AirDatepicker('#cita-calendario', { locale: spanishCalendar, inline: true, selectedDates: [currentDate], minDate: new Date(1766315886 * 1000), maxDate: new Date(1776766686 * 1000), onSelect({date, formattedDate, datepicker}) { if (date !== undefined) { const fecha = new Date(date); const opciones = {weekday: 'long', year: 'numeric', month: 'long', day: 'numeric'}; const fechaFormateada = fecha.toLocaleDateString('es-ES', opciones); $("#barra-resumen-cita-dia").html(capitalizeFirstLetter(fechaFormateada.split(', ')[0]) + ', ' + fechaFormateada.split(' ')[1] + ' de ' + capitalizeFirstLetter(fechaFormateada.split(' ')[3])); $("#cita-fecha").val(formattedDate); fecha.setHours(10); ClassWeb.fullCalendar.gotoDate(fecha); } } }) initCalendar(); initGuardarCita(); $("#cita-comerciales input").change(function () { const nombre = $(this).parent().find(".form-checkbox-text").html(); $("#barra-resumen-cita-comercial").html(nombre); ClassWeb.fullCalendar.refetchEvents(); }); }); function initGuardarCita() { $(".btnGuardarCita").click(function () { Utils.sendStandardAjax("frm-cita", "https://gestion.fotonasesoreshellin.com/ajax/Cita.guardar.php?CSRF=" + CSRF, { successCallback: "https://gestion.fotonasesoreshellin.com/agenda/", }); }); } function initCalendar() { ClassWeb.fullCalendar = new FullCalendar.Calendar($("#calendar")[0], { //timeZone: "America/New_York", timeZone: "Europe/Madrid", schedulerLicenseKey: "0221401364-fcs-1627045855", headerToolbar: { left: '', center: '', right: '', }, views: { resourceTimeGridDay: { // name of view titleFormat: {year: 'numeric', month: 'long', day: 'numeric', weekday: 'long'} } }, dayMaxEvents: 3, //dayPopoverFormat: {month: 'long', day: 'numeric', year: 'numeric'}, locale: 'es', allDaySlot: false, initialDate: currentDate.toISOString(), initialView: 'timeGridDay', nowIndicator: true, eventSources: { url: "ajax/Usuarios.agenda.php", method: 'POST', extraParams: function () { // a function that returns an object return { "CSRF": CSRF, "idComercial": $("#cita-comerciales input:checked").val() || idUsuario, }; }, failure: function () { ClassBlockUI.abrirBlockUIEstandarMensaje("Se ha producido un error al cargar la agenda", true); }, success: function (content, xhr) { let currentUnixtime = new Date().getTime() / 1000; return content.eventArray; } }, eventTimeFormat: { // like '14:30:00' hour: '2-digit', minute: '2-digit', //omitZeroMinute: true, //second: '2-digit', meridiem: false }, /*resources: function (fetchInfo, successCallback, failureCallback) { // Filter resources by whether their id is in visibleResourceIds. var filteredResources = []; if (ClassWeb.resourceData) { filteredResources = ClassWeb.resourceData.filter(function (x) { return ClassWeb.visibleResourceIds.indexOf(x.id) !== -1; }); } successCallback(filteredResources); },*/ editable: false, selectable: true, loading: function (bool) { if (bool) { $(".loadingText").remove(); } }, slotMinTime: '07:00', slotMaxTime: '22:00', businessHours: { daysOfWeek: [1, 2, 3, 4, 5, 6, 0], startTime: '07:00', endTime: '22:00', }, selectConstraint: null, eventConstraint: "businessHours", eventOrder: 'numOrder,start', dateClick: function (info) { const fecha = new Date(info.dateStr); //if($("#cita-inicio").val() == "") { $("#cita-inicio").val(fecha.getHours() + ":" + (fecha.getMinutes() < 10 ? '0' : '') + fecha.getMinutes()) } }, //eventMouseEnter eventClick: function (info) { ClassWeb.calendarEventClick(info); }, height: "100%" }); ClassWeb.fullCalendar.render(); } function capitalizeFirstLetter(string) { return string[0].toUpperCase() + string.slice(1); } } static calendarEventClick(info) { let infoCalendar = $('.infoCalendar'); if (infoCalendar.length !== 1) { return; } let event = info.event; let jsEvent = info.jsEvent; let view = info.view; // let parent = $(jsEvent.target).closest(view.type === "dayGridMonth" ? '.fc-daygrid-event' : '.fc-timegrid-event'); //let parent = $(jsEvent.target).closest('.fc-timegrid-event'); if (!parent.hasClass("tooltipstered")) { let colorClass = $(".form-check-input[data-id=" + event.extendedProps.idUsuario + "]").attr("data-color"); colorClass = colorClass !== undefined ? colorClass : "ownAgenda"; //let childToolTipstered = null; let content = $("
    "); var extraClass = ""; content.addClass("infoCalendarOnToolTipster " + extraClass); content.append( infoCalendar.html() .replace("%colorClass%", colorClass + " active") .replaceAll("%0%", !event.extendedProps.esEditable ? "d-none" : "") //.replace("%1%", ""+event.extendedProps.usuario+"
    "+event.extendedProps.descripcion) .replace("%1%", event.extendedProps.usuario) .replace("%2%", event.extendedProps.fecha) .replace("%3%", event.extendedProps.cliente) .replace("%5%", event.extendedProps.telefono) .replace("%4%", "https://gestion.fotonasesoreshellin.com/editar-cita/?cita=" + event.extendedProps.idEvento) .replace("%6%", event.extendedProps.idEvento) ); content.data("event", event); parent.tooltipster({ autoClose: false, hideOnClick: false, contentAsHTML: true, trigger: "custom", content: content, minWidth: 325, maxWidth: 325, theme: "infoCalendarToolTipster", interactive: true, functionReady: function (instance, helper) { $(helper.tooltip).find(".btnCalendarButtonClose").unbind("click").bind("click", function () { parent.tooltipster("hide"); //instance.close(); }); $(helper.tooltip).find(".btnCalendarEliminar").unbind("click").bind("click", function () { const id = $(this).attr("data-id"); ClassBlockUI.abrirBlockUIConfirm("Va a eliminar una cita, ¿Desea continuar?", "Aceptar", function () { eliminarCita(id); }, "Cancelar"); }); $(helper.tooltip).data("instance", instance); $(".infoCalendarOnToolTipster .tooltipOver").tooltipster({ multiple: true, animation: 'grow', interactive: true, position: 'bottom' }); }, functionBefore: function (origin, continueTooltip) { $.each($.tooltipster.instances(), function (i, instance) { instance.close(); }); }/*, functionAfter: function(origin) { }*/ }); } parent.tooltipster("show"); function eliminarCita(id) { let successCallback = function (data, textStatus, XMLHttpRequest) { if (data["error_number"] >= 0) { $(".modal").modal("hide"); ClassWeb.fullCalendar.refetchEvents(); } ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); }; Utils.sendStandardAjax(null, "https://gestion.fotonasesoreshellin.com/ajax/Cita.eliminar.php?CSRF=" + CSRF + "&id=" + id, { successCallback: successCallback, }); } } static initLiquidaciones(urlAjax) { $(document).ready(function () { $("#fInicio, #fFin").mask("99/99/9999"); var body = $("body"); $(".barra_busqueda_global").html(""); $(".barra_busqueda_global").append($(".dataTables_filter input").detach()); body.on("change", ".btn-marcar-cobrada input", function (e) { const id = $(this).attr("data-id")*1; let successCallback = function (data, textStatus, XMLHttpRequest) { if (data["error_number"] >= 0) { $(".modal").modal("hide"); tablatablaLiquidacionesContratos.ajax.reload(); } if (data["error_message"]) ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); }; Utils.sendStandardAjax(null, "https://gestion.fotonasesoreshellin.com/ajax/LiquidacionContrato.marcarComisionPagada.php?CSRF=" + CSRF + "&id=" + id, { successCallback: successCallback, }); }); body.on("click", ".btnExportarLiquidaciones", function (e) { const item = $("#usuario").data("item"); const usuario = item ? item.id : ""; const fInicio = $("#fInicio").val(); const fFin = $("#fFin").val(); let extraUrl = ""; if (fInicio.replaceAll("_", "").length === 10) extraUrl += "&fInicio=" + fInicio; if (fFin.replaceAll("_", "").length === 10) extraUrl += "&fFin=" + fFin; window.location = "/exportarDatos.php?t=gl_&usuario=" + usuario + extraUrl; return false; }); let toFecha; body.on("keyup", "#fInicio, #fFin", function () { clearTimeout(toFecha); toFecha = setTimeout( actualizaTabla, 800 ) }); let autocompleteBuscarComercial = $("#usuario"); autocompleteBuscarComercial.keyup(function () { if ($(this).val() === "") { autocompleteBuscarComercial.data("item", null); actualizaTabla(); } }); autocompleteBuscarComercial.autocomplete({ source: "ajax/Comerciales.buscar.php?CSRF=" + CSRF, minLength: 3, response: function (event, ui) { $(event.target).removeClass("ui-autocomplete-loading"); }, change: function (event, ui) { $(event.target).removeClass("ui-autocomplete-loading"); if (!ui.item) { $(event.target).val("").data("item", null).removeClass("selected"); actualizaTabla(); } }, select: function (event, ui) { $(event.target).data("item", ui.item).addClass("selected"); actualizaTabla(); } }); }); function actualizaTabla() { const item = $("#usuario").data("item"); const usuario = item ? item.id : ""; const fInicio = $("#fInicio").val(); const fFin = $("#fFin").val(); let extraUrl = ""; if (fInicio.replaceAll("_", "").length === 10) extraUrl += "&fInicio=" + fInicio; if (fFin.replaceAll("_", "").length === 10) extraUrl += "&fFin=" + fFin; tablatablaLiquidaciones.ajax.url(urlAjax+"&usuario="+usuario+extraUrl).load(); } } }