Browse Source

综合一二期代码

yangzj 2 years ago
parent
commit
2213e552ca

+ 2 - 1
.gitignore

@@ -13,6 +13,7 @@ yarn-error.log*
 *.ntvs*
 *.njsproj
 *.sln
+/unpackage/
+/node_modules
 /package-lock.json
 /.history/
-/node_modules/

+ 65 - 66
pages/center/index.vue

@@ -1,6 +1,6 @@
 <template>
   <view>
-		<!-- ===================================== tabbar ===================================== -->
+    <!-- ===================================== tabbar ===================================== -->
     <u-navbar
       title-color="#fff"
       :custom-back="customBack"
@@ -9,8 +9,8 @@
       :background="{ background: '#008CFF' }"
       title="我的"
     ></u-navbar>
-		
-		<!-- ===================================== 头像 ===================================== -->
+
+    <!-- ===================================== 头像 ===================================== -->
     <view class="u-flex user-box u-p-l-30 u-p-r-20 u-p-b-30 u-p-t-30">
       <view class="u-m-r-24" @click="clickHead">
         <u-avatar :src="userInfo.headImgUrl || pic" size="140"></u-avatar>
@@ -34,7 +34,7 @@
         </u-cell-item>
       </u-cell-group>
     </view>
-		
+
     <view class="u-m-t-20">
       <u-cell-group>
         <!-- <u-cell-item title="充值" @click="openPage('pages/myCars/myCars')">
@@ -54,7 +54,7 @@
         </u-cell-item>-->
       </u-cell-group>
     </view>
-		
+
     <!-- <view class="u-m-t-20">
 			<u-cell-group>
 				<u-cell-item title="我的优惠" @click="openPage('pages/myCars/myCars')">
@@ -69,7 +69,7 @@
 				</u-cell-item>
 			</u-cell-group>
     </view>-->
-		
+
     <view class="u-m-t-20">
       <u-cell-group>
         <u-cell-item title="消息中心" @click="openPage('pages/message/message', true)">
@@ -91,7 +91,7 @@
 				<u-cell-item icon="phone" title="手机号登录" @click="openPage('/pages/center/phoneLogin/phoneLogin')"></u-cell-item>
 			</u-cell-group>
     </view>-->
-		
+
     <!-- ===================================== 登出提示 ===================================== -->
     <u-modal
       v-model="logoutPop"
@@ -115,7 +115,7 @@
 </template>
 
 <script>
-import getUrlParams from '../../utils/getUrlParams.js'
+import getUrlParams from '../../utils/getUrlParams.js';
 export default {
   data() {
     return {
@@ -126,11 +126,11 @@ export default {
       phoneNo: '0851-38222696',
       logoutPop: false,
       messageNum: 0
-    }
+    };
   },
   onLoad() {},
   onShow() {
-		this.getMsgNum()
+    this.getMsgNum();
     if (this.$store.state.vuex_hasLogin) {
       this.userInfo = this.$store.state.vuex_user;
       if (this.$store.state.vuex_wxinfo) {
@@ -141,92 +141,91 @@ export default {
     }
   },
   methods: {
-		/**
-		 * 打开新页面
-		 * @param {String} path 跳转路径
-		 * @param {flag} flag 返回存储标识
-		 * */
+    /**
+     * 打开新页面
+     * @param {String} path 跳转路径
+     * @param {flag} flag 返回存储标识
+     * */
     openPage(path, flag) {
       this.$u.route({
         url: path
-      })
+      });
       if (flag) {
         uni.setStorage({
           key: 'messageBack',
           data: 'pages/center/index'
-        })
+        });
       }
     },
     // 获取消息未读条数
     getMsgNum() {
-      this.$u.api.getIndexData()
-        .then(res => {
-          if (res.code === 200) {
-            let num = 0
-            if (res.data.news) {
-              res.data.news.forEach(item => {
-                if (item.readFlag == 0) {
-                  num += 1
-                }
-              })
-            }
-            this.messageNum = num
-          } else {
-            this.$refs.uToast.show({
-              title: res.msg,
-              type: 'error'
-            })
+      this.$u.api.getIndexData().then((res) => {
+        if (res.code === 200) {
+          let num = 0;
+          if (res.data.news) {
+            res.data.news.forEach((item) => {
+              if (item.readFlag == 0) {
+                num += 1;
+              }
+            });
           }
-        })
+          this.messageNum = num;
+        } else {
+          this.$refs.uToast.show({
+            title: res.msg,
+            type: 'error'
+          });
+        }
+      });
     },
-		// tabbar 返回
+    // tabbar 返回
     customBack() {
       this.$u.route({
         type: 'switchTab',
         url: 'pages/index/index'
       });
     },
-		// 拨打电话
+    // 拨打电话
     phoneCall(phone) {
       uni.makePhoneCall({
         phoneNumber: phone
       });
     },
-		// 登出
+    // 登出
     loginOut() {
-			this.$u.api.codeV2Api.logoutApi().then(res => {
-				if (res.code === 200) {
-					this.$u.vuex('vuex_hasLogin', false);
-					this.$u.vuex('vuex_token', '');
-					this.$u.vuex('vuex_user', null);
-					uni.removeStorage({
-					    key: 'jumpUrl'
-					});
-					uni.removeStorage({
-					    key: 'backUrl'
-					});
-					setTimeout(() => {
-					  this.logoutPop = false
-					  uni.navigateTo({
-					    url: '/pages/center/phoneLogin/phoneLogin'
-					  })
-					}, 500)
-				} else {
-					this.$refs.uToast.show({
-					  title: res.msg || '登出失败',
-					  type: 'error'
-					})
-				}
-			})
+      this.$u.api.codeV2Api.logoutApi().then((res) => {
+        if (res.code === 200) {
+          this.$u.vuex('vuex_hasLogin', false);
+          this.$u.vuex('vuex_token', '');
+          this.$u.vuex('vuex_user', null);
+          uni.removeStorage({
+            key: 'jumpUrl'
+          });
+          uni.removeStorage({
+            key: 'backUrl'
+          });
+          setTimeout(() => {
+            this.logoutPop = false;
+            uni.navigateTo({
+              url: '/pages/center/phoneLogin/phoneLogin'
+            });
+          }, 500);
+        } else {
+          this.$refs.uToast.show({
+            title: res.msg || '登出失败',
+            type: 'error'
+          });
+        }
+      });
     },
-		// 点击头像
+    // 点击头像
     clickHead() {
       if (this.$store.state.vuex_hasLogin) {
-        this.logoutPop = true
+        this.logoutPop = true;
       }
     }
   }
-}
+};
 </script>
 
 <style lang="scss" scoped>
