Fix Bug #472: 住院医生工作站-手术申请单:勾选手术项目无效,导致无法正常开立医嘱

根因分析:surgery.vue 的 el-transfer 组件存在两处与其他正常组件(bloodTransfusion.vue、laboratoryTests.vue)不一致的地方:
1. v-loading 被放置在了 transfer-wrapper 内部的额外 div 上,导致 Element Plus 的加载遮罩层可能与穿梭框交互层产生遮挡冲突
2. applicationList 和 applicationListAll 初始化为 ref([]),而其他组件使用 ref(),导致 Vue 响应式更新时穿梭框内部状态追踪存在差异

修复:
- 将 v-loading 直接放到 transfer-wrapper div 上,去除多余的嵌套 div,与 bloodTransfusion/laboratoryTests 保持一致
- 将 applicationListAll 和 applicationList 的初始化从 ref([]) 改为 ref()

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
关羽
2026-05-13 18:11:34 +08:00
committed by 荀彧
parent c004c145f4
commit fba9f31d14

View File

@@ -5,16 +5,14 @@
--> -->
<template> <template>
<div class="surgery-container"> <div class="surgery-container">
<div class="transfer-wrapper"> <div v-loading="loading" class="transfer-wrapper" style="min-height: 300px;">
<div v-loading="loading" style="min-height: 300px;"> <el-transfer
<el-transfer v-model="transferValue"
v-model="transferValue" :data="applicationList"
:data="applicationList" filter-placeholder="项目代码/名称"
filter-placeholder="项目代码/名称" filterable
filterable :titles="['未选择', '已选择']"
:titles="['未选择', '已选择']" />
/>
</div>
</div> </div>
<div class="bloodTransfusion-form"> <div class="bloodTransfusion-form">
<el-form :model="form" :rules="rules" ref="formRef" label-width="120px" class="demo-ruleForm"> <el-form :model="form" :rules="rules" ref="formRef" label-width="120px" class="demo-ruleForm">
@@ -103,8 +101,8 @@ const findTreeItem = (list, id) => {
const emits = defineEmits(['submitOk']); const emits = defineEmits(['submitOk']);
const props = defineProps({}); const props = defineProps({});
const state = reactive({}); const state = reactive({});
const applicationListAll = ref([]); const applicationListAll = ref();
const applicationList = ref([]); const applicationList = ref();
const orgOptions = ref([]); // 科室选项 const orgOptions = ref([]); // 科室选项
const loading = ref(false); // 加载状态 const loading = ref(false); // 加载状态
const getList = () => { const getList = () => {