diff --git a/openhis-ui-vue3/src/views/inpatientNurse/medicalOrderExecution/components/prescriptionList.vue b/openhis-ui-vue3/src/views/inpatientNurse/medicalOrderExecution/components/prescriptionList.vue index 91a8baa2..36df2f50 100755 --- a/openhis-ui-vue3/src/views/inpatientNurse/medicalOrderExecution/components/prescriptionList.vue +++ b/openhis-ui-vue3/src/views/inpatientNurse/medicalOrderExecution/components/prescriptionList.vue @@ -469,11 +469,19 @@ function handleExecute() { console.log(list, 'list'); adviceExecute({ exeDate: exeDate.value, adviceExecuteDetailList: list }).then((res) => { if (res.code == 200) { - proxy.$modal.msgSuccess(res.msg || '医嘱执行成功'); handleGetPrescription(); - lotNumberMatch({ encounterIdList: encounterIds }, { skipErrorMsg: true }).catch((error) => { - console.warn('lotNumberMatch failed after adviceExecute:', error); - }); + // 仅当选中医嘱中包含药品/耗材类医嘱时,才调用耗材批号匹配 + const hasMedOrDevice = list.some( + (item) => + item.adviceTable === 'med_medication_request' || + String(item.adviceTable || '').includes('device'), + ); + if (hasMedOrDevice) { + lotNumberMatch({ encounterIdList: encounterIds }, { skipErrorMsg: true }).catch((error) => { + console.warn('lotNumberMatch failed after adviceExecute:', error); + }); + } + proxy.$modal.msgSuccess(res.msg || '医嘱执行成功'); } else { proxy.$modal.msgError(res.msg || '医嘱执行失败'); }