增加健康证统计

main
yanzai 1 year ago
parent b8c0363744
commit 899066a4b3

@ -167,4 +167,45 @@ class HealthCheckupController extends Controller
$s=app()->make(HealthCheckupService::class);
return $s->GetCheckUpList(['userid'=>$userid,'group'=>$group,'page'=>$page,'pageSize'=>$pageSize,'searchInfo'=>$searchInfo]);
}
//统计各个体检机构体检数量
public function CheckUpCount(Request $request)
{
$s_group=[1,8];
$userid = $request->get('userid');//中间件产生的参数
$group = $request->get('role');//中间件产生的参数
$searchInfo=request('searchInfo');
if(!in_array($group,$s_group) ){
$cha=DB::table('medical_institution')->where(['link_user_id'=>$userid])->first();
if(!!$cha){
$searchInfo['org_id']=$cha->id;
}else{
return \Yz::echoError1("当前用户,未关联体检机构");
}
}
$list=DB::table('examination_records as a')
->select('b.sn','b.org_name',DB::raw('count(*) as count'))
->leftJoin('medical_institution as b','a.institution_id','=','b.id');
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['org_id'])){
$list=$list->where('a.institution_id',$searchInfo['org_id']);
}
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('b.sn','b.org_name')
->orderBy('count','desc')
->get();
return \Yz::Return(true,'查询成功',['list'=>$list,'dateRange'=>[$searchInfo['start'],$searchInfo['end']]]);
}
}

@ -27,7 +27,10 @@ class DxAppController extends Controller
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_HTTPHEADER, [
'Content-Type: application/json; charset=utf-8',
'Content-Length: ' . strlen($data_string)
'Content-Length: ' . strlen($data_string),
"appCode: CwaYrR",
"sign: 965E90EE2B2E216721FF54A32B6D699A",
"APICODE: b317f8e3-66d7-4f75-b1c9-58ead6343e9f",
]);
// curl_setopt($curl, CURLOPT_POSTFIELDS, $data_string);
$r = curl_exec($curl);

@ -59,6 +59,8 @@ Route::group(['middleware'=>['checktoken','log'],'prefix'=>'v1'],function () {
Route::post('admin/InstitutionGetSetingDetail','App\Http\Controllers\API\Admin\YeWu\InstitutionController@GetSetingDetail');//获取机构设置详情
Route::post('admin/GetConfigs','App\Http\Controllers\API\Admin\YeWu\ConfigsController@GetConfigs');//获取设置
Route::post('admin/SaveConfig','App\Http\Controllers\API\Admin\YeWu\ConfigsController@SaveConfig');//保存设置
Route::post('admin/CheckUpCount','App\Http\Controllers\API\Admin\YeWu\HealthCheckupController@CheckUpCount');//体检统计
});

@ -1,6 +1,6 @@
ENV = 'production'
VITE_APP_API_77777 = 'http://192.168.50.123:33583/common/la/public/api/'
VITE_APP_FILE_7777 = 'http://192.168.50.123:33583/common/la/public'
VITE_APP_API = 'http://192.168.50.123:33583/common/la/public/api/'
VITE_APP_FILE = 'http://192.168.50.123:33583/common/la/public'
VITE_APP_API = 'http://172.31.68.39:33583/common/la/public/api/'
VITE_APP_FILE = 'http://172.31.68.39:33583/common/la/public'
VITE_APP_API_5555 = 'http://172.31.68.39:33583/common/la/public/api/'
VITE_APP_FILE_5555 = 'http://172.31.68.39:33583/common/la/public'

@ -162,4 +162,9 @@ export const GetConfigs = (data={}) => {
//保存系统参数设置
export const SaveConfig = (data={}) => {
return axios({url:import.meta.env.VITE_APP_API+'v1/admin/SaveConfig',data:data})
}
//体检数量统计
export const CheckUpCount = (data={}) => {
return axios({url:import.meta.env.VITE_APP_API+'v1/admin/CheckUpCount',data:data})
}

@ -91,6 +91,11 @@ const router = createRouter({
name: 'ReportAppointmentList',
component: AppointmentCount,
meta: { title: '预约登记统计' }
},{
path: '/report/healthcard',
name: 'ReportHealthCard',
component: () => import('../views/Report/HealthCard.vue'),
meta: { title: '健康证统计' }
},{
path: '/systemMngr/Configs',
name: 'SystemConfigs',

@ -60,6 +60,7 @@
loading.value=false
if (res.status) {
tableData.value = res.data.list
searchInfo.value.dateRange=res.data.dateRange
} else {
ElMessage.error(res.msg)
}

@ -0,0 +1,83 @@
<template>
<div>
<div class="head">
<el-row>
<el-form-item style="margin-left: 8px;" v-if="org_list.length>0">
<el-select filterable clearable v-model="searchInfo.org_id" placeholder="请选择体检机构">
<el-option v-for="(item, index) in org_list" :key="index" :label="item.org_name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item style="margin-left: 8px;">
<el-date-picker v-model="searchInfo.dateRange" value-format="YYYY-MM-DD" type="daterange"
range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />
</el-form-item>
<el-form-item>
<el-button type="primary" style="margin-left: 20px;" @click="GetInfo"></el-button>
</el-form-item>
</el-row>
</div>
<el-table :data="tableData" style="width: 100%;" row-key="id" show-summary v-loading="loading">
<el-table-column prop="org_name" label="体检机构" />
<el-table-column prop="sn" label="Code" />
<el-table-column prop="count" label="数量" />
</el-table>
</div>
</template>
<script setup>
import {
ref,
onMounted
} from 'vue'
import {
ElMessage
} from 'element-plus'
import {
CheckUpCount,GetHealthOrganizationEnableList
} from '@/api/api.js'
let loading = ref(false)
let searchInfo = ref({
checkType:"1",
dateRange: [],
org_id: '',
})
let tableData = ref([])
const GetInfo=()=>{
loading.value=true
CheckUpCount({searchInfo:searchInfo.value}).then(res => {
loading.value=false
if (res.status) {
tableData.value = res.data.list
searchInfo.value.dateRange=res.data.dateRange
} else {
ElMessage.error(res.msg)
}
})
}
let org_list = ref('') //
const getHealthOrganizationEnableList = () => {
GetHealthOrganizationEnableList().then(res => {
if (res.status) {
org_list.value = res.data
if (res.data.length == 1) {
searchInfo.value.org_id = res.data[0].id
}
} else {
ElMessage.error(res.msg)
}
})
}
onMounted(() => {
getHealthOrganizationEnableList()
GetInfo()
})
</script>
<style>
</style>

@ -262,8 +262,8 @@
onMounted(() => {
openid = route.query.userId
sessionStorage.setItem('openid', openid);
//AppGetUserinfoAction()
tiaoGuoAppYanzheng();
AppGetUserinfoAction()
//tiaoGuoAppYanzheng();
GetConfigInArrayFunc();
console.log(openid);
})

Loading…
Cancel
Save