schema([ Section::make('素材信息') ->schema([ TextInput::make('question_id')->numeric()->required(), Select::make('asset_type') ->options([ 'image' => '图片', 'svg' => 'SVG', 'latex' => 'LaTeX', ]) ->required(), TextInput::make('path')->required()->maxLength(255), ]) ->columns(2), ]); } public static function table(Tables\Table $table): Tables\Table { return $table ->columns([ TextColumn::make('id')->label('ID')->sortable(), TextColumn::make('question_id')->label('题目ID')->sortable(), TextColumn::make('asset_type')->label('类型')->sortable(), TextColumn::make('path')->label('路径')->limit(60)->wrap(), TextColumn::make('updated_at')->label('更新')->dateTime(), ]) ->filters([ SelectFilter::make('asset_type') ->options([ 'image' => '图片', 'svg' => 'SVG', 'latex' => 'LaTeX', ]), ]) ->actions([ ViewAction::make(), EditAction::make(), ]) ->bulkActions([ BulkActionGroup::make([]), ]); } public static function getPages(): array { return [ 'index' => Pages\ListQuestionAssets::route('/'), 'create' => Pages\CreateQuestionAsset::route('/create'), 'view' => Pages\ViewQuestionAsset::route('/{record}'), 'edit' => Pages\EditQuestionAsset::route('/{record}/edit'), ]; } }