129 lines
3.8 KiB
PHP
129 lines
3.8 KiB
PHP
<!-- views/choferes/lista.php -->
|
||
<!DOCTYPE html>
|
||
<html lang="es">
|
||
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<title>🚛 Mis Choferes</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>
|
||
|
||
<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: 60px;
|
||
}
|
||
.sidebar .nav-link {
|
||
color: #ccc;
|
||
padding: 12px 20px;
|
||
}
|
||
.sidebar .nav-link:hover,
|
||
.sidebar .nav-link.active {
|
||
background-color: #495057;
|
||
color: #fff;
|
||
}
|
||
.content {
|
||
margin-left: 220px;
|
||
padding: 40px 20px;
|
||
}
|
||
.navbar {
|
||
position: fixed;
|
||
top: 0;
|
||
width: 100%;
|
||
z-index: 1000;
|
||
}
|
||
.card {
|
||
border-radius: 12px;
|
||
}
|
||
</style>
|
||
</head>
|
||
|
||
<body>
|
||
<?php include __DIR__ . '/../partials/sidebar_importador.php'; ?>
|
||
<br><br>
|
||
<div class="content">
|
||
<h4>🚛 Mis Choferes</h4>
|
||
<a href="/IMPORTADORES/choferes/crear" class="btn btn-success mb-3">➕ Nuevo Chofer</a>
|
||
<table class="table table-striped" id="tabla-choferes">
|
||
<thead>
|
||
<tr>
|
||
<th>#</th>
|
||
<th>Nombre Completo</th>
|
||
<th>Licencia</th>
|
||
<th>Teléfono</th>
|
||
<th>Email</th>
|
||
<th>Ingreso</th>
|
||
<th>Transportista</th>
|
||
<th>Acciones</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<?php foreach($choferes as $c): ?>
|
||
<tr>
|
||
<td><?= $c['id_chofer'] ?></td>
|
||
<td><?= htmlspecialchars($c['nombre_completo']) ?></td>
|
||
<td><?= htmlspecialchars($c['numero_licencia']) ?></td>
|
||
<td><?= htmlspecialchars($c['telefono']) ?></td>
|
||
<td><?= htmlspecialchars($c['email']) ?></td>
|
||
<td>
|
||
<?php
|
||
if ($c['created_at'] instanceof DateTime) {
|
||
echo $c['created_at']->format('Y-m-d');
|
||
} else {
|
||
echo htmlspecialchars($c['created_at']);
|
||
}
|
||
?>
|
||
</td>
|
||
<td><?= htmlspecialchars($c['transportista']) ?></td>
|
||
<td>
|
||
<a href="/IMPORTADORES/choferes/editar?id=<?= $c['id_chofer'] ?>" class="btn btn-sm btn-primary">✏️</a>
|
||
<button class="btn btn-sm btn-danger" onclick="confirmDeleteChofer(<?= $c['id_chofer'] ?>)">🗑️</button>
|
||
</td>
|
||
</tr>
|
||
<?php endforeach; ?>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
|
||
<script>
|
||
function confirmDeleteChofer(id) {
|
||
Swal.fire({
|
||
title: '¿Eliminar chofer?',
|
||
text: 'Será marcado como inactivo.',
|
||
icon: 'warning',
|
||
showCancelButton: true,
|
||
confirmButtonText: 'Sí, eliminar',
|
||
cancelButtonText: 'Cancelar',
|
||
confirmButtonColor: '#d33'
|
||
}).then(r => {
|
||
if (r.isConfirmed) {
|
||
window.location = `/IMPORTADORES/choferes/eliminar?id=${id}`;
|
||
}
|
||
});
|
||
}
|
||
<?php if(isset($_GET['deleted'])): ?>
|
||
Swal.fire('¡Hecho!','Chofer eliminado.','success');
|
||
<?php endif; ?>
|
||
<?php if(isset($_GET['created'])): ?>
|
||
Swal.fire('¡Listo!','Chofer creado.','success');
|
||
<?php endif; ?>
|
||
<?php if(isset($_GET['updated'])): ?>
|
||
Swal.fire('¡Listo!','Chofer actualizado.','success');
|
||
<?php endif; ?>
|
||
</script>
|
||
</body>
|
||
</html>
|