php基于Vue的门诊管理系统(源码+文档+调试+讲解)

收藏关注不迷路!!

🌟文末获取源码+数据库🌟

感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人


前言

  在医疗机构中,门诊挂号一直是很重要的环节.门诊挂号系统可以通过在线管理、在线储存等先进的互联网技术,实现档案集中保管,同时做成电子文件存储在门诊管理系统中,经批准有关人员可以通过系统随时查阅,能有效保证病患和业务资料的完整性。

  随着科技的进步,各种互联网技术得以茁壮成长。其中互联网技术与实际业务场景相融合尤为广泛,作为医疗机构体系的一部分,门诊部门急需一套在线预约挂号系统来应对每天的工作需要。中医门诊挂号管理系统,他是一种能够通过先进的互联网技术来实现门诊和各部门相关人员,物品以及财务信息的综合管理工作,并将病人看病过程中产生的各类数据进行采集、存储、分析、预测、汇总等数据加工操作,为门诊部门节省大量人力物力的同时还为病患提供了方便。
  目前,在国内很多地方,比如说县一级的医院部门,都是采用传统的挂号方式,不仅浪费大量的时间,在排队挂号的过程中还容易产生许多不文明的现象,比如说:插队的现象。经过了解,在早些年互联网技术不是很发达,开发成本高昂。在这些小型医疗部门中,由于缺乏资金支持,导致这些小型机构在互联网技术上投资很少,甚至没有。这样的结果就是采用传统的人工排队挂号方式。这样做不仅需要医疗部门投入大量人力物力来保障工作的正常进行,还需要病患花大量时间来排队挂号。这样的方式不但人流密集还效率不高,而且出错率还很高。
  随着互联网技术的不断完善和发展,各种软件开发制作成本相比前几年而言低了不少,医疗部门以搭上了这趟快车。很多小型门诊部门也开始使用在线门诊挂号系统,这样不仅能提升综合管理水平还能大大节约成本和惠及老百姓。

详细视频演示

文章底部名片,联系我看更详细的演示视频

一、项目介绍

开发语言:PHP
数据库:MYSQL数据库
应用服务:apache服务器
使用框架:ThinkPHP+vue
开发工具:VScode/Dreamweaver/PhpStorm等均可

————————————————

二、功能介绍

此系统主要分为前端和后端。
前端主要有首页,坐诊医生,药品信息,公告栏,在线留言等;
后端主要有用户和管理员,管理员功能包括患者,坐诊医生,预约挂号,电子病历,处方记录,药品信息,药品类型,床位信息等;

三、系统测试

测试是和系统开发同步进行的,因此在需求阶段测试人员就已经对需求阶段的各个指标进行了相对应的验证测试,在系统开发过程中进行单元测试,在系统开发完成后针对性能、功能性和可用性进行系统测试。限于篇幅所限,下面主要围绕功能测试用例和测试总结两个方面进行说明。

系统功能测试

测试用例描述操作过程及数据预期结果测试结果
以用户身份登录按照系统要求填写用户登录名和密码信息点击“确定”系统跳转至用户可使用的前台首页通过
以管理人员身份登录按照系统要求填写管理人员登录名和密码信息点击“确定系统跳转至管理人员可使用的后台首页通过
以未注册身份登录按照系统要求填写并未注册登录名和密码信息点击“确定”系统提示用户名或密码错误通过
用户名为空用户没有填写用户名系统提示用户名未填写通过

四、核心代码

部分代码:

<?php




session_start();
class YonghuController extends CommonController {

    public function __construct()
    {
        header("Access-Control-Allow-Origin: *");
        header("Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE");
        header('Access-Control-Allow-Headers:Origin,Content-Type,Accept,token,X-Requested-With,device');
    }
    public $columData = [
		'id','addtime'
        ,'zhanghao'
        ,'xingming'
        ,'mima'
        ,'shoujihao'
        ,'xingbie'
        ,'nianling'
        ,'touxiang'
        ,'sfsh'
        ,'shhf'
        ,'vip'
    ];


