医生端查看 当前就诊人全部预约信息

main
yanzai 1 year ago
parent 18b96e3935
commit 293c135bd3

@ -295,4 +295,34 @@ class WorkMainController extends Controller
$service = new PlanListService(); $service = new PlanListService();
return $service->CancelYuYue($MainListId,$reg_num); return $service->CancelYuYue($MainListId,$reg_num);
} }
//获取某个患者全部预约记录
public function GetPersonYuYueList()
{
$searchInfo = request('searchInfo');
$reg_num = request('reg_num');
$list=DB::table('s_list')
->leftJoin('s_period','s_list.reservation_time','=','s_period.id')
->leftJoin('s_department_resources','s_list.reservation_sources','=','s_department_resources.id')
->select('s_list.*','s_period.period_begin_time','s_period.period_end_time','s_department_resources.department_resources_name')
->where(['s_list.is_del'=>0,'s_list.is_nullify'=>0])
->where('s_list.reg_num', $reg_num)
->whereIn('list_status',[1,2,3]);
$count = $list;
$count = $count->count();
$list=$list->orderBy('id', 'desc')->get();
$qudao=DB::table('s_appointment_type')->get();
foreach ($list as $key=>$item){
foreach ($qudao as $q){
if($q->id==$item->appointment_type_id){
$item->qudao_name=$q->name;
}
}
}
return \Yz::Return(true,'查询完成',['list'=>$list,'count'=>$count]);
}
} }

@ -0,0 +1,144 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="js/jquery-1.12.4.min.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="css/bootstrap.min.css" crossorigin="anonymous">
<script src="js/bootstrap.min.js" crossorigin="anonymous"></script>
<script src="js/bootstrap-datetimepicker.min.js"></script>
<!-- <script src="js/jquery.freezeheader.js"></script> -->
<script src="js/jquery.jqprint-0.3.js"></script>
<script src="js/jquery-migrate-1.2.1.min.js"></script>
<script type="text/javascript" src="js/locales/bootstrap-datetimepicker.zh-CN.js" charset="UTF-8"></script>
<link rel="stylesheet" href="css/bootstrap-datetimepicker.min.css">
</head>
<body>
<script>
//let BaseUrl='http://10.50.120.166/YiJiYuYue/Laravel/public'
let BaseUrl='http://yijiyuyue'
//获取url参数
function getParameterByName(name, url) {
if (!url) url = decodeURIComponent(window.location.href)
name = name.replace(/[\[\]]/g, '\\$&')
var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),
results = regex.exec(url)
if (!results) return null
if (!results[2]) return ''
return decodeURIComponent(results[2].replace(/\+/g, ' '))
}
function GetList(){
$('#table_entrust_list tbody').html('');
$('#loadingModal').modal('show');
$.post(BaseUrl+'/api/admin/GetPersonYuYueList', {
reg_num: getParameterByName('reg_num'),
}, function(data) {
$('#loadingModal').modal('hide');
if (data.status) {
if(data.data.list.length>0){
data.data.list.forEach(function(v, i) {
let zhuangtai =GetStatus(v.list_status)
$('#table_entrust_list tbody').append('<tr >\n' +
' <td>' + v.user_name + '</td>\n' +
' <td>' + v.user_phone + '</td>\n' +
' <td>' + v.reg_num + '</td>\n' +
' <td>' + v.reservation_department + '</td>\n' +
' <td>' + v.implement_department + '</td>\n' +
' <td>' + v.department_resources_name + '</td>\n' +
' <td>' + v.reservation_date+'</br>' +(v.period_begin_time==null?"":v.period_begin_time.substr(0, 5))+' - ' + (v.period_end_time==null?"":v.period_end_time.substr(0, 5)) +'</td>\n' +
' <td>' + v.entrust + '</td>\n' +
' <td>' + v.qudao_name + '</td>\n' +
' <td class='+zhuangtai[1]+'>' + zhuangtai[0] + '</td>\n' +
' </tr>')
})
}else{
$('#table_entrust_list tbody').append('<tr >\n' +
' <td colspan=6>' + '暂无数据' + '</td>\n'+
' </tr>')
}
$('#usedList').modal('show');
}else{
MsgAlert(data.msg)
}
})
}
function GetStatus(a){
switch(a) {
case 0:
return ["正在申请",""]
break;
case 1:
return ["已预约","yiyuyue"]
break;
case 2:
return ["已登记","yidengji"]
break;
case 3:
return ["完成","yiwancheng"]
break;
}
}
$(function(){
GetList()
$('#back_button').click(function(){
window.history.back();
})
})
</script>
<div style="padding: 0px 40px;">
<button type="button" id="back_button" class="btn btn-info" style="width: 130px;margin-bottom: 8px;margin-top: 8px;">返 回</button>
<table id="table_entrust_list" >
<thead>
<tr>
<th>姓名</th>
<th>电话</th>
<th>登记号</th>
<th>申请科室</th>
<th>预约科室</th>
<th>预约资源</th>
<th>预约时段</th>
<th>项目</th>
<th>渠道</th>
<th>状态</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
<style>
table {
width: 100%;
color: #666;
}
thead{
background-color: #ebe9e9;
color: #999898;
}
table, td, th {
border: 1px solid #ccc;
text-align: center;
white-space: nowrap;
}
td ,th{
width: 100px ;
white-space: normal; /* 保留空白符序列,但是正常换行 */
word-break: break-all; /* 允许在单词内换行 */
height: 50px;
}
.yiyuyue{
color:#73cb87
}
.yidengji{
color:#cbb573
}
.yiwancheng{
color:#ef9365
}
</style>
</body>
</html>

