diff --git a/app/Http/Controllers/Admin/ProjectController.php b/app/Http/Controllers/Admin/ProjectController.php index 99a3040..877f399 100755 --- a/app/Http/Controllers/Admin/ProjectController.php +++ b/app/Http/Controllers/Admin/ProjectController.php @@ -63,14 +63,28 @@ class ProjectController extends CommonController public function beds($id) { - $project = (new Project())->with(["buildings" => function ($query) { - $query->with(["areas" => function ($query) { - $query->with("rooms"); - }]); - }])->find($id); - - $data = (new Bed())->where("project_id", $id)->orderBy("id", "desc")->with(["project", "building", "area", "room"])->paginate(10); + $project = (new Project())->with(["buildings"])->find($id); + $data = (new Bed())->where("project_id", $id)->orderBy("id", "desc")->with(["project", "building", "area", "room"]); + if (request()->room_id) { + $data = $data->where("room_id", request()->room_id); + $room = (new Room())->find(request()->room_id); + $rooms = (new Room())->where("area_id", $room->area_id)->get(); + $area = (new Area())->where("id", $room->area_id)->first(); + $areas = (new Area())->where("building_id", $area->building_id)->get(); + view()->share(compact("rooms", "areas")); + } elseif (request()->area_id) { + $data = $data->where("area_id", request()->area_id); + $area = (new Area())->find(request()->area_id); + $areas = (new Area())->where("building_id", $area->building_id)->get(); + $rooms = (new Room())->where("area_id", $area->id)->get(); + view()->share(compact("areas", "rooms")); + } elseif (request()->building_id) { + $areas = (new Area())->where("building_id", request()->building_id)->get(); + $data = $data->where("building_id", request()->building_id); + view()->share(compact("areas")); + } + $data = $data->paginate(10); return view($this->bladePath . ".beds", compact("project", "data")); } @@ -125,6 +139,21 @@ class ProjectController extends CommonController return $this->success("添加成功!", '', $res); } + public function getSubs(Request $request) + { + switch ($request->type) { + case "building": + $res = (new Area())->where("building_id", $request->id)->get(); + break; + case "area": + $res = (new Room())->where("area_id", $request->id)->get(); + break; + default: + $res = []; + } + return $this->ajaxResponse($res); + } + public function editDepartment(Request $request) { $data = [ diff --git a/resources/views/admin/project/beds.blade.php b/resources/views/admin/project/beds.blade.php index 6ed8347..2eaedbd 100755 --- a/resources/views/admin/project/beds.blade.php +++ b/resources/views/admin/project/beds.blade.php @@ -10,98 +10,83 @@ @section("content")
-
+
-
- - - - - - @foreach($project->buildings as $building) - - - - @foreach($building->areas as $area) - - - - @foreach($area->rooms as $room) - - - - @endforeach - @endforeach - @endforeach - -
- {{ $project->name }} - - - - 返回 -
- {{$building->name}} - - + +
+ - +
+ + +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ + + + 返回 + + -
- {{$area->name}} - - - - -
- {{$room->name}} - - - - -
-
-
-
-
-
-
@@ -110,6 +95,7 @@ + @@ -124,10 +110,10 @@ - + @@ -188,24 +174,74 @@ - - @include("plugins.treetable") @endsection @push("footer")
医院/项目 楼栋 病区/楼层排序 操作
{{ $row->project->name }} {{ $row->building ? $row->building->name : "已删除" }} {{ $row->area ? $row->area->name : "已删除" }}{{ $row->myindex }} @lang("icons.action_edit") + href="javascript:;" onclick="editBed(this)">@lang("icons.action_edit") @lang("icons.action_delete")