    /**
     * 登录接口
     * POST
     * */
    public function login(){
        $username = isset($_REQUEST['username'])?$_REQUEST['username']:"";
        $password = isset($_REQUEST['password'])?$_REQUEST['password']:"";


        $sql = "select * from `yonghu` where `zhanghao` = '".$username."' and `mima` = '".$password."'";
        $result = table_sql($sql);
        if ($result->num_rows > 0) {
            // 输出数据
            while($row = $result->fetch_assoc()) {
                if ($row['sfsh'] != "是") {
                    exit(json_encode(['code' => -1,'msg'=>"账号已锁定,请联系管理员审核!"]));
                }
                $token_array = [
                    "iat" => time(), //签发时间
                    "exp" => time()+7200, //token 过期时间
                    'tablename'=> 'yonghu',//表名
                    'columData' => $this->columData,
                    'id' => $row['id'],
                    'isAdmin' => 0,
                    "success" => $row,//记录的uid的信息,如果有其它信息,可以再添加数组的键值对
                    'username' => $row['zhanghao'],
                ];
                $tokens = base64_encode(json_encode($token_array));
                $_SESSION[$tokens] = $row["id"];
                $colum = "zhanghao";
                $md5 = md5($row["id"]."+10086");
                $_SESSION[$md5] = $row[$colum];
				
                $data = ['code' => 0, 'token' => $tokens];
                exit(json_encode($data));
            }
        } else {
            exit(json_encode(['code'=>500,'msg'=>"账号或密码错误"]));
        }
    }