@ -15,8 +15,8 @@
</head> </head>
<body> <body>
<script> <script>
let BaseUrl='http://10.50.120.166/YiJiYuYue/Laravel/public' //let BaseUrl='http://10.50.120.166/YiJiYuYue/Laravel/public'
// let BaseUrl='http://yijiyuyue' let BaseUrl='http://yijiyuyue'
let entrust_ids=[]; //选中的entrust_id let entrust_ids=[]; //选中的entrust_id
let today_date='' let today_date=''
let tomorrowDate='' let tomorrowDate=''
@ -505,6 +505,9 @@
}) })
$('#tablelist').load("tablelist.html"); $('#tablelist').load("tablelist.html");
$('#allentrust_button').click(function(){
window.location.href="PersonEntrustList.html?reg_num="+getParameterByName('regnum')
})
}) })
function MsgAlert(msg){ function MsgAlert(msg){
@ -643,6 +646,7 @@
<div class="col-md-10"> <div class="col-md-10">
<div class="b_info">姓名: <span class="b_name"></span> 登记号: <span class="b_id"></span> 性别: <span class="b_sex"></span> <div class="b_info">姓名: <span class="b_name"></span> 登记号: <span class="b_id"></span> 性别: <span class="b_sex"></span>
年龄: <span class="b_age"></span> 电话: <span class="b_tel"></span> 年龄: <span class="b_age"></span> 电话: <span class="b_tel"></span>
<button type="button" id="allentrust_button" class="btn btn-sm btn-info" style="margin-left: 8px;">查看用户全部预约记录</button>
<!-- 孕周: <span class="b_yun"></span>--> <!-- 孕周: <span class="b_yun"></span>-->
</div> </div>
<div class="row" style="margin-top: 16px"> <div class="row" style="margin-top: 16px">

@ -113,7 +113,7 @@ Route::group(['middleware'=>['log']],function () {
Route::post('admin/DoctorCancelYuYue','App\Http\Controllers\API\Admin\YeWu\WorkMainController@DoctorCancelYuYue');//医生取消预约 Route::post('admin/DoctorCancelYuYue','App\Http\Controllers\API\Admin\YeWu\WorkMainController@DoctorCancelYuYue');//医生取消预约
Route::post('admin/NearestEnablePlanDate','App\Http\Controllers\API\Admin\YeWu\PlanListController@NearestEnablePlanDate');//获取最近可用日期 Route::post('admin/NearestEnablePlanDate','App\Http\Controllers\API\Admin\YeWu\PlanListController@NearestEnablePlanDate');//获取最近可用日期
Route::post('testSendMsg','App\Http\Controllers\TestSendMsgController@SendMsg');//测试发送短信 Route::post('testSendMsg','App\Http\Controllers\TestSendMsgController@SendMsg');//测试发送短信
Route::post('admin/GetPersonYuYueList','App\Http\Controllers\API\Admin\YeWu\WorkMainController@GetPersonYuYueList');//医生获取某人全部预约记录
}); });

