solicitudes-v1
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@7.26.10/dist/sweetalert2.all.min.js"></script>
<script>
$(document).ready(function() {
$('#solicitudtabla').DataTable({
"order": [
[4, "desc"]
],
pageLength: 4,
lengthMenu: [
[4, 10, 20, -1],
[4, 10, 20, 'Todos']
],
columnDefs: [{
orderable: false,
targets: -1
}],
dom: '<"row"<"col-sm-1 col-md-1"l><"col-sm-7 col-md-7"f><"col-sm-4 col-md-4"<"dt-buttons btn-group flex-wrap"B>>>t<"row"<"col-sm-12 col-md-3"p><"col-sm-12 col-md-7"i>>',
botones: [{
text: 'csv',
extend: 'csvHtml5',
},
{
texto: 'excel',
extensión: 'excelHtml5',
},
{
texto: 'pdf',
extensión: 'pdfHtml5',
},
]
});
});
</script>
<h1>Solicitudes: <?php echo $carpeta["carpeta"];?></h1>
<table id="solicitudtabla" class="table">
<thead class="thead-dark">
<tr>
<th>Id</th>
<th>Registro</th>
<th>Solicitud</th>
<th>Fecha</th>
<th>Plazo/Comentario</th>
<th>Fecha de Vencimiento</th>
<th>PDF</th>
<th>Estado</th>
<th>Resolvio</th>
<th>Fecha de Contesto</th>
</tr>
</thead>
<tbody id="tablaBody"></tbody>
</table>
<!-- Modales Container -->
<div id="modalesContainer"></div>
<script>
// Mock de datos de solicitudes
const datos = [{
id: 1,
registro: 'Registro 1',
solicitud: 'Solicitud 1',
f_registro: '2024-03-10',
Comentario: 'Comentario 1',
f_vence: '2024-03-10',
pdf: 'a',
Estado: 'Activo',
Resolvio: 'Terminado',
fecha_contesto: 'Tipo'
},
{
id: 2,
registro: 'Registro 2',
solicitud: 'Solicitud 2',
f_registro: '2024-03-15',
Comentario: 'Comentario 2',
f_vence: '2024-03-10',
pdf: 'a',
Estado: 'Pendiente',
Resolvio: 'Terminado',
fecha_contesto: 'Tipo'
},
{
id: 3,
registro: 'Registro 3',
solicitud: 'Solicitud 3',
f_registro: '2024-03-20',
Comentario: 'Comentario 3',
f_vence: '2024-03-10',
pdf: 'a',
Estado: 'Terminado',
Resolvio: 'Terminado',
fecha_contesto: 'Tipo'
}
];
// Función para generar la tabla y los modales
function generarTablaYModales(datos) {
let tablaHTML = '';
let modalesHTML = '';
datos.forEach(dato => {
// Generar el HTML de la fila de la tabla
tablaHTML += `
<tr>
<td>${dato.id}</td>
<td>${dato.registro}</td>
<td>${dato.solicitud}</td>
<td>${dato.f_registro}</td>
<td>${dato.Comentario}</td>
<td>${dato.f_vence}</td>
<td>${dato.pdf || ''}</td>
<td>
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal${dato.id}">
am
</button>
</td>
<td>${dato.Resolvio || ''}</td>
<td>${dato.fecha_contesto || ''}</td>
</tr>
`;
// Generar el HTML del modal
modalesHTML += `
<div class="modal fade" id="exampleModal${dato.id}" tabindex="-1" aria-labelledby="exampleModalLabel${dato.id}" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel${dato.id}">Modal title</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<!-- Contenido del modal -->
<!-- Puedes poner aquí los campos del formulario -->
<p>Contenido del modal para el ID ${dato.id}</p>
<form id="editarEstadoForm${dato.id}" onsubmit="guardarEstado(${dato.id})">
<input type="hidden" name="id" value="${dato.id}">
<div class="form-group">
<label for="resolvio">Resolvio:</label>
<input type="text" class="form-control" id="resolvio${dato.id}" name="resolvio">
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="submit" form="editarEstadoForm${dato.id}" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
`;
});
// Insertar el HTML generado en el documento
document.getElementById('tablaBody').innerHTML = tablaHTML;
document.getElementById('modalesContainer').innerHTML = modalesHTML;
}
// Función para guardar el estado
function guardarEstado(event, id) {
event.preventDefault();
// Obtener los valores de los campos del formulario
var resolvio = document.getElementById('resolvio' + id).value;
// Imprimir los valores en la consola
console.log("ID:", id);
console.log("Resolvio:", resolvio);
// Aquí puedes realizar cualquier otra acción con los datos obtenidos, como enviarlos al servidor
}
// Llamar a la función para generar la tabla y los modales
generarTablaYModales(datos);
</script>
Comentarios
Publicar un comentario