计算机毕业设计 | SpringBoot+vue的医院门诊预约挂号系统(附源码)

1,绪论

项目背景

预约挂号,挂专家号更是“一号难求”,这是当前许多大型医院的普遍现象。预约挂号是各地近年来开展的一项便民就医服务,旨在缩短看病流程,节约患者时间。这种预约挂号大多通过医疗机构提供的电话或者网络进行,基本上是免费或者只收取很少的手续费。由于预约挂号需要事先登记患者的信息,并且可以减少在医院挂号窗口排队等待之苦,因此它一定程度上也有利于改善就医环境,促进“实名制”的推行,受到了不少患者的肯定和欢迎。

自从有了医生这个职业,医生预约就一直存在。从古代君王豪吏,富贾商户到如今医生预约走进社会各基层,走进千家万户,医生预约经历了从特权到普遍,滞后到高速发展的不同时期。这是近几年新兴的挂号方式。通过网络可以完成在医院或者在电话预约中完整的服务,方便快捷,加以医生门诊预约系统强大的系统管理功能,使医院方面在经营管理方面拥有了新的发展方向。

项目意义

网络挂号更加方便快捷,只需注册账号进行登录,便可以在家中或者其他任何地方通过电脑进行预约挂号操作,可以根据需要查询科室、医生的相关信息,用户也可以随时根据需要修改自己的资料,轻松地预先了解医院以及医生的情况,来选定医生,通过简便的操作,完成挂号预约方便快捷;网络挂号有利于缓解医院窗口挂号排队拥挤的现状。患者大量扎堆在清晨排队挂号,其没有计划的挂号导致等候就诊时间较长,致使大量患者滞留在医院,耽误患者治疗时间。而且财务窗口人力紧张,压力大,不利于服务质量的提高。针对这一问题,医院预约挂号系统有利于减少患者在候诊区无效的等待时间,减轻患者和家属的挂号难度,在一定程度上缓解改善了挂号窗口的紧张状。

根据对预约挂号的平台需求进行分析,将系统分为前台和后台。前台主要由用户使用,主要功能包括:注册与登录、科室医生的浏览/检索、预约、新闻展示、留言板留言等等。后台则由管理员使用,主要功能包括:科室医生的信息管理、预约订单管理、患者信息管理、留言板管理等等。

系统设计

本软件是《基于 Vue 的医院门诊预约挂号管理系统》,主要包含数据中心、科室医生模块、预约挂号模块、医院时政这四大模块。

预约挂号系统采用了基于角色的访问控制,角色和菜单关联,一个角色可以配置多个菜单权限;然后再将用户和角色关联,一位用户可以赋予多个角色。这样用户就可以根据角色拿到该有的菜单权限,更方便医院管理人员进行权限管控。

在这里插入图片描述

患者去医院都是排队挂号,但随着科技的发展,预约挂号脱颖而出,医院门诊预约挂号管理系统操作简单明了与互联网紧密相关、适应时代发展的潮流。通过医院门诊预约挂号系统,可以极大的方便挂号者进行预约挂号,同事还能是医院更加合理的安排排号者就医并提供更优质的医疗服务。既能适当解决当前中国面临的医院门诊挂号排队时间长、挂号环境乱的问题,又能方便广大预约者挂号预约自己相对满意的医生和专家。

3,技术栈

前端

  • Vue:Vue 是构建前端界面的核心框架,本系统采用 2.6.14 版本。

  • View UI:基于 Vue.js2.0 的组件库,本系统采用 4.7.0 版本。

后端

  • Spring Boot:构建系统核心逻辑的后端框架,本系统采用 2.7.0 版本。

  • MyBatis / MyBatis Plus:后端连接数据库的框架,本系统采用 3.5.2 版本。

数据库

  • MySQL:本项目的主数据库,本系统采用 8.0.29 版本。

  • Redis:本系统采用基于 Windows 版本的 Redis,用于图形验证码和用户菜单权限的临时存储,采用了 5.0.14 版本。

