Selaa lähdekoodia

电子券显示逻辑修复

john.hong 2 vuotta sitten
vanhempi
sitoutus
c54a98887c
1 muutettua tiedostoa jossa 69 lisäystä ja 67 poistoa
  1. 69 67
      src/store/order.js

+ 69 - 67
src/store/order.js

@@ -5,6 +5,10 @@ import { checkOut, calculateDiscount, ordersAndPrepay, currentUnlicensedPlate, u
 // import checkOutQHResponse from '@/api/mockData/checkout.qh6.response.json'
 // import unlicensedCarCheckInResponse from '@/api/mockData/unlicensedCarCheckIn.qh.response.json';
 
+/* 
+([a-z]*):(.*),
+state.$1 =$2;
+ */
 // 大于等于停车费
 // 微服务接口字段
 const state = {
@@ -130,6 +134,40 @@ const mutations = {
   setUnlicensedCar(state, payload) {
     state.unlicensedCar = payload;
   },
+  // 订单初始化
+  clearOrderInfo(state) {
+    state.orderDetail = {}; // 订单原始数据
+    state.isShowDiscounts = false; // 是否展示会员登记优惠
+    state.discountDesc = ''; // 停车优惠(首停、会员减免、消费减免)
+    state.checkedTotal = 0; // 选中count数
+    state.enableNewMemberPoints = false; // 是否开启新会员积分
+    state.enablePoints = false; // 是否开启积分减免
+    state.usePoints = 0; // 用户已选择的积分
+    state.isFirst = 0; // 判断用户是否首次进入
+    state.integralDesc = ''; // 积分减免说明文案
+    state.pointsPerHour = 0; // 每小时兑换积分
+    state.enableCoupon = false; // 电子优惠券是否启用
+    state.maxOneDayCoupons = 0; // 单日可选优惠券上限
+    state.coupons = []; // 可选优惠券数量
+    state.couponCount = 0; // 已选择优惠券
+    state.couponDesc = ''; // 优惠券说明文案
+    state.enablePaperCoupons = false; // 启动纸质优惠券
+    state.usingTotalDiscount = 0; // 优惠金额
+    state.actualPayFee = 0; // 应付金额
+    state.availableDiscountFee = 0; // 当日剩余可使用优惠金额
+    // 积分相关
+    state.available = 0; // 用户可用积分
+    state.maxPointsTime = ''; // 积分最大兑换时长
+    state.pointsTime = ''; // 已兑换的积分时间
+    state.unitAmount = 0;
+    // 停车优惠:会员等级和消费减免
+    state.memberLevelDiscount = false; // 是否开启会员等级
+    state.enableConsume = false; // 是否开启消费减免
+    state.pointsPerUnit = 0; //
+    // unlicensed: false // true: 临时车牌;false:普通车牌
+    // 无牌车逻辑
+    state.unlicensedCar = '';
+  }
 };
 
 const actions = {
@@ -141,32 +179,32 @@ const actions = {
    * @param {*} param1.callback  回调函数,用于接口报错时,展示对应的信息
    * @param {*} param1.endlessLoop 用于判断当前用户是否扫码进入 
    */
-  async orderInit({ commit, dispatch, state }, { gateId='124p3LK1', vehicleNo = '浙A616A1', callback, endlessLoop }) {
+  async orderInit({ commit, dispatch, state }, { gateId = '124p3LK1', vehicleNo = '浙A616A1', callback, endlessLoop }) {
     try {
-      dispatch('clearOrderInfo');
-        const unlicensed = vehicleNo.indexOf('临') > -1; // true: 临时车牌;false:普通车牌
-        // const res = await checkOut('浙A616A1');
-        // const res = await checkOut('闽AAQ5519', unlicensed);
-        // const res = await checkOut('粤A51113');
-        // const res = await checkOut('沪DCJ986');
-        // console.log('无牌车扫码出场', endlessLoop);
-        // 场内缴费,调 check-out 接口,
-        const method = unlicensed && endlessLoop || !vehicleNo ? unlicensedCarCheckout : checkOut
-        const res = await method(vehicleNo, false, gateId);
-        if ( res?.parkingRecord?.totalFee <= 0) {
-          callback && callback({
-            unlicensed,
-            endlessLoop,
-            code: endlessLoop,
-            orderDetail: res,
-          }); // 统一处理错误原因
-         return
-        }
-        // console.log(vehicleNo, res);
-        // 所有的优惠时间长转为金额
-        console.log(112, '所有的优惠时间长转为金额');
-        // dispatch('orderInitRule', checkOutQHResponse);
-        dispatch('orderInitRule', res);
+      commit('clearOrderInfo');
+      const unlicensed = vehicleNo.indexOf('临') > -1; // true: 临时车牌;false:普通车牌
+      // const res = await checkOut('浙A616A1');
+      // const res = await checkOut('闽AAQ5519', unlicensed);
+      // const res = await checkOut('粤A51113');
+      // const res = await checkOut('沪DCJ986');
+      // console.log('无牌车扫码出场', endlessLoop);
+      // 场内缴费,调 check-out 接口,
+      const method = unlicensed && endlessLoop || !vehicleNo ? unlicensedCarCheckout : checkOut
+      const res = await method(vehicleNo, false, gateId);
+      if (res?.parkingRecord?.totalFee <= 0) {
+        callback && callback({
+          unlicensed,
+          endlessLoop,
+          code: endlessLoop,
+          orderDetail: res,
+        }); // 统一处理错误原因
+        return
+      }
+      // console.log(vehicleNo, res);
+      // 所有的优惠时间长转为金额
+      console.log(112, '所有的优惠时间长转为金额');
+      // dispatch('orderInitRule', checkOutQHResponse);
+      dispatch('orderInitRule', res);
     } catch (error) {
       console.log('151151151151151', error);
       /* if (/NOT_FOUND|PARKING_RECORD_NOT_FOUND/.test(error.code)) {
@@ -179,13 +217,13 @@ const actions = {
     console.log(119, checkOutResponse);
     // 记录buildingId
     if (checkOutResponse?.parkInfo?.buildingId) {
-      window.localStorage.setItem('buildingId', checkOutResponse.parkInfo.buildingId);  
+      window.localStorage.setItem('buildingId', checkOutResponse.parkInfo.buildingId);
     }
     commit('setOrderDetail', checkOutResponse);
     const isShowDiscounts = checkOutResponse?.parkingRule?.enableCoupon || false;
     // 是否展示优惠
     commit('setIsShowDiscounts', isShowDiscounts);
-    if(checkOutResponse.parkingRule) {
+    if (checkOutResponse.parkingRule) {
       // 会员等级减免
       // 停车优惠(首停、会员减免、消费减免)
       dispatch('getCheckedTotal', checkOutResponse);
@@ -346,7 +384,7 @@ const actions = {
       if (available > -1) {
         // 如果是深圳车场
         commit('setAvailable', available);
-        commit('setPointsTime', pointsTime);  
+        commit('setPointsTime', pointsTime);
       }
     }
     if (type === 'minus' && state.pointsTime > 0) {
@@ -516,7 +554,7 @@ const actions = {
       console.log('无牌车的查询记录', res);
       commit('setUnlicensedCar', res.vehicleNo);
       // 如果是扫码进入的用户,在出场时需要重新扫码,这时会在此处传入的一个回调函数,在获取到临牌时,返回给 qrCodesRule 函数
-      if(res.vehicleNo && callback) {
+      if (res.vehicleNo && callback) {
         callback(res.vehicleNo);
       } else {
         callback('error');
@@ -535,49 +573,13 @@ const actions = {
   /*
    如果积分发生变化
    */
-  // 订单初始化
-  clearOrderInfo({ state }) {
-    state = {
-      // 微服务接口字段
-      orderDetail: {}, // 订单原始数据
-      isShowDiscounts: false, // 是否展示会员登记优惠
-      discountDesc: '', // 停车优惠(首停、会员减免、消费减免)
-      checkedTotal: 0, // 选中count数
-      enableNewMemberPoints: false, // 是否开启新会员积分
-      enablePoints: false, // 是否开启积分减免
-      usePoints: 0, // 用户已选择的积分
-      isFirst: 0, // 判断用户是否首次进入
-      integralDesc: '', // 积分减免说明文案
-      pointsPerHour: 0, // 每小时兑换积分
-      enableCoupon: false, // 电子优惠券是否启用
-      maxOneDayCoupons: 0, // 单日可选优惠券上限
-      coupons: [], // 可选优惠券数量
-      couponCount: 0, // 已选择优惠券
-      couponDesc: '', // 优惠券说明文案
-      enablePaperCoupons: false, // 启动纸质优惠券
-      usingTotalDiscount: 0, // 优惠金额
-      actualPayFee: 0, // 应付金额
-      availableDiscountFee: 0, // 当日剩余可使用优惠金额
-      // 积分相关
-      available: 0, // 用户可用积分
-      maxPointsTime: '', // 积分最大兑换时长
-      pointsTime: '', // 已兑换的积分时间
-      unitAmount: 0,
-      // 停车优惠:会员等级和消费减免
-      memberLevelDiscount: false, // 是否开启会员等级
-      enableConsume: false, // 是否开启消费减免
-      pointsPerUnit: 0, //
-      // unlicensed: false // true: 临时车牌;false:普通车牌
-      // 无牌车逻辑
-      unlicensedCar: '',
-    }
-  }
+
 };
 
 export default {
   //开启命名模块
   namespaced: true,
-  state,
+  state: state,
   mutations,
   actions,
 };