templates/agenda/index_procedimientos.html.twig line 1

Open in your IDE?
  1. <table class="min-w-full bg-white shadow-md rounded-lg overflow-hidden">
  2.     <thead class="bg-gray-100">
  3.         <tr>
  4.             <th class="text-left py-3 px-4 uppercase font-semibold text-sm">#</th>
  5.             <th class="text-left py-3 px-4 uppercase font-semibold text-sm">Nombre</th>
  6.             <th class="text-left py-3 px-4 uppercase font-semibold text-sm">Acciones</th>
  7.         </tr>
  8.     </thead>
  9.     <tbody>
  10.         {% for procedimiento in procedimientos %}
  11.             <tr class="border-b hover:bg-gray-50">
  12.                 <td class="py-3 px-4">{{ loop.index }}</td>
  13.                 <td class="py-3 px-4">{{ procedimiento.procedimiento.nombre }}</td> {# Cambia 'nombre' por el campo que tengas #}
  14.                 <td class="py-3 px-4">
  15.                     <button 
  16.                         class="btn btn-danger btn-xs" 
  17.                         onclick="eliminarProcedimiento('{{ procedimiento.id }}')">
  18.                         Eliminar
  19.                     </button>
  20.                 </td>
  21.             </tr>
  22.         {% else %}
  23.             <tr>
  24.                 <td colspan="3" class="text-center py-4 text-gray-400">
  25.                     No hay procedimientos registrados.
  26.                 </td>
  27.             </tr>
  28.         {% endfor %}
  29.     </tbody>
  30. </table>
  31. <script>
  32. function eliminarProcedimiento(id) {
  33.     if (confirm('¿Estás seguro de eliminar este procedimiento?')) {
  34.         fetch('{{asset("index.php/agenda_procedimiento/procedimiento/eliminar")}}/' + id, {
  35.             method: 'DELETE',
  36.             headers: {
  37.                 'X-Requested-With': 'XMLHttpRequest',
  38.                 'Content-Type': 'application/json'
  39.             }
  40.         })
  41.         .then(response => response.json())
  42.         .then(data => {
  43.             location.reload();
  44.             /*if (data.estado === 'ok') {
  45.                 // Recargar el div que contiene el listado
  46.                 document.getElementById('div-procedimientos').innerHTML = data.html;
  47.             } else {
  48.                 alert('No se pudo eliminar');
  49.             }*/
  50.         })
  51.         .catch(error => {
  52.             console.error('Error:', error);
  53.             alert('Error al eliminar');
  54.         });
  55.     }
  56. }
  57. </script>