更新细节,admin增加系统参数设置

main
yanzai 1 year ago
parent 8061bdc99a
commit 937442ede0

@ -0,0 +1,38 @@
<?php
namespace App\Http\Controllers\API\Admin\YeWu;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class ConfigsController extends Controller
{
public function GetConfigs(Request $request)
{
$userid = $request->get('userid');//中间件产生的参数
$group = $request->get('role');//中间件产生的参数
if($group==1){
$list=DB::table('configs')->get();
return \Yz::Return(true,'',$list);
}
}
public function SaveConfig(Request $request)
{
$userid = $request->get('userid');//中间件产生的参数
$group = $request->get('role');//中间件产生的参数
$label=request('label');
$value=request('value');
if($group==1){
$u=DB::table('configs')->where(['label'=>$label])->update([
'value'=>$value
]);
if($u){
return \Yz::Return(true,'操作成功',[]);
}else{
return \Yz::echoError1("操作失败");
}
}
}
}

@ -78,6 +78,66 @@ class HealthCheckupController extends Controller
}
}
//对外接口,创建体检记录 姓名、电话、身份证、体检机构编码、体检号、pdfs
public function CreateCheckupPdf()
{
$id_card_num=request('id_card_num');
$name=request('name');
$tel=request('tel');
$tijian_num=request('tijian_num');
$type=request('type');
$org_code=request('org_code');
$pdfs=request('pdfs');
if(!isset($tijian_num)) return \Yz::echoError1('体检号不能为空');
if(!isset($id_card_num)) return \Yz::echoError1('身份证不能为空');
if(!isset($pdfs)) return \Yz::echoError1('pdfs不能为空');
if(!isset($org_code)) return \Yz::echoError1('机构码不能为空');
$org_id=DB::table('medical_institution')->where('sn',$org_code)->first();
if(!$org_id) return \Yz::echoError1('机构码不存在');
//检查体检流水号是否存在,存在禁止再次插入。
$check_cunzai=DB::table('examination_records')->where('tijian_num',$tijian_num)->get();
if(count($check_cunzai)>0) return \Yz::echoError1('此体检号已经存在,禁止创建');
//HSM加密
$HSM_sfz =\App\Lib\HSM::HsmEncrypt($id_card_num);
if($HSM_sfz['status']!=true){
return \Yz::echoError1('调用HSM加密失败');
}
if(isset($tel)){
$HSM_tel =\App\Lib\HSM::HsmEncrypt($tel);
if($HSM_tel['status']!=true){
return \Yz::echoError1('调用HSM加密失败');
}
$tel=$HSM_tel['data'];
}
$id_card_num=$HSM_sfz['data'];
$Hmac=\App\Lib\HSM::Hmac($name.$id_card_num.$tel.$org_id->id);
if($Hmac['status']!=true){
return \Yz::echoError1('HMAC摘要失败');
}
$i=DB::table('examination_records')->insertGetId([
"name"=>$name,
"tel"=>$tel,
"id_card_num"=>$id_card_num,
"type"=>$type,
"institution_id"=>$org_id->id,
"tijian_num"=>$tijian_num,
"pdfs"=>isset($pdfs)?json_encode($pdfs):'',
'hmac'=>$Hmac['data'],
]);
if($i){
return \Yz::Return(true,'记录完成',["num"=>$tijian_num]);
}else{
return \Yz::echoError1("操作失败");
}
}
//根据身份证号码查询体检记录列表
public function GetPersonCheckUpList(){
$id_card_num=request('id_card_num');

@ -44,7 +44,7 @@ class PersonController extends Controller
//HSM解密
$HSM_sfz =\App\Lib\HSM::HsmDecrypt($info->id_card_num);
if($HSM_sfz['status']!=true){
return \Yz::echoError1('调用HSM密失败');
return \Yz::echoError1('调用HSM密失败');
}
$info->id_card_num=$HSM_sfz['data'];
}

