编辑 | blame | 历史 | 原始文档

医院科室选择功能 - 快速开始

一、执行SQL脚本(必须)

1. 进入MySQL

mysql -u root -p

2. 选择数据库

USE your_database_name;

3. 执行SQL脚本

source d:/project/急救转运/code/Api/RuoYi-Vue-master/sql/hospital_department_dict.sql;

或者直接在命令行执行:
bash mysql -u root -p your_database_name < d:/project/急救转运/code/Api/RuoYi-Vue-master/sql/hospital_department_dict.sql

4. 验证数据

-- 查看字典类型
SELECT * FROM sys_dict_type WHERE dict_type = 'hospital_department';

-- 查看科室数据(应该有30条记录)
SELECT dict_sort, dict_label, dict_value, list_class 
FROM sys_dict_data 
WHERE dict_type = 'hospital_department' 
ORDER BY dict_sort;

二、前端代码已完成

前端代码已经修改完成,包括:

✅ 已完成的修改

  1. 导入字典API
    javascript import { getDicts } from "@/api/dict"

  2. 添加数据字段
    javascript departmentOptions: [] // 科室字典数据

  3. 页面加载时获取科室数据
    javascript onLoad(options) { // ... 其他代码 this.loadDepartments() }

  4. 加载科室方法
    javascript loadDepartments() { getDicts('hospital_department').then(response => { this.departmentOptions = response.data || [] }) }

  5. 模板改为选择器

  • 转出医院科室:使用 <picker> 组件
  • 转入医院科室:使用 <picker> 组件
  1. 选择事件处理
  • onHospitalOutDepartmentChange() - 转出医院科室选择
  • onHospitalInDepartmentChange() - 转入医院科室选择

三、测试步骤

1. 启动后端服务

cd d:/project/急救转运/code/Api/RuoYi-Vue-master
./ry.bat

2. 启动前端(如果需要)

cd d:/project/急救转运/code/Api/RuoYi-Vue-master/app
npm run dev:h5

3. 测试功能

  1. 打开急救转运任务创建页面
  • 导航至:任务管理 > 创建急救转运任务
  1. 测试转出医院科室选择
  • 点击"转出医院"下的"科室"选择器
  • 应该显示30个科室选项
  • 选择任意科室(如:急诊科)
  • 确认选择器显示已选科室
  1. 测试转入医院科室选择
  • 点击"转入医院"下的"科室"选择器
  • 应该显示30个科室选项
  • 选择任意科室(如:ICU)
  • 确认选择器显示已选科室
  1. 测试数据提交
  • 填写完整表单
  • 点击"保存"按钮
  • 查看数据库 sys_task_emergency
  • 确认科室信息正确保存

四、后台管理(可选)

访问字典管理

系统管理 > 字典管理 > 数据字典

查看科室配置

  1. 在字典类型列表中找到"医院科室"
  2. 点击"字典配置"按钮
  3. 查看所有30个科室数据

新增科室(示例)

  1. 点击"新增"按钮
  2. 填写信息:
  • 字典标签:放射科
  • 字典键值:放射科
  • 字典排序:31
  • 列表样式:info
  • 状态:正常
  1. 保存
  2. 刷新前端页面,应该能看到新增的科室

五、常见问题

Q1: 科室列表为空?

A: 检查SQL脚本是否执行成功
sql SELECT COUNT(*) FROM sys_dict_data WHERE dict_type = 'hospital_department'; -- 应该返回 30

Q2: 前端不显示科室?

A:
1. 检查浏览器控制台是否有错误
2. 检查网络请求是否成功:/system/dict/data/type/hospital_department
3. 检查返回的数据格式是否正确

Q3: 选择后不显示科室名称?

A:
1. 检查 range-key="dictLabel" 是否设置正确
2. 检查数据结构中是否有 dictLabel 字段

Q4: 如何修改科室列表?

A:
1. 方法一:在后台管理系统中修改(推荐)
2. 方法二:修改 SQL 文件后重新执行

Q5: 如何添加更多科室?

A:
在 SQL 文件中添加新的 INSERT 语句:
sql INSERT INTO sys_dict_data(dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark) VALUES(31, '新科室名称', '新科室名称', 'hospital_department', '', 'info', 'N', '0', 'admin', SYSDATE(), '备注');

六、验证清单

  • [ ] SQL脚本执行成功
  • [ ] 数据库中有30条科室记录
  • [ ] 前端代码已更新
  • [ ] 转出医院科室选择器正常显示
  • [ ] 转入医院科室选择器正常显示
  • [ ] 选择科室后正确显示科室名称
  • [ ] 提交任务后科室数据正确保存
  • [ ] 后台字典管理可以查看科室列表

七、科室列表速查

序号 科室名称 分类 颜色标识
1 急诊科 急诊 红色(danger)
2 急救中心 急诊 红色(danger)
3 心内科 内科 蓝色(primary)
4 呼吸内科 内科 蓝色(primary)
5 消化内科 内科 蓝色(primary)
6 神经内科 内科 蓝色(primary)
7 肾内科 内科 蓝色(primary)
8 内分泌科 内科 蓝色(primary)
9 血液科 内科 蓝色(primary)
10 风湿免疫科 内科 蓝色(primary)
11 普外科 外科 绿色(success)
12 骨科 外科 绿色(success)
13 神经外科 外科 绿色(success)
14 心胸外科 外科 绿色(success)
15 泌尿外科 外科 绿色(success)
16 烧伤科 外科 绿色(success)
17 ICU 重症 橙色(warning)
18 CCU 重症 橙色(warning)
19 肿瘤科 专科 灰色(info)
20 感染科 专科 灰色(info)
21 儿科 专科 灰色(info)
22 妇产科 专科 灰色(info)
23 眼科 专科 灰色(info)
24 耳鼻喉科 专科 灰色(info)
25 口腔科 专科 灰色(info)
26 皮肤科 专科 灰色(info)
27 康复科 专科 灰色(info)
28 中医科 专科 灰色(info)
29 精神科 专科 灰色(info)
30 其他科室 其他 默认(default)

八、完成标志

当你看到以下界面时,说明功能已成功实现:

  1. 打开急救转运任务创建页面
  2. 转出医院的"科室"显示为选择器(有向右箭头)
  3. 点击后显示30个科室选项
  4. 选择后显示所选科室名称
  5. 转入医院的"科室"同样功能正常

恭喜!科室选择功能实现完成! 🎉