Просмотр исходного кода

Merge branch 'release-2.8.0' into lock/release-2.8.0/parkingInvoice

lock.qiu@kerryprops.com 2 лет назад
Родитель
Сommit
d01e2e6c5d

+ 2 - 0
src/components/install.js

@@ -18,6 +18,7 @@ import kButton from '@/kui/components/k-button/k-button'
 import kTab from '@/kui/components/k-tab/k-tab'
 import kIllustration from '@/kui/components/k-illustration/k-illustration'
 import kPlateNumberKeyboard from '@/kui/components/k-plate-number-input/k-plate-number-keyboard'
+import KCard from '@/kui/components/k-card/k-card'
 import theme from '@/kui/theme/theme'
 
 // import uniImage from './uni-image/index';
@@ -46,6 +47,7 @@ function plugins(Vue) {
   Vue.component('k-button', kButton)
   Vue.component('k-tab', kTab)
   Vue.component('k-illustration', kIllustration)
+  Vue.component('k-card', KCard)
   Vue.component('k-plate-number-keyboard', kPlateNumberKeyboard) // 修改程度深,不建议置换
   Vue.prototype.$theme = theme
   // Vue.component('image', uniImage)

+ 116 - 177
src/kui/components/k-card/k-card.vue

@@ -1,5 +1,5 @@
 <template>
-  <view
+  <div
     :class="[
       'card ',
       {
@@ -26,36 +26,36 @@
       { 'background-color': backgroundColor ? backgroundColor : '#fff' },
     ]"
   >
-    <view v-if="type == 'image-text-card'">
-      <view class="image-text-card__title">
-        <view class="image-text-card__title__left">
-          <view class="image-text-card__title__left__title">
+    <div v-if="type == 'image-text-card'">
+      <div class="image-text-card__title">
+        <div class="image-text-card__title__left">
+          <div class="image-text-card__title__left__title">
             {{ title }}
-          </view>
-          <view class="image-text-card__title__left__icon">
-            <view class="image-text-card__title__left__icon__item">
+          </div>
+          <div class="image-text-card__title__left__icon">
+            <div class="image-text-card__title__left__icon__item">
               <k-icon
                 class="image-text-card__title__left__icon__item__icon"
                 :name="leftIcon.name"
                 :size="leftIcon.size"
                 :color="leftIcon.color"
               ></k-icon>
-              <view
+              <div
                 class="image-text-card__title__left__icon__item__label"
                 :style="{
                   'font-size': leftIcon.labelSize ? leftIcon.labelSize : '16px',
                 }"
-                >{{ leftIcon.label }}</view
+                >{{ leftIcon.label }}</div
               >
-            </view>
-            <view class="image-text-card__title__left__icon__item">
+            </div>
+            <div class="image-text-card__title__left__icon__item">
               <k-icon
                 class="image-text-card__title__left__icon__item__icon"
                 :name="rightIcon.name"
                 :size="rightIcon.size"
                 :color="rightIcon.color"
               ></k-icon>
-              <view
+              <div
                 class="image-text-card__title__left__icon__item__label"
                 :style="{
                   'font-size': rightIcon.labelSize
@@ -63,35 +63,35 @@
                     : '16px',
                 }"
               >
-                {{ rightIcon.label }}</view
+                {{ rightIcon.label }}</div
               >
-            </view>
-          </view>
-        </view>
-        <view v-if="imageSrc" class="image-text-card__title__right">
-          <image :src="imageSrc" />
-        </view>
-      </view>
-      <view class="image-text-card__content" v-if="contentListData">
-        <view
+            </div>
+          </div>
+        </div>
+        <div v-if="imageSrc" class="image-text-card__title__right">
+          <img :src="imageSrc" />
+        </div>
+      </div>
+      <div class="image-text-card__content" v-if="contentListData">
+        <div
           class="image-text-card__content__item"
           v-for="(item, index) in contentListData"
           :key="index"
         >
-          <view class="image-text-card__content__item__left">
+          <div class="image-text-card__content__item__left">
             {{ item.label }}
-          </view>
-          <view class="image-text-card__content__item__right">
-            <view :class="item.ellipsis ? ' kui-ellipsis' : ''">
+          </div>
+          <div class="image-text-card__content__item__right">
+            <div :class="item.ellipsis ? ' kui-ellipsis' : ''">
               {{ item.content }}
-            </view>
-          </view>
-        </view>
-      </view>
-    </view>
-
-    <view v-else-if="type == 'text-btn-card'">
-      <view class="text-btn-card-border__header">
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+
+    <div v-else-if="type == 'text-btn-card'">
+      <div class="text-btn-card-border__header">
         <k-tag
           commercial
           v-if="tagText"
@@ -100,33 +100,33 @@
         >
           {{ tagText }}</k-tag
         >
-        <view class="text-btn-card-border__header__content">{{
+        <div class="text-btn-card-border__header__content">{{
           headerContent
-        }}</view>
-        <view class="text-btn-card-border__header__status">{{
+        }}</div>
+        <div class="text-btn-card-border__header__status">{{
           headerStatus
-        }}</view>
-      </view>
-      <view
+        }}</div>
+      </div>
+      <div
         :class="[
           'text-btn-card-border__title ',
           { 'text-btn-card-border__title-bold': titleFontBold },
         ]"
       >
         {{ title }}
-      </view>
-      <view class="text-btn-card-border__content-list" v-if="contentListData">
-        <view v-for="(item, index) in contentListData" :key="index">
-          <view
+      </div>
+      <div class="text-btn-card-border__content-list" v-if="contentListData">
+        <div v-for="(item, index) in contentListData" :key="index">
+          <div
             class="left-icon__content text-btn-card-border__content-list__item"
           >
-            <view
+            <div
               class="text-btn-card-border__content-list__item__left"
               :style="{ width: item.labelWidth ? item.labelWidth : '80px' }"
             >
               {{ item.label }}
-            </view>
-            <view
+            </div>
+            <div
               class="text-btn-card-border__content-list__item__right"
               :style="{
                 width: item.labelWidth
@@ -134,22 +134,22 @@
                   : 'calc(100% - 80px)',
               }"
             >
-              <view :class="item.ellipsis ? 'kui-ellipsis' : ''">
+              <div :class="item.ellipsis ? 'kui-ellipsis' : ''">
                 {{ item.content }}
-              </view>
-            </view>
-          </view>
-        </view>
-      </view>
-      <view
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+      <div
         v-if="contentVertical"
         class="text-btn-card-border__content-vertical"
       >
         {{ contentVertical }}
-      </view>
-      <view v-if="contentBottom" class="text-btn-card-border__content-bottom">
+      </div>
+      <div v-if="contentBottom" class="text-btn-card-border__content-bottom">
         {{ contentBottom }}
-      </view>
+      </div>
       <k-button
         :class="
           'text-btn-card-border__btn ' +
@@ -167,62 +167,62 @@
         size="middle"
       >
       </k-button>
-    </view>
+    </div>
 
-    <view
+    <div
       v-else-if="type == 'function-card' && functionCardData.length > 0"
       class="function-card"
     >
-      <view
+      <div
         class="function-card__item"
         v-for="(item, index) in functionCardData"
         v-bind:key="index"
         @click="clickIcon(item)"
       >
-        <view
+        <div
           class="function-card__item__icon"
           :style="{ width: iconSize + 'px' }"
         >
           <k-icon :name="item.icon" :size="iconSize" color="#666"></k-icon>
-        </view>
-        <view class="function-card__item__label">{{ item.label }}</view>
-      </view>
-    </view>
-    <view v-else-if="type == 'location-card'">
-      <view class="location-card__left">
+        </div>
+        <div class="function-card__item__label">{{ item.label }}</div>
+      </div>
+    </div>
+    <div v-else-if="type == 'location-card'">
+      <div class="location-card__left">
         <p class="location-card__left__title">{{ title }}</p>
         <p class="location-card__left__description">{{ description }}</p>
         <!-- <k-tag commercial v-if="!bgFull" size="small" class="location-card__tag">{{tagText}}</k-tag> -->
-        <view
+        <div
           :class="
             'location-card__tag ' +
             (bgFull ? 'location-card__tag-white' : 'location-card__tag-theme')
           "
         >
-          {{ tagText }}</view
+          {{ tagText }}</div
         >
-      </view>
-      <view class="location-card__right">
-        <view
+      </div>
+      <div class="location-card__right">
+        <div
           v-if="commonText"
           class="location-card__right__common"
           :class="bgFull ? 'location-card__right__common-full' : ''"
-          >{{ commonText }}</view
+          >{{ commonText }}</div
         >
-        <view class="location-card__right__text">
+        <div class="location-card__right__text">
           {{ detail }}
-        </view>
-      </view>
-    </view>
+        </div>
+      </div>
+    </div>
 
-    <view
+    <div
       v-else-if="type == 'gap-card'"
       class="order ext-class"
       @click.stop="toDetail"
     >
