Fix Bug #550
This commit is contained in:
@@ -416,8 +416,8 @@
|
||||
class="fold-strip fold-strip-project"
|
||||
:class="{ 'is-open': item.projectFoldExpanded }"
|
||||
>
|
||||
<div class="fold-strip-header" @click="toggleProjectFold(item)">
|
||||
<el-icon :class="['fold-chevron', { open: item.projectFoldExpanded }]">
|
||||
<div class="fold-strip-header" :class="{ 'no-chevron': !hasItemPackage(item) }" @click="hasItemPackage(item) && toggleProjectFold(item)">
|
||||
<el-icon v-if="hasItemPackage(item)" :class="['fold-chevron', { open: item.projectFoldExpanded }]">
|
||||
<ArrowDown />
|
||||
</el-icon>
|
||||
<div class="fold-header-main">
|
||||
@@ -431,8 +431,9 @@
|
||||
<el-icon><Close /></el-icon>
|
||||
</el-button>
|
||||
</div>
|
||||
<div v-show="item.projectFoldExpanded" class="fold-strip-body">
|
||||
<div v-if="shouldShowItemPackageBody(item)" class="fold-package-wrap">
|
||||
<!-- 仅当项目有套餐时展示明细区域,普通项目无明细可展示 -->
|
||||
<div v-if="hasItemPackage(item) && item.projectFoldExpanded" class="fold-strip-body">
|
||||
<div class="fold-package-wrap">
|
||||
<div v-if="item.packageDetailsLoading" class="package-details-loading">加载中...</div>
|
||||
<template v-else>
|
||||
<div v-if="getPackageDetailsList(item).length === 0" class="package-details-empty">
|
||||
@@ -455,7 +456,6 @@
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div v-else class="fold-strip-muted">暂无明细数据</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -470,8 +470,8 @@
|
||||
class="fold-strip fold-strip-method"
|
||||
:class="{ 'is-open': method.expanded }"
|
||||
>
|
||||
<div class="fold-strip-header" @click="toggleSelectedMethodFold(method)">
|
||||
<el-icon :class="['fold-chevron', { open: method.expanded }]">
|
||||
<div class="fold-strip-header" :class="{ 'no-chevron': !hasStandaloneMethodPackage(method) }" @click="hasStandaloneMethodPackage(method) && toggleSelectedMethodFold(method)">
|
||||
<el-icon v-if="hasStandaloneMethodPackage(method)" :class="['fold-chevron', { open: method.expanded }]">
|
||||
<ArrowDown />
|
||||
</el-icon>
|
||||
<div class="fold-header-main">
|
||||
@@ -493,15 +493,15 @@
|
||||
<el-icon><Close /></el-icon>
|
||||
</el-button>
|
||||
</div>
|
||||
<div v-show="method.expanded" class="fold-strip-body">
|
||||
<template v-if="hasStandaloneMethodPackage(method)">
|
||||
<div class="fold-package-wrap fold-method-package-wrap">
|
||||
<div v-if="method.packageLoading" class="package-details-loading">加载中...</div>
|
||||
<template v-else>
|
||||
<div v-if="getStandaloneMethodPackageDetailsList(method).length === 0" class="package-details-empty">
|
||||
暂无检查方法套餐明细
|
||||
</div>
|
||||
<div v-else class="package-details-list method-package-list">
|
||||
<!-- 仅当检查方法有套餐时展示明细 -->
|
||||
<div v-if="hasStandaloneMethodPackage(method) && method.expanded" class="fold-strip-body">
|
||||
<div class="fold-package-wrap fold-method-package-wrap">
|
||||
<div v-if="method.packageLoading" class="package-details-loading">加载中...</div>
|
||||
<template v-else>
|
||||
<div v-if="getStandaloneMethodPackageDetailsList(method).length === 0" class="package-details-empty">
|
||||
暂无检查方法套餐明细
|
||||
</div>
|
||||
<div v-else class="package-details-list method-package-list">
|
||||
<div
|
||||
v-for="(detail, dIdx) in getStandaloneMethodPackageDetailsList(method)"
|
||||
:key="detail.id ?? detail.itemCode ?? `md-${dIdx}`"
|
||||
@@ -515,13 +515,9 @@
|
||||
<span class="detail-price">¥{{ formatDetailAmount(detail.price) }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
<template v-else>
|
||||
<div class="fold-strip-muted">无单独的检查方法套餐明细。</div>
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -593,7 +589,7 @@ const activeDetailTab = ref('applyForm');
|
||||
const applicationList = ref([]);
|
||||
const selectedItems = ref([]);
|
||||
const selectedMethods = ref([]);
|
||||
const methodPickerExpanded = ref(false);
|
||||
const methodPickerExpanded = ref(true);
|
||||
|
||||
// Bug #499: 查询过滤状态
|
||||
const searchForm = reactive({
|
||||
@@ -1114,6 +1110,8 @@ async function handleCategoryExpand(cat) {
|
||||
function handleCollapseChange(activeName) {
|
||||
// 始终记录当前激活的分类,确保 handleCategoryExpand 能正确忽略过期请求
|
||||
currentActiveCategory.value = activeName || null;
|
||||
// 切换分类时自动展开方法选择器,使关联的检查方法对医生可见
|
||||
methodPickerExpanded.value = true;
|
||||
|
||||
|
||||
if (activeName) {
|
||||
@@ -2201,6 +2199,14 @@ defineExpose({ getList });
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
|
||||
/* 非套餐项目无展开箭头占位,header 直接对齐 */
|
||||
.fold-strip-header.no-chevron {
|
||||
cursor: default;
|
||||
}
|
||||
.fold-strip-header.no-chevron:hover {
|
||||
background: linear-gradient(180deg, #f8fafc 0%, #f0f4f8 100%);
|
||||
}
|
||||
|
||||
.fold-header-main {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
|
||||
Reference in New Issue
Block a user