diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/index.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/index.vue index ef47a8e7..58495e87 100755 --- a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/index.vue +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/index.vue @@ -631,6 +631,12 @@ function getListInfo(addNewRow) { handleAddPrescription(); } }); + }).catch((err) => { + console.error('处方列表加载失败:', err); + // 🔧 Bug #405 修复:列表加载失败时,确保所有行被锁定(isEdit=false) + // 防止行永久处于可编辑状态 + prescriptionList.value.forEach(item => { item.isEdit = false; }); + loadingInstance.close(); }); getContract({ encounterId: patientInfo.value.encounterId }).then((res) => { contractList.value = res.data; @@ -1443,6 +1449,12 @@ function handleSaveBatch() { }) .catch((error) => { isSaving.value = false; + // 🔧 Bug #405 修复:保存失败时也锁定行,防止行永久处于可编辑状态 + filterPrescriptionList.value.forEach(item => { + if (item.statusEnum == 1 && !item.requestId) { + item.isEdit = false; + } + }); proxy.$modal.msgError(error?.msg || '保存失败,请重试'); }); }