class Web { static initFacturacion() { $("#tablaGastos").on('xhr.dt', function(e, settings, json, xhr) { $("#kilometraje").val(json["kilometraje"]); $(".gastos-subtotal").html(json["subtotal"]); $(".gastos-iva").html(json["iva"]); $(".gastos-irpf").html(json["irpf"]); $(".gastos-total").html(json["total"]); }); $("#tablaIngresos").on('xhr.dt', function(e, settings, json, xhr) { $(".ingresos-subtotal").html(json["subtotal"]); $(".ingresos-iva").html(json["iva"]); $(".ingresos-irpf").html(json["irpf"]); $(".ingresos-total").html(json["total"]); }); $(document).ready(function() { calcularImportes($("#frmFacturacionPorcentajeIVA"), $("#frmFacturacionSubtotal"), $("#frmFacturacionIVA"), $("#frmFacturacionTotal"), $("#frmFacturacionPorcentajeRetencion"), $("#frmFacturacionIRPF")); $("#desde, #hasta, #desdeIngresos, #hastaIngresos").mask("99/99/9999"); $("#anyo").change(actualizarGastos); $("#trimestreGastos").change(actualizarGastos); $("#desde, #hasta").keyup(function() { let fecha = $(this).val().replaceAll("_", ""); if (fecha.length == 10 || fecha.length == 2) actualizarGastos(); }); $("#desdeIngresos, #hastaIngresos").keyup(function() { let fecha = $(this).val().replaceAll("_", ""); if (fecha.length == 10 || fecha.length == 2) actualizarIngresos(); }); $("#anyoIngresos").change(actualizarIngresos); $("#trimestreIngresos").change(actualizarIngresos); $("#btn-guardar-km").click(function(e) { e.preventDefault(); let kilometraje = $("#kilometraje").val(); if (isNaN(kilometraje)) { ClassBlockUI.abrirBlockUIEstandarMensaje("Debe escribir un número válido", true); return; } Utils.sendStandardAjax("XXXXXXX", "ajax/Kilometraje.guardar.php?CSRF=" + CSRF+"&km="+(kilometraje*1)+"&anyo="+$("#anyo").val(), { successCallback: null, }); }); function actualizarGastos() { tablatablaGastos.ajax.url("ajax/Facturacion.listado.php?CSRF="+CSRF+"&anyo="+$("#anyo").val()+"&trimestre="+$("#trimestreGastos").val()+"&desde="+$("#desde").val()+"&hasta="+$("#hasta").val()).load(); } function actualizarIngresos() { tablatablaIngresos.ajax.url("ajax/Facturacion.listado.php?CSRF="+CSRF+"&anyo="+$("#anyoIngresos").val()+"&trimestre="+$("#trimestreIngresos").val()+"&tipo=2"+"&desde="+$("#desdeIngresos").val()+"&hasta="+$("#hastaIngresos").val()).load(); } $(".btn-descargar").click(function (e){ e.preventDefault(); let tipo = $(this).attr("data-tipo"); let anyo = tipo == 1 ? $("#anyo").val() : $("#anyoIngresos").val(); let desde = tipo == 1 ? $("#desde").val() : $("#desdeIngresos").val(); let hasta = tipo == 1 ? $("#hasta").val() : $("#hastaIngresos").val(); let trimestre = tipo == 1 ? $("#trimestreGastos").val() : $("#trimestreIngresos").val(); let buscar = tipo == 1 ? $("#tablaGastos_filter input").val() : $("#tablaIngresos_filter input").val(); window.location = "descargarFacturacion.php?tipo="+tipo+"&trimestre="+trimestre+"&anyo="+anyo+"&desde="+desde+"&hasta="+hasta+"&buscar="+buscar; }); $(".btn-anadir-gasto, .btn-anadir-ingreso").click(function () { $("#guardar-facturacion").removeClass("d-none").text("Añadir"); $("#cerrar-facturacion").addClass("d-none"); $("#frmFacturacion .editable").prop("disabled", false); $("#frmFacturacion")[0].reset(); $("#frmFacturacionTipo").val($(this).attr("data-tipo")); $("#frmFacturacionID").val(-1); let tipo = $(this).attr("data-tipo"); let titulo = tipo == 1 ? "Añadir Gasto" : "Añadir Ingreso"; if (tipo == 1) { $(".form-group-irpf").removeClass("d-none"); } else { $("#frmFacturacionPorcentajeRetencion").val(0); $(".form-group-irpf").addClass("d-none"); } ClassBlockUI.abrirBlockUIEstandar("bloqueFacturacion", undefined, titulo, "modal948"); }); $('a[data-bs-toggle="tab"]').on('shown.bs.tab', function (e) { $("#frmFacturacionTipo").val($(e.target).attr("data-tipo")); actualizaTablaPorTipo(); }); }); $(".tablaGestina").on("click", ".editar-facturacion, .ver-facturacion", function() { let id = $(this).attr("data-id"); $("#frmFacturacionID").val(id); const esEditar = $(this).hasClass("editar-facturacion"); const successCallback = function (data, textStatus, XMLHttpRequest) { $(".modal").modal("hide"); if (data["error_number"] >= 0) { let titulo = ""; let tipo = $("#frmFacturacionTipo").val(); if (esEditar) { titulo = tipo == 1 ? "Editar Gasto" : "Editar Ingreso"; $("#frmFacturacion .editable").prop("disabled", false); $("#frmFacturacionNumero").prop("disabled", true); $("#guardar-facturacion").removeClass("d-none").text("Editar"); $("#cerrar-facturacion").addClass("d-none"); } else { titulo = tipo == 1 ? "Ver Gasto" : "Ver Ingreso"; $("#frmFacturacion .editable").prop("disabled", true); $("#guardar-facturacion").addClass("d-none"); $("#cerrar-facturacion").removeClass("d-none").text("Cerrar");; } if (tipo == 1) { $(".form-group-irpf").removeClass("d-none"); } else { $(".form-group-irpf").addClass("d-none"); } $("#frmFacturacionFecha").val(data["datos"]["fecha"]); $("#frmFacturacionNumero").val(data["datos"]["numeroFactura"]); $("#frmFacturacionCIF").val(data["datos"]["cif"]); $("#frmFacturacionNombre").val(data["datos"]["nombreProveedor"]); $("#frmFacturacionConcepto").val(data["datos"]["concepto"]); $("#frmFacturacionPorcentajeIVA").val(data["datos"]["porcentajeIVA"]); $("#frmFacturacionPorcentajeRetencion").val(data["datos"]["porcentajeRetencion"]); $("#frmFacturacionSubtotal").val(data["datos"]["subtotal"]); $("#frmFacturacionIVA").val(data["datos"]["iva"]); $("#frmFacturacionIRPF").val(data["datos"]["cuotaIRPF"]); $("#frmFacturacionTotal").val(data["datos"]["total"]); ClassBlockUI.abrirBlockUIEstandar("bloqueFacturacion", undefined, titulo, "modal948"); } else ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined); }; Utils.sendStandardAjax("XXXXX", "ajax/Facturacion.cargar.php?CSRF="+CSRF+"&id="+id, { successCallback: successCallback, }); }); $(".tablaGestina").on("click", ".eliminar-facturacion", function() { let id = $(this).attr("data-id"); ClassBlockUI.abrirBlockUIConfirm("Va a eliminar un gasto/ingreso, ¿Desea continuar?", "Eliminar", function() { const successCallback = function (data, textStatus, XMLHttpRequest) { $(".modal").modal("hide"); if (data["error_number"] >= 0) { actualizaTablaPorTipo(); } if (data["error_message"] != "") ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined); }; Utils.sendStandardAjax("XXXXXXX", "ajax/Facturacion.eliminar.php?CSRF=" + CSRF+"&id="+id, { successCallback: successCallback, }); }, "Cancelar", undefined); }); $("#bloqueFacturacion").on("click", "#guardar-facturacion", function() { const successCallback = function (data, textStatus, XMLHttpRequest) { if (data["error_number"] >= 0) { $(".modal").modal("hide"); actualizaTablaPorTipo(); } ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined); }; Utils.sendStandardAjax("frmFacturacion", "ajax/Facturacion.guardar.php?CSRF=" + CSRF, { successCallback: successCallback, }); }); $("#bloqueFacturacion").on("click", "#cerrar-facturacion", function() { $(".modal").modal("hide"); }); function actualizaTablaPorTipo() { if ($(".nav-link.active").attr("data-tipo") == 1) tablatablaGastos.ajax.reload(); else tablatablaIngresos.ajax.reload(); } } static editarFacturacion() { $("#tablaConceptos").on('xhr.dt', function(e, settings, json, xhr) { $(".subtotal").text(json["datosPVP"]["subtotal"]); $(".iva").text(json["datosPVP"]["iva"]); $(".irpf").text(json["datosPVP"]["irpf"]); $(".total").text(json["datosPVP"]["total"]); }); $(document).ready(function() { $("#frmFacturacionFecha").mask("99/99/9999"); $("#frmFacturacionNombre, #frmFacturacionCIF").autocomplete({ //source: "ajax/Productos.buscar.php", source: function(request, response) { const searchType = $(this.element).attr("data-searchtype"); $.ajax({ url: "ajax/Proveedores.buscar.php", data: { term: request.term, type: $("#frmFacturacionTipo").val(), searchType: searchType, CSRF: CSRF, }, type: "POST", dataType: "json", success: function (data) { response( data ); } }); }, minLength: 0, response: function( event, ui ) { $(event.target).removeClass("ui-autocomplete-loading"); }, change: function (event, ui) { $(event.target).removeClass("ui-autocomplete-loading"); }, select: function (event, ui) { $("#frmFacturacionNombre").val(ui.item.nombre); $("#frmFacturacionCIF").val(ui.item.cif); } }); $("#frmFacturacionNombre, #frmFacturacionCIF").focus(function() { $(this).autocomplete('search', $(this).val()); $(".ui-autocomplete").addClass("custom-scroll-bar"); }); $(".btn-nuevo-concepto").click(function() { $("#frmConcepto")[0].reset(); $("#frmConceptoID").val(-1); $("#guardar-facturacion").text("Añadir"); ClassBlockUI.abrirBlockUIEstandar("bloqueConcepto", undefined, "Añadir Descripción/Concepto", "modal948"); }); calcularImportes($("#frmConceptoPorcentajeIVA"), $("#frmConceptoSubtotal"), $("#frmConceptoIVA"), $("#frmConceptoTotal"), $("#frmConceptoPorcentajeRetencion"), $("#frmConceptoIRPF")); }); $("body").on("click", ".editar-facturacion", function(e) { e.preventDefault(); $("#frmConcepto")[0].reset(); let datos = JSON.parse($(this).attr("data-datos")); $("#frmConceptoID").val(datos.id); $("#frmConceptoDescripcion").val(datos.desc); $("#frmConceptoPorcentajeIVA").val(datos.porcIVA); $("#frmConceptoPorcentajeRetencion").val(datos.porcRetencion); $("#frmConceptoSubtotal").val(datos.subtotal); $("#frmConceptoTotal").val(datos.total); $("#frmConceptoIRPF").val(datos.IRPF); $("#frmConceptoIVA").val(datos.IVA); $("#guardar-facturacion").text("Editar"); ClassBlockUI.abrirBlockUIEstandar("bloqueConcepto", undefined, "Editar Descripción/Concepto", "modal948"); }); $("body").on("click", ".eliminar-facturacion", function(e) { e.preventDefault(); let id = $(this).attr("data-id"); const successCallback = function (data, textStatus, XMLHttpRequest) { $(".modal").modal("hide"); if (data["error_number"] >= 0) { Web.notify(data["error_message"]); tablatablaConceptos.ajax.reload(); } else { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined); } }; Utils.sendStandardAjax(null, "ajax/FacturacionConcepto.eliminar.php?CSRF="+CSRF+"&id="+id, {successCallback: successCallback}); }); $("#bloqueConcepto").on("click", "#guardar-facturacion", function() { const successCallback = function (data, textStatus, XMLHttpRequest) { if (data["error_number"] >= 0) { $(".modal").modal("hide"); tablatablaConceptos.ajax.reload(); } ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined); }; Utils.sendStandardAjax("frmConcepto", "ajax/FacturacionConcepto.guardar.php?CSRF=" + CSRF, { successCallback: successCallback, }); }); $("body").on("click", "#btn-guardar", function() { Utils.sendStandardAjax("frmFacturacion", "ajax/Facturacion.guardar.php?CSRF=" + CSRF, { successCallback: "https://www.ejegestion.com/facturacion.html", }); }); } static initMisDatos(actualizada) { $(document).ready(function(e) { $("#btn-abre-modificar-pass").click(abreModificarPass); if (actualizada == 0) abreModificarPass(); }); $("body").on("click", "#btn-guardar-cambios", function (e) { Utils.sendStandardAjax("frm-datos", "ajax/Usuarios.modificarDatos.php?CSRF="+CSRF, {successCallback: null}); }); $("body").on("click", ".btnGuardarContrasena", function (e) { e.preventDefault(); const opciones_validacion_password = { showLabels: false, rules: { formContrasenaNueva2: { equalTo: "#formContrasenaNueva", minlength: 6 }, formContrasenaNueva: {minlength: 6} } }; const successCallback = function (data, textStatus, XMLHttpRequest) { if (data["error_number"] >= 0) { $(".modal").modal("hide"); $("#frmModificarContrasena")[0].reset(); } ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined); }; Utils.sendStandardAjax("frmModificarContrasena", "ajax/Usuarios.modificarPassword.php?CSRF="+CSRF, {opcionesValidacion: opciones_validacion_password, successCallback: successCallback, resetFormOnSuccess: true}); }); function abreModificarPass() { ClassBlockUI.abrirBlockUIEstandar("bloqueContrasena", undefined, "Modificar Contraseña", "modal356"); } } 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 initBanner() { $(document).ready(function () { if ($('#carousel-banner').length) { $('#carousel-banner').owlCarousel({ animateOut: 'fadeOut', animateIn: 'fadeIn', loop:true, margin:0, nav:false, dots:false, mouseDrag: false, smartSpeed: 900, autoplay: true, autoplayTimeout: 7000, items:1, }); } }); } 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 refrescaTabla(idTabla) { $(".tooltipStandard").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom', contentAsHTML: true}); $(".inputIconLupa, .inputMostrar, .btn-filtro-tabla").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 = 1; const numColumnas = tabla.columns()[0].length; if ($("#"+idTabla).hasClass("tablaMovil")) { const w = $(window).outerWidth(); if (w <= 991) //Ocultar { for(let i = 0; i < numColumnas; i++) { tabla.column(i).visible((numColumnaMv == i ? true : false)); } } else //Mostrar { for(let i = 0; i < numColumnas; i++) { let txt = $(tabla.columns(i).header()).text(); tabla.column(i).visible((txt == "oculto" || numColumnaMv == i ? false : true)); } } } } static notify(msg) { $.notify({ message: msg, }, { type: 'success', placement: { from: "top", align: "right" }, delay: 1000 }); } } $(document).ready(function () { if($.fn.dataTable != undefined) { $.extend($.fn.dataTable.defaults, { "language": { "sProcessing": "Procesando...", "sLengthMenu": "Mostrar _MENU_", "sZeroRecords": "No se han encontrado resultados", "sEmptyTable": "Sin datos todavía", "sInfo": "Mostrando de la entrada _START_ a la _END_ de un total de _TOTAL_ entradas", "sInfoEmpty": "Todavía no hay datos", "sInfoFiltered": "()", "sSearchPlaceholder": "Buscar", "sInfoPostFix": "", "sSearch": "", "sUrl": "", "oPaginate": { "sFirst": " ", "sPrevious": " ", "sNext": " ", "sLast": " " }, } }); } }); function preparaLugar(pais, provincia, poblacion, idInputPais,idInputProvincia, idInputLocalidad) { if(pais > 0) { actualizaProvincias(idInputLocalidad,idInputProvincia, idInputPais, provincia, pais, provincia, poblacion, undefined); } $('#'+idInputPais).on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) { //console.log(e, clickedIndex, isSelected, previousValue, $(this).val(), $('#frmServicioProvincia').val(), $('#frmServicioProvincia').selectpicker("val")); actualizaProvincias(idInputLocalidad,idInputProvincia, idInputPais, provincia, undefined, undefined, undefined, undefined, undefined, undefined, true); }); /*$("body").on("change", "#"+idInputPais, function() { actualizaProvincias(idInputLocalidad,idInputProvincia, idInputPais, provincia); });*/ if(provincia > 0) { actualizaCiudades(idInputLocalidad, idInputProvincia, idInputPais,poblacion, pais, provincia, poblacion, $("#"+idInputProvincia).val()*1); } $('#'+idInputProvincia).on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) { //console.log(e, clickedIndex, isSelected, previousValue, $(this).val(), $('#frmServicioProvincia').val(), $('#frmServicioProvincia').selectpicker("val")); if (isSelected === null) return; actualizaCiudades(idInputLocalidad, idInputProvincia, idInputPais, undefined, $("#"+idInputPais).val()*1, $("#"+idInputProvincia).val()*1); }); /* $("body").on("change", "#"+idInputProvincia, function() { actualizaCiudades(idInputLocalidad, idInputProvincia, idInputPais, undefined, $("#"+idInputPais).val()*1, $("#"+idInputProvincia).val()*1); });*/ } function actualizaProvincias(idCampoLocalidad, idCampoRegion, idCampoPais, idRegionPreEstablecida, forceIdPais, forceIdRegion,forceIdLocalidad, onFinish, textoSelect, textoLoading, actualizarLocalidad) { if(forceIdPais == undefined) { forceIdPais = $("#"+idCampoPais).val(); } if(forceIdRegion == undefined) { forceIdRegion = $("#"+idCampoRegion).val(); } if(forceIdLocalidad == undefined) { forceIdLocalidad = $("#"+idCampoLocalidad).val(); } if(textoSelect == undefined) { //textoSelect = ""; textoSelect = ""; } //var textoSelectLoc = ""; var textoSelectLoc = ""; if(textoLoading == undefined) { textoLoading = "Cargando..."; } var data = {idPais: forceIdPais}; $("#"+idCampoRegion).empty(); $("#"+idCampoRegion).append( ""); $("#"+idCampoRegion).selectpicker("refresh"); $("#"+idCampoRegion).selectpicker('val', 0); if (actualizarLocalidad) { $("#" + idCampoLocalidad).empty(); $("#" + idCampoLocalidad).append(""); $("#" + idCampoLocalidad).selectpicker("refresh"); $("#" + idCampoLocalidad).selectpicker('val', 0); } var returned = $.ajax( { url: "ajax/Ubicacion.listadoRegiones.php?CSRF="+CSRF, type: "POST", dataType : "json", data : data, error: function(XMLHttpRequest, textStatus, errorThrown) { //ClassBlockUI.abrirBlockUIEstandarMensaje(XMLHttpRequest.responseText, true); }, success: function(data) { $("#"+idCampoRegion).empty(); $("#"+idCampoRegion).append( ""); for(var index in data) { $("#"+idCampoRegion).append( "" ); } $("#" + idCampoRegion).selectpicker("refresh"); if(idRegionPreEstablecida!=undefined && idRegionPreEstablecida !="") { $("#"+idCampoRegion).val(idRegionPreEstablecida); } else { $("#"+idCampoRegion).val(0); } $("#"+idCampoRegion).selectpicker("refresh"); if (actualizarLocalidad) { $("#" + idCampoLocalidad).empty(); $("#" + idCampoLocalidad).append(""); $("#" + idCampoLocalidad).val(0); $("#" + idCampoLocalidad).selectpicker("refresh"); } if(onFinish != undefined && typeof(onFinish) == "function") { onFinish(); } } }); } function actualizaCiudades(idCampoLocalidad, idCampoRegion, idCampoPais, idLocalidadPreEstablecida, forceIdPais, forceIdRegion,forceIdLocalidad, onFinish, textoSelect, textoLoading) { if(forceIdPais == undefined) { forceIdPais = $("#"+idCampoPais).val(); } if(forceIdRegion == undefined) { forceIdRegion = $("#"+idCampoRegion).val(); } if(forceIdLocalidad == undefined) { forceIdLocalidad = $("#"+idCampoLocalidad).val(); } if(textoSelect == undefined) { //textoSelect = ""; textoSelect = ""; } if(textoLoading == undefined) { textoLoading = "Cargando..."; } var data = { idPais: forceIdPais, idRegion: forceIdRegion }; $("#"+idCampoLocalidad).empty(); $("#"+idCampoLocalidad).append( ""); $("#"+idCampoLocalidad).selectpicker("refresh"); $("#"+idCampoLocalidad).selectpicker('val', 0); var returned = $.ajax( { url: "ajax/Ubicacion.listadoCiudades.php?CSRF="+CSRF, type: "POST", dataType : "json", data : data, error: function(XMLHttpRequest, textStatus, errorThrown) { //ClassBlockUI.abrirBlockUIEstandarMensaje(XMLHttpRequest.responseText, true); }, success: function(data) { $("#"+idCampoLocalidad).empty(); $("#"+idCampoLocalidad).append( ""); for(var index in data) { $("#"+idCampoLocalidad).append( "" ); } $("#"+idCampoLocalidad).selectpicker("refresh"); if(idLocalidadPreEstablecida!=undefined) { $("#"+idCampoLocalidad).val(idLocalidadPreEstablecida); } else { $("#"+idCampoLocalidad).val(0); } $("#"+idCampoLocalidad).selectpicker("refresh"); if(onFinish != undefined && typeof(onFinish) == "function") { onFinish(); } } }); } function calcularImportes(inpPorcIVA, inpSubtotal, inpIVA, inpTotal, inpRetencion, inpCuotaIRPF) { inpPorcIVA.change(function() { let porcIVA = inpPorcIVA.val(); let subtotal = inpSubtotal.val(); if (isNaN(subtotal)) subtotal = 0; let iva = (subtotal * (porcIVA / 100)).toFixed(2)*1; inpIVA.val(iva); inpTotal.val((subtotal*1 + iva*1).toFixed(2)*1); calculaIRPF(inpRetencion, inpSubtotal, inpTotal, inpCuotaIRPF, inpPorcIVA); }); inpRetencion.change(function() { calculaIRPF(inpRetencion, inpSubtotal, inpTotal, inpCuotaIRPF, inpPorcIVA); }); inpSubtotal.keyup(function() { inpSubtotal.val(inpSubtotal.val().replace(",", ".")); let porcIVA = inpPorcIVA.val(); let subtotal = inpSubtotal.val(); if (isNaN(subtotal)) subtotal = 0; let iva = (subtotal * (porcIVA / 100)).toFixed(2)*1; inpIVA.val(iva); inpTotal.val((subtotal*1 + iva*1).toFixed(2)*1); calculaIRPF(inpRetencion, inpSubtotal, inpTotal, inpCuotaIRPF, inpPorcIVA); }); inpTotal.keyup(function() { inpTotal.val(inpTotal.val().replace(",", ".")); let porcIVA = inpPorcIVA.val(); let total = inpTotal.val(); if (isNaN(total)) total = 0; let iva = (total - total / (1 + porcIVA / 100)).toFixed(2)*1; inpIVA.val(iva); inpSubtotal.val((total*1 - iva*1).toFixed(2)*1); //calculaIRPF(inpRetencion, inpSubtotal, inpTotal, inpCuotaIRPF, inpPorcIVA); }); } function calculaIRPF(inpRetencion, inpSubtotal, inpTotal, inpCuotaIRPF, inpPorcIVA) { let porcRetencion = inpRetencion.val()*1 || 0; let subtotal = inpSubtotal.val()*1 || 0; let porcIVA = inpPorcIVA.val(); let cuotaIRPF = ((subtotal * (porcRetencion / 100)).toFixed(2))*1; inpCuotaIRPF.val(cuotaIRPF); inpTotal.val(((subtotal * (1 + porcIVA / 100)) - cuotaIRPF).toFixed(2)); } /* 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").addClass("zoomInDown"); 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 = "
Espere por favor...
"; }; return ClassBlockUI.abrirBlockUIEstandarMensaje(mensaje, undefined, false, "modalEspere"); } }; class Usuario { static initCambiarContrasena() { $("body").on("click", ".btnGuardarContrasena", function (e) { e.preventDefault(); const opciones_validacion_password = { showLabels: false, rules: { formContrasenaNueva2: { equalTo: "#formContrasenaNueva", minlength: 6 }, formContrasenaNueva: {minlength: 6} } }; Utils.sendStandardAjax("frmModificarContrasena", "ajax/Usuarios.modificarPassword.php?CSRF="+CSRF, {opcionesValidacion: opciones_validacion_password, successCallback: null, resetFormOnSuccess: true}); }); } static initNuevaPass() { $(document).ready(function() { $(".btnEnviarNuevoPass").click(Usuario.guardaClaveOlvidoPass); $("#password2").pressEnter(Usuario.guardaClaveOlvidoPass); $("#form_email_olvido").pressEnter(Usuario.enviarOlvido); $(".btnEnviarEmailOlvidoPass").click(Usuario.enviarOlvido); }); } static guardaClaveOlvidoPass() { 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: "https://www.ejegestion.com/inicio.html"}); } static enviarOlvido() { Utils.sendStandardAjax("frmEnviarOlvido", "ajax/Usuarios.olvidarContrasena.php", {successCallback: null, resetFormOnSuccess: true}); } }