//REDIRECCION A LA PAGINA PRINCIPAL DE FACTURA document.getElementById('verFacturas').addEventListener('click', function () { var animacion = document.getElementsByClassName('xyz-in'); var ani = document.querySelectorAll('.xyz-in'); ani.forEach(function(animado, arrayIndex) { animado.classList.remove('xyz-in'); animado.classList.add('xyz-out'); }); setTimeout(function(){ window.location.href = 'portal.php'; },800); }); //INICIALIZACIÓN DE TABLA CON JQUERY PARA DATATABLES CON SUS ARGUMENTOS PARA DARLE CARACTERISTICAS $(document).ready(function () { var table = $('#facturasTable').DataTable({ lengthMenu: [10, 25, 50, 100], pageLength: 10, searching: true, paging: true, ordering: true, info: true, responsive: true, dom: 'Blfrtip', buttons: [ { extend: 'excel', text: 'Exportar a Excel', filename: 'Solicitudes_de_cancelación', }, { extend: 'pdf', className: 'btn btn-danger', text: 'Exportar a PDF', filename: 'Solicitudes_de_cancelación', }], autoWidth: false, columnDefs: [ { width: "5%", "targets": [0] }, { width: "5%", "targets": [1] }, { width: "10%", "targets": [2] }, { width: "25%", "targets": [3] }, { width: "10%", "targets": [4] }, { width: "5%", "targets": [5] }, { width: "5%", "targets": [6] }, ], columns: [ {"className": "xyz-in"}, {"className": "xyz-in"}, {"className": "xyz-in"}, {"className": "xyz-in"}, {"className": "xyz-in"}, {"className": "xyz-in"}, {"className": "xyz-in"}, ], }); //CUANDO EL DOCUMENTO ESTE LISTO, SE EJECUTA ESTE CODIGO MANDANDO A LLAMAR UNA API PARA CONSULTAS DE SOLICITUDES CON EL STATUS 4 $(document).ready(function(){ //SE ALMACENAN VARIABLES DEL ID DEL USUARIO Y EL CODIGO DE NEGOCIO var status = 4; var id_usuario_autoriza = document.getElementById("id_usuario").value; var nombre_negocio = document.getElementById("nombre_negocio").value; var api = document.getElementById("api").value; var boton = ""; $.ajax({ data: {status:status, id_usuario_autoriza:id_usuario_autoriza, nombre_negocio:nombre_negocio}, //datos que se envian a traves de ajax url: api+'/api/consultaSolicitudesCan', //archivo que recibe la peticion type: 'post', //método de envio dataType: 'json', beforeSend: function () { //SE MUESTRA UN MENSAJE DE CARGANDO MIENTRAS SE ESPERA UNA RESPUESTA $("#datos_soli").html('
'); }, success: function(response) { //CONDICIONAL PARA CORROBORAR QUE EXISTAN DATOS EN LA BD Y PINTARLOS EN LA TABLA if(response == "sin_datos"){ $("#datos_soli").html('Sin datos'); }else{ setTimeout(function(){ //SE ITERA EL RESPONSE DE LA SOLICITUD CON TODOS LOS DATOS QUE MANDAMOS A TRAER DE LA API response.forEach(function(factura, arrayIndex) { //CREAMOS UNA FILA POR CADA MÓDULO DE DATOS //factura - VARIABLE DONDE SE ENCUENTRA GUARDADA LA INFORMACIÓN DE LOS DATOS //arrayIndex - VARIABLE DONDE SE ENCUENTRA GUARDADA LA POSICIÓN DE LA FILA EN LA TABLA var fecha = factura.Fecha_solicitud; var fecha_format = fecha.slice(0, -9); table.row.add([ fecha_format, factura.Nombre_solicitante, factura.Centro, factura.UUID, factura.motivo, factura.motivoSAT, factura.denegar ]).draw(false); }) },2000); } }, }).fail(function(response){ //EN CASO DE FALLO, SE PINTA UN ERROR EN CONSOLA console.log("FAIL", response); }) }); //SE LE DA ATRIBUTO A LA TABLA PARA DARLE ESTILO table.buttons().container().appendTo('#facturasTable_wrapper .col-md-6:eq(0)'); var responsesArray = []; var currentPage = 1; //FUNCION QUE PERMITE PAGINAR LA TABLA Y NO MOSTRAR TODOS LOS DATOS A LA VEZ $('#facturasTable').off('page.dt').on('page.dt', function () { currentPage = table.page.info().page + 1; }); }); //FUNCION PARA CERRAR LA SESIÓN DEL USUARIO function logout() { document.getElementById('logoutForm').action = 'logout.php'; document.getElementById('logoutForm').submit(); } //FUNCION QUE SE ENCARGA DE EJECUTAR LA API DE AUTORIZACION DE CANCELACION function rechazarCancelacion(idFactura, id_usuario_autoriza, status, id_usuario_solicitante, uuid, nombre_negocio, url, motivo, portal){ var opcion = "denegada"; //SE EJECUTA AJAX PARA EL ENVIO DE DATOS A LA API DE AUTORIZACION alertify.confirm('Denegar solicitud',"¿Estas seguro que deseas denegar la solicitud de cancelación? No se podrán modificar los cambios posteriormente.", function(){ $.ajax({ data: { idFactura:idFactura, id_usuario_autoriza:id_usuario_autoriza, status:status, id_usuario_solicitante:id_usuario_solicitante, uuid:uuid, nombre_negocio:nombre_negocio, url:url, opcion:opcion, motivo:motivo, portal:portal}, //datos que se envian a traves de ajax url: 'php/autorizacionCancelacion.php', //API QUE RECIBE LA PETICION type: 'post', //METODO DE ENVIO beforeSend: function () { console.log("enviando..."); }, success: function (response) { //UNA VEZ QUE EL ARCHIVO RECIBE LA PETICION LO PROCESA Y DEVUELVE UN HTML if(response == "OK"){ alertify.success('Se ha dengeado la cancelación del folio '+ uuid + ' correctamente'); console.log(response); setTimeout(function(){ location.reload(true); }, 3000); }else{ alertify.error('La solicitud no se ha completado correctamente, por favor vuelva a intentarlo.'); console.log(response); } }, }).fail(function(error){ alertify.error('Ha ocurrido un error' + error); }) }, function(){ alertify.error('Se ha cancelado la solicitud'); console.log("cancel"); }); } function aceptarCancelacion(idFactura, id_usuario_autoriza, status, id_usuario_solicitante, uuid, nombre_negocio, url, motivo, portal, motivoSAT, uuid_relacionado){ var opcion = "aceptada"; alertify.confirm('Autorizar solicitud',"¿Estas seguro que deseas autorizar la solicitud de cancelación? No se podrán modificar los cambios posteriormente.", function(){ //SE EJECUTA AJAX PARA EL ENVIO DE DATOS A LA API DE AUTORIZACION $.ajax({ data: { idFactura:idFactura, id_usuario_autoriza:id_usuario_autoriza, status:status, id_usuario_solicitante:id_usuario_solicitante, uuid:uuid, nombre_negocio:nombre_negocio, url:url, opcion:opcion, motivo:motivo, portal:portal, motivoSAT:motivoSAT, uuid_relacionado:uuid_relacionado}, //datos que se envian a traves de ajax url: 'php/autorizacionCancelacion.php', //API QUE RECIBE PETICION type: 'post', //METODO DE ENVIO beforeSend: function () { console.log("enviando..."); }, success: function (response) { //UNA VEZ QUE EL ARCHIVO RECIBE LA PETICION LO PROCESA Y DEVUELVE UN HTML if(response == "OK"){ console.log(response); alertify.success('Se ha autorizado la cancelación del folio '+ uuid + ' correctamente'); setTimeout(function(){ location.reload(true); }, 3000); }else{ console.log(response); alertify.error('La solicitud no se ha completado correctamente,'+response); } }, }).fail(function(error){ alertify.error('Ha ocurrido un error' + error); }) }, function(){ alertify.error('Proceso de autorización cancelado'); }) }