214 lines
6.3 KiB
JavaScript
214 lines
6.3 KiB
JavaScript
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 '<button class="badge badge-info" onclick=\'timbra(' + JSON.stringify(row) + ')\'>Timbrar</button>';
|
|
} else if (row.estatus == '4') {
|
|
return '<span class="badge badge-success">Timbrado</span>';
|
|
}
|
|
}
|
|
},
|
|
{ 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('<tr class="odd"><td valign="top" colspan="' + columns.length + '" class="dataTables_empty">Sin facturas</td></tr>');
|
|
|
|
// 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 + '<br>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('<tr class="odd"><td valign="top" colspan="' + columns.length + '" class="dataTables_empty">No hay facturas PPD</td></tr>');
|
|
}
|
|
|
|
},
|
|
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();
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|