Current File : //var/www/pharmacius/view/pedidos_view.php |
<?php
session_start();
require_once("menu.php");
// Si el usuario no ha iniciado sesión, mostrar mensaje de aviso y detener la ejecución
if (!isset($_SESSION['nombre'])): ?>
<div class="container d-flex justify-content-center align-items-center" style="min-height: 70vh;">
<div class="card shadow p-4" style="max-width: 500px; width: 100%;">
<h2 class="text-center mb-3" style="color: #00bcd4;">Bienvenido a PFarma</h2>
<p class="text-center mb-4">Para acceder a la gestión de pedidos, es necesario iniciar sesión con tu cuenta.</p>
<div class="d-flex justify-content-center">
<a href="index.php?controlador=usuarios&action=login" class="btn btn-info text-white">
Iniciar sesión
</a>
</div>
</div>
</div>
<?php return; endif; ?>
<div class="container mt-5">
<h2 class="text-center mb-4">Gestión de Pedidos</h2>
<!-- Filtro por estado -->
<div class="mb-4">
<form method="GET" action="index.php" class="d-flex align-items-center">
<input type="hidden" name="controlador" value="pedidos">
<input type="hidden" name="action" value="home">
<label class="me-2 fw-bold">Filtrar por estado:</label>
<select name="estado" class="form-select me-2" style="width: 200px;">
<option value="">Todos</option>
<option value="Creado" <?= isset($_GET['estado']) && $_GET['estado'] === 'Creado' ? 'selected' : '' ?>>Creado</option>
<option value="En proceso" <?= isset($_GET['estado']) && $_GET['estado'] === 'En proceso' ? 'selected' : '' ?>>En proceso</option>
<option value="Listo" <?= isset($_GET['estado']) && $_GET['estado'] === 'Listo' ? 'selected' : '' ?>>Listo</option>
</select>
<button type="submit" class="btn ms-2 btn-filtrar-custom">
<i class="bi bi-filter"></i> Filtrar
</button>
<a href="index.php?controlador=pedidos&action=home" class="btn btn-outline-secondary ms-2">
<i class="bi bi-x-circle"></i> Reset
</a>
</form>
</div>
<div class="text-end mb-3">
<a href="index.php?controlador=pedidos&action=insertar" class="btn btn-primary">
<i class="bi bi-plus-circle"></i> Añadir pedido
</a>
</div>
<div class="table-responsive">
<table class="table table-bordered table-hover align-middle text-center">
<thead class="table-light">
<tr>
<th>Nº Pedido</th>
<th>Productos</th>
<th>Estado</th>
<th>Productos Faltantes</th>
<th>Observaciones</th>
<th>Incidencias</th>
<th>Clientes</th>
<th>Acciones</th>
</tr>
</thead>
<tbody>
<?php if (!empty($pedidos)): ?>
<?php foreach ($pedidos as $pedido): ?>
<?php
// Aplicar filtro por estado en la vista
if (!empty($_GET['estado']) && $pedido['Estado'] !== $_GET['estado']) {
continue;
}
?>
<tr>
<td><?= $pedido['IDPedido'] ?></td>
<td style="white-space: normal; word-break: break-word;">
<?php if (!empty($pedido['productos'])): ?>
<ul class="list-unstyled text-start mb-0">
<?php foreach ($pedido['productos'] as $prod): ?>
<li class="mb-2 border rounded p-2 bg-light">
<strong><?= htmlspecialchars($prod['Nombre']) ?></strong><br>
ID: <?= $prod['IDProducto'] ?> | Ref: <?= $prod['Referencia'] ?> | Cant: <?= $prod['Cantidad'] ?>
<?php if (!empty($prod['Notas'])): ?>
<br><em>Nota: <?= htmlspecialchars($prod['Notas']) ?></em>
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
<?php else: ?>
-
<?php endif; ?>
</td>
<td>
<?php
$estado = $pedido['Estado'];
$estilos = match($estado) {
'Listo' => 'background-color: #28a745; color: #fff;',
'En proceso' => 'background-color: #ffc107; color: #000;',
'Creado' => 'background-color: #e0e0e0; color: #000;',
default => 'background-color: #6c757d; color: #fff;'
};
?>
<span style="<?= $estilos ?> padding: 0.4em 0.7em; border-radius: 0.5rem; font-weight: 600;">
<?= $estado ?>
</span>
</td>
<td style="white-space: normal; word-break: break-word;">
<?= $pedido['ProductosFaltantes'] ?: '-' ?>
</td>
<td style="white-space: normal; word-break: break-word;">
<?= $pedido['Observaciones'] ?: '-' ?>
</td>
<td style="white-space: normal; word-break: break-word;">
<?= $pedido['Incidencias'] ?: '-' ?>
</td>
<td style="white-space: normal; word-break: break-word;">
<?= $pedido['Seguimiento'] ?: '-' ?>
</td>
<td style="white-space: normal; word-break: break-word;">
<a href="index.php?controlador=pedidos&action=editar&IDPedido=<?= $pedido['IDPedido'] ?>" class="btn btn-sm btn-warning me-1">
<i class="bi bi-pencil-square"></i>
</a>
<a href="index.php?controlador=pedidos&action=eliminar&IDPedido=<?= $pedido['IDPedido'] ?>" class="btn btn-sm btn-danger" onclick="return confirm('¿Estás seguro de que deseas eliminar este pedido?');">
<i class="bi bi-trash"></i>
</a>
</td>
</tr>
<?php endforeach; ?>
<?php else: ?>
<tr>
<td colspan="9">No hay pedidos registrados.</td>
</tr>
<?php endif; ?>
</tbody>
</table>
</div>
</div>