Files
zyt/APPOINTMENT_SETUP_GUIDE.md
T
2026-03-04 15:32:30 +08:00

5.4 KiB
Raw Blame History

挂号管理系统配置指南

快速开始

挂号管理系统的代码已经全部完成,现在只需要在后台配置菜单和权限即可使用。

配置步骤

第一步:添加菜单

  1. 登录后台管理系统
  2. 进入 "权限管理" -> "菜单管理"
  3. 点击 "添加菜单" 按钮
  4. 填写以下信息:
菜单名称:挂号管理
菜单类型:菜单
上级菜单:中医诊断(或选择其他合适的父菜单)
菜单路径:tcm/appointment/list
组件路径:tcm/appointment/list
权限标识:doctor.appointment/lists
菜单图标:Calendar(或 el-icon-calendar
排序:根据需要设置(如:100)
是否显示:是
是否缓存:是
  1. 点击 "确定" 保存

第二步:配置权限节点

在刚创建的"挂号管理"菜单下,添加以下操作权限:

1. 挂号列表(已在菜单中配置)

权限名称:挂号列表
权限标识:doctor.appointment/lists

2. 挂号详情

权限名称:挂号详情
权限标识:doctor.appointment/detail
权限类型:按钮

3. 取消挂号

权限名称:取消挂号
权限标识:doctor.appointment/cancel
权限类型:按钮

4. 完成挂号

权限名称:完成挂号
权限标识:doctor.appointment/complete
权限类型:按钮

第三步:分配权限

  1. 进入 "权限管理" -> "角色管理"
  2. 选择需要使用挂号管理功能的角色(如:管理员、医生等)
  3. 点击 "编辑权限"
  4. 勾选刚才创建的"挂号管理"菜单及其下的所有权限
  5. 保存

第四步:验证配置

  1. 刷新页面或重新登录
  2. 在左侧菜单中应该能看到"挂号管理"菜单
  3. 点击进入,应该能看到挂号列表页面

功能测试

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: 检查以下几点:

  1. 确认"是否显示"设置为"是"
  2. 确认当前登录用户的角色有该菜单权限
  3. 刷新页面或重新登录

Q2: 列表显示为空?

A: 检查以下几点:

  1. 确认数据库表已创建
  2. 确认有挂号数据
  3. 检查浏览器控制台是否有错误

Q3: 搜索功能不工作?

A: 检查以下几点:

  1. 确认输入的搜索条件正确
  2. 确认数据库中有匹配的数据
  3. 检查浏览器控制台是否有错误

Q4: 取消/完成按钮不显示?

A: 检查以下几点:

  1. 确认当前用户有相应的权限
  2. 只有"已预约"状态的记录才显示这两个按钮
  3. "已取消"和"已完成"状态的记录不显示操作按钮

系统架构

前端(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 - 时间段修复说明

技术支持

如果遇到问题,请检查:

  1. 浏览器控制台的错误信息
  2. 后端日志文件
  3. 数据库连接是否正常
  4. 权限配置是否正确