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();