diff --git a/Laravel/app/Http/Controllers/API/Admin/YeWu/HealthCheckupController.php b/Laravel/app/Http/Controllers/API/Admin/YeWu/HealthCheckupController.php index f27ce84..515da91 100644 --- a/Laravel/app/Http/Controllers/API/Admin/YeWu/HealthCheckupController.php +++ b/Laravel/app/Http/Controllers/API/Admin/YeWu/HealthCheckupController.php @@ -127,7 +127,7 @@ class HealthCheckupController extends Controller "type"=>$type, "institution_id"=>$org_id->id, "tijian_num"=>$tijian_num, - "pdfs"=>isset($pdfs)?json_encode($pdfs):'', + "pdfs"=>isset($pdfs)?json_encode($pdfs,JSON_UNESCAPED_UNICODE):'', 'hmac'=>$Hmac['data'], ]); if($i){ diff --git a/Laravel/app/Http/Controllers/API/mH5/PersonController.php b/Laravel/app/Http/Controllers/API/mH5/PersonController.php index 5844e25..ffb18e8 100644 --- a/Laravel/app/Http/Controllers/API/mH5/PersonController.php +++ b/Laravel/app/Http/Controllers/API/mH5/PersonController.php @@ -28,13 +28,18 @@ class PersonController extends Controller //获取用户体检详情和pdf public function GetPersonReportDetail(){ $sfz =request('sfz'); + $type =request('type'); //HSM加密 $HSM_sfz =\App\Lib\HSM::HsmEncrypt($sfz); if($HSM_sfz['status']!=true){ return \Yz::echoError1('调用HSM加密失败'); } $sfz=$HSM_sfz['data']; - $info=DB::table('examination_records')->where(['id_card_num'=>$sfz,'is_del'=>0]) ->orderBy('id', 'desc')->first(); + $info=DB::table('examination_records')->where(['id_card_num'=>$sfz,'is_del'=>0]); + if(isset($type)){ + $info=$info->where('type',$type); + } + $info=$info ->orderBy('id', 'desc')->first(); if($info){ $info->pdfs=count(json_decode($info->pdfs, true)); $item=DB::table('report_result_item') @@ -50,7 +55,6 @@ class PersonController extends Controller $info->id_card_num=$HSM_sfz['data']; } - return \Yz::Return(true,'',['info'=>$info]); }else{ return \Yz::echoError1('未找到相关体检信息'); @@ -161,4 +165,37 @@ class PersonController extends Controller } + //H5用户获取自己的 本年度 预约记录详情 2024-07-18 23:35 + //获取从h5自助预约的信息 + public function H5GetAppointmentRecord(Request $request) + { + date_default_timezone_set('PRC'); + $currentYear = date('Y'); + $firstDay = date('Y-01-01', strtotime($currentYear)); + $lastDay = date('Y-12-31', strtotime($currentYear)); + + $openid = $request->get('userid');//中间件产生的参数 + $sfz =request('sfz'); + + $HSM=\App\Lib\HSM::HsmEncrypt($sfz); + if($HSM['status']!=true){ + return \Yz::echoError1('调用HSM加密失败'); + } + $sfz=$HSM['data']; + + if(isset($sfz)){ + $info=DB::table('appointment_record as a') + ->select('a.name','a.id_card_num','a.date','a.time','a.type','a.doc_type_name','a.created_at','b.org_name') + ->join('medical_institution as b','a.org_code','=','b.sn') + ->where(['a.id_card_num'=>$sfz,'a.is_del'=>0])->whereNull('a.source') + ->whereBetween('a.created_at',[$firstDay,$lastDay])->orderBy('a.id','desc')->first(); + if(!!$info){ + $info->id_card_num=request('sfz'); + } + return \Yz::Return(true,'查完完成',$info); + } + + } + + } diff --git a/Laravel/app/Services/Admin/YeWu/HealthCheckupService.php b/Laravel/app/Services/Admin/YeWu/HealthCheckupService.php index 08e204a..3b1179e 100644 --- a/Laravel/app/Services/Admin/YeWu/HealthCheckupService.php +++ b/Laravel/app/Services/Admin/YeWu/HealthCheckupService.php @@ -179,6 +179,9 @@ class HealthCheckupService } array_push($canshu,($arr['page']-1)*$arr['pageSize'],$arr['pageSize']); $query=DB::select("select a.*,b.org_name from examination_records as a LEFT JOIN medical_institution as b on a.institution_id=b.id ".$sql." order by a.id desc limit ?,?",$canshu); + foreach ($query as $key=>$item){ + $item->psfds=json_decode($item->pdfs,true); + } $count=DB::select("select count(*) as c from examination_records as a ".$sql,$canshu); return \Yz::Return(true,'',['list'=>$query,'count'=>$count[0]->c]); diff --git a/Laravel/routes/api.php b/Laravel/routes/api.php index e473ab6..e5d92b8 100644 --- a/Laravel/routes/api.php +++ b/Laravel/routes/api.php @@ -78,7 +78,7 @@ Route::group(['middleware'=>['checktoken','log'],'prefix'=>'v1/mH5'],function () Route::post('GetPersonReportDetail','App\Http\Controllers\API\mH5\PersonController@GetPersonReportDetail');//获取用户pdf Route::post('GetIndustryList','App\Http\Controllers\API\mH5\IndustryController@GetIndustry'); Route::post('GetPersonPdfDetailByLink','App\Http\Controllers\API\mH5\PersonController@GetPersonPdfDetailByLink');//根据链接获取体检那边的pdf - + Route::post('H5GetAppointmentRecord','App\Http\Controllers\API\mH5\PersonController@H5GetAppointmentRecord'); //获取自己的预约记录 }); diff --git a/mH5/src/api/api.js b/mH5/src/api/api.js index dbd985b..feb8d4e 100644 --- a/mH5/src/api/api.js +++ b/mH5/src/api/api.js @@ -66,4 +66,8 @@ export const GetPersonPdfDetailByLink = (data) => { //获取config配置信息 export const GetConfigInArray = (data) => { return axios({url:import.meta.env.VITE_APP_API+'GetConfigInArray',data:data}) +} +//获取自己的预约记录 +export const H5GetAppointmentRecord = (data) => { + return axios({url:import.meta.env.VITE_APP_API+'v1/mH5/H5GetAppointmentRecord',data:data}) } \ No newline at end of file diff --git a/mH5/src/components/Loading.vue b/mH5/src/components/Loading.vue index 58ea314..a9415c8 100644 --- a/mH5/src/components/Loading.vue +++ b/mH5/src/components/Loading.vue @@ -1,7 +1,7 @@ - 加载中... + 加载中... @@ -9,7 +9,6 @@ diff --git a/mH5/src/router/index.js b/mH5/src/router/index.js index 5ad287d..66b9617 100644 --- a/mH5/src/router/index.js +++ b/mH5/src/router/index.js @@ -68,6 +68,10 @@ const router = createRouter({ path: '/personReportLogin', name: 'PersonReportLogin', component: () => import('../views/PersonReportLogin.vue') + },{ + path: '/myappointment', + name: 'MyAppointment', + component: () => import('../views/MyAppointment.vue') }] }) diff --git a/mH5/src/views/AppLogin.vue b/mH5/src/views/AppLogin.vue index 8ecd764..c0cb47a 100644 --- a/mH5/src/views/AppLogin.vue +++ b/mH5/src/views/AppLogin.vue @@ -1,34 +1,79 @@ - - {{buttonText}} + + + 体检预约 + + + 健康证明 + 预约健康证体检 + + + 65岁以上老年人 + 老年人体检预约 + + + 健康体检 + 健康体检预约 + + + 预约记录 + 预约登记记录 + + + + + 报告查询 + + + 健康证明查询 + 健康证明查询 + + + 65岁以上老年人体检报告 + 老年人体检报告查询 + + + 健康体检报告 + 健康体检报告查询 + + + + + + \ No newline at end of file diff --git a/mH5/src/views/ShowReport.vue b/mH5/src/views/ShowReport.vue index 67f546e..7306a10 100644 --- a/mH5/src/views/ShowReport.vue +++ b/mH5/src/views/ShowReport.vue @@ -1,240 +1,265 @@ - + - - - 姓名: - {{reportinfo.name}} - - - 性别: - 女 + + + 姓名: + {{reportinfo.name}} + + + 性别: + 女 男 - - - 身份证: - {{reportinfo.id_card_num}} - - - - 查看报告 - - 北京市从业人员体检结果 + + + 身份证: + {{reportinfo.id_card_num}} + + + + 查看报告 + + {{title}} - - - - 项目 - 结果 - - - - - {{ item.item_name }} - 无 - {{item.item_result}} - - + + + + 项目 + 结果 + + + + + {{ item.item_name }} + 无 + {{item.item_result}} + + - + - + - + - \ No newline at end of file