From d81915d73a29e0595c1638c1344a141b28d19967 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 20 十二月 2023 14:40:37 +0800
Subject: [PATCH] Mr.Shi

---
 bicycle/pages/index/index.vue |  548 +++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 372 insertions(+), 176 deletions(-)

diff --git a/bicycle/pages/index/index.vue b/bicycle/pages/index/index.vue
index cef1f8d..f511ca6 100644
--- a/bicycle/pages/index/index.vue
+++ b/bicycle/pages/index/index.vue
@@ -3,15 +3,22 @@
 		<view class="index_nav"
 			:style="{ height: 'calc(' + (statusbarHeight + navHeight) + 'px' + ' + ' + '224rpx' + ')' }">
 			<view class="index_nav_a" :style="{ height: statusbarHeight + 'px' }"></view>
-			<view class="index_nav_b" :style="{ height: navHeight + 'px', lineHeight: navHeight + 'px' }">
-				<text>鍗拌薄婊ㄦ箹鑷杞�</text>
+			<view :style="{ height: navHeight + 'px' }"></view>
+			<view class="index_nav_box" :style="{ background: top > 0 ? '#9AE2DF' : 'rgba(0,0,0,0)' }">
+				<view class="index_nav_a" :style="{ height: statusbarHeight + 'px' }"></view>
+				<view :style="{ height: navHeight + 'px' }"></view>
+				<view class="index_nav_b" :style="{ height: navHeight + 'px', lineHeight: navHeight + 'px', top: statusbarHeight + 'px' }">
+					<text>鍗拌薄婊ㄦ箹瓒e懗鑷杞�</text>
+				</view>
 			</view>
 			<view class="index_box">
 				<view class="index_box_map">
-					<map class="map" :markers="markers" :latitude="latitude" :longitude="longitude" />
-					<image src="@/static/icon/ic_fullscreen@2x.png" mode="widthFix"></image>
+					<map class="map" :show-location="true" :markers="markers" :latitude="latitude" :longitude="longitude" />
+					<view class="index_box_icon" @click="jumpMap">
+						<image src="@/static/icon/ic_fullscreen@2x.png" mode="widthFix"></image>
+					</view>
 				</view>
-				<view class="index_box_title" :style="{ backgroundImage: 'url(' + bgImg + ')' }">
+				<view class="index_box_title">
 					<view class="index_box_title_left">
 						<text>{{info.parkName}}</text>
 						<text>鏈嶅姟鐢佃瘽锛歿{info.serverPhone}}</text>
@@ -20,18 +27,23 @@
 					</image>
 				</view>
 				<view class="index_box_function">
-					<view class="fx1 cXYC" v-for="(item, index) in functionList" :key="index" @click="jump(item)">
+					<view class="cXYC" v-for="(item, index) in functionList" :key="index" @click="jump(item)">
 						<image class="img80" :src="item.icon" mode="widthFix"></image>
-						<text class="f26 b c3 mt10">{{item.name}}</text>
+						<text class="f26 c3 mt10">{{item.name}}</text>
 					</view>
 				</view>
-				<view class="index_box_poster">
+				<view class="index_box_poster" @click="jumpX">
 					<image class="imgfull" :src="info.leaseNoticeUrl" mode="widthFix"></image>
 				</view>
 				<view class="index_box_video" v-if="info.leaseVideoUrl">
 					<video class="img100b" :src="info.leaseVideoUrl" enable-danmu danmu-btn controls></video>
 				</view>
-				<view class="index_zw"></view>
+				<view style="width: 100%; height: calc(env(safe-area-inset-bottom) + 600rpx);" v-if="show5"></view>
+				<view style="width: 100%; height: calc(env(safe-area-inset-bottom) + 660rpx);" v-if="show6"></view>
+				<view style="width: 100%; height: calc(env(safe-area-inset-bottom) + 660rpx);" v-else-if="show2"></view>
+				<view style="width: 100%; height: calc(env(safe-area-inset-bottom) + 580rpx);" v-else-if="show1"></view>
+				<view style="width: 100%; height: calc(env(safe-area-inset-bottom) + 500rpx);" v-else-if="show3"></view>
+				<view class="index_zw1" v-else></view>
 			</view>
 		</view>
 		<view class="index_scancode">
