diff --git a/app/Http/Controllers/Admin/OrdersController.php b/app/Http/Controllers/Admin/OrdersController.php index e1cb3b3..0c8008f 100755 --- a/app/Http/Controllers/Admin/OrdersController.php +++ b/app/Http/Controllers/Admin/OrdersController.php @@ -37,6 +37,14 @@ class OrdersController extends CommonController $project_id = request()->project_id ?? $projects->first()->id; $project = Project::find($project_id); $status = $request->get('status', 20); + $building_id = $request->get('building_id'); + $area_id = $request->get('area_id'); + + // 楼栋 + $buildings = Building::where('project_id', $project_id)->get(); + // 病区 + $areas = Area::where('project_id', $project_id)->get(); + $month = request()->month ?? '全部'; $months = (new OrdersController())->_getMonths(); @@ -80,20 +88,30 @@ class OrdersController extends CommonController }); } - $data = $this->model - ->with([ - "orderItems", - "firstItem", - "lastItem", - "project", - "product", - "customer", - "manager", - "bed" => function ($query) { - $query->with(["room", "building", "area"]); + $data = $this->model->with([ + "orderItems", + "firstItem", + "lastItem", + "project", + "product", + "customer", + "manager", + "bed" => function ($query) { + $query->with(["room", "building", "area"]); + } + ])->where('status', $status) + ->where(function ($query) use ($building_id, $area_id) { + if ($building_id || $area_id) { + $query->whereHas('bed', function ($q) use ($building_id, $area_id) { + if (isset($building_id)) { + $q->where('building_id', $building_id); + } + if (isset($area_id)) { + $q->where('area_id', $area_id); + } + }); } - ])->where('status',$status) - ->orderBy("id", "desc"); + })->orderBy("id", "desc"); if (request()->is_export) { $data = $data->get(); @@ -118,7 +136,7 @@ class OrdersController extends CommonController '20' => '进行中', '100' => '已完成' ]; - return view($this->bladePath . ".index", compact("status", "data", "project_id", "month", "project", "hushizhang", "yuanfang", "order_status_list")); + return view($this->bladePath . ".index", compact('area_id', 'building_id', 'buildings', 'areas', "status", "data", "project_id", "month", "project", "hushizhang", "yuanfang", "order_status_list")); } public function _getMonths() @@ -262,11 +280,11 @@ class OrdersController extends CommonController } })->where('admin_id', $user->id)->pluck('area_id'); } - $data = Area::where(function ($query) use ($areaId,$building_id) { + $data = Area::where(function ($query) use ($areaId, $building_id) { if ($areaId) { $query->whereIn('area.id', $areaId); } - if($building_id){ + if ($building_id) { $query->where('building_id', $building_id); } })->with(['project', @@ -295,8 +313,8 @@ class OrdersController extends CommonController $data = $data->toArray(); } // 获取楼栋 - $buildings = Building::where('project_id',$project_id)->where('project_id', $project_id)->get(); - return view($this->bladePath . ".artboard", compact("data", "projects", "project_id","buildings","building_id")); + $buildings = Building::where('project_id', $project_id)->where('project_id', $project_id)->get(); + return view($this->bladePath . ".artboard", compact("data", "projects", "project_id", "buildings", "building_id")); } diff --git a/resources/views/admin/orders/index.blade.php b/resources/views/admin/orders/index.blade.php index 409e907..2d3b18d 100755 --- a/resources/views/admin/orders/index.blade.php +++ b/resources/views/admin/orders/index.blade.php @@ -15,6 +15,21 @@ value="{{$pp->id}}" @if($pp->id == $project_id) {{ "selected" }}@endif>{{$pp->name}} @endforeach + + -