ImportWizard.php 840 B

123456789101112131415161718192021222324252627282930313233
  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(QuestionImportService $service): void
  16. {
  17. if (!$this->filePath) {
  18. return;
  19. }
  20. $result = $service->importMarkdown($this->filePath);
  21. ProcessMarkdownJob::dispatch($result->importId, $result->sourceFileId);
  22. }
  23. }