@@ -47,17 +59,7 @@
 			<view class="index_scancode_bottom" @click="carRental" v-else>鎵爜绉熻溅</view>
 			<view class="index_scancode_zw"></view>
 		</view>
-		<!-- 骞垮憡 -->
-		<u-popup :show="show" mode="center" bgColor="transparent" :round="10" @close="show = false">
-			<view class="popupbox">
-				<view class="advertisement">
-					<image :src="info.adList[0].imgurl" mode="widthFix"></image>
-				</view>
-				<image class="close" @click="show = false" src="@/static/images/ic_close@2x.png" mode="widthFix">
-				</image>
-			</view>
-		</u-popup>
-		<!-- 缂寸撼鎶奸噾 -->
+		<!-- 缂寸撼鎶奸噾 --> 
 		<u-popup :show="show1" :closeOnClickOverlay="false" mode="bottom" bgColor="#fff" :round="10"
 			@close="show1 = false">
 			<view class="deposit">
@@ -70,7 +72,7 @@
 					<image src="@/static/icon/ic_select@2x.png" mode="widthFix" v-if="!active"></image>
 					<image src="@/static/icon/ic_selected@2x.png" mode="widthFix" v-else></image>
 					<view class="deposit_read_z">
-						鎴戝凡闃呰<text>銆婄璧侀』鐭ャ��</text>鍜�<text @click.stop="jumpgz">銆婅浠疯鍒欍��</text>
+						鎴戝凡闃呰<text @click.stop="jumpX">銆婄璧侀』鐭ャ��</text>鍜�<text @click.stop="jumpgz">銆婅浠疯鍒欍��</text>
 					</view>
 				</view>
 				<view class="deposit_footer">
@@ -81,7 +83,7 @@
 		</u-popup>
 		<!-- 寮�閿� -->
 		<u-popup :show="show5" :closeOnClickOverlay="false" mode="bottom" bgColor="#fff" :round="10"
-			@close="show1 = false">
+			@close="show5 = false">
 			<view class="loading">
 				<view class="loading_box">
 					<view class="loading_box_top">
@@ -90,14 +92,14 @@
 					</view>
 					<view class="loading_box_info">璇锋寜鐓т氦瑙勮椹�</view>
 				</view>
-				<view class="loading_box_err" @click="toFaultReporting">
+				<!-- <view class="loading_box_err" @click="toFaultReporting">
 					<image src="@/static/icon/ic_guzhang@2x.png" mode="widthFix"></image>
 					<text>杞﹁締鏁呴殰涓婃姤</text>
-				</view>
+				</view> -->
 			</view>
 		</u-popup>
 		<!-- 楠戣涓� -->
-		<u-popup :show="show2" :closeOnClickOverlay="false" mode="bottom" bgColor="#fff" :round="10"
+		<u-popup :show="show2" :overlay="false" overlayOpacity="0" :closeOnClickOverlay="false" mode="bottom" bgColor="#fff" :round="10"
 			@close="show2 = false">
 			<view class="ride">
 				<view class="ride_head">
@@ -116,16 +118,16 @@
 				</view>
 				<view class="ride_content" v-if="info.memberRidesResponse">
 					<view class="ride_content_a">
-						<text>寮�濮嬫椂闂达細{{info.memberRidesResponse.rideStartTime.substring(10, 16)}}</text>
-						<text>鏈宸查獞琛岋細{{(info.memberRidesResponse.rideTime / 60).toFixed(1)}}鍒嗛挓</text>
+						<text>寮�濮嬫椂闂达細{{info.memberRidesResponse.rideStartTimeStr}}</text>
+						<text>鏈宸查獞琛岋細{{info.memberRidesResponse.rideTime}}鍒嗛挓</text>
 					</view>
 					<view class="ride_content_b">
 						<text>杞﹀瀷锛歿{info.memberRidesResponse.bikeType}}锛堢紪鍙凤細{{info.memberRidesResponse.bikeCode}}锛�</text>
-						<text>璁¤垂瑙勫垯锛氳捣绉焮{(info.memberRidesResponse.baseTime / 60 ).toFixed(1)}}灏忔椂{{(info.memberRidesResponse.basePrice / 100).toFixed(2)}}鍏冿紝瓒呰繃鍚巤{(info.memberRidesResponse.unitPrice / 100).toFixed(2)}}鍏�/{{info.memberRidesResponse.unitTime}}鍒嗛挓</text>
+						<text>{{info.memberRidesResponse.priceRole}}</text>
 					</view>
 					<view class="ride_content_info">
 						<image src="@/static/icon/ic_tip@2x.png" mode="widthFix"></image>
