From 4fabfe4dbd2eb28d07a4350597d314958cc1c281 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期四, 09 十月 2025 11:16:43 +0800
Subject: [PATCH] 优化

---
 bicycle/pages/index/index.vue |  500 ++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 363 insertions(+), 137 deletions(-)

diff --git a/bicycle/pages/index/index.vue b/bicycle/pages/index/index.vue
index 09dfeac..031da43 100644
--- a/bicycle/pages/index/index.vue
+++ b/bicycle/pages/index/index.vue
@@ -38,7 +38,7 @@
 					</image>
 				</view>
 				<view class="index_box_function">
-					<view class="cXYC" v-for="(item, index) in functionList" :key="index" @click.stop="jump(item)">
+					<view class="cXYC" :style="{ marginTop: item.id === 5 ? '30rpx' : '' }" v-for="(item, index) in functionList" :key="index" @click.stop="jump(item)">
 						<button open-type="getPhoneNumber" @getphonenumber="getPhone" v-if="!userInfo.mobile"></button>
 						<image class="img80" :src="item.icon" mode="widthFix"></image>
 						<text class="f26 c3 mt10">{{item.name}}</text>
@@ -76,11 +76,18 @@
 				<view class="index_box_video" v-if="info.leaseVideoUrl">
 					<video class="img100b" :src="info.leaseVideoUrl" enable-danmu danmu-btn controls></video>
 				</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>
+				<template v-if="info.memberRidesResponse && info.memberRidesResponse.ridesType === 0">
+					<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-else-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>
+				</template>
+				<template v-else-if="info.memberRidesResponse && info.memberRidesResponse.ridesType === 1">
+					<view style="width: 100%; height: calc(env(safe-area-inset-bottom) + 660rpx);" v-if="$refs.d_tram.d_show3 || $refs.d_tram.d_show4"></view>
+					<view class="index_zw1" v-else></view>
+				</template>
 				<view class="index_zw1" v-else></view>
 			</view>
 		</view>
@@ -92,13 +99,12 @@
 				</view>
 				<image src="@/static/images/ic_safe@2x.png" mode="widthFix"></image>
 			</view>
-			<button class="index_scancode_bottom" open-type="getPhoneNumber" @getphonenumber="getPhone"
-				v-if="!userInfo.mobile">鎵爜绉熻溅</button>
+			<button class="index_scancode_bottom" open-type="getPhoneNumber" @getphonenumber="getPhone" v-if="!userInfo.mobile">鎵爜绉熻溅</button>
 			<view class="index_scancode_bottom" @click="carRental" v-else>鎵爜绉熻溅</view>
 			<view class="index_scancode_zw"></view>
 		</view>
 		<!-- 鑷杞�-缂寸撼鎶奸噾 --> 
-		<u-popup :show="show1" :closeOnClickOverlay="false" mode="bottom" bgColor="#fff" :round="10"
+		<u-popup :show="show1" :closeOnClickOverlay="true" mode="bottom" bgColor="#fff" :round="10"
 			@close="show1 = false">
 			<view class="deposit">
 				<view class="deposit_text">
@@ -120,7 +126,7 @@
 			</view>
 		</u-popup>
 		<!-- 鑷杞�-寮�閿� -->
-		<u-popup :show="show5" :closeOnClickOverlay="false" mode="bottom" bgColor="#fff" :round="10"
+		<u-popup :show="show5" :overlay="false" :closeOnClickOverlay="true" mode="bottom" bgColor="#fff" :round="10"
 			@close="show5 = false">
 			<view class="loading">
 				<view class="loading_box">
@@ -137,7 +143,7 @@
 			</view>
 		</u-popup>
 		<!-- 鑷杞�-楠戣涓� -->
-		<u-popup :show="show2" :overlay="false" overlayOpacity="0" :closeOnClickOverlay="false" mode="bottom" bgColor="#fff" :round="10"
+		<u-popup :show="show2" overlayOpacity="0" :closeOnClickOverlay="true" mode="bottom" bgColor="#fff" :round="10"
 			@close="show2 = false">
 			<view class="ride">
 				<view class="ride_head">
@@ -153,6 +159,12 @@
 						<text>楠戣鏄庣粏</text>
 						<image src="@/static/icon/ar_detail@2x.png" mode="widthFix"></image>
 					</view>
