修复了作废的中医诊断也显示出来的问题,

This commit is contained in:
2025-12-30 09:56:39 +08:00
parent 999a0992e7
commit 5ffeab8999
3 changed files with 108 additions and 37 deletions

View File

@@ -91,6 +91,8 @@ import {
getTcmCondition,
getTcmSyndrome,
saveTcmDiagnosis,
deleteTcmDiagnosis,
getTcmDiagnosis,
} from '@/views/doctorstation/components/api';
const props = defineProps({
@@ -115,9 +117,38 @@ const { proxy } = getCurrentInstance();
const emit = defineEmits(['close']);
function handleOpen() {
// 加载诊断和证候选项
getTcmCondition().then((res) => {
conditionList.value = res.data.records;
});
// 加载已保存的中医诊断
getTcmDiagnosis({ encounterId: props.patientInfo.encounterId }).then((res) => {
if (res.data && res.data.illness && res.data.illness.length > 0) {
tcmDiagonsisList.value = [];
tcmDiagonsisSaveList.value = [];
res.data.illness.forEach((illness, index) => {
const symptom = res.data.symptom[index];
const syndromeGroupNo = illness.syndromeGroupNo || symptom.syndromeGroupNo;
tcmDiagonsisList.value.push({
conditionName: illness.name,
syndromeName: symptom.name,
syndromeGroupNo: syndromeGroupNo,
isSaved: true, // 标记为已保存的诊断
});
tcmDiagonsisSaveList.value.push({
definitionId: illness.definitionId,
syndromeGroupNo: syndromeGroupNo,
isSaved: true,
});
});
}
}).catch((error) => {
console.error('加载中医诊断失败:', error);
});
}
// 点击诊断列表处理,点击以后才显示证候列表
@@ -155,10 +186,34 @@ function clickSyndromeRow(row) {
// 删除诊断
function removeDiagnosis(row, index) {
tcmDiagonsisList.value.splice(index, 1);
tcmDiagonsisSaveList.value = tcmDiagonsisSaveList.filter((item) => {
return item.syndromeGroupNo !== row.syndromeGroupNo;
});
// 如果是已保存的诊断需要调用API从服务器删除
if (row.isSaved && row.syndromeGroupNo) {
proxy.$modal.confirm('确定要删除这个中医诊断吗?').then(() => {
deleteTcmDiagnosis(row.syndromeGroupNo).then((res) => {
if (res.code === 200) {
proxy.$modal.msgSuccess('删除成功');
// 从列表中移除
tcmDiagonsisList.value.splice(index, 1);
tcmDiagonsisSaveList.value = tcmDiagonsisSaveList.value.filter((item) => {
return item.syndromeGroupNo !== row.syndromeGroupNo;
});
} else {
proxy.$modal.msgError(res.msg || '删除失败');
}
}).catch((error) => {
console.error('删除中医诊断失败:', error);
proxy.$modal.msgError('删除失败,请重试');
});
}).catch(() => {
// 用户取消删除
});
} else {
// 未保存的诊断,直接从数组中删除
tcmDiagonsisList.value.splice(index, 1);
tcmDiagonsisSaveList.value = tcmDiagonsisSaveList.value.filter((item) => {
return item.syndromeGroupNo !== row.syndromeGroupNo;
});
}
}
function save() {