-						<text>鏀寔涓�旇繕杞︼紝楠戣鏃堕棿鑷姩绱锛屽鏇存崲杞﹀瀷锛屾寜鎵�鍙栬溅杈嗕腑鏈�楂樿溅鍨嬭璐�</text>
+						<text v-if="info.tips">{{info.tips}}</text>
 					</view>
 				</view>
 				<view class="ride_btn" @click="navigationReturn">瀵艰埅鑷冲洯鍖虹珯杩樿溅鐐�</view>
@@ -136,7 +138,7 @@
 			</view>
 		</u-popup>
 		<!-- 宸茶繕杞� -->
-		<u-popup :show="show6" :closeOnClickOverlay="false" mode="bottom" bgColor="#fff" :round="10"
+		<u-popup :show="show6" :overlay="false" overlayOpacity="0" :closeOnClickOverlay="false" mode="bottom" bgColor="#fff" :round="10"
 			@close="show6 = false">
 			<view class="ride">
 				<view class="ride_head">
@@ -155,15 +157,15 @@
 				</view>
 				<view class="ride_content" v-if="info.memberRidesResponse">
 					<view class="ride_content_a">
-						<text>鏈�鍚庨獞琛岋細{{info.memberRidesResponse.rideStartTime.substring(5, 16)}}~{{info.memberRidesResponse.rideEndTime.substring(11, 16)}}锛坽{info.memberRidesResponse.rideTime}}鍒嗛挓)</text>
+						<text>鏈�鍚庨獞琛岋細{{info.memberRidesResponse.rideStartTimeStr}}~{{info.memberRidesResponse.rideEndTimeStr}}锛坽{info.memberRidesResponse.rideTime}}鍒嗛挓)</text>
 					</view>
 					<view class="ride_content_b">
 						<text>杞﹀瀷锛歿{info.memberRidesResponse.bikeType}}锛堢紪鍙凤細{{info.memberRidesResponse.bikeCode}}锛�</text>
-						<text>璁¤垂瑙勫垯锛氳捣绉焮{(info.memberRidesResponse.baseTime / 60).toFixed(1)}}灏忔椂{{(info.memberRidesResponse.basePrice / 100).toFixed(2)}}鍏冿紝瓒呰繃鍚巤{(info.memberRidesResponse.unitPrice / 100).toFixed(2)}}鍏�/{{info.memberRidesResponse.unitTime}}鍒嗛挓</text>
+						<text>{{info.memberRidesResponse.priceRole}}</text>
 					</view>
 					<view class="ride_content_info">
 						<image src="@/static/icon/ic_tip@2x.png" mode="widthFix"></image>
-						<text>鏀寔涓�旇繕杞︼紝楠戣鏃堕棿鑷姩绱锛屽鏇存崲杞﹀瀷锛屾寜鎵�鍙栬溅杈嗕腑鏈�楂樿溅鍨嬭璐�</text>
+						<text v-if="info.tips">{{info.tips}}</text>
 					</view>
 				</view>
 				<view class="ride_btn" @click="carRental">鎵爜缁х画楠戣</view>
@@ -173,7 +175,7 @@
 			</view>
 		</u-popup>
 		<!-- 纭缁撶畻 -->
-		<u-popup :show="show3" :closeOnClickOverlay="false" mode="bottom" bgColor="#fff" :round="10" @close="show3 = false">
+		<u-popup :show="show3" :overlay="false" :closeOnClickOverlay="false" mode="bottom" bgColor="#fff" :round="10" @close="show3 = false">
 			<template>
 				<view class="deposit1">
 					<view class="deposit_text">
@@ -189,7 +191,19 @@
 			</template>
 		</u-popup>
 		<!-- 鎻愮ず -->
