5.4 KiB
5.4 KiB
挂号管理系统配置指南
快速开始
挂号管理系统的代码已经全部完成,现在只需要在后台配置菜单和权限即可使用。
配置步骤
第一步:添加菜单
- 登录后台管理系统
- 进入 "权限管理" -> "菜单管理"
- 点击 "添加菜单" 按钮
- 填写以下信息:
菜单名称:挂号管理
菜单类型:菜单
上级菜单:中医诊断(或选择其他合适的父菜单)
菜单路径:tcm/appointment/list
组件路径:tcm/appointment/list
权限标识:doctor.appointment/lists
菜单图标:Calendar(或 el-icon-calendar)
排序:根据需要设置(如:100)
是否显示:是
是否缓存:是
- 点击 "确定" 保存
第二步:配置权限节点
在刚创建的"挂号管理"菜单下,添加以下操作权限:
1. 挂号列表(已在菜单中配置)
权限名称:挂号列表
权限标识:doctor.appointment/lists
2. 挂号详情
权限名称:挂号详情
权限标识:doctor.appointment/detail
权限类型:按钮
3. 取消挂号
权限名称:取消挂号
权限标识:doctor.appointment/cancel
权限类型:按钮
4. 完成挂号
权限名称:完成挂号
权限标识:doctor.appointment/complete
权限类型:按钮
第三步:分配权限
- 进入 "权限管理" -> "角色管理"
- 选择需要使用挂号管理功能的角色(如:管理员、医生等)
- 点击 "编辑权限"
- 勾选刚才创建的"挂号管理"菜单及其下的所有权限
- 保存
第四步:验证配置
- 刷新页面或重新登录
- 在左侧菜单中应该能看到"挂号管理"菜单
- 点击进入,应该能看到挂号列表页面
功能测试
1. 测试列表显示
- 访问挂号管理页面
- 验证列表数据正常显示
- 检查分页功能
2. 测试搜索功能
- 在"患者姓名"输入框输入患者名字,点击"查询"
- 在"医生姓名"输入框输入医生名字,点击"查询"
- 选择"预约状态",点击"查询"
- 选择"预约日期"范围,点击"查询"
- 点击"重置"按钮,验证搜索条件清空
3. 测试详情功能
- 点击任意一条记录的"详情"按钮
- 验证弹窗显示完整的挂号信息
4. 测试取消功能
- 找一条"已预约"状态的记录
- 点击"取消"按钮
- 确认操作
- 验证状态变为"已取消"
- 验证"取消"和"完成"按钮消失
5. 测试完成功能
- 找一条"已预约"状态的记录
- 点击"完成"按钮
- 确认操作
- 验证状态变为"已完成"
- 验证"取消"和"完成"按钮消失
数据库检查
确保数据库表 la_doctor_appointment 已创建。如果没有,执行以下SQL:
CREATE TABLE `la_doctor_appointment` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`patient_id` int(11) NOT NULL COMMENT '患者ID',
`doctor_id` int(11) NOT NULL COMMENT '医生ID',
`roster_id` int(11) NOT NULL COMMENT '排班ID',
`appointment_date` date NOT NULL COMMENT '预约日期',
`period` varchar(20) NOT NULL COMMENT '时段',
`appointment_time` time NOT NULL COMMENT '预约时间',
`appointment_type` varchar(20) DEFAULT 'video' COMMENT '预约类型',
`status` tinyint(1) DEFAULT '1' COMMENT '状态:1=已预约,2=已取消,3=已完成',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`create_time` int(10) unsigned DEFAULT NULL,
`update_time` int(10) unsigned DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `idx_patient` (`patient_id`),
KEY `idx_doctor_date` (`doctor_id`,`appointment_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='医生挂号表';
常见问题
Q1: 菜单配置后看不到?
A: 检查以下几点:
- 确认"是否显示"设置为"是"
- 确认当前登录用户的角色有该菜单权限
- 刷新页面或重新登录
Q2: 列表显示为空?
A: 检查以下几点:
- 确认数据库表已创建
- 确认有挂号数据
- 检查浏览器控制台是否有错误
Q3: 搜索功能不工作?
A: 检查以下几点:
- 确认输入的搜索条件正确
- 确认数据库中有匹配的数据
- 检查浏览器控制台是否有错误
Q4: 取消/完成按钮不显示?
A: 检查以下几点:
- 确认当前用户有相应的权限
- 只有"已预约"状态的记录才显示这两个按钮
- "已取消"和"已完成"状态的记录不显示操作按钮
系统架构
前端(Vue3 + Element Plus)
├── 挂号列表页面:admin/src/views/tcm/appointment/list.vue
├── API接口:admin/src/api/doctor.ts
└── 路由:动态路由(从后台配置加载)
后端(ThinkPHP)
├── 控制器:server/app/adminapi/controller/doctor/AppointmentController.php
├── 业务逻辑:server/app/adminapi/logic/doctor/AppointmentLogic.php
├── 列表查询:server/app/adminapi/lists/doctor/AppointmentLists.php
├── 验证器:server/app/adminapi/validate/doctor/AppointmentValidate.php
└── 模型:server/app/common/model/doctor/Appointment.php
数据库
└── 表:la_doctor_appointment
相关文档
APPOINTMENT_MANAGEMENT_COMPLETE.md- 完整的功能说明文档APPOINTMENT_SYSTEM.md- 挂号系统总体设计APPOINTMENT_PERIOD_FIX.md- 时间段修复说明
技术支持
如果遇到问题,请检查:
- 浏览器控制台的错误信息
- 后端日志文件
- 数据库连接是否正常
- 权限配置是否正确