Преглед изворни кода

fix(mallApp): 修复秒杀结束后规格价格恢复错误

- 切换规格时同步更新秒杀覆盖前的价格与价格类型快照
- 活动结束后按当前选中规格恢复售价和询价状态
shizhongqi пре 1 дан
родитељ
комит
224cac93df
1 измењених фајлова са 8 додато и 1 уклоњено
  1. 8 1
      mallApp/src/pages/goods/detail.vue

+ 8 - 1
mallApp/src/pages/goods/detail.vue

@@ -424,7 +424,7 @@ export default {
      */
     applySeckillPriceIfNeeded() {
       if (!this.isSeckillActive) return;
-      // 只在首次覆盖时记下原价类型,切规格不要覆盖这份快照
+      // 首次覆盖时记下当前规格原价;切规格时由 applySpecSelection 主动更新为新规格快照
       if (!this._originPriceSnapshot) {
         this._originPriceSnapshot = {
           priceType: Number(this.data.priceType),
@@ -715,6 +715,13 @@ export default {
         return;
       }
       this.specIndex = index;
+      // 秒杀价覆盖期间切规格,要同步保存新规格原价,活动结束后才能恢复当前选中规格的真实状态
+      if (this.isSeckillActive) {
+        this._originPriceSnapshot = {
+          priceType: Number(spec.priceType),
+          price: spec.price,
+        };
+      }
       this.data = {
         ...this.data,
         price: spec.price,