diff --git a/Laravel/app/Http/Controllers/API/Admin/YeWu/EntrustController.php b/Laravel/app/Http/Controllers/API/Admin/YeWu/EntrustController.php
index e725865..4526565 100644
--- a/Laravel/app/Http/Controllers/API/Admin/YeWu/EntrustController.php
+++ b/Laravel/app/Http/Controllers/API/Admin/YeWu/EntrustController.php
@@ -89,6 +89,8 @@ class EntrustController extends Controller
->get();
if (count($info)===0) return \Yz::echoError1('登记号'.$entrustInfo['reg_num'].'没有找到对应医嘱信息');
+
+
$mainInfo=$info[0];
$itemInfo=[];
foreach ($info as $value){
@@ -96,6 +98,33 @@ class EntrustController extends Controller
->leftJoin('s_check_item_device as b','a.id','=','b.item_id')
->where(['a.item_code' => $value->entrust_code,'a.status'=>1,"a.is_del"=>0])->first();
+
+ $source=null;
+ if(!empty($value->reservation_sources)){
+ $source=DB::table('s_department_resources')->where(['id'=>$value->reservation_sources])->first();
+ }
+ $value->department_resources=$source;
+ $value->user_sex_label='';
+ if($value->user_sex==1){
+ $value->user_sex_label='男';
+ }
+ if($value->user_sex==2){
+ $value->user_sex_label='女';
+ }
+ $value->age=\Tools::getAgeFromBirthday($value->user_brithday);
+ //患者类型
+ $p_type=config('app.globals.患者类型');
+ $value->patient_type_label=$p_type[$value->patient_type] ?? '';
+ //星期
+ $value->weekday_label=\Tools::GetWeekName($value->reservation_date);
+
+
+ $generator = new \Picqer\Barcode\BarcodeGeneratorHTML();
+ $tiaoma= $generator->getBarcode($value->app_num, $generator::TYPE_CODE_128, 2, 40);
+ $updatedHtml = preg_replace('/background-color:\s*black\s*;/i', 'background-color: black !important;', $tiaoma);
+ $value->barcode=$updatedHtml;
+
+
$msg='';
if(!$ii){
$msg="检查项目不可用";
diff --git a/Laravel/app/Http/Controllers/API/Admin/YeWu/WorkMainController.php b/Laravel/app/Http/Controllers/API/Admin/YeWu/WorkMainController.php
index 64821e3..d2ef088 100644
--- a/Laravel/app/Http/Controllers/API/Admin/YeWu/WorkMainController.php
+++ b/Laravel/app/Http/Controllers/API/Admin/YeWu/WorkMainController.php
@@ -54,6 +54,7 @@ class WorkMainController extends Controller
$value->weekday_label=\Tools::GetWeekName($value->reservation_date);
$msg='';
+
if(count($ii)==0){
$msg="检查项目不可用";
}
@@ -260,7 +261,7 @@ class WorkMainController extends Controller
$entrustTime=[$value->reservation_date.' '.$value->period_begin_time,$value->reservation_date.' '.$value->period_end_time];
$planTime=[$plan->date.' '.$plan->begin_time,$plan->date.' '.$plan->end_time];
if ($entrustTime[0] <= $planTime[1] && $planTime[0] <= $entrustTime[1]) {
- return \Yz::echoError1('当前时段存在待检项目:'.$value->entrust.'时间:'.$value->reservation_date.' '.substr($value->period_begin_time, 0, 5).'-'.substr($value->period_end_time, 0, 5).' 请确认是否继续预约');
+ return \Yz::echoError1('当前时段存在待检项目:'.$value->entrust.',时间:'.$value->reservation_date.' '.substr($value->period_begin_time, 0, 5).'-'.substr($value->period_end_time, 0, 5).' 请确认是否继续预约');
}
}
}
diff --git a/Laravel/app/Http/Controllers/API/His/CheckItemController.php b/Laravel/app/Http/Controllers/API/His/CheckItemController.php
index b50a067..fdd9cbb 100644
--- a/Laravel/app/Http/Controllers/API/His/CheckItemController.php
+++ b/Laravel/app/Http/Controllers/API/His/CheckItemController.php
@@ -8,27 +8,63 @@ use Illuminate\Support\Facades\DB;
class CheckItemController extends Controller
{
+ public function UpdateItemClass()
+ {
+ $data = [
+ 'consTypeId' => 'EXAMSHEETTYPE'
+ ];
+ $His = new HisController();
+ $res = $His::Get("查询所有检查项目分类", $data);
+ $success_count=0;
+ if ($res['code'] == 200) {
+ $res_data = $res['data'];
+ foreach ($res_data as $data_k => $data_v) {
+ $type= DB::table('s_check_item_class')->where(['consInfoCode' => $data_v['consInfoCode']])->first();
+ $data=[
+ 'item_class_name'=> $data_v['consInfoName'],
+ 'pid'=> 1,
+ 'CTC_Code'=> $data_v['consInfoName'],
+ 'CTC_Desc'=> $data_v['consInfoName'],
+ 'CTC_Status'=> 1,
+ 'consInfoCode'=> $data_v['consInfoCode'],
+ ];
+ if(!!$type){
+ $u= DB::table('s_check_item_class')->where(['id'=>$type->id])->update([
+ 'item_class_name'=> $data_v['consInfoName'],
+ 'CTC_Code'=> $data_v['consInfoName'],
+ 'CTC_Desc'=> $data_v['consInfoName'],
+ ]);
+ }else{
+ $u= DB::table('s_check_item_class')->insert($data);
+ }
+ if($u) $success_count++;
+ }
+ }
+ return \Yz::JsonReturn(true,"更新完成",['success_count'=>$success_count]);
+ }
public function UpdateCheckItem(){
- $url='http://192.168.80.39:7801/roc/order-service/api/v1/order/order-term/undrug/query';
+
$termClassId = request('termClassId');
if(!isset($termClassId)){
return \Yz::echoError1('类别id不能为空');
}
+
$data=[];
$where=[];
- if($termClassId<>'all'){
+ if($termClassId<>'all'){ //155为检查项目 不要使用all
$data=[
'termClassId' => $termClassId,
];
- $where=['termClassId'=>$termClassId];
+
}
- $res=\Tools::Get($url,$data,'更新检查项目');
+ $His = new HisController();
+ $res = $His::Get("查询非药品列表", $data);
if($res['code']==200){
$res_data=$res['data'];
if(isset($res_data['list']) and !empty($res_data['list'])){
- $db_data=DB::table('s_check_item')->where($where)->get();//库里的数据
+ $db_data=DB::table('s_check_item')->get();//库里的数据
//根据 接收数据的undrugId,和库里的item_code进行比对,如果库里存在则更新,如果库里没有则添加,如果库里有但是接收数据里没有则在库里标记is_del=0
$db_map = [];
foreach ($db_data as $db_item) {
@@ -45,27 +81,53 @@ class CheckItemController extends Controller
// 添加到接收 ID 列表
$received_ids[] = $item_code;
+ $item_class_id=null;
+ $class_type= DB::table('s_check_item_class')->where(['consInfoCode'=>$item['sheetType']])->first();
+ if($class_type and !empty($item['sheetType'])){
+ $item_class_id=$class_type->id;
+ }
+ $department_arr=[];
+ //优先取默认科室,如果存在默认则忽略范围科室。2025-06-24 与叶工微信群沟通
+ if(isset($item['defaultExecDepts']) and !empty($item['defaultExecDepts'])){
+ $department_arr=[$item['defaultExecDepts']];
+ }else{
+ if(isset($item['execDepts']) and !empty($item['execDepts'])){
+ foreach ($item['execDepts'] as $dept) {
+ $department_arr[]=$dept['code'];
+ }
+ }
+ }
// 快速查找是否已存在该 item_code
if (isset($db_map[$item_code])) {
// 存在则更新
DB::table('s_check_item')
->where('item_code', $item_code)
->update([
- 'termClassId'=>$item['termClassId'],
+ 'item_class_id'=>$item_class_id,
+ 'sheetType'=>$item['sheetType'],
'item_name' => $item_name,
'item_desc' => $item_name,
'is_del' => 0, // 取消删除标记
+ 'hisExecDepts'=>json_encode($department_arr, JSON_UNESCAPED_UNICODE),
]);
} else {
// 不存在则插入新记录
DB::table('s_check_item')->insert([
- 'termClassId'=>$item['termClassId'],
+ 'item_class_id'=>$item_class_id,
+ 'sheetType'=>$item['sheetType'],
'item_code' => $item_code,
'item_name' => $item_name,
'item_desc' => $item_name,
+ 'reservation_method' =>'0,1,2,3,4',
+ 'limosis' =>0,
+ 'check_time' =>0,
+ 'hisExecDepts'=>json_encode($department_arr, JSON_UNESCAPED_UNICODE),
]);
+
+ $this->updateBindDrivers($item_code,$department_arr);
}
+
}
// 处理数据库中存在但远程没有返回的数据,标记为删除
@@ -87,4 +149,33 @@ class CheckItemController extends Controller
return \Yz::echoError1('更新失败');
}
}
+ //绑定设备
+ public function updateBindDrivers($item_code,$department_arr)
+ {
+ $iteminfo=DB::table('s_check_item')->where('item_code',$item_code)->first();
+ $departments = DB::table('s_department')->whereIn('department_number',$department_arr)->get();
+ $department_ids=[];
+ foreach ($departments as $department) {
+ $department_ids[]=$department->id;
+ }
+ if(count($department_ids)>0 and !!$iteminfo){
+ $devices=DB::table('s_department_resources_device')->whereIn('department_id',$department_ids)->pluck('device_id')->toArray();
+ //删除库里项目和设备绑定关系
+ DB::table('s_check_item_device')->where(['item_id'=>$iteminfo->id])->whereIn('device_id',$devices)->delete();
+ $data=[];
+ foreach ($devices as $device) {
+ $data[]=[
+ 'item_id' => $iteminfo->id,
+ 'device_id' => $device,
+ ];
+ }
+ if(count($devices)>0 and !!$iteminfo){
+ //插入表
+ DB::table('s_check_item_device')->insert($data);
+ }
+
+ }
+
+
+ }
}
diff --git a/Laravel/app/Http/Controllers/API/His/HisController.php b/Laravel/app/Http/Controllers/API/His/HisController.php
index a467099..d02b982 100644
--- a/Laravel/app/Http/Controllers/API/His/HisController.php
+++ b/Laravel/app/Http/Controllers/API/His/HisController.php
@@ -15,13 +15,13 @@ class HisController extends Controller
{
public static $request;
public static $baseUrl = 'http://192.168.80.39:7801';
-
public static function Api($url_code)
{
$api['查询检查申请单'] = "/roc/order-service/api/v1/apply/pacs/apply/create/query";
$api['查询科室列表'] = "/roc/curr-web/api/v1/common/dept/query";
$api['查询人员列表'] = "/roc/curr-web/api/v1/common/employee/query";
- $api['查询非药品物价项目列表'] = "/roc/curr-web/api/v1/curr/unpharmaceutical/undrug/eisaiOrDiagnose/query";
+ $api['查询非药品列表'] = "/roc/order-service/api/v1/order/order-term/undrug/query";
+ $api['查询所有检查项目分类'] = "/roc/order-service/api/v1/order/order-term/dawn-code/query?consTypeId=EXAMSHEETTYPE";
return $api["{$url_code}"] ?? $url_code;
}
@@ -32,7 +32,10 @@ class HisController extends Controller
self::RequestLog(self::$baseUrl . $url_address, $data, $url_code, 'Roc接口');
- $response = Http::withHeaders([])->get(self::$baseUrl . $url_address, $data);
+ $response = Http::withHeaders([
+ 'Domain' => 'QhdLK_YYGL',
+ 'Key' => 'f7ed8036-b7a1-41ec-80f6-0e180efba1f4'
+ ])->get(self::$baseUrl . $url_address, $data);
// dd(self::BuildAuthorization($nonce, $timestamp, $base64Signature));
if ($response->successful()) {
diff --git a/Laravel/app/Services/Admin/YeWu/PlanListService.php b/Laravel/app/Services/Admin/YeWu/PlanListService.php
index e042209..001fd46 100644
--- a/Laravel/app/Services/Admin/YeWu/PlanListService.php
+++ b/Laravel/app/Services/Admin/YeWu/PlanListService.php
@@ -73,7 +73,18 @@ class PlanListService
$placeholders = implode(',', array_fill(0, count($commonDevice), '?'));
$appointment_types_placeholders = implode(',', array_fill(0, count($appointment_types), '?'));
- $canshu = array_merge($commonDevice, [$department_id->id, $appointment_date], $appointment_types);
+ //如果日期为字符串 则转为数组
+ $appointment_date_arr=[];
+ if(is_array($appointment_date)){
+ $appointment_date_arr=$appointment_date;
+ $appointment_date=implode(',', $appointment_date);
+ }else{
+ $appointment_date_arr=[$appointment_date];
+ }
+ $appointment_dates_placeholders = implode(',', array_fill(0, count($appointment_date_arr), '?'));
+
+
+ $canshu = array_merge($commonDevice, [$department_id->id], $appointment_date_arr, $appointment_types);
$plan = DB::select("SELECT
a.*,
dd.devices,
@@ -99,7 +110,7 @@ FROM
) AS dd ON a.id = dd.roster_detail_id
WHERE
a.department_id = ?
- AND a.date = ?
+ AND a.date IN ($appointment_dates_placeholders)
AND a.STATUS = 1
AND a.is_del = 0
AND b.is_del = 0
diff --git a/Laravel/routes/api.php b/Laravel/routes/api.php
index 5f6b098..4fcd450 100644
--- a/Laravel/routes/api.php
+++ b/Laravel/routes/api.php
@@ -123,6 +123,7 @@ Route::group(['middleware'=>['log']],function () {
Route::post('admin/AutoYuYue','App\Http\Controllers\API\Admin\YeWu\PlanListController@AutoYuYue');//自动预约
Route::post('admin/updateCheckItem','App\Http\Controllers\API\His\CheckItemController@UpdateCheckItem');//调用his更新检查项目
+ Route::post('admin/UpdateItemClass','App\Http\Controllers\API\His\CheckItemController@UpdateItemClass');//调用his更新检查项目分类
Route::post('admin/HisGetDepartmentList','App\Http\Controllers\API\His\DepartmentController@GetDepartmentList');//获取his科室列表
Route::post('admin/HisGetUserList','App\Http\Controllers\API\His\UserController@GetUserList');//获取his用户列表
});
diff --git a/Laravel/routes/web.php b/Laravel/routes/web.php
index 4b66ca8..f652759 100644
--- a/Laravel/routes/web.php
+++ b/Laravel/routes/web.php
@@ -31,7 +31,8 @@ Route::get('/test','App\Http\Controllers\TestController@DBtest' );
//his跳到此路由,再跳转到对应的系统页面
Route::get('/yiji', function (Request $request) {
$queryString = $request->server('QUERY_STRING'); // 获取原始查询字符串
- return redirect("http://192.168.80.76/jq_page/appointment.html?".$queryString);
+ //return redirect("http://192.168.80.76/jq_page/appointment.html?".$queryString);
+ return redirect("http://192.168.80.76/admin/#/doctorappointment?".$queryString);
});
//cas 登录
diff --git a/YiJi-admin/package-lock.json b/YiJi-admin/package-lock.json
index fb38b6e..61ab060 100644
--- a/YiJi-admin/package-lock.json
+++ b/YiJi-admin/package-lock.json
@@ -16,6 +16,7 @@
"pinia": "^2.1.6",
"qrcode": "^1.5.3",
"s": "^1.0.0",
+ "scss": "^0.2.4",
"vue": "^3.3.4",
"vue-router": "^4.2.4",
"vue3-print-nb": "^0.1.4"
@@ -27,6 +28,7 @@
"eslint": "^8.49.0",
"eslint-plugin-vue": "^9.17.0",
"prettier": "^3.0.3",
+ "sass": "^1.89.2",
"vite": "^4.4.9"
}
},
@@ -569,6 +571,302 @@
"node": ">= 8"
}
},
+ "node_modules/@parcel/watcher": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz",
+ "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "optional": true,
+ "dependencies": {
+ "detect-libc": "^1.0.3",
+ "is-glob": "^4.0.3",
+ "micromatch": "^4.0.5",
+ "node-addon-api": "^7.0.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "optionalDependencies": {
+ "@parcel/watcher-android-arm64": "2.5.1",
+ "@parcel/watcher-darwin-arm64": "2.5.1",
+ "@parcel/watcher-darwin-x64": "2.5.1",
+ "@parcel/watcher-freebsd-x64": "2.5.1",
+ "@parcel/watcher-linux-arm-glibc": "2.5.1",
+ "@parcel/watcher-linux-arm-musl": "2.5.1",
+ "@parcel/watcher-linux-arm64-glibc": "2.5.1",
+ "@parcel/watcher-linux-arm64-musl": "2.5.1",
+ "@parcel/watcher-linux-x64-glibc": "2.5.1",
+ "@parcel/watcher-linux-x64-musl": "2.5.1",
+ "@parcel/watcher-win32-arm64": "2.5.1",
+ "@parcel/watcher-win32-ia32": "2.5.1",
+ "@parcel/watcher-win32-x64": "2.5.1"
+ }
+ },
+ "node_modules/@parcel/watcher-android-arm64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz",
+ "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-darwin-arm64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz",
+ "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-darwin-x64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz",
+ "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-freebsd-x64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz",
+ "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm-glibc": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz",
+ "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm-musl": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz",
+ "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm64-glibc": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz",
+ "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm64-musl": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz",
+ "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-x64-glibc": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz",
+ "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-x64-musl": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz",
+ "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-win32-arm64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz",
+ "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-win32-ia32": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz",
+ "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-win32-x64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz",
+ "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
"node_modules/@pkgr/utils": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz",
@@ -1028,6 +1326,21 @@
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
+ "node_modules/chokidar": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
+ "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
+ "dev": true,
+ "dependencies": {
+ "readdirp": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 14.16.0"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ }
+ },
"node_modules/cliui": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
@@ -1192,6 +1505,19 @@
"node": ">=0.4.0"
}
},
+ "node_modules/detect-libc": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
+ "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
+ "dev": true,
+ "optional": true,
+ "bin": {
+ "detect-libc": "bin/detect-libc.js"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
"node_modules/dijkstrajs": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz",
@@ -1904,6 +2230,12 @@
"node": ">= 4"
}
},
+ "node_modules/immutable": {
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.3.tgz",
+ "integrity": "sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==",
+ "dev": true
+ },
"node_modules/import-fresh": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
@@ -2291,6 +2623,13 @@
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
"dev": true
},
+ "node_modules/node-addon-api": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
+ "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
+ "dev": true,
+ "optional": true
+ },
"node_modules/normalize-wheel-es": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz",
@@ -2335,6 +2674,14 @@
"url": "https://github.com/fb55/nth-check?sponsor=1"
}
},
+ "node_modules/ometa": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/ometa/-/ometa-0.2.2.tgz",
+ "integrity": "sha512-LZuoK/yjU3FvrxPjUXUlZ1bavCfBPqauA7fsNdwi+AVhRdyk2IzgP3JRnevvjzQ6fKHdUw8YISshf53FmpHrng==",
+ "engines": {
+ "node": ">= 0.2.0"
+ }
+ },
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@@ -2672,6 +3019,19 @@
}
]
},
+ "node_modules/readdirp": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
+ "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 14.18.0"
+ },
+ "funding": {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
+ },
"node_modules/require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -2870,6 +3230,37 @@
"node": ">=0.8"
}
},
+ "node_modules/sass": {
+ "version": "1.89.2",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.89.2.tgz",
+ "integrity": "sha512-xCmtksBKd/jdJ9Bt9p7nPKiuqrlBMBuuGkQlkhZjjQk3Ty48lv93k5Dq6OPkKt4XwxDJ7tvlfrTa1MPA9bf+QA==",
+ "dev": true,
+ "dependencies": {
+ "chokidar": "^4.0.0",
+ "immutable": "^5.0.2",
+ "source-map-js": ">=0.6.2 <2.0.0"
+ },
+ "bin": {
+ "sass": "sass.js"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "optionalDependencies": {
+ "@parcel/watcher": "^2.4.1"
+ }
+ },
+ "node_modules/scss": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/scss/-/scss-0.2.4.tgz",
+ "integrity": "sha512-4u8V87F+Q/upVhUmhPnB4C1R11xojkRkWjExL2v0CX2EXTg18VrKd+9JWoeyCp2VEMdSpJsyAvVU+rVjogh51A==",
+ "dependencies": {
+ "ometa": "0.2.2"
+ },
+ "engines": {
+ "node": ">= 0.2.0"
+ }
+ },
"node_modules/semver": {
"version": "7.5.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
diff --git a/YiJi-admin/package.json b/YiJi-admin/package.json
index 3ffd750..275a095 100644
--- a/YiJi-admin/package.json
+++ b/YiJi-admin/package.json
@@ -18,6 +18,7 @@
"pinia": "^2.1.6",
"qrcode": "^1.5.3",
"s": "^1.0.0",
+ "scss": "^0.2.4",
"vue": "^3.3.4",
"vue-router": "^4.2.4",
"vue3-print-nb": "^0.1.4"
@@ -29,6 +30,7 @@
"eslint": "^8.49.0",
"eslint-plugin-vue": "^9.17.0",
"prettier": "^3.0.3",
+ "sass": "^1.89.2",
"vite": "^4.4.9"
}
}
diff --git a/YiJi-admin/src/api/api.js b/YiJi-admin/src/api/api.js
index 43504ac..b34de22 100644
--- a/YiJi-admin/src/api/api.js
+++ b/YiJi-admin/src/api/api.js
@@ -297,7 +297,9 @@ export const GetLoglist = (data = {}) => {
export const CheckEntrstItemGroup = (data = {}) => {
return axios({ url: import.meta.env.VITE_APP_API + 'v1/admin/CheckEntrstItemGroup', data: data })
}
-
+export const CheckEntrstItemGroup2 = (data = {}) => {
+ return axios({ url: import.meta.env.VITE_APP_API + 'admin/CheckEntrstItemGroup', data: data })
+}
//查询医嘱详情
export const getMainDetail = (data = {}) => {
return axios({ url: import.meta.env.VITE_APP_API + 'admin/getMainDetail', data: data })
diff --git a/YiJi-admin/src/components/Yewu/PrintShenQingDan.vue b/YiJi-admin/src/components/Yewu/PrintShenQingDan.vue
new file mode 100644
index 0000000..7ca75eb
--- /dev/null
+++ b/YiJi-admin/src/components/Yewu/PrintShenQingDan.vue
@@ -0,0 +1,87 @@
+
+
+
+
秦皇岛市中医医院
+
检查预约回执单
+
+
+
{{printInfo.app_num}}
+
+
+
+
+
+ | 姓名:{{printInfo.user_name}} |
+ 性别:{{printInfo.user_sex_label}} |
+ 年龄:{{printInfo.age}} |
+ 病人类型:{{printInfo.patient_type_label}} |
+
+
+ |
+ {{printInfo.patient_type_label}}号{{printInfo.reg_num}}
+ |
+ 病区:{{printInfo.warddesc ?? ''}} |
+ 床号:{{printInfo.bedno ?? ''}} |
+ 联系电话:{{printInfo.user_phone}} |
+
+
+
+
+
检查项目:{{printInfo.entrust}}
+
预约时间:{{printInfo.reservation_date}}
+ {{printInfo.period_begin_time.substring(0, 5)}}-{{printInfo.period_end_time.substring(0, 5)}}
+ {{printInfo.weekday_label}}
+
+
检查地点:{{printInfo.department_resources?.department_resources_name}}
+
+
+
+
+ | 温馨提示: |
+
+ 1、预约后请您及时缴费,门诊患者预约成功后60分钟内不缴费,系统会自动取消您的预约申请。自动取消后,如需继续预约,请到相关检查科室重新预约。
+ 2、预约时间为8点~10点的,请8点到登记处签到,预约时间为10点~12点的,请10点前到登记处签到,便于工作人员进行检查评估和准备。
+ 3、预约时间不是实际检查时间,以现场登记后排队号为准。
+ |
+
+
+
+
+
检查须知:
+
+ 腹部检查禁食4小时,腹部、盆腔、泌尿系统检查请尽量饮水,充盈肠道及膀胱;危重病人需由家属陪同;孕妇及婴幼儿请慎行检查。
+
+
+
+ 申请时间:2025-05-01
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/YiJi-admin/src/components/Yewu/YuYue.vue b/YiJi-admin/src/components/Yewu/YuYue.vue
index 8e54337..0a253fe 100644
--- a/YiJi-admin/src/components/Yewu/YuYue.vue
+++ b/YiJi-admin/src/components/Yewu/YuYue.vue
@@ -170,11 +170,58 @@
-
演示医院
-
检查申请单
-
-
检查项目:{{item.entrust.entrust}}
+
+
@@ -202,6 +249,7 @@
DoctorCancelYuYue,
GetPlanUsedList
} from '@/api/api.js'
+ import ShenQingDan from '@/components/Yewu/PrintShenQingDan.vue'
const props = defineProps({
YuYueInfo: {
type: Object
diff --git a/YiJi-admin/src/components/Yewu/YuYue202506.vue b/YiJi-admin/src/components/Yewu/YuYue202506.vue
new file mode 100644
index 0000000..1263481
--- /dev/null
+++ b/YiJi-admin/src/components/Yewu/YuYue202506.vue
@@ -0,0 +1,787 @@
+
+
+
+
+ {{patientInfo.user_name}}({{patientInfo.user_sex_label}} {{patientInfo.age}}岁)
+ 登记号:{{patientInfo.reg_num}} 电话:{{patientInfo.user_phone}}
+
+
+ 获取患者信息失败
+
+
+
+
+
+
+ {{scope.row.tishi_msg}}
+ 正常
+
+
+
+
+ 申请中
+ 已预约
+ 登记
+ 完成
+
+
+
+
+
+ 是
+ 否
+
+
+
+
+
+
+ {{scope.row.period_begin_time.substring(0, 5)}}~{{scope.row.period_end_time.substring(0, 5)}}
+
+
+
+
+ 否
+ 是
+
+
+
+
+
+ {{scope.row.entrust_date}} {{scope.row.entrust_time}}
+
+
+
+
+
+
+
+
+
{{item}}
+
+
预约
+
更改预约时间
+
取消预约
+
打印申请单隐藏按钮
+
打印申请单
+
+ 预约完成后打印申请单
+
+
+
+
+
+
+
+
+
+
+ |
+ {{item.substring(5, 10)}}
+ {{getWeekday(item)}}
+ |
+
+
+ | {{item2}}{{item2.use_count}} |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/YiJi-admin/src/router/index.js b/YiJi-admin/src/router/index.js
index 2acd2a2..fcfcf19 100644
--- a/YiJi-admin/src/router/index.js
+++ b/YiJi-admin/src/router/index.js
@@ -48,7 +48,16 @@ const router = createRouter({
meta: {
requiresAuth: false
}
- },{
+ },
+ {
+ path: '/doctorappointment',
+ name: 'DoctorAppointment',
+ component: () => import('../views/YeWu/DoctorYuYue.vue'),
+ meta: {
+ requiresAuth: false
+ }
+ },
+ {
path: '/index',
name: 'Index',
component: Index,
diff --git a/YiJi-admin/src/views/YeWu/DoctorYuYue.vue b/YiJi-admin/src/views/YeWu/DoctorYuYue.vue
new file mode 100644
index 0000000..2060a71
--- /dev/null
+++ b/YiJi-admin/src/views/YeWu/DoctorYuYue.vue
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/YiJi-admin/src/views/YeWu/MainList.vue b/YiJi-admin/src/views/YeWu/MainList.vue
index 44ee747..41f3f20 100644
--- a/YiJi-admin/src/views/YeWu/MainList.vue
+++ b/YiJi-admin/src/views/YeWu/MainList.vue
@@ -76,6 +76,7 @@
打印申请单隐藏按钮
打印申请单
打印表格
+
@@ -292,6 +294,7 @@
ElMessage,
ElMessageBox
} from 'element-plus'
+ import ShenQingDan from '@/components/Yewu/PrintShenQingDan.vue'
let AutoGroup=ref(true);//自动分组是否开启
let shenqingdan_show=ref(false);
let do_type = ref(0) //按钮操作类型1预约2改约
diff --git a/YiJi-admin/src/views/YeWu/MainList_ZhuYuan.vue b/YiJi-admin/src/views/YeWu/MainList_ZhuYuan.vue
index 4a710fe..e2ef85f 100644
--- a/YiJi-admin/src/views/YeWu/MainList_ZhuYuan.vue
+++ b/YiJi-admin/src/views/YeWu/MainList_ZhuYuan.vue
@@ -1,5 +1,5 @@
-
+
@@ -50,7 +50,6 @@
自动选择多人
-
@@ -151,14 +150,61 @@
{{LogDataJson}}
-
-
-
演示医院
-
检查申请单
-
-
检查项目:{{item.maininfo.entrust}}
+
@@ -173,6 +219,7 @@
ElMessageBox
} from 'element-plus'
import YuYue from '@/components/Yewu/YuYue.vue'
+ import ShenQingDan from '@/components/Yewu/PrintShenQingDan.vue'
import {
GetMainList,
CancelYuYue,