@@ -241,7 +240,7 @@ page {
     position: absolute;
     right: 0;
     bottom: 0;
-    content: "";
+    content: '';
     background: url(../../static/img/center-top-bg.png) no-repeat;
     background-position: -90rpx 0;
     width: 305rpx;

+ 255 - 229
pages/center/order/orderDetails/orderDetails.vue

@@ -1,253 +1,279 @@
 <template>
-	<view class="wrap">
-		<view class="order-info">
-			<u-image class="order-info-img" width="90rpx" height="90rpx" src="../../../../static/img/position.png">
-			</u-image>
-			<view class="addr">{{ orderInfo.roadName }}</view>
-			<view class="pay-amount" v-if="orderInfo.payAmount">-{{ orderInfo.payAmount }}</view>
-			<view class="pay-amount" v-else>{{ orderInfo.payAmount }}</view>
-			<u-cell-group :border="false">
-				<u-cell-item title="车牌号" :arrow="false" :border-bottom="false" :border-top="false"
-					:value="orderInfo.vehicleNo"></u-cell-item>
-				<u-cell-item title="优惠总金额" :arrow="false" :border-bottom="false" :border-top="false"
-					:value="(orderInfo.preferentialAmount ? orderInfo.preferentialAmount.toFixed(2) : 0) + ' 元'">
-				</u-cell-item>
-			</u-cell-group>
-			<u-cell-group>
-				<u-cell-item title="订单编号 " :arrow="false" :border-bottom="false" :border-top="false"
-					:value="orderInfo.orderId"></u-cell-item>
-				<template v-if="orderInfo.deviceType == 1">
-					<u-cell-item title="入场时间 " :arrow="false" :border-bottom="false" :border-top="false"
-						:value="orderInfo.inTime"></u-cell-item>
-					<u-cell-item title="出场时间 " :arrow="false" :border-bottom="false" :border-top="false"
-						:value="orderInfo.outTime"></u-cell-item>
-				</template>
-				<template v-else>
-					<u-cell-item title="开始计费 " :arrow="false" :border-bottom="false" :border-top="false"
-						:value="orderInfo.inTime"></u-cell-item>
-					<u-cell-item title="结束计费 " :arrow="false" :border-bottom="false" :border-top="false"
-						:value="orderInfo.outTime"></u-cell-item>
-				</template>
-				<!-- <u-cell-item
+  <view class="wrap">
+    <view class="order-info">
+      <u-image class="order-info-img" width="90rpx" height="90rpx" src="../../../../static/img/position.png"> </u-image>
+      <view class="addr">{{ orderInfo.roadName }}</view>
+      <view class="pay-amount" v-if="orderInfo.payAmount">-{{ orderInfo.payAmount }}</view>
+      <view class="pay-amount" v-else>{{ orderInfo.payAmount }}</view>
+      <u-cell-group :border="false">
+        <u-cell-item title="车牌号" :arrow="false" :border-bottom="false" :border-top="false" :value="orderInfo.vehicleNo"></u-cell-item>
+        <u-cell-item
+          title="优惠总金额"
+          :arrow="false"
+          :border-bottom="false"
+          :border-top="false"
+          :value="(orderInfo.preferentialAmount ? orderInfo.preferentialAmount.toFixed(2) : 0) + ' 元'"
+        >
+        </u-cell-item>
+      </u-cell-group>
+      <u-cell-group>
+        <u-cell-item title="订单编号 " :arrow="false" :border-bottom="false" :border-top="false" :value="orderInfo.orderId"></u-cell-item>
+        <template v-if="orderInfo.deviceType == 1">
+          <u-cell-item title="入场时间 " :arrow="false" :border-bottom="false" :border-top="false" :value="orderInfo.inTime"></u-cell-item>
+          <u-cell-item title="出场时间 " :arrow="false" :border-bottom="false" :border-top="false" :value="orderInfo.outTime"></u-cell-item>
+        </template>
+        <template v-else>
+          <u-cell-item title="开始计费 " :arrow="false" :border-bottom="false" :border-top="false" :value="orderInfo.inTime"></u-cell-item>
+          <u-cell-item title="结束计费 " :arrow="false" :border-bottom="false" :border-top="false" :value="orderInfo.outTime"></u-cell-item>
+        </template>
+        <!-- <u-cell-item
           title="停车时长 "
           :arrow="false"
           :border-bottom="false"
           :border-top="false"
           :value="orderInfo.duration"
         ></u-cell-item> -->
-				<!-- <u-cell-item
+        <!-- <u-cell-item
 				  title="免费时长 "
 				  :arrow="false"
 				  :border-bottom="false"
 				  :border-top="false"
 				  :value="orderInfo.freeDuration"
 				></u-cell-item> -->
-				<template>
-					<u-cell-item title="免费时长 " :arrow="false" :border-bottom="false" :border-top="false"
-						:value="orderInfo.freeDuration"></u-cell-item>
-				</template>
-				<!-- <template v-else>
+        <template>
+          <u-cell-item title="免费时长 " :arrow="false" :border-bottom="false" :border-top="false" :value="orderInfo.freeDuration"></u-cell-item>
+        </template>
+        <!-- <template v-else>
 					<u-cell-item title="免费时长 " :arrow="false" :border-bottom="false" :border-top="false" :value="new Date(orderInfo.createTime).valueOf() < new Date('2022-06-20 00:00:00').valueOf() ? '0天0时15分0秒' : '0天0时30分0秒'"></u-cell-item>
 				</template> -->
-				<u-cell-item title=" 计费时长 " :arrow=" false" :border-bottom="false" :border-top="false"
-						:value="orderInfo.calcDuration"></u-cell-item>
-					<u-cell-item title="累计停车时长 " :arrow="false" :border-bottom="false" :border-top="false"
-						:value="orderInfo.duration"></u-cell-item>
-					<u-cell-item v-if="orderInfo.createTime" title="订单创建时间 " :arrow="false" :border-bottom="false"
-						:border-top="false" :value="orderInfo.createTime"></u-cell-item>
-					<u-cell-item v-if="orderInfo.payTime" title="支付时间 " :arrow="false" :border-bottom="false"
-						:border-top="false" :value="orderInfo.payTime"></u-cell-item>
-					<u-cell-item v-if="orderInfo.payStatus == 1" title="缴费方式 " :arrow="false" :border-bottom="false"
-						:border-top="false" :value="orderInfo.paySource | verifyPaySource"></u-cell-item>
-			</u-cell-group>
-		</view>
-		<!-- 地磁显示支付按钮条件  支付状态(0-未支付,2-支付中,3-支付失败)并且订单金额不能为0 -->
-		<view class="" v-if="orderInfo.deviceType === 1">
-			<view class="bottom-btn-wrap"
-				v-if="(orderInfo.payStatus == 0 || orderInfo.payStatus == 2 || orderInfo.payStatus == 3) && openFlag !== 'open' && Number(orderInfo.payAmount) !== 0">
-				<view class="bottom-btn" @click="goPay(orderId)">去支付</view>
-			</view>
-			<view class="bottom-btn-wrap"
-				v-else-if="(orderInfo.payStatus == 0 || orderInfo.payStatus == 2 || orderInfo.payStatus == 3) && openFlag !== 'open' && Number(orderInfo.payAmount) === 0">
-				<view class="tips">提示:可寻找附近的收费员打印小票并扫码出场</view>
-			</view>
-		</view>
-		<!-- 其他显示支付按钮条件  支付状态(0-未支付,2-支付中,3-支付失败) -->
-		<view class="" v-else>
-			<view class="bottom-btn-wrap"
-				v-if="(orderInfo.payStatus == 0 || orderInfo.payStatus == 2 || orderInfo.payStatus == 3) && openFlag !== 'open'">
-				<view class="bottom-btn" @click="goPay(orderId)">去支付</view>
-			</view>
-		</view>
-		<view class="bottom-btn-wrap" v-if="openFlag === 'open' && orderInfo.payStatus == 1">
-			<view class="bottom-btn" @click="jumpOrderList()">返回订单页</view>
-		</view>
+        <u-cell-item title=" 计费时长 " :arrow="false" :border-bottom="false" :border-top="false" :value="orderInfo.calcDuration"></u-cell-item>
+        <u-cell-item title="累计停车时长 " :arrow="false" :border-bottom="false" :border-top="false" :value="orderInfo.duration"></u-cell-item>
+        <u-cell-item
+          v-if="orderInfo.createTime"
+          title="订单创建时间 "
+          :arrow="false"
+          :border-bottom="false"
+          :border-top="false"
+          :value="orderInfo.createTime"
+        ></u-cell-item>
+        <u-cell-item
+          v-if="orderInfo.payTime"
+          title="支付时间 "
+          :arrow="false"
+          :border-bottom="false"
+          :border-top="false"
+          :value="orderInfo.payTime"
+        ></u-cell-item>
+        <u-cell-item
+          v-if="orderInfo.payStatus == 1"
+          title="缴费方式 "
+          :arrow="false"
+          :border-bottom="false"
+          :border-top="false"
+          :value="orderInfo.paySource | verifyPaySource"
+        ></u-cell-item>
+      </u-cell-group>
+    </view>
+    <!-- 地磁显示支付按钮条件  支付状态(0-未支付,2-支付中,3-支付失败)并且订单金额不能为0 -->
+    <view class="" v-if="orderInfo.deviceType === 1">
+      <view
+        class="bottom-btn-wrap"
+        v-if="
+          (orderInfo.payStatus == 0 || orderInfo.payStatus == 2 || orderInfo.payStatus == 3) &&
+          openFlag !== 'open' &&
+          Number(orderInfo.payAmount) !== 0
+        "
+      >
+        <view class="bottom-btn" @click="goPay(orderId)">去支付</view>
+      </view>
+      <view
+        class="bottom-btn-wrap"
+        v-else-if="
+          (orderInfo.payStatus == 0 || orderInfo.payStatus == 2 || orderInfo.payStatus == 3) &&
+          openFlag !== 'open' &&
+          Number(orderInfo.payAmount) === 0
+        "
+      >
+        <view class="tips">提示:可寻找附近的收费员打印小票并扫码出场</view>
+      </view>
+    </view>
+    <!-- 其他显示支付按钮条件  支付状态(0-未支付,2-支付中,3-支付失败) -->
+    <view class="" v-else>
+      <view class="bottom-btn-wrap" v-if="(orderInfo.payStatus == 0 || orderInfo.payStatus == 2 || orderInfo.payStatus == 3) && openFlag !== 'open'">
+        <view class="bottom-btn" @click="goPay(orderId)">去支付</view>
+      </view>
+    </view>
+    <view class="bottom-btn-wrap" v-if="openFlag === 'open' && orderInfo.payStatus == 1">
+      <view class="bottom-btn" @click="jumpOrderList()">返回订单页</view>
+    </view>
 
-		<!-- 支付方式 -->
-		<PaymentMethod :payWayPop="payWayPop" :curOrderList="orderList" :jumpUrl="jumpUrl"
-			@closePaymentMethod="closePaymentMethod"></PaymentMethod>
+    <!-- 支付方式 -->
+    <PaymentMethod :payWayPop="payWayPop" :curOrderList="orderList" :jumpUrl="jumpUrl" @closePaymentMethod="closePaymentMethod"></PaymentMethod>
 
-		<!-- 加载中遮罩 -->
-		<u-mask :show="loadingMask">
-			<view class="loading-warp">
-				<view class="loading-icon">
-					<u-loading mode="flower" size="50"></u-loading>
-				</view>
-				<view class="loading-text">
-					<text>订单支付状态查询中...</text>
-				</view>
-			</view>
-		</u-mask>
-		<u-toast ref="uToast" />
-	</view>
+    <!-- 加载中遮罩 -->
+    <u-mask :show="loadingMask">
+      <view class="loading-warp">
+        <view class="loading-icon">
+          <u-loading mode="flower" size="50"></u-loading>
+        </view>
+        <view class="loading-text">
+          <text>订单支付状态查询中...</text>
+        </view>
+      </view>
+    </u-mask>
+    <u-toast ref="uToast" />
+  </view>
 </template>
 
 <script>
-	import PaymentMethod from '@/pages/paymentMethod/paymentMethod.vue'
-	export default {
-		components: {
-			PaymentMethod
-		},
-		data() {
-			return {
-				orderId: null,
-				openFlag: null,
-				polyOrderId: null,
-				// 订单信息
-				orderInfo: {},
-				// 立即支付弹框
-				payWayPop: false,
-				// 订单列表,一般长度为1的数组
-				orderList: [],
-				// 重定向页面
-				jumpUrl: location.href + '&type=open',
-				loadingMask: false
-			}
-		},
-		onLoad(page) {
-			this.orderId = page?.orderId
-			// 该标识判断是否是从支付完成页面回调回来
-			this.openFlag = page?.type
-			this.polyOrderId = page?.polyOrderId
-			if (this.orderId) {
-				// 如果type标识和支付订单id同时存在,证明需要执行轮询判断支付状态,否则直接查询
-				if (this.openFlag && this.polyOrderId) {
-					this.loadingMask = true
-					this.handlePayStatus(this.polyOrderId)
-					let time = 0
-					this.timer = setInterval(() => {
-						time++
-						this.handlePayStatus(this.polyOrderId, openFlag)
-						// 超过60s直接清除轮询
-						if (time === 60) {
-							clearInterval(this.timer)
-						}
-					}, 1000)
-				} else {
-					this.handleGetOrderinfo(this.orderId)
-				}
-			}
-		},
-		methods: {
-			jumpOrderList() {
-				this.$u.route({
-					url: 'pages/center/order/order'
-				})
-			},
-			/**
-			 * 通过订单id去获取订单信息
-			 * */
-			handleGetOrderinfo(orderId) {
-				this.$u.api.getOrderDetail({
-						id: orderId
-					})
-					.then(res => {
-						if (res.code === 200) {
-							this.orderInfo = res.data
-						} else {
-							this.$refs.uToast.show({
-								title: res.msg,
-								type: 'error'
-							})
-						}
-					})
-			},
-			/**
-			 * 查询支付状态
-			 * @param { String } orderId
-			 */
-			handlePayStatus(orderId) {
-				this.$u.api.getOrderInfo({
-					orderId
-				}).then(res => {
-					if (res.code === 200) {
-						if (res.data.payStatus === 1 || res.data.payStatus === 3) {
-							this.loadingMask = false
-							clearInterval(this.timer);
-							this.handleGetOrderinfo(this.orderId)
-						}
-					} else {
-						this.$refs.uToast.show({
-							title: res.msg,
-							type: 'error'
-						})
-						this.loadingMask = false
-						clearInterval(this.timer);
-					}
-				}).catch(() => {
-					this.loadingMask = false
-					clearInterval(this.timer);
-				})
-			},
-			goPay(orderId) {
-				this.orderList = []
-				this.orderList.push(orderId)
-				if (this.orderList.length > 0) {
-					this.payWayPop = true
-				} else {
-					this.$refs.uToast.show({
-						title: '当前订单编号不存在,请重新进入当前页面!',
-						type: 'warning'
-					})
-				}
-			},
-			/**
-			 * 关闭支付方式弹框
-			 * */
-			closePaymentMethod() {
-				this.payWayPop = false
-			}
-
-		},
-		filters: {
-			verifyPaySource(value) {
-				if (value === 0) {
-					return '现金支付'
-				} else if (value === 1) {
-					return '微信支付'
-				} else if (value === 2) {
-					return '支付宝支付'
-				} else if (value === 3) {
-					return '贵州银行快捷支付'
-				} else if (value === 4) {
-					return '贵州银行扫码支付'
-				} else if (value === 5) {
-					return '贵州银行被扫支付'
-				} else if (value === 6) {
-					return '贵州银行无感支付'
-				} else {
-					return ''
-				}
-			}
-		},
-		destroyed() {
-			if (this.timer) {
-				clearInterval(this.timer)
-			}
-		}
-	}
+import PaymentMethod from '@/pages/paymentMethod/paymentMethod.vue';
+export default {
+  components: {
+    PaymentMethod
+  },
+  data() {
+    return {
+      orderId: null,
+      openFlag: null,
+      polyOrderId: null,
+      // 订单信息
+      orderInfo: {},
+      // 立即支付弹框
+      payWayPop: false,
+      // 订单列表,一般长度为1的数组
+      orderList: [],
+      // 重定向页面
+      jumpUrl: location.href + '&type=open',
+      loadingMask: false
+    };
+  },
+  onLoad(page) {
+    this.orderId = page?.orderId;
+    // 该标识判断是否是从支付完成页面回调回来
+    this.openFlag = page?.type;
+    this.polyOrderId = page?.polyOrderId;
+    if (this.orderId) {
+      // 如果type标识和支付订单id同时存在,证明需要执行轮询判断支付状态,否则直接查询
+      if (this.openFlag && this.polyOrderId) {
+        this.loadingMask = true;
+        this.handlePayStatus(this.polyOrderId);
+        let time = 0;
+        this.timer = setInterval(() => {
+          time++;
+          this.handlePayStatus(this.polyOrderId, openFlag);
+          // 超过60s直接清除轮询
+          if (time === 60) {
+            clearInterval(this.timer);
+          }
+        }, 1000);
+      } else {
+        this.handleGetOrderinfo(this.orderId);
+      }
+    }
+  },
+  methods: {
+    jumpOrderList() {
+      this.$u.route({
+        url: 'pages/center/order/order'
+      });
+    },
+    /**
+     * 通过订单id去获取订单信息
+     * */
+    handleGetOrderinfo(orderId) {
+      this.$u.api
+        .getOrderDetail({
+          id: orderId
+        })
+        .then((res) => {
+          if (res.code === 200) {
+            this.orderInfo = res.data;
+          } else {
+            this.$refs.uToast.show({
+              title: res.msg,
+              type: 'error'
+            });
+          }
+        });
+    },
+    /**
+     * 查询支付状态
+     * @param { String } orderId
+     */
+    handlePayStatus(orderId) {
+      this.$u.api
+        .getOrderInfo({
+          orderId
+        })
+        .then((res) => {
+          if (res.code === 200) {
+            if (res.data.payStatus === 1 || res.data.payStatus === 3) {
+              this.loadingMask = false;
+              clearInterval(this.timer);
+              this.handleGetOrderinfo(this.orderId);
+            }
+          } else {
+            this.$refs.uToast.show({
+              title: res.msg,
+              type: 'error'
+            });
+            this.loadingMask = false;
+            clearInterval(this.timer);
+          }
+        })
+        .catch(() => {
+          this.loadingMask = false;
+          clearInterval(this.timer);
+        });
+    },
+    goPay(orderId) {
+      this.orderList = [];
+      this.orderList.push(orderId);
+      if (this.orderList.length > 0) {
+        this.payWayPop = true;
+      } else {
+        this.$refs.uToast.show({
+          title: '当前订单编号不存在,请重新进入当前页面!',
+          type: 'warning'
+        });
+      }
+    },
+    /**
+     * 关闭支付方式弹框
+     * */
+    closePaymentMethod() {
+      this.payWayPop = false;
+    }
+  },
+  filters: {
+    verifyPaySource(value) {
+      if (value === 0) {
+        return '现金支付';
+      } else if (value === 1) {
+        return '微信支付';
+      } else if (value === 2) {
+        return '支付宝支付';
+      } else if (value === 3) {
+        return '贵州银行快捷支付';
+      } else if (value === 4) {
+        return '贵州银行扫码支付';
+      } else if (value === 5) {
+        return '贵州银行被扫支付';
+      } else if (value === 6) {
+        return '贵州银行无感支付';
+      } else {
+        return '';
+      }
+    }
+  },
+  destroyed() {
+    if (this.timer) {
+      clearInterval(this.timer);
+    }
+  }
+};
 </script>
 
 <style lang="scss" scoped>
-	@import "./orderDetails.scss";
+@import './orderDetails.scss';
 </style>

+ 319 - 317
pages/payLists/payLists.vue

@@ -1,332 +1,334 @@
 <template>
-	<view>
-		<u-navbar title-color="#fff" :custom-back="customBack" :bpay-bottom="false" back-icon-color="#CCE8FF"
-			:background="{background: '#008CFF' }" title="停车缴费"></u-navbar>
-		<mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback">
-			<scroll-view scroll-y style="height: 100%; width: 100%;">
-				<view class="page-box">
-					<view class="pay" v-for="(payItem, index) in  payList" :key="payItem.id">
-						<view class="pay-top u-flex">
-							<view class="pay-top-left u-flex-1">
-								<view class="car">{{payItem.vehicleNo}}</view>
-								<view class="addr">{{payItem.roadName}}</view>
-							</view>
-							<view class="pay-top-right">{{ payItem.orderStatus | filterOrderStatus }}</view>
-						</view>
-						<view class="pay-center">
-							<view class="pay-center-item">订单编号:{{payItem.orderId}}</view>
-							<view class="pay-center-item" v-if="payItem.deviceType == 1">入场时间:{{payItem.inTime || ''}}
-							</view>
-							<view class="pay-center-item" v-else>开始计费:{{payItem.inTime || ''}}</view>
-							<template v-if="payItem.deviceType == 1">
-								<view class="pay-center-item" v-if="payItem.orderStatus == 1 && payItem.outTime">
-									出场时间:{{ `未出场` }}</view>
-								<view class="pay-center-item" v-if="payItem.orderStatus !== 1">
-									出场时间:{{ payItem.outTime }}</view>
-							</template>
-							<template v-else>
-								<view class="pay-center-item" v-if="payItem.orderStatus == 1 && payItem.outTime">
-									结束计费:{{ `未出场` }}</view>
-								<view class="pay-center-item" v-if="payItem.orderStatus !== 1">
-									结束计费:{{ payItem.outTime }}</view>
-							</template>
-							<!-- <view class="pay-center-item">停车泊位:{{payItem.spaceName}}</view>
-							<view class="pay-center-item">入场时间:{{payItem.inTime || 0}}</view>
-							<view class="pay-center-item" v-if="payItem.orderStatus !== 1">出场时间:{{payItem.outTime || 0}}
-							</view>
-							<view class="pay-center-item" v-if="payItem.orderStatus !== 1">停车时长:{{payItem.duration || 0}}
-							</view> -->
-							<!-- <view class="pay-center-item" v-if="payItem.orderStatus !== 1">
-								免费时长:{{ payItem.deviceType == 1 ? payItem.freeDuration : (new Date(payItem.createTime).valueOf() < new Date('2022-06-20 00:00:00').valueOf() ? '0天0时15分0秒' : '0天0时30分0秒') }}
-							</view> -->
-							<view class="pay-center-item" v-if="payItem.orderStatus !== 1">
-								免费时长:{{ payItem.freeDuration }}
-							</view>
-							<!-- 计费时长=停车时长-免费时长 -->
-							<view class="pay-center-item" v-if="payItem.orderStatus !== 1">
-								计费时长:{{payItem.calcDuration || 0}}
-							</view>
-							<view class="pay-center-item" v-if="payItem.orderStatus !== 1">
-								累计停车时长:{{payItem.duration || 0}}
-							</view>
-							<view class="pay-center-item" v-if="payItem.orderStatus == 1">预计金额:<span
-									class="pay-amount">{{payItem.payAmount || 0}}</span>
-							</view>
-							<view class="pay-center-item" v-else>应付金额:<span
-									class="pay-amount">{{payItem.payAmount || 0}}</span>
-							</view>
-							<view class="pay-center-item"
-								v-if="(payItem.actualAmount || payItem.actualAmount === 0) && payItem.orderStatus !== 2 && payItem.orderStatus !== 1">
-								实缴金额:<span class="pay-amount">{{ payItem.actualAmount || 0}}</span>
-							</view>
-							<view class="pay-center-item">泊位号:{{payItem.spaceName}}</view>
-							<view class="pay-center-item" v-if="payItem.deviceType && payItem.deviceType != 1">
-								车位锁设备号:{{payItem.deviceNo}}
-							</view>
-						</view>
-						<view class="pay-bottom">
-							<u-cell-item title="去支付" @click="choosePayWay(payItem.orderId)" style="color: #008CFF;">
-							</u-cell-item>
-						</view>
-					</view>
-				</view>
-			</scroll-view>
-		</mescroll-body>
-		<view class="bottom">
-			<view class="bottom-total">
-				累计欠费<span class="total">{{totalCount}}</span>笔,合计<span class="total">{{totalPayAmount}}</span>元
-			</view>
-			<view class="button-wrap" v-if="payList.length&&payList.length>=1">
-				<!-- <button class="button" type="primary" @click="all()">全部缴费</button> -->
-				<button class="button" type="primary" @click="confirmPrice()">全部缴费</button>
-			</view>
-		</view>
+  <view>
+    <u-navbar
+      title-color="#fff"
+      :custom-back="customBack"
+      :bpay-bottom="false"
+      back-icon-color="#CCE8FF"
+      :background="{ background: '#008CFF' }"
+      title="停车缴费"
+    ></u-navbar>
+    <mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback">
+      <scroll-view scroll-y style="height: 100%; width: 100%">
+        <view class="page-box">
+          <view class="pay" v-for="(payItem, index) in payList" :key="payItem.id">
+            <view class="pay-top u-flex">
+              <view class="pay-top-left u-flex-1">
+                <view class="car">{{ payItem.vehicleNo }}</view>
+                <view class="addr">{{ payItem.roadName }}</view>
+              </view>
+              <view class="pay-top-right">{{ payItem.orderStatus | filterOrderStatus }}</view>
+            </view>
+            <view class="pay-center">
+              <view class="pay-center-item">订单编号:{{ payItem.orderId }}</view>
+              <view class="pay-center-item" v-if="payItem.deviceType == 1">入场时间:{{ payItem.inTime || '' }} </view>
+              <view class="pay-center-item" v-else>开始计费:{{ payItem.inTime || '' }}</view>
+              <template v-if="payItem.deviceType == 1">
+                <view class="pay-center-item" v-if="payItem.orderStatus == 1 && payItem.outTime"> 出场时间:{{ `未出场` }}</view>
+                <view class="pay-center-item" v-if="payItem.orderStatus !== 1"> 出场时间:{{ payItem.outTime }}</view>
+              </template>
+              <template v-else>
+                <view class="pay-center-item" v-if="payItem.orderStatus == 1 && payItem.outTime"> 结束计费:{{ `未出场` }}</view>
+                <view class="pay-center-item" v-if="payItem.orderStatus !== 1"> 结束计费:{{ payItem.outTime }}</view>
+              </template>
+              <view class="pay-center-item" v-if="payItem.orderStatus !== 1"> 免费时长:{{ payItem.freeDuration }} </view>
+              <!-- 计费时长=停车时长-免费时长 -->
+              <view class="pay-center-item" v-if="payItem.orderStatus !== 1"> 计费时长:{{ payItem.calcDuration || 0 }} </view>
+              <view class="pay-center-item" v-if="payItem.orderStatus !== 1"> 累计停车时长:{{ payItem.duration || 0 }} </view>
+              <view class="pay-center-item" v-if="payItem.orderStatus == 1"
+                >预计金额:<span class="pay-amount">{{ payItem.payAmount || 0 }}</span>
+              </view>
+              <view class="pay-center-item" v-else
+                >应付金额:<span class="pay-amount">{{ payItem.payAmount || 0 }}</span>
+              </view>
+              <view
+                class="pay-center-item"
+                v-if="(payItem.actualAmount || payItem.actualAmount === 0) && payItem.orderStatus !== 2 && payItem.orderStatus !== 1"
+              >
+                实缴金额:<span class="pay-amount">{{ payItem.actualAmount || 0 }}</span>
+              </view>
+              <view class="pay-center-item">泊位号:{{ payItem.spaceName }}</view>
+              <view class="pay-center-item" v-if="payItem.deviceType && payItem.deviceType != 1"> 车位锁设备号:{{ payItem.deviceNo }} </view>
+            </view>
+            <view class="pay-bottom">
+              <u-cell-item title="去支付" @click="choosePayWay(payItem.orderId)" style="color: #008cff"> </u-cell-item>
+            </view>
+          </view>
+        </view>
+      </scroll-view>
+    </mescroll-body>
+    <view class="bottom">
+      <view class="bottom-total">
+        累计欠费<span class="total">{{ totalCount }}</span
+        >笔,合计<span class="total">{{ totalPayAmount }}</span
+        >元
+      </view>
+      <view class="button-wrap" v-if="payList.length && payList.length >= 1">
+        <!-- <button class="button" type="primary" @click="all()">全部缴费</button> -->
+        <button class="button" type="primary" @click="confirmPrice()">全部缴费</button>
+      </view>
+    </view>
 
-		<!-- 缴费提示-->
-		<u-modal v-model="payTipsPop" :title-style="{color: '#404040'}" title="缴费提示" :show-confirm-button="true"
-			confirm-text="立即缴费" :confirm-style="{backgroundColor: '#3397FA', color: '#fff'}" :show-cancel-button="true"
-			cancel-text="取消" :cancel-style="{backgroundColor: '#EBF1FF', color: '#3397FA'}"
-			@confirm="payTipsPopConfirm">
-			<view class="slot-content">
-				<view class="pay-tips">
-					<text>{{payTipsItem.num || 0}}</text>场停车欠费,共
-					<text>{{payTipsItem.price || 0}}</text>元
-				</view>
-			</view>
-		</u-modal>
-		<!-- 支付方式 -->
-		<PaymentMethod :payWayPop="payWayPop" :curOrderList="currentItem" :jumpUrl="jumpUrl"
-			@closePaymentMethod="closePaymentMethod"></PaymentMethod>
-		<u-toast ref="uToast" />
-	</view>
+    <!-- 缴费提示-->
+    <u-modal
+      v-model="payTipsPop"
+      :title-style="{ color: '#404040' }"
+      title="缴费提示"
+      :show-confirm-button="true"
+      confirm-text="立即缴费"
+      :confirm-style="{ backgroundColor: '#3397FA', color: '#fff' }"
+      :show-cancel-button="true"
+      cancel-text="取消"
+      :cancel-style="{ backgroundColor: '#EBF1FF', color: '#3397FA' }"
+      @confirm="payTipsPopConfirm"
+    >
+      <view class="slot-content">
+        <view class="pay-tips">
+          <text>{{ payTipsItem.num || 0 }}</text
+          >场停车欠费,共 <text>{{ payTipsItem.price || 0 }}</text
+          >元
+        </view>
+      </view>
+    </u-modal>
+    <!-- 支付方式 -->
+    <PaymentMethod :payWayPop="payWayPop" :curOrderList="currentItem" :jumpUrl="jumpUrl" @closePaymentMethod="closePaymentMethod"></PaymentMethod>
+    <u-toast ref="uToast" />
+  </view>
 </template>
 
 <script>
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	import getUrlParams from "../../utils/getUrlParams.js";
-	import PaymentMethod from '@/pages/paymentMethod/paymentMethod.vue'
-	export default {
-		mixins: [MescrollMixin], // 使用mixin
-		components: {
-			PaymentMethod
-		},
-		data() {
-			return {
-				totalPayAmount: '',
-				totalCount: '',
-				currentPayUrl: "",
-				payList: [],
-				list: [],
-				orderList: [],
-				PayUrl: "",
-				payTipsPop: false,
-				payWayPop: false,
-				// 选中去支付的单条条目
-				currentItem: [],
-				// 缴费提示类目
-				payTipsItem: {
-					num: '',
-					price: ''
-				},
-				code: null,
-				jumpUrl: ''
-			};
-		},
-		computed: {
-			// 价格小数
-			priceDecimal() {
-				return val => {
-					if (val !== parseInt(val)) return val.slice(-2);
-					else return '00';
-				};
-			},
-			// 价格整数
-			priceInt() {
-				return val => {
-					if (val !== parseInt(val)) return val.split('.')[0];
-					else return val;
-				};
-			}
-		},
-		onLoad() {
-			const href = location.href.split('#')
-			this.jumpUrl = href[0] + '#/pages/center/order/order'
-		},
-		onShow() {
-			// onShow 刷新数据
-			if (this.mescroll) {
-				this.mescroll.triggerDownScroll();
-			}
+import MescrollMixin from '@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js';
+import getUrlParams from '../../utils/getUrlParams.js';
+import PaymentMethod from '@/pages/paymentMethod/paymentMethod.vue';
+export default {
+  mixins: [MescrollMixin], // 使用mixin
+  components: {
+    PaymentMethod
+  },
+  data() {
+    return {
+      totalPayAmount: '',
+      totalCount: '',
+      currentPayUrl: '',
+      payList: [],
+      list: [],
+      orderList: [],
+      PayUrl: '',
+      payTipsPop: false,
+      payWayPop: false,
+      // 选中去支付的单条条目
+      currentItem: [],
+      // 缴费提示类目
+      payTipsItem: {
+        num: '',
+        price: ''
+      },
+      code: null,
+      jumpUrl: ''
+    };
+  },
+  computed: {
+    // 价格小数
+    priceDecimal() {
+      return (val) => {
+        if (val !== parseInt(val)) return val.slice(-2);
+        else return '00';
+      };
+    },
+    // 价格整数
+    priceInt() {
+      return (val) => {
+        if (val !== parseInt(val)) return val.split('.')[0];
+        else return val;
+      };
+    }
+  },
+  onLoad() {
+    const href = location.href.split('#');
+    this.jumpUrl = href[0] + '#/pages/center/order/order';
+  },
+  onShow() {
+    // onShow 刷新数据
+    if (this.mescroll) {
+      this.mescroll.triggerDownScroll();
+    }
+  },
+  methods: {
+    customBack() {
+      this.$u.route({
+        type: 'switchTab',
+        url: 'pages/index/index'
+      });
+    },
+    /*下拉刷新的回调*/
+    downCallback() {
+      // 第2种: 下拉刷新和上拉加载调同样的接口, 则不用第1种, 直接mescroll.resetUpScroll()即可
+      this.mescroll.resetUpScroll(); // 重置列表为第一页 (自动执行 page.num=1, 再触发upCallback方法 )
+    },
+    /*上拉加载的回调*/
+    upCallback(page) {
+      let pageNum = page.num; // 页码, 默认从1开始
+      let pageSize = page.size; // 页长, 默认每页10条
+      // this.getMessageList()
+      this.$u.api
+        .getOrderList({
+          pageSize: pageSize,
+          pageNum: pageNum,
+          paying: true
+        })
+        .then((res) => {
+          // 接口返回的当前页数据列表 (数组)
+          let curPageData = res.data.pageInfo.rows;
+          // 接口返回的当前页数据长度 (如列表有26个数据,当前页返回8个,则curPageLen=8)
+          let curPageLen = curPageData.length;
+          // 接口返回的总页数 (如列表有26个数据,每页10条,共3页; 则totalPage=3)
+          let totalPage = res.data.pageInfo.pages;
+          // 接口返回的总数据量(如列表有26个数据,每页10条,共3页; 则totalSize=26)
+          let totalSize = res.data.pageInfo.total;
+          // 接口返回的是否有下一页 (true/false)
+          // let hasNext = data.pages;
 
-		},
-		methods: {
-			customBack() {
-				this.$u.route({
-					type: 'switchTab',
-					url: 'pages/index/index'
-				});
-			},
-			/*下拉刷新的回调*/
-			downCallback() {
-				// 第2种: 下拉刷新和上拉加载调同样的接口, 则不用第1种, 直接mescroll.resetUpScroll()即可
-				this.mescroll.resetUpScroll(); // 重置列表为第一页 (自动执行 page.num=1, 再触发upCallback方法 )
-			},
-			/*上拉加载的回调*/
-			upCallback(page) {
-				let pageNum = page.num; // 页码, 默认从1开始
-				let pageSize = page.size; // 页长, 默认每页10条
-				// this.getMessageList()
-				this.$u.api.getOrderList({
-						pageSize: pageSize,
-						pageNum: pageNum,
-						paying: true
-					})
-					.then(res => {
-						// 接口返回的当前页数据列表 (数组)
-						let curPageData = res.data.pageInfo.rows;
-						// 接口返回的当前页数据长度 (如列表有26个数据,当前页返回8个,则curPageLen=8)
-						let curPageLen = curPageData.length;
-						// 接口返回的总页数 (如列表有26个数据,每页10条,共3页; 则totalPage=3)
-						let totalPage = res.data.pageInfo.pages;
-						// 接口返回的总数据量(如列表有26个数据,每页10条,共3页; 则totalSize=26)
-						let totalSize = res.data.pageInfo.total;
-						// 接口返回的是否有下一页 (true/false)
-						// let hasNext = data.pages; 
+          //设置列表数据
+          if (page.num == 1) this.payList = []; //如果是第一页需手动置空列表
+          this.payList = this.payList.concat(curPageData); //追加新数据
+          this.totalCount = res.data.costInfo.totalCount;
+          this.totalPayAmount = res.data.costInfo.totalPayAmount;
+          // 请求成功,隐藏加载状态
+          //方法一(推荐): 后台接口有返回列表的总页数 totalPage
+          this.mescroll.endByPage(curPageLen, totalPage);
+          setTimeout(() => {
+            this.mescroll.endSuccess(curPageLen);
+          }, 20);
+        })
+        .catch((err) => {
+          this.$refs.uToast.show({
+            title: err.msg,
+            type: 'error'
+          });
+        });
+    },
+    paythis(orderId) {
+      let orderList = [];
+      orderList.push(orderId);
+      this.$u.api
+        .payGzbank({
+          orderList: orderList
+        })
+        .then((res) => {
+          let payUrl = res.data.url;
+          this.currentPayUrl = encodeURIComponent(res.data.url);
+          // return;
+          this.$u.route({
+            url: 'pages/payLists/pay',
+            params: {
+              currentPayUrl: this.currentPayUrl
+            }
+          });
+        })
+        .catch((err) => {
+          this.$refs.uToast.show({
+            title: err.msg,
+            type: 'error'
+          });
+        });
+    },
+    all() {
+      this.payList.forEach((item, index, arr) => {
+        console.log(item);
+        if (item.orderId) {
+          this.orderList.push(item.orderId);
+        }
+      });
 
-						//设置列表数据
-						if (page.num == 1) this.payList = []; //如果是第一页需手动置空列表
-						this.payList = this.payList.concat(curPageData); //追加新数据
-						this.totalCount = res.data.costInfo.totalCount;
-						this.totalPayAmount = res.data.costInfo.totalPayAmount;
-						// 请求成功,隐藏加载状态
-						//方法一(推荐): 后台接口有返回列表的总页数 totalPage
-						this.mescroll.endByPage(curPageLen, totalPage);
-						setTimeout(() => {
-							this.mescroll.endSuccess(curPageLen)
-						}, 20)
-					}).catch(err => {
-						this.$refs.uToast.show({
-							title: err.msg,
-							type: 'error',
-						});
-					});
-
-			},
-			paythis(orderId) {
-				let orderList = [];
-				orderList.push(orderId);
-				this.$u.api.payGzbank({
-					orderList: orderList
-				}).then(res => {
-					let payUrl = res.data.url;
-					this.currentPayUrl = encodeURIComponent(res.data.url);
-					// return;
-					this.$u.route({
-						url: 'pages/payLists/pay',
-						params: {
-							currentPayUrl: this.currentPayUrl
-						}
-					});
-				}).catch(err => {
-					this.$refs.uToast.show({
-						title: err.msg,
-						type: 'error',
-					});
-				});
-			},
-			all() {
-				this.payList.forEach((item, index, arr) => {
-					console.log(item)
-					if (item.orderId) {
-						this.orderList.push(item.orderId)
-					}
-				});
-
-				this.$u.api.payGzbank({
-					orderList: this.orderList
-				}).then(res => {
-					let payUrl = res.data.url;
-					this.currentPayUrl = encodeURIComponent(res.data.url);
-					// console.log('this.currentPayUrl',this.currentPayUrl);
-					// return;
-					this.$u.route({
-						url: 'pages/payLists/pay',
-						params: {
-							currentPayUrl: this.currentPayUrl
-						}
-					});
-				}).catch(err => {
-					this.$refs.uToast.show({
-						title: err.msg,
-						type: 'error',
-					});
-				});
-			},
-			// 去支付,选择支付方式
-			choosePayWay(item) {
-				this.currentItem = []
-				this.currentItem.push(item)
-				this.payWayPop = true
-			},
-			// 全部缴费确认
-			confirmPrice() {
-				let orderNum = 0,
-					price = 0
-				this.currentItem = []
-				this.payList.forEach(item => {
-					if (item.orderStatus !== 4 && item.payStatus !== 1) {
-						price += Number(item.payAmount)
-						orderNum++
-						this.currentItem.push(item.orderId)
-					}
-				})
-				this.payTipsItem.num = orderNum
-				this.payTipsItem.price = price.toFixed(2)
-				if (orderNum !== 0 && price !== 0) {
-					this.payTipsPop = true
-				} else {
-					this.$refs.uToast.show({
-						title: '没有需要支付的订单',
-						type: 'warning'
-					})
-				}
-			},
-			// 缴费提示弹框确认
-			payTipsPopConfirm() {
-				this.payWayPop = true
-			},
-			handleGetOrderinfo(orderId) {
-				this.$u.api.getOrderinfo({
-						id: orderId
-					})
-					.then(res => {
-						this.orderInfo = res.data;
-						console.log('handleGetOrderinfo', JSON.parse(JSON.stringify(res)));
-					}).catch(err => {
-						this.$refs.uToast.show({
-							title: err.msg,
-							type: 'error',
-						});
-					});
-
-			},
-			closePaymentMethod() {
-				this.payWayPop = false
-			}
-		}
-	};
+      this.$u.api
+        .payGzbank({
+          orderList: this.orderList
+        })
+        .then((res) => {
+          let payUrl = res.data.url;
+          this.currentPayUrl = encodeURIComponent(res.data.url);
+          // console.log('this.currentPayUrl',this.currentPayUrl);
+          // return;
+          this.$u.route({
+            url: 'pages/payLists/pay',
+            params: {
+              currentPayUrl: this.currentPayUrl
+            }
+          });
+        })
+        .catch((err) => {
+          this.$refs.uToast.show({
+            title: err.msg,
+            type: 'error'
+          });
+        });
+    },
+    // 去支付,选择支付方式
+    choosePayWay(item) {
+      this.currentItem = [];
+      this.currentItem.push(item);
+      this.payWayPop = true;
+    },
+    // 全部缴费确认
+    confirmPrice() {
+      let orderNum = 0,
+        price = 0;
+      this.currentItem = [];
+      this.payList.forEach((item) => {
+        if (item.orderStatus !== 4 && item.payStatus !== 1) {
+          price += Number(item.payAmount);
+          orderNum++;
+          this.currentItem.push(item.orderId);
+        }
+      });
+      this.payTipsItem.num = orderNum;
+      this.payTipsItem.price = price.toFixed(2);
+      if (orderNum !== 0 && price !== 0) {
+        this.payTipsPop = true;
+      } else {
+        this.$refs.uToast.show({
+          title: '没有需要支付的订单',
+          type: 'warning'
+        });
+      }
+    },
+    // 缴费提示弹框确认
+    payTipsPopConfirm() {
+      this.payWayPop = true;
+    },
+    handleGetOrderinfo(orderId) {
+      this.$u.api
+        .getOrderinfo({
+          id: orderId
+        })
+        .then((res) => {
+          this.orderInfo = res.data;
+          console.log('handleGetOrderinfo', JSON.parse(JSON.stringify(res)));
+        })
+        .catch((err) => {
+          this.$refs.uToast.show({
+            title: err.msg,
+            type: 'error'
+          });
+        });
+    },
+    closePaymentMethod() {
+      this.payWayPop = false;
+    }
+  }
+};
 </script>
 
 <style>
-	/* #ifndef H5 */
-	page {
-		height: 100%;
-		background-color: #F6F6FF;
-	}
+/* #ifndef H5 */
+page {
+  height: 100%;
+  background-color: #f6f6ff;
+}
 
-	/* #endif */
+/* #endif */
 </style>
 
 <style lang="scss" scoped>
-	@import "./payLists.scss";
+@import './payLists.scss';
 </style>

+ 20 - 0
static/img/type-current.svg

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="116px" height="116px" viewBox="0 0 116 116" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>编组</title>
+    <defs>
+        <circle id="path-1" cx="46" cy="46" r="46"></circle>
+        <filter x="-19.6%" y="-19.6%" width="139.1%" height="139.1%" filterUnits="objectBoundingBox" id="filter-2">
+            <feOffset dx="0" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+            <feGaussianBlur stdDeviation="6" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+            <feColorMatrix values="0 0 0 0 0   0 0 0 0 0.549019608   0 0 0 0 1  0 0 0 0.261746066 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+        </filter>
+    </defs>
+    <g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="停车列表" transform="translate(-581.000000, -1409.000000)">
+            <g id="椭圆形备份" transform="translate(593.000000, 1421.000000)">
+                <use fill="black" fill-opacity="1" filter="url(#filter-2)" xlink:href="#path-1"></use>
+                <use fill="#008CFF" fill-rule="evenodd" xlink:href="#path-1"></use>
+            </g>
+        </g>
+    </g>
+</svg>

+ 20 - 0
static/img/type-not-current.svg

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="116px" height="116px" viewBox="0 0 116 116" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>编组 4</title>
+    <defs>
+        <circle id="path-1" cx="46" cy="46" r="46"></circle>
+        <filter x="-19.6%" y="-19.6%" width="139.1%" height="139.1%" filterUnits="objectBoundingBox" id="filter-2">
+            <feOffset dx="0" dy="0" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
+            <feGaussianBlur stdDeviation="6" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
+            <feColorMatrix values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.17 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
+        </filter>
+    </defs>
+    <g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="停车列表" transform="translate(-581.000000, -1529.000000)">
+            <g id="椭圆形" transform="translate(593.000000, 1541.000000)">
+                <use fill="black" fill-opacity="1" filter="url(#filter-2)" xlink:href="#path-1"></use>
+                <use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-1"></use>
+            </g>
+        </g>
+    </g>
+</svg>