-		<u-modal :show="show4" :content='content' confirmColor="#01B6AD" @confirm="show4 = false"></u-modal>
+		<u-modal :show="show4" :title="title" :content='content' confirmColor="#01B6AD" @confirm="show4 = false"></u-modal>
+		<!-- 纭缁撶畻寮规 -->
+		<u-modal :show="show7" title="鎻愮ず" content='纭缁撶畻鍚楋紵' :showCancelButton="true" cancelText="鍙栨秷" @confirm="settlement1" @cancel="show7 = false"></u-modal>
+		<!-- 骞垮憡 -->
+		<u-popup :show="show" mode="center" :closeOnClickOverlay="false" overlayStyle="z-index: 10075;" bgColor="transparent" :round="10" @close="show = false">
+			<view class="popupbox">
+				<view class="advertisement">
+					<image :src="info.adList[0].imgfullurl" mode="widthFix"></image>
+				</view>
+				<image class="close" @click="show = false" src="@/static/images/ic_close@2x.png" mode="widthFix">
+				</image>
+			</view>
+		</u-popup>
 	</view>
 </template>
 
@@ -201,17 +215,23 @@
 	export default {
 		data() {
 			return {
+				disable: false,
+				
+				top: 0,
+				
+				title: '',
 				latitude: null,
 				longitude: null,
 				bgImg: require('@/static/images/bg_service@2x.png'),
 
-				show: false,
-				show1: false,
-				show2: false,
-				show3: false,
-				show4: false,
-				show5: false,
-				show6: false,
+				show: false,	// 骞垮憡
+				show1: false,	// 缂寸撼鎶奸噾
+				show2: false,	// 楠戣涓�
+				show3: false,	// 纭缁撶畻
+				show4: false,	// 鎻愮ず
+				show5: false,	// 寮�閿�
+				show6: false,	// 宸茶繕杞�
+				show7: false,	// 纭缁撶畻寮规
 
 				active: false,
 				
@@ -240,21 +260,38 @@
 				],
 
 				info: {},
-				content: ''
+				content: '',
+				
+				timer: null,
+				isDisabled: true
 			}
 		},
 		computed: {
 			...mapState(['navHeight', 'statusbarHeight', 'userInfo'])
 		},
-		async onLoad() {
+		async onLoad(options) {
 			if (JSON.stringify(this.userInfo) == '{}') {
 				await this.$onLaunched;
 			}
+			console.log(decodeURIComponent(options.scene))
 			this.getAddress()
 			this.getHomeInfo()
 			this.getSite()
 		},
+		onPageScroll(e) {
+			this.top = e.scrollTop
+		},
 		methods: {
+			jumpX() {
+				uni.navigateTo({
+					url: '/pages/leaseNotice/leaseNotice'
+				});
+			},
+			jumpMap() {
+				uni.navigateTo({
+					url: '/pages/maps/maps'
+				});
+			},
 			// 璁′环瑙勫垯
 			jumpgz() {
 				uni.navigateTo({
@@ -269,15 +306,13 @@
 							res.data.forEach((item, index) => {
 								this.markers.push({
 									id: index,
-									width: 30,
+									width: 40,
 									height: 40,
 									latitude: item.latitude,
 									longitude: item.longitude,
 									title: item.name,
 									iconPath: '/static/icon/ic_bike@2x.png',
-									addr: item.addr,
-									clusterId: 1,
-									joinCluster: true
+									addr: item.addr
 								})
 							})
 						}
@@ -285,22 +320,34 @@
 			},
 			// 缁撶畻
 			settlement1() {
-				this.$u.api.goodsOrderSettlement({
-					orderId: this.info.goodsOrderId
-				}).then(res => {
-					if (res.code === 200) {
-						uni.showToast({ title: '缁撶畻鎴愬姛锛�', icon: 'success', duration: 2000 });
-						this.info.rideStatus = -1
-						this.info.depositStatus = 0
+				if (this.isDisabled) {
+					this.isDisabled = false
+					this.$u.api.goodsOrderSettlement({}).then(res => {
+						if (res.code === 200) {
+							this.show3 = false
+							this.show6 = false
+							this.show7 = false
+							uni.showToast({ title: '缁撶畻鐢宠鎻愪氦鎴愬姛锛岃鑰愬績绛夊緟閫�娆撅紒', icon: 'success', duration: 2000 });
+							// this.refresh()
+						}
+					}).finally(() => {
+						this.refresh()
 						this.show3 = false
-					}
-				})
+						this.isDisabled = true
+					})
+				}
 			},
 			minute() {
 				this.show3 = false
-				this.show6 = true
+				if (this.info.rideStatus != -1) {
+					this.show6 = true
+				}
 			},
 			settlement() {
+				if (this.info.depositStatus === 2) {
+					uni.showToast({ title: '缁撶畻鐢宠鎻愪氦鎴愬姛锛岃鑰愬績绛夊緟閫�娆撅紒', icon: 'none', duration: 2000 });
+					return
+				}
 				this.show6 = false
 				this.show3 = true
 			},
@@ -311,7 +358,8 @@
 				});
 			},
 			// 璺宠浆