+				</view>
+				<!-- 鏈夊椁愭樉绀� -->
+				<view class="info_des_tc" v-if="info && info.memberRidesResponse && info.memberRidesResponse.discountMember">
+					<u-icon name="info-circle" color="#FF5A31" size="18"></u-icon>
+					<text v-if="info.memberRidesResponse.discountMember.limitType === 0">鎮ㄦ湁楠戣濂楅锛屾湰娆¤绋嬪厤璐归獞琛�</text>
+					<text v-if="info.memberRidesResponse.discountMember.limitType === 1">鎮ㄥ凡璐拱楠戣濂楅锛屾湰娆¤绋嬪厤璐归獞琛寋{convertMinutesToHours(info.memberRidesResponse.discountMember.surplusTime)}}~</text>
 				</view>
 				<view class="ride_content" v-if="info.memberRidesResponse">
 					<view class="ride_content_a">
@@ -176,7 +188,7 @@
 			</view>
 		</u-popup>
 		<!-- 鑷杞�-宸茶繕杞� -->
-		<u-popup :show="show6" :overlay="false" overlayOpacity="0" :closeOnClickOverlay="false" mode="bottom" bgColor="#fff" :round="10"
+		<u-popup :show="show6" overlayOpacity="0" :closeOnClickOverlay="true" mode="bottom" bgColor="#fff" :round="10"
 			@close="show6 = false">
 			<view class="ride">
 				<view class="ride_head">
@@ -192,6 +204,12 @@
 						<text>楠戣鏄庣粏</text>
 						<image src="@/static/icon/ar_detail@2x.png" mode="widthFix"></image>
 					</view>
+				</view>
+				<!-- 鏈夊椁愭樉绀� -->
+				<view class="info_des_tc" v-if="info && info.memberRidesResponse && info.memberRidesResponse.discountMember">
+					<u-icon name="info-circle" color="#FF5A31" size="18"></u-icon>
+					<text v-if="info.memberRidesResponse.discountMember.limitType === 0">鎮ㄦ湁楠戣濂楅锛屾湰娆¤绋嬪厤璐归獞琛�</text>
+					<text v-if="info.memberRidesResponse.discountMember.limitType === 1">鎮ㄥ凡璐拱楠戣濂楅锛屾湰娆¤绋嬪厤璐归獞琛寋{convertMinutesToHours(info.memberRidesResponse.discountMember.surplusTime)}}~</text>
 				</view>
 				<view class="ride_content" v-if="info.memberRidesResponse">
 					<view class="ride_content_a">
@@ -213,7 +231,7 @@
 			</view>
 		</u-popup>
 		<!-- 鑷杞�-纭缁撶畻 -->
-		<u-popup :show="show3" :overlay="false" :closeOnClickOverlay="false" mode="bottom" bgColor="#fff" :round="10" @close="show3 = false">
+		<u-popup :show="show3" :closeOnClickOverlay="true" mode="bottom" bgColor="#fff" :round="10" @close="show3 = false">
 			<template>
 				<view class="deposit1">
 					<view class="deposit_text">
@@ -233,7 +251,7 @@
 		<!-- 鑷杞�-纭缁撶畻寮规 -->
 		<u-modal :show="show7" title="鎻愮ず" content='纭缁撶畻鍚楋紵' :showCancelButton="true" cancelText="鍙栨秷" @confirm="settlement1" @cancel="show7 = false"></u-modal>
 		<!-- 骞垮憡 -->
-		<u-popup :show="show" mode="center" :closeOnClickOverlay="false" zIndex="99999" bgColor="transparent" :round="10" @close="show = false">
+		<u-popup :show="show" mode="center" :overlayStyle="{ zIndex: '99999' }" :closeOnClickOverlay="true" zIndex="99999" bgColor="transparent" :round="10" @close="show = false">
 			<view class="popupbox">
 				<view class="advertisement">
 					<image :src="info.adList[0].imgfullurl" mode="widthFix"></image>
@@ -242,9 +260,8 @@
 				</image>
 			</view>
 		</u-popup>
-	
 		<!-- 鐢佃溅 -->
-		<tram ref="d_tram" @unlockDoor="refresh" />
+		<tram ref="d_tram" @unlockDoor="refresh('tram')" />
 	</view>
 </template>
 
