Prechádzať zdrojové kódy

fix(membership): 升级记录去除「登录查看」占位,等级名与金额按后端实际字段渲染

根因:后端 MemberUpgradeRecord 无 amount 字段(consumptionAmount 从未写入,亦无
levelName 字段),前端 record.amount 恒为 undefined,而全局 formatPriceWithSymbol()
对 null/undefined 返回游客占位「登录查看」→ 登录后升级记录仍显示「登录查看」,
且等级名为空白。

- record-level 改用 getLevelName(record.toLevel)(按等级码映射等级名)
- record-amount 改用 getRecordAmountText(record):无金额显示 "—",有金额才
  formatPriceWithSymbol 格式化为 ¥x.xx
- 验证:verify-vue-compile PASS(模板/样式/脚本通过)、audit-mp-antipatterns ERROR 0
- 提示:小程序需 HBuilderX 重新打包后生效(本提交仅改源码)
Agnes Agent 6 dní pred
rodič
commit
135be8ecda
1 zmenil súbory, kde vykonal 10 pridanie a 2 odobranie
  1. 10 2
      cfc-frontend/pages/membership/upgrade.vue

+ 10 - 2
cfc-frontend/pages/membership/upgrade.vue

@@ -84,10 +84,10 @@
         <text class="section-title">升级记录</text>
         <view class="record-item" v-for="record in records" :key="record.id">
           <view class="record-left">
-            <text class="record-level">{{ record.levelName }}</text>
+            <text class="record-level">{{ getLevelName(record.toLevel) }}</text>
             <text class="record-time">{{ formatDate(record.createdAt) }}</text>
           </view>
-          <text class="record-amount">{{ formatPriceWithSymbol(record.amount) }}</text>
+          <text class="record-amount">{{ getRecordAmountText(record) }}</text>
         </view>
       </view>
     </scroll-view>
@@ -188,6 +188,14 @@ export default {
     getJoinRuleKey(rule, idx) {
       return rule.id + '-' + idx
     },
+    getRecordAmountText(record) {
+      // 后端升级记录未落金额(consumptionAmount 从未写入,实体也无 amount 字段),
+      // 有金额才格式化展示,否则用 "—",避免误显示游客占位文案「登录查看」
+      if (!record) return '—'
+      var amount = record.amount
+      if (amount == null || amount === undefined) return '—'
+      return this.formatPriceWithSymbol(amount)
+    },
     getCouponDesc(item) {
       if (!item) return ''
       if (item.type === 'DISCOUNT' || item.type === 'PERCENT') {