Fix Bug #550
This commit is contained in:
@@ -415,8 +415,8 @@
|
|||||||
class="fold-strip fold-strip-project"
|
class="fold-strip fold-strip-project"
|
||||||
:class="{ 'is-open': item.projectFoldExpanded }"
|
:class="{ 'is-open': item.projectFoldExpanded }"
|
||||||
>
|
>
|
||||||
<div class="fold-strip-header" @click="toggleProjectFold(item)">
|
<div class="fold-strip-header" :class="{ 'no-chevron': !hasItemPackage(item) }" @click="hasItemPackage(item) && toggleProjectFold(item)">
|
||||||
<el-icon :class="['fold-chevron', { open: item.projectFoldExpanded }]">
|
<el-icon v-if="hasItemPackage(item)" :class="['fold-chevron', { open: item.projectFoldExpanded }]">
|
||||||
<ArrowDown />
|
<ArrowDown />
|
||||||
</el-icon>
|
</el-icon>
|
||||||
<div class="fold-header-main">
|
<div class="fold-header-main">
|
||||||
@@ -430,8 +430,9 @@
|
|||||||
<el-icon><Close /></el-icon>
|
<el-icon><Close /></el-icon>
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</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>
|
<div v-if="item.packageDetailsLoading" class="package-details-loading">加载中...</div>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<div v-if="getPackageDetailsList(item).length === 0" class="package-details-empty">
|
<div v-if="getPackageDetailsList(item).length === 0" class="package-details-empty">
|
||||||
@@ -454,7 +455,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="fold-strip-muted">暂无项目套餐明细</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -469,8 +470,8 @@
|
|||||||
class="fold-strip fold-strip-method"
|
class="fold-strip fold-strip-method"
|
||||||
:class="{ 'is-open': method.expanded }"
|
:class="{ 'is-open': method.expanded }"
|
||||||
>
|
>
|
||||||
<div class="fold-strip-header" @click="toggleSelectedMethodFold(method)">
|
<div class="fold-strip-header" :class="{ 'no-chevron': !hasStandaloneMethodPackage(method) }" @click="hasStandaloneMethodPackage(method) && toggleSelectedMethodFold(method)">
|
||||||
<el-icon :class="['fold-chevron', { open: method.expanded }]">
|
<el-icon v-if="hasStandaloneMethodPackage(method)" :class="['fold-chevron', { open: method.expanded }]">
|
||||||
<ArrowDown />
|
<ArrowDown />
|
||||||
</el-icon>
|
</el-icon>
|
||||||
<div class="fold-header-main">
|
<div class="fold-header-main">
|
||||||
@@ -492,15 +493,15 @@
|
|||||||
<el-icon><Close /></el-icon>
|
<el-icon><Close /></el-icon>
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
<div v-show="method.expanded" class="fold-strip-body">
|
<!-- 仅当检查方法有套餐时展示明细 -->
|
||||||
<template v-if="hasStandaloneMethodPackage(method)">
|
<div v-if="hasStandaloneMethodPackage(method) && method.expanded" class="fold-strip-body">
|
||||||
<div class="fold-package-wrap fold-method-package-wrap">
|
<div class="fold-package-wrap fold-method-package-wrap">
|
||||||
<div v-if="method.packageLoading" class="package-details-loading">加载中...</div>
|
<div v-if="method.packageLoading" class="package-details-loading">加载中...</div>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<div v-if="getStandaloneMethodPackageDetailsList(method).length === 0" class="package-details-empty">
|
<div v-if="getStandaloneMethodPackageDetailsList(method).length === 0" class="package-details-empty">
|
||||||
暂无检查方法套餐明细
|
暂无检查方法套餐明细
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="package-details-list method-package-list">
|
<div v-else class="package-details-list method-package-list">
|
||||||
<div
|
<div
|
||||||
v-for="(detail, dIdx) in getStandaloneMethodPackageDetailsList(method)"
|
v-for="(detail, dIdx) in getStandaloneMethodPackageDetailsList(method)"
|
||||||
:key="detail.id ?? detail.itemCode ?? `md-${dIdx}`"
|
:key="detail.id ?? detail.itemCode ?? `md-${dIdx}`"
|
||||||
@@ -514,13 +515,9 @@
|
|||||||
<span class="detail-price">¥{{ formatDetailAmount(detail.price) }}</span>
|
<span class="detail-price">¥{{ formatDetailAmount(detail.price) }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
|
||||||
<template v-else>
|
|
||||||
<div class="fold-strip-muted">无单独的检查方法套餐明细。</div>
|
|
||||||
</template>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1109,7 +1106,7 @@ async function handleCategoryExpand(cat) {
|
|||||||
function handleCollapseChange(activeName) {
|
function handleCollapseChange(activeName) {
|
||||||
// 始终记录当前激活的分类,确保 handleCategoryExpand 能正确忽略过期请求
|
// 始终记录当前激活的分类,确保 handleCategoryExpand 能正确忽略过期请求
|
||||||
currentActiveCategory.value = activeName || null;
|
currentActiveCategory.value = activeName || null;
|
||||||
// 底部「检查方法」勾选区默认展开,不因切换左侧分类而收起
|
// 切换分类时自动展开方法选择器,使关联的检查方法对医生可见
|
||||||
methodPickerExpanded.value = true;
|
methodPickerExpanded.value = true;
|
||||||
|
|
||||||
if (activeName) {
|
if (activeName) {
|
||||||
@@ -2180,6 +2177,14 @@ defineExpose({ getList });
|
|||||||
transform: rotate(0deg);
|
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 {
|
.fold-header-main {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
min-width: 0;
|
min-width: 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user