200 lines
6.1 KiB
Markdown
200 lines
6.1 KiB
Markdown
# 处方"每天几次"功能添加说明
|
||
|
||
## 功能描述
|
||
|
||
在中医处方单中添加"每天几次"字段,用于记录患者每天需要服用药物的次数。
|
||
|
||
## 修改内容
|
||
|
||
### 1. 表单界面(admin/src/components/tcm-prescription/index.vue)
|
||
|
||
#### 添加表单字段(第 139-145 行)
|
||
|
||
在"服用天数"字段后面添加"每天几次"输入框:
|
||
|
||
```vue
|
||
<el-col :span="8">
|
||
<el-form-item label="服用天数" prop="usage_days">
|
||
<el-input-number v-model="formData.usage_days" :min="1" :max="365" class="!w-full" />
|
||
</el-form-item>
|
||
</el-col>
|
||
<el-col :span="8">
|
||
<el-form-item label="每天几次" prop="times_per_day">
|
||
<el-input-number v-model="formData.times_per_day" :min="1" :max="10" class="!w-full" placeholder="每天服用次数" />
|
||
</el-form-item>
|
||
</el-col>
|
||
```
|
||
|
||
**字段说明:**
|
||
- 字段名:`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<PrescriptionForm>({
|
||
// ... 其他字段
|
||
usage_days: 7,
|
||
times_per_day: 2, // 新增,默认每天2次
|
||
usage_instruction: '水煎服,一日二次',
|
||
// ... 其他字段
|
||
})
|
||
```
|
||
|
||
### 4. 处方预览显示(第 280-285 行)
|
||
|
||
在处方打印预览中显示"每天几次"信息:
|
||
|
||
```vue
|
||
<div class="footer-dosage">
|
||
服用{{ savedPrescription.usage_days || savedPrescription.dose_count }}天{{ savedPrescription.times_per_day ? ',每天' + savedPrescription.times_per_day + '次' : '' }}, {{ savedPrescription.prescription_type }}
|
||
{{ savedPrescription.usage_instruction }}
|
||
</div>
|
||
```
|
||
|
||
**显示效果:**
|
||
- 如果设置了 `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` - 处方组件主文件
|
||
- 后端需要修改的文件(待确认):
|
||
- 处方模型文件
|
||
- 处方控制器文件
|
||
- 数据库迁移文件
|