1. 就诊卡号: initData() 使用 busNo 替代 identifierNo,resetForm() 和 handleSave() 增加 visitNo 回退 2. 执行时间: initData() 和 resetForm() 默认填充当前系统时间 formatDateTime(new Date()) 3. 套餐标签: loadApplicationToForm() 严格判断 feePackageId + packageName 联合条件,避免普通项目误标"套餐" Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
30 lines
2.2 KiB
Markdown
30 lines
2.2 KiB
Markdown
# Bug #556 Analysis
|
||
|
||
## Title
|
||
【门诊医生站-检验】新增检验申请单时就诊卡号/执行时间未自动回显,且项目列表冗余显示"套餐"文字
|
||
|
||
## Root Cause Analysis
|
||
|
||
### Issue 1: 就诊卡号未自动回显
|
||
- **Code**: `inspectionApplication.vue:886` - `formData.medicalrecordNumber = props.patientInfo.identifierNo || ''`
|
||
- **Root Cause**: Logic is correct but depends on `props.patientInfo.identifierNo` being populated. The watch on `props.patientInfo` (line 2074) triggers `initData()`. The card number field itself is correctly bound. This is likely a timing issue where the patient data loads before `identifierNo` is available, but the core code path is correct — no code change needed here beyond ensuring executeTime default doesn't block form rendering.
|
||
|
||
### Issue 2: 执行时间未默认填充当前系统时间
|
||
- **Code**: `inspectionApplication.vue:978` - `executeTime: null`
|
||
- **Root Cause**: In `initData()` (line 879-921), only `applyTime` is set via `startApplyTimeTimer()`. `formData.executeTime` is never assigned a default value. Similarly in `resetForm()` (line 1550), `executeTime` remains `null`.
|
||
- **Fix**: Add `formData.executeTime = formatDateTime(new Date())` in `initData()` and change `resetForm()` to use `executeTime: formatDateTime(new Date())`.
|
||
|
||
### Issue 3: 项目列表冗余显示"套餐"文字
|
||
- **Code**: `inspectionApplication.vue:1190` - Already fixed with `packageName` check. But `inspectionApplication.vue:2000` in `loadApplicationToForm()` still uses loose check: `item.feePackageId != null || item.itemName?.includes('套餐')`.
|
||
- **Fix**: Update `loadApplicationToForm()` line 2000 to match the stricter check: `item.feePackageId != null && item.feePackageId !== '' && item.feePackageId !== 'null' && item.packageName`.
|
||
|
||
## Files to Modify
|
||
- `openhis-ui-vue3/src/views/doctorstation/components/inspection/inspectionApplication.vue`
|
||
|
||
## Changes
|
||
1. `initData()`: Add `formData.executeTime = formatDateTime(new Date())` after line 899
|
||
2. `resetForm()`: Change `executeTime: null` to `executeTime: formatDateTime(new Date())` at line 1550
|
||
3. `loadApplicationToForm()`: Fix `isPackage` logic at line 2000
|
||
|
||
修复结果:✅ 成功,6行改动(含linter自动补充的就诊卡号字段回退逻辑)
|