-			jump(item) {
+			async jump(item) {
+				await this.refresh()
 				if (item.id === 3) {
 					uni.navigateTo({
 						url: '/pages/pricingRules/pricingRules'
@@ -321,23 +369,32 @@
 						url: '/pages/consumptionDetails/consumptionDetails'
 					});
 				} else if (item.id === 2) {
+					if (this.info.rideStatus === 1) {
+						uni.showToast({ title: '楠戣涓笉鑳界粨绠楁娂閲�', icon: 'none', duration: 2000 })
+						return
+					} 
 					if (this.info.depositStatus === 1) {
-						this.settlement1()
+						this.show3 = true
+					} else if (this.info.depositStatus === 2) {
+						uni.showToast({ title: '缁撶畻鐢宠鎻愪氦鎴愬姛锛岃鑰愬績绛夊緟閫�娆撅紒', icon: 'none', duration: 2000 });
 					} else {
-						uni.showToast({
-							title: '鎮ㄦ殏鏃犳娂閲戯紝鏃犻渶缁撶畻锛�',
-							icon: 'none',
-							duration: 2000
-						});
+						uni.showToast({ title: '鎮ㄦ殏鏃犳娂閲戯紝鏃犻渶缁撶畻锛�', icon: 'none', duration: 2000 });
 					}
 				} else if (item.id === 1) {
+					if (this.info.depositStatus === 1) {
+						uni.showToast({ title: '鎶奸噾宸插厖鍊�', icon: 'none', duration: 2000 });
+						return
+					} else if (this.info.depositStatus === 2) {
+						uni.showToast({ title: '缁撶畻鐢宠鎻愪氦鎴愬姛锛岃鑰愬績绛夊緟閫�娆撅紒', icon: 'none', duration: 2000 });
+						return
+					}
 					this.show1 = true
 				}
 			},
 			// 楠戣鏄庣粏
 			toRidingDetails() {
 				uni.navigateTo({
-					url: `/pages/ridingDetails/ridingDetails?id=${this.info.goodsOrderId}`
+					url: `/pages/ridingDetails/ridingDetails?id=${this.info.goodsOrderId}&price=${this.info.deposit / 100}`
 				});
 			},
 			// 璺宠浆鏁呴殰涓婃姤
@@ -348,34 +405,40 @@
 			},
 			// 鎶奸噾鏀粯
 			depositPayment() {
+				var that = this;
 				if (this.active) {
-					var that = this;
-					this.$u.api.createGoodsOrderPay()
-						.then(res => {
-							if (res.code === 200) {
-								wx.requestPayment({
-									timeStamp: res.data.timeStamp,
-									nonceStr: res.data.nonceStr,
-									package: res.data.packageValue,
-									signType: 'MD5',
-									paySign: res.data.paySign,
-									success(res) {
-										if (res.errMsg = 'requestPayment:ok') {
-											that.show1 = false
-											uni.showToast({
-												title: '鍏呭�兼垚鍔�',
-												icon: 'success',
-												duration: 2000
-											});
-											that.info.depositStatus = 1
+					if (!this.disable) {
+						that.disable = true
+						that.$u.api.createGoodsOrderPay()
+							.then(res => {
+								if (res.code === 200) {
+									wx.requestPayment({
+										timeStamp: res.data.timeStamp,
+										nonceStr: res.data.nonceStr,
+										package: res.data.packageVal,
+										signType: 'MD5',
+										paySign: res.data.paySign,
+										success (res) {
+											that.disable = false
+											if (res.errMsg = 'requestPayment:ok') {
+												that.show1 = false
+												that.info.depositStatus = 1
+												that.carRental()
+												that.refresh()
+												uni.showToast({ title: '鍏呭�兼垚鍔�', icon: 'success', duration: 2000 });
+											}
+										},
+										fail(err) {
+											that.disable = false
+											console.log(err)
 										}
-									},
-									fail(err) {
-										console.log(err)
-									}
-								})
-							}
-						})
+									})
+								}
+							}).catch((err) => {
+								that.disable = false
+								console.log(err)
+							})
+					}
 				} else {
 					uni.showToast({
 						title: '璇峰厛鍕鹃�夊崗璁�',
@@ -395,78 +458,93 @@
 								code
 							} = loginRes;
 							that.$u.api.wxLogin({
-									code
+								code
+							})
+							.then(res => {
+								that.$u.api.wxPhone({
+									encryptedData: e.detail.encryptedData,
+									iv: e.detail.iv,
+									sessionKey: res.data.sessionKey
+								}).then(result => {
+									if (result.code === 200) {
+										that.$store.commit('setUserInfo', result.data
+											.userResponse)
+									}
 								})
-								.then(res => {
-									that.$u.api.wxPhone({
-										encryptedData: e.detail.encryptedData,
-										iv: e.detail.iv,
-										sessionKey: res.data.sessionKey
-									}).then(result => {
-										if (result.code === 200) {
-											that.$store.commit('setUserInfo', result.data
-												.userResponse)
-										}
-									})
-								})
+							})
 						}
 					});
 				}
 			},
 			// 鎵爜绉熻溅
