John-Hong 1 жил өмнө
parent
commit
1d870650fa
35 өөрчлөгдсөн 223 нэмэгдсэн , 226 устгасан
  1. 5 1
      package.json
  2. 1 1
      src/api/parking/index.js
  3. 20 23
      src/common/js/BaseDictionary.js
  4. 65 2
      src/components/scroll-view/scroll-view.vue
  5. 0 78
      src/components/scroll-view/scroll-view2.vue
  6. 1 1
      src/crmPages/parkingFee.vue
  7. 1 1
      src/crmPages/parkingFeeCoupon.vue
  8. 6 6
      src/crmPages/parkingFeeDetail.vue
  9. 4 4
      src/crmPages/parkingFeePaperCoupon.vue
  10. 7 7
      src/main.js
  11. 1 1
      src/pages/parkingFee/components/base/parkingFee.vue
  12. 1 1
      src/pages/parkingFee/components/base/parkingFeeCoupon.vue
  13. 3 3
      src/pages/parkingFee/components/base/parkingFeeDetail.vue
  14. 4 4
      src/pages/parkingFee/components/base/parkingFeePaperCoupon.vue
  15. 1 1
      src/pages/parkingFee/components/officeBlue/parkingFeeCoupon.vue
  16. 3 3
      src/pages/parkingFee/components/officeBlue/parkingFeeDetail.vue
  17. 4 4
      src/pages/parkingFee/components/officeBlue/parkingFeePaperCoupon.vue
  18. 1 1
      src/pages/parkingFee/components/purple/parkingFee.vue
  19. 3 3
      src/pages/parkingFee/components/purple/parkingFeeDetail.vue
  20. 6 19
      src/pages/parkingFee/mixins/parkingFeeCoupon.js
  21. 1 7
      src/pages/parkingFee/mixins/parkingFeePaperCoupon.js
  22. 3 0
      src/pages/parkingFee/mixins/vehicleAddOrEdit.js
  23. 1 1
      src/pages/parkingFee/parkingFeeCoupon.vue
  24. 3 3
      src/pages/parkingFee/parkingFeeDetail.vue
  25. 4 4
      src/pages/parkingFee/parkingFeePaperCoupon.vue
  26. 6 19
      src/pages/parkingFeeV2/mixins/parkingFeeCoupon.js
  27. 1 7
      src/pages/parkingFeeV2/mixins/parkingFeePaperCoupon.js
  28. 1 5
      src/pages/parkingFeeV2/mixins/vehicleAddOrEdit.js
  29. 1 1
      src/pages/parkingFeeV2/parkingFeeCoupon.vue
  30. 3 3
      src/pages/parkingFeeV2/parkingFeeDetail.vue
  31. 4 4
      src/pages/parkingFeeV2/parkingFeePaperCoupon.vue
  32. 2 2
      src/store/order/coupon.js
  33. 3 3
      src/store/order/index.js
  34. 1 2
      src/store/order/points.js
  35. 52 1
      yarn.lock