-      <view class="order-info">
-        <view class="space-name kui-ellipsis">{{ title }}</view>
-        <view
+      <div class="order-info">
+        <div class="space-name kui-ellipsis">{{ title }}</div>
+        <div
           class="left-icon"
           v-for="(item, index) in gapCardIconList"
           :key="index"
@@ -234,18 +234,18 @@
             "
             >{{ item.content }}</text
           >
-        </view>
+        </div>
 
-        <view class="status ext-status-class" v-if="tagText">{{
+        <div class="status ext-status-class" v-if="tagText">{{
           tagText
-        }}</view>
-      </view>
-      <view class="deliver"></view>
-      <view class="btn-group">
+        }}</div>
+      </div>
+      <div class="deliver"></div>
+      <div class="btn-group">
         <slot />
-      </view>
-      <view class="action-group">
-        <view
+      </div>
+      <div class="action-group">
+        <div
           :class="[
             'text-button',
             {
@@ -253,11 +253,11 @@
             },
           ]"
           @click.stop="clickLeftBtn"
-          >{{ leftBtnText }}</view
+          >{{ leftBtnText }}</div
         >
         <block>
-          <view class="divider" />
-          <view
+          <div class="divider" />
+          <div
             :class="[
               'text-button',
               {
@@ -265,23 +265,23 @@
               },
             ]"
             @click.stop="clickRightBtn"
-            >{{ rightBtnText }}</view
+            >{{ rightBtnText }}</div
           >
         </block>
-      </view>
-    </view>
+      </div>
+    </div>
 
-    <!-- <view v-if="type == 'opacity-card' && themeColor" class="card-opacity-bg-opacity"></view> -->
-    <view
+    <!-- <div v-if="type == 'opacity-card' && themeColor" class="card-opacity-bg-opacity"></div> -->
+    <div
       v-else
       :class="
         type == 'opacity-card' && themeColor ? 'card-opacity-bg-opacity' : ''
       "
     >
-      <view>
+      <div>
         <p class="card-opacity__title">{{ title }}</p>
         <p class="card-opacity__description">{{ description }}{{ ' >' }}</p>
-        <view class="card-opacity__btn">
+        <div class="card-opacity__btn">
           <k-button
             @click="clickBtn"
             :title="btnText"
@@ -293,88 +293,27 @@
             :bgColor="themeColor"
           >
           </k-button>
-        </view>
-      </view>
-    </view>
+        </div>
+      </div>
+    </div>
 
-    <!-- <view v-else>
+    <!-- <div v-else>
       <p class="card-opacity__title">{{ title }}</p>
       <p class="card-opacity__description">{{ description }}{{ ' >' }}</p>
-      <view class="card-opacity__btn">
+      <div class="card-opacity__btn">
         <k-button @click="clickBtn" :title="btnText" width="121px" height="33px" fontSize="10px" size="middle"
           :borderColor="themeColor" :bgColor="themeColor">
         </k-button>
-      </view>
-    </view> -->
-  </view>
+      </div>
+    </div> -->
+  </div>
 </template>
 
-<script lang="ts">
+<script>
 import Vue, { VueConstructor } from 'vue';
 import props from './props';
