190 lines
5.4 KiB
Markdown
190 lines
5.4 KiB
Markdown
# 挂号管理系统配置指南
|
||
|
||
## 快速开始
|
||
|
||
挂号管理系统的代码已经全部完成,现在只需要在后台配置菜单和权限即可使用。
|
||
|
||
## 配置步骤
|
||
|
||
### 第一步:添加菜单
|
||
|
||
1. 登录后台管理系统
|
||
2. 进入 "权限管理" -> "菜单管理"
|
||
3. 点击 "添加菜单" 按钮
|
||
4. 填写以下信息:
|
||
|
||
```
|
||
菜单名称:挂号管理
|
||
菜单类型:菜单
|
||
上级菜单:中医诊断(或选择其他合适的父菜单)
|
||
菜单路径:tcm/appointment/list
|
||
组件路径:tcm/appointment/list
|
||
权限标识:doctor.appointment/lists
|
||
菜单图标:Calendar(或 el-icon-calendar)
|
||
排序:根据需要设置(如:100)
|
||
是否显示:是
|
||
是否缓存:是
|
||
```
|
||
|
||
5. 点击 "确定" 保存
|
||
|
||
### 第二步:配置权限节点
|
||
|
||
在刚创建的"挂号管理"菜单下,添加以下操作权限:
|
||
|
||
#### 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:
|
||
|
||
```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. 权限配置是否正确
|