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: '', // 临床诊断