Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
2026-06-26 16:05:00 +08:00
4 changed files with 38 additions and 7 deletions

View File

@@ -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);

View File

@@ -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

View File

@@ -171,7 +171,12 @@ public class DictAspect {
}
sqlBuilder.append(" LIMIT 1");
try {
return jdbcTemplate.queryForObject(sqlBuilder.toString(), String.class, dictValue);
List<String> results = jdbcTemplate.query(
sqlBuilder.toString(),
(rs, rowNum) -> rs.getString(1),
dictValue
);
return results.isEmpty() ? "" : results.get(0);
} catch (DataAccessException e) {
return "";
}

View File

@@ -130,6 +130,7 @@
accordion
border
style="--el-collapse-border-color: #e4e7ed"
@change="handleCollapseChange"
>
<!-- 按encounterId分组渲染患者折叠项 -->
<el-collapse-item
@@ -492,7 +493,9 @@ const selectAllPatientItems = (index) => {
* @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