From 8845fdcd70930cd7394150a753bb6dae58f9e845 Mon Sep 17 00:00:00 2001 From: wangjian963 <15215920+aprilry@user.noreply.gitee.com> Date: Wed, 24 Jun 2026 11:17:34 +0800 Subject: [PATCH] =?UTF-8?q?=20fix(doctorstation):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=8C=BB=E5=98=B1tab=E9=A1=B5=E8=AF=8A=E6=96=AD=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E3=80=81=E8=BE=93=E5=85=A5=E6=A1=86=E7=84=A6=E7=82=B9?= =?UTF-8?q?=E5=8F=8A=E6=95=B0=E6=8D=AE=E6=87=92=E5=8A=A0=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 诊断下拉框改为只读显示,仅显示主诊断,移除无主诊断时的兜底逻辑 - 编辑区所有数字输入框(el-input-number)改为el-input,修复执行次数等输入框无法聚焦问题 - 医嘱数据加载改为切到医嘱tab时触发,不再在选患者时预加载 - focus选择器从.el-input-number__inner适配为.el-input__inner --- .../prescription/prescriptionlist.vue | 75 ++++++------------- .../src/views/doctorstation/index.vue | 3 +- 2 files changed, 23 insertions(+), 55 deletions(-) diff --git a/healthlink-his-ui/src/views/doctorstation/components/prescription/prescriptionlist.vue b/healthlink-his-ui/src/views/doctorstation/components/prescription/prescriptionlist.vue index 3b6d1f8d5..7a5324004 100755 --- a/healthlink-his-ui/src/views/doctorstation/components/prescription/prescriptionlist.vue +++ b/healthlink-his-ui/src/views/doctorstation/components/prescription/prescriptionlist.vue @@ -69,19 +69,13 @@ 删除 诊断: - - - + readonly + disabled + /> 费用性质: - @@ -419,15 +410,12 @@ class="required-field" data-prop="doseQuantity" > - @@ -455,11 +443,9 @@ class="required-field" data-prop="dose" > - - - @@ -666,13 +647,11 @@ class="required-field" data-prop="quantity" > - @@ -753,13 +732,11 @@ class="required-field" data-prop="quantity" > - @@ -848,13 +825,11 @@ class="required-field" data-prop="quantity" > - @@ -2220,7 +2195,6 @@ function getListInfo(addNewRow) { // 关键:先等待处方列表数据获取完成 isAdding.value = false; const res = await getPrescriptionList(props.patientInfo.encounterId); - // 🔧 BugFix: 过滤掉已作废(statusEnum=5)的会诊医嘱 const filteredData = res.data.filter(item => { // 防止 contentJson 为空或 undefined 导致 JSON.parse 报错 @@ -2329,13 +2303,6 @@ function getDiagnosisInfo() { encounterDiagnosisId.value = diagnosisInfo[0].encounterDiagnosisId; diagnosisName.value = diagnosisInfo[0].name; console.log('getDiagnosisInfo - 已设置主诊断:', diagnosisInfo[0]); - } else if (diagnosisList.value.length > 0) { - // 如果没有主诊断,使用第一个诊断 - conditionDefinitionId.value = diagnosisList.value[0].definitionId; - conditionId.value = diagnosisList.value[0].conditionId; - encounterDiagnosisId.value = diagnosisList.value[0].encounterDiagnosisId; - diagnosisName.value = diagnosisList.value[0].name; - console.log('getDiagnosisInfo - 已设置第一个诊断:', diagnosisList.value[0]); } return res; }).catch((error) => { @@ -2668,15 +2635,15 @@ function selectAdviceBase(key, row) { const lastExpandedRow = expandedRows[expandedRows.length - 1]; // 查找doseQuantity输入框(优先) - let targetInput = lastExpandedRow.querySelector('[data-prop="doseQuantity"] .el-input-number__inner'); - + let targetInput = lastExpandedRow.querySelector('[data-prop="doseQuantity"] .el-input__inner'); + // 如果没找到,尝试其他方式 if (!targetInput && row.adviceType == 1) { - // 西药的情况:找第一个el-input-number - targetInput = lastExpandedRow.querySelector('.el-input-number__inner'); + // 西药的情况:找第一个el-input + targetInput = lastExpandedRow.querySelector('.el-input__inner'); } else if (!targetInput) { // 诊疗/耗材的情况:找quantity输入框 - targetInput = lastExpandedRow.querySelector('[data-prop="quantity"] .el-input-number__inner'); + targetInput = lastExpandedRow.querySelector('[data-prop="quantity"] .el-input__inner'); } // 最后的备用方案 diff --git a/healthlink-his-ui/src/views/doctorstation/index.vue b/healthlink-his-ui/src/views/doctorstation/index.vue index e3e6c39da..2283c5ed1 100755 --- a/healthlink-his-ui/src/views/doctorstation/index.vue +++ b/healthlink-his-ui/src/views/doctorstation/index.vue @@ -718,6 +718,7 @@ function handleClick(tab) { diagnosisRef.value.getDetail(patientInfo.value.encounterId); break; case 'prescription': + prescriptionRef.value.getListInfo(); prescriptionRef.value.getDiagnosisInfo(); break; case 'tcm': @@ -848,7 +849,7 @@ function handleCardClick(item, index) { updatePatientInfo(item); activeTab.value = 'hospitalizationEmr'; nextTick(() => { - prescriptionRef.value.getListInfo(); + // 医嘱数据改为切换到对应tab时才加载 tcmRef.value.getListInfo(); inspectionRef.value.getList(); if(examinationRef.value) examinationRef.value.getList();