开发环境

  • VsCode:项目前端的开发工具,使用版本为 1.68.0。

  • IntelliJ IDEA :项目后端的开发工具,使用版本为 2021.3.2。

  • Jdk:Java 的开发环境,使用版本为 17.0.3.1。

  • Maven:后端项目的打包工具,使用版本为 3.6.2。

  • NodeJs:前端项目的开发环境,使用版本为 16.13.0。

在这里插入图片描述

4,需求分析

系统采用了基于角色的访问控制,角色和菜单关联,一个角色可以配置多个菜单权限;然后再将用户和角色关联,一位用户可以赋予多个角色。这样用户就可以根据角色拿到该有的菜单权限,更方便管理者进行权限管控。

系统还封装了文件管理功能,在其他模块如若要实现图片/文件上传预览时,前端只需导入现成的 Vue 组件即可实现(使用 viewerjs 依赖实现),后端只需定义 String 类型的实体类变量即可,无需再去研究文件上传预览的相关功能,简化了开发者的工作量。

系统还自带基于 beetl 代码生成器功能,开发者只需要输入类名(如 Student)和类备注(如学生),运行 main 函数即可自动生成后端的所有 MVC 结构代码,无需开发增删改查的 API 接口。对于前端,开发者只需输入后端实体类的完整路径,利用 Java 的反射原理,拿到后端实体类的字段,即可自动生成前端所有代码,生成的模块代码包含基础的增删改查功能,简化开发者的工作量。

5,系统预览

登陆界面

进入系统,首先看到登入界面,用户可以输入自己的账号、密码,进行登入操作。

登陆分为账户密码登录和手机短信登陆两种模式。

手机短信登陆因为需要付费,所以暂不开放短信登陆的功能,只是做了一个静态界面。

图片验证码为随机的 4 位阿拉伯数字,用户输入图片中的四位验证码,即可完成登陆。

在这里插入图片描述

在这里插入图片描述

用户登陆功能,系统首先会效验验证码,验证码有效期为 60 秒,如果超过有效期,系统会提示需要重新登陆,如下图所示:

在这里插入图片描述

如果遇到看不清楚的验证码,可以点击验证码图片可以完成刷新。

为了保证系统安全,不被频繁请求访问,如果用户输入错误的验证码,系统将提示“图形验证码输入错误”,不给与登陆,用户需要重新输入验证码。

在这里插入图片描述

当输入的验证码正确后,系统第二步会验证用户输入的账号密码,若账号密码输入错误,系统给与提示,告知密码不正确。

在这里插入图片描述

当用户输入的账号密码、图形验证码都正确后,系统给与登陆,进入到系统首页,如下图所示:

在这里插入图片描述

注册界面

系统开放了用户注册的功能,患者可以自助注册患者账户,进入系统后,点击登陆按钮上方的“注册账号”绿色超链接,跳转到注册界面。

在这里插入图片描述

注册界面如下图所示,用户需要输入自己的手机号、用户名、密码和图形验证码,完成患者用户注册。然后使用注册时填入的手机号和密码,完成系统登陆。

在这里插入图片描述

科室管理模块

管理员登陆系统后,可以进入科室管理模块,查询科室档案的详细数据,如下图所示:

在这里插入图片描述

用户可以浏览医院新闻资讯等信息,并能查询科室、医生等相关信息。

科室的信息包括:

  • 科室名称
  • 科室代码
  • 科室人数
  • 主任医师人数
  • 科室介绍
  • 责任医师
  • 备注

管理员可以单击顶部的“添加”按钮,进入科室的添加界面,后输入科室的名称、科室代码、科室介绍、科室成立日期、责任医师、备注,完成科室的添加。

在这里插入图片描述

管理员可以点击每一行的“编辑”按钮,进入科室编辑模块,如下图所示:

在这里插入图片描述

进入科室编辑模块后,完成现有数据的修改,点击“提交并保存”按钮即可完成编辑操作。

在这里插入图片描述

