Files
zyt/PRESCRIPTION_IMPORT_FEATURE.md
T
2026-03-23 18:02:16 +08:00

7.0 KiB

处方导入功能说明

功能概述

在中医处方单组件中新增了"从处方库导入"功能,允许医生快速从处方库中选择已保存的处方模板,一键导入药材配方。

使用位置

组件路径: admin/src/components/tcm-prescription/index.vue

功能位置: 中药处方 (RP) 区域,"添加中药"按钮旁边

使用方法

1. 打开处方库

在编辑处方时,点击"从处方库导入"按钮,会弹出处方库选择对话框。

2. 搜索处方

  • 在搜索框中输入处方名称
  • 按回车键或点击搜索按钮进行搜索
  • 支持模糊搜索

3. 选择处方

有两种方式导入处方:

方式一:点击"导入"按钮

  • 在列表中找到需要的处方
  • 点击右侧的"导入"按钮

方式二:点击行

  • 直接点击处方所在的行
  • 自动导入该处方

4. 导入结果

  • 导入成功后,药材列表会自动填充
  • 显示成功提示:已导入处方「处方名称」,共X味药材
  • 对话框自动关闭

功能特点

1. 实时搜索

  • 支持按处方名称搜索
  • 清空搜索框自动刷新列表

2. 分页显示

  • 默认每页显示15条
  • 支持切换每页10/15/20/50条
  • 显示总记录数

3. 详细信息

列表显示以下信息:

  • 处方名称
  • 药材数量(X味)
  • 药材明细(药材名称 + 剂量)
  • 创建人

4. 权限控制

  • 显示自己创建的所有处方
  • 显示其他人创建的公开处方
  • 不显示其他人的私有处方

5. 数据安全

  • 深拷贝药材数据,避免引用问题
  • 导入前验证药材数据是否存在

界面示例

┌─────────────────────────────────────────────────────┐
│ 从处方库导入                                    [×] │
├─────────────────────────────────────────────────────┤
│ [请输入处方名称搜索________________] [搜索]        │
│                                                     │
│ ┌─────────────────────────────────────────────────┐ │
│ │ 处方名称 │ 药材数量 │ 药材明细 │ 创建人 │ 操作 │ │
│ ├─────────────────────────────────────────────────┤ │
│ │ 六味地黄丸│ 6味     │ 熟地黄24g、山茱萸12g...│ │
│ │          │         │                    │张医生│导入│ │
│ ├─────────────────────────────────────────────────┤ │
│ │ 补中益气汤│ 8味     │ 黄芪15g、党参10g...    │ │
│ │          │         │                    │李医生│导入│ │
│ └─────────────────────────────────────────────────┘ │
│                                                     │
│ 共2条 [10] [15] [20] [50] [<] [1] [>]             │
└─────────────────────────────────────────────────────┘

技术实现

1. API接口

使用处方库列表接口:

prescriptionLibraryLists({
    page_no: 1,
    page_size: 15,
    prescription_name: '搜索关键词',
    is_public: ''
})

2. 数据结构

处方库返回的数据格式:

{
    lists: [
        {
            id: 1,
            prescription_name: '六味地黄丸',
            herbs: [
                { name: '熟地黄', dosage: 24 },
                { name: '山茱萸', dosage: 12 },
                // ...
            ],
            creator_name: '张医生',
            is_public: 1
        }
    ],
    count: 10
}

3. 导入逻辑

const handleImportLibrary = (row: any) => {
    // 1. 验证数据
    if (!row.herbs || row.herbs.length === 0) {
        feedback.msgWarning('该处方没有药材信息')
        return
    }

    // 2. 深拷贝数据
    const importedHerbs = JSON.parse(JSON.stringify(row.herbs))
    
    // 3. 替换当前药材列表
    formData.herbs = importedHerbs

    // 4. 提示成功
    feedback.msgSuccess(`已导入处方「${row.prescription_name}」`)
    
    // 5. 关闭对话框
    showLibraryDialog.value = false
}

注意事项

1. 数据覆盖

  • 导入处方会替换当前的药材列表
  • 如果已经添加了药材,导入后会被覆盖
  • 建议在开始编辑时就导入处方

2. 数据验证

  • 导入前会验证处方是否有药材数据
  • 如果处方为空,会提示错误

3. 权限限制

  • 只能看到自己的处方和公开的处方
  • 私有处方不会显示在列表中

4. 搜索范围

  • 搜索只针对处方名称
  • 不支持按药材名称搜索

使用场景

场景1:快速开方

医生经常开"六味地黄丸"处方,可以:

  1. 点击"从处方库导入"
  2. 搜索"六味地黄丸"
  3. 点击导入
  4. 药材自动填充,无需手动输入

场景2:参考经典处方

医生想参考其他医生的处方:

  1. 打开处方库
  2. 浏览公开的处方
  3. 选择合适的处方导入
  4. 根据患者情况调整剂量

场景3:标准化处方

医院推广标准处方:

  1. 管理员创建标准处方并设为公开
  2. 所有医生都能看到和使用
  3. 确保处方的一致性

优势

  1. 提高效率 - 无需手动输入药材,节省时间
  2. 减少错误 - 避免手动输入导致的错误
  3. 标准化 - 使用标准处方模板,确保质量
  4. 知识共享 - 医生之间可以分享处方经验
  5. 快速学习 - 新医生可以参考资深医生的处方

后续优化建议

  1. 批量导入 - 支持一次导入多个处方
  2. 处方预览 - 导入前预览处方详情
  3. 智能推荐 - 根据诊断自动推荐处方
  4. 使用统计 - 显示处方使用次数
  5. 收藏功能 - 收藏常用处方,快速访问

常见问题

Q1: 导入后可以修改吗?

A: 可以。导入后可以自由添加、删除、修改药材。

Q2: 导入会覆盖已有的药材吗?

A: 是的。导入会替换当前所有药材,建议在开始时就导入。

Q3: 为什么看不到某个处方?

A: 可能是该处方设置为私有,只有创建者可见。

Q4: 可以导入后再保存到处方库吗?

A: 可以。导入、修改后,可以通过"是否共享"选项保存为新的处方模板。

Q5: 搜索不到处方怎么办?

A: 检查处方名称是否正确,或清空搜索框查看所有处方。

技术支持

如有问题或建议,请联系技术支持团队。


版本: v1.0.0
更新日期: 2026-03-22
状态: 已完成