From a71d818ffe5cbd2b0f6ac1957cff9330918a278d Mon Sep 17 00:00:00 2001 From: wangjian963 <15215920+aprilry@user.noreply.gitee.com> Date: Fri, 26 Jun 2026 14:23:14 +0800 Subject: [PATCH] =?UTF-8?q?831=20=E3=80=90=E4=BD=8F=E9=99=A2=E7=AE=A1?= =?UTF-8?q?=E7=90=86-=E4=BD=8F=E9=99=A2=E6=8A=A4=E5=A3=AB=E5=A2=9E?= =?UTF-8?q?=E5=BC=BA=E3=80=91=E6=89=93=E5=BC=80TPR=E8=A1=A8=E4=BC=9A?= =?UTF-8?q?=E6=9C=89=E6=8A=A5=E9=94=99=E4=BF=A1=E6=81=AF=EF=BC=9AIncorrect?= =?UTF-8?q?=20result=20size:=20expected=201,=20actual=200=20832=20?= =?UTF-8?q?=E3=80=90=E4=BD=8F=E9=99=A2=E6=8A=A4=E5=A3=AB=E7=AB=99-?= =?UTF-8?q?=E4=BD=8F=E9=99=A2=E8=AE=B0=E8=B4=A6=E3=80=91=E5=9C=A8=E7=A7=91?= =?UTF-8?q?=E4=B8=8B=E6=82=A3=E8=80=85=E7=9A=84=E5=88=92=E4=BB=B7=E7=A1=AE?= =?UTF-8?q?=E8=B4=B9=E4=B8=8B=E7=9A=84=E6=82=A3=E8=80=85=E5=8C=BB=E5=98=B1?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E7=9A=84=E9=80=89=E6=8B=A9=E4=BA=86=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E6=89=B9=E9=87=8F=E6=92=A4=E9=94=80=EF=BC=8C=E4=BD=86?= =?UTF-8?q?=E8=BF=98=E6=98=BE=E7=A4=BA=E8=AF=B7=E5=85=88=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E8=A6=81=E6=92=A4=E9=94=80=E7=9A=84=E5=88=92=E4=BB=B7=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/NurseBillingAppService.java | 5 ++-- .../NurseBillingAppMapper.xml | 6 ++--- .../his/common/aspectj/DictAspect.java | 7 ++++- .../components/billingList.vue | 27 ++++++++++++++++++- 4 files changed, 38 insertions(+), 7 deletions(-) diff --git a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/appservice/impl/NurseBillingAppService.java b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/appservice/impl/NurseBillingAppService.java index 8fff41b4c..628f16b7d 100755 --- a/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/appservice/impl/NurseBillingAppService.java +++ b/healthlink-his-server/healthlink-his-application/src/main/java/com/healthlink/his/web/inhospitalnursestation/appservice/impl/NurseBillingAppService.java @@ -233,8 +233,9 @@ public class NurseBillingAppService implements INurseBillingAppService { // 初始化查询参数 String encounterIds = inpatientAdviceParam.getEncounterIds(); inpatientAdviceParam.setEncounterIds(null); - Integer exeStatus = inpatientAdviceParam.getExeStatus(); - inpatientAdviceParam.setExeStatus(null); + + + // 提取deadline手动处理,防止自动拼接列名不存在的错误 String deadline = inpatientAdviceParam.getDeadline(); inpatientAdviceParam.setDeadline(null); diff --git a/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/inhospitalnursestation/NurseBillingAppMapper.xml b/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/inhospitalnursestation/NurseBillingAppMapper.xml index 4fae4b976..56384e773 100755 --- a/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/inhospitalnursestation/NurseBillingAppMapper.xml +++ b/healthlink-his-server/healthlink-his-application/src/main/resources/mapper/inhospitalnursestation/NurseBillingAppMapper.xml @@ -107,14 +107,14 @@ LEFT JOIN adm_organization AS ao1 ON ao1.id = T1.org_id AND ao1.delete_flag = '0' LEFT JOIN adm_encounter ae ON ae.id = T1.encounter_id - AND ae.class_enum = 1 + AND ae.class_enum = #{ imp } AND ae.delete_flag = '0' LEFT JOIN adm_patient ap ON ae.patient_id = ap.id AND ap.delete_flag = '0' LEFT JOIN adm_encounter_location ael ON ae.id = ael.encounter_id AND ael.delete_flag = '0' - AND ael.status_enum = 2 - AND ael.form_enum = 8 + AND ael.status_enum = #{ active } + AND ael.form_enum = #{ bed } LEFT JOIN adm_location al ON ael.location_id = al.id AND al.delete_flag = '0' LEFT JOIN adm_account aa ON ae.ID = aa.encounter_id diff --git a/healthlink-his-server/healthlink-his-common/src/main/java/com/healthlink/his/common/aspectj/DictAspect.java b/healthlink-his-server/healthlink-his-common/src/main/java/com/healthlink/his/common/aspectj/DictAspect.java index 93a6a9012..17ab2ee5e 100755 --- a/healthlink-his-server/healthlink-his-common/src/main/java/com/healthlink/his/common/aspectj/DictAspect.java +++ b/healthlink-his-server/healthlink-his-common/src/main/java/com/healthlink/his/common/aspectj/DictAspect.java @@ -171,7 +171,12 @@ public class DictAspect { } sqlBuilder.append(" LIMIT 1"); try { - return jdbcTemplate.queryForObject(sqlBuilder.toString(), String.class, dictValue); + List results = jdbcTemplate.query( + sqlBuilder.toString(), + (rs, rowNum) -> rs.getString(1), + dictValue + ); + return results.isEmpty() ? "" : results.get(0); } catch (DataAccessException e) { return ""; } diff --git a/healthlink-his-ui/src/views/inpatientNurse/InpatientBilling/components/billingList.vue b/healthlink-his-ui/src/views/inpatientNurse/InpatientBilling/components/billingList.vue index 49cbe56a7..0df0a0030 100755 --- a/healthlink-his-ui/src/views/inpatientNurse/InpatientBilling/components/billingList.vue +++ b/healthlink-his-ui/src/views/inpatientNurse/InpatientBilling/components/billingList.vue @@ -130,6 +130,7 @@ accordion border style="--el-collapse-border-color: #e4e7ed" + @change="handleCollapseChange" > { * @param {Array} val - 选中行 */ const handleTableSelectionChange = (index, val) => { - selectedRows.value[index] = safeArray(val); + // vxe-table checkbox-change 事件格式: { checked, records, row, reserves } + const rows = val && val.records ? safeArray(val.records) : safeArray(val); + selectedRows.value[index] = rows; console.log('selectedRows:', selectedRows.value); // 合并所有选中行 const allSelected = []; @@ -503,6 +506,28 @@ const handleTableSelectionChange = (index, val) => { console.log('selectedFeeItems:', selectedFeeItems.value); }; +/** + * 折叠面板切换时,恢复已展开面板的表格勾选状态 + * accordion 模式下 vxe-table DOM 被销毁重建,需手动恢复 checkbox 选中态 + * @param {Array} activeNames - 当前激活的面板 name 列表 + */ +const handleCollapseChange = (activeNames) => { + if (!activeNames || activeNames.length === 0) return; + const activeName = Array.isArray(activeNames) ? activeNames[0] : activeNames; + const match = String(activeName).match(/^patient-(\d+)$/); + if (!match) return; + const index = parseInt(match[1], 10); + const savedRows = safeArray(selectedRows.value[index]); + if (savedRows.length === 0) return; + // 等待 DOM 重建后恢复勾选状态 + nextTick(() => { + const table = safeArray(tableRef.value)[index]; + if (table && typeof table.setCheckboxRow === 'function') { + table.setCheckboxRow(savedRows, true); + } + }); +}; + /** * 按 Tab 同步日期范围(避免 date-picker @change 与 Tab v-model 互相覆盖) * @param {string} rangeType - today | yesterday | custom