ImportWizard.php 864 B

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. namespace App\Filament\Pages;
  3. use App\Services\QuestionImportService;
  4. use App\Jobs\ProcessMarkdownJob;
  5. use Filament\Pages\Page;
  6. use UnitEnum;
  7. class ImportWizard extends Page
  8. {
  9. protected static bool $shouldRegisterNavigation = false;
  10. protected static ?string $navigationLabel = 'Markdown/PDF 导入';
  11. protected static UnitEnum|string|null $navigationGroup = '卷子导入流程';
  12. protected static ?int $navigationSort = 1;
  13. protected string $view = 'filament.pages.import-wizard';
  14. public ?string $filePath = null;
  15. public function submitImport(): void
  16. {
  17. if (!$this->filePath) {
  18. return;
  19. }
  20. $service = app(QuestionImportService::class);
  21. $result = $service->importMarkdown($this->filePath);
  22. ProcessMarkdownJob::dispatch($result->importId, $result->sourceFileId);
  23. }
  24. }