$(document).ready(function () { console.log("Dirección de Ahorro para el Retiro - Hola.!"); loadBody(); timeout = setTimeout(loadForm, 1000); }); function loadBody() { console.log("cuerpo cargado") $('#contenido').load('/LoginPrestamos.html'); } function loadForm(){ $("#botonenviar").show() console.log("cargando form") $("#botonenviar").click( function() { $("#botonenviar").hide(); // Con esto establecemos la acción por defecto de nuestro botón de enviar. if(validaForm()){ asesor = $("#username").val() asesorp = $("#password").val() // Primero validará el formulario. var settings = { "url": "/LoginDAR", "method": "POST", "timeout": 0, "headers": { "Content-Type": "application/json" }, "data": JSON.stringify({ "NumeroEmpleado": $("#username").val(), "Password": $("#password").val() }), }; $.ajax(settings).done(function (response) { $("#botonenviar").show(); $("#contenido").load("/menu_main.html", function () { $("#nombres").text(response.nombres) $("#ape_paterno").text(response.ape_paterno) $("#ape_materno").text(response.ape_materno) $("#estatus").text(response.estatus) if(response.url=="/DashBoard.html") { $('#cotizador').click(function(){ $("#div_cotizador").load(response.url, function () { //console.log("response.url") if(response.codigo==0){ crea_serie() forma("montoInicial") forma("enganche") forma("deuda") forma("periodo") forma("pagosMensuales") forma("generarPlanPagos") forma("PeriodoInicialNomina") forma("PeriodoInicialNominaDescripcion") forma("engancheP") } else{ $("#estatus").text(response.estatus) } }); }); } if(response.menus.includes("/configura.html")){ $('#configuracion_expediente').click(function(){ $("#div_cotizador").load("/configura.html", function () { console.log("configura expediente 2") crea_serie() forma("montoInicial") forma("enganche") forma("deuda") forma("periodo") forma("pagosMensuales") forma("generarPlanPagos") forma("PeriodoInicialNomina") forma("PeriodoInicialNominaDescripcion") forma("engancheP") }); }); $('#orden_descuentos').click(function(){ $("#div_cotizador").load("/Orden_Descuentos_Adelantos.html", function () { crea_descuentos(); /* console.log("configura expediente 2") crea_serie() forma("montoInicial") forma("enganche") forma("deuda") forma("periodo") forma("pagosMensuales") forma("generarPlanPagos") forma("PeriodoInicialNomina") forma("PeriodoInicialNominaDescripcion") forma("engancheP") */ }); }); } }); }); } }); } function muestra_error(){ document.getElementById('ModalSinCapacidadPago').style.display = 'block'; } function oculta_error(){ document.getElementById('ModalSinCapacidadPago').style.display = 'none'; } function muestra_error_mail(){ document.getElementById('ModalCorreoEnviado').style.display = 'block'; } function oculta_error_mail(){ document.getElementById('ModalCorreoEnviado').style.display = 'none'; } function validaForm(){ // Campos de texto if($("#username").val() == ""){ alert("El campo Número de Empleado no puede estar vacío."); $("#nombre").focus(); // Esta función coloca el foco de escritura del usuario en el campo Nombre directamente. return false; } if($("#password").val() == ""){ alert("El campo Contraseña no puede estar vacío."); $("#password").focus(); return false; } return true; // Si todo está correcto } var nomina=[] var nominahistorica=[] let filas ="" let filas_ ="" var SalarioMinimo= 248.93; var Porcentaje= .30; var SalarioQuincenalBruto=0; var PensionAlimenticia=0; var Infonavit=0; var Fonacot=0; var PrestamoSindicato=0; var SalarioReal=0; var SaalarioMinimo15d=0; var Excedente=0; var Porcentaje30=0; var CapacidadPago=0; var sumaSalarioBruto=0 var PeriodoInicialNomina=1 var PeriodoInicialNominaDescripcion="" var nombreBu, apellido1bus, apellido2bus; var asesor = "" var asesorp = "" let FechasPlanPagos=[] let nombre = "" let folio=""; function realizarBusqueda(id) { $("#BuscaEmpleado").hide(); nominahistorica=[] nomina=[] filas ="" filas_ ="" SalarioQuincenalBruto=0; PensionAlimenticia=0; Infonavit=0; Fonacot=0; PrestamoSindicato=0; SalarioReal=0; SaalarioMinimo15d=0; Excedente=0; Porcentaje30=0; CapacidadPago=0; sumaSalarioBruto=0 nombre = "" $("#PA").text("0.00") $("#Infonavit").text("0.00") $("#Fonacot").text("0.00") $("#PS").text("0.00") $("#SM").text("0.00") $("#Excedente").text("0.00") $("#Porc").text("0.00") $("#CP").text("0.00") $("#MontoMaximo").text("0.00") $("#tablaExp tbody").empty(); $("#TablaPPagos tbody").empty(); $("#tablaExphistorial tbody").empty(); $( "#pdfCotiza" ).fadeOut( "slow", function() { //pintaPDF(archivob64) }); var numeroEmpleado = document.getElementById('numeroEmpleadoB').value; // Aquí puedes agregar lógica para procesar la búsqueda, // por ejemplo, redirigir a otra página con los resultados. //alert('Realizando búsqueda para el número de empleado: ' + numeroEmpleadoB); var settings = { "url": "/BusquedaDAR", "method": "POST", "timeout": 0, "headers": { "Content-Type": "application/json" }, "data": JSON.stringify({ "NumeroEmpleado":asesor, "Password": asesorp, "consulta": $("#numeroEmpleadoB").val(), }), }; $.ajax(settings).done(function (response) { $("#BuscaEmpleado").show(); if(id==0){ buscaHistorico() } LeeDeducciones(); //console.log(response); nombre = response.nombres+" "+response.ape_paterno+" "+response.ape_materno $("#nombreB").text(response.nombres) $("#apellidoPaternoB").text(response.ape_paterno) $("#apellidoMaternoB").text(response.ape_materno) $("#rfcB").text(response.rfc) nomina=response.nomina nombreBu=response.nombres; apellido1bus=response.ape_paterno; apellido2bus=response.ape_materno; $("#SalarioMinimos").val(truncarDosDecimales(SalarioMinimo)) timeout = setTimeout(CalculoSalarioReal(response.nomina), 2000); for(let i = 0;i"+nomina[i][j]+"" } console.log("filas "+filas) $("#tablaExp>tbody").append(""+filas+"") filas=""; } }); } function buscaHistorico(){ var settings = { "url": "/BusquedaDARHistorica", "method": "POST", "timeout": 0, "headers": { "Content-Type": "application/json" }, "data": JSON.stringify({ "NumeroEmpleado": asesor, "Password": asesorp, "consulta": $("#numeroEmpleadoB").val(), }), }; $.ajax(settings).done(function (response) { nominahistorica=response.nomina for(let i = 0;i"+nominahistorica[i][j]+"" } console.log("filas "+filas_) $("#tablaExphistorial>tbody").append(""+filas_+"") filas_=""; } }); } function CalculoSalarioReal(nomina){ /* PensionAlimenticia=calculaPA(0); Infonavit=calculaInfonavit(0); Fonacot=calculaFonacot(0); PrestamoSindicato=calculaPS(0); */ console.log("--calculaSBQ--") SalarioQuincenalBruto=calculaSBQ(nomina); console.log("--calculaPA--") PensionAlimenticia=calculaPA(PensionAlimenticia); Infonavit=calculaInfonavit(Infonavit); Fonacot=calculaFonacot(Fonacot); PrestamoSindicato=calculaPS(PrestamoSindicato); SalarioReal=sumaSalarioBruto-(PensionAlimenticia+Infonavit+Fonacot+PrestamoSindicato); $("#SalarioReal_").text(truncarDosDecimales(SalarioReal)) SaalarioMinimo15d=SalarioMinimo15(SalarioMinimo); Excedente = CalculaExcedente(SalarioReal,SaalarioMinimo15d) Porcentaje30 = MuestraPorcentaje(Porcentaje) CapacidadPago = CalculaCapacidadPago(CalculaExcedente(SalarioReal,SaalarioMinimo15d)) CMM=CalculaMontoMaximo(CalculaCapacidadPago(CalculaExcedente(SalarioReal,SaalarioMinimo15d))) //Excedente(truncarDosDecimales(SR-SalarioMinimo15(SM))) //Porcentajes(Porcentaje) //SalarioReal = (SQB-(PA-Infonavit-Fonacot-PS)) } function calculaSBQ(nomina){ for(let i = 0;i 57|| event.keyCode == 9) { event.preventDefault(); } } else { if (event.keyCode < 96 || event.keyCode > 105 ) { event.preventDefault(); } } } }); $("#" + inp).on("keydown", function(event) { if (event.shiftKey || (event.keyCode !== 190 && event.keyCode !== 110 && event.keyCode !== 8 && event.keyCode !== 46 && (event.keyCode < 48 || event.keyCode > 57))) { event.preventDefault(); } }); $("#" + inp).on("keydown", function(event) { if (event.shiftKey || (event.keyCode !== 190 && event.keyCode !== 110 && event.keyCode !== 8 && event.keyCode !== 46 && event.keyCode !== 9 && (event.keyCode < 48 || event.keyCode > 57))) { event.preventDefault(); } }); */ $("#" + inp).on("keydown", function(event) { if (event.shiftKey || (event.keyCode !== 190 && event.keyCode !== 110 && event.keyCode !== 8 && event.keyCode !== 46 && event.keyCode !== 9 && (event.keyCode < 48 || (event.keyCode > 57 && event.keyCode < 96) || event.keyCode > 105))) { event.preventDefault(); } }); } var PeriodoActual=1 var NuevoSaldo=0 var suma_=0 var PlanPagos=[] var ultimopago=0 var _arregloBidimensional_=[] var ultimo_pago=0 function mostrarMensajeCapacidadpago() { document.getElementById("mensaje-capacidad-pago").style.display = "block"; document.getElementById("aceptas").style.display = "none"; } // Ocultar el mensaje de falta de capacidad de pago function ocultarMensajeCapacidadpago() { document.getElementById("mensaje-capacidad-pago").style.display = "none"; document.getElementById("aceptas").style.display = "block"; $('#MontoInicialConfirma').text($('#montoInicial').val()); $('#EngacheConfirma').text($('#enganche').val()); $('#DeudaConfirma').text($('#deuda').val()); $('#PeriodosConfirma').text($('#periodo').val()); $('#PagoQuincenalConfirma').text($('#pagosMensuales').val()); $('#PeriodoIniciaConfirma').text(PeriodoInicialNominaDescripcion); } function generarPlanPagos(tipo){ //LeeDeducciones(); //LeeCondiciones(); var capaciad_mensual = CapacidadPago*2 var capaciad_quincenal = CapacidadPago if(capaciad_quincenal =1){ /* suma_=suma_+Number(pagosMensuales); if(i==filas-1){ let last=0 if(suma_>deuda){ pagofinal=suma_-deuda ultimopago= arregloBidimensional[arregloBidimensional.length-1][3] last = pagosMensuales-pagofinal } if(suma_deuda){ pagofinal=suma_-deuda ultimopago= arregloBidimensional[arregloBidimensional.length-1][3] arregloBidimensional[arregloBidimensional.length-1][3]=ultimopago-pagofinal } if(suma_0){ //PlanPagos[PlanPagos.length-1][2]=redondearComoExcel(PlanPagos[PlanPagos.length-1][2]-PlanPagos[PlanPagos.length-1][4]) PlanPagos[PlanPagos.length-1][3]=redondearComoExcel(PlanPagos[PlanPagos.length-1][3]+PlanPagos[PlanPagos.length-1][4]) PlanPagos[PlanPagos.length-1][4]=redondearComoExcel(PlanPagos[PlanPagos.length-1][4]-PlanPagos[PlanPagos.length-1][4]) //} /* if(PlanPagos[PlanPagos.length-1][PlanPagos[0].length-1]<0){ //PlanPagos[PlanPagos.length-1][2]=redondearComoExcel(PlanPagos[PlanPagos.length-1][2]-PlanPagos[PlanPagos.length-1][4]) PlanPagos[PlanPagos.length-1][3]=redondearComoExcel(PlanPagos[PlanPagos.length-1][3]-PlanPagos[PlanPagos.length-1][4]) PlanPagos[PlanPagos.length-1][4]=redondearComoExcel(PlanPagos[PlanPagos.length-1][4]-PlanPagos[PlanPagos.length-1][4]) } */ //PlanPagos[PlanPagos.length-1][4]=0.00; // Mostrar el arreglo bidimensional en la consola console.log(arregloBidimensional); console.log(PlanPagos); $('#PPagos').append(generarTabla(PlanPagos)); PlanPagos.unshift(["Número de Pago","Periodo de la Nómina","Monto de la Deuda Previo al Pago","Pago Quincenal","Nuevo Saldo"]) //if (Persona.getMuestra() === 1) { $("#canvas").html(""); $("#canvas").html(""); guardarDatosCondiciones() descargaPlanPagos(tipo) /*response.cantidad>0 ? alert("se revisó previamente el estado de cuenta") : alert("Consulta de conformidad del Estado de Cuenta del periodo "+Persona.getPeriodo())*/ $("#PDF").css("display", "block") //console.log("consultaEC") /* } if (Persona.getDescarga() === 1) { var dlnk = document.getElementById('dwnldLnk'); dlnk.href = 'data:application/octet-stream;base64,' + Persona.getEstadoCuenta(); dlnk.click() //console.log("descargaEC") } */ } let pagofinal=0 function redondearComoExcel(numero) { var digitos = 2 var factor = Math.pow(10, digitos); var tempNumero = numero * factor; var haciaArriba = (tempNumero % 1) * 2 >= 1 ? true : false; return haciaArriba ? Math.ceil(numero * factor) / factor : Math.floor(numero * factor) / factor; } function generarTabla(PlanArreglo) { var tabla = document.getElementById("TablaPPagos")//$('').addClass('tabla-dinamica'); //tabla.prop("id","TablaPPagos"); //tabla.prop("border","1"); //tabla.css("width", "100%"); //tabla.css("border", "1"); var fila0 = $(''); fila0.append($(''); for (var j = 0; j < PlanArreglo[i].length; j++) { if (PlanArreglo[i][j] % 1 == 0) { if((j==0)||(j==1)){ PlanArreglo[i][j]=PlanArreglo[i][j] } else{ PlanArreglo[i][j]="$ "+PlanArreglo[i][j]+".00" } } else { if((j==0)||(j==1)){ PlanArreglo[i][j]=PlanArreglo[i][j] } else{ //arregloBidimensional[i][j] = "$"+parseFloat(arregloBidimensional[i][j]).toLocaleString('es-MX'); PlanArreglo[i][j]=PlanArreglo[i][j] var arregloBidimensional_ = ((_arregloBidimensional_[i][j]).toLocaleString('es-MX')).toString().split("."); if(arregloBidimensional_.length==1) { PlanArreglo[i][j]="$ "+arregloBidimensional_.toLocaleString('es-MX')+".00" } else{ if(arregloBidimensional_[1].length==1) { PlanArreglo[i][j]="$ "+_arregloBidimensional_[i][j].toLocaleString('es-MX')+"0" } else{ PlanArreglo[i][j]="$ "+_arregloBidimensional_[i][j].toLocaleString('es-MX') } } } } fila.append($('
').text("Número de Pago")); fila0.append($('').text("Periodo de la Nómina")); fila0.append($('').text("Monto de la Deuda Previo al Pago")); fila0.append($('').text("Pago Quincenal")); fila0.append($('').text("Nuevo Saldo")); //tabla.append(fila0); $("#TablaPPagos > tbody").append(fila0) for (var i = 0; i < PlanArreglo.length; i++) { var fila = $('
').text(PlanArreglo[i][j])); } //tabla.append(fila); $("#TablaPPagos > tbody").append(fila) } return tabla; } var archivob64 =""; function descargaPlanPagos(tipo){ var settings = { "url": "/GeneraPlanPagos", "method": "POST", "timeout": 0, "headers": { "Content-Type": "application/json" }, "data": JSON.stringify({ "NumeroEmpleado": $("#numeroEmpleadoB").val(), "NumeroEmpleadoAsesor":asesor, "Password": asesorp, "consulta": "PDF", "montoInicial": montoInicial, "enganche": enganche, "deuda": deuda, "Periodos": Periodos, "pagosMensuales": pagosMensuales, "PeriodoInicialNomina": PeriodoInicialNominaDescripcion, "PlanPagos": PlanPagos, "Nombres":nombreBu, "apellidoPaterno":apellido1bus, "apellidoMaterno":apellido2bus, "capacidadpago":CapacidadPago, "tipo":tipo }), }; $.ajax(settings).done(function (response) { console.log(response); archivob64VF = response; var archivob64F = response; var archivob64 = archivob64F.substring(2, archivob64F.length - 1); $( "#pdfCotiza" ).fadeIn( "slow", function() { pintaPDF(archivob64) }); $( "#descargaPP" ).on( "click", function() { descargarArchivoPDF(archivob64, $("#numeroEmpleadoB").val()+"_cotización.pdf") }); $( "#EnviarMail" ).on( "click", function() { EnviarPlan($("#correoEnvia").val(),archivob64) }); console.log("Si se logró recuperar el PDF") }); console.log("No se logró recuperar el PDF") } function descargaSolicitudCheque(){ var settings = { "url": "/GeneraSolicitudPago", "method": "POST", "timeout": 0, "headers": { "Content-Type": "application/json" }, "data": JSON.stringify({ "NumeroEmpleado": $("#numeroEmpleadoB").val(), "NumeroEmpleadoAsesor":asesor, "PassAsesor": asesorp }), }; $.ajax(settings).done(function (response) { descargaPagare(); console.log(response); archivob64VF = response; var archivob64F = response; var archivob64 = archivob64F.substring(2, archivob64F.length - 1); $( "#pdfSolicitudCheque" ).fadeIn( "slow", function() { pintaPDFSCH(archivob64) }); $( "#descargaPP" ).on( "click", function() { descargarArchivoPDF(archivob64, $("#numeroEmpleadoB").val()+"_cotización.pdf") }); $( "#EnviarMailSCH" ).on( "click", function() { EnviarPlan($("#correoEnviaSCH").val(),archivob64) }); }); } function cargaDocPrestamo(){ $('form').submit(function(e){ e.preventDefault(); // Prevenir el comportamiento por defecto de enviar el formulario var formData = new FormData(this); $.ajax({ url: '/guardar_documentos', // URL a la que enviar los datos del formulario type: 'POST', data: formData, processData: false, contentType: false, success: function(response){ // Manejar la respuesta si es necesaria console.log("Documentos enviados exitosamente"); $( "#EnviaAuth" ).fadeIn( "slow", function() { console.log("carga EnviaAuth") envia_auth() }); }, error: function(error){ // Manejar el error si ocurre alguno console.error("Error al enviar documentos: " + error); } }); }); } function envia_auth(){ $('#solicita_Auth').submit(function(e){ e.preventDefault(); // Prevenir el comportamiento por defecto de enviar el formulario var respuesta = $('input[name="enviar_autorizacion"]:checked').val(); // Aquí puedes hacer lo que desees con la respuesta, como enviarla a través de AJAX a tu servidor // Ejemplo de envío de la respuesta al servidor utilizando AJAX con jQuery $.ajax({ url: '/enviar_solicitud', // URL a la que enviar la respuesta type: 'POST', data: {respuesta: respuesta}, // Enviar la respuesta al servidor success: function(response){ // Manejar la respuesta del servidor si es necesaria console.log("Respuesta enviada correctamente"); }, error: function(error){ // Manejar el error si ocurre alguno console.error("Error al enviar la respuesta: " + error); } }); }); } function descargaPagare(){ var settings = { "url": "/GeneraSolicitudPagare", "method": "POST", "timeout": 0, "headers": { "Content-Type": "application/json" }, "data": JSON.stringify({ "NumeroEmpleado": $("#numeroEmpleadoB").val(), "NumeroEmpleadoAsesor":asesor, "PassAsesor": asesorp }), }; $.ajax(settings).done(function (response) { console.log(response); archivob64VF = response; var archivob64F = response; var archivob64 = archivob64F.substring(2, archivob64F.length - 1); $( "#pdfPagare" ).fadeIn( "slow", function() { pintaPDFPagare(archivob64) var numeroEmpleadoValor = "12345"; var numeroEmpleadoTexto = "Número de Empleado: 12345"; // Puedes ajustar el texto según necesites // Establecer el valor y texto en el campo numero_empleado $('#numeroEmpleado').val($("#numeroEmpleadoB").val()); cargaDocPrestamo() }); $( "#CargaDoc" ).fadeIn( "slow", function() { console.log("carga doc") }); $( "#descargaPagare" ).on( "click", function() { descargarArchivoPDF(archivob64, $("#numeroEmpleadoB").val()+"_pagare.pdf") }); $( "#EnviarMailPagare" ).on( "click", function() { EnviarPlan($("#correoEnviaPagare").val(),archivob64) }); }); } function descargarArchivoPDF(base64Data, nombreArchivo) { // Crear un elemento para el enlace de descarga const enlaceDescarga = document.createElement('a'); // Decodificar el archivo PDF desde base64 const binaryData = atob(base64Data); // Crear un blob con el contenido decodificado const arrayBuffer = new ArrayBuffer(binaryData.length); const byteArray = new Uint8Array(arrayBuffer); for (let i = 0; i < binaryData.length; i++) { byteArray[i] = binaryData.charCodeAt(i); } const blob = new Blob([arrayBuffer], { type: 'application/pdf' }); // Establecer el objeto URL del blob para el enlace de descarga enlaceDescarga.href = URL.createObjectURL(blob); enlaceDescarga.download = nombreArchivo; // Agregar el enlace al DOM y simular clic para descargar document.body.appendChild(enlaceDescarga); enlaceDescarga.click(); // Limpiar el enlace del DOM document.body.removeChild(enlaceDescarga); } var archivob64VF="" function pintaPDF(b64) { // atob() is used to convert base64 encoded PDF to binary-like data. // (See also https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/ // Base64_encoding_and_decoding.) //var archivob64_ = b64.substring(2, b64.length - 1); var pdfData = atob(decodeURIComponent(b64)); // Loaded via