瀏覽代碼

feat(KIP-9508): TPS | QHKC | C端前端修改

john 2 年之前
父節點
當前提交
4c01c41068
共有 2 個文件被更改,包括 25 次插入15 次删除
  1. 1 0
      src/api/mockData/checkout.qh6.response.json
  2. 24 15
      src/store/order.js

+ 1 - 0
src/api/mockData/checkout.qh6.response.json

@@ -20,6 +20,7 @@
         "pointsPerUnit": 500,
         "unitAmount": 5,
         "newMember": false,
+        "unlimitUsePoints": "LIMIT",
         "label": "已选择兑换10元",
         "discountFee": 10
       }

+ 24 - 15
src/store/order.js

@@ -37,6 +37,7 @@ const state = {
   maxPointsTime: '', // 积分最大兑换时长
   pointsTime: '', // 已兑换的积分时间
   unitAmount: 0,
+  unlimitUsePoints: 'LIMIT',
   // 停车优惠:会员等级和消费减免
   memberLevelDiscount: false, // 是否开启会员等级
   enableConsume: false, // 是否开启消费减免
@@ -128,6 +129,9 @@ const mutations = {
   setUnitAmount(state, payload) {
     state.unitAmount = payload;
   },
+  setUnlimitUsePoints(state, payload) {
+    state.unlimitUsePoints = payload;
+  },
   setMaxDiscountFee(state, payload) {
     state.maxDiscountFee = payload;
   },
@@ -160,6 +164,7 @@ const mutations = {
     state.maxPointsTime = ''; // 积分最大兑换时长
     state.pointsTime = ''; // 已兑换的积分时间
     state.unitAmount = 0;
+    state.unlimitUsePoints = 'LIMIT';
     // 停车优惠:会员等级和消费减免
     state.memberLevelDiscount = false; // 是否开启会员等级
     state.enableConsume = false; // 是否开启消费减免
@@ -190,8 +195,8 @@ const actions = {
       // console.log('无牌车扫码出场', endlessLoop);
       // 场内缴费,调 check-out 接口,
       const method = unlicensed && endlessLoop || !vehicleNo ? unlicensedCarCheckout : checkOut
-      const res = await method(vehicleNo, unlicensed, gateId);
-      // const res = checkOutQHResponse
+      // const res = await method(vehicleNo, unlicensed, gateId);
+      const res = checkOutQHResponse
       if (res?.parkingRecord?.totalFee <= 0) {
         callback && callback({
           unlicensed,
@@ -308,6 +313,7 @@ const actions = {
         pointsPerUnit = 0, // 500积分对应的价值
         discountFee,
         label,
+        unlimitUsePoints
       },
     ] = points;
     commit('setAvailableDiscountFee', availableDiscountFee);
@@ -321,6 +327,7 @@ const actions = {
     commit('setMaxOneDayDiscountFee', maxOneDayDiscountFee);
     commit('setPointsPerHour', pointsPerUnit);
     commit('setUnitAmount', unitAmount);
+    commit('setUnlimitUsePoints', unlimitUsePoints);
     commit('setIntegralDesc', discountFee ? `已选择兑换${discountFee}元` : available > pointsPerUnit ? `${available}积分可减免` : `${pointsPerUnit}积分可停车1小时`); // 积分优惠处的描述
   },
   // 当前最大可选优惠时间
@@ -379,22 +386,24 @@ const actions = {
     if (maxPointsTime > state.availableDiscountFee) {
       maxPointsTime = state.availableDiscountFee
     }
-    if (type === 'add' && state.pointsTime >= maxPointsTime) {
-      // 以下是深圳积分上限规则
-      // 超出抵扣上限,每日最高可抵扣${this.parkFee.parkInfoEntity.maxOneDayHour}元 '优惠金额' >= '每日最高可抵扣'
-      if (state.usingTotalDiscount >= state.maxOneDayDiscountFee && !msg) {
+    if ( state.unlimitUsePoints === 'LIMIT' ) {
+      if (type === 'add' && state.pointsTime >= maxPointsTime) {
+        // 以下是深圳积分上限规则
+        // 超出抵扣上限,每日最高可抵扣${this.parkFee.parkInfoEntity.maxOneDayHour}元 '优惠金额' >= '每日最高可抵扣'
+        if (state.usingTotalDiscount >= state.maxOneDayDiscountFee && !msg) {
           msg = `超出抵扣上限,每日最高可抵扣${state.maxOneDayDiscountFee}元`
+        }
+        // 超出抵扣上限,每次最高可抵扣${this.integralMaxMoney}元 '积分兑换时长' >= '深圳前海停车积分上限'q
+        if (state.pointsTime >= maxPointsTime && !msg) {
+          msg = `超出抵扣上限,每次最高可抵扣${state.maxDiscountFee}元`
+        }
+        callback({
+          message: msg
+        });
+        return
       }
-      // 超出抵扣上限,每次最高可抵扣${this.integralMaxMoney}元 '积分兑换时长' >= '深圳前海停车积分上限'q
-      if (state.pointsTime >= maxPointsTime && !msg) {
-        msg = `超出抵扣上限,每次最高可抵扣${state.maxDiscountFee}元`
-      }
-      callback({
-        message: msg
-      });
-      return
     }
-    if (type === 'add' && state.pointsTime < maxPointsTime) {
+    if (type === 'add' && (state.pointsTime < maxPointsTime || state.unlimitUsePoints === 'UN_LIMIT')) {
       const pointsTime = state.pointsTime + state.unitAmount;
       const available = state.available - state.pointsPerUnit;
       const usingTotalDiscount = state.usingTotalDiscount + state.unitAmount; // 重新计算已经使用的优惠逻辑