修复了作废的中医诊断也显示出来的问题,
This commit is contained in:
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user