From 4c54a902702f1e32112b7e09703c4354538ac2c9 Mon Sep 17 00:00:00 2001 From: sa0ChunLuyu Date: Fri, 24 Jul 2026 02:19:00 +0800 Subject: [PATCH] 1 --- .../API/Admin/YeWu/DepartmentController.php | 8 +++ .../Http/Controllers/API/PdfController.php | 5 +- .../Services/Admin/YeWu/DepartmentService.php | 12 +++++ .../Services/Admin/YeWu/DeptDeviceService.php | 46 ++++++++++++++++- Laravel/public/info.php | 2 + .../views/pdf/JianChaShenQingDan.blade.php | 14 ++--- Laravel/routes/api.php | 1 + YiJi-admin/src/api/api.js | 4 ++ .../Yewu/DepartmentResourcesSave.vue | 51 +++++++++++++++++-- .../src/components/Yewu/PrintShenQingDan.vue | 2 +- .../src/components/Yewu/YuYue202506.vue | 19 +++++++ .../src/views/YeWu/DeptDeviceConfig.vue | 46 ++++++++++++++--- 12 files changed, 186 insertions(+), 24 deletions(-) create mode 100644 Laravel/public/info.php diff --git a/Laravel/app/Http/Controllers/API/Admin/YeWu/DepartmentController.php b/Laravel/app/Http/Controllers/API/Admin/YeWu/DepartmentController.php index 2a94e7c..a41124b 100644 --- a/Laravel/app/Http/Controllers/API/Admin/YeWu/DepartmentController.php +++ b/Laravel/app/Http/Controllers/API/Admin/YeWu/DepartmentController.php @@ -94,4 +94,12 @@ public function Search() return $service->Search($keyword); } + //获取指定科室的下级科室列表(执行诊室) + public function GetChildrenDepartments() + { + $department_id = request('department_id'); + $service = new DepartmentService(); + return $service->GetChildrenDepartments($department_id); + } + } diff --git a/Laravel/app/Http/Controllers/API/PdfController.php b/Laravel/app/Http/Controllers/API/PdfController.php index 4abad0a..78e3983 100644 --- a/Laravel/app/Http/Controllers/API/PdfController.php +++ b/Laravel/app/Http/Controllers/API/PdfController.php @@ -37,7 +37,7 @@ public function CreateJianChaShenQingDanPdf() if (!is_array($OrderNoList)) return \Yz::JsonReturn("OrderNoList,应为数组"); $config=DB::table('configs')->where(['label'=>'开启申请单pdf'])->first(); if (!$config or $config->value<>1) return \Yz::JsonError("未开启申请单pdf"); - $generator = new \Picqer\Barcode\BarcodeGeneratorHTML(); + $generator = new \Picqer\Barcode\BarcodeGeneratorPNG(); $successCount=0; foreach ($OrderNoList as $orderNo) { $entrustInfo=DB::table('s_list as a')->where(['a.entrust_id'=>$orderNo,'a.list_status'=>1,'a.is_nullify'=>0]) @@ -45,7 +45,8 @@ public function CreateJianChaShenQingDanPdf() ->leftJoin('s_period as c','a.reservation_time','=','c.id') ->first(); if(!$entrustInfo) continue; - $tiaoma = $generator->getBarcode($entrustInfo->app_num, $generator::TYPE_CODE_128, 2, 40); + $barcodeContent = $entrustInfo->patient_type == 0 ? substr($entrustInfo->episodeid, -10) : $entrustInfo->reg_num; + $tiaoma = base64_encode($generator->getBarcode($barcodeContent, $generator::TYPE_CODE_128, 2, 40)); $source=null; if(!empty($entrustInfo->reservation_sources)){ diff --git a/Laravel/app/Services/Admin/YeWu/DepartmentService.php b/Laravel/app/Services/Admin/YeWu/DepartmentService.php index 7ff3dfe..1cc5b6f 100644 --- a/Laravel/app/Services/Admin/YeWu/DepartmentService.php +++ b/Laravel/app/Services/Admin/YeWu/DepartmentService.php @@ -223,4 +223,16 @@ public function Search($keyword) ->get(); return \Yz::Return(true, '查询成功', ['list' => $list]); } + + //获取指定科室的下级科室列表(执行诊室) + public function GetChildrenDepartments($department_id) + { + $list = DB::table('s_department') + ->where('pid', $department_id) + ->where('is_del', 0) + ->where('department_status', 1) + ->select('id', 'department_name') + ->get(); + return \Yz::Return(true, '查询成功', ['list' => $list]); + } } diff --git a/Laravel/app/Services/Admin/YeWu/DeptDeviceService.php b/Laravel/app/Services/Admin/YeWu/DeptDeviceService.php index 39e459f..e7e24ba 100644 --- a/Laravel/app/Services/Admin/YeWu/DeptDeviceService.php +++ b/Laravel/app/Services/Admin/YeWu/DeptDeviceService.php @@ -26,7 +26,8 @@ public function GetList($searchInfo, $page, $pageSize, $userid) } $count = $list->count(); - $items = $list->select('s_devices.*') + $items = $list->select('s_devices.*', 'sr.execute_department_id') + ->leftJoin('s_department_resources as sr', 's_department_resources_device.rsourece_id', '=', 'sr.id') ->orderBy('s_devices.id', 'desc') ->skip(($page - 1) * $pageSize) ->take($pageSize) @@ -53,16 +54,57 @@ public function Save($data, $userid) 'is_del' => 0, ]); //关联到当前科室 - DB::table('s_department_resources_device')->insert([ + $linkId = DB::table('s_department_resources_device')->insertGetId([ 'department_id' => $user->department_id, 'device_id' => $deviceId, ]); + //如果有执行诊室,创建资源记录并关联 + if (!empty($data['execute_department_id'])) { + $resourceId = DB::table('s_department_resources')->insertGetId([ + 'department_resources_name' => $data['device_name'], + 'department_id' => $user->department_id, + 'execute_department_id' => $data['execute_department_id'], + 'is_del' => 0, + ]); + DB::table('s_department_resources_device') + ->where('id', $linkId) + ->update(['rsourece_id' => $resourceId]); + } } else { //更新设备 DB::table('s_devices')->where('id', $data['id'])->update([ 'device_name' => $data['device_name'], 'status' => $data['status'] ?? 1, ]); + //如果有执行诊室,更新资源记录 + $link = DB::table('s_department_resources_device') + ->where('device_id', $data['id']) + ->where('department_id', $user->department_id) + ->first(); + if ($link) { + if (!empty($data['execute_department_id'])) { + if ($link->rsourece_id) { + //更新已有资源 + DB::table('s_department_resources') + ->where('id', $link->rsourece_id) + ->update([ + 'execute_department_id' => $data['execute_department_id'], + 'department_resources_name' => $data['device_name'], + ]); + } else { + //创建新资源并关联 + $resourceId = DB::table('s_department_resources')->insertGetId([ + 'department_resources_name' => $data['device_name'], + 'department_id' => $user->department_id, + 'execute_department_id' => $data['execute_department_id'], + 'is_del' => 0, + ]); + DB::table('s_department_resources_device') + ->where('id', $link->id) + ->update(['rsourece_id' => $resourceId]); + } + } + } } DB::commit(); return \Yz::Return(true, '保存成功'); diff --git a/Laravel/public/info.php b/Laravel/public/info.php new file mode 100644 index 0000000..61ace19 --- /dev/null +++ b/Laravel/public/info.php @@ -0,0 +1,2 @@ +检查预约回执单
-
{!! $barcode !!}
-
{{$printInfo->app_num}}
+ +
{{$printInfo->patient_type == 0 ? substr($printInfo->episodeid, -10) : $printInfo->reg_num}}
@@ -61,13 +61,9 @@ - @if($printInfo->patient_type == 0) - {{$printInfo->patient_type_label}}号:{{ substr($printInfo->episodeid, -10) }} - @else - {{$printInfo->patient_type_label}}号:{{$printInfo->reg_num}} - @endif + {{$printInfo->patient_type_label}}号:{{$printInfo->patient_type == 0 ? substr($printInfo->episodeid, -10) : $printInfo->reg_num}} - @if($printInfo->patient_type==0)病区:{{$printInfo->warddesc ?? ''}} + @if($printInfo->patient_type==0)病区:{{$printInfo->warddesc ?? ''}} 床号:{{$printInfo->bedno ?? ''}}@endif 联系电话:{{$printInfo->user_phone}} @@ -79,7 +75,7 @@ {{substr($printInfo->period_begin_time,0,5)}}-{{substr($printInfo->period_end_time,0,5)}} {{$printInfo->weekday_label}} -
检查地点:{{$printInfo->department_resources->department_resources_name}}
+
检查地点:{{$printInfo->department_resources->department_resources_addr ?? $printInfo->department_resources->department_resources_name}}
diff --git a/Laravel/routes/api.php b/Laravel/routes/api.php index dcbf3e1..3c13bd2 100644 --- a/Laravel/routes/api.php +++ b/Laravel/routes/api.php @@ -82,6 +82,7 @@ Route::post('admin/GetEnableDepartmentList','App\Http\Controllers\API\Admin\YeWu\DepartmentController@GetEnableList');//获取启用的科室列表 Route::post('admin/GetFilteredDepartmentList','App\Http\Controllers\API\Admin\YeWu\DepartmentController@GetFilteredEnableList');//获取筛选后的科室列表(仅显示存在执行诊室的科室) Route::post('admin/SearchDepartment','App\Http\Controllers\API\Admin\YeWu\DepartmentController@Search');//按名称或编号模糊搜索科室 + Route::post('admin/GetChildrenDepartments','App\Http\Controllers\API\Admin\YeWu\DepartmentController@GetChildrenDepartments');//获取指定科室的下级科室列表 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');//保存科室关联诊室关系 diff --git a/YiJi-admin/src/api/api.js b/YiJi-admin/src/api/api.js index 0a66de1..f28b90f 100644 --- a/YiJi-admin/src/api/api.js +++ b/YiJi-admin/src/api/api.js @@ -375,6 +375,10 @@ export const GetMainList = (data = {}) => { export const SearchDepartment = (data = {}) => { return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/SearchDepartment', data: data }) } +//admin获取指定科室的下级科室列表 +export const GetChildrenDepartments = (data = {}) => { + return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/GetChildrenDepartments', data: data }) +} //取消预约 export const CancelYuYue = (data = {}) => { return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/CancelYuYue', data: data }) diff --git a/YiJi-admin/src/components/Yewu/DepartmentResourcesSave.vue b/YiJi-admin/src/components/Yewu/DepartmentResourcesSave.vue index c1e7224..85d3897 100644 --- a/YiJi-admin/src/components/Yewu/DepartmentResourcesSave.vue +++ b/YiJi-admin/src/components/Yewu/DepartmentResourcesSave.vue @@ -1,9 +1,9 @@