# 处方"每天几次"功能添加说明 ## 功能描述 在中医处方单中添加"每天几次"字段,用于记录患者每天需要服用药物的次数。 ## 修改内容 ### 1. 表单界面(admin/src/components/tcm-prescription/index.vue) #### 添加表单字段(第 139-145 行) 在"服用天数"字段后面添加"每天几次"输入框: ```vue ``` **字段说明:** - 字段名:`times_per_day` - 类型:数字输入框 - 最小值:1 - 最大值:10 - 默认值:2 ### 2. TypeScript 类型定义(第 580-615 行) 在 `PrescriptionForm` 接口中添加字段: ```typescript interface PrescriptionForm { // ... 其他字段 usage_days: number times_per_day: number // 新增 usage_instruction: string // ... 其他字段 } ``` ### 3. 数据模型初始化(第 650-680 行) 在 `formData` 中添加默认值: ```typescript const formData = reactive({ // ... 其他字段 usage_days: 7, times_per_day: 2, // 新增,默认每天2次 usage_instruction: '水煎服,一日二次', // ... 其他字段 }) ``` ### 4. 处方预览显示(第 280-285 行) 在处方打印预览中显示"每天几次"信息: ```vue ``` **显示效果:** - 如果设置了 `times_per_day`:显示"服用7天,每天2次, 浓缩水丸 水煎服,一日二次" - 如果未设置:显示"服用7天, 浓缩水丸 水煎服,一日二次" ## 后端数据库支持 ### 需要添加的数据库字段 如果后端数据库表中还没有 `times_per_day` 字段,需要执行以下 SQL: ```sql -- 在处方表中添加 times_per_day 字段 ALTER TABLE `zyt_prescription` ADD COLUMN `times_per_day` INT(11) DEFAULT 2 COMMENT '每天服用次数' AFTER `usage_days`; -- 如果需要更新现有数据的默认值 UPDATE `zyt_prescription` SET `times_per_day` = 2 WHERE `times_per_day` IS NULL; ``` ### 后端 API 修改 确保后端接口支持 `times_per_day` 字段: 1. **创建/更新处方接口**:接收 `times_per_day` 参数 2. **查询处方接口**:返回 `times_per_day` 字段 3. **验证规则**:`times_per_day` 应该在 1-10 之间 ## 使用说明 ### 医生操作流程 1. 打开处方单编辑界面 2. 填写患者信息和诊断信息 3. 添加中药处方 4. 在"服用天数"字段输入天数(如:7) 5. 在"每天几次"字段输入次数(如:2) 6. 系统会在处方预览中显示:"服用7天,每天2次" ### 常见用法 - **每天2次**:早晚各一次(最常见) - **每天3次**:早中晚各一次 - **每天1次**:每日一次 - **每天4次**:每6小时一次 ## 测试要点 ### 前端测试 1. ✅ 输入框显示正常 2. ✅ 最小值限制(不能小于1) 3. ✅ 最大值限制(不能大于10) 4. ✅ 默认值为2 5. ✅ 预览显示正确 6. ✅ 保存后数据正确 ### 后端测试 1. ✅ 创建处方时保存 `times_per_day` 2. ✅ 更新处方时更新 `times_per_day` 3. ✅ 查询处方时返回 `times_per_day` 4. ✅ 数据验证(1-10范围) ### 集成测试 1. ✅ 创建处方 → 保存 → 查看预览 → 确认显示正确 2. ✅ 编辑处方 → 修改次数 → 保存 → 确认更新成功 3. ✅ 打印处方 → 确认打印内容包含"每天X次" ## 界面效果 ### 编辑界面 ``` ┌─────────────────────────────────────────────────┐ │ 处方类型: [浓缩水丸 ▼] │ ├─────────────────────────────────────────────────┤ │ 服用天数: [ 7 ] 每天几次: [ 2 ] │ ├─────────────────────────────────────────────────┤ │ 用法: 水煎服,一日二次 │ └─────────────────────────────────────────────────┘ ``` ### 预览界面 ``` 服用7天,每天2次, 浓缩水丸 水煎服,一日二次 服用时间: 饭前 服用方式: 温水送服 ``` ## 注意事项 1. **默认值**:新建处方时默认为每天2次(最常见的用法) 2. **范围限制**:限制在1-10次之间,超出范围的输入会被自动调整 3. **可选字段**:如果不填写,预览中不会显示"每天X次" 4. **与用法说明的关系**:`times_per_day` 是结构化数据,`usage_instruction` 是文字描述,两者可以互补 ## 兼容性 - ✅ 兼容现有处方数据(旧数据没有此字段时不显示) - ✅ 不影响现有功能 - ✅ 向后兼容 ## 后续优化建议 1. **智能提示**:根据处方类型自动推荐合适的服用次数 2. **关联验证**:与"用法"字段进行一致性检查 3. **统计分析**:统计不同处方类型的常用服用次数 4. **模板支持**:在处方模板中包含 `times_per_day` 字段 ## 完成状态 - ✅ 前端界面添加完成 - ✅ 数据模型更新完成 - ✅ 类型定义更新完成 - ✅ 预览显示更新完成 - ⏳ 等待后端数据库字段添加 - ⏳ 等待后端 API 支持 ## 相关文件 - `admin/src/components/tcm-prescription/index.vue` - 处方组件主文件 - 后端需要修改的文件(待确认): - 处方模型文件 - 处方控制器文件 - 数据库迁移文件