海南旅游SAAS
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

28 lines
853 B

<?php
namespace App\AdminSupplier\Extensions;
use App\Exports\ProductExport;
use App\Jobs\ExportProductToExcel;
use Dcat\Admin\Admin;
use Dcat\Admin\Grid\Exporters\AbstractExporter;
use Maatwebsite\Excel\Facades\Excel;
/**
* Excel导出功能
*/
class ProductToExcelExporter extends AbstractExporter
{
public function export()
{
$export_type = request('_export_');
if ($export_type == 'all') {
ExportProductToExcel::dispatch(\Admin::user()->id);
return redirect(admin_url('product/export'))->send();
} else if (str_starts_with($export_type, 'selected:')) {
$ids = explode(',', substr($export_type, strlen('selected:')));
$ids = array_filter($ids, fn($v) => preg_match('/^\d+$/', $v));
return Excel::download(new ProductExport(Admin::user()->id, $ids), '导出选择产品-' . date('Y-m-d H:i:s') . '.xlsx')->send();
}
}
}