fix: 修复前端Bug #405 #406 #408

- #405 住院医生站:医嘱保存后仍可编辑(未锁定)
- #406 门诊医生站:检验申请保存失败患者信息未加载
- #408 门诊医生站:检查明细标签页显示暂无数据
This commit is contained in:
2026-04-22 17:29:22 +08:00
parent e2808fd6b9
commit 72c0ceac29
3 changed files with 23 additions and 0 deletions

View File

@@ -890,6 +890,8 @@ function handleRowClick(row) {
syncCategoryChecked(); syncCategoryChecked();
// Bug #384修复: 回充后更新检查方法显示 // Bug #384修复: 回充后更新检查方法显示
updateMethodDisplay(); updateMethodDisplay();
// 修复【#408】加载申请单详情后自动切换到检查明细页签确保已加载的明细数据可见
activeDetailTab.value = 'applyDetail';
} catch (err) { } catch (err) {
console.error('加载申请单详情失败', err); console.error('加载申请单详情失败', err);
ElMessage.error('加载申请单详情失败'); ElMessage.error('加载申请单详情失败');

View File

@@ -1521,6 +1521,18 @@ const handleSave = () => {
let hasErrors = false let hasErrors = false
// 修复【#406】保存前尝试从 props 同步患者信息,避免因加载时序导致信息缺失
if ((!formData.patientName?.trim() || !formData.medicalrecordNumber?.trim()) && props.patientInfo && props.patientInfo.encounterId) {
formData.patientName = props.patientInfo.patientName || ''
formData.medicalrecordNumber = props.patientInfo.identifierNo || ''
formData.encounterId = props.patientInfo.encounterId || ''
formData.visitNo = props.patientInfo.busNo || ''
formData.patientId = props.patientInfo.patientId || ''
formData.applyDepartment = props.patientInfo.organizationName || ''
formData.applyDeptCode = props.patientInfo.organizationName || ''
formData.applyOrganizationId = props.patientInfo.orgId || ''
}
// P0检查患者信息是否已加载 // P0检查患者信息是否已加载
if (!formData.patientName?.trim() || !formData.medicalrecordNumber?.trim()) { if (!formData.patientName?.trim() || !formData.medicalrecordNumber?.trim()) {
ElMessage.error('患者信息未加载,请稍后重试') ElMessage.error('患者信息未加载,请稍后重试')
@@ -2036,6 +2048,10 @@ watch(() => selectedInspectionItems.value, async (newVal) => {
onMounted(async () => { onMounted(async () => {
await loadExecuteDepartmentList() await loadExecuteDepartmentList()
await loadInspectionData() await loadInspectionData()
// 修复【#406】挂载时如果已有patientInfo但watch未触发initData则手动调用
if (props.patientInfo && props.patientInfo.encounterId && !formData.encounterId) {
await initData()
}
}) })
// 组件卸载时清除定时器 // 组件卸载时清除定时器

View File

@@ -1423,6 +1423,11 @@ function handleSaveBatch() {
.then((res) => { .then((res) => {
if (res.code === 200) { if (res.code === 200) {
proxy.$modal.msgSuccess('保存成功'); proxy.$modal.msgSuccess('保存成功');
// 修复【#405】保存成功后重置所有待保存行的 isEdit 为 false锁定医嘱不再编辑
saveList.forEach(item => {
const row = prescriptionList.value.find(r => r.uniqueKey === item.uniqueKey);
if (row) row.isEdit = false;
});
getListInfo(false); getListInfo(false);
nextId.value == 1; nextId.value == 1;
isSaving.value = false; isSaving.value = false;