From 78eb68315ef7edc79b8b7b72aaa8860d6233c687 Mon Sep 17 00:00:00 2001 From: zhaoyun Date: Fri, 29 May 2026 01:56:41 +0800 Subject: [PATCH] =?UTF-8?q?fix(#572):=20=E8=AF=B7=E4=BF=AE=E5=A4=8D=20Bug?= =?UTF-8?q?=20#572=EF=BC=9A[=E4=B8=80=E8=88=AC]=20[=E9=97=A8=E8=AF=8A?= =?UTF-8?q?=E5=8C=BB=E7=94=9F=E5=B7=A5=E4=BD=9C=E7=AB=99-=E8=AF=8A?= =?UTF-8?q?=E6=96=AD]=20=E4=BC=A0=E6=9F=93=E7=97=85=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E5=8D=A1=E6=9C=AA=E8=87=AA=E5=8A=A8=E5=90=8C=E6=AD=A5=E5=B9=B6?= =?UTF-8?q?=E5=A1=AB=E5=85=85=E6=82=A3=E8=80=85=E6=A1=A3=E6=A1=88=E4=B8=AD?= =?UTF-8?q?=E7=9A=84=E2=80=9C=E7=8E=B0=E4=BD=8F=E5=9D=80=E2=80=9D=E4=B8=8E?= =?UTF-8?q?=E2=80=9C=E8=81=8C=E4=B8=9A=E2=80=9D=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根因: - 医生站 `PatientInfoDto` 中不包含患者地址和职业字段,传染病报卡弹窗的 `show()` 函数使用 `diagnosisData?.addressProv || ''`(诊断数据中的地址,始终为空)和硬编码 `occupation: ''`,完全未从患者档案获取数据。 - ### 修改内容(4 个文件) - 后端 (2 文件)** - | 文件 | 变更 | - |---|---| - | `openhis-application/.../dto/PatientDetailsDto.java` | 新增 `addressProvince`、`addressCity`、`addressDistrict`、`addressStreet` 4 个地址字段 | - | `openhis-application/.../mapper/doctorstation/DoctorStationPtDetailsAppMapper.xml` | SQL 查询增加 `p.address_province`、`p.address_city`、`p.address_district`、`p.address_street` | - 前端 (2 文件)** - | 文件 | 变更 | - |---|---| - | `src/views/doctorstation/components/api.js` | 新增 `getPatientDetails(encounterId)` API 函数 | - | `src/views/doctorstation/components/diagnosis/infectiousDiseaseReportDialog.vue` | `show()` 中调用 `getPatientDetails`,将患者档案中的地址和职业自动填入报卡表单 | - ### 数据字段映射 - adm_patient表 PatientDetailsDto 报卡表单字段 - ───────────────────────────────────────────────────── - address_province → addressProvince → addressProv - address_city → addressCity → addressCity - address_district → addressDistrict → addressCounty - address_street → addressStreet → addressTown - prfs_enum → prfsEnum_enumText → occupation - ### 全链路验证 - 录入** → 报卡弹窗自动调用 `/doctor-station/patient-details/patient-details?encounterId=X` ✓ - 保存** → 地址和职业字段已包括在 `saveInfectiousDiseaseReport` 提交数据中 ✓ - 查询/回显** → `showReport()` 正确读取已有报卡的地址和职业 ✓ - 编译** → 前端 `npm run lint` ✓,后端 `mvn compile` ✓ 修复: - 变更摘要 --- .../doctorstation/dto/PatientDetailsDto.java | 12 +++++++ .../DoctorStationPtDetailsAppMapper.xml | 4 +++ .../src/views/doctorstation/components/api.js | 11 +++++++ .../infectiousDiseaseReportDialog.vue | 32 +++++++++++++++---- 4 files changed, 53 insertions(+), 6 deletions(-) diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/PatientDetailsDto.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/PatientDetailsDto.java index f69e716fb..badac96e1 100755 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/PatientDetailsDto.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/doctorstation/dto/PatientDetailsDto.java @@ -63,6 +63,18 @@ public class PatientDetailsDto { */ private String address; + /** 地址省 */ + private String addressProvince; + + /** 地址市 */ + private String addressCity; + + /** 地址区 */ + private String addressDistrict; + + /** 地址街道 */ + private String addressStreet; + /** * 工作单位 */ diff --git a/openhis-server-new/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationPtDetailsAppMapper.xml b/openhis-server-new/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationPtDetailsAppMapper.xml index ffb3b920c..25db46189 100755 --- a/openhis-server-new/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationPtDetailsAppMapper.xml +++ b/openhis-server-new/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationPtDetailsAppMapper.xml @@ -11,6 +11,10 @@ p.birth_date, p.phone, p.address, + p.address_province, + p.address_city, + p.address_district, + p.address_street, p.work_company, p.nationality_code, p.marital_status_enum, diff --git a/openhis-ui-vue3/src/views/doctorstation/components/api.js b/openhis-ui-vue3/src/views/doctorstation/components/api.js index e439096c7..d61560d3d 100755 --- a/openhis-ui-vue3/src/views/doctorstation/components/api.js +++ b/openhis-ui-vue3/src/views/doctorstation/components/api.js @@ -1232,3 +1232,14 @@ export function exportInfectiousCards(data) { data: data, }); } + +/** + * 获取患者详情(含地址、职业信息) + */ +export function getPatientDetails(encounterId) { + return request({ + url: '/doctor-station/patient-details/patient-details', + method: 'get', + params: { encounterId }, + }); +} diff --git a/openhis-ui-vue3/src/views/doctorstation/components/diagnosis/infectiousDiseaseReportDialog.vue b/openhis-ui-vue3/src/views/doctorstation/components/diagnosis/infectiousDiseaseReportDialog.vue index b0dbde20b..6a5943cdb 100755 --- a/openhis-ui-vue3/src/views/doctorstation/components/diagnosis/infectiousDiseaseReportDialog.vue +++ b/openhis-ui-vue3/src/views/doctorstation/components/diagnosis/infectiousDiseaseReportDialog.vue @@ -972,7 +972,7 @@