4 changed files with 112 additions and 1 deletions
@ -0,0 +1,94 @@
@@ -0,0 +1,94 @@
|
||||
<?php |
||||
|
||||
|
||||
namespace App\Admin\Extensions\Exporter; |
||||
|
||||
|
||||
use App\Models\CompletedOnLineAllStepView; |
||||
use App\Models\CompletedOnLineStepView; |
||||
use App\Models\Config; |
||||
use Dcat\Admin\Grid\Exporters\AbstractExporter; |
||||
use Maatwebsite\Excel\Concerns\Exportable; |
||||
use Maatwebsite\Excel\Concerns\FromCollection; |
||||
use Maatwebsite\Excel\Concerns\WithHeadings; |
||||
use Maatwebsite\Excel\Concerns\WithMapping; |
||||
|
||||
class ImportCompletedOnLineAllStepView extends AbstractExporter implements WithMapping, WithHeadings, FromCollection |
||||
{ |
||||
use Exportable; |
||||
protected $fileName = '已完成线上报到名单'; |
||||
protected $titles = []; |
||||
|
||||
public function __construct() |
||||
{ |
||||
$this->fileName = $this->fileName.'_'.time().'.xlsx';//拼接下载文件名称 |
||||
$this->titles = [ |
||||
'name'=> '姓名', |
||||
'mobile'=> '手机', |
||||
'idcard'=> '身份证', |
||||
'sex'=> '性别', |
||||
'speciality_name'=> '专业', |
||||
'conllege_name'=> '二级学院', |
||||
'one'=> '入学指南', |
||||
'two'=> '招生信息核对', |
||||
'three'=> '学生信息采集', |
||||
'four'=> '在线缴费', |
||||
'five'=> '预选宿舍', |
||||
'six'=> '生成报到单', |
||||
'annual_session'=> '年份', |
||||
'is_test'=> '是否为测试账号', |
||||
]; |
||||
parent::__construct(); |
||||
} |
||||
|
||||
public function export() |
||||
{ |
||||
// TODO: Implement export() method. |
||||
$this->download($this->fileName)->prepare(request())->send(); |
||||
exit; |
||||
} |
||||
|
||||
public function collection() |
||||
{ |
||||
// TODO: Implement collection() method. |
||||
// return collect($this->buildData()); |
||||
|
||||
//取出当前年份 |
||||
$config = Config::query()->where([ |
||||
"unique_identification" => "annual_session" |
||||
])->first(); |
||||
|
||||
$list = CompletedOnLineAllStepView::query()->where([ |
||||
"annual_session" => $config->data, |
||||
])->get()->toArray(); |
||||
|
||||
return collect($list); |
||||
} |
||||
|
||||
public function headings(): array |
||||
{ |
||||
// TODO: Implement headings() method. |
||||
return $this->titles(); |
||||
} |
||||
|
||||
public function map($row): array |
||||
{ |
||||
// TODO: Implement map() method. |
||||
return [ |
||||
$row["name"], |
||||
$row["mobile"], |
||||
"'".$row['idcard'].'', |
||||
$row["sex"], |
||||
$row["speciality_name"], |
||||
$row["college_name"], |
||||
$row["one"], |
||||
$row["two"], |
||||
$row["three"], |
||||
$row["four"], |
||||
$row["five"], |
||||
$row["six"], |
||||
$row["annual_session"], |
||||
$row["is_test"], |
||||
]; |
||||
} |
||||
} |
@ -0,0 +1,15 @@
@@ -0,0 +1,15 @@
|
||||
<?php |
||||
|
||||
namespace App\Models; |
||||
|
||||
use Dcat\Admin\Traits\HasDateTimeFormatter; |
||||
|
||||
use Illuminate\Database\Eloquent\Model; |
||||
|
||||
class CompletedOnLineAllStepView extends Model |
||||
{ |
||||
use HasDateTimeFormatter; |
||||
protected $table = 'completed_on_line_all_step_view'; |
||||
public $timestamps = false; |
||||
|
||||
} |
Loading…
Reference in new issue