同理,点击每一行科室的“删除”按钮,即可完成对科室的删除功能。

在这里插入图片描述

管理员可以点击顶部的“导出”按钮,完成科室的 Excel 导出功能。

导出结果如下图所示:

在这里插入图片描述

医院科室的数据库设计如下图所示:

在这里插入图片描述

医生管理模块

管理员登陆系统后,可以进入医生管理模块,查询医生档案的详细数据,如下图所示:

在这里插入图片描述

医生的信息包括

  • 医生姓名

  • 医生年龄

  • 学历学位

  • 开始工作时间

  • 毕业院校

  • 职称

  • 专业

  • 所属科室

  • 医生介绍

医生档案的增加、编辑、删除、导出操作步骤同科室模块。

可以根据科室查询医生,如在科室搜索框内输入“口腔”,点击搜索按钮,即可查询口腔科的医生列表,如下图所示:

在这里插入图片描述

医生的数据库设计如下图所示:

在这里插入图片描述

医生放号模块

为了模拟真实的预约挂号流程,本系统设计了医生放号模块。

管理员进入医生放号模块,界面如下图所示:

在这里插入图片描述

点击每一行医生的“放号”按钮,系统弹出放号交互弹框,如下图所示:

在这里插入图片描述

管理员需要填入放号日期、放号时段、放号个数,完成放号功能。

如填入放号日期为“2022-09-12”,放号时段为上午,放号个数为 10 个,点击“确认放号”按钮,即可完成对罗文文医生的放号操作。

管理员可点击每一行医生的“查询”按钮,完成对放号结果的查询,如下图所示:

在这里插入图片描述

医生号源的数据库设计如下图所示:

在这里插入图片描述

预约挂号模块

患者账号登陆系统后,可以进入到预约挂号模块,如下图所示:

在这里插入图片描述

在预约挂号模块中,可以查询需要挂号的医生。

可以根据科室查询,可以筛选是否今日的号,可以搜索医生的姓名、职称,该搜索功能在左上角顶部的搜索框实现。

如筛选了口腔科的科室,点击搜索按钮,即可完成口腔科医生的搜索,如下图所示:

在这里插入图片描述

患者点击每一行医生的红色的“挂号”按钮,系统弹出挂号弹框,患者可以查询该为医生的号源,如下图所示:

在这里插入图片描述

点击每一行的橙色“挂号”按钮,系统弹出再次确认弹框。

在这里插入图片描述

点击“确定”按钮,即可完成预约挂号操作。

挂号的数据库设计如下图所示:

在这里插入图片描述

我的挂号模块

患者登陆系统后,可以进入我的挂号模块。

该模块用于展示个人的挂号详情,界面如下图所示:

在这里插入图片描述

患者可以点击每一行红色的“取消点我”按钮,取消该次预约挂号,取消后号源恢复为未挂号状态。

患者可以点击红色的“付款”按钮,完成预约订单的付款功能。付款仅为模拟,支付宝/微信/银联支付必须要企业认证,个人没权限测试开发支付功能。

患者预约到医生的号后,可在我的订单模块模拟付款。付款后预约订单状态为已付款。

患者点击“付款”后,系统将弹出二次确认弹框,如下图所示:

在这里插入图片描述

用户留言模块

医院的预约挂号标准化流程,一定会存在有需要改进的点,或者现有功能不能被患者理解学会,所以需要设计留言板功能,实现患者和医院的信息交互功能。

患者进入到用户留言模块,界面如下图所示:

在这里插入图片描述

患者可点击顶部蓝色的“添加”按钮,打开添加留言弹框,如下图所示。

在这里插入图片描述

患者点击弹框底部的“确认留言”按钮后,完成留言操作。

留言完成后界面如下图所示:

在这里插入图片描述

管理员可以对留言进行回复操作,如下图所示。

在这里插入图片描述

回复成功后,管理员可以双击每一条评论行,查看该条评论的回复列表,如下图所示:

在这里插入图片描述

