PreQuestionCandidatesRelationManager.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. namespace App\Filament\Resources\PaperPartResource\RelationManagers;
  3. use Filament\Resources\RelationManagers\RelationManager;
  4. use Filament\Tables;
  5. use Filament\Tables\Table;
  6. use Filament\Actions\ViewAction;
  7. class PreQuestionCandidatesRelationManager extends RelationManager
  8. {
  9. protected static string $relationship = 'candidates';
  10. protected static ?string $recordTitleAttribute = 'question_number';
  11. public function table(Table $table): Table
  12. {
  13. return $table
  14. ->columns([
  15. Tables\Columns\TextColumn::make('question_number')->label('题号')->sortable(),
  16. Tables\Columns\TextColumn::make('status')->label('状态')->badge(),
  17. Tables\Columns\TextColumn::make('ai_confidence')->label('AI 置信度')->formatStateUsing(
  18. fn ($state) => $state ? number_format($state * 100, 1) . '%' : '—'
  19. ),
  20. Tables\Columns\TextColumn::make('created_at')->label('创建时间')->dateTime(),
  21. ])
  22. ->actions([
  23. ViewAction::make()
  24. ->label('查看候选')
  25. ->url(fn ($record) => route('filament.admin.resources.pre-question-candidates.index', [
  26. 'import_id' => $record->import_id,
  27. ]))
  28. ->openUrlInNewTab(),
  29. ])
  30. ->headerActions([]);
  31. }
  32. }