@ -1,3 +1,3 @@
ENV = 'development' ENV = 'development'
VITE_APP_API = '/api/' VITE_APP_API = '/api/'
VITE_APP_FILE = 'http://yijiyuyue' VITE_APP_FILE = 'http://yijiyuyue-NanShanFuYou'

@ -163,6 +163,13 @@ const router = createRouter({
meta: { meta: {
title: '病区管理' title: '病区管理'
} }
},{
path: '/yewu/EntrustList',
name: 'EntrustList',
component: () => import('../views/YeWu/EntrustList.vue'),
meta: {
title: '医嘱信息列表'
}
}] }]
}, },

@ -196,9 +196,15 @@ watch(()=>router.currentRoute.value,(newVal,oldVal)=>{
BaseUserInfo.value = res.info[0] BaseUserInfo.value = res.info[0]
sessionStorage.setItem('LoginUserInfo',JSON.stringify(res.info[0])) sessionStorage.setItem('LoginUserInfo',JSON.stringify(res.info[0]))
BaseUserInfo.value.img=import.meta.env.VITE_APP_FILE+BaseUserInfo.value.img BaseUserInfo.value.img=import.meta.env.VITE_APP_FILE+BaseUserInfo.value.img
if(res.info[0].group !=1 && res.info[0].group !=5){ console.log(route.path)
let BingQu=[2]; //
let QiTa=[3]; //
if(QiTa.includes(res.info[0].group) && route.path=='/dashboard'){
window.location.href = "./#/yewu/mainList" window.location.href = "./#/yewu/mainList"
} }
if(BingQu.includes(res.info[0].group) && route.path=='/dashboard'){
window.location.href = "./#/yewu/MainList_ZhuYuan"
}
}) })
} }
let configInfo=ref(''); let configInfo=ref('');