@ -48,7 +48,8 @@ class HealthCheckupService
->where([
'id_card_num'=>$CheckupInfo['id_card_num'],
'org_id'=>$org_id[0]->id,
'status'=>1
'status'=>1,
'org_code'=>$CheckupInfo['institution_sn'],
])->whereBetween('created_at',[$firstDay,$lastDay])->update(['status'=>2]);

@ -56,6 +56,8 @@ Route::group(['middleware'=>['checktoken','log'],'prefix'=>'v1'],function () {
Route::post('admin/InstitutionGetList','App\Http\Controllers\API\Admin\YeWu\InstitutionController@GetList');//获取体检机构列表
Route::post('admin/InstitutionSavdSeting','App\Http\Controllers\API\Admin\YeWu\InstitutionController@SavdSeting');//保存机构设置
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');//保存设置
});
@ -86,6 +88,7 @@ Route::group(['middleware'=>['check.sign','log'],'prefix'=>'v1'],function () {
Route::get('GetPersonCheckUpList','App\Http\Controllers\API\Admin\YeWu\HealthCheckupController@GetPersonCheckUpList');//查询个人查询体检记录列表
Route::get('GetPersonCheckUpDetail','App\Http\Controllers\API\Admin\YeWu\HealthCheckupController@GetPersonCheckUpDetail');//根据体检号查询体检详情
Route::post('CreateAppointment','App\Http\Controllers\API\Admin\YeWu\AppointmentController@CreateAppointment');//创建预约记录
Route::post('CreateCheckupPdf','App\Http\Controllers\API\Admin\YeWu\HealthCheckupController@CreateCheckupPdf');//对外接口,创建体检记录 姓名、电话、身份证、体检机构编码、体检号、pdfs
});

@ -148,4 +148,14 @@ export const InstitutionSavdSeting = (data={}) => {
//获取机构设置详情
export const InstitutionGetSetingDetail = (data={}) => {
return axios({url:import.meta.env.VITE_APP_API+'v1/admin/InstitutionGetSetingDetail',data:data})
}
//获取系统参数设置
export const GetConfigs = (data={}) => {
return axios({url:import.meta.env.VITE_APP_API+'v1/admin/GetConfigs',data:data})
}
//保存系统参数设置
export const SaveConfig = (data={}) => {
return axios({url:import.meta.env.VITE_APP_API+'v1/admin/SaveConfig',data:data})
}

@ -91,6 +91,13 @@ const router = createRouter({
name: 'ReportAppointmentList',
component: AppointmentCount,
meta: { title: '预约登记统计' }
},{
path: '/systemMngr/Configs',
name: 'SystemConfigs',
component: () => import('../views/SystemMngr/Configs.vue'),
meta: {
title: '系统参数设置'
}
}]
},

@ -0,0 +1,64 @@
<template>
<div v-loading="loading">
<div v-if="configs_list.length>0">
<el-row v-for="(item,index) in configs_list" :key="index">
<el-form-item :label="item.label">
<div class="row">
<el-input placeholder="字段内容" v-model="configs_list[index].value" />
<el-button type="primary" style="margin-left: 10px;" @click="SaveConfigFunc(item.label,item.value)" >保存</el-button>
</div>
</el-form-item>
</el-row>
</div>
</div>
</template>
<script setup>
import {
ref,
onMounted
} from 'vue'
import {
ElMessage
} from 'element-plus'
import {
GetConfigs,SaveConfig
} from '@/api/api.js'
let configs_list=ref([]);
let loading=ref(false);
const GetInfo=()=>{
loading.value=true
GetConfigs().then(res => {
loading.value=false
if(res.status){
configs_list.value=res.data
}else{
ElMessage.error(res.msg)
}
})
}
const SaveConfigFunc=(label,value)=>{
loading.value=true
SaveConfig({label:label,value:value}).then(res => {
loading.value=false
if(res.status){
GetInfo()
}else{
ElMessage.error(res.msg)
}
})
}
onMounted(()=>{
GetInfo()
})
</script>
<style scoped>
.row{
display: flex;
}
</style>
Loading…
Cancel
Save