123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace App\Filament\Exports;
  3. use App\Models\QrcodeRecord;
  4. use Filament\Actions\Exports\ExportColumn;
  5. use Filament\Actions\Exports\Exporter;
  6. use Filament\Actions\Exports\Models\Export;
  7. use Illuminate\Support\Number;
  8. class QrcodeRecordExporter extends Exporter
  9. {
  10. protected static ?string $model = QrcodeRecord::class;
  11. public static function getColumns(): array
  12. {
  13. return [
  14. ExportColumn::make('outlet_id')
  15. ->label('店號'),
  16. ExportColumn::make('outlet_name')
  17. ->label('店名'),
  18. ExportColumn::make('representative_id')
  19. ->label('Representative ID'),
  20. ExportColumn::make('qr_generated_at')
  21. ->label('QR Code 產生時間'),
  22. ];
  23. }
  24. public static function getCompletedNotificationBody(Export $export): string
  25. {
  26. $body = 'Your qrcode record export has completed and ' . Number::format($export->successful_rows) . ' ' . str('row')->plural($export->successful_rows) . ' exported.';
  27. if ($failedRowsCount = $export->getFailedRowsCount()) {
  28. $body .= ' ' . Number::format($failedRowsCount) . ' ' . str('row')->plural($failedRowsCount) . ' failed to export.';
  29. }
  30. return $body;
  31. }
  32. }