Merge branch 'master' of /data/git/tiantian2

master
root 5 years ago
commit 567c7bc20b

@ -0,0 +1,38 @@
<?php
namespace App\Exports;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithEvents;
use Maatwebsite\Excel\Events\BeforeExport;
use Maatwebsite\Excel\Events\BeforeWriting;
use Maatwebsite\Excel\Events\BeforeSheet;
use Maatwebsite\Excel\Events\AfterSheet;
class CommonExport implements FromCollection, WithEvents
{
/**
* @return \Illuminate\Support\Collection
*/
public function __construct($data)
{
$this->data = $data;
}
public function collection()
{
return $this->data;
}
public function registerEvents(): array
{
return [
// Handle by a closure.
BeforeExport::class => [self::class, "beforeExport"]
];
}
public static function beforeExport(BeforeExport $event) {
//
}
}

@ -9,6 +9,7 @@
namespace App\Http\Controllers\Admin;
use App\Events\ProjectSaved;
use App\Exports\CommonExport;
use App\Forms\ProjectForm;
use App\Models\Area;
use App\Models\Bed;
@ -18,6 +19,7 @@ use App\Models\Project;
use App\Models\Room;
use Illuminate\Http\Request;
use Kris\LaravelFormBuilder\FormBuilder;
use Maatwebsite\Excel\Facades\Excel;
class ProjectController extends CommonController
{
@ -175,4 +177,25 @@ class ProjectController extends CommonController
return $this->success("删除失败");
}
}
function exportBeds(Request $request) {
$beds = Bed::with(["area","building","room"])
->where("project_id", $request->project_id)
->orderBy("building_id")
->orderBy("area_id")
->orderBy("room_id")
->get();
$data = [];
foreach ($beds as $bed) {
$data[] = [
"楼栋" => $bed->building->name,
"病区" => $bed->area->name,
"病房" => $bed->room->name,
"床号" => $bed->name,
];
}
$data = collect($data);
return Excel::download(new CommonExport($data),"beds.xlsx");
}
}

@ -44,6 +44,7 @@ Route::group(["namespace" => "Admin", "prefix" => "admin"], function () {
Route::post("project/create-sub", 'ProjectController@createSub');
Route::post("project/edit-department", 'ProjectController@editDepartment');
Route::post("project/delete-department", 'ProjectController@deleteDepartment');
Route::get("project/export-beds", 'ProjectController@exportBeds');
\App\Models\CommonModel::generateCurdRouter("FactorController", "factor");
\App\Models\CommonModel::generateCurdRouter("TrainingTypeController", "training-type");

Loading…
Cancel
Save