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

Entradas populares de este blog

Filtrando por fecha

10 videojuegos gratis para aprender JavaScript en línea

reloj obs---datetime.lua