var clienteSeleccionado = ""; var complementoAerolinea = ""; var complementoINE = ""; var opcionFactura = 0; var boton; var contenidoConceptos = ""; //Conceptos dinamicos contenedor var contenidoPagos = ""; //Contenedor pagos parciales var opcionFacturaGlobal = "1"; $(document).ready(function () { 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'; 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 = ''; break; case "2": opcionFacturaGlobal = "2"; 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 = ''; console.log(opcionSeleccionada) break; } }); document.addEventListener("DOMContentLoaded", function () { }); $('#tablaDatos').on('click', '.btnEliminarFila', function () { $(this).closest('tr').remove(); nuevaFila.remove(); calcularTotales(); actualizarNombresConcepto(); }); }); 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("Valorasd", val1) contabilidadDiv.style.display = 'block'; tipoComiteDiv.style.display = 'block'; //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 = []; console.log('PRODUCTOS', data) data.forEach(producto => { productosArray.push(producto); }); } }) } 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 { 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($('