Files
pos_heidiver/app/Filament/Widgets/PipelineOrdersWidget.php
T
2026-01-19 23:34:01 -05:00

47 lines
1.1 KiB
PHP

<?php
namespace App\Filament\Widgets;
use App\Models\OrdenProduccion;
use Filament\Widgets\Widget;
class PipelineOrdersWidget extends Widget
{
protected static string $view = 'filament.widgets.pipeline-orders-widget';
public $states = [
'en_corte' => 'En corte',
'en_confeccion' => 'En confección',
'en_tintoreria' => 'En tintorería',
'en_acabados' => 'En acabados',
'finalizada' => 'Finalizada',
];
public $ordersByState = [];
public function mount()
{
$this->loadOrders();
}
public function loadOrders()
{
$this->ordersByState = [];
foreach (array_keys($this->states) as $s) {
$this->ordersByState[$s] = OrdenProduccion::with(['tela', 'confeccions', 'tintorerias', 'procesosAcabado'])
->where('estado', $s)
->orderBy('fecha_entrega_estimada')
->limit(12)
->get();
}
}
// Allow external refresh
protected function getListeners(): array
{
return [
'pipelineUpdated' => 'loadOrders',
];
}
}