-type PropType = {
-  type:
-    | 'image-text-card'
-    | 'text-btn-card'
-    | 'function-card'
-    | 'location-card'
-    | 'gap-card'
-    | 'opacity-card';
-  btnType: 'default' | 'default' | 'outline' | 'plain' | 'text';
-  bgFull: boolean;
-  title: string;
-  description: string;
-  tagText: string;
-  btnText: string;
-  detail: string;
-  headerContent: string;
-  headerStatus: string;
-  contentVertical: string;
-  contentBottom: string;
-  imageSrc: string;
-  leftIcon: {
-    name: string;
-    color: string;
-    size: number;
-    label: string;
-    labelSize: string;
-  };
-  rightIcon: {
-    name: string;
-    color: string;
-    size: number;
-    label: string;
-    labelSize: string;
-  };
-  titleFontBold: boolean;
-  isCircle: boolean;
-  isBorder: boolean;
-  isShadow: boolean;
-  themeColor: string;
-  backgroundColor: string;
-  functionCardData: Array<{ icon: string; label: string; url: string }>;
-  leftBtnText: string;
-  rightBtnText: string;
-  leftBtnDisabled: boolean;
-  rightBtnDisabled: boolean;
-  gapCardIconList: Array<{
-    icon: string;
-    size: number;
-    content: string;
-    ellipsis: boolean;
-  }>;
-  iconSize: number;
-  contentListData: Array<{
-    icon: string;
-    size: number;
-    label: string;
-    content: string;
-    ellipsis: boolean;
-    labelWidth: string;
-  }>;
-  commonText: string;
-};
-export default (Vue as VueConstructor<Vue & PropType>).extend({
+
+export default {
   name: 'k-card',
   mixins: [props],
   data() {
@@ -385,10 +324,10 @@ export default (Vue as VueConstructor<Vue & PropType>).extend({
       // eslint-disable-next-line no-console
       console.log('90909090');
     },
-    clickIcon(inData: { icon: string; label: string; url: string }) {
+    clickIcon(inData) {
       this.$emit('click', inData);
     },
-    clickBtn(inData: any) {
+    clickBtn(inData) {
       this.$emit('click', inData);
     },
     clickLeftBtn() {
@@ -402,7 +341,7 @@ export default (Vue as VueConstructor<Vue & PropType>).extend({
       }
     },
   },
-});
+};
 </script>
 
 <style scoped lang="scss">
@@ -871,7 +810,7 @@ export default (Vue as VueConstructor<Vue & PropType>).extend({
       top: 0;
       right: 0;
 
-      image {
+      img {
         width: 100%;
         height: 100px;
       }

+ 13 - 1
src/pages/parkingFee/mixins/parkingReceipt/parkingReceipt.js

@@ -2,7 +2,7 @@
 const app = {};
 import moment from 'moment';
 import arrowIcon from '../../static/images/arrows.png';
-import noData from '@/static/images/parkingReceipt-noData.png';
+import noData from '../../static/images/no-invoice.svg';
 import { mapState } from 'vuex';
 import LoginDom from '@/components/Login/Login.vue';
 // import authorize from '@/components/authorize/authorize.vue'
@@ -236,6 +236,18 @@ export default {
             } else {
               this.isLoadMore = false;
             }
+            // mock数据
+            // this.list = [{
+            //   orderNo: 'qqqqqqq',
+            //   id: 'qqqqqqq',
+            //   totalPaidAmount: 111,
+            //   taxNo: 'qqqqqqq',
+            //   status: 'COMPLETE',
+            //   vehicleNo: 'qqqqqqq',
+            //   enterTime: '2023-09-89',
+            //   parkName: '111',
+            //   serviceMin: '111',
+            // }]
           } else {
             this.isLoadMore = true;
             this.loadStatus = 'nomore';

+ 18 - 10
src/pages/parkingFee/mixins/vehicleAddOrEdit.js

@@ -170,12 +170,14 @@ export default {
             uni.hideLoading();
             if (result && result.code == '000000') {
               if (result.data) {
-                console.log(22);
                 Toast({
                   message: '修改车牌成功',
+                  position: 'top',
                   onClose: () => {
-                    this.$router.back();
-                  },
+                    this.$router.replace({
+                      path: `vehicleManagement`,
+                    });
+                  }
                 });
               }
             } else {
@@ -189,6 +191,7 @@ export default {
             uni.hideLoading();
             Toast({
               message: '修改车牌失败',
+              position: 'top',
             });
           });
       } else {
@@ -201,7 +204,16 @@ export default {
             // const result = resp.data;
             if (result && result.code == '000000') {
               if (result.data) {
-                Dialog.alert({
+                Toast({
+                  message: '绑定车牌成功',
+                  position: 'top',
+                  onClose: () => {
+                    this.$router.replace({
+                      path: `vehicleManagement`,
+                    });
+                  }
+                });
+               /* Dialog.alert({
                   message: '绑定车牌成功',
                   confirmButtonColor: '#333',
                 }).then(() => {
@@ -210,7 +222,7 @@ export default {
                     path: `vehicleManagement`,
                   });
                   // this.$router.back();
-                });
+                });*/
                 // setTimeout(() => {
                 //   // this.$router.back();
                 //   this.$router.replace({
@@ -220,13 +232,9 @@ export default {
               }
             } else {
               const message = result.message || '绑定车牌失败';
-              // uni.showToast({
-              //   title: message,
-              //   duration: 2000,
-              //   icon: 'none',
-              // });
               Toast({
                 message: message,
+                position: 'top',
               });
               /* Dialog.alert({
                message: message,

+ 28 - 20
src/pages/parkingFee/mixins/vehicleManagement.js

@@ -45,6 +45,7 @@ export default {
       preUrl: '',
       deleteDialogSwitch: false,
       deleteSuccessDialogSwitch: false,
+      show: false, // 删除车牌时提示内容
     };
   },
 
@@ -193,24 +194,28 @@ export default {
         path: `vehicleAddOrEdit?id=${id}&carno=${vehicleNo}&carType=${carType}`,
       });
     },
+    activeCarnoFilter(str){
+      return str.replace(/(.{2})/, '$1·')
+    },
     // 删除
     toDelete(item) {
       this.activeId = item.id;
       this.activeCarno = item.vehicleNo;
+      this.show = true
 
-      Dialog.confirm({
-        title: '删除已绑定车牌',
-        message: '是否确认删除已经绑定车牌' + '\n' + this.activeCarno,
-        confirmButtonColor: '#333',
-      })
-        .then(() => {
-          // on confirm
-          this.doDelete();
-        })
-        .catch(() => {
-          // on cancel
-          // this.cancelDelete();
-        });
+      // Dialog.confirm({
+      //   title: '删除已绑定车牌',
+      //   message: '是否确认删除已经绑定车牌' + '\n' + this.activeCarno,
+      //   confirmButtonColor: '#333',
+      // })
+      //   .then(() => {
+      //     // on confirm
+      //     this.doDelete();
+      //   })
+      //   .catch(() => {
+      //     // on cancel
+      //     // this.cancelDelete();
+      //   });
       // this.deleteDialogSwitch = true;
     },
     doDelete() {
@@ -227,15 +232,18 @@ export default {
             if (result.data) {
               // this.deleteDialogSwitch = false;
               // this.deleteSuccessDialogSwitch = true;
-
-              Dialog.alert({
+              
+              Toast({
                 message: '删除成功',
-                confirmButtonColor: '#333',
-              }).then(() => {
-                // on confirm
-                // this.doDelete();
-                this.getKipMemberVehicles();
+                type: 'success',
+                position: 'top',
+                duration: 5000,
+                className: 'top300',
+                icon: require('../static/images/success.svg')
               });
+              setTimeout(() => {
+                this.getKipMemberVehicles();
+              }, 1500)
               // _this.$refs.deleteSuccessDialog.open()
               return;
             }

+ 14 - 7
src/pages/parkingFee/parkingFeeDetailSuccess.vue

@@ -13,7 +13,7 @@
             {{ detail.refundStatus !== 'NO_REFUND' ? '已退款' : {'PAID': '支付成功', 'FAILED': '支付失败'}[detail.payStatus || 'FAIED'] }}
           </div>
         </div>
-        <div class="parking-part">
+        <div class="parking-part van-hairline--top mb47">
           <div class="parking-info-item">
             <span class="info-key">支付方式</span>
             <span class="info-value">{{ detail.paymentMethod || '' }}</span>
@@ -97,7 +97,7 @@
         </div>
         <div class="parking-detail"></div>
         <div class="van-hairline--bottom"></div>
-        <div class="parking-part">
+        <div class="parking-part pb0">
           <div class="parking-info-item">
             <span class="info-key">应缴</span>
             <span class="info-value ">{{
@@ -136,7 +136,7 @@ export default {
       // border: 1px solid #d8dae0;
       .parking-price {
         text-align: center;
-        padding: 30px 0px 50px;
+        padding: 30px 0px 61px;
         .price {
           font-size: 60px;
           font-weight: 600;
@@ -154,23 +154,30 @@ export default {
         margin-left: 30px;
       }
       .parking-part {
+        &.pt47 {
+          padding-top: 47px;
+        }
+        &.pb0{
+          padding-bottom: 0;
+        }
         padding: 30px;
         .parking-info-item {
           display: flex;
           justify-content: space-between;
           align-items: center;
           font-size: 32px;
-          padding-bottom: 30px;
+          padding-bottom: 39px;
           &.pb0 {
             padding-bottom: 0;
           }
           .info-key {
             text-align: left;
-            color: #242424;
-            font-size: 30px;
+            font-family: 'PingFang SC';
+            font-style: normal;
             font-weight: 400;
+            font-size: 30px;
+            line-height: 30px;
             color: #999999;
-            line-height: 42px;
           }
           .info-value {
             text-align: right;

+ 4 - 1
src/pages/parkingFee/parkingFeeList.vue

@@ -58,7 +58,7 @@
           </div> 
           <!-- {{ item.enterTime }} -->
         </div>
-        <div class="choice_card_index"  style="padding-bottom:40px;" >
+        <div class="choice_card_index"  style="padding-bottom:21px;margin-bottom: 0;" >
           <div class="choice_card_index_icon bg_parkingRoom">
             <img
                 class="car-icon"
@@ -276,6 +276,9 @@ export default {
     justify-content: space-between;
     font-weight: 600;
     color: #333;
+    padding: 20px 35px 15px 28px;
+    margin-bottom: 0;
+    
   }
   .orderFee {
     font-family: 'PingFang SC';

+ 71 - 47
src/pages/parkingFee/parkingReceipt/parkingReceipt.vue

@@ -47,11 +47,11 @@
                 <div class="left">
                   <div class="choice_card_index">
                     <div class="choice_card_index_icon">
-                      <img class="car-icon" :src="require(`../static/images/vector.png`)" />
+                      <img class="car-icon" :src="require(`../static/images/vector.svg`)" />
                       <div class="choice_card_index_text">入场时间</div>
                     </div>
                     <div class="choice_card_index_icon">
-                      <img class="car-icon" :src="require(`../static/images/car_time.png`)" />
+                      <img class="car-icon" :src="require(`../static/images/car_time.svg`)" />
                       <div class="choice_card_index_text">停车时长</div>
                     </div>
                     <!-- {{ item.enterTime }} -->
@@ -65,16 +65,16 @@
                     </div>
                     <!-- {{ item.enterTime }} -->
                   </div>
-                  <div class="choice_card_index" style="padding-bottom: 40px">
-                    <div class="choice_card_index_icon bg_parkingRoom">
-                      <img class="car-icon" :src="require(`../static/images/parking_room.png`)" />
+                  <div class="choice_card_index">
+                    <div class="choice_card_index_icon bg_parkingRoom2">
+                      <img class="car-icon" :src="require(`../static/images/parking_room.svg`)" />
                       <div class="choice_card_index_text2">{{ item.parkName }}</div>
                     </div>
                     <!-- {{ item.enterTime }} -->
                   </div>
                   <div class="van-hairline--bottom"></div>
-                  <div class="choice_card_index orderno-box2">
-                    <div :class="['orderFee', ids.indexOf(item.id) > -1 && 'active']" >¥{{ item.totalPaidAmount || item.invoiceTotalAmount }}</div>
+                  <div class="choice_card_index orderno-box2" style="padding-top: 16px;padding-bottom: 17px;">
+                    <div :class="['orderFee', ids.indexOf(item.id) > -1 && 'active']" >{{ item.totalPaidAmount || item.invoiceTotalAmount |currency }}</div>
                     <!-- <div class="orderDetail">查看详情</div> -->
                     <!-- <van-icon name="arrow" /> -->
                   </div>
@@ -90,7 +90,7 @@
                   <div class="invoiceHeader">{{ item.invoiceHeader }}</div>
                   <div class="choice_card_index">
                     <div class="choice_card_index_icon">
-                      <img class="car-icon" :src="require(`../static/images/vector.png`)" />
+                      <img class="car-icon" :src="require(`../static/images/vector.svg`)" />
                       <div class="choice_card_index_text">开票时间</div>
                     </div>
                     <!-- {{ item.enterTime }} -->
@@ -101,9 +101,16 @@
                     </div>
                     <!-- {{ item.enterTime }} -->
                   </div>
+                  <div class="choice_card_index">
+                    <div class="choice_card_index_icon bg_parkingRoom2 ">
+                      <img class="car-icon" :src="require(`../static/images/parking_room.svg`)" />
+                      <div class="choice_card_index_text2">{{ item.parkName }}</div>
+                    </div>
+                    <!-- {{ item.enterTime }} -->
+                  </div>
                   <div class="van-hairline--bottom"></div>
-                  <div class="choice_card_index orderno-box2">
-                    <div class="orderFee2" >¥{{ item.totalPaidAmount || item.invoiceTotalAmount }}</div>
+                  <div class="choice_card_index orderno-box2 orderDetail-box">
+                    <div class="orderFee2" >{{ item.totalPaidAmount || item.invoiceTotalAmount | currency }}</div>
                     <div class="orderDetail">查看详情</div>
                     <!-- v-if="/FAILED|3/.test(item.status)"  -->
                     <div v-if="/FAILED|3/.test(item.status)" class="try-again" @click="tryGoToInvoicing(item)">重新开票</div>
@@ -126,7 +133,7 @@
       </div>
     </div>
     <div v-show="isLoadMore" :class="{ noData: !list.length }">
-      <img :src="noData" v-if="!list.length" mode="widthFix" />
+      <img :src="noData" v-if="!list.length" alt=""/>
       <span v-if="!list.length">暂无数据</span>
       <div v-else class="no-more-data">
         没有更多啦
@@ -135,20 +142,18 @@
     <div class="flewx" v-if="tabIndex == 1">
       <div class="priceBtn">
         <div>
-          开票金额
-          <span class="price">{{ totalNum }} 元</span>
+          开票金额
+          <span class="price">{{ totalNum | currency}} 元</span>
         </div>
         <div
-          :class="{
-            flewx_index3: true,
-            blue_flewx_index3: custTypeId === 1,
-            green_flewx_index3: custTypeId === 2,
-          }"
+          class="flewx_index3"
           @click="goToInvoicing"
         >
           去开票
         </div>
       </div>
+      <!-- 开启底部安全区适配 -->
+      <van-number-keyboard safe-area-inset-bottom />
     </div>
   </div>
 </template>
@@ -251,7 +256,7 @@ export default {
         font-style: normal;
         font-weight: 400;
         font-size: 28px;
-        padding: 20px 35px;
+        padding: 20px 35px 16px;
         color: #999999;
         display: flex;
         justify-content: space-between;
@@ -271,14 +276,16 @@ export default {
           font-style: normal;
           font-weight: 400;
           font-size: 28px;
-          padding: 20px 35px;
+          //padding: 31px 35px 22px;
           color: #999999;
         }
         .carno {
+          padding: 31px 28px 22px 35px;
           font-size: 36px;
+          line-height: 1;
           font-weight: 600;
           color: #999999;
-          line-height: 50px;
+          //line-height: 50px;
           display: flex;
           justify-content: space-between;
           width: 100%;
@@ -323,7 +330,7 @@ export default {
           font-style: normal;
           font-weight: 600;
           font-size: 32px;
-          padding: 11px 35px;
+          padding: 31px 35px 11px;
           
         }
         .right {
@@ -413,10 +420,10 @@ export default {
         font-weight: 400;
         color: #999999;
         line-height: 40px;
-        margin-bottom: 12px;
         display: flex;
-        padding: 11px 35px;
-
+        margin-bottom: 22px;
+        padding-left: 35px;
+        padding-bottom: 0;
         .choice_card_index_icon {
           width: 50%;
           height: 40px;
@@ -439,12 +446,17 @@ export default {
         }
         .bg_parkingRoom {
           background-color: #f4f7ff;
-          width: 100%;
-          padding: 15px 0;
+          width:calc(100% - 40px);
+          padding: 11px 0px 15px 8px ;
+        }
+        .bg_parkingRoom2 {
+          background-color: #f4f7ff;
+          width:calc(100% - 42px);
+          padding: 11px 0px 15px 8px ;
         }
         .choice_card_index_text {
           display: inline-block;
-          line-height: 40px;
+          line-height: 42px;
           font-family: 'PingFang SC';
           font-style: normal;
           font-weight: 400;
@@ -522,11 +534,27 @@ export default {
       .active {
           color: #333333;
         }
+      .orderDetail-box {
+        height: 81px;
+        display: flex;
+        justify-content: space-between;
+        align-items: center;
+      }
       .orderDetail {
-        margin-left: 176px;
+        height: 50px;
+        width: 179px;
+        text-align: center;
+        line-height: 50px;
+        margin-right: 30px;
+        //margin-left: 176px;
         border-radius: 4.333vw;
-        padding: 11px 33px;
+        //padding: 11px 33px;
         border: 1px solid #333333;
+        font-family: 'PingFang SC';
+        font-style: normal;
+        font-weight: 400;
+        font-size: 28px;
+        color: #333333;
       }
     }
   }
@@ -542,16 +570,14 @@ export default {
 .flewx {
   width: 100%;
   //height: 150px;
-  padding-top: 20px;
+  padding-top: 33px;
   background-color: #fafbff;
   position: fixed;
   bottom: 0;
   display: flex;
   align-items: center;
   // justify-content: space-between;
-  padding-bottom: 25px;
-  //padding-bottom: constant(safe-area-inset-bottom);
-  //padding-bottom: env(safe-area-inset-bottom);
+  padding-bottom: 37px;
 
   // .checkAll {
   // 	.checkboxItem {
@@ -561,10 +587,10 @@ export default {
   // }
   .priceBtn {
     width: 100%;
-    padding: 0 30px 20px;
+    padding: 0 30px 0 24px;
     display: flex;
     align-items: center;
-    margin-right: 20px;
+    //margin-right: 20px;
     justify-content: space-between;
     font-size: 28px;
     font-weight: 400;
@@ -578,16 +604,13 @@ export default {
     }
 
     .flewx_index3 {
-      width: 150px;
-      height: 70px;
-      border-radius: 40px;
+      width: 270px;
+      height: 80px;
+      border-radius: 90px;
       text-align: center;
-      font-size: 28px;
-      line-height: 70px;
-      color: #fff;
+      font-size: 32px;
+      line-height: 80px;
       background: var(--k-color-primary-01);
-      border-radius: 45px;
-      font-size: 34px;
       font-weight: 400;
       color: #ffffff;
     }
@@ -623,8 +646,9 @@ export default {
   margin: 0 auto;
 
   img {
-    width: 200px;
-    margin-bottom: 2%;
+    width: 454px;
+    height: 378px;
+    margin-bottom: 40px;
   }
 
   span {
@@ -678,7 +702,7 @@ export default {
   }
   .carno-box {
     display: flex;
-    padding-bottom: 18px;
+    //padding-bottom: 18px;
     // border-bottom: 1px solid #d8dae0;`
     justify-content: space-between;
     .carno {

Разница между файлами не показана из-за своего большого размера
+ 1 - 0
src/pages/parkingFee/static/images/car_time.svg


+ 125 - 0
src/pages/parkingFee/static/images/no-invoice.svg

@@ -0,0 +1,125 @@
+<svg width="454" height="379" viewBox="0 0 454 379" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path opacity="0.601594" fill-rule="evenodd" clip-rule="evenodd" d="M224.381 0C267.051 0 306.395 14.0148 337.923 37.6232L325.241 37.6243C319.238 37.6243 314.372 42.4906 314.372 48.4936V49.3296C314.372 55.3326 319.238 60.1989 325.241 60.1989L363.015 60.1983C370.181 67.921 376.689 76.2446 382.454 85.0833L400.387 85.0834C406.852 85.0834 412.092 90.3241 412.092 96.7888V97.4421C412.092 102.783 408.515 107.288 403.626 108.693L387.112 108.692C379.724 108.692 373.735 114.682 373.735 122.07V126.25C373.735 133.639 379.724 139.628 387.112 139.628L443.884 139.628C449.696 141.084 454 146.342 454 152.605V153.352C454 160.74 448.011 166.729 440.622 166.729L411.208 166.728C411.793 172.667 412.092 178.688 412.092 184.777C412.092 286.827 328.051 369.554 224.381 369.554C141.458 369.554 71.0945 316.626 46.2514 243.218L39.2066 243.218C36.3587 243.218 34.05 240.91 34.05 238.062C34.05 235.889 35.3938 234.03 37.2956 233.271L45.9853 233.271C51.9882 233.271 56.8545 228.404 56.8545 222.401V221.565C56.8545 215.562 51.9882 210.696 45.9853 210.696L38.5014 210.696C38.4951 210.652 38.4887 210.607 38.4824 210.562L19.9443 210.56C15.1978 210.56 11.35 206.712 11.35 201.966C11.35 197.219 15.1978 193.371 19.9443 193.371L36.8687 193.373C36.7362 190.524 36.6692 187.658 36.6692 184.777C36.6692 157.495 42.6757 131.594 53.4578 108.286L23.4107 108.288C10.4813 108.288 0 97.8067 0 84.8773V83.5707C0 71.0939 9.76046 60.8967 22.0624 60.1982L127.923 60.1989C132.54 60.1989 136.284 56.4556 136.284 51.8379C136.284 47.2203 132.54 43.477 127.923 43.477L103.418 43.4761C103.622 43.3067 103.826 43.1378 104.031 42.9692L91.8435 42.9714C83.07 42.9714 75.9577 35.8591 75.9577 27.0856V26.199C75.9577 17.4255 83.07 10.3131 91.8435 10.3131L162.395 10.3117C181.8 3.63162 202.66 0 224.381 0Z" fill="#F3F3FA"/>
+<path opacity="0.3" d="M127.738 114.518H121.625C121.625 102.281 111.706 92.3613 99.469 92.3613C87.2323 92.3613 77.3123 102.281 77.3123 114.518H72.8472C67.2178 114.518 62.6543 119.478 62.6543 125.596C62.6543 131.715 67.2181 136.674 72.8472 136.674H127.739C133.369 136.674 137.932 131.714 137.932 125.596C137.932 119.478 133.368 114.518 127.738 114.518Z" fill="url(#paint0_linear_2087_1698)"/>
+<path opacity="0.4" d="M284.191 51.5262H279.808C279.808 42.7524 272.696 35.6406 263.922 35.6406C255.148 35.6406 248.035 42.7524 248.035 51.5262H244.834C240.798 51.5262 237.525 55.0831 237.525 59.4697C237.525 63.8564 240.798 67.4123 244.834 67.4123H284.191C288.228 67.4123 291.499 63.8564 291.499 59.4697C291.499 55.0831 288.228 51.5262 284.191 51.5262Z" fill="url(#paint1_linear_2087_1698)"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M213.623 282.6C264.943 282.6 311.156 286.786 343.459 293.472C375.053 293.682 400.491 303.146 400.491 314.789C400.491 324.017 384.513 331.875 362.155 334.844C356.819 336.422 350.812 337.911 344.214 339.294C344.386 340.175 344.472 341.065 344.472 341.962C344.472 362.28 300.301 378.751 245.813 378.751C196.791 378.751 156.12 365.419 148.453 347.948C83.0414 342.981 36.7891 330.756 36.7891 316.461C36.7891 297.76 115.96 282.6 213.623 282.6Z" fill="#ECF0F8"/>
+<path opacity="0.1" d="M232.5 335C252.106 335 268 330.971 268 326C268 321.029 252.106 317 232.5 317C212.894 317 197 321.029 197 326C197 330.971 212.894 335 232.5 335Z" fill="#D1D6E2"/>
+<path d="M401.908 244.246V241.099H398.664V213.633H390.748V210.583H385.408V206.099H382.624V193.031H380.619V206.19H378.063V210.674H370.147V218.019H365.572V303.169H404.102V244.239H401.908V244.246ZM372.372 278.493H369.764V268.604H372.372V278.493ZM372.372 266.391H369.764V256.503H372.372V266.391ZM372.372 254.29H369.764V244.402H372.372V254.29ZM372.372 241.975H369.764V232.086H372.372V241.975ZM372.372 229.653H369.764V219.764H372.372V229.653ZM377.745 278.493H375.137V268.604H377.745V278.493ZM377.745 266.391H375.137V256.503H377.745V266.391ZM377.745 254.29H375.137V244.402H377.745V254.29ZM377.745 241.975H375.137V232.086H377.745V241.975ZM377.745 229.653H375.137V219.764H377.745V229.653ZM383.117 278.493H380.509V268.604H383.117V278.493ZM383.117 266.391H380.509V256.503H383.117V266.391ZM383.117 254.29H380.509V244.402H383.117V254.29ZM383.117 241.975H380.509V232.086H383.117V241.975ZM383.117 229.653H380.509V219.764H383.117V229.653ZM388.49 278.493H385.882V268.604H388.49V278.493ZM388.49 266.391H385.882V256.503H388.49V266.391ZM388.49 254.29H385.882V244.402H388.49V254.29ZM388.49 241.975H385.882V232.086H388.49V241.975ZM388.49 229.653H385.882V219.764H388.49V229.653ZM393.863 278.493H391.254V268.604H393.863V278.493ZM393.863 266.391H391.254V256.503H393.863V266.391ZM393.863 254.29H391.254V244.402H393.863V254.29ZM393.863 241.975H391.254V232.086H393.863V241.975ZM393.863 229.653H391.254V219.764H393.863V229.653Z" fill="url(#paint2_linear_2087_1698)"/>
+<path opacity="0.4" d="M133.34 224.359V222.146H114.199V224.716H109.994V284.95H137.928V224.359H133.34ZM135.514 278.046H112.129V276.262H135.514V278.046ZM135.514 269.818H112.129V268.034H135.514V269.818ZM135.514 261.591H112.129V259.806H135.514V261.591ZM135.514 253.584H112.129V251.799H135.514V253.584ZM135.514 245.596H112.129V243.812H135.514V245.596ZM135.514 237.369H112.129V235.584H135.514V237.369ZM135.514 229.362H112.129V227.577H135.514V229.362Z" fill="url(#paint3_linear_2087_1698)"/>
+<path opacity="0.4" d="M103.838 252.72V182.527H82.5873V176.855H73.5941V211.459H71.1738V317.327H109.139V252.727H103.838V252.72ZM87.9404 273.361H82.5808V268.163H87.9404V273.361ZM87.9404 265.23H82.5808V260.033H87.9404V265.23ZM87.9404 257.139H82.5808V251.942H87.9404V257.139ZM87.9404 249.067H82.5808V243.87H87.9404V249.067ZM87.9404 240.937H82.5808V235.74H87.9404V240.937ZM87.9404 224.715H82.5808V219.518H87.9404V224.715ZM87.9404 216.585H82.5808V211.388H87.9404V216.585ZM87.9404 208.487H82.5808V203.29H87.9404V208.487ZM87.9404 200.422H82.5808V195.225H87.9404V200.422ZM87.9404 192.292H82.5808V187.094H87.9404V192.292ZM95.9603 273.361H90.6007V268.163H95.9603V273.361ZM95.9603 265.23H90.6007V260.033H95.9603V265.23ZM95.9603 257.139H90.6007V251.942H95.9603V257.139ZM95.9603 249.067H90.6007V243.87H95.9603V249.067ZM95.9603 240.937H90.6007V235.74H95.9603V240.937ZM95.9603 224.715H90.6007V219.518H95.9603V224.715ZM95.9603 216.585H90.6007V211.388H95.9603V216.585ZM95.9603 208.487H90.6007V203.29H95.9603V208.487ZM95.9603 200.422H90.6007V195.225H95.9603V200.422ZM95.9603 192.292H90.6007V187.094H95.9603V192.292Z" fill="url(#paint4_linear_2087_1698)"/>
+<path d="M332.022 273.587C332.091 273.862 332.178 274.155 332.283 274.465L332.492 275.291C332.562 275.566 332.596 275.79 332.596 275.962C332.596 276.926 332.335 277.778 331.813 278.518C331.29 279.258 330.611 279.8 329.775 280.144C329.461 280.178 329.13 280.196 328.782 280.196C328.503 280.23 328.19 280.247 327.841 280.247H326.848L318.696 280.351V288.973C318.696 290.247 318.723 291.529 318.775 292.82C318.827 294.11 318.888 295.272 318.958 296.305C319.027 297.544 319.114 298.731 319.219 299.867H311.694L311.851 297.854C311.886 297.062 311.921 295.986 311.955 294.627C311.99 293.267 312.008 291.451 312.008 289.18V281.28C311.415 281.796 310.753 282.054 310.022 282.054C309.43 282.054 308.916 281.917 308.48 281.641C308.045 281.366 307.688 280.987 307.409 280.505L301.504 280.196C300.355 279.92 299.397 279.344 298.63 278.466C297.864 277.588 297.48 276.547 297.48 275.342C297.48 275.136 297.498 274.946 297.533 274.774C297.568 274.602 297.62 274.43 297.689 274.258L298.996 271.263C299.066 270.506 299.283 269.801 299.649 269.147C300.015 268.493 300.476 267.925 301.034 267.443L309.238 252.418H309.29C309.952 251.213 310.736 250.181 311.642 249.32C312.548 248.46 313.715 248.029 315.143 248.029C316.397 248.029 317.521 248.356 318.514 249.01C319.506 249.664 320.247 250.525 320.734 251.592L327.319 264.345C328.503 264.758 329.479 265.481 330.245 266.513C331.011 267.546 331.395 268.733 331.395 270.076C331.395 270.627 331.308 271.212 331.133 271.831L332.022 273.587Z" fill="url(#paint5_linear_2087_1698)"/>
+<path d="M365.465 290.31C365.535 290.585 365.622 290.877 365.726 291.187L365.935 292.013C366.005 292.289 366.04 292.512 366.04 292.685C366.04 293.648 365.779 294.5 365.256 295.24C364.733 295.98 364.054 296.522 363.218 296.867C362.904 296.901 362.574 296.918 362.225 296.918C361.946 296.953 361.633 296.97 361.285 296.97H360.292L352.14 297.073V305.696C352.14 306.969 352.166 308.251 352.218 309.542C352.27 310.833 352.331 311.995 352.401 313.027C352.471 314.266 352.558 315.454 352.662 316.59H345.137L345.294 314.576C345.329 313.785 345.364 312.709 345.399 311.349C345.434 309.99 345.451 308.174 345.451 305.902V298.003C344.859 298.519 344.197 298.777 343.465 298.777C342.873 298.777 342.359 298.639 341.924 298.364C341.488 298.089 341.131 297.71 340.852 297.228L334.948 296.918C333.798 296.643 332.84 296.066 332.073 295.189C331.307 294.311 330.924 293.27 330.924 292.065C330.924 291.858 330.941 291.669 330.976 291.497C331.011 291.325 331.063 291.153 331.133 290.981L332.439 287.986C332.509 287.229 332.727 286.523 333.092 285.869C333.458 285.215 333.92 284.647 334.477 284.165L342.681 269.141H342.734C343.396 267.936 344.179 266.903 345.085 266.043C345.991 265.182 347.158 264.752 348.586 264.752C349.84 264.752 350.964 265.079 351.957 265.733C352.95 266.387 353.69 267.247 354.178 268.315L360.762 281.067C361.946 281.481 362.922 282.203 363.688 283.236C364.455 284.269 364.838 285.456 364.838 286.799C364.838 287.349 364.751 287.934 364.577 288.554L365.465 290.31Z" fill="url(#paint6_linear_2087_1698)"/>
+<path d="M70.0905 284.305C70.1884 284.695 70.3107 285.111 70.4576 285.55L70.7512 286.723C70.8491 287.114 70.898 287.431 70.898 287.676C70.898 289.044 70.531 290.253 69.7969 291.303C69.0628 292.353 68.1085 293.123 66.934 293.612C66.4936 293.66 66.0287 293.685 65.5393 293.685C65.1478 293.734 64.7073 293.758 64.2179 293.758H62.8232L51.3717 293.905V306.143C51.3717 307.951 51.4084 309.77 51.4818 311.603C51.5552 313.435 51.6408 315.084 51.7387 316.549C51.8366 318.308 51.9589 319.993 52.1058 321.606H41.5351L41.7553 318.748C41.8043 317.624 41.8532 316.097 41.9022 314.167C41.9511 312.238 41.9756 309.661 41.9756 306.436V295.224C41.1436 295.957 40.2138 296.323 39.1861 296.323C38.3541 296.323 37.6323 296.128 37.0206 295.737C36.4089 295.346 35.9072 294.808 35.5157 294.124L27.2207 293.685C25.6058 293.294 24.26 292.476 23.1833 291.23C22.1067 289.984 21.5684 288.506 21.5684 286.796C21.5684 286.503 21.5928 286.234 21.6418 285.99C21.6907 285.746 21.7641 285.501 21.862 285.257L23.6972 281.007C23.795 279.932 24.1009 278.93 24.6148 278.002C25.1286 277.074 25.777 276.268 26.5601 275.584L38.085 254.258H38.1584C39.0882 252.548 40.1893 251.083 41.4617 249.861C42.7341 248.64 44.3735 248.029 46.38 248.029C48.1418 248.029 49.72 248.493 51.1148 249.422C52.5095 250.35 53.5494 251.571 54.2346 253.086L63.4839 271.187C65.1478 271.773 66.518 272.799 67.5947 274.265C68.6713 275.73 69.2096 277.416 69.2096 279.321C69.2096 280.103 69.0873 280.933 68.8426 281.813L70.0905 284.305Z" fill="url(#paint7_linear_2087_1698)"/>
+<g opacity="0.7">
+<path d="M279.885 260.49C279.885 248.703 288.72 238.782 300.726 235.847C302.381 235.442 303.553 234.106 303.553 232.555V220.772C303.553 214.575 298.192 211.846 291.344 211.846H156.757C149.909 211.846 147 218.25 147 224.447V236.096C147 239.065 149.361 240.706 151.033 241.081C163.32 243.843 171.38 251.287 171.38 263.259C171.38 275.227 163.324 282.347 151.033 285.114C149.361 285.489 148.193 286.851 148.193 288.406V300.055C148.193 306.253 149.715 311.426 156.563 311.426H291.146C297.994 311.426 303.549 306.405 303.549 300.208V288.425C303.549 286.874 302.381 285.538 300.722 285.133C288.72 282.198 279.885 272.281 279.885 260.49Z" fill="url(#paint8_linear_2087_1698)"/>
+<path d="M280.996 263.255C280.996 252.106 289.434 242.724 300.898 239.948C302.479 239.565 303.596 238.302 303.596 236.837V225.696C303.596 219.835 298.295 215.086 291.752 215.086H163.234C156.692 215.086 151.391 219.835 151.391 225.696V236.712C151.391 238.186 152.507 239.47 154.101 239.828C165.837 242.439 174.534 251.938 174.534 263.26C174.534 274.581 165.837 284.075 154.101 286.691C152.507 287.045 151.391 288.333 151.391 289.807V300.823C151.391 306.684 156.692 311.433 163.234 311.433H291.752C298.295 311.433 303.596 306.684 303.596 300.823V289.682C303.596 288.213 302.479 286.954 300.898 286.571C289.434 283.782 280.996 274.404 280.996 263.255Z" fill="url(#paint9_linear_2087_1698)"/>
+<path d="M191.184 225.968C190.055 225.968 189.137 225.05 189.137 223.92V218.805C189.137 217.676 190.055 216.758 191.184 216.758C192.313 216.758 193.231 217.676 193.231 218.805V223.92C193.231 225.05 192.313 225.968 191.184 225.968Z" fill="url(#paint10_linear_2087_1698)"/>
+<path d="M191.184 293.569C190.055 293.569 189.137 292.651 189.137 291.522V280.256C189.137 279.127 190.055 278.209 191.184 278.209C192.313 278.209 193.231 279.127 193.231 280.256V291.522C193.231 292.651 192.313 293.569 191.184 293.569ZM191.184 271.034C190.055 271.034 189.137 270.116 189.137 268.987V257.721C189.137 256.592 190.055 255.674 191.184 255.674C192.313 255.674 193.231 256.592 193.231 257.721V268.987C193.231 270.12 192.313 271.034 191.184 271.034ZM191.184 248.498C190.055 248.498 189.137 247.58 189.137 246.451V235.186C189.137 234.057 190.055 233.139 191.184 233.139C192.313 233.139 193.231 234.057 193.231 235.186V246.451C193.231 247.585 192.313 248.498 191.184 248.498Z" fill="url(#paint11_linear_2087_1698)"/>
+<path d="M191.184 309.95C190.055 309.95 189.137 309.032 189.137 307.903V302.787C189.137 301.658 190.055 300.74 191.184 300.74C192.313 300.74 193.231 301.658 193.231 302.787V307.903C193.231 309.032 192.313 309.95 191.184 309.95Z" fill="url(#paint12_linear_2087_1698)"/>
+<path d="M252.494 205.537L191.659 178.545C184.544 175.386 176.579 179.575 173.907 187.876L168.158 205.765L252.494 205.537Z" fill="url(#paint13_linear_2087_1698)"/>
+<path d="M251.522 205.584L191.036 181.097C183.475 177.569 176.922 183.617 175.179 191.379L169.865 205.584H251.522Z" fill="url(#paint14_linear_2087_1698)"/>
+<path d="M272.341 205.584L234.61 172.49C229.296 167.827 221.345 167.84 216.044 172.511L208.188 179.437L272.341 205.584Z" fill="url(#paint15_linear_2087_1698)"/>
+<path d="M272.342 205.585L238.287 175.714C231.36 168.497 222.535 169.822 217.752 174.041L210.662 180.29L272.342 205.585Z" fill="url(#paint16_linear_2087_1698)"/>
+</g>
+<g opacity="0.3">
+<circle cx="243.535" cy="252.371" r="4.90642" fill="url(#paint17_linear_2087_1698)"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M260.089 253.104C260.184 253.104 263 253.104 263 256.157H262.976C262.976 258.926 260.054 259.21 260.054 259.21C260.093 259.251 260.132 259.292 260.171 259.334C261.59 260.835 262.965 262.289 262.965 265.26V275.834C262.965 278.701 262.921 278.887 261.513 278.887V280.389C261.513 282.503 259.872 283.438 257.9 283.438H256.449C254.433 283.438 252.836 282.496 252.836 280.389V278.887H218.128V280.389C218.128 282.503 216.488 283.438 214.516 283.438H213.064C211.049 283.438 209.451 282.496 209.451 280.389V278.887C208.095 278.887 208 278.65 208 275.834V265.26C208 262.211 209.459 260.523 210.911 259.21C210.911 259.21 208 258.973 208 256.157C208 253.104 210.725 253.104 210.911 253.104H213.814L219.599 245.551C219.843 245.255 220.07 244.975 220.285 244.71C222.388 242.117 223.293 241 226.829 241H244.207C247.909 241 248.61 241.904 251.039 245.04C251.166 245.204 251.298 245.375 251.436 245.551L257.198 253.104H260.089ZM223.143 244.431L216.99 254.141V254.149C215.989 256.003 217.042 257.352 220.094 257.352H250.941C254.092 257.352 255.197 256.046 254.045 254.098L247.888 244.431C247.154 243.45 246.009 242.861 244.784 242.834H226.247C225.027 242.88 223.89 243.465 223.143 244.431Z" fill="url(#paint18_linear_2087_1698)"/>
+<ellipse cx="216.331" cy="267.882" rx="3.26963" ry="5.84511" transform="rotate(-64.38 216.331 267.882)" fill="#9BA4B2"/>
+<ellipse cx="255.069" cy="267.876" rx="5.84511" ry="3.26963" transform="rotate(-25.62 255.069 267.876)" fill="#9BA4B2"/>
+<path d="M249.366 277.605V277.447C249.363 275.769 248.003 274.41 246.325 274.41H224.66C222.982 274.41 221.621 275.769 221.619 277.447V277.605H249.366Z" fill="#909AA9"/>
+<ellipse cx="216.329" cy="267.054" rx="3.26963" ry="5.84511" transform="rotate(-64.38 216.329 267.054)" fill="#D5DDE9"/>
+<ellipse cx="255.069" cy="267.042" rx="5.84511" ry="3.26963" transform="rotate(-25.62 255.069 267.042)" fill="#D5DDE9"/>
+<path d="M249.366 276.773V276.623C249.366 274.943 248.004 273.582 246.325 273.582H224.66C222.981 273.582 221.619 274.943 221.619 276.623V276.777L249.366 276.773Z" fill="#D5DDE9"/>
+<path d="M220.093 257.352C217.04 257.352 215.987 256.003 216.989 254.15L223.141 244.439C223.888 243.473 225.025 242.888 226.245 242.842H238.077L238.945 241H226.829C222.932 241 222.23 242.357 219.599 245.551L213.814 253.104H210.911C210.725 253.104 208 253.104 208 256.157C208 258.973 210.911 259.21 210.911 259.21C209.459 260.523 208 262.211 208 265.26V275.834C208 278.65 208.095 278.887 209.451 278.887V280.389C209.451 282.496 211.049 283.438 213.064 283.438H214.516C216.488 283.438 218.128 282.503 218.128 280.389V278.887H221.067L231.223 257.372L220.093 257.352Z" fill="url(#paint19_linear_2087_1698)"/>
+</g>
+<defs>
+<linearGradient id="paint0_linear_2087_1698" x1="171.497" y1="122.011" x2="84.8753" y2="122.543" gradientUnits="userSpaceOnUse">
+<stop stop-color="#E0E5EF" stop-opacity="0"/>
+<stop offset="1" stop-color="#E0E5EF"/>
+</linearGradient>
+<linearGradient id="paint1_linear_2087_1698" x1="315.565" y1="56.8988" x2="253.458" y2="57.2801" gradientUnits="userSpaceOnUse">
+<stop stop-color="#E0E5EF" stop-opacity="0"/>
+<stop offset="1" stop-color="#E0E5EF"/>
+</linearGradient>
+<linearGradient id="paint2_linear_2087_1698" x1="384.835" y1="313.559" x2="384.835" y2="203.421" gradientUnits="userSpaceOnUse">
+<stop offset="5.35827e-07" stop-color="#F0F4FD"/>
+<stop offset="1" stop-color="#DBE3EE"/>
+</linearGradient>
+<linearGradient id="paint3_linear_2087_1698" x1="123.963" y1="284.951" x2="123.963" y2="222.149" gradientUnits="userSpaceOnUse">
+<stop offset="5.35827e-07" stop-color="#F4F7FF"/>
+<stop offset="1" stop-color="#DBE3EE"/>
+</linearGradient>
+<linearGradient id="paint4_linear_2087_1698" x1="90.1538" y1="317.324" x2="90.1538" y2="176.852" gradientUnits="userSpaceOnUse">
+<stop offset="5.35827e-07" stop-color="#F1F5FD"/>
+<stop offset="1" stop-color="#DBE3EE"/>
+</linearGradient>
+<linearGradient id="paint5_linear_2087_1698" x1="330.281" y1="299.245" x2="311.732" y2="299.531" gradientUnits="userSpaceOnUse">
+<stop stop-color="#E0E5EF" stop-opacity="0"/>
+<stop offset="1" stop-color="#E0E5EF"/>
+</linearGradient>
+<linearGradient id="paint6_linear_2087_1698" x1="363.724" y1="315.968" x2="345.176" y2="316.253" gradientUnits="userSpaceOnUse">
+<stop stop-color="#E0E5EF" stop-opacity="0"/>
+<stop offset="1" stop-color="#E0E5EF"/>
+</linearGradient>
+<linearGradient id="paint7_linear_2087_1698" x1="67.2073" y1="320.723" x2="41.6835" y2="321.12" gradientUnits="userSpaceOnUse">
+<stop stop-color="#E0E5EF" stop-opacity="0"/>
+<stop offset="1" stop-color="#E0E5EF"/>
+</linearGradient>
+<linearGradient id="paint8_linear_2087_1698" x1="223.853" y1="311.428" x2="223.853" y2="209.555" gradientUnits="userSpaceOnUse">
+<stop offset="0.1119" stop-color="#CED7E3"/>
+<stop offset="0.9205" stop-color="#E0E4EB"/>
+</linearGradient>
+<linearGradient id="paint9_linear_2087_1698" x1="189.695" y1="197.789" x2="265.289" y2="328.72" gradientUnits="userSpaceOnUse">
+<stop offset="0.435469" stop-color="#EBEEF2"/>
+<stop offset="1" stop-color="#D2D9E3"/>
+</linearGradient>
+<linearGradient id="paint10_linear_2087_1698" x1="189.138" y1="221.364" x2="193.23" y2="221.364" gradientUnits="userSpaceOnUse">
+<stop offset="0.1119" stop-color="#CAD5E2"/>
+<stop offset="0.9205" stop-color="#D2D9E3"/>
+</linearGradient>
+<linearGradient id="paint11_linear_2087_1698" x1="189.138" y1="263.355" x2="193.23" y2="263.355" gradientUnits="userSpaceOnUse">
+<stop offset="0.1119" stop-color="#CAD5E2"/>
+<stop offset="0.9205" stop-color="#D2D9E3"/>
+</linearGradient>
+<linearGradient id="paint12_linear_2087_1698" x1="189.138" y1="305.347" x2="193.23" y2="305.347" gradientUnits="userSpaceOnUse">
+<stop offset="0.1119" stop-color="#CAD5E2"/>
+<stop offset="0.9205" stop-color="#D2D9E3"/>
+</linearGradient>
+<linearGradient id="paint13_linear_2087_1698" x1="210.327" y1="205.768" x2="210.327" y2="177.495" gradientUnits="userSpaceOnUse">
+<stop offset="0.1119" stop-color="#CED7E3"/>
+<stop offset="0.9205" stop-color="#E0E4EB"/>
+</linearGradient>
+<linearGradient id="paint14_linear_2087_1698" x1="197.557" y1="178.013" x2="223.23" y2="222.48" gradientUnits="userSpaceOnUse">
+<stop offset="0.0884" stop-color="#EBEEF2"/>
+<stop offset="1" stop-color="#D2D9E3"/>
+</linearGradient>
+<linearGradient id="paint15_linear_2087_1698" x1="240.265" y1="205.584" x2="240.265" y2="168.999" gradientUnits="userSpaceOnUse">
+<stop offset="0.1119" stop-color="#CED7E3"/>
+<stop offset="0.9205" stop-color="#E0E4EB"/>
+</linearGradient>
+<linearGradient id="paint16_linear_2087_1698" x1="229.985" y1="170.565" x2="255.738" y2="215.171" gradientUnits="userSpaceOnUse">
+<stop offset="0.0884" stop-color="#EBEEF2"/>
+<stop offset="1" stop-color="#D2D9E3"/>
+</linearGradient>
+<linearGradient id="paint17_linear_2087_1698" x1="238.629" y1="247.465" x2="238.629" y2="257.278" gradientUnits="userSpaceOnUse">
+<stop stop-color="#E0E5EF" stop-opacity="0.01"/>
+<stop stop-color="#C5CCD8"/>
+<stop offset="1" stop-color="white" stop-opacity="0.01"/>
+</linearGradient>
+<linearGradient id="paint18_linear_2087_1698" x1="205.15" y1="239.23" x2="204.902" y2="271.843" gradientUnits="userSpaceOnUse">
+<stop stop-color="#ACB4C2"/>
+<stop offset="0.05" stop-color="#D1D7E0"/>
+<stop offset="0.54" stop-color="#D6DBE4"/>
+<stop offset="1" stop-color="#ACB5C2"/>
+<stop offset="1" stop-color="#A6AFBC"/>
+</linearGradient>
+<linearGradient id="paint19_linear_2087_1698" x1="214.937" y1="221.45" x2="191.63" y2="255.616" gradientUnits="userSpaceOnUse">
+<stop stop-color="white" stop-opacity="0.3"/>
+<stop offset="0.03" stop-color="white" stop-opacity="0.28"/>
+<stop offset="0.29" stop-color="white" stop-opacity="0.16"/>
+<stop offset="0.55" stop-color="white" stop-opacity="0.07"/>
+<stop offset="0.79" stop-color="white" stop-opacity="0.02"/>
+<stop offset="1" stop-color="white" stop-opacity="0.01"/>
+</linearGradient>
+</defs>
+</svg>

+ 12 - 0
src/pages/parkingFee/static/images/parking_room.svg

@@ -0,0 +1,12 @@
+<svg width="34" height="33" viewBox="0 0 34 33" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M1 18.6056H32.8243" stroke="#666666" stroke-width="1.2"/>
+<path d="M32.4002 7.99562C32.4002 12.0898 29.14 15.3912 25.1397 15.3912C21.1395 15.3912 17.8793 12.0898 17.8793 7.99562C17.8793 3.90145 21.1395 0.6 25.1397 0.6C29.14 0.6 32.4002 3.90145 32.4002 7.99562Z" stroke="#666666" stroke-width="1.2"/>
+<path d="M10.0871 23.2123C10.0871 24.5999 8.9838 25.7073 7.64431 25.7073C6.30482 25.7073 5.20156 24.5999 5.20156 23.2123C5.20156 21.8246 6.30482 20.7172 7.64431 20.7172C8.9838 20.7172 10.0871 21.8246 10.0871 23.2123Z" stroke="#666666" stroke-width="1.2"/>
+<path d="M28.8507 23.2123C28.8507 24.5999 27.7475 25.7073 26.408 25.7073C25.0685 25.7073 23.9652 24.5999 23.9652 23.2123C23.9652 21.8246 25.0685 20.7172 26.408 20.7172C27.7475 20.7172 28.8507 21.8246 28.8507 23.2123Z" stroke="#666666" stroke-width="1.2"/>
+<path d="M31.1285 18.3495L29.4492 15.2402" stroke="#666666" stroke-width="1.2"/>
+<path d="M16.9407 7.05078H12.01C9.62994 7.05078 7.4749 8.45756 6.51718 10.6364L3.12695 18.3493" stroke="#666666" stroke-width="1.2"/>
+<path d="M22.7812 14.245V4.52148H27.1012C27.1012 4.52148 28.7338 5.06023 28.9341 7.05153C29.1344 9.04284 27.1012 10.0499 27.1012 10.0499H24.4257" stroke="#666666" stroke-width="1.2"/>
+<path d="M1.27539 22.5664V25.736C1.27539 26.8406 2.17082 27.736 3.27539 27.736H4.60926V30.0004C4.60926 31.1049 5.50469 32.0004 6.60926 32.0004H8.9485C10.0531 32.0004 10.9485 31.1049 10.9485 30.0004V28.2519" stroke="#666666" stroke-width="1.2"/>
+<path d="M7.90625 27.9219H22.9899V30.0008C22.9899 31.1054 23.8854 32.0008 24.9899 32.0008H27.4708C28.5754 32.0008 29.4708 31.1054 29.4708 30.0008V27.9219" stroke="#666666" stroke-width="1.2"/>
+<path d="M25.8672 27.9215H31.0003C32.1049 27.9215 33.0003 27.026 33.0003 25.9215V22.5664" stroke="#666666" stroke-width="1.2"/>
+</svg>

+ 6 - 0
src/pages/parkingFee/static/images/success.svg

@@ -0,0 +1,6 @@
+<svg width="74" height="74" viewBox="0 0 74 74" fill="none" xmlns="http://www.w3.org/2000/svg">
+<g id="&#231;&#188;&#150;&#231;&#187;&#132;">
+<path id="fill" fill-rule="evenodd" clip-rule="evenodd" d="M73 37C73 17.12 56.88 1 37 1C17.12 1 1 17.12 1 37C1 56.88 17.12 73 37 73C56.88 73 73 56.88 73 37Z" stroke="white" stroke-width="2" stroke-dasharray="0"/>
+<path id="fill_2" d="M19.2109 38.1289L30.7509 50.0489L53.0209 27.5889" stroke="white" stroke-width="2" stroke-dasharray="0"/>
+</g>
+</svg>

+ 5 - 0
src/pages/parkingFee/static/images/vector.svg

@@ -0,0 +1,5 @@
+<svg width="29" height="30" viewBox="0 0 29 30" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M8.45898 0H9.66732V4.83333H8.45898V0ZM19.334 16.9167H24.1673V18.125H19.334V16.9167ZM10.8757 2.41667H18.1257V3.625H10.8757V2.41667ZM19.334 0H20.5423V4.83333H19.334V0ZM12.084 12.0833H16.9173V13.2917H12.084V12.0833ZM19.334 12.0833H24.1673V13.2917H19.334V12.0833ZM12.084 16.9167H16.9173V18.125H12.084V16.9167ZM4.83398 16.9167H9.66732V18.125H4.83398V16.9167Z" fill="#666666"/>
+<path d="M27.7917 2.4181H21.75V3.62643H27.7917V6.0431H1.20833V3.62643H7.25V2.4181H1.20833C0.54375 2.4181 0 2.4181 0 2.4181V29C0 29 0.54375 29.0014 1.20833 29.0014H27.7917C28.4563 29.0014 29 29.0001 29 29.0001V2.41797C29 2.41797 28.4563 2.4181 27.7917 2.4181ZM27.7917 27.7931H1.20833V7.25143H27.7917V27.7931Z" fill="#666666"/>
+<path d="M4.83398 21.7487H9.66732V22.957H4.83398V21.7487ZM4.83398 12.082H9.66732V13.2904H4.83398V12.082ZM12.084 21.7487H16.9173V22.957H12.084V21.7487Z" fill="#666666"/>
+</svg>

+ 30 - 0
src/pages/parkingFee/vehicleManagement.vue

@@ -133,6 +133,10 @@
       <div class="add_plate_btn">+添加车牌号</div>
       <div class="btnpb"></div>
     </div>
+    <van-dialog class="dialog-box" v-model="show" title="删除已绑定车牌" show-cancel-button confirm-button-color="var(--k-color-primary-01, #064c8a)" @confirm="doDelete">
+      <div class="info">是否确认删除已经绑定车牌</div>
+      <div class="activeCarno">{{ activeCarnoFilter(activeCarno) }}</div>
+    </van-dialog>
   </div>
 </template>
 
@@ -513,4 +517,30 @@ export default {
     color: #ffffff;
   }
 }
+
+.dialog-box {
+  border-radius: 10px;
+  
+  .van-dialog__header {}
+  /deep/ .van-dialog__content {
+    margin-top: 34px;
+    
+    text-align: center;
+    font-family: 'PingFang SC';
+    font-style: normal;
+    font-weight: 400;
+    font-size: 30px;
+    color: #333333;
+    .info {
+      margin-bottom: 20px;  
+    }
+    .activeCarno {
+      font-family: 'PingFang SC';
+      font-style: normal;
+      font-weight: 500;
+      font-size: 36px;
+      margin-bottom: 28px;
+    }
+  }
+}
 </style>

+ 27 - 0
src/styles/common.less

@@ -100,3 +100,30 @@ button {
   --k-color-primary-disabled: var(--k-color-primary-05); /* 对应色值表第五行 */
 }
 
+
+/*vant 样式补充*/
+/*toast*/
+//.toast-dark {
+//  @toast-background-color: rgba(0, 0, 0, 0.8);
+//}
+
+@toast-background-color: rgba(0, 0, 0, 0.8);
+
+.van-toast{
+  border-radius: 10px;
+  padding: 25px 42px;
+  background-color: @toast-background-color;
+  .van-toast__text {
+    font-family: 'PingFang SC';
+    font-style: normal;
+    font-weight: 400;
+    font-size: 28px;
+    color: #FFFFFF;
+  }
+  &.top300{
+    top: 300PX;
+  }
+}
+.van-toast--top {
+  top: 312px;
+}

+ 7 - 7
src/utils/index.js

@@ -173,12 +173,12 @@ export function initEnv() {
   const href = window.location.href;
   console.log('当前页面的url地址  ',href);
   if ( /dev-|8080/.test(href) ) {
-    // window.env = 'qa';
-    // window.profileApi = 'https://qa-apim.kerryplus.com/c/api';
-    // window.api = 'qaApi';
-    window.env = 'dev';
-    window.profileApi = 'https://dev-gateway-kip.kerryonvip.com/api';
-    window.api = 'devApi';
+    window.env = 'qa';
+    window.profileApi = 'https://qa-apim.kerryplus.com/c/api';
+    window.api = 'qaApi';
+    // window.env = 'dev';
+    // window.profileApi = 'https://dev-gateway-kip.kerryonvip.com/api';
+    // window.api = 'devApi';
     // window.env = 'prod';
     // window.profileApi = 'https://sl-apim.kerryplus.com/c/api';
     // window.api = 'api';
@@ -204,7 +204,7 @@ export function initEnv() {
 export function requestInit() {
   let baseURL = window.profileApi + '/temporary-parking/v1';
   if (window.location.href.indexOf('parking.') < 0) {
-    baseURL = '/msApi';
+    // baseURL = '/msApi';
   }
   window.requestms = createAxiosByinterceptors({
     // baseURL: `https://dev-kip-service-internal.kerryonvip.com/`,

Некоторые файлы не были показаны из-за большого количества измененных файлов