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"); }); } 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) { if(restaurarElemento || restaurarElemento == undefined) { ClassBlockUI.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 () { 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 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, { "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) { tarifa.val(previousTarifa); } } }); }; 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"); $("#frmOfertasidOferta").val($(this).attr("data-id")); $("#frmOfertasidCompania").val($(this).attr("data-idCompania")); $("#frmOfertasTitulo").val($(this).attr("data-title")); let idProducto = $(this).attr("data-idProducto"); let radio = $("input:radio[name='frmOfertasProducto']"); if(idProducto > 0) { radio.attr("checked", false); radio.attr("disabled", true); $("input:radio[name='frmOfertasProducto'][value="+idProducto+"]").attr("checked", true); } else { $("input:radio[name='frmOfertasProducto']").attr("checked", false); radio.attr("disabled", 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) { $("#"+tabla).DataTable().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; }); 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()); } }); }; 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, .contieneCUPS)', 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", ".contrato-comision", ClassWeb.cambiarComisionContrato); body.on("click", ".btnCambiarComision", ClassWeb.enivarCambiarComisionContrato); } 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: "#2ee800" }, "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) { 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 cambiarComisionContrato(e) { ClassWeb.modalCambiarComision = ClassBlockUI.abrirBlockUIEstandar("modalCambiarComision", undefined, "Cambiar Comisión", "modal493"); let comision = $("#frmCCCIdEstado"); comision.val($(this).attr("data-idComision")); $("#frmCCCIDContrato").val($(this).attr("data-idContrato")); comision.trigger("change"); return false; }; static enivarCambiarComisionContrato(e) { let modal = Utils.sendStandardAjax("frmContratosCambiarComision", "ajax/Contrato.cambiarComision.php", { "successCallback": function(data, textStatus, XMLHttpRequest) { if(typeof tablatablaContratos !== 'undefined') { tablatablaContratos.ajax.reload(); } if(typeof tablatablaRenovaciones !== 'undefined') { tablatablaRenovaciones.ajax.reload(); } modal.modal("hide"); if(ClassWeb.modalCambiarComision) { ClassWeb.modalCambiarComision.modal("hide"); } } }); return false; }; static initRenovaciones(esAdmin) { $(document).ready(function () { tablatablaRenovaciones.on('click', 'tr td:not(.contieneBtnEstado, .noVis, .contieneDNI, .contieneCUPS)', function () { var data = tablatablaRenovaciones.row($(this).parent()).data(); window.open("/contratos/?id="+data[1], '_blank'); }); 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", ".contrato-comision", ClassWeb.cambiarComisionContrato); body.on("click", ".btnCambiarComision", ClassWeb.enivarCambiarComisionContrato); } 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"]); $("#frmClienteEnlace").val(cliente["datos"]["enlaceCliente"]); $("#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); setTimeout(function () { $("body").focus(); $("#frmClienteDNI").focus(); }, 1000); } static cargarDatosComercial(comercial, formIdField, formIdName) { let formIdComercial = $("#"+formIdField); let formComercial = $("#"+formIdName); if(comercial === undefined || comercial["id"]*1 === -1) { formIdComercial.val(""); formComercial.val(""); setTimeout(function () { formComercial.val(""); }, 400) return; } formIdComercial.val(comercial["datos"]["idUsuario"]); formComercial.val(comercial["datos"]["nombre"]); } static cargarDatosClienteAutocomplete(cliente, formIdField, formIdName) { let formIdCliente = $("#"+formIdField); let formCliente = $("#"+formIdName); if(cliente === undefined || cliente["id"]*1 === -1) { formIdCliente.val(""); formCliente.val(""); setTimeout(function () { formCliente.val(""); }, 400) return; } formIdCliente.val(cliente["datos"]["gc_idCliente"]); formCliente.val(cliente["datos"]["nombre"]); } 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) } }, //"frmContratoPrecioKWActual": //{ // numericoDecimalesComa: true, //}, //"frmContratoPrecioKWNuevo": //{ // numericoDecimalesComa: true, //}, "frmContratoConsumo": { numericoPuntoSeparadorMiles: 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(); $(".btnCopiarEnlaceCliente").makeTagLink(function () { var $temp = $(""); $("body").append($temp); $temp.val($("#frmClienteEnlace").val()).select(); document.execCommand("copy"); $temp.remove(); $.notify( { title: "Aviso: ", message: "Enlace copiado", }, { type: 'info', placement: { from: "top", align: "center" }, delay: 10000 }); }); }); }; static compruebaGasPotencia(contratoDual) { let potencia = contratoDual === false ? $("#frmContratoPotencia") : $("#frmDualPotencia"); let producto = contratoDual === false ? $("#frmContratoIdProducto") : $("#frmDualIdProducto"); if(producto.is('[readonly]') && !contratoDual) { if(producto.val()*1 === 2) { potencia.val(""); } return; } if(producto.val()*1 === 2) { potencia.prop("readonly", true); potencia.addClass("readonly"); potencia.data("value", potencia.val()); potencia.val(""); } else { potencia.prop("readonly", false); potencia.removeClass("readonly"); let value = potencia.data("value"); if(value !== undefined) { potencia.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) { $(document).ready(function () { $("#frmContratoDual").change(ClassWeb.muestraOcultaContratoDual); let companiaProducto = $("#frmContratoIdCompania, #frmContratoIdProducto"); 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"); } }, select: function (event, ui) { $(event.target).data("item", ui.item).addClass("selected"); ClassWeb.cargarDatosComercial(ui.item, "frmContratoIdUsuario", "frmContratoUsuario"); } }); } let autocompleteBuscarCliente = $("#frmContratoCliente"); autocompleteBuscarCliente.keyup(function () { if($(this).val() === "") { ClassWeb.cargarDatosClienteAutocomplete(undefined, "frmContratoIdCliente", "frmContratoCliente"); } }); autocompleteBuscarCliente.autocomplete({ source: "ajax/Clientes.buscar.php?crearCliente=0&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.cargarDatosClienteAutocomplete(undefined, "frmContratoIdCliente", "frmContratoCliente"); } }, select: function (event, ui) { $(event.target).data("item", ui.item).addClass("selected"); ClassWeb.cargarDatosClienteAutocomplete(ui.item, "frmContratoIdCliente", "frmContratoCliente"); } }); 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); } 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()); }); } let potencia = $("#frmContratoPotencia, #frmDualPotencia"); potencia.keyup(function () { $(this).val($(this).val().replace(".", ",")); }); $("#frmContratoIdCompania").change(function () { ajustarMeses($("#frmContratoIdCompania"), $("#frmContratoMesesRenovacion")); }); $("#frmDualIdCompania").change(function () { ajustarMeses($("#frmDualIdCompania"), $("#frmDualMesesRenovacion")); }); // //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); }); function ajustarMeses(companiaElement, mesesElement) { const valor = companiaElement.val(); if (valor == 30) { mesesElement.find("option[value='']").after(""); mesesElement.val(9999999); } else { mesesElement.find("option[value='9999999']").remove(); if (mesesElement.val() == "") mesesElement.val(12); } } }; 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" } } }, "successCallback": function(data, textStatus, XMLHttpRequest) { if(data["error_number"]>=0) { $(".modal").modal("hide"); $("#tablaEquipo").DataTable().ajax.reload(); ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } else { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } } }; Utils.sendStandardAjax("frmUsuarios", "ajax/Usuarios.editar.php", opciones); return false; }); body.on("change", "input[name='frmProductosTipoUsuario']", ClassWeb.preparaTipoUsuario); ClassWeb.preparaTipoUsuario(); }; static preparaTipoUsuario() { $(".form-group-extra-gerente").addClass("d-none"); switch($("input[name='frmProductosTipoUsuario']:checked").val()*1) { case 1: { $("#frmProductosIdPadreAdministrador").attr("disabled", true); $("#frmProductosIdPadreGerente").attr("disabled", true); break; } default: case 3: { $("#frmProductosIdPadreAdministrador").attr("disabled", true); $("#frmProductosIdPadreGerente").attr("disabled", false); break; } case 2: { $("#frmProductosIdPadreAdministrador").attr("disabled", false); $("#frmProductosIdPadreGerente").attr("disabled", true); $(".form-group-extra-gerente").removeClass("d-none"); break; } } } static initEquipo($urlAjax) { $(document).ready(function () { var body = $("body"); $("#tab-equipo").on('shown.bs.tab', 'a[data-bs-toggle="tab"]', function (e) { const estado = $(this).attr("data-estado"); tablatablaEquipo.ajax.url($urlAjax+"&estado="+estado).load(); }); 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"]); $("#frmUsuariosEmail").val(data["datos"]["email"]); $("#frmProductosTipoUsuario").val(data["datos"]["idRol"]); $("#frmUsuariosContrasena, #frmUsuariosRepiteContrasena").val(""); const tipoLiq = data["datos"]["tipoLiquidacion"]; $("input[name='frmProductosTipoLiquidacion'][value='"+tipoLiq+"']").prop("checked", true); 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", "modal493"); }; 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 notify(msg, error = false) { const type = error ? "danger" : "success"; $.notify({ message: msg, }, { type: type, placement: { from: "top", align: "right" }, delay: 3000 }); } static filtrarFechaContratos() { ClassWeb.modalFiltrarFechas = ClassBlockUI.abrirBlockUIEstandar("modalFiltrarFecha", undefined, "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 initEquipoComisiones(idUsuario, tablaComisiones, tablaAdelantos, tablaReferidos) { $(document).ready(function () { var body = $("body"); /*body.on('shown.bs.tab', 'a[data-bs-toggle="tab"]', function (e) { const tab = $(this).attr('href'); $(".btnNuevoAdelanto, .btnGuardarCitas, .btnNuevoReferido").addClass("d-none"); if (tab === "#tab-adelantos") { $(".btnNuevoAdelanto").removeClass("d-none"); } else if (tab === "#tab-citasPorcentajeVenta") { $(".btnGuardarCitas").removeClass("d-none"); } else if (tab === "#tab-referidos") { $(".btnNuevoReferido").removeClass("d-none"); } });*/ initComisiones(body, tablaComisiones); initAdelantos(body, tablaAdelantos); initCitasPorcentajeVentas(body); initReferidos(body, tablaReferidos); }); function initReferidos(body, tablaReferidos) { const referidoIdElement = $("#frmReferidosReferidoID"); body.on("click", ".btnNuevoReferido, .btnEditarReferido", function (e) { const idReferido = $(this).attr("data-idreferido") || -1; const referido = $(this).attr("data-nombre"); const porcentaje = $(this).attr("data-porcentaje"); ClassBlockUI.abrirBlockUIEstandar("modalReferidos", undefined, "Gestionar Referidos", "modal493"); $("#frmReferidosUsuarioID").val(idUsuario); referidoIdElement.val(idReferido); $("#frmReferidosReferido").val(referido); $("#frmReferidosPorcentaje").val(porcentaje); return false; }); body.on("click", ".btnGuardarReferido", function(e) { let esperePorFavor = Utils.sendStandardAjax("frmReferidos", "ajax/UsuariosReferidos.editar.php", { "successCallback": function(data, textStatus, XMLHttpRequest) { esperePorFavor.modal("hide"); if (data["error_number"] >= 0) { $(".modal").modal("hide"); $("#" + tablaReferidos).DataTable().ajax.reload(); ClassWeb.notify(data["error_message"]); } else { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } } }); return false; }); body.on("click", ".btnEliminarReferido", function (e) { const idReferido = $(this).attr("data-idreferido"); const referido = $(this).attr("data-nombre"); ClassBlockUI.abrirBlockUIConfirm("¿Está seguro de que desea borrar al referido %1%?".replaceAll("%1%", referido), "Aceptar", function () { let esperePorFavor = Utils.sendStandardAjax(null, "ajax/UsuariosReferidos.eliminar.php?idUsuario="+idUsuario+"&idReferido=" + idReferido, { "successCallback": function(data, textStatus, XMLHttpRequest) { $(".modal").modal("hide"); ClassWeb.notify(data["error_message"], data["error_number"] < 0); if (data["error_number"] >= 0) { $("#" + tablaReferidos).DataTable().ajax.reload(); } } }); }, "Cancelar"); }); let autocompleteBuscarRef = $("#frmReferidosReferido"); autocompleteBuscarRef.autocomplete({ source: "ajax/Comerciales_Referidos.buscar.php?CSRF="+CSRF, minLength: 0, 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("").removeClass("selected"); referidoIdElement.val(-1); } }, select: function (event, ui) { $(event.target).addClass("selected"); referidoIdElement.val(ui.item.id); } }); autocompleteBuscarRef.focus(function() { $(this).autocomplete('search', $(this).val()) }); } function initCitasPorcentajeVentas(body) { body.on("click", ".btnGuardarCitas", function(e) { let esperePorFavor = Utils.sendStandardAjax("frmCitasPorcentajeVenta", "ajax/UsuariosCitas.editar.php", { "successCallback": function(data, textStatus, XMLHttpRequest) { esperePorFavor.modal("hide"); ClassWeb.notify(data["error_message"], data["error_numner"] < 0); } }); return false; }); } function initAdelantos(body, tablaAdelantos) { body.on("click", ".btnNuevoAdelanto, .btnEditarAdelanto", function (e) { const id = $(this).attr("data-id"); const concepto = $(this).attr("data-concepto"); const importe = $(this).attr("data-importe"); ClassBlockUI.abrirBlockUIEstandar("modalAdelantos", undefined, "Gestionar adelantos/extras", "modal493"); $("#frmAdelantosID").val(id); $("#frmAdelantosConcepto").val(concepto); $("#frmAdelantosImporte").val(importe); return false; }); body.on("click", ".btnEliminarAdelanto", function (e) { const concepto = $(this).attr("data-concepto"); const importe = $(this).attr("data-importe"); const id = $(this).attr("data-id"); ClassBlockUI.abrirBlockUIConfirm("¿Está seguro de que desea borrar el adelanto de %1%€ con el concepto %2%?".replaceAll("%1%", importe).replaceAll("%2%", concepto), "Aceptar", function () { let esperePorFavor = Utils.sendStandardAjax(null, "ajax/UsuariosAdelantos.eliminar.php?id="+id, { "successCallback": function(data, textStatus, XMLHttpRequest) { $(".modal").modal("hide"); ClassWeb.notify(data["error_message"], data["error_number"] < 0); if (data["error_number"] >= 0) { $("#" + tablaAdelantos).DataTable().ajax.reload(); } } }); }, "Cancelar"); }); body.on("click", ".btnGuardarAdelanto", function(e) { let esperePorFavor = Utils.sendStandardAjax("frmAdelantos", "ajax/UsuariosAdelantos.editar.php", { "successCallback": function(data, textStatus, XMLHttpRequest) { esperePorFavor.modal("hide"); if (data["error_number"] >= 0) { $(".modal").modal("hide"); $("#" + tablaAdelantos).DataTable().ajax.reload(); ClassWeb.notify(data["error_message"]); } else { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } } }); return false; }); } function initComisiones(body, tablaComisiones) { body.on("click", ".btnEditarComision", function (e) { const nombre = $(this).attr("data-title"); ClassBlockUI.abrirBlockUIEstandar("modalComisiones", undefined, "Gestionar comisión de "+nombre, "modal493"); $("#frmComisionesUsuario").val($(this).attr("data-usuario")); $("#frmComisionesCompania").val($(this).attr("data-compania")); $("#frmComisionesComision").val($(this).attr("data-comision")); return false; }); body.on("click", ".btnEliminarComision", function (e) { const nombre = $(this).attr("data-title"); const compania = $(this).attr("data-compania"); const usuario = $(this).attr("data-usuario"); const comision = $(this).attr("data-comision"); ClassBlockUI.abrirBlockUIConfirm("¿Está seguro de que desea borrar la comisión de %1%% de la compañia %2%? Se aplicará la comisión global".replaceAll("%1%", comision).replaceAll("%2%", nombre), "Aceptar", function () { let esperePorFavor = Utils.sendStandardAjax(null, "ajax/UsuariosComisiones.eliminar.php?compania="+compania+"&usuario="+usuario, { "successCallback": function(data, textStatus, XMLHttpRequest) { $(".modal").modal("hide"); ClassWeb.notify(data["error_message"], data["error_number"] < 0); if (data["error_number"] >= 0) { $("#" + tablaComisiones).DataTable().ajax.reload(); } } }); }, "Cancelar"); }); body.on("click", ".btnGuardarComision", function(e) { let esperePorFavor = Utils.sendStandardAjax("frmComisiones", "ajax/UsuariosComisiones.editar.php", { "successCallback": function(data, textStatus, XMLHttpRequest) { esperePorFavor.modal("hide"); if (data["error_number"] >= 0) { $(".modal").modal("hide"); $("#" + tablaComisiones).DataTable().ajax.reload(); ClassWeb.notify(data["error_message"]); } else { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } } }); return false; }); } }; static drawEquipoComisiones(tabla) { ClassWeb.refrescaTabla(tabla, 2); $("#tablaEquipoComisiones .personalizada").parents("tr").children("td").css({ "background-color": "#2ee800", color: "#011E40 !important", }); } }