diff --git a/.agentforge/analysis/556.md b/.agentforge/analysis/556.md new file mode 100644 index 00000000..eb74f6b3 --- /dev/null +++ b/.agentforge/analysis/556.md @@ -0,0 +1,27 @@ +# 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