2 Commits

Author SHA1 Message Date
7008fb007f Merge remote-tracking branch 'origin/develop' into develop
# Conflicts:
#	openhis-ui-vue3/src/views/doctorstation/components/diagnosis/diagnosis.vue
2026-03-04 15:34:12 +08:00
dc039fcced fix(diagnosis): 修复诊断类型字段处理逻辑
- 移除medTypeCode的默认值'11',改为undefined以避免强制设置默认类型
- 在新增诊断时不再预设诊断类型,要求用户主动选择
- 从已保存的数据中获取medTypeCode值而不是使用固定默认值
- 添加诊断类型选择验证,在保存时检查是否所有诊断都选择了类型
- 在完诊前验证诊断信息完整性,包括诊断存在性、类型选择和主诊断设置
- 优化UI显示逻辑,当诊断类型选项未加载完成时显示加载状态提示
- 调整删除按钮显示逻辑,改进弹窗确认交互体验
2026-03-04 15:33:25 +08:00
4 changed files with 38 additions and 7 deletions

View File

@@ -143,7 +143,7 @@ function handleOpen() {
ybNo: item.ybNo,
syndromeGroupNo: item.syndromeGroupNo,
verificationStatusEnum: 4,
medTypeCode: '11',
medTypeCode: item.medTypeCode || undefined, // 使用已保存的值
diagSrtNo: item.diagSrtNo,
isExisting: true // 标记为已存在
},
@@ -188,7 +188,7 @@ function handleOpen() {
ybNo: item.ybNo,
syndromeGroupNo: item.syndromeGroupNo,
verificationStatusEnum: item.verificationStatusEnum || 4,
medTypeCode: item.medTypeCode || '11',
medTypeCode: item.medTypeCode || undefined, // 使用已保存的值
diagSrtNo: item.diagSrtNo,
isExisting: true // 标记为已存在
},
@@ -227,7 +227,7 @@ function handleClickRow(row) {
ybNo: row.ybNo,
syndromeGroupNo: timestamp.value,
verificationStatusEnum: 4,
medTypeCode: '11',
medTypeCode: undefined, // 不设默认值
isExisting: false // 标记为新增
});
tcmDiagonsisList.value.push({

View File

@@ -623,7 +623,38 @@ function handleLeave(encounterId) {
});
}
function handleFinish(encounterId) {
async function handleFinish(encounterId) {
// 完诊前验证诊断信息
try {
const diagnosisRes = await getEncounterDiagnosis(encounterId);
if (diagnosisRes.code === 200) {
const diagnosisList = diagnosisRes.data || [];
// 检查是否有诊断
if (diagnosisList.length === 0) {
proxy.$modal.msgWarning('请先添加诊断信息');
return;
}
// 检查诊断类型是否为空
const emptyMedType = diagnosisList.find(d => !d.medTypeCode);
if (emptyMedType) {
proxy.$modal.msgWarning('请选择诊断类型');
return;
}
// 检查是否有主诊断
if (!diagnosisList.some(d => d.maindiseFlag === 1)) {
proxy.$modal.msgWarning('请至少设置一条主诊断');
return;
}
}
} catch (error) {
console.error('获取诊断信息失败:', error);
proxy.$modal.msgWarning('获取诊断信息失败,请重试');
return;
}
completeEncounter({ encounterId, firstEnum: firstEnum.value }).then((res) => {
if (res.code == 200) {
proxy.$modal.msgSuccess('操作成功');

View File

@@ -153,7 +153,7 @@ function handleClickRow(row) {
ybNo: row.ybNo,
syndromeGroupNo: timestamp.value,
verificationStatusEnum: 4,
medTypeCode: '11',
medTypeCode: undefined, // 不设默认值
});
tcmDiagonsisList.value.push({
conditionName: row.name,

View File

@@ -415,7 +415,7 @@ function handleAddDiagnosis() {
showPopover: false,
name: undefined,
verificationStatusEnum: 4,
medTypeCode: '11',
medTypeCode: undefined, // 不设默认值
diagSrtNo: form.value.diagnosisList.length + 1,
iptDiseTypeCode: 2,
diagnosisDesc: '',
@@ -632,7 +632,7 @@ function handleNodeClick(data) {
ybNo: data.ybNo,
name: data.name,
verificationStatusEnum: 4,
medTypeCode: '11',
medTypeCode: undefined, // 不设默认值
diagSrtNo: form.value.diagnosisList.length + 1,
definitionId: data.definitionId,
diagnosisDoctor: props.patientInfo.practitionerName || props.patientInfo.doctorName || props.patientInfo.physicianName || userStore.name,