Files
his/.agentforge/analysis/556.md

2.1 KiB

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