From edf096abe56eae66db95bfe28f6053bd838ad011 Mon Sep 17 00:00:00 2001 From: lizandrogd <77708265+lizandrogd@users.noreply.github.com> Date: Mon, 19 Jan 2026 21:33:28 -0500 Subject: [PATCH] Update OrdenProduccionResource.php --- .../Resources/OrdenProduccionResource.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/app/Filament/Resources/OrdenProduccionResource.php b/app/Filament/Resources/OrdenProduccionResource.php index a97222d..8e57f66 100644 --- a/app/Filament/Resources/OrdenProduccionResource.php +++ b/app/Filament/Resources/OrdenProduccionResource.php @@ -70,6 +70,19 @@ class OrdenProduccionResource extends Resource ->options(fn () => \App\Models\Tela::where('metros_disponibles', '>', 0)->pluck('codigo', 'id')->toArray()) ->searchable() ->preload() + ->reactive() + ->afterStateUpdated(function ($state, $set, $get) { + if ($state) { + $tela = \App\Models\Tela::find($state); + $available = $tela ? (float) $tela->metros_disponibles : 0; + + if (! $get('metros_requeridos') || $get('metros_requeridos') > $available) { + $set('metros_requeridos', $available); + } + } else { + $set('metros_requeridos', 0); + } + }) ->nullable(), @@ -80,7 +93,7 @@ class OrdenProduccionResource extends Resource ->required() ->minValue(0) ->reactive() - ->helperText(fn ($get) => $get('tela_id') ? 'Máx. disponible: ' . (\App\Models\Tela::find($get('tela_id'))->metros_disponibles ?? 0) : 'Selecciona una tela') + ->helperText(fn ($get) => $get('tela_id') ? 'Saldo disponible: ' . (\App\Models\Tela::find($get('tela_id'))->metros_disponibles ?? 0) . ' m' : 'Selecciona una tela') ->default(0), DatePicker::make('fecha_inicio')