医院新闻模块

管理员可以进入医院新闻模块,界面如下图所示:

在这里插入图片描述

新闻的信息包括:

  • 新闻名称

  • 新闻描述

  • 图片

  • 新闻时效

  • 是否公开

  • 是否置顶

支持对医院的新闻进行添加、编辑、删除、公开、置顶,操作过程同科室管理模块。

系统采用了 ViewerJs 依赖,对指定 URL 的图片进行预览。

系统采用了 View UI 组件库,在表格内嵌了 Switch 开关组件。

普通患者只能进入的医院新闻留言模块,只保留了新闻的查看功能,界面如下图所示:

在这里插入图片描述

医院新闻的数据库设计如下图所示:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/319997.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

视频号小店发展前景怎样?适合新手入驻吗?

我是电商珠珠 视频号于22年7月发展了属于自己的平台-视频号小店。作为一个发展了才一年的平台来说,很多人都不敢入驻,害怕它很快就会垮掉。 我们团队在22年10月的时候,开始入驻其中。发现它的玩法和抖音小店相比并没有什么两样。 在刚开始…

电脑定时关机应用

这是一个Python应用。家里卧室装了新电视,HDMI连接笔记本追剧还是很愉快的。可是经常睡着,自然忘了关机。搜了一大圈,都是用命令行或者bat解决。商店里的应用也不好用,有些还收费。于是萌生了自己写一个定时关机应用的想法。利用N…

Linux学习之网络编程3(高并发服务器)

写在前面 Linux网络编程我是看视频学的,Linux网络编程,看完这个视频大概网络编程的基础差不多就掌握了。这个系列是我看这个Linux网络编程视频写的笔记总结。 高并发服务器 问题: 根据上一个笔记,我们可以写出一个简单的服务端…

研0或研一|如何快速入门深度学习?

一、经验建议 1️⃣课程篇 直接上手B站【小土堆PyTorch深度学习快速入门教程】,共计9h50min左右,预计一周就可以学完,比较偏向理论和实践相结合跟李沐学AI B站【动手学深度学习 PyTorch版】刘二大人B站【PyTorch深度学习实践】,…

springboot集成jsp

首先pom中引入依赖包 <!--引入servlet--> <dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId> </dependency> <!--引入jstl标签库--> <dependency><groupId>javax.servle…

echarts 3D地图

vueecharts 3D地图,可自定义地图背景底图。鼠标放上显示弹窗&#xff0c;弹窗自动切换。 <template><div id"gbznt" class"gbznt" ref"gbznt"><img class"mapBg" src"../../../img/propertyTransaction/echart-bg…

二进制与十六进制,二进制与八进制之间的相互转换技巧

目录 1.二进制转换为八进制 2.八进制转换为二进制 3.二进制转换为十六进制 4.十六进制转换为二进制 1.二进制转换为八进制 转换为8进制 第一步&#xff1a;以小数点为分界线&#xff0c;整数部分自右向左&#xff0c;小数部分自左向右每3位取成1位&#xff1a; 整数部分…

码蹄集新手村:绝对值,输入各种类型数,平面、空间三角形面积(坐标)

1.绝对值 虽然用if else判断是否小于0&#xff0c;小于0取相反数也能解决&#xff0c;但可能会出现错误&#xff0c;尽量用fabs()函数 2. 输入各种类型数所需的常见英文字母 字符 %c double %lf float %f 3.平面三角形面积&#xff08;坐标&#xff09; 记住三角形面积公…

人物故事:从留美复旦流浪博士,分享一位杰出C++开发者的故事

近日留美复旦流浪博士的事迹冲上热搜。通过多方渠道消息来源&#xff0c;据说该流浪博士在1985年&#xff0c;15岁还在读高一的他&#xff0c;就已经被复旦大学少年班物理学专业录取。在复旦大学就读期间曾获得李政道奖学金。1988年&#xff0c;19岁时从复旦大学通过第九届CUSP…

【并发】共享模型之管程

