展示医院信息、可以注册和登录,
预约挂号(包含各个科室的预约,可以预约每个各个医生),就诊引导包含预约挂号的具体信息,包含就诊时间、就诊科室、就诊医生以及就诊人信息、和支付状态等,可以查询医院医生信息包含基本信息,科室和职称等,可以进行线下取号和历史就诊记录查询等功能。
除此之外,这个小程序还有一个后端管理系统,可以进行用户管理、排班管理、医生管理、科室管理、职位管理、医院信息等操作,方便医院的管理和服务。
你们可以在小程序中轻松地预约挂号,避免了排队等待的时间,还可以进行线下取号,更加便捷。同时,就诊引导功能可以让大家更好地了解就诊流程,避免了因为不熟悉就诊流程而造成的不必要的麻烦。
医生查询功能可以让大家更好地了解医生的信息和专业特长,方便选择适合自己的医生。历史就诊查询功能可以让大家随时随地查看自己的就诊记录,方便复诊和了解自己的身体状况。
下面是部分页面代码
<!-- 首页页面 -->
<template>
<view class="body">
<!-- 消息提示框 -->
<view>
<u-toast ref="uToast" />
</view>
<view class="head">
<image src="../../static/img/xiehe.png" style="height: 100%;width: 100%;" ></image>
</view>
<view class="content">
<view class="content_card" @click="skipDoctorInfo">
<view>
医生信息
</view>
<view>
<image src="../../static/img/yiyuan.png" class="content_card_img"></image>
</view>
<view class="card_foot_text">
基本信息、科室、职称 等
</view>
</view>
<view class="content_card" @click="skipDept">
<view>
预约挂号
</view>
<view>
<image src="../../static/img/xinxi.png" class="content_card_img"></image>
</view>
<view class="card_foot_text">
快速预约,精准挂号
</view>
</view>
<view class="content_card" @click="skipVisitGuide">
<view>
就诊引导
</view>
<view>
<image src="../../static/img/daohang.png" class="content_card_img"></image>
</view>
<view class="card_foot_text">
就诊具体楼层房间号
</view>
</view>
</view>
<view class="content">
<view class="content_card" @click="skipOffnum">
<view>
线下取号
</view>
<view>
<image src="../../static/img/xinxi.png" class="content_card_img"></image>
</view>
<view class="card_foot_text">
接收叫号通知
</view>
</view>
<view class="content_card" @click="skipReserveVisit">
<view>
历史就诊查询
</view>
<view>
<image src="../../static/img/yiyuan.png" class="content_card_img"></image>
</view>
<view class="card_foot_text">
查询就诊历史信息
</view>
</view>
<view class="content_card" @click="skipHospitalInfo">
<view>
关于我们
</view>
<view>
<image src="../../static/img/yiyuan.png" class="content_card_img"></image>
</view>
<view class="card_foot_text">
</view>
</view>
</view>
<view class="foot">
<view>
<view>更多服务</view>
<view class="foot_card">
<view @click="skipNoticePage">
<view>
<image src="../../static/img/index/notice.png"></image>
</view>
<text>公告信息</text>
</view>
<view @click="skipReserve">
<view>
<image src="../../static/img/index/hospital-.png"></image>
</view>
<text>预约记录</text>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
title: 'Hello',
orderList: [],
orderCall:'',
callInfoArr:[]
}
},
onLoad() {
},
onReady() {
this.callInfo();
},
methods: {
// 跳转到挂号记录
skipReserveVisit() {
console.log(getApp().globalData.globalUserToken);
uni.navigateTo({
url: "../visitHistory/visitHistory"
})
},
/**
* 跳转到公告信息页面
*/
skipNoticePage() {
uni.navigateTo({
url: '../noticeList/noticeList'
})
},
/**
* 跳转到医院信息页面
*/
skipHospitalInfo() {
uni.navigateTo({
url: '../hospitalInfo/hospitalInfo'
})
},
/**
* @param {Object} e
* 跳转到选择科室页面
*/
skipDept: function(e) {
uni.navigateTo({
url: "../dept/dept"
})
},
/**
* @param {Object} e
* 跳转到预约记录页面
*/
skipReserve: function(e) {
uni.navigateTo({
url: "../reserveVisit/reserveVisit"
})
},
/**
* @param {Object} e
* 跳转到医生信息页面
*/
skipDoctorInfo: function(e) {
uni.navigateTo({
url: "../doctorInfo/doctorInfo"
})
},
/**跳转到就诊引导页面
* @param {Object} e
*/
skipVisitGuide: function(e) {
uni.navigateTo({
url: "../versitGuide/versitGuide"
})
},
skipOffnum : function(e) {
uni.navigateTo({
url: "../offnum/offnum"
})
},
//登录成功后查询是否有叫号信息
async callInfo() {
let res = await this.$myRequest({
url: '/apply/order/getReserveOrderCall',
method: 'GET',
data: {
token: getApp().globalData.globalUserToken
}
})
if(res.code == 1) {
let that = this
//叫号信息展示
this.orderList = res.data
let callInfoArr = res.data;
let callinfo ="";
for (let i=0;i<callInfoArr.length;i++) {
callinfo+="医生:"+callInfoArr[i].doctorName +" 科室:"+callInfoArr[i].deptName+"\r\n"+" 就诊时间:"+callInfoArr[i].visitStartTime+"-"+callInfoArr[i].visitEndTime+"\r\n";
let orderid =callInfoArr[i].orderId;
console.log("######"+orderid);
that.updateCallStatus(orderid);
if(i==callInfoArr.length-1){
wx.showModal({
title: '叫号提醒',
content:callinfo,// "医生:"+res.data[i].doctorName +" 科室:"+res.data[i].deptName+" 就诊开始时间:"+res.data[i].visitStartTime+" - "+res.data[i].visitEndTime,
success: function (res) {
// if (res.confirm) { //这里是点击了确定以后
// console.log('用户点击确定')
// } else { //这里是点击了取消以后
// console.log('用户点击取消')
// }
}
})
}
}
}
},
async updateCallStatus(id) {
let res = await this.$myRequest({
url: '/apply/order/updateOrderCall',
data:{
orderId:id,
orderCall:'0'
},
method:'GET'
})
if(res.code == 1) {
console.log("核销提醒状态成功");
}
}
,
showAlert(title, type, callBack) {
// 弹出提示
let param = {
title: !title ? '操作成功!' : title,
type: !type ? 'warning' : type
}
if(callBack) {
param.callback = callBack
}
this.$refs.uToast.show(param)
}
},
onShow() {
if(!getApp().globalData.globalUserToken || !getApp().globalData.globalUserInfo) {
uni.getStorage({
key: 'userInfo',
success: res => {
getApp().globalData.globalUserInfo = res.data
getApp().globalData.globalUserToken = res.data.token
}
})
}
}
}
</script>
<style>
.body {
background-color: #EEE;
}
.head {
height: 280px;
width: 100%;
background-color: #007AFF;
display: flex;
align-items: center;
justify-content: center;
}
.head .text {
font-size: 20px;
font-weight: 500;
color: #EEE;
}
.content {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-around;
width: 100%;
box-sizing: border-box;
padding: 10px 0px;
background-color: #FFF;
}
.content_card {
border-radius: 5px;
width: 29%;
height: 120px;
background-color: #0DC79B;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
color: #EEE;
box-sizing: border-box;
font-size: 14px;
}
.content_card view {
margin-top: 5px;
}
.content_card:first-child {
background-color: #4D80FF;
}
.content_card:nth-child(2) {
background-color: #2AC6FB;
}
.content_card_img {
width: 30px;
height: 30px;
}
.card_foot_text {
font-size: 10px;
}
.foot {
background-color: #FFF;
margin-top: 10px;
padding: 5px 10px;
color: #444;
font-size: 14px;
}
.foot_card {
margin-top: 10px;
display: flex;
align-items: center;
justify-content: flex-start;
font-size: 12px;
}
.foot_card view {
margin: 0px 5px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.foot_card view text {
margin-top: 10px;
}
.foot_card view image {
width: 20px;
height: 20px;
}
.foot_card>view>view{
width: 45px;
height: 45px;
border-radius: 50%;
background-color: #EBF1FF;
}
</style>