-			carRental() {
+			async carRental() {
+				await this.refresh()
 				// 鍒ゆ柇鏈夋病鏈変氦鎶奸噾
 				if (this.info.depositStatus === 0) {
 					this.show1 = true
 					return;
+				} else if (this.info.depositStatus === 2) {
+					uni.showToast({ title: '缁撶畻鐢宠鎻愪氦鎴愬姛锛岃鑰愬績绛夊緟閫�娆撅紒', icon: 'none', duration: 2000 });
+					return;
 				}
 				var that = this;
-				// 鎵爜瑙i攣楠戣
-				uni.scanCode({
-					success: async function(result) {
-						// 鎵撳紑寮�閿佸脊妗�
-						that.show5 = true
-						// 璋冪敤寮�閿佹帴鍙�
-						let res = await that.$u.api.openLock({
-							code: result.result
-						})
-						if (res.code === 200) {
-							that.show6 = false
+				if (!that.disable) {
+					that.disable = true
+					// 鎵爜瑙i攣楠戣
+					uni.scanCode({
+						success: async function(result) {
+							// 鎵撳紑寮�閿佸脊妗�
 							that.show5 = true
-							// 寰幆娆℃暟
-							var num = 1
-							// 寰幆鏌ョ湅瑙i攣缁撴灉
-							let timer = setInterval(async () => {
-								num += 1
-								let res1 = await that.$u.api.refreshLock({
-									id: res.data.id
-								})
-								// 寮�閿佹垚鍔�
-								if (res1.data.status === 1) {
-									clearInterval(timer)
-									that.show5 = false
-									setTimeout(() => {
-										that.show2 = true
-									}, 500)
-								}
-								// 寮�閿佸け璐�
-								if (res1.data.status === 3) {
-									clearInterval(timer)
-									that.show5 = false
-									uni.showToast({ title: '寮�閿佸け璐�', icon: 'error', duration: 2000 });
-								}
-								// 寮�閿佽秴鏃�
-								if (num === 10) {
-									clearInterval(timer)
-									that.show5 = false
-									uni.showToast({ title: '寮�閿佽秴鏃�', icon: 'error', duration: 2000 });
-								}
-							}, 1000)
-						} else {
-							that.show5 = false
+							// 璋冪敤寮�閿佹帴鍙�
+							let res = await that.$u.api.openLock({
+								code: result.result
+							})
+							if (res.code === 200) {
+								that.disable = false
+								that.show6 = false
+								that.show5 = true
+								// 寰幆娆℃暟
+								var num = 1
+								// 寰幆鏌ョ湅瑙i攣缁撴灉
+								let timer = setInterval(async () => {
+									num += 1
+									let res1 = await that.$u.api.refreshLock({
+										id: res.data.id
+									})
+									// 寮�閿佹垚鍔�
+									if (res1.data.status === 1) {
+										that.refresh()
+										clearInterval(timer)
+										that.show5 = false
+										setTimeout(() => {
+											that.show2 = true
+										}, 500)
+									}
+									// 寮�閿佸け璐�
+									if (res1.data.status === 3) {
+										that.refresh()
+										clearInterval(timer)
+										that.show5 = false
+										uni.showToast({ title: '寮�閿佸け璐�', icon: 'error', duration: 2000 });
+									}
+									// 寮�閿佽秴鏃�
+									if (num === 180) {
+										that.refresh()
+										clearInterval(timer)
+										that.show5 = false
+										uni.showToast({ title: '寮�閿佽秴鏃�', icon: 'error', duration: 2000 });
+									}
+								}, 1000)
+							} else {
+								that.show5 = false
+								that.disable = false
+							}
+						},
+						fail() {
+							that.disable = false
 						}
-					}
-				});
+					});
+				}
 			},
 			// 鑾峰彇缁忕含搴�
 			getAddress() {
@@ -571,6 +649,29 @@
 					},
 				});
 			},
