fix(diagnosis): 修复诊断类型字段处理逻辑
- 移除medTypeCode的默认值'11',改为undefined以避免强制设置默认类型 - 在新增诊断时不再预设诊断类型,要求用户主动选择 - 从已保存的数据中获取medTypeCode值而不是使用固定默认值 - 添加诊断类型选择验证,在保存时检查是否所有诊断都选择了类型 - 在完诊前验证诊断信息完整性,包括诊断存在性、类型选择和主诊断设置 - 优化UI显示逻辑,当诊断类型选项未加载完成时显示加载状态提示 - 调整删除按钮显示逻辑,改进弹窗确认交互体验
This commit is contained in:
@@ -640,7 +640,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('操作成功');
|
||||
|
||||
Reference in New Issue
Block a user