+ 5 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "temporay-parking",
-  "version": "3.2.0",
+  "version": "3.1.0",
   "private": true,
   "scripts": {
     "serve": "cross-env NODE_ENV=dev vue-cli-service serve",
@@ -9,6 +9,9 @@
     "test:h5": "cross-env UNI_PLATFORM=h5 jest -i"
   },
   "dependencies": {
+    "@better-scroll/core": "^2.4.2",
+    "@better-scroll/observe-dom": "^2.4.2",
+    "@better-scroll/pull-up": "^2.4.2",
     "axios": "^0.27.2",
     "crypto-js": "^4.1.1",
     "js-md5": "^0.7.3",
@@ -17,6 +20,7 @@
     "sa-sdk-javascript": "^1.24.13",
     "uuid": "^9.0.0",
     "vant": "^2.12.50",
+    "vconsole": "^3.15.0",
     "vue": "^2.7.14",
     "vue-router": "^3.6.5",
     "vuex": "^3.6.2"

+ 1 - 1
src/api/parking/index.js

@@ -172,7 +172,7 @@ export function qrCodes(codeId) {
 }
 
 
-// 1.3 纸质优惠金额接口
+// 1.3 纸质优惠金额接口
 export function paperCoupon(couponCode, vehicleNo) {
   return window.requestms.get(`parking-lots/paper-coupon?couponCode=${couponCode}&vehicleNo=${vehicleNo}`, { loading: true });
 }

+ 20 - 23
src/common/js/BaseDictionary.js

@@ -7,8 +7,8 @@ const testAppIdInfo = {
 const SKC = {
   qa: {
     ...testAppIdInfo,
-    groupId: '8a8884e77cc9e70a017cca1c77e80004',
-    mallId: '8a888aed7d0295e5017d029ff1f40000',
+    groupId: '8a8485497c9cafbc017c9cb90b9d0000',
+    mallId: '8a84854a7cfd947d017d02861a9d0002',
     projectId: 'SKC',
   },
   prod: {
@@ -23,8 +23,8 @@ const SKC = {
 const HKC = {
   qa: {
     ...testAppIdInfo,
-    groupId: '8a8884e77cc9e70a017cca1011970001',
-    mallId: '8a8883557cca9463017ccb002b360001',
+    groupId: '8a84853b7c91ac5b017c962dab55030e',
+    mallId: '8a84853b7c91ac5b017c961a9b2a030d',
     projectId: 'HKC',
   },
   prod: {
@@ -46,8 +46,8 @@ const QHKC = {
   },
   qa: {
     ...testAppIdInfo,
-    groupId: '8a888a087cc59dc0017cc622f9ad0000',
-    mallId: '8a88a9fd7f73ffcd017f968739870006',
+    groupId: '8a84819f7c6e260e017c72669bbe01c2',
+    mallId: '8a8486a37f48f7bd017f4e5bddd10000',
     projectId: 'HKC',
   },
   prod: {
@@ -69,8 +69,8 @@ const PKC = {
   },
   qa: {
     ...testAppIdInfo,
-    groupId: '8a8884e77cc9e70a017cca14d07e0002',
-    mallId: '8a88835c7cd96d31017cda3f77e80003',
+    groupId: '8a8480487c96d58f017c9b7bab7d0020',
+    mallId: '8a8481f57cca9442017ce02875b8004a',
     projectId: '184',
   },
   prod: {
@@ -91,8 +91,8 @@ const JAKC = {
   },
   qa: {
     ...testAppIdInfo,
-    groupId: '8a8884e77cc9e70a017cca14d07e0002',
-    mallId: '8a88835c7cd96d31017cda2fd9910000',
+    groupId: '8a8480487c96d58f017c9b7bab7d0020',
+    mallId: '8a8481f57cca9442017ce026ddd40049',
     projectId: 'JAKC',
   },
   prod: {
@@ -114,8 +114,8 @@ const FZKC = {
   },
   qa: {
     ...testAppIdInfo,
-    groupId: '8a888bfd816101980181a9593f99019b',
-    mallId: '8a888bfd816101980181a969f513019c',
+    groupId: '8a8480487c96d58f017c9b7bab7d0020',
+    mallId: '8a8481f57cca9442017ce026ddd40049',
     projectId: 'JAKC',
   },
   prod: {
@@ -137,8 +137,8 @@ const HJBGL = {
   },
   qa: {
     ...testAppIdInfo,
-    groupId: '8a88835c7cd96d31017cda3662720001',
-    mallId: '8a8881dc8754766f0187796cee6b0000',
+    groupId: '8a8481f57cca9442017ce3f3bbc50098',
+    mallId: '2c9d9c268680ba64018682bd28900007',
     projectId: 'KEC3',
   },
   prod: {
@@ -160,8 +160,8 @@ const NANCHANG = {
   },
   qa: {
     ...testAppIdInfo,
-    groupId: '8a888caf8809f52401880ea8c3fe0005',
-    mallId: '8a88817a8a629b5f018a838a0f6e001f',
+    groupId: '8a8484b287c1b7cf01880e982460007a',
+    mallId: '8a84834088f11119018949444636000c',
     projectId: 'NCHC',
   },
   prod: {
@@ -183,16 +183,16 @@ const SZXP = {
   },
   qa: {
     ...testAppIdInfo,
-    groupId: '8a888a087cc59dc0017cc622f9ad0000',
-    mallId: '8a888abd8ceb6c70018d117f469c0010',
+    groupId: '8a84819f7c6e260e017c72669bbe01c2',
+    mallId: '8a8486d58c0e78e0018c1540374d0002',
     projectId: 'SZXP',
   },
   prod: {
     // TODO: 等待对应公众号上线
     ...testAppIdInfo,
     // TODO: 获取生产环境的 groupId和mallId
-    groupId: '8a888a087cc59dc0017cc622f9ad0000',
-    mallId: '8a888abd8ceb6c70018d117f469c0010',
+    groupId: '8a888caf8809f52401880ea8c3fe0005',
+    mallId: '8a88817a8a629b5f018a838a0f6e001f',
     projectId: 'SZXP',
   },
 }
@@ -272,9 +272,6 @@ export const lbsDictionary = {
   // 深圳建设广场
   "8a84819f7c6e260e017c7f27940401ce": {
     ...SZXP
-  },
-  "8a8884e77cc9e70a017cca320e730005": {
-    ...SZXP
   }
 
 };

+ 65 - 2
src/components/scroll-view/scroll-view.vue

@@ -4,12 +4,75 @@
   </div>
 </template>
 
+<script>
+import BScroll from '@better-scroll/core';
+import Pullup from '@better-scroll/pull-up';
+import ObserveDom from '@better-scroll/observe-dom'
+import _ from 'lodash'
+
+BScroll.use(Pullup).use(ObserveDom);
+
+export default {
+  name: 'scroll-view',
+  props: {
+    scrollTop: {
+      type: [Number, String, Function],
+    },
+    scrollX: {
+      type: Boolean,
+      // required: false,
+      default: false,
+    },
+    scrollY: {
+      type: [Boolean, String],
+      // required: false,
+      default: true,
+    }
+  },
+  data() {
+    this.pullingUpHandlerD = _.debounce(this.pullingUpHandler, 1000) // 防抖
+    return {
+      startPos: 0,
+      transitionHeight: 0,
+      refreshText: '',
+      scroll: null,
+      isMore: true,
+    };
+  },
+  methods: {
+    pullingUpHandler() {
+      this.$emit('scrolltolower');
+      this.scroll.finishPullUp(); //每次上拉结束后,需要执行这个操作
+      this.scroll.refresh(); //当滚动区域的dom结构有变化时,需要执行这个操作
+    },
+  },
+  mounted() {
+    this.scroll = new BScroll(this.$refs.refreshContainer, {
+      scrollY: true, //垂直方向滚动
+      observeDOM: true,
+      click: true, //默认会阻止浏览器的原生click事件,如果需要点击,这里要设为true
+      pullUpLoad: {
+        threshold: 50,
+        stop: 0, //下拉回弹后停留的位置
+      }, //上拉加载更多
+      pullDownRefresh: {
+        threshold: 50, //触发pullingDown事件的位置
+        stop: 0, //下拉回弹后停留的位置
+      },
+    });
+    this.scroll.on('pullingUp',this.pullingUpHandlerD);
+  },
+  destroyed() {
+    // 离开页面 销毁 实例对象
+    this.scroll.destroy()
+  },
+};
+</script>
 
 <style scoped lang="less">
 .scroll-view-box {
   width: 100%;
   height: 100vh;
-  overflow-y: scroll;
-  overflow-x: hidden;
+  overflow: hidden;
 }
 </style>

+ 0 - 78
src/components/scroll-view/scroll-view2.vue

@@ -1,78 +0,0 @@
-<template>
-  <div class="scroll-view-box" ref="refreshContainer">
-    <slot></slot>
-  </div>
-</template>
-
-<script>
-import BScroll from '@better-scroll/core';
-import Pullup from '@better-scroll/pull-up';
-import ObserveDom from '@better-scroll/observe-dom'
-import _ from 'lodash'
-
-BScroll.use(Pullup).use(ObserveDom);
-
-export default {
-  name: 'scroll-view',
-  props: {
-    scrollTop: {
-      type: [Number, String, Function],
-    },
-    scrollX: {
-      type: Boolean,
-      // required: false,
-      default: false,
-    },
-    scrollY: {
-      type: [Boolean, String],
-      // required: false,
-      default: true,
-    }
-  },
-  data() {
-    this.pullingUpHandlerD = _.debounce(this.pullingUpHandler, 1000) // 防抖
-    return {
-      startPos: 0,
-      transitionHeight: 0,
-      refreshText: '',
-      scroll: null,
-      isMore: true,
-    };
-  },
-  methods: {
-    pullingUpHandler() {
-      this.$emit('scrolltolower');
-      this.scroll.finishPullUp(); //每次上拉结束后,需要执行这个操作
-      this.scroll.refresh(); //当滚动区域的dom结构有变化时,需要执行这个操作
-    },
-  },
-  mounted() {
-    this.scroll = new BScroll(this.$refs.refreshContainer, {
-      scrollY: true, //垂直方向滚动
-      observeDOM: true,
-      click: true, //默认会阻止浏览器的原生click事件,如果需要点击,这里要设为true
-      pullUpLoad: {
-        threshold: 50,
-        stop: 0, //下拉回弹后停留的位置
-      }, //上拉加载更多
-      pullDownRefresh: {
-        threshold: 50, //触发pullingDown事件的位置
-        stop: 0, //下拉回弹后停留的位置
-      },
-    });
-    this.scroll.on('pullingUp',this.pullingUpHandlerD);
-  },
-  destroyed() {
-    // 离开页面 销毁 实例对象
-    this.scroll.destroy()
-  },
-};
-</script>
-
-<style scoped lang="less">
-.scroll-view-box {
-  width: 100%;
-  height: 100vh;
-  overflow: hidden;
-}
-</style>

+ 1 - 1
src/crmPages/parkingFee.vue

@@ -63,7 +63,7 @@
               <image
                 :src="`./static/images/icon3${colorAry[custTypeId]}.png`"
               />
-              <text>停车兑换</text>
+              <text>停车兑换</text>
             </view>
             <view class="menu_item" @click="doRouter1">
               <image

+ 1 - 1
src/crmPages/parkingFeeCoupon.vue

@@ -21,7 +21,7 @@
                   >{{ item.value }}</text
                 >
               </view>
-              <text style="color: #989898; font-size: 30rpx">停车</text>
+              <text style="color: #989898; font-size: 30rpx">停车</text>
             </view>
           </view>
           <view class="item-content cro_">

+ 6 - 6
src/crmPages/parkingFeeDetail.vue

@@ -93,7 +93,7 @@
         class="warp_index warp_index_da"
         v-if="parkFee.parkInfoEntity.isuseticket === 1"
       >
-        <view>优惠</view>
+        <view>优惠</view>
         <view class="warp_index_color" @click="coupon">
           <view
             style="margin-right: 10rpx"
@@ -111,10 +111,10 @@
         class="warp_index warp_index_da"
         v-if="parkFee.parkInfoEntity.papercoupons === 1 || isShowPapercoupons"
       >
-        <view>纸质优惠</view>
+        <view>纸质优惠</view>
         <view class="warp_index_color" @click="paperCoupon">
           <view style="margin-right: 10rpx" class="text-red"
-            >扫描纸质优惠二维码</view
+            >扫描纸质优惠二维码</view
           >
           <image
             style="width: 26rpx; height: 26rpx"
@@ -446,10 +446,10 @@ export default {
     // 电子券
     couponDesc() {
       if (this.checkedCouponCount > 0) {
-        return `已选择${this.checkedCouponCount}张优惠`;
+        return `已选择${this.checkedCouponCount}张优惠`;
       } else {
         if (this.couponCount > 0) {
-          return `您有${this.couponCount}张可用优惠`;
+          return `您有${this.couponCount}张可用优惠`;
         }
         return `暂无可用优惠券`;
       }
@@ -1052,7 +1052,7 @@ export default {
       });
     },
 
-    // 电子优惠
+    // 电子优惠
     coupon() {
       if (!this.couponCount) {
         return uni.showToast({

+ 4 - 4
src/crmPages/parkingFeePaperCoupon.vue

@@ -3,7 +3,7 @@
     <wx-points-commit ref="wxPointsCommit"></wx-points-commit>
 
     <view class="worp">
-      <view style="font-size: 32rpx">纸质优惠减免说明</view>
+      <view style="font-size: 32rpx">纸质优惠减免说明</view>
       <view style="font-size: 28rpx; color: #808080; padding-top: 12rpx">{{
         parkPaperCouponRemark
       }}</view>
@@ -15,7 +15,7 @@
         :key="item.discountCode"
       >
         <view class="worp_index1_index">
-          <view class="content">码 {{ item.discountCode }}</view>
+          <view class="content">码 {{ item.discountCode }}</view>
           <view @click="deleteCoupon(index)"
             ><image
               src="static/images/delete.png"
@@ -29,7 +29,7 @@
             margin-top: 20rpx;
             font-size: 28rpx;
           "
-          >优惠金额 :<text style="color: #ed1c24">{{
+          >优惠金额 :<text style="color: #ed1c24">{{
             item.discountValueMoney | currency
           }}</text></view
         >
@@ -48,7 +48,7 @@
         src="static/images/sweep.png"
         style="width: 35rpx; height: 35rpx; margin-right: 20rpx"
       />
-      <view>扫码用</view>
+      <view>扫码用</view>
     </view>
     <view class="flewx">
       <view class="flewx-content"

+ 7 - 7
src/main.js

@@ -1,6 +1,6 @@
 import Vue from 'vue';
 import VueRouter from 'vue-router';
-// import VConsole from 'vconsole';
+import VConsole from 'vconsole';
 import '@/common/css/quill.snow.css'; // 引入对富文本的支持
 
 // 或者使用配置参数来初始化,详情见文档
@@ -14,12 +14,12 @@ keys.forEach(key => {
   }
 })
 if (debug) {
-  // window.vConsole = new VConsole(
-  //   // { theme: 'dark' }
-  // );
-  // setTimeout(() => {
-  //   window.vConsole?.setSwitchPosition(20, 200);
-  // }, 200)
+  window.vConsole = new VConsole(
+    // { theme: 'dark' }
+  );
+  setTimeout(() => {
+    window.vConsole?.setSwitchPosition(20, 200);
+  }, 200)
 }
 import './plugins/install';
 import App from './App.vue';

+ 1 - 1
src/pages/parkingFee/components/base/parkingFee.vue

@@ -62,7 +62,7 @@
             </div>
             <div class="menu_item" @click="doRouter3">
               <img :src="`${require(`../../static/images/icon3${colorAry[custTypeId]}.png`)}`" />
-              <span>停车兑换</span>
+              <span>停车兑换</span>
             </div>
             <div class="menu_item" @click="doRouter1">
               <img :src="`${require(`../../static/images/icon4${colorAry[custTypeId]}.png`)}`" />

+ 1 - 1
src/pages/parkingFee/components/base/parkingFeeCoupon.vue

@@ -13,7 +13,7 @@
                 <span style="font-weight: bold; color: #ed1c24">¥</span>
                 <span style="font-weight: bold; color: #ed1c24; font-size: 50px">{{ item.discountFee }}</span>
               </div>
-              <span style="color: #989898; font-size: 30px">停车</span>
+              <span style="color: #989898; font-size: 30px">停车</span>
             </div>
           </div>
           <div class="item-content cro_">

+ 3 - 3
src/pages/parkingFee/components/base/parkingFeeDetail.vue

@@ -65,7 +65,7 @@
         <!-- v-if="enableCoupon" -->
         <!-- 用户登录时展示 -->
         <div class="warp_index warp_index_da" v-if="orderDetail && orderDetail.discountInfo">
-          <div>优惠</div>
+          <div>优惠</div>
           <div class="warp_index_color" @click="coupon">
             <!-- maxOneDayCoupons > 0 && -->
             <div style="margin-right: 10px" :class="coupons.length > 0 ? 'text-red' : 'text-disable'">
@@ -76,9 +76,9 @@
         </div>
         <!-- 纸质券 -->
         <div class="warp_index warp_index_da" v-if="enablePaperCoupons">
-          <div>纸质优惠</div>
+          <div>纸质优惠</div>
           <div class="warp_index_color" @click="paperCoupon">
-            <div style="margin-right: 10px" class="text-red">扫描纸质优惠二维码</div>
+            <div style="margin-right: 10px" class="text-red">扫描纸质优惠二维码</div>
             <img style="width: 26px; height: 26px" :src="`${require('../../static/images/arrows.png')}`" />
           </div>
         </div>

+ 4 - 4
src/pages/parkingFee/components/base/parkingFeePaperCoupon.vue

@@ -4,7 +4,7 @@
       <wx-points-commit ref="wxPointsCommit"></wx-points-commit>
 
       <div class="worp">
-        <div style="font-size: 32px">纸质优惠减免说明</div>
+        <div style="font-size: 32px">纸质优惠减免说明</div>
         <div style="font-size: 28px; color: #808080; padding-top: 12px">{{
             parkPaperCouponRemark
           }}</div>
@@ -16,7 +16,7 @@
           :key="item.discountCode"
         >
           <div class="worp_index1_index">
-            <div class="content">码 {{ item.discountCode }}</div>
+            <div class="content">码 {{ item.discountCode }}</div>
             <div @click="deleteCoupon(index)"
             ><img
               :src="require('../../static/images/delete.png')"
@@ -30,7 +30,7 @@
                 margin-top: 20px;
                 font-size: 28px;
               "
-          >优惠金额 :<span style="color: #ed1c24">{{
+          >优惠金额 :<span style="color: #ed1c24">{{
               item.discountValueMoney | currency
             }}</span></div
           >
@@ -49,7 +49,7 @@
           :src="require('../../static/images/sweep.png')"
           style="width: 35px; height: 35px; margin-right: 20px"
         />
-        <div>扫码用</div>
+        <div>扫码用</div>
       </div>
       <div class="flewx">
         <div class="flewx-content"

+ 1 - 1
src/pages/parkingFee/components/officeBlue/parkingFeeCoupon.vue

@@ -13,7 +13,7 @@
                     <span style="font-weight: bold; color: var(--k-color-primary)">¥</span>
                     <span class="itemValue">{{ item.discountFee }}</span>
                   </div>
-                  <span style="color: var(--k-color-primary); font-size: 30px">停车</span>
+                  <span style="color: var(--k-color-primary); font-size: 30px">停车</span>
                 </div>
               </div>
               <div class="item-content cro_">

+ 3 - 3
src/pages/parkingFee/components/officeBlue/parkingFeeDetail.vue

@@ -71,7 +71,7 @@
             class="warp_index warp_index_da"
             v-if="orderDetail && orderDetail.discountInfo"
           >
-            <div>优惠</div>
+            <div>优惠</div>
             <div class="warp_index_color" @click="coupon">
               <div
                 style="margin-right: 10px"
@@ -88,10 +88,10 @@
             class="warp_index warp_index_da"
             v-if="enablePaperCoupons"
           >
-            <div>纸质优惠</div>
+            <div>纸质优惠</div>
             <div class="warp_index_color" @click="paperCoupon">
               <div style="margin-right: 10px" class="text-red">
-                扫描纸质优惠二维码
+                扫描纸质优惠二维码
               </div>
               <!-- <img style="width: 26px; height: 26px" src="static/images/arrows.png" /> -->
             </div>

+ 4 - 4
src/pages/parkingFee/components/officeBlue/parkingFeePaperCoupon.vue

@@ -1,7 +1,7 @@
 <template>
   <scroll-view scroll-y="true" class="scroll-Y">
     <div class="worp">
-      <div class="title">纸质优惠减免说明</div>
+      <div class="title">纸质优惠减免说明</div>
       <div style="font-size: 28px; color: #808080; padding-top: 12px">
         {{ parkPaperCouponRemark }}
       </div>
@@ -13,7 +13,7 @@
         :key="item.discountCode"
       >
         <div class="worp_index1_index">
-          <div class="content">码 {{ item.discountCode }}</div>
+          <div class="content">码 {{ item.discountCode }}</div>
           <div @click="deleteCoupon(index)"><van-icon name="delete-o" /></div>
         </div>
         <div
@@ -24,7 +24,7 @@
             font-size: 28px;
           "
         >
-          优惠金额 :<span style="color: #064c8a">{{
+          优惠金额 :<span style="color: #064c8a">{{
             item.discountValueMoney | currency
           }}</span>
         </div>
@@ -42,7 +42,7 @@
         :src="require('../../static/images/sweep.png')"
         style="width: 35px; height: 35px; margin-right: 20px"
       />
-      <div>扫码用</div>
+      <div>扫码用</div>
     </div>
     <div class="flewx">
       <!-- <div class="flewx-content">应付<span style="color: red;font-size: 32px;padding-left: 20px;">{{actualFee |

+ 1 - 1
src/pages/parkingFee/components/purple/parkingFee.vue

@@ -17,7 +17,7 @@
           </div>
           <div class="menu_item" @click="doRouter3" v-if="source === 'CRM'">
             <img :src="`${require(`../../static/images/icon-coupon.png`)}`" />
-            <span>停车兑换</span>
+            <span>停车兑换</span>
           </div>
           <div class="menu_item" @click="doRouter1">
             <img :src="`${require(`../../static/images/icon-ticket.png`)}`" />

+ 3 - 3
src/pages/parkingFee/components/purple/parkingFeeDetail.vue

@@ -42,14 +42,14 @@
           </div>
         </div>
         <div class="info-item-box" v-if="orderDetail && orderDetail.discountInfo">
-          <div class="label">优惠</div>
+          <div class="label">优惠</div>
           <div :class="['value', coupons.length > 0 ? 'text-red' : 'text-disable']" @click="coupon">{{ couponDesc }}
             <van-icon name="arrow"/>
           </div>
         </div>
         <div class="info-item-box" v-if="enablePaperCoupons">
-          <div class="label">纸质优惠</div>
-          <div :class="['value', 'text-red']">扫描纸质优惠二维码
+          <div class="label">纸质优惠</div>
+          <div :class="['value', 'text-red']">扫描纸质优惠二维码
             <van-icon name="arrow"/>
           </div>
         </div>

+ 6 - 19
src/pages/parkingFee/mixins/parkingFeeCoupon.js

@@ -41,9 +41,6 @@ export default {
       maxOneDayCoupons: ( state ) => state.order.maxOneDayCoupons,// 仅限杭州当日电子券可选上限
       paperDiscountFee: ( state ) => state.order.paperDiscountFee,// 纸质券的优惠金额
     }),
-    totalFeeInYuan() {
-      return this?.orderDetail?.parkingRecord?.totalFee / 100
-    }
   },
 
   mounted() {
@@ -81,11 +78,11 @@ export default {
        * */
       this.couponList = [...this.coupons];
       this.remainPrice = this.usingTotalDiscount - this.paperDiscountFee;
-      if ((this.parkMallCode === 4 || this.parkMallCode === 6) && this.orderDetail?.discountInfo?.points?.[0]?.discountFee) {
+      if ((this.parkMallCode === 4 || this.parkMallCode === 6) && this.orderDetail?.discountInfo?.points[0]?.discountFee) {
         this.remainPrice = this.remainPrice - this.orderDetail.discountInfo.points[0].discountFee
       }   
       // 如果前海开启无积分上限的话,则
-      if ( [5, 10].indexOf(parkMallCode) > -1 && this.orderDetail.discountInfo?.points?.[0]?.discountFee) {
+      if ( [5, 10].indexOf(parkMallCode) > -1 && this.unLimitWeekendPoints && this.orderDetail.discountInfo?.points[0]?.discountFee) {
         this.remainPrice = this.remainPrice - this.orderDetail?.discountInfo?.points[0]?.discountFee
       }
       this.newAvailableDiscountFee = this.availableDiscountFee
@@ -125,7 +122,7 @@ export default {
     checkboxItemChange(name, index) {
       const coupon  = this.couponList[index];
       if ( coupon.disabled ) {
-        if (this.getAmountToBePaid() <= 0) {
+        if(!this.actualPayFee) {
           Toast('当前无需追加优惠')
           return;
         }
@@ -147,8 +144,7 @@ export default {
         return;
       }
       // 如果有选中项
-      // 还需支付金额 = 总金额 - 优惠金额
-      if (this.getAmountToBePaid() <= 0) {
+      if(!this.actualPayFee) {
         Toast('当前无需追加优惠')
         return;
       }
@@ -284,6 +280,7 @@ export default {
       // 最高优先级,提示未生效的电子券
       if (item.status === 'unavailable' || moment().isSameOrAfter(item.expirationDate)) {
         return Toast({
+          className: 'top300',
           message: `当前电子券暂未生效,不可用`,
           className: "white-space",
           icon: 'none',
@@ -293,6 +290,7 @@ export default {
       if ( this.checkedCouponList.length >= this.remainCoupons && (this.parkMallCode === 2 || this.parkMallCode === 8) ) {
         if ( showMsg ) return true
         return Toast({
+          className: 'top300',
           message: `电子券每天最多可使用${ this.maxOneDayCoupons }张`,
           className: "white-space",
           icon: 'none',
@@ -416,17 +414,6 @@ export default {
         navigate_time:new Date().getTime()
       }
     },
-    // 获取还需支付金额
-    getAmountToBePaid() {
-      let amountToBePaid = this.totalFeeInYuan - this.paperDiscountFee - this.remainPrice;
-      if([ 5, 10 ].indexOf(this.parkMallCode) > -1 && this.orderDetail.discountInfo?.points?.[0]?.discountFee) {
-        amountToBePaid = amountToBePaid - this.orderDetail.discountInfo?.points?.[0]?.discountFee
-      }
-      if([ 4, 6 ].indexOf(this.parkMallCode) > -1 && this.orderDetail.discountInfo?.points?.[0]?.discountFee) {
-        amountToBePaid = amountToBePaid - this.orderDetail.discountInfo?.points?.[0]?.discountFee
-      }
-      return amountToBePaid
-    },
     // 跳转小程序
     navigateToMiniProgram() {
       if (this.platform === 'miniprogram') {

+ 1 - 7
src/pages/parkingFee/mixins/parkingFeePaperCoupon.js

@@ -152,12 +152,6 @@ export default {
         "used": "0",
         "content": "嘉里卡券测试"
       }*/
-      /* [DE][C端]临时停车,静安纸质优惠券过期以后,扫码,依然可以扫出来金额 https://kerryprops.atlassian.net/browse/SCRM-5671 */
-      if ( res.hasOwnProperty('expired') && /1/.test(res?.expired)) {
-        return Toast({
-          message: '该纸质优惠已过期',
-        });
-      }
       if ( /0/.test(res.status)) {
         return Toast({
           message: '该纸质优惠券未激活',
@@ -209,7 +203,7 @@ export default {
         // this.$store.commit('order/setPaperDiscountTime',this.paperDiscountTime + discountTime)
       } else {
         return Toast({
-          message: '优惠已添加,请勿重复扫码',
+          message: '优惠已添加,请勿重复扫码',
         });
       }
     },

+ 3 - 0
src/pages/parkingFee/mixins/vehicleAddOrEdit.js

@@ -109,8 +109,11 @@ export default {
     },
     // 唤起键盘
     clickShowKeyboard(index) {
+      this.ind = index;
+      this.active = index;
       // console.log('唤起键盘', this.ind, this.active);
       if ( index === 7) {
+        console.log(2222)
         this.carType = 1
         this.$refs['k-tab-edit'].changeTab(this.carType)
       }

+ 1 - 1
src/pages/parkingFee/parkingFeeCoupon.vue

@@ -27,7 +27,7 @@
                   <span>¥</span>
                   <span class="itemValue">{{ item.discountFee }}</span>
                 </div>
-                <span style=" font-size: 30px">停车</span>
+                <span style=" font-size: 30px">停车</span>
               </div>
               <div class="item-content">
                 <div class="content">

+ 3 - 3
src/pages/parkingFee/parkingFeeDetail.vue

@@ -45,15 +45,15 @@
           </div>
         </div>
         <div class="info-item-box" v-if="enableCoupon">
-          <div class="label">优惠</div>
+          <div class="label">优惠</div>
           <div :class="['value',]" @click="coupon">
             <span :class="[ coupons.length > 0 ? 'text-red':  'text-disable']">{{ couponDesc }}</span>
             <van-icon name="arrow"/>
           </div>
         </div>
         <div class="info-item-box" v-if="enablePaperCoupons">
-          <div class="label">纸质优惠</div>
-          <div :class="['value', 'text-red']" @click="paperCoupon">扫描纸质优惠二维码
+          <div class="label">纸质优惠</div>
+          <div :class="['value', 'text-red']" @click="paperCoupon">扫描纸质优惠二维码
             <van-icon name="arrow"/>
           </div>
         </div>

+ 4 - 4
src/pages/parkingFee/parkingFeePaperCoupon.vue

@@ -2,7 +2,7 @@
   <div :class="['scroll-Y', theme]">
     <div>
       <div class="worp">
-        <div class="title">纸质优惠减免说明</div>
+        <div class="title">纸质优惠减免说明</div>
         <div style="font-size: 28px; color: #808080; padding-top: 12px">
           <!-- {{ (orderDetail && orderDetail.parkingRule && orderDetail.discountInfo.paperCoupons[0].description) || '' }} -->
           {{ paperCouponsDesc }}
@@ -11,11 +11,11 @@
       <div v-if="paperCouponList.length">
         <div class="worp_index1" v-for="(item, index) in paperCouponList" :key="item.code">
           <div class="worp_index1_index">
-            <div class="content">码 {{ item.discountCode }}</div>
+            <div class="content">码 {{ item.discountCode }}</div>
             <div @click="deleteCoupon(item)"><van-icon name="delete-o" /></div>
           </div>
           <div style="padding-bottom: 25px; margin-left: 20px; margin-top: 20px; font-size: 28px">
-            优惠金额 :<span style="color: #064c8a">{{ item.discountFee | currency }}</span>
+            优惠金额 :<span style="color: #064c8a">{{ item.discountFee | currency }}</span>
           </div>
         </div>
       </div>
@@ -26,7 +26,7 @@
         @click="scanCode"
       >
         <img :src="require('./static/images/sweep.png')" style="width: 35px; height: 35px; margin-right: 20px" />
-        <div>扫码用</div>
+        <div>扫码用</div>
       </div>
       <div style="height: 220px;"></div>
     </div>

+ 6 - 19
src/pages/parkingFeeV2/mixins/parkingFeeCoupon.js

@@ -41,9 +41,6 @@ export default {
       maxOneDayCoupons: ( state ) => state.order.maxOneDayCoupons,// 仅限杭州当日电子券可选上限
       paperDiscountFee: ( state ) => state.order.paperDiscountFee,// 纸质券的优惠金额
     }),
-    totalFeeInYuan() {
-      return this?.orderDetail?.parkingRecord?.totalFee / 100
-    }
   },
 
   mounted() {
@@ -81,11 +78,11 @@ export default {
        * */
       this.couponList = [...this.coupons];
       this.remainPrice = this.usingTotalDiscount - this.paperDiscountFee;
-      if ((this.parkMallCode === 4 || this.parkMallCode === 6) && this.orderDetail?.discountInfo?.points?.[0]?.discountFee) {
+      if ((this.parkMallCode === 4 || this.parkMallCode === 6) && this.orderDetail?.discountInfo?.points[0]?.discountFee) {
         this.remainPrice = this.remainPrice - this.orderDetail.discountInfo.points[0].discountFee
       }   
       // 前海积分不参与当前电子券优惠上限
-      if ( [ 5, 10 ].indexOf(parkMallCode) > -1 && this.orderDetail.discountInfo?.points?.[0]?.discountFee) {
+      if ( [ 5, 10 ].indexOf(parkMallCode) > -1 && this.orderDetail.discountInfo?.points[0]?.discountFee) {
         this.remainPrice = this.remainPrice - this.orderDetail?.discountInfo?.points[0]?.discountFee
       }
       this.newAvailableDiscountFee = this.availableDiscountFee
@@ -125,7 +122,7 @@ export default {
     checkboxItemChange(name, index) {
       const coupon  = this.couponList[index];
       if ( coupon.disabled ) {
-        if (this.getAmountToBePaid() <= 0) {
+        if(!this.actualPayFee) {
           Toast('当前无需追加优惠')
           return;
         }
@@ -148,8 +145,7 @@ export default {
         return;
       }
       // 如果有选中项
-      // 还需支付金额 = 总金额 - 优惠金额
-      if (this.getAmountToBePaid() <= 0) {
+      if(!this.actualPayFee) {
         Toast('当前无需追加优惠')
         return;
       }
@@ -166,17 +162,6 @@ export default {
       })
 
     },
-    // 获取还需支付金额
-    getAmountToBePaid() {
-      let amountToBePaid = this.totalFeeInYuan - this.paperDiscountFee - this.remainPrice;
-      if([ 5, 10 ].indexOf(this.parkMallCode) > -1 && this.orderDetail.discountInfo?.points?.[0]?.discountFee) {
-        amountToBePaid = amountToBePaid - this.orderDetail.discountInfo?.points?.[0]?.discountFee
-      }
-      if([ 4, 6 ].indexOf(this.parkMallCode) > -1 && this.orderDetail.discountInfo?.points?.[0]?.discountFee) {
-        amountToBePaid = amountToBePaid - this.orderDetail.discountInfo?.points?.[0]?.discountFee
-      }
-      return amountToBePaid
-    },
     // 针对达到优惠的上限制
     setAllDisabled() {
       const {parkInfo,parkingRule} = this.orderDetail
@@ -296,6 +281,7 @@ export default {
       // 最高优先级,提示未生效的电子券
       if (item.status === 'unavailable' || moment().isSameOrAfter(item.expirationDate)) {
         return Toast({
+          className: 'top300',
           message: `当前电子券暂未生效,不可用`,
           className: "white-space",
           icon: 'none',
@@ -305,6 +291,7 @@ export default {
       if ( this.checkedCouponList.length >= this.remainCoupons && (this.parkMallCode === 2 || this.parkMallCode === 8 || this.parkMallCode === 7 || this.parkMallCode === 9) ) {
         if ( showMsg ) return true
         return Toast({
+          className: 'top300',
           message: `电子券每天最多可使用${ this.maxOneDayCoupons }张`,
           className: "white-space",
           icon: 'none',

+ 1 - 7
src/pages/parkingFeeV2/mixins/parkingFeePaperCoupon.js

@@ -173,12 +173,6 @@ export default {
         "used": "0",
         "content": "嘉里卡券测试"
       }*/
-      /* [DE][C端]临时停车,静安纸质优惠券过期以后,扫码,依然可以扫出来金额 https://kerryprops.atlassian.net/browse/SCRM-5671 */
-      if ( res.hasOwnProperty('expired') && /1/.test(res?.expired)) {
-        return Toast({
-          message: '该纸质优惠已过期',
-        });
-      }
       if ( /0/.test(res.status)) {
         return Toast({
           message: '该纸质优惠券未激活',
@@ -230,7 +224,7 @@ export default {
         // this.$store.commit('order/setPaperDiscountTime',this.paperDiscountTime + discountTime)
       } else {
         return Toast({
-          message: '优惠已添加,请勿重复扫码',
+          message: '优惠已添加,请勿重复扫码',
         });
       }
     },

+ 1 - 5
src/pages/parkingFeeV2/mixins/vehicleAddOrEdit.js

@@ -87,11 +87,7 @@ export default {
     },
     // 唤起键盘
     clickShowKeyboard(index) {
-      // if (this.carType !== 1 && index === 7) return
-      if ( index === 7) {
-        this.carType = 1
-        this.$refs['k-tab'].changeTab(this.carType)
-      }
+      if (this.carType !== 1 && index === 7) return
       this.ind = index;
       this.active = index;
       // console.log('唤起键盘', this.ind, this.active);

+ 1 - 1
src/pages/parkingFeeV2/parkingFeeCoupon.vue

@@ -27,7 +27,7 @@
                   <span>¥</span>
                   <span class="itemValue">{{ item.discountFee }}</span>
                 </div>
-                <span style=" font-size: 30px">停车</span>
+                <span style=" font-size: 30px">停车</span>
               </div>
               <div class="item-content">
                 <div class="content">

+ 3 - 3
src/pages/parkingFeeV2/parkingFeeDetail.vue

@@ -45,15 +45,15 @@
           </div>
         </div>
         <div class="info-item-box" v-if="enableCoupon">
-          <div class="label">优惠</div>
+          <div class="label">优惠</div>
           <div :class="['value',]" @click="coupon">
             <span :class="[ coupons.length > 0 ? 'text-red':  'text-disable']">{{ couponDesc }}</span>
             <van-icon name="arrow"/>
           </div>
         </div>
         <div class="info-item-box" v-if="enablePaperCoupons">
-          <div class="label">纸质优惠</div>
-          <div :class="['value', 'text-red']" @click="paperCoupon">扫描纸质优惠二维码
+          <div class="label">纸质优惠</div>
+          <div :class="['value', 'text-red']" @click="paperCoupon">扫描纸质优惠二维码
             <van-icon name="arrow"/>
           </div>
         </div>

+ 4 - 4
src/pages/parkingFeeV2/parkingFeePaperCoupon.vue

@@ -2,7 +2,7 @@
   <div :class="['scroll-Y', theme]">
     <div>
       <div class="worp">
-        <div class="title">纸质优惠减免说明</div>
+        <div class="title">纸质优惠减免说明</div>
         <div style="font-size: 28px; color: #808080; padding-top: 12px">
           <!-- {{ (orderDetail && orderDetail.parkingRule && orderDetail.discountInfo.paperCoupons[0].description) || '' }} -->
           {{ paperCouponsDesc }}
@@ -11,11 +11,11 @@
       <div v-if="paperCouponList.length">
         <div class="worp_index1" v-for="(item, index) in paperCouponList" :key="item.code">
           <div class="worp_index1_index">
-            <div class="content">码 {{ item.discountCode }}</div>
+            <div class="content">码 {{ item.discountCode }}</div>
             <div @click="deleteCoupon(item)"><van-icon name="delete-o" /></div>
           </div>
           <div style="padding-bottom: 25px; margin-left: 20px; margin-top: 20px; font-size: 28px">
-            优惠金额 :<span style="color: #064c8a">{{ item.discountFee | currency }}</span>
+            优惠金额 :<span style="color: #064c8a">{{ item.discountFee | currency }}</span>
           </div>
         </div>
       </div>
@@ -26,7 +26,7 @@
         @click="scanCode"
       >
         <img :src="require('@/pages/parkingFee/static/images/sweep.png')" style="width: 35px; height: 35px; margin-right: 20px" />
-        <div>扫码用</div>
+        <div>扫码用</div>
       </div>
       <div style="height: 220px;"></div>
     </div>

+ 2 - 2
src/store/order/coupon.js

@@ -38,10 +38,10 @@ export default {
         commit('setCouponCount',couponCount);
 
         if ( couponCount > 0 ) {
-          return commit('setCouponDesc',`已选择${ couponCount }张优惠`);
+          return commit('setCouponDesc',`已选择${ couponCount }张优惠`);
         }
         if ( checkOutResponse.discountInfo.coupons.length ) {
-          return commit('setCouponDesc',`您有${ checkOutResponse.discountInfo.coupons.length }张可用优惠`);
+          return commit('setCouponDesc',`您有${ checkOutResponse.discountInfo.coupons.length }张可用优惠`);
         }
       }
       commit('setCouponDesc',`暂无可用优惠券`);

+ 3 - 3
src/store/order/index.js

@@ -1,4 +1,4 @@
-import checkOutQHResponse from "@/api/mockData/checkout.szjsgc5.response.json";
+// import checkOutQHResponse from "@/api/mockData/checkout.qh3.response.json";
 import { checkOut,calculateDiscount,ordersAndPrepay,currentUnlicensedPlate,unlicensedCarCheckIn,unlicensedCarCheckout } from '@/api/parking';
 import state from "@/store/order/state";
 import mutations from "@/store/order/mutations";
@@ -41,8 +41,8 @@ export default {
           duration: 0
         });
         const method = unlicensed && endlessLoop && gateId || !vehicleNo ? unlicensedCarCheckout : checkOut
-        // const res = await method(vehicleNo, unlicensed, gateId);
-        const res = checkOutQHResponse  
+        const res = await method(vehicleNo, unlicensed, gateId);
+        // const res = checkOutQHResponse
         Toast.clear();
         if ( res?.parkingRecord?.totalFee <= 0 ) {
           callback && callback({

+ 1 - 2
src/store/order/points.js

@@ -24,7 +24,6 @@ export default {
       remainConsumeTime, // 当前订单剩余可使用的优惠
     } = parkingRule;
     commit('setEnablePoints',enablePoints);
-    commit('setAvailableDiscountFee',availableDiscountFee);
     if ( !points ) return commit('setIntegralDesc','暂无可用积分'); // 积分优惠处的描述
     const [
       {
@@ -39,7 +38,7 @@ export default {
         label,
       },
     ] = points;
-    
+    commit('setAvailableDiscountFee',availableDiscountFee);
     dispatch('maxPointsTimeMath',checkOutResponse) // 剩余积分可兑换上限
     
     commit('setAvailable',available);

+ 52 - 1
yarn.lock

@@ -922,7 +922,7 @@
     "@babel/types" "^7.4.4"
     esutils "^2.0.2"
 
-"@babel/runtime@7.x", "@babel/runtime@^7.11.0", "@babel/runtime@^7.8.4", "@babel/runtime@~7.17.9":
+"@babel/runtime@7.x", "@babel/runtime@^7.11.0", "@babel/runtime@^7.17.2", "@babel/runtime@^7.8.4", "@babel/runtime@~7.17.9":
   version "7.17.9"
   resolved "https://nexus-internal.kerryonvip.com/repository/kerry-npm-group/@babel/runtime/-/runtime-7.17.9.tgz#d19fbf802d01a8cb6cf053a64e472d42c434ba72"
   integrity sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==
@@ -968,6 +968,32 @@
   resolved "https://nexus-internal.kerryonvip.com/repository/kerry-npm-group/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
   integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
 
+"@better-scroll/core@^2.4.2", "@better-scroll/core@^2.5.0":
+  version "2.5.0"
+  resolved "https://nexus-internal.kerryonvip.com/repository/kerry-npm-group/@better-scroll/core/-/core-2.5.0.tgz#5ba0318b8bcfb61fc9f33ee99ce33593620d6097"
+  integrity sha512-+3aKf8T3kUl4Gj1M7NKV3fNFhsrBpTWwHoDClkXVmQ8S3TxMMHf6Kyw6l1zKsg4r+9ukW5lDDkyif7/gY76qXQ==
+  dependencies:
+    "@better-scroll/shared-utils" "^2.5.0"
+
+"@better-scroll/observe-dom@^2.4.2":
+  version "2.5.0"
+  resolved "https://nexus-internal.kerryonvip.com/repository/kerry-npm-group/@better-scroll/observe-dom/-/observe-dom-2.5.0.tgz#886d20ffb4d1cde2d229fb8a7b4bc1a678e4288d"
+  integrity sha512-E7wZooGYN9BKcJ+/Tto+GnDN5KNoXlnnde/0Vs9MuQqvI73neFpIcHD3MvX99DaGCpV3cOQlmCw0dmL9q+jEow==
+  dependencies:
+    "@better-scroll/core" "^2.5.0"
+
+"@better-scroll/pull-up@^2.4.2":
+  version "2.5.0"
+  resolved "https://nexus-internal.kerryonvip.com/repository/kerry-npm-group/@better-scroll/pull-up/-/pull-up-2.5.0.tgz#803c03a1f47cfaeb8d5b047283ce5c583116dad6"
+  integrity sha512-vBsAiv8nBaSDN+kYWF2IGknNmypr5J8EyT7n+jHVuo3r1MGvFOlgBmF10z9jArj0yntqyGcx7RMVdwtmxOP+Sg==
+  dependencies:
+    "@better-scroll/core" "^2.5.0"
+
+"@better-scroll/shared-utils@^2.5.0":
+  version "2.5.0"
+  resolved "https://nexus-internal.kerryonvip.com/repository/kerry-npm-group/@better-scroll/shared-utils/-/shared-utils-2.5.0.tgz#1cb5c25b5766920516ede88ce30149be321e88c4"
+  integrity sha512-5bfR/cwzIFtgWAU5E0CPKcOUvyd7KcgDZyAbOJQT6qqJeUBmTpG4Z8R7qO8uvqdZ0yIXxRPOu4te2Qt6ihGhkQ==
+
 "@cnakazawa/watch@^1.0.3":
   version "1.0.4"
   resolved "https://nexus-internal.kerryonvip.com/repository/kerry-npm-group/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a"
@@ -3259,6 +3285,11 @@ copy-descriptor@^0.1.0:
   resolved "https://nexus-internal.kerryonvip.com/repository/kerry-npm-group/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
   integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==
 
+copy-text-to-clipboard@^3.0.1:
+  version "3.1.0"
+  resolved "https://nexus-internal.kerryonvip.com/repository/kerry-npm-group/copy-text-to-clipboard/-/copy-text-to-clipboard-3.1.0.tgz#6bf40deef0a51ac6858efb0d76ded2c6d6a15059"
+  integrity sha512-PFM6BnjLnOON/lB3ta/Jg7Ywsv+l9kQGD4TWDCSlRBGmqnnTM5MrDkhAFgw+8HZt0wW6Q2BBE4cmy9sq+s9Qng==
+
 copy-webpack-plugin@^5.1.1:
   version "5.1.2"
   resolved "https://nexus-internal.kerryonvip.com/repository/kerry-npm-group/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz#8a889e1dcafa6c91c6cd4be1ad158f1d3823bae2"
@@ -3284,6 +3315,11 @@ core-js-compat@^3.25.1, core-js-compat@^3.6.5:
   dependencies:
     browserslist "^4.21.4"
 
+core-js@^3.11.0:
+  version "3.29.0"
+  resolved "https://nexus-internal.kerryonvip.com/repository/kerry-npm-group/core-js/-/core-js-3.29.0.tgz#0273e142b67761058bcde5615c503c7406b572d6"
+  integrity sha512-VG23vuEisJNkGl6XQmFJd3rEG/so/CNatqeE+7uZAwTSwFeB/qaO0be8xZYUNWprJ/GIwL8aMt9cj1kvbpTZhg==
+
 core-js@^3.6.5:
   version "3.25.5"
   resolved "https://nexus-internal.kerryonvip.com/repository/kerry-npm-group/core-js/-/core-js-3.25.5.tgz#e86f651a2ca8a0237a5f064c2fe56cef89646e27"
@@ -6724,6 +6760,11 @@ multicast-dns@^6.0.1:
     dns-packet "^1.3.1"
     thunky "^1.0.2"
 
+mutation-observer@^1.0.3:
+  version "1.0.3"
+  resolved "https://nexus-internal.kerryonvip.com/repository/kerry-npm-group/mutation-observer/-/mutation-observer-1.0.3.tgz#42e9222b101bca82e5ba9d5a7acf4a14c0f263d0"
+  integrity sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA==
+
 mz@^2.4.0:
   version "2.7.0"
   resolved "https://nexus-internal.kerryonvip.com/repository/kerry-npm-group/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32"
@@ -9670,6 +9711,16 @@ vary@~1.1.2:
   resolved "https://nexus-internal.kerryonvip.com/repository/kerry-npm-group/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
   integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
 
+vconsole@^3.15.0:
+  version "3.15.0"
+  resolved "https://nexus-internal.kerryonvip.com/repository/kerry-npm-group/vconsole/-/vconsole-3.15.0.tgz#2383482b0a4106204090046ec128071284e04a90"
+  integrity sha512-8hq7wabPcRucSWQyN7/1tthMawP9JPvM95zgtMHpPknMMMCKj+abpoK7P7oKK4B0qw58C24Mdvo9+raUdpHyVQ==
+  dependencies:
+    "@babel/runtime" "^7.17.2"
+    copy-text-to-clipboard "^3.0.1"
+    core-js "^3.11.0"
+    mutation-observer "^1.0.3"
+
 vendors@^1.0.0:
   version "1.0.4"
   resolved "https://nexus-internal.kerryonvip.com/repository/kerry-npm-group/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e"