From d424a290a38a9f149d82a1bcc65f61f6efe1fd31 Mon Sep 17 00:00:00 2001 From: liyinglin Date: Wed, 3 Jan 2024 11:14:24 +0800 Subject: [PATCH] 1 --- .../Controllers/Admin/OrdersController.php | 59 ++++++++++++++++++ .../views/admin/orders/artboard.blade.php | 62 +++++++++++++++++++ routes/web.php | 3 + 3 files changed, 124 insertions(+) create mode 100644 resources/views/admin/orders/artboard.blade.php diff --git a/app/Http/Controllers/Admin/OrdersController.php b/app/Http/Controllers/Admin/OrdersController.php index 13c972f..2d9a17e 100755 --- a/app/Http/Controllers/Admin/OrdersController.php +++ b/app/Http/Controllers/Admin/OrdersController.php @@ -10,6 +10,7 @@ namespace App\Http\Controllers\Admin; use App\Exports\OrdersExport; use App\Models\AdminAreaLink; +use App\Models\Area; use App\Models\Bed; use App\Models\OrderItems; use App\Models\Orders; @@ -198,4 +199,62 @@ class OrdersController extends CommonController ->paginate(10); return view($this->bladePath . ".score", compact("data", "project_id")); } + + /** + * 陪护一览 + */ + public function artboard(Request $request) + { + $userId = auth()->id(); + // 判断是否护士长 + $roleId = Role::where('name', 'like', '%护士长%')->where('guard_name', 'admin')->value('id'); + $hushizhang = DB::table('model_has_roles')->where('role_id', $roleId) + ->where('model_type', 'App\Admin') + ->where('model_id', $userId)->count(); + $areaId = []; + if ($hushizhang) { + $user = auth()->user(); + $areaId = AdminAreaLink::where(function ($qeury) use ($request) { + if ($request->project_id) { + $qeury->where('project_id', $request->project_id); + } + })->where('admin_id', $user->id)->pluck('area_id'); + } + + $data = Area::where(function ($query) use ($areaId) { + if ($areaId) { + $query->whereIn('id', $areaId); + } + })->with([ + "beds" => function ($query) use ($request) { + if ($request->has_ongoing_order) { + $query->has("onGoingOrder"); + } + $query->with(["onGoingOrder" => function ($query) { + $query->leftJoin("paramedic", "orders.paramedic_id", "=", "paramedic.id") + ->select("orders.id", "orders.bed_id", "orders.paramedic_id", "orders.status", "paramedic.name as paramedic_name"); + }])->select("bed.id", "bed.name", "bed.room_id", "bed.area_id", "bed.myindex") + ->leftJoin("room", "bed.room_id", "=", "room.id") + ->addSelect("room.name as room_name") + ->orderBy("room.name") + ->orderBy("bed.name"); + }])->whereRaw("`area`.`project_id` = '{$request->project_id}'") + ->orderBy("building.myindex") + ->orderBy("area.myindex") + ->select("area.id", "area.name", "area.building_id", "area.project_id") + ->leftJoin("building", "area.building_id", "=", "building.id") + ->addSelect("building.name as building_name") + ->withCount("beds") + ->get(); + if ($request->has_ongoing_order) { + $data = $data->filter(function ($item) { + return $item->beds->count(); + }); + } + + dd($data->toArray()); + return view($this->bladePath . ".artboard", compact("data")); + + } + } diff --git a/resources/views/admin/orders/artboard.blade.php b/resources/views/admin/orders/artboard.blade.php new file mode 100644 index 0000000..7a40e5a --- /dev/null +++ b/resources/views/admin/orders/artboard.blade.php @@ -0,0 +1,62 @@ +@extends("admin.layouts.layout") + +@section("content") +
+
+
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + @foreach ($data as $row) + + + + + + + + + + + + + + @endforeach + +
订单编号所属项目/医院所在楼栋所在病区客户姓名联系电话被护理人开始服务日期评分评价操作
+ {{ $row->serial }} + {{ $row->project->name }}{{ $row->bed->building->name }}{{ $row->bed->area->name }}{{ $row->customer->name ?: $row->patient->name }}{{ $row->customer->mobile }}{{ $row->patient->name }}{{ $row->from_date }}{{ $row->score }}{{ $row->comment }}
+ @include("public._pages") +
+ +
+
+
+ +@endsection diff --git a/routes/web.php b/routes/web.php index 6da8a0a..65b9962 100644 --- a/routes/web.php +++ b/routes/web.php @@ -92,6 +92,9 @@ Route::group(["namespace" => "Admin", "prefix" => "admin"], function () { Route::get("orders/get-item/{item_id}", 'OrdersController@getItem'); Route::get("orders/score", 'OrdersController@score'); + Route::get("orders/artboard", 'OrdersController@artboard'); + + Route::get("statistics/overview", 'StatisticsController@overview'); Route::get("statistics/salary", 'StatisticsController@salary'); Route::get("statistics/finance", 'StatisticsController@finance');