From 10b2c58a3e292d05eccb75e664a7ecc724d31f6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=B3=E7=BE=BD?= <关羽@gentronhealth.com> Date: Mon, 11 May 2026 08:44:58 +0800 Subject: [PATCH] =?UTF-8?q?Fix=20Bug=20#476:=20=E4=BD=8F=E9=99=A2=E5=8C=BB?= =?UTF-8?q?=E7=94=9F=E5=B7=A5=E4=BD=9C-=E6=A3=80=E6=9F=A5=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E5=8D=95=E7=95=8C=E9=9D=A2=E7=BC=BA=E5=A4=B1=E6=A0=B8?= =?UTF-8?q?=E5=BF=83=E4=B8=B4=E5=BA=8A=E5=AD=97=E6=AE=B5=EF=BC=88=E7=B4=A7?= =?UTF-8?q?=E6=80=A5=E7=A8=8B=E5=BA=A6=E3=80=81=E8=BF=87=E6=95=8F=E5=8F=B2?= =?UTF-8?q?=E3=80=81=E6=A3=80=E6=9F=A5=E7=9B=AE=E7=9A=84=E7=AD=89=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在检查申请单开立界面新增5个核心临床字段(依次放在发往科室之后): 1. 紧急程度:el-select下拉选择(普通/急诊),区分急诊和普通检查 2. 过敏史:textarea输入,提示造影剂过敏风险 3. 检查目的:textarea输入,让执行科室医生了解临床背景 4. 病史摘要:textarea输入,补充患者病史信息 5. 期望检查时间:datetime选择器,实现精准调度 同步更新: - medicalExaminations.vue: 表单模板 + form reactive对象新增字段 - examineApplication.vue: labelMap映射 + 详情弹窗紧急程度转换 + 修改弹窗新增字段 + 编辑/保存逻辑覆盖新字段 --- .../applicationShow/examineApplication.vue | 63 +++++++++++++++++++ .../applicationForm/medicalExaminations.vue | 39 ++++++++++++ 2 files changed, 102 insertions(+) diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/examineApplication.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/examineApplication.vue index 67811846..c4d1400c 100755 --- a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/examineApplication.vue +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/examineApplication.vue @@ -227,6 +227,47 @@ + + + + + + + + + + + + + + + + + + + + + @@ -428,6 +469,11 @@ const buildItemNames = (row) => { const labelMap = { categoryType: '项目类别', targetDepartment: '发往科室', + urgencyLevel: '紧急程度', + allergyHistory: '过敏史', + examinationPurpose: '检查目的', + medicalHistorySummary: '病史摘要', + expectedExaminationTime: '期望检查时间', symptom: '症状', sign: '体征', clinicalDiagnosis: '临床诊断', @@ -493,6 +539,11 @@ const handleViewDetail = (row) => { const deptName = recursionFun(obj.targetDepartment); obj.targetDepartment = deptName || obj.targetDepartment; } + // 紧急程度转换为显示文本 + const urgencyMap = { routine: '普通', emergency: '急诊' }; + if (obj.urgencyLevel) { + obj.urgencyLevel = urgencyMap[obj.urgencyLevel] || obj.urgencyLevel; + } descJsonData.value = obj; } catch (e) { console.error('解析 descJson 失败:', e); @@ -514,6 +565,12 @@ const handleEdit = (row) => { if (row.descJson) { try { const desc = JSON.parse(row.descJson); + form.targetDepartment = desc.targetDepartment || ''; + form.urgencyLevel = desc.urgencyLevel || ''; + form.allergyHistory = desc.allergyHistory || ''; + form.examinationPurpose = desc.examinationPurpose || ''; + form.medicalHistorySummary = desc.medicalHistorySummary || ''; + form.expectedExaminationTime = desc.expectedExaminationTime || ''; form.clinicalDiagnosis = desc.clinicalDiagnosis || ''; form.attention = desc.attention || ''; form.symptom = desc.symptom || ''; @@ -544,6 +601,12 @@ const handleSaveEdit = async () => { name: editForm.value.name, organizationId: editDetail.value.inHospitalOrgId || patientInfo.value?.inHospitalOrgId, descJson: JSON.stringify({ + targetDepartment: editForm.value.targetDepartment, + urgencyLevel: editForm.value.urgencyLevel, + allergyHistory: editForm.value.allergyHistory, + examinationPurpose: editForm.value.examinationPurpose, + medicalHistorySummary: editForm.value.medicalHistorySummary, + expectedExaminationTime: editForm.value.expectedExaminationTime, clinicalDiagnosis: editForm.value.clinicalDiagnosis, attention: editForm.value.attention, symptom: editForm.value.symptom, diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/medicalExaminations.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/medicalExaminations.vue index 54207971..d742b51a 100755 --- a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/medicalExaminations.vue +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/medicalExaminations.vue @@ -42,6 +42,40 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -145,6 +179,11 @@ const transferValue = ref([]); const form = reactive({ // categoryType: '', // 项目类别 targetDepartment: '', // 发往科室 + urgencyLevel: '', // 紧急程度 + allergyHistory: '', // 过敏史 + examinationPurpose: '', // 检查目的 + medicalHistorySummary: '', // 病史摘要 + expectedExaminationTime: '', // 期望检查时间 symptom: '', // 症状 sign: '', // 体征 clinicalDiagnosis: '', // 临床诊断