From 20dade7bf0e603d412cdbee1643eddcff3594abc Mon Sep 17 00:00:00 2001 From: Ranyunqiao <2499115710@qq.com> Date: Wed, 24 Jun 2026 13:45:20 +0800 Subject: [PATCH] bug 800 802 803 804 805 --- .../migration/V20260624__fix_menu_parent_ids.sql | 9 +++++++++ .../MedicalDeviceDispenseMapper.xml | 2 +- .../pharmacymanage/MedicationDetailsMapper.xml | 2 +- .../PendingMedicationDetailsMapper.xml | 2 +- .../pharmacymanage/ReturnMedicineMapper.xml | 2 +- .../SummaryDispenseMedicineMapper.xml | 2 +- .../WesternMedicineDispenseMapper.xml | 2 +- .../home/components/order/index.vue | 15 ++++++++++++--- 8 files changed, 27 insertions(+), 9 deletions(-) create mode 100644 healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V20260624__fix_menu_parent_ids.sql diff --git a/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V20260624__fix_menu_parent_ids.sql b/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V20260624__fix_menu_parent_ids.sql new file mode 100644 index 000000000..c4a7bf21f --- /dev/null +++ b/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V20260624__fix_menu_parent_ids.sql @@ -0,0 +1,9 @@ +-- 修复 电子健康卡 & 电子发票 的 parent_id 为 基础数据 (211) +UPDATE sys_menu +SET parent_id = (SELECT menu_id FROM sys_menu WHERE menu_name = '基础数据' AND menu_type = 'M' LIMIT 1) +WHERE menu_name IN ('电子健康卡', '电子发票') AND (parent_id IS NULL OR parent_id NOT IN (SELECT menu_id FROM sys_menu)); + +-- 修复 传染病报卡 的 parent_id 为 院感管理 (10001) +UPDATE sys_menu +SET parent_id = (SELECT menu_id FROM sys_menu WHERE menu_name = '院感管理' AND menu_type = 'M' LIMIT 1) +WHERE menu_name = '传染病报卡' AND (parent_id IS NULL OR parent_id NOT IN (SELECT menu_id FROM sys_menu)); diff --git a/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/pharmacymanage/MedicalDeviceDispenseMapper.xml b/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/pharmacymanage/MedicalDeviceDispenseMapper.xml index b8d839ecd..ca2277b8f 100755 --- a/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/pharmacymanage/MedicalDeviceDispenseMapper.xml +++ b/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/pharmacymanage/MedicalDeviceDispenseMapper.xml @@ -1,6 +1,6 @@ - + select A.outpatient_no, diff --git a/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/pharmacymanage/PendingMedicationDetailsMapper.xml b/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/pharmacymanage/PendingMedicationDetailsMapper.xml index dda4c235b..d715776be 100755 --- a/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/pharmacymanage/PendingMedicationDetailsMapper.xml +++ b/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/pharmacymanage/PendingMedicationDetailsMapper.xml @@ -1,6 +1,6 @@ - + SELECT ii.reception_time, ii.start_time, diff --git a/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/pharmacymanage/SummaryDispenseMedicineMapper.xml b/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/pharmacymanage/SummaryDispenseMedicineMapper.xml index bdda5bb22..25bf67f7e 100755 --- a/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/pharmacymanage/SummaryDispenseMedicineMapper.xml +++ b/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/pharmacymanage/SummaryDispenseMedicineMapper.xml @@ -1,4 +1,4 @@ - + diff --git a/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/pharmacymanage/WesternMedicineDispenseMapper.xml b/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/pharmacymanage/WesternMedicineDispenseMapper.xml index b8c856fda..35237c4e6 100755 --- a/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/pharmacymanage/WesternMedicineDispenseMapper.xml +++ b/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/pharmacymanage/WesternMedicineDispenseMapper.xml @@ -1,6 +1,6 @@ - + diff --git a/healthlink-his-ui/src/views/inpatientDoctor/home/components/order/index.vue b/healthlink-his-ui/src/views/inpatientDoctor/home/components/order/index.vue index 02e8e484c..b6ad77956 100755 --- a/healthlink-his-ui/src/views/inpatientDoctor/home/components/order/index.vue +++ b/healthlink-his-ui/src/views/inpatientDoctor/home/components/order/index.vue @@ -1529,13 +1529,17 @@ function getAdviceTableRef() { function handleBlur(row) { // 延迟关闭弹窗,等待 click 事件在弹出层内容上正常触发 // 原因:浏览器 blur 事件先于 click 触发;同步关闭会移除 DOM,导致 click 丢失 - // 如果用户在弹出层内点击药品行,selectAdviceBase 会在 150ms 内设 showPopover=false + // 如果用户在弹出层内点击药品行,selectAdviceBase 会在 200ms 内设 showPopover=false // 此处的赋值变为 no-op(false→false),弹窗正常关闭且数据正确填充 setTimeout(() => { - row.showPopover = false; + // 通过uniqueKey找到当前行,确保popover关闭 + const currentRow = prescriptionList.value.find(r => r.uniqueKey === row.uniqueKey); + if (currentRow) { + currentRow.showPopover = false; + } // Bug #587: 标记弹窗刚关闭,防止点击空白处时触发行展开 popoverJustClosedByKey.value = row.uniqueKey; - }, 150); + }, 200); } function handleChange(value, row, index) { @@ -1596,6 +1600,10 @@ function selectAdviceBase(key, row) { } catch (e) { console.warn('setValue error:', e); } + // 确保在 setValue 之后再次设置 showPopover 为 false,防止被覆盖 + if (prescriptionList.value[rowIndex.value]) { + prescriptionList.value[rowIndex.value].showPopover = false; + } // Bug #589: 出院带药选择药品后恢复类型标志 if (prescriptionList.value[rowIndex.value]?.dischargeFlag) { prescriptionList.value[rowIndex.value].adviceType = 7; @@ -2341,6 +2349,7 @@ function setValue(row) { const updatedRow = { ...prevRow, ...baseRow, + showPopover: false, // 确保选择药品后关闭弹窗 uniqueKey: currentUniqueKey, // 确保 uniqueKey 不被覆盖 // Bug #589: 出院带药在 baseRow 中被药品的 adviceType=1 覆盖,此处恢复 dischargeFlag: prevRow.dischargeFlag, // 显式保留,防止被 baseRow 中的 undefined/null/0 覆盖