对接his,给pacs提供接口

main
yanzai 6 months ago
parent 18b6d07f73
commit f39e655478

@ -34,6 +34,24 @@ class WorkMainController extends Controller
$ii = DB::table('s_check_item as a')
->leftJoin('s_check_item_device as b','a.id','=','b.item_id')
->where(['a.item_name' => $value->entrust,'a.status'=>1,"a.is_del"=>0])->get();
$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);
$msg='';
if(count($ii)==0){

@ -0,0 +1,16 @@
<?php
namespace App\Http\Controllers\API\His;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class DepartmentController extends Controller
{
//获取科室列表
public function GetDepartmentList(){
$His = new HisController();
$data=[];
$res = $His::Get("查询科室列表", $data);
}
}

@ -25,14 +25,14 @@ class HisController extends Controller
return $api["{$url_code}"] ?? $url_code;
}
public static function Post($url_code, $data)
public static function Get($url_code, $data)
{
$url_address = self::Api($url_code);
self::RequestLog(self::$baseUrl . $url_address, $data, $url_code, 'His接口');
self::RequestLog(self::$baseUrl . $url_address, $data, $url_code, 'Roc接口');
$response = Http::withHeaders([])->post(self::$baseUrl . $url_address, $data);
$response = Http::withHeaders([])->get(self::$baseUrl . $url_address, $data);
// dd(self::BuildAuthorization($nonce, $timestamp, $base64Signature));
if ($response->successful()) {
@ -47,19 +47,19 @@ class HisController extends Controller
self::$request->save();
$res = json_decode($res_string, true);
if (!$res['success']) {
throw new HttpResponseException(\Yz::JsonError("小程序接口提示:" . $res['message']));
if ($res['code']<>200) {
throw new HttpResponseException(\Yz::JsonError("Roc接口提示" . $res['msg']));
}
return [
'code' => $res['code'],
'message' => $res['message'],
'data' => $res['result']
'message' => $res['msg'],
'data' => $res['data']
];
} else {
// 处理失败的响应
self::$request->response_data = "请求His接口失败";
self::$request->response_data = "请求Roc接口失败";
self::$request->save();
throw new HttpResponseException(\Yz::JsonError("请求小程序接口失败"));
throw new HttpResponseException(\Yz::JsonError("请求Roc接口失败"));
}
}

@ -0,0 +1,114 @@
<?php
namespace App\Http\Controllers\API\Third;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class PacsController extends Controller
{
//报到机调用此接口查询预约的记录
public function GetEntrustInfo(){
$orderNo = request('orderNo');//医嘱号
$idCardNumber = request('idCardNumber');//身份证
$visitSqNo = request('visitSqNo');//门诊挂号流水号/住院流水号
$dateRange = request('dateRange');//医嘱开单日期
$requestNo = request('requestNo');//申请单号
// 判断所有字段是否都为空
if (empty($orderNo) && empty($idCardNumber) && empty($visitSqNo) && empty($dateRange) && empty($requestNo)) {
return \Yz::JsonError("缺失查询条件");
}
$entrust_list=DB::table('s_list')->select(
"list_status",
"is_nullify",
"reg_num",
"user_name",
"user_sex",
"user_brithday",
"user_phone",
"entrust_code",
"entrust",
"is_pay",
"reservation_department",
"entrust_date",
"entrust_time",
"docotr as doctor",
"patient_type",
"implement_department",
"entrust_id",
"episodeid",
"RISRAcceptDeptCode",
"reservation_date",
"reservation_time",
"canel_time as cancel_time",
"warddesc",
"wardcode",
"bedname",
"bedno",
"app_num",
"medicalHistory",
"diagnosisName",
"idCardNumber"
);
if(isset($dateRange)){
if(!is_array($dateRange)) return \Yz::JsonError("日期范围必须是数组");
$entrust_list=$entrust_list->whereBetween('entrust_date',[$dateRange[0],$dateRange[1]]);
}
if(isset($orderNo)){
$entrust_list=$entrust_list->where('entrust_id',$orderNo);
}
if(isset($visitSqNo)){
$entrust_list=$entrust_list->where('episodeid',$visitSqNo);
}
if(isset($requestNo)){
$entrust_list=$entrust_list->where('app_num',$requestNo);
}
if(isset($idCardNumber)){
$entrust_list=$entrust_list->where('idCardNumber',$idCardNumber);
}
$entrust_list=$entrust_list->get();
return \Yz::JsonReturn(true,'查询完成',$entrust_list);
}
//pacs调用此接口通知已经报道
public function SignIn(){
$orderNo = request('orderNo');//医嘱号
$checkNo = request('checkNo');//报道号(检查号)
if(!isset($orderNo)) return \Yz::JsonError('医嘱号不能为空');
if(!isset($checkNo)) return \Yz::JsonError('报道号不能为空');
$entrust = DB::table('s_list')->where(['entrust_id' => $orderNo,'is_nullify'=>0,'is_del'=>0])->first();
if(!$entrust) return \Yz::JsonError('未找到对应医嘱');
if($entrust->list_status <> 1) return \Yz::JsonError('医嘱当前状态无法报道');
$data = [
'list_status' => 2,
'check_num' => $checkNo,
];
$u = DB::table('s_list')->where(['entrust_id' => $orderNo])->update($data);
if($u){
return \Yz::JsonReturn(true,'报道成功',['orderNo'=>$orderNo]);
}else{
return \Yz::JsonError('报道失败');
}
}
//pacs调用此接口通知取消报道
public function CancelSignIn(){
$orderNo = request('orderNo');
$entrust = DB::table('s_list')->where(['entrust_id' => $orderNo,'is_nullify'=>0,'is_del'=>0])->first();
if(!$entrust) return \Yz::JsonError('未找到对应医嘱');
if($entrust->list_status <> 2) return \Yz::JsonError('医嘱当前状态无法取消报道');
$data = [
'list_status' => 1,
'check_num' => '',
];
$u = DB::table('s_list')->where(['entrust_id' => $orderNo])->update($data);
if($u){
return \Yz::JsonReturn(true,'取消报道成功',['orderNo'=>$orderNo]);
}else{
return \Yz::JsonError('取消报道失败');
}
}
}

@ -4,54 +4,127 @@ namespace App\Http\Controllers\API\Third;
use App\Http\Controllers\API\His\HisController;
use App\Http\Controllers\Controller;
use DateTime;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class YiJiController extends Controller
{
//查询是否跳转医技
public function CheckAppointment(){
public function CheckAppointment()
{
$cardNo = request('cardNo');//病人id
$visitSqNo = request('visitSqNo');//门诊挂号流水号/住院流水号
$requestNoList= request('requestNoList');//申请单号(数组)
$moOrderList = request('OrderNoList');//医嘱号列表(数组)
$visitTypeCode = request('visitTypeCode');// 01:门诊 02:急诊 03:住院 04:体检 05:互联网 09:其他
$patientId = request('patientId');//病人id
$orderIdList = request('orderIdList');//医嘱号(数组)
$episodeid = request('episodeid');//住院号或门诊号
$patientType = request('patientType');// 01:门诊 02:急诊 03:住院 04:体检 05:互联网 09:其他
$is_redirect = false;
$url="";
if(empty($orderIdList)) return \Yz::JsonError("医嘱号列表不能为空");
//1.根据过来的参数 查询本地库是否有相关记录
foreach($orderIdList as $orderId){
$db_entrust=DB::table('s_list')->where([
'reg_num'=>$patientId,
'entrust_id'=>$orderId,
'episodeid'=>$episodeid,
])->first();
if(!$db_entrust){
//调用his接口入库
$His=New HisController();
$His::Post("查询检查申请单",[]);
$url = "";
$entrust_ids = [];
foreach ($requestNoList as $requestNo) {
//1.查询his获取申请单全部检查项目
$data = [
'visitSqNo' => $visitSqNo,
'requestNo' => $requestNo,
'visitTypeCode' => $visitTypeCode,
'feeFlag' => 0,
];
$His = new HisController();
$res = $His::Get("查询检查申请单", $data);
if ($res['code'] == 200) {
$res_data = $res['data'];
foreach ($res_data as $data_k => $data_v) {
$date = DateTime::createFromFormat('YmdHis', $data_v['requestDate']);
if ($date) {
$entrust_datePart = $date->format('Y-m-d'); // 日期部分
$entrust_timePart = $date->format('H:i:s'); // 时间部分
} else {
$entrust_datePart = '';
$entrust_timePart = '';
}
$birthday_f = DateTime::createFromFormat('Ymd', $data_v['patientBirthDate']);
if ($birthday_f) {
$birthday = $birthday_f->format('Y-m-d');
}else{
$birthday='';
}
$mapping = [
'03' => 0, // 住院 -> 0
'01' => 1, // 门诊 -> 1
'02' => 2, // 急诊 -> 2
'04' => 3, // 体检 -> 3
];
$patientType = $mapping[$visitTypeCode] ?? 9;
foreach ($data_v['itemList'] as $item_k => $item) {
$entrust_ids[] = $item['orderNo'];
//查询库里是否存在该检医嘱
$db_item = DB::table('s_list')->where(['entrust_id' => $item['orderNo']])->first();
if (!$db_item) {
//如果不存在则进行创建
$params = [
'list_status' => 0,
'reg_num' => $data_v['cardNo'],
'user_name' =>$data_v['patientName'],
'user_sex' => $data_v['patientGenderName'] == '男' ? 1 : 2,
'entrust_code' => $item['termCode'],
'entrust' => $item['termName'],
'is_pay' => $data_v["chargeStatusName"] == '已收费' ? 1 : 0,
'reservation_department' =>$data_v["orderDeptName"],
'entrust_date' =>$entrust_datePart,
'entrust_time' =>$entrust_timePart,
'user_brithday' =>$birthday,
'docotr' => $data_v["orderPersonName"],
'patient_type' => $patientType,
'user_phone' => $data_v["mobile"],
'implement_department' =>$item['execDeptName'],
'entrust_id' => $item['orderNo'],
'episodeid' => $visitSqNo,
// 'RISRExamID' => $order["RISRExamID"] ? $order["RISRExamID"] : null, //检查号,先屏蔽掉,获取不到
'RISRAcceptDeptCode' => $item["execDeptCode"], //接收科室代码
'warddesc' => $data_v["areaName"], //病区
'wardcode' => $data_v["areaCode"], //病区
'bedname' => $data_v["bedName"], //病床号
'bedno' => $data_v["bedNo"], //病床号
'app_num' => $data_v["requestNo"], //申请单号
'medicalHistory' => $data_v["medicalHistory"], //病史摘要
'diagnosisName' => $data_v["diagnosisName"], //临床诊断(诊断名称)
'idCardNumber' => $data_v["idCardNumber"], //身份证号
];
DB::table('s_list')->insert($params);
}
}
}
}else{
continue;
return \Yz::JsonError('Roc接口查询失败');
}
}
//2.本地库无记录则查询his获取数据后进行更新 ,如果有,则进行跳转
if(true){
$is_redirect=true;
$url=$this->build_yiji_url($patientId,$orderIdList,$episodeid);
}else{
$is_redirect=false;
if (true) {
$is_redirect = true;
$url = $this->build_yiji_url($cardNo, $entrust_ids, $visitSqNo);
} else {
$is_redirect = false;
}
return \Yz::JsonReturn(true,'查询成功',['is_redirect'=>$is_redirect,'url'=>$url]);
return \Yz::JsonReturn(true, '查询成功', ['is_redirect' => $is_redirect, 'url' => $url]);
}
function QueryHisShenQingDan()
{
}
function build_yiji_url($regnum, $entrustid, $episodeid) {
function build_yiji_url($regnum, $entrustid, $episodeid)
{
// 固定参数
$dotype = 1;
$appointment_type = 1;
@ -64,10 +137,10 @@ class YiJiController extends Controller
// 构造查询参数,并对 regnum 和 episodeid 使用 rawurlencode 编码
$params = [
'regnum' => rawurlencode($regnum),
'entrustid' => $entrustid_str,
'episodeid' => rawurlencode($episodeid),
'dotype' => $dotype,
'regnum' => rawurlencode($regnum),
'entrustid' => $entrustid_str,
'episodeid' => rawurlencode($episodeid),
'dotype' => $dotype,
'appointment_type' => $appointment_type,
];

@ -10,43 +10,47 @@ class Tools
public static function GetWeekName($date)
{
$dayOfWeek = date('N', strtotime($date)); // 获取星期几1代表星期一7代表星期日
$weekname='';
$weekname = '';
switch ($dayOfWeek) {
case 1:
$weekname= "星期一";
$weekname = "星期一";
break;
case 2:
$weekname= "星期二";
$weekname = "星期二";
break;
case 3:
$weekname="星期三";
$weekname = "星期三";
break;
case 4:
$weekname= "星期四";
$weekname = "星期四";
break;
case 5:
$weekname= "星期五";
$weekname = "星期五";
break;
case 6:
$weekname= "星期六";
$weekname = "星期六";
break;
case 7:
$weekname= "星期日";
$weekname = "星期日";
break;
default:
$weekname= "无效日期";
$weekname = "无效日期";
}
return $weekname;
}
//计算年龄,返回年龄 如 31
public static function calculateAge($birthdate) {
public static function calculateAge($birthdate)
{
$birthdate = new DateTime($birthdate);
$currentDate = new DateTime();
$age = $currentDate->diff($birthdate)->y;
return $age;
}
//计算年龄,返回年龄 如 31岁3月3天
public static function calculateAgeText($birthdate) {
public static function calculateAgeText($birthdate)
{
$birthdate = new DateTime($birthdate);
$currentDate = new DateTime();
$ageDiff = $currentDate->diff($birthdate);
@ -68,31 +72,50 @@ class Tools
return $ageString;
}
public static function Get($url, $data_s,$mark='') {
$data=[
'request_url'=>$url,
'get_data'=>$data_s,
//根据生日返回年龄
public static function getAgeFromBirthday($birthday, $format = 'Y-m-d')
{
// 尝试按照指定格式解析日期
$date = DateTime::createFromFormat($format, $birthday);
// 检查日期是否有效以及是否完全匹配格式
if (!$date || $date->format($format) !== $birthday) {
return ''; // 无效的日期格式,返回空字符串
}
$today = new DateTime();
$interval = $today->diff($date);
return $interval->y;
}
public static function Get($url, $data_s, $mark = '')
{
$data = [
'request_url' => $url,
'get_data' => $data_s,
];
$log_id=self::RequestLog($data,0,$mark);
$response = Http::get($url,$data_s);
$log_id = self::RequestLog($data, 0, $mark);
$response = Http::get($url, $data_s);
if ($response->successful()) {
$res = $response->json();
}else{
$res=$response->body();
} else {
$res = $response->body();
}
$data=[
'response_data'=>$res
$data = [
'response_data' => $res
];
self::RequestLog($data,$log_id);
self::RequestLog($data, $log_id);
return $res;
}
public static function Post($url, $data_string,$mark='')
public static function Post($url, $data_string, $mark = '')
{
$data=[
'request_url'=>$url,
'post_data'=>$data_string,
$data = [
'request_url' => $url,
'post_data' => $data_string,
];
$log_id=self::RequestLog($data,0,$mark);
$log_id = self::RequestLog($data, 0, $mark);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
@ -106,25 +129,24 @@ class Tools
curl_setopt($curl, CURLOPT_POSTFIELDS, $data_string);
$r = curl_exec($curl);
curl_close($curl);
// $r='{"resultMsg":"登记成功1111","resultCode":"0","resultDatas":[{"queueNo":"16","checkNo":"2108180032","videoRoom":"超声影像室","isStudyGroupRegistration":"N","imageNo":"p2108180029","currentNum":1},{"queueNo":"17","checkNo":"2108180033","videoRoom":"超声影像室","isStudyGroupRegistration":"N","imageNo":"p2108180029","currentNum":2},{"queueNo":"18","checkNo":"2108180034","videoRoom":"超声影像室","isStudyGroupRegistration":"N","imageNo":"p2108180029","currentNum":3}],"isSuccess":true}';
// $r='{"resultMsg":"登记成功1111","resultCode":"0","resultDatas":[{"queueNo":"16","checkNo":"2108180032","videoRoom":"超声影像室","isStudyGroupRegistration":"N","imageNo":"p2108180029","currentNum":1},{"queueNo":"17","checkNo":"2108180033","videoRoom":"超声影像室","isStudyGroupRegistration":"N","imageNo":"p2108180029","currentNum":2},{"queueNo":"18","checkNo":"2108180034","videoRoom":"超声影像室","isStudyGroupRegistration":"N","imageNo":"p2108180029","currentNum":3}],"isSuccess":true}';
$data=[
'response_data'=>$r
$data = [
'response_data' => $r
];
self::RequestLog($data,$log_id);
self::RequestLog($data, $log_id);
return $r;
}
public static function PostSoap($url, $data_string,$mark='')
public static function PostSoap($url, $data_string, $mark = '')
{
$data=[
'request_url'=>$url,
'post_data'=>$data_string,
$data = [
'request_url' => $url,
'post_data' => $data_string,
];
$log_id=self::RequestLog($data,0,$mark);
$log_id = self::RequestLog($data, 0, $mark);
$xml_data = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:good="http://goodwillcis.com" xmlns:bjg="http://bjgoodwillcis.com">
<soapenv:Header>
<good:JiaheSecurity>
@ -141,7 +163,7 @@ class Tools
<soapenv:Body>
<bjg:Send>
<!--Optional:-->
<bjg:pInput><![CDATA['.$data_string.']]></bjg:pInput>
<bjg:pInput><![CDATA[' . $data_string . ']]></bjg:pInput>
</bjg:Send>
</soapenv:Body>
</soapenv:Envelope> ';
@ -170,32 +192,33 @@ class Tools
$jsonData = (string)$sendResult;
// $res = explode('<SOAP-ENV:Body>', $r)[1];
// $res = explode('</SOAP-ENV:Body>', $res)[0];
// $xmlData = simplexml_load_string($res);
// $jsonData = json_encode($xmlData, JSON_UNESCAPED_UNICODE);
}catch (Exception $e) {
// $res = explode('<SOAP-ENV:Body>', $r)[1];
// $res = explode('</SOAP-ENV:Body>', $res)[0];
// $xmlData = simplexml_load_string($res);
// $jsonData = json_encode($xmlData, JSON_UNESCAPED_UNICODE);
} catch (Exception $e) {
$jsonData = $e->getMessage();
}
// dd($res);
// $result = json_decode($jsonData, true);
// dd($res);
// $result = json_decode($jsonData, true);
curl_close($ch);
$data=[
'response_data'=>$r
$data = [
'response_data' => $r
];
self::RequestLog($data,$log_id);
self::RequestLog($data, $log_id);
return $jsonData;
}
public static function RequestLog($arr,$id,$mark='')
public static function RequestLog($arr, $id, $mark = '')
{ //记录请求日志
date_default_timezone_set('PRC');
LogService::CheckTableName();
$table_name = 'zz_request_log_' . date('ym');
$response_data = isset($arr['response_data']) ? self::JsonEncode($arr['response_data']) : '';
$header_data = isset($arr['request_header']) ?self::JsonEncode($arr['request_header']):'';
$post_data = isset($arr['post_data'])?self::JsonEncode($arr['post_data']):'';
$get_data = isset($arr['get_data'])?self::JsonEncode($arr['get_data'], JSON_UNESCAPED_UNICODE):'';
$header_data = isset($arr['request_header']) ? self::JsonEncode($arr['request_header']) : '';
$post_data = isset($arr['post_data']) ? self::JsonEncode($arr['post_data']) : '';
$get_data = isset($arr['get_data']) ? self::JsonEncode($arr['get_data'], JSON_UNESCAPED_UNICODE) : '';
$milliseconds = round(microtime(true) * 1000);
$date = date("Y-m-d H:i:s", $milliseconds / 1000);
$formatted_date = sprintf("%s.%03d", $date, $milliseconds % 1000);
@ -209,7 +232,7 @@ class Tools
]);
} else {
return DB::table($table_name)->insertGetId([
'mark'=>$mark,
'mark' => $mark,
'request_ip' => '127.0.0.1',
'response_data' => $response_data,
'header_data' => $header_data,
@ -221,8 +244,10 @@ class Tools
]);
}
}
public static function JsonEncode($data){ //格式化数据转json
$post_data =$data;
public static function JsonEncode($data)
{ //格式化数据转json
$post_data = $data;
$post_data = json_encode($post_data, JSON_UNESCAPED_UNICODE);
$str_len = mb_strlen($post_data);
$str_size = $str_len / 1024;

@ -9,7 +9,12 @@ return [
'预约完成短信通知'=>0,//预约完成后短信通知1开启0关闭
'自动预约'=>1,//开启自动预约,收到推送的医嘱后,自动预约最近可用号源
'可用号源查询范围'=>7,//根据此字段循环查询当前日期 N天后的数据
'患者类型'=>[
'0'=>'住院',
'1'=>'门诊',
'2'=>'急诊',
'3'=>'体检',
],
],
/*

@ -16,7 +16,7 @@
<body>
<script>
// let BaseUrl='http://10.50.120.166/YiJiYuYue/Laravel/public'
let BaseUrl='http://YiJiYuYue-Common'
let BaseUrl='http://yiji-qhdzhongyiyuan'
let entrust_ids=[]; //选中的entrust_id
let today_date=''
let tomorrowDate=''
@ -561,14 +561,68 @@
PrintInfo.forEach(function(v,i){
console.log(i)
$("#shenqingdan").append(
'<div style="height:100vh;">' +
'<div style="width: 100%;text-align: center;font-size: 14px;">深圳市南山区妇幼保健院</div>'+
'<div style="width: 100%;text-align: center;font-size: 18px;font-weight: bold;">检查申请单</div>'+
'<div style="width: 100%; border: 1px solid #ccc;padding: 20px;">'+
'<div>检查项目:'+v.maininfo.entrust+'</div>'+
'</div>'+
'</div>'
)
'<div style="height:100vh;">' +
// 标题部分
'<div>' +
'<div style="width: 100%;text-align: center;font-size: 22px;">秦皇岛市中医医院</div>' +
'<div style="width: 100%;text-align: center;font-size: 18px;font-weight: bold;">检查预约回执单</div>' +
'</div>' +
// 基本信息表格
'<div style="border-top: 1px solid #333; border-bottom: 1px solid #333;">' +
'<table style="border: none;font-size: 16px;width: 100%;">' +
'<tr style="border: none;">' +
'<td style="border: none; text-align: left;">姓名:'+v.maininfo.user_name+'</td>' +
'<td style="border: none; text-align: left;">性别:'+v.maininfo.user_sex_label+'</td>' +
'<td style="border: none; text-align: left;">年龄:'+v.maininfo.age+'</td>' +
'<td style="border: none; text-align: left;">病人类型:'+v.maininfo.patient_type_label+'</td>' +
'</tr>' +
'<tr style="border: none;">' +
'<td style="border: none; text-align: left;">'+v.maininfo.patient_type_label+'号:'+v.maininfo.reg_num+'</td>' +
'<td style="border: none; text-align: left;">病区:'+(v.maininfo.warddesc ?? '')+'</td>' +
'<td style="border: none; text-align: left;">床号:'+(v.maininfo.bedno ?? '')+'</td>' +
'<td style="border: none; text-align: left;">联系电话:'+v.maininfo.user_phone+'</td>' +
'</tr>' +
'</table>' +
'</div>' +
// 检查信息
'<div style="border-bottom: 1px solid #333;font-size: 18px;padding-left: 8px;">' +
'<div>检查项目:'+v.maininfo.entrust+'</div>' +
'<div>预约时间:'+v.maininfo.reservation_date+' ' +(v.maininfo.period_begin_time || "").substring(0, 5)+'-'+(v.maininfo.period_end_time || "").substring(0, 5)+' '+ v.maininfo.weekday_label+'</div>' +
'<div>检查地点:'+v.maininfo.department_resources?.department_resources_addr+'</div>' +
'</div>' +
// 温馨提示
'<div>' +
'<table style="border: none;width: 100%;">' +
'<tr>' +
'<td style="width: 15%;border: none;font-size: 18px;font-weight: 700;text-align: left;">温馨提示:</td>' +
'<td style="text-align: left;border: none;font-size: 16px;">' +
'<div>1、预约后请您及时缴费门诊患者预约成功后60分钟内不缴费系统会自动取消您的预约申请。自动取消后如需继续预约请到相关检查科室重新预约。</div>' +
'<div>2、预约时间为8点~10点的请8点到登记处签到预约时间为10点~12点的请10点前到登记处签到便于工作人员进行检查评估和准备。</div>' +
'<div>3、预约时间不是实际检查时间以现场登记后排队号为准。</div>' +
'</td>' +
'</tr>' +
'</table>' +
'</div>' +
// 检查须知
'<div style="border-top: 1px solid #333;padding-left: 8px;">' +
'<div style="font-size: 18px;font-weight: 700;">检查须知:</div>' +
'<div style="font-size: 16px;">' +
'腹部检查禁食4小时腹部、盆腔、泌尿系统检查请尽量饮水充盈肠道及膀胱危重病人需由家属陪同孕妇及婴幼儿请慎行检查。' +
'</div>' +
'</div>' +
// 申请时间
'<div style="text-align: right; border-top: 1px solid #333; font-size: 16px; padding-right: 10px;">' +
'申请时间2025-05-01' +
'</div>' +
'</div>'
);
})
$("#shenqingdan").show();
@ -798,11 +852,52 @@
<div>
<div id="shenqingdan">
<!-- <div>
<div style="width: 100%;text-align: center;font-size: 14px;">深圳市南山区妇幼保健院</div>
<div style="width: 100%;text-align: center;font-size: 18px;font-weight: bold;">检查申请单</div>
<div style="width: 100%; border: 1px solid #ccc;padding: 20px;">
<div>检查项目:腹部彩超</div>
</div>
<div>
<div style="width: 100%;text-align: center;font-size: 22px;">秦皇岛市中医医院</div>
<div style="width: 100%;text-align: center;font-size: 18px;font-weight: bold;">检查预约回执单</div>
</div>
<div style="border-top: 1px solid #333; border-bottom: 1px solid #333;">
<table style="border: none;font-size: 16px;">
<tr style="border: none;">
<td style="border: none; text-align: left;">姓名xxx</td>
<td style="border: none; text-align: left;">性别xxx</td>
<td style="border: none; text-align: left;">年龄xxx</td>
<td style="border: none; text-align: left;">病人类型xxx</td>
</tr>
<tr style="border: none;">
<td style="border: none; text-align: left;">住院号xxx</td>
<td style="border: none; text-align: left;">病区xxx</td>
<td style="border: none; text-align: left;">床号xxx</td>
<td style="border: none; text-align: left;">联系电话xxx</td>
</tr>
</table>
</div>
<div style="border-bottom: 1px solid #333;font-size: 18px;padding-left: 8px;">
<div>检查项目XXXX</div>
<div>预约时间XXXX</div>
<div>检查地点XXXX</div>
</div>
<div>
<table style="border: none;">
<tr style="border: none;">
<td style="width: 15%;border: none;font-size: 18px;font-weight: 700;text-align: left;">温馨提示:</td>
<td style="text-align: left;border: none;font-size: 16px;">
<div>1、预约后请您及时缴费门诊患者预约成功后60分钟内不缴费系统会自动取消您的预约申请。自动取消后如需继续预约请到相关检查科室重新预约。</div>
<div>2、预约时间为8点~10点的请8点到登记处签到预约时间为10点~12点的请10点前到登记处签到便于工作人员进行检查评估和准备。</div>
<div>3、预约时间不是实际检查时间以现场登记后排队号为准。</div>
</td>
</tr>
</table>
</div>
<div style="border-top: 1px solid #333;padding-left: 8px;">
<div style="font-size: 18px;font-weight: 700;">检查须知:</div>
<div style="font-size: 16px;">
腹部检查禁食4小时腹部、盆腔、泌尿系统检查请尽量饮水充盈肠道及膀胱危重病人需由家属陪同孕妇及婴幼儿请慎行检查。
</div>
</div>
<div style="text-align: right; border-top: 1px solid #333; font-size: 16px;">
申请时间2025-05-01
</div>
</div> -->
</div>

@ -145,5 +145,12 @@ Route::group(['middleware'=>['xmllog'],'prefix'=>'v1'],function () {
});
Route::post('/CheckAppointment','App\Http\Controllers\API\Third\YiJiController@CheckAppointment' );
//对外接口,秦皇岛中医院
Route::group(['middleware'=>['log']],function () {
Route::post('/CheckAppointment','App\Http\Controllers\API\Third\YiJiController@CheckAppointment' );
Route::post('/PacsSignIn','App\Http\Controllers\API\Third\PacsController@SignIn' );
Route::post('/PacsCancelSignIn','App\Http\Controllers\API\Third\PacsController@CancelSignIn' );
Route::post('/GetEntrustInfo','App\Http\Controllers\API\Third\PacsController@GetEntrustInfo' );
});

@ -1,3 +1,3 @@
ENV = 'development'
VITE_APP_API = '/api/'
VITE_APP_FILE = 'http://YiJiYuYue-Common'
VITE_APP_FILE = 'http://yiji-qhdzhongyiyuan'

@ -202,11 +202,52 @@
</el-dialog>
<div id="shenqingdan" v-if="shenqingdan_show">
<div v-for="(item,index) in shenqingdan_list" :key="index">
<div style="width: 100%;text-align: center;font-size: 14px;">演示医院</div>
<div style="width: 100%;text-align: center;font-size: 18px;font-weight: bold;">检查申请单</div>
<div style="width: 100%; border: 1px solid #ccc;padding: 20px;">
<div>检查项目{{item.maininfo.entrust}}</div>
</div>
<div>
<div style="width: 100%;text-align: center;font-size: 22px;">秦皇岛市中医医院</div>
<div style="width: 100%;text-align: center;font-size: 18px;font-weight: bold;">检查预约回执单</div>
</div>
<div style="border-top: 1px solid #333; border-bottom: 1px solid #333;padding-left: 4px;">
<table style="border: none;font-size: 16px; width: 100%;">
<tr style="border: none;">
<td style="border: none; text-align: left;">姓名{{item.maininfo.user_name}}</td>
<td style="border: none; text-align: left;">性别{{item.maininfo.user_sex_label}}</td>
<td style="border: none; text-align: left;">年龄{{item.maininfo.age}}</td>
<td style="border: none; text-align: left;">病人类型{{item.maininfo.patient_type_label}}</td>
</tr>
<tr style="border: none;">
<td style="border: none; text-align: left;">{{item.maininfo.patient_type_label}}{{item.maininfo.reg_num}}</td>
<td style="border: none; text-align: left;">病区{{item.maininfo.warddesc ?? ''}}</td>
<td style="border: none; text-align: left;">床号{{item.maininfo.bedno ?? ''}}</td>
<td style="border: none; text-align: left;">联系电话{{item.maininfo.user_phone}}</td>
</tr>
</table>
</div>
<div style="border-bottom: 1px solid #333;font-size: 18px;padding-left: 8px;">
<div>检查项目{{item.maininfo.entrust}}</div>
<div>预约时间{{item.maininfo.reservation_date}} {{item.maininfo.period_begin_time.substring(0, 5)}}-{{item.maininfo.period_end_time.substring(0, 5)}} {{item.maininfo.weekday_label}}</div>
<div>检查地点XXXX</div>
</div>
<div style="padding-left: 4px;">
<table style="border: none;">
<tr style="border: none;">
<td style="width: 15%;border: none;font-size: 18px;font-weight: 700;text-align: left;">温馨提示</td>
<td style="text-align: left;border: none;font-size: 16px;">
<div>1预约后请您及时缴费门诊患者预约成功后60分钟内不缴费系统会自动取消您的预约申请自动取消后如需继续预约请到相关检查科室重新预约</div>
<div>2预约时间为8点~10点的请8点到登记处签到预约时间为10点~12点的请10点前到登记处签到便于工作人员进行检查评估和准备</div>
<div>3预约时间不是实际检查时间以现场登记后排队号为准</div>
</td>
</tr>
</table>
</div>
<div style="border-top: 1px solid #333;padding-left: 8px;">
<div style="font-size: 18px;font-weight: 700;">检查须知</div>
<div style="font-size: 16px;">
腹部检查禁食4小时腹部盆腔泌尿系统检查请尽量饮水充盈肠道及膀胱危重病人需由家属陪同孕妇及婴幼儿请慎行检查
</div>
</div>
<div style="text-align: right; border-top: 1px solid #333; font-size: 16px;">
申请时间2025-05-01
</div>
</div>
</div>
<el-dialog v-model="TiShiShow" title="提示" width="40%" >

@ -24,7 +24,7 @@ export default defineConfig({
port: 5174,
proxy: {
'/api': {
target: 'http://YiJiYuYue-Common/api', // 实际的API服务器地址
target: 'http://yiji-qhdzhongyiyuan/api', // 实际的API服务器地址
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, '') // 如果API地址有前缀可以进行转写
}

Loading…
Cancel
Save