+			// 鍒锋柊楠戣鐘舵��
+			refreshStatus() {
+				this.timer = setInterval(async () => {
+					let res = await this.$u.api.home()
+					if (res.code === 200) {
+						this.info = res.data
+						// 楠戣涓�
+						if (res.data.rideStatus === 1) {
+							return
+						}
+						this.show2 = false
+						// 宸叉崲杞�
+						if (res.data.rideStatus === 2) {
+							this.show6 = true
+							return
+						}
+						if (res.data.rideStatus === -1) {
+							this.show6 = false
+						}
+						clearInterval(this.timer)
+					}
+				}, 10000)
+			},
 			// 鑾峰彇棣栭〉淇℃伅
 			getHomeInfo() {
 				this.$u.api.home()
@@ -607,7 +708,74 @@
 										uni.showToast({ title: '寮�閿佸け璐�', icon: 'error', duration: 2000 });
 									}
 									// 寮�閿佽秴鏃�
-									if (num === 10) {
+									if (num === 180) {
+										clearInterval(timer)
+										this.show5 = false
+										uni.showToast({ title: '寮�閿佽秴鏃�', icon: 'error', duration: 2000 });
+									}
+								}, 1000)
+							}
+							// 楠戣涓�
+							if (res.data.rideStatus === 1) {
+								this.show2 = true
+								this.refreshStatus()
+							}
+							if (res.data.rideStatus === 5) {
+								this.show5 = true
+							}
+							if (res.data.rideStatus === 2) {
+								this.show6 = true
+								this.refreshStatus()
+							}
+							// 鏄惁钀ヤ笟
+							if (res.data.isBusiness === 0) {
+								this.title = '鏆傚仠钀ヤ笟鎻愰啋'
+								this.content = res.data.unBusinessTips
+								this.show4 = true
+								return
+							}
+							// 鏄惁鍋滄鏈嶅姟
+							if (res.data.isStopServe === 1) {
+								this.title = '鏆傚仠鏈嶅姟鎻愰啋'
+								this.content = res.data.stopServeTips
+								this.show4 = true
+							}
+						}
+					})
+			},
+			// 鍒锋柊棣栭〉淇℃伅
+			refresh() {
+				this.$u.api.home()
+					.then(res => {
+						if (res.code === 200) {
+							this.info = res.data
+							// 瑙i攣涓�
+							if (res.data.rideStatus === 0) {
+								this.show5 = true
+								// 寰幆娆℃暟
+								var num = 1
+								// 寰幆鏌ョ湅瑙i攣缁撴灉
+								let timer = setInterval(async () => {
+									num += 1
+									let res1 = await this.$u.api.refreshLock({
+										id: res.data.memberRidesResponse.rideId
+									})
+									// 寮�閿佹垚鍔�
+									if (res1.data.status === 1) {
+										clearInterval(timer)
+										this.show5 = false
+										setTimeout(() => {
+											this.show2 = true
+										}, 500)
+									}
+									// 寮�閿佸け璐�
+									if (res1.data.status === 3) {
+										clearInterval(timer)
+										this.show5 = false
+										uni.showToast({ title: '寮�閿佸け璐�', icon: 'error', duration: 2000 });
+									}
+									// 寮�閿佽秴鏃�
+									if (num === 180) {
 										clearInterval(timer)
 										this.show5 = false
 										uni.showToast({ title: '寮�閿佽秴鏃�', icon: 'error', duration: 2000 });
@@ -616,23 +784,13 @@
 							}
 							if (res.data.rideStatus === 1) {
 								this.show2 = true
+								this.refreshStatus()
 							}
 							if (res.data.rideStatus === 5) {
 								this.show5 = true
 							}
 							if (res.data.rideStatus === 2) {
 								this.show6 = true
-							}
-							// 鏄惁钀ヤ笟
-							if (res.data.isBusiness === 0) {
-								this.content = res.data.unBusinessTips
-								this.show4 = true
-								return
-							}
-							// 鏄惁鍋滄鏈嶅姟
-							if (res.data.isStopServe === 1) {
-								this.content = res.data.stopServeTips
-								this.show4 = true
 							}
 						}
 					})
@@ -643,6 +801,9 @@
 					phoneNumber: mobile
 				});
 			}
+		},
+		destroyed() {
+			clearInterval(this.timer)
 		}
 	}
 </script>
