From 0925d05696a1500a391c09b39e345b7d8e848099 Mon Sep 17 00:00:00 2001 From: yanzai Date: Fri, 26 Apr 2024 18:27:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=A2=84=E7=BA=A6=E7=99=BB?= =?UTF-8?q?=E8=AE=B0=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../API/Admin/YeWu/AppointmentController.php | 34 ++++++++ Laravel/routes/api.php | 1 + el-admin/src/api/api.js | 4 + el-admin/src/router/index.js | 7 +- .../src/views/Report/AppointmentCount.vue | 87 +++++++++++++++++++ 5 files changed, 132 insertions(+), 1 deletion(-) create mode 100644 el-admin/src/views/Report/AppointmentCount.vue diff --git a/Laravel/app/Http/Controllers/API/Admin/YeWu/AppointmentController.php b/Laravel/app/Http/Controllers/API/Admin/YeWu/AppointmentController.php index 5f8ebb3..801573f 100644 --- a/Laravel/app/Http/Controllers/API/Admin/YeWu/AppointmentController.php +++ b/Laravel/app/Http/Controllers/API/Admin/YeWu/AppointmentController.php @@ -98,4 +98,38 @@ class AppointmentController extends Controller return \Yz::echoError1('操作失败'); } } + //统计各个体检机构预约登记记录 + public function AppointmentCount(Request $request) + { + $userid = $request->get('userid');//中间件产生的参数 + $group = $request->get('role');//中间件产生的参数 + $searchInfo=request('searchInfo'); + if($group<>1){ + $cha=DB::table('medical_institution')->where(['link_user_id'=>$userid])->first(); + $searchInfo['sn']=$cha->sn; + } + $list=DB::table('appointment_record as a') + ->select('a.org_code','b.org_name',DB::raw('count(*) as count')) + ->leftJoin('medical_institution as b','a.org_code','=','b.sn'); + + if(empty($searchInfo['dateRange'])){ + $searchInfo['start']=date('Y-m-d')." 00:00:00"; + $searchInfo['end']= date('Y-m-d')." 23:59:59"; + }else{ + $searchInfo['start']=$searchInfo['dateRange'][0]." 00:00:00"; + $searchInfo['end']=$searchInfo['dateRange'][1]." 23:59:59"; + } + + if(isset($searchInfo['sn'])){ + $list=$list->where('a.org_code',$searchInfo['sn']); + } + if(isset($searchInfo['checkType'])){ + $list=$list->where('a.type',$searchInfo['checkType']); + } + $list=$list + ->where([['a.is_del','=',0],['a.created_at','>=',$searchInfo['start']],['a.created_at','<=',$searchInfo['end']]]) + ->groupBy('a.org_code','b.org_name') + ->get(); + return \Yz::Return(true,'查询成功',$list); + } } diff --git a/Laravel/routes/api.php b/Laravel/routes/api.php index d9f0267..84ba03e 100644 --- a/Laravel/routes/api.php +++ b/Laravel/routes/api.php @@ -52,6 +52,7 @@ Route::group(['middleware'=>['checktoken','log'],'prefix'=>'v1'],function () { Route::post('admin/DelAppointment','App\Http\Controllers\API\Admin\YeWu\AppointmentController@Del'); //admin后台删除预约记录 Route::post('admin/XTSignBindUser','App\Http\Controllers\API\XTSignController@bindUser');//admin后台用户绑定协同签名useid Route::post('admin/UkeyBindUser','App\Http\Controllers\API\UkeyController@Bind');//admin后台用户绑定协同签名useid + Route::post('admin/AppointmentCount','App\Http\Controllers\API\Admin\YeWu\AppointmentController@AppointmentCount'); //admin后台预约统计 }); diff --git a/el-admin/src/api/api.js b/el-admin/src/api/api.js index 7d4189b..2d6c85e 100644 --- a/el-admin/src/api/api.js +++ b/el-admin/src/api/api.js @@ -133,3 +133,7 @@ export const SystemLogGetList = (data={}) => { export const GetLogTableName = (data={}) => { return axios({url:import.meta.env.VITE_APP_API+'v1/admin/GetLogTableName',data:data}) } +//预约登记统计 +export const AppointmentCount = (data={}) => { + return axios({url:import.meta.env.VITE_APP_API+'v1/admin/AppointmentCount',data:data}) +} \ No newline at end of file diff --git a/el-admin/src/router/index.js b/el-admin/src/router/index.js index 2d2a295..c40d34d 100644 --- a/el-admin/src/router/index.js +++ b/el-admin/src/router/index.js @@ -12,7 +12,7 @@ import HealthCalendar from '../views/AppointmentMngr/HealthCalendar.vue' import AppointmentList from '../views/AppointmentMngr/AppointmentList.vue' import healthCheckList from '../views/MedicalCenter/HealthCheckList.vue' import Dashboard from '../views/MedicalCenter/Dashboard.vue' - +import AppointmentCount from '../views/Report/AppointmentCount.vue' const router = createRouter({ history: createWebHashHistory(import.meta.env.BASE_URL), @@ -79,6 +79,11 @@ const router = createRouter({ name: 'AppointmentList', component: AppointmentList, meta: { title: '预约记录列表' } + } ,{ + path: '/report/appointmentList', + name: 'ReportAppointmentList', + component: AppointmentCount, + meta: { title: '预约登记统计' } }] }, diff --git a/el-admin/src/views/Report/AppointmentCount.vue b/el-admin/src/views/Report/AppointmentCount.vue new file mode 100644 index 0000000..0d04836 --- /dev/null +++ b/el-admin/src/views/Report/AppointmentCount.vue @@ -0,0 +1,87 @@ + + + + + \ No newline at end of file