Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
@@ -459,10 +459,15 @@ function handleGetPrescription(skipAutoSelectAll = false) {
|
||||
// 执行
|
||||
function handleExecute() {
|
||||
let list = getSelectRows();
|
||||
if (list.length === 0) {
|
||||
proxy.$modal.msgWarning('请选择需要执行的医嘱');
|
||||
return;
|
||||
}
|
||||
let encounterIds = patientInfoList.value.map((i) => i.encounterId).join(',');
|
||||
list = list.map((item) => {
|
||||
return {
|
||||
requestId: item.requestId,
|
||||
encounterId: item.encounterId,
|
||||
accountId: item.accountId,
|
||||
adviceTable: item.adviceTable,
|
||||
executeTimes: item.executeTimes,
|
||||
@@ -473,14 +478,23 @@ function handleExecute() {
|
||||
if (res.code == 200) {
|
||||
// 仅当选中医嘱中包含诊疗类医嘱(可能绑定耗材)时,才调用耗材批号匹配
|
||||
// adviceTable 取值为 med_medication_request(药品)或 wor_service_request(诊疗/耗材)
|
||||
// 原代码用 includes('device') 判断有误,两个表名均不含 "device" 字符串
|
||||
const hasServiceRequest = list.some((item) =>
|
||||
String(item.adviceTable || '') === 'wor_service_request',
|
||||
);
|
||||
if (hasServiceRequest) {
|
||||
lotNumberMatch({ encounterIdList: encounterIds }, { skipErrorMsg: true }).catch((error) => {
|
||||
console.warn('lotNumberMatch failed after adviceExecute:', error);
|
||||
});
|
||||
// 仅传入选中医嘱对应的 encounterId,避免其他患者的耗材记录干扰
|
||||
const selectedEncounterIds = [...new Set(list.map((item) => item.encounterId).filter(Boolean))];
|
||||
if (selectedEncounterIds.length > 0) {
|
||||
lotNumberMatch({ encounterIdList: selectedEncounterIds }, { skipErrorMsg: true })
|
||||
.then((matchRes) => {
|
||||
if (matchRes && matchRes.code !== 200) {
|
||||
console.warn('lotNumberMatch returned error:', matchRes.msg);
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
console.warn('lotNumberMatch failed after adviceExecute:', error);
|
||||
});
|
||||
}
|
||||
}
|
||||
// 刷新列表(不自动全选,保持用户操作前的选择状态)
|
||||
handleGetPrescription(true);
|
||||
@@ -488,6 +502,9 @@ function handleExecute() {
|
||||
} else {
|
||||
proxy.$modal.msgError(res.msg || '医嘱执行失败');
|
||||
}
|
||||
}).catch((error) => {
|
||||
console.error('医嘱执行接口调用失败:', error);
|
||||
proxy.$modal.msgError('医嘱执行失败,请稍后重试');
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user