@@ -298,6 +315,11 @@
 						name: '娑堣垂鏄庣粏',
 						icon: require('@/static/images/home_ic_mingxi@2x.png')
 					},
+					{
+						id: 5,
+						name: '杩愯惀涓績',
+						icon: require('@/static/icon/home_ic_mingxi.png')
+					},
 				],
 
 				info: {},
@@ -321,7 +343,8 @@
 						zIndex: 7
 					}
 				],
-				onPullDownRefresh: false
+				onPullDownRefresh: false,
+				timerdian: null
 			}
 		},
 		components: { tram },
@@ -329,16 +352,149 @@
 			...mapState(['navHeight', 'statusbarHeight', 'userInfo'])
 		},
 		async onLoad(options) {
+			var that = this;
+			
 			if (JSON.stringify(this.userInfo) == '{}') {
 				await this.$onLaunched;
 			}
 			await this.getAddress()
-			await this.getHomeInfo()
+			// await this.getHomeInfo()
 			await this.getSite()
-			// if (decodeURIComponent(options.scene) !== 'undefined') {
-			// 	console.log(decodeURIComponent(options.scene))
-			// 	this.carRentalCopy(decodeURIComponent(options.scene))
-			// }
+			
+			this.$u.api.home()
+				.then(async res => {
+					if (res.code === 200) {
+						let code = decodeURIComponent(options.scene)
+						// 鏄惁寮瑰嚭骞垮憡鍥�
+						if (res.data.adList.length > 0 && !res.data.memberRidesResponse) {
+							this.show = true
+						}
+						if (res.data.memberRidesResponse && res.data.memberRidesResponse.ridesType === 0 && code !== 'undefined' && res.data.rideStatus !== 2) {
+							let typeName = ''
+							if (code.substring(0, code.indexOf('-')) === 'ebike') {
+								typeName = '鐢靛姩杞�'
+							} else {
+								typeName = '鑷杞�'
+							}
+							uni.showToast({
+								title: `褰撳墠瀛樺湪鏈粨绠楄嚜琛岃溅璁㈠崟锛岃鍏堢粨绠楄鍗曞悗鍐嶆壂鐮佺${typeName}`,
+								icon: 'none'
+							})
+						} else if (res.data.memberRidesResponse && res.data.memberRidesResponse.ridesType === 1 && code !== 'undefined') {
+							let typeName = ''
+							if (code.substring(0, code.indexOf('-')) === 'ebike') {
+								typeName = '鐢靛姩杞�'
+							} else {
+								typeName = '鑷杞�'
+							}
+							uni.showToast({
+								title: `褰撳墠瀛樺湪鏈粨绠楃數鍔ㄨ溅璁㈠崟锛岃鍏堢粨绠楄鍗曞悗鍐嶆壂鐮佺${typeName}`,
+								icon: 'none'
+							})
+						}
+						// 鑷杞�
+						if (res.data.memberRidesResponse && res.data.memberRidesResponse.ridesType === 0) {
+							// 瑙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 });
+									}
+								}, 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()
+							}
+						} else if (res.data.memberRidesResponse && res.data.memberRidesResponse.ridesType === 1) {
+							that.$refs.d_tram.info = {
+								...res.data.memberRidesResponse.discountMember,
+								...res.data.memberRidesResponse,
+								deposit: res.data.deposit,
+								goodsOrderId: res.data.goodsOrderId
+							}
+							// 楠戣涓�
+							if (res.data.rideStatus === 1) {
+								that.$refs.d_tram.d_show3 = true
+							}
+							// 涓存椂閿佽溅
+							if (res.data.rideStatus === 4) {
+								that.$refs.d_tram.d_show4 = true
+							}
+							// 杞鍒锋柊鐢佃溅楠戣鐘舵��
+							that.refreshTram()
+						// 娌℃湁楠戣璁㈠崟
+						} else if (!res.data.memberRidesResponse) {
+							if (decodeURIComponent(options.scene) !== 'undefined') {
+								let code = decodeURIComponent(options.scene)
+								if (code.substring(0, code.indexOf('-')) === 'ebike') {
+									console.log('鐢靛姩杞�')
+									this.carRentalCopy(decodeURIComponent(options.scene), 2)
+								} else {
+									console.log('鑷杞�')
+									this.carRentalCopy(decodeURIComponent(options.scene), 1)
+								}
+							}
+						}
+						// 鏄惁钀ヤ笟
+						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
+						}
+						this.tcList = res.data.discountList
+						let arr = JSON.parse(res.data.eleBusinessArea)
+						this.eleBusinessArea[0].points = arr.map(item => {
+							return {
+								latitude: item.lat,
+								longitude: item.lng
+							}
+						})
+					}
+				})
+			uni.$on('update', data => {
+				this.carRental()
+			})
 		},
 		onPullDownRefresh() {
 			this.onPullDownRefresh = true
@@ -351,7 +507,19 @@
 			this.top = e.scrollTop
 		},
 		methods: {
-			clickcontrol(){
+			// 鍒嗛挓杞崲
+			convertMinutesToHours(minutes) {
+			    const hours = Math.floor(minutes / 60);  // 璁$畻灏忔椂鏁�
+			    const remainingMinutes = minutes % 60;  // 璁$畻鍓╀綑鐨勫垎閽熸暟
+				if (hours > 0 && remainingMinutes > 0) {
+					return `${hours}灏忔椂${remainingMinutes}鍒嗛挓`;
+				} else if (hours == 0) {
+					return `${remainingMinutes}鍒嗛挓`;
+				} else if (remainingMinutes == 0) {
+					return `${hours}灏忔椂`;
+				}
+			},
+			clickcontrol() {
 				let mapObjs = uni.createMapContext('mapId', this)
 				mapObjs.moveToLocation({
 					complete: res => {
@@ -396,64 +564,76 @@
 				});
 			},
 			// 寰俊鎵撳紑灏忕▼搴忓紑閿佹柟娉�
-			async carRentalCopy(code) {
-				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;
-				}
+			async carRentalCopy(code, type) {
 				var that = this;
-				if (!that.disable) {
-					that.disable = true
-					// 鎵撳紑寮�閿佸脊妗�
-					that.show5 = true
-					// 璋冪敤寮�閿佹帴鍙�
-					let res = await that.$u.api.openLock({
-						code: code
-					})
-					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)
+				let ddd = await this.$u.api.home()
+				if (ddd.code === 200) {
+					this.info = ddd.data
+					// 鍒ゆ柇鏈夋病鏈変氦鎶奸噾
+					if (this.info.depositStatus === 0) {
+						this.show1 = true
+						return;
+					} else if (this.info.depositStatus === 2) {
+						uni.showToast({ title: '缁撶畻鐢宠鎻愪氦鎴愬姛锛岃鑰愬績绛夊緟閫�娆撅紒', icon: 'none', duration: 2000 });
+						return;
+					}
+					// 鑷杞�
+					if (type === 1) {
+						 if (!that.disable) {
+						 	that.disable = true
+						 	// 鎵撳紑寮�閿佸脊妗�
+						 	that.show5 = true
+						 	// 璋冪敤寮�閿佹帴鍙�
+						 	let res = await that.$u.api.openLock({
+						 		code: code
+						 	})
+						 	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
+						 	}
+						 }
 					} else {
-						that.show5 = false
-						that.disable = false
+						let res = await that.$u.api.getBikeChargingRule({ code: code })
+						if (res.code === 200) {
+							that.$refs.d_tram.info = res.data
+							that.$refs.d_tram.d_show1 = true
+						}
 					}
 				}
 			},
@@ -543,7 +723,17 @@
 				} else if (item.id === 4) {
 					uni.navigateTo({
 						url: '/pages/consumptionDetails/consumptionDetails'
-					});
+					}); 
+				} else if (item.id === 5) {
+					if (!this.userInfo.sysuser) {
+						uni.navigateTo({
+							url: '/pages/operationLogin/operationLogin'
+						}); 
+					} else {
+						uni.navigateTo({
+							url: '/pages/operationsCenter/operationsCenter'
+						}); 
+					}
 				} else if (item.id === 2) {
 					if (!this.userInfo.mobile) return
 					if (this.info.rideStatus === 1) {
@@ -602,7 +792,6 @@
 												that.show1 = false
 												that.info.depositStatus = 1
 												that.carRental()
-												that.refresh()
 												uni.showToast({ title: '鍏呭�兼垚鍔�', icon: 'success', duration: 2000 });
 											}
 										},
