From 0afdf0600a898436e67a0e5349db50727463813d Mon Sep 17 00:00:00 2001 From: sa0ChunLuyu Date: Wed, 22 Jul 2026 17:39:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E5=8F=B0=E7=A7=91=E5=AE=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../API/Admin/YeWu/DepartmentController.php | 8 ++++ .../API/Admin/YeWu/WorkMainController.php | 21 ++++++-- .../Services/Admin/YeWu/DepartmentService.php | 21 ++++++++ Laravel/routes/api.php | 1 + YiJi-admin/src/api/api.js | 5 +- .../src/views/YeWu/DepartmentConfig.vue | 48 +++++++++++++++++-- 6 files changed, 94 insertions(+), 10 deletions(-) diff --git a/Laravel/app/Http/Controllers/API/Admin/YeWu/DepartmentController.php b/Laravel/app/Http/Controllers/API/Admin/YeWu/DepartmentController.php index 0c54bc4..2a94e7c 100644 --- a/Laravel/app/Http/Controllers/API/Admin/YeWu/DepartmentController.php +++ b/Laravel/app/Http/Controllers/API/Admin/YeWu/DepartmentController.php @@ -75,6 +75,14 @@ public function SaveChildren() $service = new DepartmentService(); return $service->SaveChildren($department_id, $children_ids); } + //获取有排班资源的科室列表 + public function GetHasScheduleTopDepartments() + { + $exclude_id = request('department_id'); + $service = new DepartmentService(); + return $service->GetHasScheduleTopDepartments($exclude_id); + } + //按名称或编号模糊搜索科室 public function Search() { diff --git a/Laravel/app/Http/Controllers/API/Admin/YeWu/WorkMainController.php b/Laravel/app/Http/Controllers/API/Admin/YeWu/WorkMainController.php index 62eefde..24c6796 100644 --- a/Laravel/app/Http/Controllers/API/Admin/YeWu/WorkMainController.php +++ b/Laravel/app/Http/Controllers/API/Admin/YeWu/WorkMainController.php @@ -145,6 +145,18 @@ public function GetList(Request $request) }) ->pluck('department_number'); + //工作台科室:合并关联科室的 department_number + if ($department->is_workbench == 1) { + $linkedIds = json_decode($department->linked_departments, true); + if (!empty($linkedIds) && is_array($linkedIds)) { + $linkedDeptNumbers = DB::table('s_department') + ->whereIn('id', $linkedIds) + ->where('is_del', 0) + ->pluck('department_number'); + $deptNumbers = $deptNumbers->merge($linkedDeptNumbers); + } + } + $list = $list->where(function ($q) use($deptNumbers) { $q->whereIn('RISRAcceptDeptCode', $deptNumbers) ->orWhereIn('reservation_department_code', $deptNumbers); @@ -255,13 +267,12 @@ public function CheckEntrstItemGroup() if($v->device_id==$value){ foreach ($items as $item){ if($item['name']==$v->item_name){ - - $v->rowid[]=$item['rowid']; - $rowids[]=$item['rowid']; - + $clone = clone $v; + $clone->rowid = $item['rowid']; + $lg[] = $clone; + $rowids[] = $item['rowid']; } } - $lg[]=$v; } } if(count($lg)>1 or count($group)==0){ diff --git a/Laravel/app/Services/Admin/YeWu/DepartmentService.php b/Laravel/app/Services/Admin/YeWu/DepartmentService.php index 0ed48c2..7ff3dfe 100644 --- a/Laravel/app/Services/Admin/YeWu/DepartmentService.php +++ b/Laravel/app/Services/Admin/YeWu/DepartmentService.php @@ -186,6 +186,27 @@ public function SaveChildren($department_id, $children_ids) } return \Yz::Return(true, '保存成功', []); } + //获取有排班资源的科室列表(排除指定科室自身) + public function GetHasScheduleTopDepartments($exclude_id = null) + { + $hasResourceDeptIds = DB::table('s_department_resources') + ->where('is_del', 0) + ->distinct() + ->pluck('department_id'); + + $list = DB::table('s_department') + ->where('is_del', 0) + ->where('department_status', 1) + ->whereIn('id', $hasResourceDeptIds) + ->when($exclude_id, function($q) use ($exclude_id) { + $q->where('id', '!=', $exclude_id); + }) + ->select('id', 'department_name') + ->get(); + + return \Yz::Return(true, '查询成功', ['list' => $list]); + } + //按名称或编号模糊搜索科室 public function Search($keyword) { diff --git a/Laravel/routes/api.php b/Laravel/routes/api.php index 0f68bb9..1c1e1c0 100644 --- a/Laravel/routes/api.php +++ b/Laravel/routes/api.php @@ -83,6 +83,7 @@ Route::post('admin/GetDepartmentChildren','App\Http\Controllers\API\Admin\YeWu\DepartmentController@GetChildren');//获取科室已关联的子科室列表 Route::post('admin/GetLeafDepartmentList','App\Http\Controllers\API\Admin\YeWu\DepartmentController@GetLeafList');//获取可作为诊室的叶子节点科室列表 Route::post('admin/SaveDepartmentChildren','App\Http\Controllers\API\Admin\YeWu\DepartmentController@SaveChildren');//保存科室关联诊室关系 + Route::post('admin/GetHasScheduleTopDepartments','App\Http\Controllers\API\Admin\YeWu\DepartmentController@GetHasScheduleTopDepartments');//获取有排班资源的科室列表 Route::post('admin/SaveDepartmentResource','App\Http\Controllers\API\Admin\YeWu\DepartmentResourceController@Save');//保存科室资源信息 Route::post('admin/DepartmentResourceGetList','App\Http\Controllers\API\Admin\YeWu\DepartmentResourceController@GetList');//获取科室资源list Route::post('admin/DepartmentResourceGetEnableList','App\Http\Controllers\API\Admin\YeWu\DepartmentResourceController@GetEnableList');//获取可用科室资源 diff --git a/YiJi-admin/src/api/api.js b/YiJi-admin/src/api/api.js index 43745f9..36e960a 100644 --- a/YiJi-admin/src/api/api.js +++ b/YiJi-admin/src/api/api.js @@ -229,7 +229,10 @@ export const GetLeafDepartmentList = (data = {}) => { export const SaveDepartmentChildren = (data = {}) => { return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/SaveDepartmentChildren', data: data }) } - +//admin获取有排班资源的科室列表 +export const GetHasScheduleTopDepartments = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/GetHasScheduleTopDepartments', data: data }) +} //admin保存科室资源信息 export const SaveDepartmentResource = (data = {}) => { return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/SaveDepartmentResource', data: data }) diff --git a/YiJi-admin/src/views/YeWu/DepartmentConfig.vue b/YiJi-admin/src/views/YeWu/DepartmentConfig.vue index 8ff14c3..c846416 100644 --- a/YiJi-admin/src/views/YeWu/DepartmentConfig.vue +++ b/YiJi-admin/src/views/YeWu/DepartmentConfig.vue @@ -98,6 +98,18 @@ + 工作台属性 + + + + + + + +