This commit is contained in:
Your Name
2026-03-20 18:00:19 +08:00
parent d765517b74
commit 18fee2e8f8
240 changed files with 976 additions and 280 deletions
+166
View File
@@ -0,0 +1,166 @@
# 处方单字段修改说明
## 修改内容
将处方单中的"数量规格"和"用法"字段修改为更符合实际使用的"服用天数"、"类型"和"服用说明"。
## 修改前后对比
### 修改前
```
数量规格:[数字输入框] [下拉选择:剂/丸/袋/盒/瓶/膏/贴/包/片/粒]
用法:[文本输入框,如:水煎服一日二次]
```
### 修改后
```
服用天数:[数字输入框,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行)
```vue
<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行)
```vue
<div class="footer-dosage">
服用{{ savedPrescription.dose_count }}, {{ savedPrescription.dose_unit || '浓缩水丸' }}, {{ savedPrescription.usage_instruction }}
</div>
```
#### 4.3 默认值设置 (多处)
```javascript
// 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克"