From bbf5029194bd1263cf0db776d70b39546950541a Mon Sep 17 00:00:00 2001 From: zhaoyun Date: Tue, 19 May 2026 19:06:54 +0800 Subject: [PATCH] =?UTF-8?q?Fix=20Bug=20#556:=20=E6=A0=B9=E5=9B=A0+?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=96=B9=E6=A1=88=E6=91=98=E8=A6=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .agentforge/analysis/556.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .agentforge/analysis/556.md 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