From 4e0218bc2714c68964fb6d37b7d3cac887de2daf Mon Sep 17 00:00:00 2001 From: Jafeng <2998840497@qq.com> Date: Thu, 12 Feb 2026 10:55:48 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E4=BC=98=E5=8C=96=E5=8C=BB?= =?UTF-8?q?=E7=96=97=E7=B1=BB=E5=9E=8B=E5=A4=84=E7=90=86=E5=92=8C=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E5=AD=97=E6=AE=B5=E8=A7=A3=E6=9E=90=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/case/visit-record-detail.vue | 33 ++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/pages/case/visit-record-detail.vue b/pages/case/visit-record-detail.vue index 4ea9f37..17c9c91 100644 --- a/pages/case/visit-record-detail.vue +++ b/pages/case/visit-record-detail.vue @@ -113,6 +113,35 @@ const showItems = computed(() => { const formRef = ref(null); +function normalizeMedicalType(raw) { + const s = String(raw || '').trim(); + if (!s) return ''; + const lower = s.toLowerCase(); + if (lower.includes('preconsultationrecord')) return 'preConsultationRecord'; + if (lower.includes('preconsult') || (lower.includes('pre') && lower.includes('consult'))) return 'preConsultationRecord'; + if (lower === 'outpatient' || lower === 'out_patient' || lower === 'out-patient') return 'outpatient'; + if (lower === 'inhospital' || lower === 'in_hospital' || lower === 'in-hospital' || lower === 'inpatient') return 'inhospital'; + if (lower === 'physicalexaminationtemplate' || lower === 'physicalexamination' || lower === 'physical_examination') return 'physicalExaminationTemplate'; + if (s === 'outPatient') return 'outpatient'; + if (s === 'inHospital') return 'inhospital'; + if (s === 'preConsultation') return 'preConsultationRecord'; + if (s === 'preConsultationRecord') return 'preConsultationRecord'; + if (s === 'physicalExaminationTemplate') return 'physicalExaminationTemplate'; + return s; +} + +function resolveSortTimeKey() { + const ui = normalizeMedicalType(templateType.value); + // 预问诊:时间字段固定使用 consultationDate,避免被模板配置覆盖,且与列表展示一致 + if (ui === 'preConsultationRecord') return 'consultationDate'; + const t = temp.value || {}; + if (t?.service?.timeTitle) return String(t.service.timeTitle); + if (ui === 'outpatient') return 'visitTime'; + if (ui === 'inhospital') return 'inhosDate'; + if (ui === 'physicalExaminationTemplate') return 'inspectDate'; + return ''; +} + function ensureFilesField() { if (form.files !== undefined) return; if (detail.value && detail.value.files !== undefined) return; @@ -151,7 +180,7 @@ onLoad(async (options) => { ensureFilesField(); // 默认填充模板时间字段 - const timeKey = temp.value?.service?.timeTitle || ''; + const timeKey = resolveSortTimeKey(); if (timeKey && !form[timeKey]) form[timeKey] = dayjs().format('YYYY-MM-DD'); } @@ -237,7 +266,7 @@ async function save() { } // sortTime:使用模板中的时间字段 - const sortTimeKey = temp.value?.service?.timeTitle || ''; + const sortTimeKey = resolveSortTimeKey(); if (sortTimeKey) { const sortTimeValue = forms.value?.[sortTimeKey]; if (sortTimeValue && dayjs(sortTimeValue).isValid()) {