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();
}