Files
zyt/处方单字段修改说明.md
T
2026-03-20 18:00:19 +08:00

4.5 KiB

处方单字段修改说明

修改内容

将处方单中的"数量规格"和"用法"字段修改为更符合实际使用的"服用天数"、"类型"和"服用说明"。

修改前后对比

修改前

数量规格:[数字输入框] [下拉选择:剂/丸/袋/盒/瓶/膏/贴/包/片/粒]
用法:[文本输入框,如:水煎服一日二次]

修改后

服用天数:[数字输入框,1-999天]
类型:[下拉选择:浓缩水丸/饮片]
服用说明:[下拉选择:饭前/饭后]

详细修改

1. 表单字段布局

文件: admin/src/components/tcm-prescription/index.vue

修改前:

  • 数量规格(12列):数字输入框 + 单位下拉框
  • 用法(12列):文本输入框

修改后:

  • 服用天数(8列):数字输入框(1-999)
  • 类型(8列):下拉选择框(浓缩水丸/饮片)
  • 服用说明(8列):下拉选择框(饭前/饭后)

2. 字段定义

服用天数 (dose_count)

  • 类型:数字
  • 范围:1-999
  • 默认值:1
  • 说明:患者需要服用的天数

类型 (dose_unit)

  • 类型:字符串
  • 选项:
    • 浓缩水丸
    • 饮片
  • 默认值:浓缩水丸
  • 说明:药品的类型

服用说明 (usage_instruction)

  • 类型:字符串
  • 选项:
    • 饭前
    • 饭后
  • 默认值:饭前
  • 说明:服用时间说明

3. 打印预览显示

修改前:

共7剂, 水煎服一日二次

修改后:

服用7天, 浓缩水丸, 饭前

4. 代码修改位置

4.1 表单布局 (第112-127行)

<el-col :span="8">
    <el-form-item label="服用天数" prop="dose_count">
        <el-input-number v-model="formData.dose_count" :min="1" :max="999" class="!w-full" />
    </el-form-item>
</el-col>
<el-col :span="8">
    <el-form-item label="类型" prop="dose_unit">
        <el-select v-model="formData.dose_unit" placeholder="请选择类型" class="!w-full">
            <el-option label="浓缩水丸" value="浓缩水丸" />
            <el-option label="饮片" value="饮片" />
        </el-select>
    </el-form-item>
</el-col>
<el-col :span="8">
    <el-form-item label="服用说明" prop="usage_instruction">
        <el-select v-model="formData.usage_instruction" placeholder="请选择服用说明" class="!w-full">
            <el-option label="饭前" value="饭前" />
            <el-option label="饭后" value="饭后" />
        </el-select>
    </el-form-item>
</el-col>

4.2 打印预览显示 (第215-218行)

<div class="footer-dosage">
    服用{{ savedPrescription.dose_count }}, {{ savedPrescription.dose_unit || '浓缩水丸' }}, {{ savedPrescription.usage_instruction }}
</div>

4.3 默认值设置 (多处)

// formData 初始化
dose_count: 1,
dose_unit: '浓缩水丸',
usage_instruction: '饭前',

// open 方法中
formData.dose_count = 1
formData.dose_unit = '浓缩水丸'
formData.usage_instruction = '饭前'

// handleNewPrescription 方法中
formData.dose_count = 1
formData.dose_unit = saved.dose_unit || '浓缩水丸'
formData.usage_instruction = '饭前'

// handleSave 方法中
dose_unit: formData.dose_unit || '浓缩水丸',

数据库字段

这些字段在数据库中的存储保持不变:

  • dose_count: int - 服用天数
  • dose_unit: varchar - 类型(浓缩水丸/饮片)
  • usage_instruction: varchar - 服用说明(饭前/饭后)

使用示例

示例1:浓缩水丸,饭前服用

服用天数:7
类型:浓缩水丸
服用说明:饭前

打印显示:服用7天, 浓缩水丸, 饭前

示例2:饮片,饭后服用

服用天数:14
类型:饮片
服用说明:饭后

打印显示:服用14天, 饮片, 饭后

注意事项

  1. 字段必填性: 所有三个字段都应该填写,系统会使用默认值
  2. 数据兼容性: 旧数据中的 dose_unit 可能包含其他值(如"剂"、"丸"等),系统会正常显示
  3. 打印格式: 打印时会按照"服用X天, 类型, 服用说明"的格式显示
  4. 扩展性: 如需添加更多类型或服用说明选项,只需在下拉框中添加 <el-option> 即可

后续优化建议

  1. 字典管理: 可以将"类型"和"服用说明"的选项移到字典表中管理,便于后期维护
  2. 自定义输入: 可以考虑添加"其他"选项,允许用户自定义输入
  3. 服用次数: 可以考虑添加"每日服用次数"字段,如"一日二次"
  4. 服用量: 可以考虑添加"每次服用量"字段,如"每次10克"