bug519 [门诊医生站-诊断-报卡] 已完成传染病报卡的诊断在再次点保存时重复弹出报卡界面

Number()导致conditionId精度丢失,conditionId现在会在所有传染病诊断中选择
This commit is contained in:
2026-05-20 17:35:26 +08:00
parent ed7e4bbeb3
commit 474aa894fd
2 changed files with 14 additions and 10 deletions

View File

@@ -749,22 +749,26 @@ function handleInfectiousDiseaseReport() {
'手足口病': '0311',
};
// 获取所有诊断名称对应的报卡编码,但跳过已有已提交报卡的诊断
const allSelectedDiseases = form.value.diagnosisList
.filter(d => d.name && d.hasInfectiousReport !== 1)
.map(d => diseaseNameToCode[d.name] || null)
.filter(code => code);
// 获取所有命中传染病映射的诊断,但跳过已有已提交报卡的诊断
const infectiousDiagnoses = form.value.diagnosisList
.map(d => ({
diagnosis: d,
diseaseCode: d.name && d.hasInfectiousReport !== 1 ? diseaseNameToCode[d.name] : null
}))
.filter(item => item.diseaseCode);
const allSelectedDiseases = infectiousDiagnoses.map(item => item.diseaseCode);
if (allSelectedDiseases.length === 0) {
return;
}
// 优先使用主诊断(同样跳过已有报卡的)
const mainDiagnosis = form.value.diagnosisList.find(d => d.maindiseFlag === 1 && d.hasInfectiousReport !== 1);
const firstDiagnosis = form.value.diagnosisList.find(d => d.hasInfectiousReport !== 1) || form.value.diagnosisList[0];
// 优先使用命中传染病映射的主诊断,否则使用第一条命中的传染病诊断
const mainInfectiousDiagnosis = infectiousDiagnoses.find(item => item.diagnosis.maindiseFlag === 1)?.diagnosis;
const firstInfectiousDiagnosis = infectiousDiagnoses[0].diagnosis;
const diagnosisToShow = {
...(mainDiagnosis || firstDiagnosis),
...(mainInfectiousDiagnosis || firstInfectiousDiagnosis),
selectedDiseases: allSelectedDiseases
};

View File

@@ -1442,7 +1442,7 @@ async function buildSubmitData() {
const submitData = {
cardNo: formData.cardNo,
visitId: props.patientInfo?.encounterId || formData.encounterId || null,
diagId: formData.diagnosisId ? Number(formData.diagnosisId) : null,
diagId: formData.diagnosisId || null,
patId: formData.patientId || null,
idType: 1, // 默认身份证
idNo: formData.idNo,