    /**
     * 退出
     * post
     */
    public function logout(){
        $token = $this->token();
        unset($token);
        exit(json_encode(['code'=>0,'msg'=>'退出成功']));
    }
    /**
     * 注册
     * post
     */
    public function register(){
        $tmpData = strval(file_get_contents("php://input"));
        $postData = json_decode($tmpData,true);


        $colum = "zhanghao";
        $trues = "select * from `yonghu` where `zhanghao` = '".$postData[$colum]."'";
        $result = table_sql($trues);
        if($result->num_rows<1){
			$keyArr = $valArr = array();
			foreach ($postData as $key => $value){
                if (in_array($key, $this->columData) && $value != ''){
                    array_push($keyArr,"`".$key."`");
                    array_push($valArr,"'".$value."'");
                }
            }
			$key = implode(',',$keyArr);
			$v = implode(',',$valArr);
            $sql = "INSERT INTO `yonghu` (`id`,".$key.") VALUES (".time().",".$v.")";
            $result = table_sql($sql);
            if (!$result) exit(json_encode(['code'=>500,'msg'=>'注册失败。']));
            exit(json_encode(['code'=>0]));
        }
        exit(json_encode(['code'=>500,'msg'=>"用户名已存在。"]));
    }


数据库参考

-- MySQL dump 10.13  Distrib 5.7.31, for Linux (x86_64)
--
-- Host: localhost    Database: php05am16pp
-- ------------------------------------------------------
-- Server version	5.7.31

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Current Database: `php05am16pp`
--

/*!40000 DROP DATABASE IF EXISTS `php05am16pp`*/;

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `php05am16pp` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;

USE `php05am16pp`;

--
-- Table structure for table `chufangjilu`
--

DROP TABLE IF EXISTS `chufangjilu`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `chufangjilu` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `yuyuebianhao` varchar(200) DEFAULT NULL COMMENT '预约编号',
  `yishengzhanghao` varchar(200) DEFAULT NULL COMMENT '医生账号',
  `yishengxingming` varchar(200) DEFAULT NULL COMMENT '医生姓名',
  `keshi` varchar(200) DEFAULT NULL COMMENT '科室',
  `huanzhezhanghao` varchar(200) DEFAULT NULL COMMENT '患者账号',
  `huanzhexingming` varchar(200) DEFAULT NULL COMMENT '患者姓名',
  `lianxidianhua` varchar(200) DEFAULT NULL COMMENT '联系电话',
  `bingzhengzhenduan` longtext NOT NULL COMMENT '病症诊断',
  `kaijuchufang` varchar(200) NOT NULL COMMENT '开具处方',
  `fuyongfangfa` varchar(200) NOT NULL COMMENT '服用方法',
  `zhuyishixiang` varchar(200) NOT NULL COMMENT '注意事项',
  `chufangfeiyong` int(11) NOT NULL COMMENT '处方费用',
  `kaijushijian` datetime NOT NULL COMMENT '开具时间',
  `quyaozhuangtai` varchar(200) DEFAULT NULL COMMENT '取药状态',
  `ispay` varchar(200) DEFAULT '未支付' COMMENT '是否支付',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=89 DEFAULT CHARSET=utf8 COMMENT='处方记录';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `chufangjilu`
--

LOCK TABLES `chufangjilu` WRITE;
/*!40000 ALTER TABLE `chufangjilu` DISABLE KEYS */;
INSERT INTO `chufangjilu` VALUES (81,'2024-05-11 06:45:53','预约编号1','医生账号1','医生姓名1','科室1','患者账号1','患者姓名1','联系电话1','病症诊断1','开具处方1','服用方法1','注意事项1',1,'2024-05-11 14:45:53','已取药','未支付'),(82,'2024-05-11 06:45:53','预约编号2','医生账号2','医生姓名2','科室2','患者账号2','患者姓名2','联系电话2','病症诊断2','开具处方2','服用方法2','注意事项2',2,'2024-05-11 14:45:53','已取药','未支付'),(83,'2024-05-11 06:45:53','预约编号3','医生账号3','医生姓名3','科室3','患者账号3','患者姓名3','联系电话3','病症诊断3','开具处方3','服用方法3','注意事项3',3,'2024-05-11 14:45:53','已取药','未支付'),(84,'2024-05-11 06:45:53','预约编号4','医生账号4','医生姓名4','科室4','患者账号4','患者姓名4','联系电话4','病症诊断4','开具处方4','服用方法4','注意事项4',4,'2024-05-11 14:45:53','已取药','未支付'),(85,'2024-05-11 06:45:53','预约编号5','医生账号5','医生姓名5','科室5','患者账号5','患者姓名5','联系电话5','病症诊断5','开具处方5','服用方法5','注意事项5',5,'2024-05-11 14:45:53','已取药','未支付'),(86,'2024-05-11 06:45:53','预约编号6','医生账号6','医生姓名6','科室6','患者账号6','患者姓名6','联系电话6','病症诊断6','开具处方6','服用方法6','注意事项6',6,'2024-05-11 14:45:53','已取药','未支付'),(87,'2024-05-11 06:45:53','预约编号7','医生账号7','医生姓名7','科室7','患者账号7','患者姓名7','联系电话7','病症诊断7','开具处方7','服用方法7','注意事项7',7,'2024-05-11 14:45:53','已取药','未支付'),(88,'2024-05-11 06:45:53','预约编号8','医生账号8','医生姓名8','科室8','患者账号8','患者姓名8','联系电话8','病症诊断8','开具处方8','服用方法8','注意事项8',8,'2024-05-11 14:45:53','已取药','未支付');
/*!40000 ALTER TABLE `chufangjilu` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `config`
--

DROP TABLE IF EXISTS `config`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `config` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(100) NOT NULL COMMENT '配置参数名称',
  `value` varchar(100) DEFAULT NULL COMMENT '配置参数值',
  `url` varchar(500) DEFAULT NULL COMMENT 'url',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='配置文件';
/*!40101 SET character_set_client = @saved_cs_client */;

五、效果图

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

六、文献

[1]吕洪林.小型医院门诊管理信息系统开发研究[J].信息与电脑,2017(021):65~66.
[2]方航伸.基于WEB的医院门诊管理系统设计和实现[J].福建电脑,2017(3):117~118.
[3]温守坤.基于.NET的医院门诊管理系统研究[J].电脑编程技巧与维护,2015(008):75~78.
[4]孙晓伟,于志伟等.一种医院门诊出诊安排系统[P].中国专利:CN205942796U,2017-02-08.
[5]古志峰.Java程序设计基础教程[M].北京:电子工业出版社,2016.
[6]李静.创新医院门诊管理理念与实践[J].中国医院,2018(004):59~61.
[7]钟何香.新形势下如何加强医院门诊管理工作探讨[J].卷宗,2017(022):259~259.
[8] 孟宪福,胡书敏,金华.Java Web轻量级开发面试教程[M].北京:电子工业出版社,2017.

七 、源码获取

下方名片联系我即可!!

大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻
精彩专栏推荐订阅:在下方专栏👇🏻
计算机毕业设计精品实战案例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕业程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值