fix(#767): zhaoyun (文件合入)

This commit is contained in:
2026-06-19 16:14:29 +08:00
committed by 华佗
parent 1801fc27ae
commit 8fafa12337

View File

@@ -81,6 +81,7 @@
class="inspection-table" class="inspection-table"
:row-config="{ keyField: 'applicationId', keyField: 'itemId' }" :row-config="{ keyField: 'applicationId', keyField: 'itemId' }"
@checkbox-change="handleSelectionChange" @checkbox-change="handleSelectionChange"
@current-change="handleRowClick"
@cell-click="handleCellClick" @cell-click="handleCellClick"
> >
<vxe-column <vxe-column
@@ -2141,32 +2142,15 @@ const handleSave = () => {
let hasErrors = false let hasErrors = false
// 修复【#406】保存前尝试从 props 同步患者信息,避免因加载时序导致信息缺失 // 修复【#406】保存前尝试从 props 同步患者信息,避免因加载时序导致信息缺失
if (props.patientInfo && props.patientInfo.encounterId) { if ((!formData.patientName?.trim() || !formData.medicalrecordNumber?.trim()) && props.patientInfo && props.patientInfo.encounterId) {
// encounterId 来自 adm_encounter 表lab_apply 表无此字段,需始终从 props 同步 formData.patientName = props.patientInfo.patientName || ''
if (!formData.encounterId) { formData.medicalrecordNumber = props.patientInfo.identifierNo || ''
formData.encounterId = props.patientInfo.encounterId || '' formData.encounterId = props.patientInfo.encounterId || ''
} formData.visitNo = props.patientInfo.busNo || ''
if (!formData.patientName?.trim()) { formData.patientId = props.patientInfo.patientId || ''
formData.patientName = props.patientInfo.patientName || '' formData.applyDepartment = props.patientInfo.organizationName || ''
} formData.applyDeptCode = props.patientInfo.organizationName || ''
if (!formData.medicalrecordNumber?.trim()) { formData.applyOrganizationId = props.patientInfo.orgId || ''
formData.medicalrecordNumber = props.patientInfo.identifierNo || ''
}
if (!formData.visitNo) {
formData.visitNo = props.patientInfo.busNo || ''
}
if (!formData.patientId) {
formData.patientId = props.patientInfo.patientId || ''
}
if (!formData.applyDepartment) {
formData.applyDepartment = props.patientInfo.organizationName || ''
}
if (!formData.applyDeptCode) {
formData.applyDeptCode = props.patientInfo.organizationName || ''
}
if (!formData.applyOrganizationId) {
formData.applyOrganizationId = props.patientInfo.orgId || ''
}
} }
// P0检查患者信息是否已加载 // P0检查患者信息是否已加载
@@ -2473,13 +2457,10 @@ const handleDelete = (row) => {
} }
// 单元格点击 - 点击表格行时加载申请单详情 // 单元格点击 - 点击表格行时加载申请单详情
const handleCellClick = (params) => { const handleCellClick = (row, column) => {
// vxe-table cell-click 事件参数是 { row, column, $event, ... } 对象,需安全提取行数据
const row = params.row || params;
const column = params.column || params;
// 如果点击的是操作列或展开列,不触发数据填充 // 如果点击的是操作列或展开列,不触发数据填充
if (column.type === 'expand' || column.type === 'selection' || if (column.property === '操作' || column.label === '操作' ||
column.title === '操作' || column.property === '操作') { column.type === 'expand' || column.type === 'selection') {
return; return;
} }
// 点击表格行时,将该申请单的数据加载到表单中 // 点击表格行时,将该申请单的数据加载到表单中
@@ -2489,6 +2470,15 @@ const handleCellClick = (params) => {
} }
} }
// 行点击事件处理
const handleRowClick = (currentRow, oldRow) => {
// 点击表格行时,将该申请单的数据加载到表单中
// 使用 applyNo 判断是否有效,同时检查是否处于删除状态
if (currentRow && currentRow.applyNo && !isDeleting.value) {
loadApplicationToForm(currentRow);
}
}
// 提取公共方法加载申请单到表单 // 提取公共方法加载申请单到表单
const loadApplicationToForm = async (row) => { const loadApplicationToForm = async (row) => {
// 停止申请日期实时更新(加载已保存的申请单) // 停止申请日期实时更新(加载已保存的申请单)