diff --git a/app/Http/Controllers/Admin/ProjectController.php b/app/Http/Controllers/Admin/ProjectController.php index 9570ca7..c67eb12 100755 --- a/app/Http/Controllers/Admin/ProjectController.php +++ b/app/Http/Controllers/Admin/ProjectController.php @@ -12,6 +12,7 @@ use App\Admin; use App\Events\ProjectSaved; use App\Exports\CommonExport; use App\Forms\ProjectForm; +use App\Models\AdminAreaLink; use App\Models\Area; use App\Models\Bed; use App\Models\Building; @@ -88,12 +89,26 @@ class ProjectController extends CommonController } $data = $data->paginate(10); + return view($this->bladePath . ".beds", compact("project", "data")); + } + public function getHeadList() + { + $areaId = \request('area_id', 0); // 获取护士长 - $roleId = Role::where('name','like','%护士长%')->where('guard_name','admin')->value('id'); - $adminIds = DB::table('model_has_roles')->where('role_id',$roleId)->where('model_type','App\Admin')->pluck('model_id'); - $head_list = Admin::whereIn('id',$adminIds)->get(); - return view($this->bladePath . ".beds", compact("project", "data","head_list")); + $roleId = Role::where('name', 'like', '%护士长%')->where('guard_name', 'admin')->value('id'); + $adminIds = DB::table('model_has_roles')->where('role_id', $roleId)->where('model_type', 'App\Admin')->pluck('model_id'); + // 全量护工数据 + $headList = Admin::whereIn('id', $adminIds)->get(); + // 获取病区选中的护工 + foreach ($headList as $item) { + $item->checked = ''; + if ($areaId) { + $has = AdminAreaLink::where('area_id', $areaId)->where('admin_id', $item->id)->count(); + if ($has) $item->checked = 'checked'; + } + } + return $this->ajaxResponse($headList); } public function createSub(Request $request) diff --git a/resources/views/admin/project/beds.blade.php b/resources/views/admin/project/beds.blade.php index 6b3bf1f..f501975 100755 --- a/resources/views/admin/project/beds.blade.php +++ b/resources/views/admin/project/beds.blade.php @@ -151,11 +151,9 @@
@@ -263,25 +261,45 @@ switch (type) { case "project": $("#model-form .modal-title").html("新增楼栋"); + $("#head").hide(); break; case "building": var building_name = $("#building_id option:selected").html(); $("#model-form .modal-title").html("新增病区/楼层-" + building_name); + // ajax调用获取所有护士长信息,并渲染出来 + + $("#head").show(); break; case "area": var area_name = $("#area_id option:selected").html(); $("#model-form .modal-title").html("新增病房-" + area_name); + $("#head").hide(); break; case "room": var room_name = $("#room_id option:selected").html(); $("#model-form .modal-title").html("新增病床-" + room_name); + $("#head").hide(); break; } $("#model-form").modal("show"); } + // 根据病区id获取护士长数据并渲染 + function getHead(area_id) { + var url = "{{ url($urlPrefix."/get-head") }}"; + + $.get(url, {area_id: area_id}, function (res) { + console.log(res) + + // for (var i = 0; i < res.length; i++) { + // $("#head_option").append(''); + // } + + }); + } + function editBed(element) { var type = $(element).closest("tr").attr("data-type"); var id = $(element).closest("tr").attr("data-id"); diff --git a/routes/web.php b/routes/web.php index 8d7c612..8bd3655 100644 --- a/routes/web.php +++ b/routes/web.php @@ -43,6 +43,8 @@ Route::group(["namespace" => "Admin", "prefix" => "admin"], function () { Route::get("project/beds/{id}", 'ProjectController@beds'); Route::get("project/get-subs", 'ProjectController@getSubs'); Route::post("project/create-sub", 'ProjectController@createSub'); + Route::get("project/get-head", 'ProjectController@getHeadList'); + Route::post("project/edit-department", 'ProjectController@editDepartment'); Route::post("project/delete-department", 'ProjectController@deleteDepartment'); Route::get("project/export-beds", 'ProjectController@exportBeds');