var dtTemp; var clienteTemp; var lista_clientes; var fileInput; var file; var cadenaB64 = ''; var textoCliente = ''; var dataTable; $(document).ready(function () { construyeDT(); inicializarDataTable(dataTable) }); function construyeDT() { var columns = [ { data: 'folio', title: 'Folio' }, { data: 'fecha_ppd', title: 'Fecha pago' }, { data: 'fecha_creacion', title: 'Fecha solicitud' }, { data: 'unidad', title: 'Unidad Venta' }, { data: 'cliente', title: 'Cliente' }, { data: 'monto', title: 'Monto pagado' }, { data: 'email', title: 'Correo' }, { data: 'forma_pago', visible: false}, { data: 'descripcion_pago', title: 'Forma Pago' }, { data: 'id', title: 'Accion', render: function (data, type, row) { if (row.estatus == '2') { return ''; } else if (row.estatus == '4') { return 'Timbrado'; } } }, { data: 'UUID', title : 'UUID'} ]; // Destruye la DataTable si ya existe if ($.fn.DataTable.isDataTable('#pagosDT')) { $('#pagosDT').DataTable().destroy(); } // Construye la DataTable dataTable = $('#pagosDT').DataTable({ destroy: true, lengthMenu: [10, 25, 50, 100, 500, 1000], pageLength: 10, searching: true, paging: true, ordering: true, info: true, responsive: true, dom: 'Blfrtip', buttons: [{ extend: 'pdfHtml5', text: 'PDF', exportOptions: { modifier: { page: 'current' } }, className: 'btn-danger' }, { extend: 'excelHtml5', text: 'Excel', exportOptions: { modifier: { page: 'current' } }, className: 'btn-success' }], columns: columns, data: [] }); // Agrega un mensaje si no hay datos en la DataTable $('#pagosDT tbody').html('Sin facturas'); // Agrega el botón #getSelectedRows al contenedor de botones } function timbra(data) { Swal.fire({ icon: 'info', title: 'Mensaje', text: '¿Desea timbrar este pago?', showCancelButton: true, confirmButtonText: 'Aceptar', cancelButtonText: 'Cancelar' }).then((result) => { if (result.isConfirmed) { toggleLoader4() var centro = data.id_unidad; var fecha_pago = data.fecha_ppd; var monto = data.monto; var email = data.email; var id_solicitud = data.id; var id_cliente = data.id_cliente; var folio = data.folio; var formaPago = data.forma_pago; var solicitud = { unidad_negocio: centro, fecha_pago: fecha_pago, pagado: monto, email: email, solicitud: id_solicitud, folioP: folio, id_cliente: id_cliente, formaPago : formaPago }; var titulo = document.getElementById('titulo_modal'); var mensaje = document.getElementById('p_errores'); $.ajax({ url: 'php/Timbrado/pagos_api.php', type: 'POST', data: solicitud, dataType: 'json', success: function (data) { //--------Si es nula la respuesta console.log('Respuesta', data) if(data===null) { titulo.innerText = '¡Mensaje, intento de timbrado!'; mensaje.innerText = 'No se puede timbrar. Error en datos'; $('#mensajes').modal('show') toggleLoader4() } else{ if (data.code == "200") { titulo.innerText = '¡Timbrado!'; mensaje.innerHTML = data.message + '
UUID: ' + data.uuid; inicializarDataTable(dataTable); } else { titulo.innerText = '¡Mensaje, intento de timbrado!'; mensaje.innerText = data.message; } $('#mensajes').modal('show') toggleLoader4() } }, error: function (error) { console.log(error) titulo.innerText = '¡Mensaje, intento de timbrado!'; mensaje.innerText = 'No es posible realizar timbrado, consulte a soporte'; $('#mensajes').modal('show') toggleLoader4() } }); } }); } function inicializarDataTable(dataTable) { $.ajax({ url: 'php/ConsultasTablas/ManipulacionConsultas.php', type: 'POST', data: { opcion: '8' }, dataType: 'json', success: function (data) { // console.log(data) if (data.length > 0) { console.log('Agregar filas') dataTable.clear().rows.add(data).draw(); } else { $('#pagosDT tbody').html('No hay facturas PPD'); } }, error: function (error) { console.error('Error en la llamada AJAX', error); } }); } function toggleLoader4() { console.log('ENTRA') var loaderWrapper = document.getElementById("loaderWrapper4"); if (loaderWrapper.classList.contains("hidden")) { loaderWrapper.classList.remove("hidden"); $('#overlay').removeClass('hidden'); } else { loaderWrapper.classList.add("hidden"); $('#overlay').addClass('hidden'); } } function recargarPag() { location.reload(); }