refactor(h5/aggregate): 统一聚合支付终态视觉布局

- 成功态隐藏主卡片、补传订单摘要,与异常终态/PC 端布局对齐

- loadError 补 brand 色块,作为结果卡负 margin 的叠放对象
This commit is contained in:
bootx
2026-07-20 21:30:11 +08:00
parent 33422b27a9
commit f92c5f9613
5 changed files with 35 additions and 23 deletions

View File

@@ -120,15 +120,18 @@ onMounted(() => {
:tip-key="maskTipKey"
/>
<!-- 加载错误 -->
<AggregateResultCard v-else-if="loadError" state="loadError" :message="loadError" />
<!-- 加载错误 brand 色块作为结果卡负 margin 的叠放对象与其他终态视觉一致 -->
<template v-else-if="loadError">
<div class="agg__brand" />
<AggregateResultCard state="loadError" :message="loadError" />
</template>
<template v-else>
<!-- 顶部品牌色装饰区半透明圆点缀 -->
<div class="agg__brand" />
<!-- 订单信息卡片异常终态时隐藏订单信息降级到结果卡摘要 -->
<div v-if="!abnormalTerminal" class="agg__card agg__card--main">
<!-- 订单信息卡片终态时隐藏订单信息降级到结果卡摘要 -->
<div v-if="!paid && !abnormalTerminal" class="agg__card agg__card--main">
<div class="agg__title">
{{ order.title || t('aggregate.defaultTitle') }}
</div>
@@ -151,7 +154,7 @@ onMounted(() => {
</div>
<!-- 支付成功 -->
<AggregateResultCard v-if="paid" state="paid" :brand-color="BRAND_COLOR" />
<AggregateResultCard v-if="paid" state="paid" :brand-color="BRAND_COLOR" :summary="orderSummary" />
<!-- 终态非支付成功失败/关闭/过期 -->
<AggregateResultCard v-else-if="terminal" :state="terminalState" :summary="orderSummary" />

View File

@@ -28,7 +28,7 @@ const props = defineProps<{
brandColor?: string
// 加载失败时的动态消息(覆盖默认标题文案)
message?: string
// 订单摘要项(可选):异常终态时附属在副提示下方,展示订单关键信息(对齐 PC 端 summary
// 订单摘要项(可选):终态时附属在副提示下方,展示订单关键信息(对齐 PC 端 summary
summary?: Array<{ label: string, value: string }>
}>()
@@ -119,7 +119,7 @@ function handleClose() {
<p class="agg-result__tip">
{{ t(meta.tipKey) }}
</p>
<!-- 订单摘要异常终态时展示订单关键信息对齐 PC summary -->
<!-- 订单摘要终态时展示订单关键信息对齐 PC summary -->
<div v-if="summary && summary.length" class="agg-result__summary">
<div v-for="(item, index) in summary" :key="index" class="agg-result__summary-row">
<span class="agg-result__summary-label">{{ item.label }}</span>
@@ -185,7 +185,7 @@ function handleClose() {
line-height: 1.6;
}
/* 订单摘要区:异常终态时附属在副提示下方,左右对齐的表格式信息(对齐 PC 端) */
/* 订单摘要区:终态时附属在副提示下方,左右对齐的表格式信息(对齐 PC 端) */
.agg-result__summary {
width: 100%;
margin-top: 16px;

View File

@@ -120,15 +120,18 @@ onMounted(() => {
:tip-key="maskTipKey"
/>
<!-- 加载错误 -->
<AggregateResultCard v-else-if="loadError" state="loadError" :message="loadError" />
<!-- 加载错误 brand 色块作为结果卡负 margin 的叠放对象与其他终态视觉一致 -->
<template v-else-if="loadError">
<div class="agg__brand" />
<AggregateResultCard state="loadError" :message="loadError" />
</template>
<template v-else>
<!-- 顶部品牌色装饰区半透明圆点缀 -->
<div class="agg__brand" />
<!-- 订单信息卡片异常终态时隐藏订单信息降级到结果卡摘要 -->
<div v-if="!abnormalTerminal" class="agg__card agg__card--main">
<!-- 订单信息卡片终态时隐藏订单信息降级到结果卡摘要 -->
<div v-if="!paid && !abnormalTerminal" class="agg__card agg__card--main">
<div class="agg__title">
{{ order.title || t('aggregate.defaultTitle') }}
</div>
@@ -151,7 +154,7 @@ onMounted(() => {
</div>
<!-- 支付成功 -->
<AggregateResultCard v-if="paid" state="paid" :brand-color="BRAND_COLOR" />
<AggregateResultCard v-if="paid" state="paid" :brand-color="BRAND_COLOR" :summary="orderSummary" />
<!-- 终态非支付成功失败/关闭/过期 -->
<AggregateResultCard v-else-if="terminal" :state="terminalState" :summary="orderSummary" />

View File

@@ -120,15 +120,18 @@ onMounted(() => {
:tip-key="maskTipKey"
/>
<!-- 加载错误 -->
<AggregateResultCard v-else-if="loadError" state="loadError" :message="loadError" />
<!-- 加载错误 brand 色块作为结果卡负 margin 的叠放对象与其他终态视觉一致 -->
<template v-else-if="loadError">
<div class="agg__brand" />
<AggregateResultCard state="loadError" :message="loadError" />
</template>
<template v-else>
<!-- 顶部品牌色装饰区半透明圆点缀 -->
<div class="agg__brand" />
<!-- 订单信息卡片异常终态时隐藏订单信息降级到结果卡摘要 -->
<div v-if="!abnormalTerminal" class="agg__card agg__card--main">
<!-- 订单信息卡片终态时隐藏订单信息降级到结果卡摘要 -->
<div v-if="!paid && !abnormalTerminal" class="agg__card agg__card--main">
<div class="agg__title">
{{ order.title || t('aggregate.defaultTitle') }}
</div>
@@ -151,7 +154,7 @@ onMounted(() => {
</div>
<!-- 支付成功 -->
<AggregateResultCard v-if="paid" state="paid" :brand-color="BRAND_COLOR" />
<AggregateResultCard v-if="paid" state="paid" :brand-color="BRAND_COLOR" :summary="orderSummary" />
<!-- 终态非支付成功失败/关闭/过期 -->
<AggregateResultCard v-else-if="terminal" :state="terminalState" :summary="orderSummary" />

View File

@@ -123,15 +123,18 @@ onMounted(() => {
:tip-key="maskTipKey"
/>
<!-- 加载错误 -->
<AggregateResultCard v-else-if="loadError" state="loadError" :message="loadError" />
<!-- 加载错误 brand 色块作为结果卡负 margin 的叠放对象与其他终态视觉一致 -->
<template v-else-if="loadError">
<div class="agg__brand" />
<AggregateResultCard state="loadError" :message="loadError" />
</template>
<template v-else>
<!-- 顶部品牌色装饰区半透明圆点缀 -->
<div class="agg__brand" />
<!-- 订单信息卡片异常终态时隐藏订单信息降级到结果卡摘要 -->
<div v-if="!abnormalTerminal" class="agg__card agg__card--main">
<!-- 订单信息卡片终态时隐藏订单信息降级到结果卡摘要 -->
<div v-if="!paid && !abnormalTerminal" class="agg__card agg__card--main">
<div class="agg__title">
{{ order.title || t('aggregate.defaultTitle') }}
</div>
@@ -154,7 +157,7 @@ onMounted(() => {
</div>
<!-- 支付成功 -->
<AggregateResultCard v-if="paid" state="paid" :brand-color="BRAND_COLOR" />
<AggregateResultCard v-if="paid" state="paid" :brand-color="BRAND_COLOR" :summary="orderSummary" />
<!-- 终态非支付成功失败/关闭/过期 -->
<AggregateResultCard v-else-if="terminal" :state="terminalState" :summary="orderSummary" />