From b4f9ccc0d81c3f12c38166d004dbf7d30e92b16c Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Fri, 25 Sep 2026 11:21:54 +0530 Subject: [PATCH] Added line in item resource page --- app/Filament/Resources/ItemResource.php | 53 +++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/app/Filament/Resources/ItemResource.php b/app/Filament/Resources/ItemResource.php index 37b6683..86cd310 100644 --- a/app/Filament/Resources/ItemResource.php +++ b/app/Filament/Resources/ItemResource.php @@ -8,6 +8,7 @@ use App\Filament\Resources\ItemResource\Pages; use App\Models\InvoiceValidation; use App\Models\Item; use App\Models\Plant; +use App\Models\Line; use App\Models\StickerMaster; use Filament\Actions\Exports\Enums\ExportFormat; use Filament\Facades\Filament; @@ -125,6 +126,41 @@ class ItemResource extends Resource ->where('plant_id', $get('plant_id')) ->ignore($get('id')); // Ignore current record during updates }), + Forms\Components\Select::make('line_id') + ->label('Line Name') + // ->relationship('line', 'name') + ->searchable() + ->columnSpan(1) + ->reactive() + ->options(function (callable $get) { + if (! $get('plant_id')) { + return []; + } + + return Line::where('plant_id', $get('plant_id'))->pluck('name', 'id')->toArray(); + }) + ->afterStateUpdated(function ($state, callable $set, callable $get) { + $lineId = $get('line_id'); + if (! $lineId) { + $set('mLineError', 'Please select a line first.'); + + return; + } else { + // $grpWrkCnr = Line::find($lineId)->group_work_center; + // if (!$grpWrkCnr || Str::length($grpWrkCnr) < 1) + // { + // $set('mLineError', 'Please select a group work center line.'); + // $set('line_id', null); + // return; + // } + $set('mLineError', null); + } + }) + ->extraAttributes(fn ($get) => [ + 'class' => $get('mLineError') ? 'border-red-500' : '', + ]) + ->hint(fn ($get) => $get('mLineError') ? $get('mLineError') : null) + ->hintColor('danger'), Forms\Components\TextInput::make('hourly_quantity') ->required() ->label('Hourly Quantity') @@ -169,6 +205,13 @@ class ItemResource extends Resource Forms\Components\TextInput::make('id') ->hidden() ->readOnly(), + // Forms\Components\Select::make('type') + // ->label('Type') + // ->reactive() + // ->options([ + // 'internal_serial_number' => 'Internal Serial Number', + // 'fes_serial_number' => 'FES Serial Number', + // ]), ]) ->columns(3), ]); @@ -208,6 +251,11 @@ class ItemResource extends Resource ->alignCenter() ->sortable() ->searchable(), + Tables\Columns\TextColumn::make('line.name') + ->label('Line') + ->alignCenter() + ->sortable() + ->searchable(), Tables\Columns\TextColumn::make('description') ->label('Description') ->alignCenter() @@ -223,6 +271,11 @@ class ItemResource extends Resource ->default('-') ->alignCenter() ->sortable(), + // Tables\Columns\TextColumn::make('type') + // ->label('Type') + // ->default('-') + // ->alignCenter() + // ->sortable(), Tables\Columns\TextColumn::make('created_at') ->label('Created At') ->dateTime()