var clienteSeleccionado = ""; var complementoAerolinea = ""; var complementoINE = ""; var opcionFactura = 0; var boton; var contenidoConceptos = ""; //Conceptos dinamicos contenedor var contenidoPagos = ""; //Contenedor pagos parciales var opcionFacturaGlobal = "1"; var idFacturaPPD = ""; $(document).ready(function () { $("#search-icon").click(function () { var uuid = document.getElementById('uuid').value; console.log(uuid) $.ajax({ type: 'POST', url: 'php/consulta/datosPPD.php', data: { uuid: uuid }, dataType: 'json', success: function (response) { console.log(response) document.getElementById('RFC').textContent = response.rfc; document.getElementById('razonSocial').textContent = response.razon; document.getElementById('regimenFiscal').textContent = response.regimen; document.getElementById('cpCliente').textContent = response.cp; //inputs ocultos document.getElementById('inputRazonSocial').value = response.razon; document.getElementById('inputRFC').value = response.rfc; document.getElementById('inputRegimenFiscal').value = response.regimen; document.getElementById('inputCPCliente').value = response.cp; //DATOS PAGO document.getElementById('debe').value = response.total; document.getElementById('numParcialidad').value = response.parcialidad; document.getElementById('montoPagado').value = 0.00; document.getElementById('impSaldoInsoluto').value = 0.00; idFacturaPPD = response.id; }, error: function (xhr, status, error) { console.log(xhr.responseText, status, error) } }); }); $('#agregarFila').on('click', agregarFilaHandler); let productosArray = []; obtenerClientes(); obtenerMateriales(); obtenerFolio(); obtenerUsoCfdi(); obtenerMetodoPago(); obtenerViaPago(); var opciones = document.getElementById('opcionesFacturacion'); opciones.addEventListener("change", function (event) { var opcionSeleccionada = event.target.value; switch (opcionSeleccionada) { case "1": console.log(opcionSeleccionada) opcionFactura = 1; document.getElementById('tablaConceptos').innerHTML = contenidoConceptos; //contenidoPagos = document.getElementById('contenedorPagos').innerHTML; //document.getElementById('contenedorPagos').innerHTML = ''; document.getElementById('contenedorPagos').style.display = 'none'; $('#agregarFila').on('click', agregarFilaHandler); obtenerFolio(); //$('#agregarFila').on('click', agregarFilaHandler); document.getElementById('iconoCliente').style.display = ''; document.getElementById('cliente').style.display = '' opcionFacturaGlobal = "1"; var razonSocial = document.getElementById('inputRazonSocial'); var cpReceptor = document.getElementById('inputCPCliente'); var rfcReceptor = document.getElementById('inputRFC'); var regimenReceptor = document.getElementById('inputRegimenFiscal'); cpReceptor.style.display = 'none'; cpReceptor.value = ''; regimenReceptor.style.display = 'none'; regimenReceptor.value = ''; rfcReceptor.style.display = 'none'; rfcReceptor.value = ''; razonSocial.style.display = 'none'; razonSocial.value = ''; document.getElementById('uuid').value = ''; document.getElementById('debe').value = ''; document.getElementById('numParcialidad').value = ''; document.getElementById('montoPagado').value = ''; document.getElementById('impSaldoInsoluto').value = ''; var usocontenedor = document.getElementById('uso_contenedor'); usocontenedor.style.display = ''; document.getElementById('uuid').value = ''; break; case "2": limpiarTablaHandler(); opcionFacturaGlobal = "2"; console.log(opcionSeleccionada) var montoPago = document.getElementById('montoPagado') montoPago.addEventListener('input', function () { var montoDeuda = document.getElementById('debe'); var montoPago = document.getElementById('montoPagado') var deuda = parseFloat(montoDeuda.value); var pago = parseFloat(montoPago.value); var saldoInsoluto = deuda - pago; $('#impSaldoInsoluto').val(saldoInsoluto.toFixed(2)); var mensajeError = document.getElementById('mensajeError'); if (pago > deuda) { mensajeError.textContent = 'El monto pagado no puede ser mayor que la deuda.'; } else { mensajeError.textContent = ''; } }); document.getElementById('contenedorPagos').style.display = ''; contenidoConceptos = document.getElementById('tablaConceptos').innerHTML; document.getElementById('tablaConceptos').innerHTML = ''; var usocontenedor = document.getElementById('uso_contenedor'); usocontenedor.style.display = 'none'; document.getElementById('RFC').textContent = ''; document.getElementById('razonSocial').textContent = ''; document.getElementById('regimenFiscal').textContent = ''; document.getElementById('cpCliente').textContent = ''; document.getElementById('cliente').value = 'Selecciona un cliente'; document.getElementById('iconoCliente').style.display = 'none'; document.getElementById('cliente').style.display = 'none'; console.log(opcionSeleccionada) break; } }); document.addEventListener("DOMContentLoaded", function () { }); $('#tablaDatos').on('click', '.btnEliminarFila', function () { $(this).closest('tr').remove(); nuevaFila.remove(); calcularTotales(); actualizarNombresConcepto(); }); }); function toggleLoader() { console.log('ENTRA') var loaderWrapper = document.getElementById("loaderWrapper"); if (loaderWrapper.classList.contains("hidden")) { loaderWrapper.classList.remove("hidden"); $('#overlay').removeClass('hidden'); } else { loaderWrapper.classList.add("hidden"); $('#overlay').addClass('hidden'); } } function toggleLoader2() { console.log('ENTRA') var loaderWrapper = document.getElementById("loaderWrapper2"); if (loaderWrapper.classList.contains("hidden")) { loaderWrapper.classList.remove("hidden"); $('#overlay').removeClass('hidden'); } else { loaderWrapper.classList.add("hidden"); $('#overlay').addClass('hidden'); } } function toggleLoader3() { console.log('ENTRA') var loaderWrapper = document.getElementById("loaderWrapper3"); if (loaderWrapper.classList.contains("hidden")) { loaderWrapper.classList.remove("hidden"); $('#overlay').removeClass('hidden'); } else { loaderWrapper.classList.add("hidden"); $('#overlay').addClass('hidden'); } } function complementoIne(val1) { var ineContenedor = document.getElementById('ineContenedor'); var grupoEntidad = document.getElementById('grupoEntidad'); // Contenido para 'Ordinario' var contenidoOrdinario = '
' + '
' + '' + '' + '
' + '
' + '
' + '
' + '' + '' + '
' + '
' + '
'; // Contenido para 'No Ordinario' var contenidoNoOrdinario = '
' + '
' + '' + '' + '
' + '
' + '
' + '
' + '' + '' + '
' + '
' + '
'; var tipoComiteDiv = document.getElementById('tipoComiteDiv'); var contabilidadDiv = document.getElementById('contabilidadDiv'); // Agregar el contenido correspondiente según la opción seleccionada if (val1 === 'Ordinario') { console.log("Ordinario", val1) contabilidadDiv.style.display = 'none'; tipoComiteDiv.style.display = 'none'; //ineContenedor.innerHTML = contenidoOrdinario; } else if (val1 == 'Campaña' || val1 == 'Precampaña') { contabilidadDiv.style.display = 'none'; tipoComiteDiv.style.display = 'none'; console.log("Valor", val1) //grupoEntidad.innerHTML = contenidoNoOrdinario; } } function obtenerFolio() { var timestamp = new Date().getTime(); var timestampString = timestamp.toString().slice(-6); // Utilizar solo los últimos 6 dígitos // Generar un número aleatorio único de 4 dígitos var uniqueSuffix = Math.floor(Math.random() * 10000).toString().padStart(4, '0'); var folioInput = document.getElementById('folioP'); folioInput.addEventListener('input', function () { if (folioInput.value.length > 10) { folioInput.value = folioInput.value.slice(0, 10); } }); // Concatenar la marca de tiempo y el sufijo único document.getElementById('folioP').value = timestampString + uniqueSuffix; } // Función para obtener el token CSRF de la cookie function getCSRFToken() { const cookies = document.cookie.split('; '); for (let cookie of cookies) { const [name, value] = cookie.split('='); if (name === 'csrf_token') { return value; } } return null; } function obtenerMateriales() { const csrfToken = getCSRFToken(); if (!csrfToken) { console.error('Token CSRF no encontrado'); return; } fetch('php/items/productos.php', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRF-Token': csrfToken // Envía el token CSRF en un encabezado personalizado }, body: JSON.stringify({ csrf_token: csrfToken }) // Incluye el token CSRF en los datos de la solicitud }) .then(response => response.json()) .then(data => { if (data.error) { console.error('Error al obtener datos de clientes:', data.error); } else { productosArray = []; data.forEach(producto => { productosArray.push(producto); }); } }) .catch(error => console.error('Error al realizar la solicitud AJAX:', error)); } function obtenerClientes() { fetch('php/items/clientes.php', { method: 'POST', headers: { 'Content-Type': 'application/json', }, }) .then(response => response.json()) .then(data => { if (data.error) { console.error('Error al obtener datos de clientes:', data.error); } else { data.sort((a, b) => a.Name1.localeCompare(b.Name1)); let clienteSelect = document.getElementById('cliente'); data.forEach(cliente => { //se recorren todos los clientes let option = document.createElement('option'); option.value = JSON.stringify(cliente); if (cliente.Frgrp == '999') { option.text = 'CLIENTE DE CONTADO'; } else { option.text = cliente.Name1; } clienteSelect.add(option); }); // Agregar un evento de cambio al select clienteSelect.addEventListener('change', function () { let selectedValue = JSON.parse(clienteSelect.value); clienteSeleccionado = selectedValue.Kunnr; if (selectedValue.Frgrp == '999') { console.log('CONTADO'); document.getElementById('inputRazonSocial').value = ''; document.getElementById('inputRazonSocial').style = ''; document.getElementById('inputRFC').value = ''; document.getElementById('inputRFC').style = ''; document.getElementById('inputRegimenFiscal').value = ''; document.getElementById('inputRegimenFiscal').style = ''; document.getElementById('inputCPCliente').value = ''; document.getElementById('inputCPCliente').style = ''; document.getElementById('RFC').textContent = ''; document.getElementById('razonSocial').textContent = ''; document.getElementById('regimenFiscal').textContent = ''; document.getElementById('cpCliente').textContent = ''; return; } document.getElementById('inputRazonSocial').value = ''; document.getElementById('inputRazonSocial').style.display = 'none'; document.getElementById('inputRFC').value = ''; document.getElementById('inputRFC').style.display = 'none'; document.getElementById('inputRegimenFiscal').value = ''; document.getElementById('inputRegimenFiscal').style.display = 'none'; document.getElementById('inputCPCliente').value = ''; document.getElementById('inputCPCliente').style.display = 'none'; document.getElementById('RFC').textContent = selectedValue.Stcd1; var razonSocial = selectedValue.Name1.toString(); document.getElementById('razonSocial').textContent = selectedValue.Name1; document.getElementById('regimenFiscal').textContent = selectedValue.Frgrp; document.getElementById('cpCliente').textContent = selectedValue.Pstlz; //inputs ocultos document.getElementById('inputRazonSocial').value = razonSocial; var rfcR = selectedValue.Stcd1.toString(); document.getElementById('inputRFC').value = rfcR; var regimenR = selectedValue.Frgrp.toString(); document.getElementById('inputRegimenFiscal').value = regimenR; var cpCliente = selectedValue.Pstlz.toString(); document.getElementById('inputCPCliente').value = cpCliente; }); } }) .catch(error => console.error('Error al realizar la solicitud AJAX:', error)); } // Cambiar valores de otras columnas al seleccionar código $('#tablaDatos').on('change', '.codigo', function () { var codigoSeleccionado = $(this).val(); var fila = $(this).closest('tr'); // Llamar a la función para calcular el importe calcularImporte(fila); calcularTotales(); actualizarNombresConcepto(); }); function obtenerUsoCfdi() { //03/03/2024 Michael Cabreras $.ajax({ url: '../php/items/UsoCFDI.php', type: 'GET', dataType: 'json', success: function (data) { console.log(data) // Una vez que se recibe el JSON, construir el select $.each(data, function (index, objeto) { $('#usoFactura').append($('