@@ -654,22 +815,36 @@
 <style lang="scss" scoped>
 	.index {
 		width: 100%;
+		height: auto;
 
 		.index_nav {
 			width: 100%;
+			height: auto;
 			background: repeating-linear-gradient(to bottom, #9AE2DF, #ffffff);
-
-			.index_nav_b {
+			
+			.index_nav_box {
 				width: 100%;
-				padding: 0 30rpx;
-				box-sizing: border-box;
-
-				text {
-					font-size: 38rpx;
-					font-family: PingFangSC-Semibold, PingFang SC;
-					font-weight: 600;
-					color: #222222;
+				height: auto;
+				position: fixed;
+				top: 0;
+				left: 0;
+				z-index: 999;
+				
+				.index_nav_b {
+					width: 100%;
+					padding: 0 30rpx;
+					box-sizing: border-box;
+					position: fixed;
+					z-index: 9;
+				
+					text {
+						font-size: 38rpx;
+						font-family: PingFangSC-Semibold, PingFang SC;
+						font-weight: 600;
+						color: #222222;
+					}
 				}
+				
 			}
 
 			.index_box {
@@ -692,15 +867,19 @@
 						height: 100%;
 						border-radius: 20rpx;
 					}
-
-					image {
+					
+					.index_box_icon {
 						position: absolute;
 						width: 80rpx;
 						height: 80rpx;
 						right: 10rpx;
 						bottom: 20rpx;
-						z-index: 999;
+						image {
+							width: 100%;
+							height: 100%;
+						}
 					}
+					
 				}
 
 				.index_box_title {
@@ -713,6 +892,12 @@
 					align-items: center;
 					position: relative;
 					top: -16rpx;
+					// filter: blur(3px);
+					// -webkit-filter: blur(3px);
+					background: linear-gradient(270deg, #C5FAF7 0%, rgba(10,201,192,0.63) 65%, rgba(214,251,249,0.81) 100%);
+					box-shadow: inset 0rpx 1rpx 0rpx 0rpx #E3FFFE;
+					border-radius: 20rpx 20rpx 0rpx 0rpx;
+					backdrop-filter: blur(3px);
 
 					.index_box_title_left {
 						flex: 1;
@@ -752,8 +937,12 @@
 					border-radius: 20rpx;
 					display: flex;
 					align-items: center;
+					justify-content: space-between;
 					position: relative;
 					top: -24rpx;
+					text {
+						font-weight: 400;
+					}
 				}
 
 				.index_box_poster {
@@ -769,10 +958,16 @@
 					overflow: hidden;
 					margin-top: 20rpx;
 				}
+				
+				.index_zw1 {
+					width: 100%;
+					height: calc(env(safe-area-inset-bottom) + 310rpx);
+				}
 
 				.index_zw {
 					width: 100%;
-					height: 336rpx;
+					// height: 336rpx;
+					height: 680rpx;
 				}
 			}
 		}
@@ -885,6 +1080,7 @@
 
 				.red {
 					color: #FC2525 !important;
+					font-size: 30rpx !important;
 				}
 
 				text {

--
Gitblit v1.9.3