@ -80,7 +80,7 @@
// //
const upLoadSuccess = (res) => { const upLoadSuccess = (res) => {
logo.value = import.meta.env.VITE_APP_FILE + res.data logo.value = import.meta.env.VITE_APP_FILE + res.data
configInfo.value.logo = res.data configInfo.value.站点图片 = res.data
} }
// //
const GetConfig=()=>{ const GetConfig=()=>{

@ -0,0 +1,239 @@
<template>
<div>
<div class="head">
<el-row>
<el-form-item>
<el-date-picker style="margin-left: 8px; width: 300px" v-model="searchInfo.dateRange"
type="daterange" range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间"
value-format="YYYY-MM-DD" />
</el-form-item>
<el-form-item>
<el-select :filterable="true" clearable v-model="searchInfo.list_status" placeholder="状态"
style="margin-left: 8px;width: 150px;">
<el-option label="申请中" value="0" />
<el-option label="已预约" value="1" />
<el-option label="已报道" value="2" />
<el-option label="已结束" value="3" />
</el-select>
</el-form-item>
<el-form-item v-if="loginUserinfo && loginUserinfo.group!=2">
<el-select :filterable="true" clearable v-model="searchInfo.patient_type" placeholder="患者类型"
style="margin-left: 8px;width: 150px;">
<el-option label="住院" value="0" />
<el-option label="门诊" value="1" />
<el-option label="急诊" value="2" />
<el-option label="体检" value="3" />
</el-select>
</el-form-item>
<el-form-item v-if="loginUserinfo && loginUserinfo.group!=2">
<el-select multiple :filterable="true" clearable v-model="searchInfo.resources" placeholder="资源"
style="margin-left: 8px;width: 250px;">
<el-option v-for="(item,index) in enableResourceList" :key="index"
:label="item.department_resources_name" :value="item.id" />
</el-select>
</el-form-item >
<el-form-item v-if="loginUserinfo && loginUserinfo.group!=2">
<el-select :filterable="true" clearable v-model="searchInfo.services_group" placeholder="服务组"
style="margin-left: 8px;width: 150px;">
<el-option v-for="(item,index) in EnableDeviceList" :key="index" :label="item.device_name"
:value="item.id" />
</el-select>
</el-form-item>
<el-form-item>
<el-input v-model="searchInfo.reg_num" placeholder="登记号" style="width: 200px;margin-left: 8px;" />
</el-form-item>
<el-form-item>
<el-input v-model="searchInfo.user_name" placeholder="患者姓名"
style="width: 200px;margin-left: 8px;" />
</el-form-item>
<el-form-item>
<el-input v-model="searchInfo.apply_department" placeholder="申请科室"
style="width: 200px;margin-left: 8px;" />
</el-form-item>
<el-form-item>
<el-input v-model="searchInfo.doctor" placeholder="医生"
style="width: 200px;margin-left: 8px;" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="GetList()" style="margin-left: 10px;">查询</el-button>
</el-form-item>
</el-row>
<el-row style="margin: 0px 0px 8px 8px; border-top: 1px solid #ccc;padding-top: 8px">
<el-button type="success" @click.prevent="openIframe(1)"> </el-button>
<el-button type="danger" @click="cancel()"></el-button>
<el-button type="warning" @click="openIframe(2)"></el-button>
<el-button type="primary" @click="SignInFunc()" style="margin-left: 40px;">报到</el-button>
<el-button type="danger" @click="CancelSignFunc()"></el-button>
<el-button style="display: none;" ref="print_shenqingdan_button" v-print="'#shenqingdan'"></el-button>
<el-button @click="print_shenqingdan()" >打印申请单</el-button>
<el-button v-print="'#tablelist'" >打印表格</el-button>
</el-row>
</div>
<el-table :data="tableData" id="tablelist" style="width: 100%;" row-key="id" v-loading="loading" ref="tableref"
@select="handleSelect">
<el-table-column type="selection" width="50" />
<el-table-column prop="list_status" label="状态" width="80">
<template #default="scope">
<el-tag v-if="scope.row.list_status===0" class="ml-2" type="info"></el-tag>
<el-tag v-if="scope.row.list_status===1" class="ml-2" type="success"></el-tag>
<el-tag v-if="scope.row.list_status===2" class="ml-2"></el-tag>
<el-tag v-if="scope.row.list_status===3" class="ml-2" type="warning"></el-tag>
</template>
</el-table-column>
<el-table-column prop="reg_num" label="登记号" width="100" />
<el-table-column prop="user_name" label="姓名" />
<el-table-column prop="user_sex" label="性别" width="60">
<template #default="scope">
<span v-if="scope.row.user_sex==1"></span>
<span v-if="scope.row.user_sex==2"></span>
</template>
</el-table-column>
<el-table-column prop="age" label="年龄" width="115" />
<el-table-column prop="entrust" label="医嘱" width="200" />
<el-table-column prop="is_pay" label="是否交费" width="80">
<template #default="scope">
<span v-if="scope.row.is_pay==1"></span>
<span v-if="scope.row.is_pay==0"></span>
</template>
</el-table-column>
<el-table-column prop="reservation_date" label="预约日期" width="120" />
<el-table-column prop="check_begin_time" label="预约时间" width="120">
<template #default="scope">
<span
v-if="scope.row.period_begin_time && scope.row.period_end_time ">{{scope.row.period_begin_time.substring(0, 5)}}~{{scope.row.period_end_time.substring(0, 5)}}</span>
</template>
</el-table-column>
<el-table-column prop="reservation_department" label="申请科室" width="120" />
<el-table-column prop="" label="医嘱时间" width="160">
<template #default="scope">
{{scope.row.entrust_date}} {{scope.row.entrust_time}}
</template>
</el-table-column>
<el-table-column prop="docotr" label="申请医生" width="80" />
<el-table-column prop="patient_type" label="病人类型" width="80">
<template #default="scope">
<span v-if="scope.row.patient_type==0"></span>
<span v-if="scope.row.patient_type==1"></span>
<span v-if="scope.row.patient_type==2"></span>
<span v-if="scope.row.patient_type==3"></span>
</template>
</el-table-column>
<el-table-column prop="department_resources_name" label="预约资源" width="120" />
<el-table-column prop="user_phone" label="电话" width="120" />
<!-- <el-table-column prop="implement_department" label="执行科室" width="120" /> -->
<el-table-column prop="devices" label="服务组">
<template #default="scope">
<div style="white-space: nowrap;">
<span v-for="(item,index) in scope.row.devices" :key="index">
{{ item.device_name+ ' ' }}
</span>
</div>
</template>
</el-table-column>
<el-table-column prop="department_resources_name" label="操作" width="120">
<template #default="scope">
<el-button @click="showLog(scope.row)" size="small">查看日志</el-button>
</template>
</el-table-column>
</el-table>
<div class="page">
<el-pagination v-model:current-page="currentPage" v-model:page-size="pageSize"
:page-sizes="[15, 50, 100, 200]" layout="total,sizes, prev, pager, next" :total="total"
@size-change="PageSizeChange" @current-change="PageCurrentChange" />
</div>
<el-dialog v-model="LogShow" title="变更记录" width="50%">
<div>
<el-table :data="LogList" style="width: 100%;" row-key="id">
<el-table-column prop="list_status" label="状态" width="100">
<template #default="scope">
<el-tag v-if="scope.row.new_status==0" class="ml-2" type="info"></el-tag>
<el-tag v-if="scope.row.new_status==1" class="ml-2" type="success"></el-tag>
<el-tag v-if="scope.row.new_status==2" class="ml-2"></el-tag>
<el-tag v-if="scope.row.new_status==3" class="ml-2" type="warning"></el-tag>
</template>
</el-table-column>
<el-table-column prop="reg_num" label="登记号" />
<el-table-column prop="note" label="说明" />
<el-table-column prop="created_at" label="记录时间" />
<el-table-column prop="data" label="状态" width="100">
<template #default="scope">
<el-button @click="showLogJson(scope.row.data)" size="small">查看data</el-button>
</template>
</el-table-column>
</el-table>
</div>
</el-dialog>
<el-dialog v-model="LogDataShow" title="查看dataJson" width="40%">
<div style="word-break: break-all">
{{LogDataJson}}
</div>
</el-dialog>
</div>
</template>
<script setup>
import {
ref,
onMounted,
nextTick
} from 'vue'
import {
GetMainList,
CancelYuYue,
GetEnableDeviceList,
DepartmentResourceGetEnableList,
GetServiceDateTime,
GetLoglist,
CheckEntrstItemGroup,getMainDetail,SignIn,CancelSign
} from '@/api/api.js'
import {
ElMessage,
ElMessageBox
} from 'element-plus'
let AutoGroup=ref(true);//
let shenqingdan_show=ref(false);
let do_type = ref(0) //12
let loading = ref(false)
let searchInfo = ref({})
let tableData = ref([])
let tableref = ref(null)
let currentPage = ref(1) //
let pageSize = ref(15) //
let total = 0 //
const GetList = () => {
loading.value = true
GetMainList({
searchInfo: searchInfo.value,
page: currentPage.value,
pageSize: pageSize.value
}).then(res => {
loading.value = false
if (res.status) {
tableData.value = res.data.list
total = res.data.count
} else {
ElMessage.error(res.msg)
}
})
}
const PageSizeChange = (e) => { //
pageSize.value = e
GetList()
}
const PageCurrentChange = (e) => { //
currentPage.value = e
GetList()
}
</script>
<style>
</style>

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

Loading…
Cancel
Save