@@ -613,7 +802,6 @@
 								}
 							}).catch((err) => {
 								that.disable = false
-								console.log(err)
 							})
 					}
 				} else {
@@ -656,43 +844,42 @@
 			// 鎵爜绉熻溅
 			async carRental() {
 				var that = this;
-				// 鍒锋柊棣栭〉淇℃伅
-				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;
-				}
-				// 鑷杞�
-				if (this.type === 1) {
-					if (!that.disable) {
-						that.disable = true
-						// 鎵爜瑙i攣楠戣
-						uni.scanCode({
-							success: async function(result) {
-								let text = decodeURIComponent(result.path)
-								text = text.substring(text.lastIndexOf('?') + 7, text.length)
-								// 鎵撳紑寮�閿佸脊妗�
+				
+				let res = await this.$u.api.home()
+				if (res.code === 200) {
+					this.info = res.data
+					
+					// 鍒ゆ柇鏈夋病鏈変氦鎶奸噾
+					if (this.info.depositStatus === 0) {
+						this.show1 = true
+						return;
+					} else if (this.info.depositStatus === 2) {
+						uni.showToast({ title: '缁撶畻鐢宠鎻愪氦鎴愬姛锛岃鑰愬績绛夊緟閫�娆撅紒', icon: 'none', duration: 2000 });
+						return;
+					}
+					
+					// 鎵爜鑾峰彇杞﹁締淇℃伅
+					uni.scanCode({
+						success: async function(result) {
+							let code = decodeURIComponent(result.path).split('=')[1]
+							let res = await that.$u.api.getBikeChargingRule({ code })
+							// 鑷杞�
+							if (res.code === 200 && res.data.ridesType === 0) {
+								that.disable = true
 								that.show5 = true
 								// 璋冪敤寮�閿佹帴鍙�
-								let res = await that.$u.api.openLock({
-									code: text
-								})
-								if (res.code === 200) {
+								let bicycle = await that.$u.api.openLock({ code })
+								if (bicycle.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
-										})
+										let res1 = await that.$u.api.refreshLock({ id: bicycle.data.id })
 										// 寮�閿佹垚鍔�
 										if (res1.data.status === 1) {
 											that.refresh()
@@ -721,22 +908,13 @@
 									that.show5 = false
 									that.disable = false
 								}
-							},
-							fail() {
-								that.disable = false
-							}
-						});
-					}
-				} else {
-					uni.scanCode({
-						success: async function(result) {
-							let res = await that.$u.api.getBikeChargingRule({
-								code: result.result
-							})
-							if (res.code === 200) {
+							} else if (res.code === 200 && res.data.ridesType === 1) {
 								that.$refs.d_tram.info = res.data
 								that.$refs.d_tram.d_show1 = true
 							}
+						},
+						fail() {
+							that.disable = false
 						}
 					})
 				}
@@ -867,6 +1045,32 @@
 					}
 				}, 10000)
 			},
+			// 鍒锋柊鐢佃溅淇℃伅
+			refreshTram() {
+				this.timerdian = setInterval(() => {
+					this.$u.api.home()
+						.then(res => {
+							if (res.code === 200) {
+								this.info = res.data
+								// 鏈煡鍒伴獞琛岃鍗�
+								if (!res.data.memberRidesResponse) {
+									this.$refs.d_tram.d_show = false
+									this.$refs.d_tram.d_show1 = false
+									this.$refs.d_tram.d_show2 = false
+									this.$refs.d_tram.d_show3 = false
+									this.$refs.d_tram.d_show4 = false
+									this.$refs.d_tram.d_show5 = false
+									this.$refs.d_tram.d_show6 = false
+									this.$refs.d_tram.d_show7 = false
+									this.$refs.d_tram.d_show8 = false
+									this.$refs.d_tram.d_show9 = false
+									clearInterval(this.timerdian)
+									this.timerdian = null
+								}
+							}
+						})
+				}, 30000)
+			},
 			// 鑾峰彇棣栭〉淇℃伅
 			getHomeInfo() {
 				var that = this
@@ -874,13 +1078,13 @@
 					.then(async res => {
 						if (res.code === 200) {
 							this.info = res.data
+							console.log('鏄惁寮瑰嚭骞垮憡鍥�', res.data.adList.length > 0 && !res.data.memberRidesResponse)
 							// 鏄惁寮瑰嚭骞垮憡鍥�
 							if (res.data.adList.length > 0 && !res.data.memberRidesResponse) {
 								this.show = true
 							}
 							// 鑷杞�
 							if (res.data.memberRidesResponse && res.data.memberRidesResponse.ridesType === 0) {
-								this.type = 1
 								// 瑙i攣涓�
 								if (res.data.rideStatus === 0) {
 									this.show5 = true
@@ -927,7 +1131,6 @@
 									this.refreshStatus()
 								}
 							} else if (res.data.memberRidesResponse && res.data.memberRidesResponse.ridesType === 1) {
-								this.type = 2
 								that.$refs.d_tram.info = {
 									...res.data.memberRidesResponse.discountMember,
 									...res.data.memberRidesResponse,
@@ -968,12 +1171,15 @@
 					})
 			},
 			// 鍒锋柊棣栭〉淇℃伅
-			refresh() {
+			refresh(type) {
 				this.$u.api.home()
 					.then(res => {
 						uni.stopPullDownRefresh()
 						if (res.code === 200) {
 							this.info = res.data
+							if (type === 'tram') {
+								this.refreshTram()
+							}
 							// 鏈煡鍒伴獞琛岃鍗�
 							if (!res.data.memberRidesResponse && this.onPullDownRefresh) {
 								this.show1 = false
@@ -984,16 +1190,16 @@
 								this.show6 = false
 								this.show7 = false
 								
-								that.$refs.d_tram.d_show = false
-								that.$refs.d_tram.d_show1 = false
-								that.$refs.d_tram.d_show2 = false
-								that.$refs.d_tram.d_show3 = false
-								that.$refs.d_tram.d_show4 = false
-								that.$refs.d_tram.d_show5 = false
-								that.$refs.d_tram.d_show6 = false
-								that.$refs.d_tram.d_show7 = false
-								that.$refs.d_tram.d_show8 = false
-								that.$refs.d_tram.d_show9 = false
+								this.$refs.d_tram.d_show = false
+								this.$refs.d_tram.d_show1 = false
+								this.$refs.d_tram.d_show2 = false
+								this.$refs.d_tram.d_show3 = false
+								this.$refs.d_tram.d_show4 = false
+								this.$refs.d_tram.d_show5 = false
+								this.$refs.d_tram.d_show6 = false
+								this.$refs.d_tram.d_show7 = false
+								this.$refs.d_tram.d_show8 = false
+								this.$refs.d_tram.d_show9 = false
 								this.onPullDownRefresh = false
 								return
 							}
@@ -1043,7 +1249,6 @@
 									this.show6 = true
 								}
 							} else if (res.data.memberRidesResponse.ridesType === 1) {
-								this.type = 2
 								this.$refs.d_tram.info = {
 									...res.data.memberRidesResponse.discountMember,
 									...res.data.memberRidesResponse,
@@ -1234,12 +1439,14 @@
 					display: flex;
 					align-items: center;
 					justify-content: space-between;
+					flex-wrap: wrap;
 					position: relative;
 					top: -24rpx;
 					text {
 						font-weight: 400;
 					}
 					.cXYC {
+						width: 23%;
 						position: relative;
 						button {
 							width: 100%;
@@ -1258,7 +1465,7 @@
 					width: 100%;
 					padding: 24rpx 30rpx;
 					box-sizing: border-box;
-					background: linear-gradient(#FFFFFF 0%, #FCEADC 100%);
+					background: linear-gradient(#FCEADC 0%, #FFFFFF 100%);
 					border-radius: 20rpx;
 					.index_box_vip_head {
 						width: 100%;
@@ -1817,6 +2024,25 @@
 					}
 				}
 			}
+			
+			.info_des_tc {
+				width: 100%;
+				height: 60rpx;
+				line-height: 60rpx;
+				background: #F4EFEA;
+				border-radius: 16rpx;
+				margin: 20rpx 0;
+				display: flex;
+				align-items: center;
+				padding: 0 20rpx;
+				box-sizing: border-box;
+				text {
+					font-weight: 400;
+					font-size: 26rpx;
+					color: #FF5A31;
+					margin-left: 10rpx;
+				}
+			}
 
 			.ride_content {
 				width: 100%;

--
Gitblit v1.9.3