共享模型之管程 共享问题 package 并发;public class Test1 {static int a0;public static void main(String[] args) throws InterruptedException {Thread t1new Thread(new Runnable() {Overridepublic void run() {for(int i0;i<5000;i){a;}}});Thread t2new Thread(n…

第 4 章 链表

文章目录 4.1 链表(Linked List)介绍4.2 单链表的应用实例4.3 单链表面试题(新浪、百度、腾讯)4.4 双向链表应用实例4.4.1 双向链表的操作分析和实现4.4.2 课堂作业和思路提示 4.5 单向环形链表应用场景4.6 单向环形链表介绍4.7 Josephu 问题4.8 Josephu 问题的代码实现 4.1 链…

Docker五部曲之四:Docker Compose

文章目录 前言Compose应用程序模型Compose规范顶层属性servicenetworkvolumesconfigssecrets 环境变量.env文件environment属性主机shell中的环境变量 Profiles&#xff08;剖面&#xff09;启动剖面自动启动剖面和依赖项解析 多compose.yml文件共享与扩展构建规范构建属性 部署…

单例模式的八种写法、单例和并发的关系

文章目录 1.单例模式的作用2.单例模式的适用场景3.饿汉式静态常量&#xff08;可用&#xff09;静态代码块&#xff08;可用&#xff09; 4.懒汉式线程不安全&#xff08;不可用&#xff09;同步方法&#xff08;线程安全&#xff0c;但不推荐用&#xff09;同步代码块&#xf…

【我想开发一个小程序,大概需要多少钱?】

小程序开发为什么报价差距很大&#xff1f;主要是因为小程序的实现方法和功能模型不同。 小程序的实现方法&#xff1a; 实现方法主要分为SAAS小程序、定制小程序和第三方平台小程序。不同的实现方法价格都是不一样的&#xff0c;大概的区间如下&#xff1a; SAAS小程序和第三…

Github 2024-01-14 Go开源项目日报 Top10

根据Github Trendings的统计&#xff0c;今日(2024-01-14统计)共有10个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量Go项目10TypeScript项目1 frp: 一个开源的快速反向代理 创建周期&#xff1a;2946 天开发语言&#xff1a;G…

第 2 章 数据结构和算法概述

文章目录 2.1 数据结构和算法的关系2.2 看几个实际编程中遇到的问题2.2.1 问题一-字符串替换问题2.2.2 一个五子棋程序2.2.3 约瑟夫(Josephu)问题(丢手帕问题)2.2.4 其它常见算法问题: 2.3 线性结构和非线性结构2.3.1 线性结构2.3.2 非线性结构 2.1 数据结构和算法的关系 数据 …

扫雷游戏棋盘的打印,判断输赢,深度分析

少年们&#xff0c;大家好&#xff0c;我是博主那一脸阳光&#xff0c;我来分享扫雷的打印和判断输赢&#xff0c;代码如何编写&#xff0c;如何使用&#xff0c;深度理解扫雷的游戏。 数据结构的分析和理论 我上次介绍棋盘的初始化&#xff0c;但是如果不打印出来&#xff0…

AI 大模型面试指南(含答案)大放送!

▼最近直播超级多&#xff0c;预约保你有收获 今晚直播&#xff1a;《大模型构建企业知识库实践》 AI 大模型技术经过2023年的狂飙&#xff0c;2024年必将迎来应用的落地&#xff0c;对 IT 同学来讲&#xff0c;这里蕴含着大量的技术机会&#xff0c;越来越多的企业开始招聘 AI…

2624. 蜗牛排序

说在前面 &#x1f388;不知道大家对于算法的学习是一个怎样的心态呢&#xff1f;为了面试还是因为兴趣&#xff1f;不管是出于什么原因&#xff0c;算法学习需要持续保持。 题目描述 请你编写一段代码为所有数组实现 snail(rowsCount&#xff0c;colsCount) 方法&#xff0c;…

数据库备份脚本嘎嘎香,被秀到了!

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&am…