  <?php include __DIR__ . '/../partials/sidebar_importador.php'; ?>

<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>📄 Solicitudes de Importación</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
  <link href="https://cdn.datatables.net/1.13.4/css/jquery.dataTables.min.css" rel="stylesheet">
  <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
  <script src="https://code.jquery.com/jquery-3.7.0.min.js"></script>
  <script src="https://cdn.datatables.net/1.13.4/js/jquery.dataTables.min.js"></script>
  <style>
    table.dataTable thead th { background: #343a40; color: #fff; }
    body { font-family: 'Segoe UI', sans-serif; background-color: #f4f6f9; }
    .sidebar { width: 220px; height: 100vh; background-color: #343a40; position: fixed; top: 0; left: 0; padding-top: 56px; z-index: 1040;
    }
    .sidebar .nav-link { font-weight: bold; color: white; transition: all 0.3s ease; }
    .sidebar .nav-link:hover,
    .sidebar .nav-link.active { background-color: #495057; color: #fff; }
    .content { margin-top: 56px; padding: 40px 20px; position: relative; z-index: 1; background-color: #f4f6f9; transition: margin-left 0.3s ease;
    }
    .navbar { position: fixed; top: 0; width: 100%; z-index: 1050; }
    /* A partir de dispositivos medianos (>=768px), deja espacio lateral */
    @media (min-width: 768px) { .content { margin-left: 250px; /* Ancho del sidebar */ } }
    /* En móviles, sin margen lateral */
    @media (max-width: 767.98px) {
      .content { margin-left: 0; }
      .sidebar .nav-link { font-weight: normal; color: #343a40; background-color: transparent; }
      .sidebar .nav-link:hover,
      .sidebar .nav-link.active { background-color: #e9ecef; color: #212529; }
    }
    .card { border-radius: 12px; }
    .status-select:disabled { background-color: #e9ecef; color: #6c757d;}
  </style>
</head>
<body>

  <div class="content">
    <h4>📄 Solicitudes de Importación</h4>
    <a href="/IMPORTADORES/solicitud_importacion/crear" class="btn btn-success mb-3">➕ Nueva Solicitud</a>
    <div class="card p-3 shadow-sm">
      <div class="table-responsive">
        <table class="table table-striped" id="tabla-solicitudes">
          <thead>
            <tr>
              <th>#</th>
              <th>Factura</th>
              <th>Fecha</th>
              <th>Pedimento</th>
              <th>Incoterm</th>
              <th>País Proveedor</th>
              <th>Moneda</th>
              <th>Valor</th>
              <th>Vinculación</th>
              <th>Transportista</th>
              <th>PDF</th>
              <!-- Nueva columna Status -->
              <th>Status</th>
              <th>Acciones</th>
            </tr>
          </thead>
          <tbody>
            <?php foreach($facturas as $f): ?>
            <tr>
              <td><?= $f['id_solicitud'] ?></td>
              <td><?= htmlspecialchars($f['numero_factura']) ?></td>
              <td><?= htmlspecialchars($f['fecha_factura']) ?></td>
              <td><?= htmlspecialchars($f['numero_pedimento']) ?></td>
              <td><?= htmlspecialchars($f['incoterm']) ?></td>
              <td><?= htmlspecialchars($f['nombre_pais_proveedor']) ?></td>
              <td><?= htmlspecialchars($f['tipo_moneda']) ?></td>
              <td><?= number_format($f['valor_factura'],2) ?></td>
              <!-- Celda de Vinculación -->
              <td>
                <?php
                  switch($f['vinculacion']) {
                    case 1: echo 'Existe, no afecta'; break;
                    case 2: echo 'Existe y afecta'; break;
                    default: echo 'No existe';
                  }
                ?>
              </td>
              <!-- Celda de Transportista -->
              <td><?= htmlspecialchars($f['transportista']) ?></td>
              <!-- Celda de Vista PDF -->
              <td>
                <a href="/IMPORTADORES/solicitud_importacion/pdf?id=<?= $f['id_solicitud'] ?>" 
                  class="btn btn-sm btn-outline-secondary" target="_blank">
                  📄 PDF
                </a>
              </td>
              <!-- Celda de Status -->
              <td>
                <select 
                  class="form-select status-select" 
                  data-id="<?= $f['id_solicitud'] ?>"
                >
                  <option value="1" <?= $f['status']==1 ? 'selected' : '' ?>>1 – En proceso</option>
                  <option value="2" <?= $f['status']==2 ? 'selected' : '' ?>>2 – Solicitar importación</option>
                  <option value="3" <?= $f['status']==3 ? 'selected' : '' ?>>3 – Con agencia aduana</option>
                  <option value="4" <?= $f['status']==4 ? 'selected' : '' ?>>4 – En proceso de pago</option>
                  <option value="5" <?= $f['status']==5 ? 'selected' : '' ?>>5 – Pedimento generado</option>
                </select>
              </td>
              <!-- Celda de Acciones -->
              <td>
                <a href="/IMPORTADORES/solicitud_importacion/editar?id=<?= $f['id_solicitud'] ?>"
                  class="btn btn-sm btn-primary">✏️</a>
                <button class="btn btn-sm btn-danger"
                        onclick="confirmDelete(<?= $f['id_solicitud'] ?>)">🗑️</button>
              </td>
            </tr>
            <?php endforeach; ?>
          </tbody>
        </table>
      </div>
    </div>
  </div>

  <script>
    function confirmDelete(id) {
      Swal.fire({
        title: '¿Eliminar solicitud?',
        text: 'Se marcará como inactiva.',
        icon: 'warning',
        showCancelButton: true,
        confirmButtonText: 'Sí, eliminar',
        cancelButtonText: 'Cancelar',
        confirmButtonColor: '#d33'
      }).then(r => {
        if (r.isConfirmed) {
          window.location = `/IMPORTADORES/solicitud_importacion/eliminar?id=${id}`;
        }
      });
    }

    $(document).ready(function () {
      // Inicializa DataTable
      const table = $('#tabla-solicitudes').DataTable({
        language: { url: 'https://cdn.datatables.net/plug-ins/1.13.4/i18n/es-ES.json' }
      });

      // Función para bloquear o desbloquear acciones según status
      function updateRowStatus($row, status) {
        const disable = status === '2'; // 2 = Solicitar importación
        $row.find('a.btn, button.btn').prop('disabled', disable);
        // Si quieres bloquear también el propio select:
        // $row.find('.status-select').prop('disabled', disable);
      }

      // Al cambiar el select de status
      $('#tabla-solicitudes').on('change', '.status-select', function () {
        const $sel    = $(this);
        const id      = $sel.data('id');
        const status  = $sel.val();
        const $row    = $sel.closest('tr');
        // Bloquear botones localmente
        updateRowStatus($row, status);

        // Llamada AJAX
        $.post(
          '/IMPORTADORES/solicitud_importacion/update_status',
          { id: id, status: status },
          function(res) {
            if (!res.success) {
              Swal.fire('Error','No se pudo actualizar status','error');
            }
          },
          'json'
        ).fail(() => {
          Swal.fire('Error','No se pudo conectar al servidor','error');
        });
      });

      // Al cargar, aplica bloqueo si ya está en “Solicitar importación”
      $('#tabla-solicitudes tbody tr').each(function () {
        const $sel = $(this).find('.status-select');
        if ($sel.length) updateRowStatus($(this), $sel.val());
      });

      // Mensajes SweetAlert tras acciones
      <?php if(isset($_GET['deleted'])): ?>
        Swal.fire('¡Hecho!','Solicitud eliminada.','success');
      <?php elseif(isset($_GET['created'])): ?>
        Swal.fire('¡Listo!','Solicitud creada.','success');
      <?php elseif(isset($_GET['updated'])): ?>
        Swal.fire('¡Listo!','Solicitud actualizada.','success');
      <?php endif; ?>
    });
  </script>

</body>
</html>