Browse Source

新增导出线上完成步骤详细流程

master
崔茂正 10 months ago
parent
commit
2fa7723561
  1. 2
      app/Admin/CustomButton/CompletedOnLineStepButton.php
  2. 94
      app/Admin/Extensions/Exporter/ImportCompletedOnLineAllStepView.php
  3. 15
      app/Models/CompletedOnLineAllStepView.php
  4. 2
      routes/api.php

2
app/Admin/CustomButton/CompletedOnLineStepButton.php

@ -18,7 +18,7 @@ class CompletedOnLineStepButton extends AbstractTool
// 返回自定义按钮的HTML代码 // 返回自定义按钮的HTML代码
return <<<HTML return <<<HTML
<span class="grid-expand" data-toggle="modal" data-target="#{$id}"> <span class="grid-expand" data-toggle="modal" data-target="#{$id}">
<a href="/api/import/completedOnLineStep" target="_blank"><button class="btn btn-warning ">导出已完成线上步骤名单</button></a> <a href="/api/import/completedOffLineAllStep" target="_blank"><button class="btn btn-warning ">导出已完成线上步骤名单</button></a>
</span> </span>
HTML; HTML;
} }

94
app/Admin/Extensions/Exporter/ImportCompletedOnLineAllStepView.php

@ -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"],
];
}
}

15
app/Models/CompletedOnLineAllStepView.php

@ -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;
}

2
routes/api.php

@ -1,6 +1,7 @@
<?php <?php
use App\Admin\Extensions\Exporter\ImportCompletedOfflineStep; use App\Admin\Extensions\Exporter\ImportCompletedOfflineStep;
use App\Admin\Extensions\Exporter\ImportCompletedOnLineAllStepView;
use App\Admin\Extensions\Exporter\ImportCompletedOnLineStepView; use App\Admin\Extensions\Exporter\ImportCompletedOnLineStepView;
use App\Admin\Extensions\Exporter\ImportUserBaseInfo; use App\Admin\Extensions\Exporter\ImportUserBaseInfo;
use App\Http\Controllers\AllocationDormitoryApi; use App\Http\Controllers\AllocationDormitoryApi;
@ -55,6 +56,7 @@ Route::any("getBedLoad", [AllocationDormitoryApi::class, "getBedLoad"]);
Route::prefix("import")->group(function(){ Route::prefix("import")->group(function(){
Route::any("completedOnLineStep", [ImportCompletedOnLineStepView::class, "export"]); Route::any("completedOnLineStep", [ImportCompletedOnLineStepView::class, "export"]);
Route::any("completedOffLineStep", [ImportCompletedOfflineStep::class, "export"]); Route::any("completedOffLineStep", [ImportCompletedOfflineStep::class, "export"]);
Route::any("completedOffLineAllStep", [ImportCompletedOnLineAllStepView::class, "export"]);
Route::any("userBaseInfoExcel", [ImportUserBaseInfo::class, "export"]); Route::any("userBaseInfoExcel", [ImportUserBaseInfo::class, "export"]);
}); });

Loading…
Cancel
Save