197 lines
5.0 KiB
JavaScript
197 lines
5.0 KiB
JavaScript
"use strict";
|
|
|
|
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 render(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],
|
|
pageLength: 10,
|
|
searching: true,
|
|
paging: true,
|
|
ordering: true,
|
|
info: true,
|
|
responsive: true,
|
|
dom: 'Bfrtip',
|
|
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(function (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 success(data) {
|
|
console.log('Respuesta', data);
|
|
|
|
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(_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 success(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(_error2) {
|
|
console.error('Error en la llamada AJAX', _error2);
|
|
}
|
|
});
|
|
}
|
|
|
|
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');
|
|
}
|
|
} |