diff --git a/app/Filament/Resources/MfmMeterResource.php b/app/Filament/Resources/MfmMeterResource.php index 012acfc9d..e6934fa23 100644 --- a/app/Filament/Resources/MfmMeterResource.php +++ b/app/Filament/Resources/MfmMeterResource.php @@ -2,8 +2,11 @@ namespace App\Filament\Resources; +use App\Filament\Exports\MfmMeterExporter; +use App\Filament\Imports\MfmMeterImporter; use App\Filament\Resources\MfmMeterResource\Pages; use App\Filament\Resources\MfmMeterResource\RelationManagers; +use App\Models\DeviceMaster; use App\Models\MfmMeter; use Filament\Facades\Filament; use Filament\Forms; @@ -14,6 +17,8 @@ use Filament\Tables\Table; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\SoftDeletingScope; use Filament\Forms\Components\Section; +use Filament\Tables\Actions\ImportAction; +use Filament\Tables\Actions\ExportAction; class MfmMeterResource extends Resource { @@ -32,6 +37,18 @@ class MfmMeterResource extends Resource Forms\Components\Select::make('plant_id') ->relationship('plant', 'name') ->label('Plant') + ->reactive() + ->required(), + Forms\Components\Select::make('device_master_id') + //->relationship('device', 'name') + ->options(function ($get) { + $plantId = $get('plant_id'); + if (!$plantId) { + return []; + } + return DeviceMaster::where('plant_id', $plantId)->pluck('name', 'id'); + }) + ->label('Device Name') ->required(), Forms\Components\TextInput::make('sequence') ->required(), @@ -56,6 +73,9 @@ class MfmMeterResource extends Resource Tables\Columns\TextColumn::make('plant.name') ->label('Plant') ->sortable(), + Tables\Columns\TextColumn::make('devicemaster.name') + ->label('Device Name') + ->sortable(), Tables\Columns\TextColumn::make('sequence') ->label('Sequence') ->sortable(), @@ -91,6 +111,18 @@ class MfmMeterResource extends Resource Tables\Actions\ForceDeleteBulkAction::make(), Tables\Actions\RestoreBulkAction::make(), ]), + ]) + ->headerActions([ + ImportAction::make() + ->importer(MfmMeterImporter::class) + ->visible(function() { + return Filament::auth()->user()->can('view import mfm meter'); + }), + ExportAction::make() + ->exporter(MfmMeterExporter::class) + ->visible(function() { + return Filament::auth()->user()->can('view export mfm meter'); + }), ]); }