diff --git a/page_fix/fix_index.vue b/page_fix/fix_index.vue
index 4ff0fc6..7c7c4c2 100644
--- a/page_fix/fix_index.vue
+++ b/page_fix/fix_index.vue
@@ -6,6 +6,10 @@
 			height='45'></u-navbar>
 		<map class="map" id="map" ref="map" :scale="zoomSize" :latitude="latitude" :longitude="longitude"
 			:show-location="true" :markers="markers" :polygons="polyline" @markertap="onMarkerTap">
+			<cover-view class="park" @click="toggleIconAndCallout">
+				<cover-image class="img" src="https://lxnapi.ccttiot.com/bike/img/static/uRiYQZQEb3l2LsltEsyW"
+					mode=""></cover-image>
+			</cover-view>
 		</map>
 		<view class="bot">
 			<view class="btn" @click="topage()">
@@ -81,6 +85,44 @@
 			},
 		},
 		methods: {
+			toggleIconAndCallout() {
+				this.showIconAndCallout = !this.showIconAndCallout;
+				if (this.showIconAndCallout) {
+					const newMarkers = [];
+					this.parkingList.forEach(item => {
+						newMarkers.push({
+							id: parseFloat(item.parkingId),
+							latitude: parseFloat(item.latitude),
+							longitude: parseFloat(item.longitude),
+							width: 20,
+							height: 28.95,
+							iconPath: item.type == 1 ?
+								'https://lxnapi.ccttiot.com/bike/img/static/up2xXqAgwCX5iER600k3' : item
+								.type == 2 ?
+								'https://lxnapi.ccttiot.com/bike/img/static/u53BAQcFIX3vxsCzEZ7t' :
+								' https://lxnapi.ccttiot.com/bike/img/static/uDNY5Q4zOiZTCBTA2Jdq',
+							callout: {
+								content: item.parkingName,
+								color: '#ffffff',
+								fontSize: 14,
+								borderRadius: 10,
+								bgColor: item.type == 1 ? '#3A7EDB' : item.type == 2 ? '#FFC107' :
+									'#FF473E',
+								padding: 6,
+								display: 'ALWAYS'
+							},
+							isCalloutVisible: true // 添加标记
+						});
+					});
+					this.$set(this, 'markers', [...this.markers, ...newMarkers]);
+				} else {
+					// 过滤掉所有气泡显示的标记
+					this.$set(this, 'markers', this.markers.filter(marker => !marker.isCalloutVisible));
+				}
+			
+			},
+			
+			
 			onMarkerTap(e) {
 				console.log('点击了标记:', e);
 				this.sn = e.detail.markerId;
@@ -92,7 +134,10 @@
 				});
 			},
 			getmarks() {
-				this.$u.get(`/appVerify/adminOrder/list?adminId=` + this.userId).then((res) => {
+				let data ={
+						areaId:this.areaId
+				}
+				this.$u.get(`/appVerify/adminOrder/list?adminId=` ,data).then((res) => {
 					if (res.code == 200) {
 						console.log('调用了');
 						this.listData = res.rows;
@@ -259,8 +304,11 @@
 				
 			},
 			getParking() {
-				// 发送请求获取数据
-				this.$u.get('/app/parking/list').then((res) => {
+				// 发送请求获取数据\
+				let data ={
+					areaId:this.areaId
+				}
+				this.$u.get('/app/parking/list?',data).then((res) => {
 					if (res.code === 200) {
 						// 处理接口返回的数据
 						const type1Data = [];
@@ -294,66 +342,7 @@
 						this.polyline = this.polyline.concat(polylines);
 			
 						// console.log(this.polyline);
-						res.rows.forEach(item => {
-							if(item.type==1){
-								this.markers.push({
-									id: parseFloat(item.parkingId),
-									latitude: parseFloat(item.latitude),
-									longitude: parseFloat(item.longitude),
-									width: 20,
-									height: 40,
-									iconPath: 'https://lxnapi.ccttiot.com/bike/img/static/u9yz0bKCWKyev0JYpTne',
-									callout: {
-										content: item.parkingName, // 修改为你想要显示的文字内容
-										color: '#ffffff', // 修改为文字颜色
-										fontSize: 14, // 修改为文字大小
-										borderRadius: 10, // 修改为气泡圆角大小
-										bgColor: '#3A7EDB', // 修改为气泡背景颜色
-										padding: 6, // 修改为气泡内边距
-										display: 'ALWAYS' // 修改为气泡的显示策略
-									}
-								});
-							}else if(item.type==2){
-								this.markers.push({
-									id: parseFloat(item.parkingId),
-									latitude: parseFloat(item.latitude),
-									longitude: parseFloat(item.longitude),
-									width: 20,
-									height: 40,
-									iconPath: 'https://lxnapi.ccttiot.com/bike/img/static/u9yz0bKCWKyev0JYpTne',
-									callout: {
-										content: item.parkingName, // 修改为你想要显示的文字内容
-										color: '#ffffff', // 修改为文字颜色
-										fontSize: 14, // 修改为文字大小
-										borderRadius: 10, // 修改为气泡圆角大小
-										bgColor: '#FFC107', // 修改为气泡背景颜色
-										padding: 6, // 修改为气泡内边距
-										display: 'ALWAYS' // 修改为气泡的显示策略
-									}
-								});
-							}else if(item.type==3){
-								this.markers.push({
-									id: parseFloat(item.parkingId),
-									latitude: parseFloat(item.latitude),
-									longitude: parseFloat(item.longitude),
-									width: 20,
-									height: 40,
-									iconPath: 'https://lxnapi.ccttiot.com/bike/img/static/u9yz0bKCWKyev0JYpTne',
-									callout: {
-										content: item.parkingName, // 修改为你想要显示的文字内容
-										color: '#ffffff', // 修改为文字颜色
-										fontSize: 14, // 修改为文字大小
-										borderRadius: 10, // 修改为气泡圆角大小
-										bgColor: '#FF473E', // 修改为气泡背景颜色
-										padding: 6, // 修改为气泡内边距
-										display: 'ALWAYS' // 修改为气泡的显示策略
-									}
-								});
-							}
-						})
-						setTimeout(()=>{
-							
-						},200)
+						this.parkingList = res.rows
 						
 					}
 				}).catch(error => {
@@ -387,8 +376,28 @@
 		width: 750rpx;
 
 		.map {
+			position: relative;
 			width: 750rpx;
 			height: 1250rpx;
+			
+			.park {
+				position: absolute;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				right: 30rpx;
+				bottom: 200rpx;
+				// background-color: #fff;
+				border-radius: 50%;
+				width: 82rpx;
+				height: 82rpx;
+				z-index: 10;
+			
+				.img {
+					width: 82rpx;
+					height: 82rpx;
+				}
+			}
 		}
 
 		.bot {
diff --git a/page_fix/repair/repair_index.vue b/page_fix/repair/repair_index.vue
index 0aced88..f82f9e0 100644
--- a/page_fix/repair/repair_index.vue
+++ b/page_fix/repair/repair_index.vue
@@ -63,9 +63,12 @@
 								<view class="cont_info_left">
 									故障部位
 								</view>
-								<view class="cont_info_right">
+								<view class="cont_info_right" v-if="item.faultTypeStr">
 									{{item.faultTypeStr}}
 								</view>
+								<view class="cont_info_right" v-else>
+									--
+								</view>
 							</view>
 							<view class="card_bot">
 								<image src="https://lxnapi.ccttiot.com/bike/img/static/uklW7KIegcLR6E7DTOGO" mode=""></image>
@@ -134,16 +137,19 @@
 								<view class="stause" v-if="item.status==4">
 									已完成
 								</view>
-								<view class="stause" v-if="item.status==2&&item.type==2">
+								<view class="stause" v-if="item.status==4" style="background-color: #3BBBA1 ;">
+									已完成
+								</view>
+								<view class="stause" v-if="item.status==2&&item.type==2" style="background-color: #F76D6D ;">
 									待换电
 								</view>
-								<view class="stause" v-if="item.status==2&&item.type==1">
+								<view class="stause" v-if="item.status==2&&item.type==1" style="background-color: #F76D6D ;">
 									待维修
 								</view>
-								<view class="stause" v-if="item.status==3&&item.type==2">
+								<view class="stause" v-if="item.status==3&&item.type==2" style="background-color: #4C97E7 ;">
 									换电中
 								</view>
-								<view class="stause" v-if="item.status==3&&item.type==1">
+								<view class="stause" v-if="item.status==3&&item.type==1" style="background-color: #4C97E7 ;">
 									维修中
 								</view>
 							</view>
diff --git a/page_user/good_list.vue b/page_user/good_list.vue
index 94ad931..b049d73 100644
--- a/page_user/good_list.vue
+++ b/page_user/good_list.vue
@@ -21,7 +21,7 @@
 				时长:{{ item.duration }}
 			</view>
 			<view class="info" v-if="item.distance">
-				距离:{{item.distance}}公里
+				  距离:{{ (item.distance / 1000).toFixed(2) }} 公里
 			</view>
 			<view class="info" v-else>
 				距离:--公里
diff --git a/page_user/khfw/khfw.vue b/page_user/khfw/khfw.vue
index e6cfc6a..8a88aec 100644
--- a/page_user/khfw/khfw.vue
+++ b/page_user/khfw/khfw.vue
@@ -163,7 +163,7 @@
 			},
 			getword(id) {
 				
-				this.$u.get("/app/article/list??classifyId="+id ).then((res) => {
+				this.$u.get("/app/article/list?classifyId="+id ).then((res) => {
 			
 					if (res.code == 200) {
 						this.wordlist = res.rows
diff --git a/page_user/xcjs.vue b/page_user/xcjs.vue
index 06de7cd..6bb84c9 100644
--- a/page_user/xcjs.vue
+++ b/page_user/xcjs.vue
@@ -4,7 +4,9 @@
 			height='45'></u-navbar>
 		<map class="map" id="map" ref="map" :scale="zoomSize" :latitude="latitude" :longitude="longitude"
 			:show-location='true' :markers="markers" :polygons="polygons" :polyline="polyline"> </map>
-			
+			<view class="park" @click="toggleIconAndCallout">
+				<image src="https://lxnapi.ccttiot.com/bike/img/static/uRiYQZQEb3l2LsltEsyW" mode=""></image>
+			</view>
 		<!-- 	<map class="map" id="map" ref="map"
 				\> </map> -->
 		<view class="bot_btn" v-if="false">
@@ -54,7 +56,8 @@
 							骑行距离
 						</view>
 						<view class="right" style="font-size:26rpx ;" v-if="orderInfo.distance">
-						{{orderInfo.distance}}公里 
+						<!-- {{orderInfo.distance}}公里 -->
+					{{ (orderInfo.distance / 1000).toFixed(2) }} 公里
 						</view>
 						<view class="right" style="font-size:26rpx ;" v-else>
 						--公里 
@@ -100,6 +103,7 @@
 				orderId: '',
 				orderInfo: {},
 				loading: false,
+				showIconAndCallout:false
 
 			}
 		},
@@ -257,7 +261,10 @@
 			},
 			getParking() {
 				// 发送请求获取数据
-				this.$u.get('/app/parking/list').then((res) => {
+				let data={
+					areaId:this.orderInfo.areaId
+				}
+				this.$u.get('/app/parking/list?',data).then((res) => {
 					if (res.code === 200) {
 						// 处理接口返回的数据
 						const type1Data = [];
@@ -291,70 +298,48 @@
 						this.polygons = this.polygons.concat(polylines);
 
 						// console.log(this.polyline);
-						res.rows.forEach(item => {
-							if(item.type==1){
-								this.markers.push({
-									id: parseFloat(item.parkingId),
-									latitude: parseFloat(item.latitude),
-									longitude: parseFloat(item.longitude),
-									width: 20,
-									height: 40,
-									iconPath: 'https://lxnapi.ccttiot.com/bike/img/static/u9yz0bKCWKyev0JYpTne',
-									callout: {
-										content: item.parkingName, // 修改为你想要显示的文字内容
-										color: '#ffffff', // 修改为文字颜色
-										fontSize: 14, // 修改为文字大小
-										borderRadius: 10, // 修改为气泡圆角大小
-										bgColor: '#3A7EDB', // 修改为气泡背景颜色
-										padding: 6, // 修改为气泡内边距
-										display: 'ALWAYS' // 修改为气泡的显示策略
-									}
-								});
-							}else if(item.type==2){
-								this.markers.push({
-									id: parseFloat(item.parkingId),
-									latitude: parseFloat(item.latitude),
-									longitude: parseFloat(item.longitude),
-									width: 20,
-									height: 40,
-									iconPath: 'https://lxnapi.ccttiot.com/bike/img/static/u9yz0bKCWKyev0JYpTne',
-									callout: {
-										content: item.parkingName, // 修改为你想要显示的文字内容
-										color: '#ffffff', // 修改为文字颜色
-										fontSize: 14, // 修改为文字大小
-										borderRadius: 10, // 修改为气泡圆角大小
-										bgColor: '#FFC107', // 修改为气泡背景颜色
-										padding: 6, // 修改为气泡内边距
-										display: 'ALWAYS' // 修改为气泡的显示策略
-									}
-								});
-							}else if(item.type==3){
-								this.markers.push({
-									id: parseFloat(item.parkingId),
-									latitude: parseFloat(item.latitude),
-									longitude: parseFloat(item.longitude),
-									width: 20,
-									height: 40,
-									iconPath: 'https://lxnapi.ccttiot.com/bike/img/static/u9yz0bKCWKyev0JYpTne',
-									callout: {
-										content: item.parkingName, // 修改为你想要显示的文字内容
-										color: '#ffffff', // 修改为文字颜色
-										fontSize: 14, // 修改为文字大小
-										borderRadius: 10, // 修改为气泡圆角大小
-										bgColor: '#FF473E', // 修改为气泡背景颜色
-										padding: 6, // 修改为气泡内边距
-										display: 'ALWAYS' // 修改为气泡的显示策略
-									}
-								});
-							}
-						})
+						
+						this.parkingList = res.rows
 					}
 				}).catch(error => {
 					console.error("Error fetching parking data:", error);
 				});
 			},
+			toggleIconAndCallout() {
+				this.showIconAndCallout = !this.showIconAndCallout;
+				if (this.showIconAndCallout) {
+					const newMarkers = [];
+					this.parkingList.forEach(item => {
+						newMarkers.push({
+							id: parseFloat(item.parkingId),
+							latitude: parseFloat(item.latitude),
+							longitude: parseFloat(item.longitude),
+							width: 20,
+							height: 28.95,
+							iconPath: item.type == 1 ?'https://lxnapi.ccttiot.com/bike/img/static/up2xXqAgwCX5iER600k3':item.type == 2 ?'https://lxnapi.ccttiot.com/bike/img/static/u53BAQcFIX3vxsCzEZ7t' :' https://lxnapi.ccttiot.com/bike/img/static/uDNY5Q4zOiZTCBTA2Jdq',
+							callout: {
+								content: item.parkingName,
+								color: '#ffffff',
+								fontSize: 14,
+								borderRadius: 10,
+								bgColor: item.type == 1 ? '#3A7EDB' : item.type == 2 ? '#FFC107' :
+									'#FF473E',
+								padding: 6,
+								display: 'ALWAYS'
+							},
+							isCalloutVisible: true // 添加标记
+						});
+					});
+					this.$set(this, 'markers', [...this.markers, ...newMarkers]);
+				} else {
+					// 过滤掉所有气泡显示的标记
+					this.$set(this, 'markers', this.markers.filter(marker => !marker.isCalloutVisible));
+				}
+			
+			},
 			getArea() {
-
+				// this.$u.get("/app/area/" + this.orderInfo.areaId).then((res) => {
+				
 				this.$u.get("/app/area/" + this.orderInfo.areaId).then((res) => {
 
 					if (res.code == 200) {
@@ -400,39 +385,42 @@
 				            this.loading = true;
 				
 				            this.getArea();
-				            let abb;
-				            try {
-				                abb = JSON.parse(res.data.tripRouteStr);
-				            } catch (error) {
-				                console.error("Error parsing tripRouteStr:", error);
-				                return;
-				            }
-				            if (abb.length > 2) {
-				                this.latitude = parseFloat(abb[0][1]);
-				                this.longitude = parseFloat(abb[0][0]);
-				                this.polyline[0].points = abb.map(coord => ({
-				                    latitude: coord[1],
-				                    longitude: coord[0]
-				                }));
-				                this.markers.push({
-				                    id: 0,
-				                    latitude: abb[0][1],
-				                    longitude: abb[0][0],
-				                    width: 25,
-				                    height: 38,
-				                    iconPath: 'https://lxnapi.ccttiot.com/bike/img/static/u06paUGiHLvL08Pw7BGr'
-				                }, {
-				                    id: 1,
-				                    latitude: abb[abb.length - 1][1],
-				                    longitude: abb[abb.length - 1][0],
-				                    width: 25,
-				                    height: 38,
-				                    iconPath: 'https://lxnapi.ccttiot.com/bike/img/static/uwpAj9vYtPRmhtTOtflx'
-				                });
-				            }else{
-								this.latitude = parseFloat(abb[0][1]);
-								this.longitude = parseFloat(abb[0][0]);
+							if(res.data.tripRouteStr){
+								let abb;
+								try {
+								    abb = JSON.parse(res.data.tripRouteStr);
+								} catch (error) {
+								    console.error("Error parsing tripRouteStr:", error);
+								    return;
+								}
+								if (abb.length > 2) {
+								    this.latitude = parseFloat(abb[0][1]);
+								    this.longitude = parseFloat(abb[0][0]);
+								    this.polyline[0].points = abb.map(coord => ({
+								        latitude: coord[1],
+								        longitude: coord[0]
+								    }));
+								    this.markers.push({
+								        id: 0,
+								        latitude: abb[0][1],
+								        longitude: abb[0][0],
+								        width: 25,
+								        height: 38,
+								        iconPath: 'https://lxnapi.ccttiot.com/bike/img/static/u06paUGiHLvL08Pw7BGr'
+								    }, {
+								        id: 1,
+								        latitude: abb[abb.length - 1][1],
+								        longitude: abb[abb.length - 1][0],
+								        width: 25,
+								        height: 38,
+								        iconPath: 'https://lxnapi.ccttiot.com/bike/img/static/uwpAj9vYtPRmhtTOtflx'
+								    });
+								}else{
+									this.latitude = parseFloat(abb[0][1]);
+									this.longitude = parseFloat(abb[0][0]);
+								}
 							}
+				          
 				            uni.hideLoading();
 				        }
 				    }).catch(error => {
@@ -456,7 +444,24 @@
 			width: 750rpx;
 			height: 100vh;
 		}
-
+		.park {
+			position: fixed;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			right: 30rpx;
+			bottom: 500rpx;
+			// background-color: #fff;
+			border-radius: 50%;
+			width: 82rpx;
+			height: 82rpx;
+			z-index: 10;
+		
+			.img {
+				width: 82rpx;
+				height: 82rpx;
+			}
+		}
 		.bot {
 			display: flex;
 			justify-content: center;
diff --git a/pages/index/index.vue b/pages/index/index.vue
index c29a7ee..22f3d09 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -4,9 +4,9 @@
 			<image src="https://lxnapi.ccttiot.com/bike/img/static/uVcMTydm81zCMhHomXl1" mode="" @click="topage(6)">
 			</image>
 			<view class="txts" v-if="gps.deptId==100">
-			{{areaInfo.areaName}}
+				{{areaInfo.areaName}}
 			</view>
-				<view class="txts" v-if="gps.deptId==101">
+			<view class="txts" v-if="gps.deptId==101">
 				嵛你出行
 			</view>
 		</view>
@@ -14,7 +14,7 @@
 			title-size='36' height='36'></u-navbar> -->
 		<map class="map" id="map" ref="map" :scale="zoomSize" show-location v-if="showmap" :latitude="latitude"
 			:longitude="longitude" :show-location="true" :markers="markers" :polygons="polyline"
-			@markertap="onMarkerTap" @tap="onMapTap">
+			@markertap="onMarkerTap" @tap="onMapTap" @regionchange="onMapRegionChange">
 
 		</map>
 		<view class="my-location" @click="setMapScale">
@@ -232,7 +232,7 @@
 					<view class="btn" @click="sub1()" v-if="type==1">
 						确认开锁
 					</view>
-					
+
 					<view class="btn" @click="sub3()" v-if="type==2">
 						确认预约
 					</view>
@@ -262,7 +262,7 @@
 								<view class="text">
 									可继续行驶{{OrderdeviceInfos.remainingMileage}}公里
 								</view>
-								<view class="speed">
+								<view class="speed" style="background: #ccc; ">
 									<view class="speeds" :style="{ width: OrderdeviceInfos.remainingPower + '%' }">
 
 									</view>
@@ -301,11 +301,11 @@
 							@click="unloackdevices()">
 							解锁用车
 						</view>
-						<view class="btn1" @click="backDevice()">
+						<view class="btn1" @click="backDevicecar()">
 							还车
 						</view>
 					</view>
-				
+
 				</view>
 			</view>
 			<view class="page4" v-if="deviceIndex==3">
@@ -373,9 +373,12 @@
 					</view>
 				</view>
 			</view>
-			<view class="guangggao">
+			<view class="guangggao" v-if="gps.deptId==100">
 				<image src="https://lxnapi.ccttiot.com/bike/img/static/uvHYQhuouHZQQL3qfLzP" mode=""></image>
 			</view>
+			<view class="guangggao" v-if="gps.deptId==101" @click="gotowzysd()">
+				<image src="https://lxnapi.ccttiot.com/bike/img/static/un0FWzTJzJ35dYU7mgdl" mode=""></image>
+			</view>
 		</view>
 
 		<view class="tipss_box">
@@ -583,6 +586,27 @@
 			</view>
 
 		</view>
+		<!-- 是否确认还车 -->
+		<u-mask :show="isbackcar"   :z-index='100' duration='0' />
+		<view class="pops"  @click="isbackcar = false"  v-if="isbackcar">
+			<view class="tit" style="font-weight: 600;">
+				温馨提示
+			</view>
+			<view class="cont_box" style="text-align: center;color: #808080;justify-content: center;font-size: 36rpx;">
+			 为了避免误触,请问是否确定还车
+			</view>
+		
+			<view class="btn_box">
+				<view class="btn1" @click="isbackcar = false">
+					取消
+				</view>
+				<view class="btn2" @click="backDevice()">
+					确定
+				</view>
+			</view>
+		
+		</view>
+		
 	</view>
 </template>
 
@@ -680,7 +704,8 @@
 				isnoline: false,
 				carstause: false,
 
-				isbackdevice: false
+				isbackdevice: false,
+				isbackcar:false
 
 			}
 		},
@@ -690,11 +715,11 @@
 				// console.log('userId 发生变化', newValue, oldValue);
 				this.getisInOrder()
 			},
-			
+
 		},
 
 		onLoad(e) {
-			this.gps.deptId= uni.getStorageSync('deptId');
+			this.gps.deptId = uni.getStorageSync('deptId');
 			console.log(e, 'eeeeeeeeeeeeeeeeeee');
 			if (e.q) {
 				this.qParam = e.q
@@ -703,17 +728,17 @@
 			}
 			if (e.qParam) {
 				this.qParam = e.qParam
-			
-			
+
+
 			}
-			if(this.gps.deptId==101){
-				if(this.showagre){
+			if (this.gps.deptId == 101) {
+				if (this.showagre) {
 					uni.redirectTo({
-						url:'/page_user/agreement?needback=true&qParam='+this.qParam
+						url: '/page_user/agreement?needback=true&qParam=' + this.qParam
 					})
 				}
 			}
-			
+
 			if (e.sn) {
 				this.sn = e.sn
 				if (this.sn != '') {
@@ -734,38 +759,38 @@
 			}, 500)
 		},
 		onShow() {
-			this.timers = setInterval(() => {
-				// console.log('定时器运行中...');
-				this.getmarks()
-				// 在这里执行你的逻辑
-			}, 3000); // 每秒执行一次
-		
+			// this.timers = setInterval(() => {
+			// 	// console.log('定时器运行中...');
+			// 	this.getmarks()
+			// 	// 在这里执行你的逻辑
+			// }, 3000); // 每秒执行一次
+
 			if (this.seeDetail == false) {
 
-				
+
 				let that = this
 				uni.getLocation({
-					type: 'wgs84',
+					type: 'gcj02',
 					success: function(lb) {
-						that.latitude = 23.440359
-						that.longitude =117.074552
-						that.gps.latitude =23.440359
-						that.gps.longitude = 117.074552;
-						
-						
-						
-						// that.gps.latitude = lb.latitude;
-						// that.gps.longitude = lb.longitude;
-						
-						// that.latitude = Number(lb.latitude.toFixed(5)) - 0.005
-						// that.longitude = Number(lb.longitude.toFixed(5)) + 0.005
-						
-						
+						// that.latitude = 23.440359
+						// that.longitude = 117.074552
+						// that.gps.latitude = 23.440359
+						// that.gps.longitude = 117.074552;
+
+
+
+						that.gps.latitude = lb.latitude;
+						that.gps.longitude = lb.longitude;
+
+						that.latitude = Number(lb.latitude.toFixed(5)) - 0.005
+						that.longitude = Number(lb.longitude.toFixed(5)) + 0.005
+
+
 						console.log(that.areaInfo, 'that.areaInfo');
 						that.getArea()
-						if (that.qParam!='null'&&that.showagre==false) {
+						if (that.qParam != 'null' && that.showagre == false) {
 							let qParam = that.qParam
-							console.log(qParam,'qParamqParamqParam');
+							console.log(qParam, 'qParamqParamqParam');
 							// 第2步: URL解码q参数
 							let decodedUrl = decodeURIComponent(qParam);
 
@@ -882,16 +907,103 @@
 			isMeal() {
 				return this.$store.getters.isMeal;
 			},
-			
+
 			showagre() {
 				return this.$store.getters.showagre;
 			},
 		},
 		methods: {
+			backDevicecar(){
+				this.isbackcar=true
+			},
+			gotowzysd() {
+				uni.navigateToMiniProgram({
+					appId: 'wxd7c0bb79b9d616c3', //目标小程序appid
+					path: '/pages/index/index', //需要打开的目标路径
+					extraData: {
+						'data1': 'test'
+					},
+					envVersion: 'trial', //小程序版本:develop(开发版),trial(体验版),release(正式版)
+					success(res) {
+						// 打开成功
+					}
+				})
+			},
+
+
+			onMapRegionChange(event) {
+				console.log('regionchange', event)
+				if (event.detail.type == 'end') {
+					// this.getCenterLanLat()
+				}
+				// 你可以在这里执行你需要的操作
+			},
+			getCenterLanLat() {
+				let that = this
+				uni.createMapContext("map", this).getCenterLocation({
+					type: 'gcj02',
+					success: (res) => {
+						console.log("当前地图中心的经纬度", res)
+						that.gps.latitude = res.latitude;
+						that.gps.longitude = res.longitude;
+						that.getAreas()
+						//其他逻辑
+					},
+					fail: (err) => {}
+				})
+			},
+			getAreas() {
+
+				this.$u.get('/app/area/info?', this.gps).then((res) => {
+					this.showmap = true
+					if (res.code === 200) {
+
+						// 处理接口返回的数据,将边界数据转换为地图组件需要的折线结构
+						const polylines = this.convertBoundaryToPolyline(res.data.boundaryStr)
+						// console.log(polylines,'polylinespolylinespolylines');
+						// .filter(area => area.boundaryStr) // 过滤掉boundary为空的数据
+						// .map(area => this.convertBoundaryToPolyline(area.boundaryStr));
+						// 更新折线数据
+						this.areaInfo = res.data
+						this.polyline.push(polylines)
+						console.log();
+						// console.log(this.areaInfo, 'areaInfoareaInfo');
+						uni.setStorageSync('areaId', res.data.areaId);
+						// this.getinfo()
+						// this.getmarks()
+						// this.getlist()
+						this.getParking()
+
+
+
+
+						// this.setMapScale()
+						// if(!hasShownPopup){
+						// 	console.log(typeof(hasShownPopup),'hasShownPopuphasShownPopup');
+						// 	this.showTips=uni.getStorageSync('hasShownPopup')
+						// }else{
+						// 	this.showTips=true
+						// 	uni.setStorageSync('hasShownPopup', true);
+						// }
+
+						// this.$store.commit('SET_SHOWTIPS', true);
+						// console.log(this.polyline);
+					} else {
+						uni.showToast({
+							title: res.msg,
+							icon: 'none',
+							duration: 2000
+						});
+					}
+				}).catch(error => {
+					console.error("Error fetching area data:", error);
+				});
+			},
+
 			keepback() {
 				let that = this
 				uni.getLocation({
-					type: 'wgs84',
+					type: 'gcj02',
 					success: function(lb) {
 
 
@@ -927,7 +1039,7 @@
 								duration: 1000
 							});
 							setTimeout(() => {
-								that.isbackdevice=false
+								that.isbackdevice = false
 								that.isnoline = true
 							}, 1300)
 						}
@@ -950,7 +1062,7 @@
 			onlinebackDevice() {
 				let that = this
 				uni.getLocation({
-					type: 'wgs84',
+					type: 'gcj02',
 					success: function(lb) {
 
 
@@ -1093,7 +1205,7 @@
 						'isStart': false
 					});
 					setTimeout(() => {
-						
+
 						if (this.devicesList.length == 0) {
 							uni.showToast({
 								title: '暂无发现对应设备,请靠近设备',
@@ -1124,8 +1236,8 @@
 								}
 							});
 						}
-							
-						
+
+
 					}, 200)
 					// 判断是否存在浇花器设备
 
@@ -1245,7 +1357,7 @@
 						setTimeout(() => {
 							let that = this
 							uni.getLocation({
-								type: 'wgs84',
+								type: 'gcj02',
 								success: function(lb) {
 
 
@@ -1345,20 +1457,22 @@
 						setTimeout(() => {
 							let that = this
 							uni.getLocation({
-								type: 'wgs84',
+								type: 'gcj02',
 								success: function(lb) {
-							
-							
+
+
 									let data = {
 										latitude: lb.latitude,
 										longitude: lb.longitude,
 										areaId: that.areaInfo.areaId
 									}
-									that.$u.post('/appVerify/device/lock?sn=' + that.OrderdeviceInfos.sn + '&orderNo=' +
+									that.$u.post('/appVerify/device/lock?sn=' + that.OrderdeviceInfos
+										.sn + '&orderNo=' +
 										that
 										.orderinfo
-										.orderNo + '&isBluetooth=true'+ '&lon=' + lb.longitude + '&lat='+lb.latitude).then((res) => {
-									
+										.orderNo + '&isBluetooth=true' + '&lon=' + lb.longitude +
+										'&lat=' + lb.latitude).then((res) => {
+
 										if (res.code === 200) {
 											that.getisInOrder()
 										} else {
@@ -1375,10 +1489,10 @@
 													duration: 2000
 												});
 											}
-									
+
 										}
 									})
-									
+
 								},
 								fail: function(error) {
 									uni.showToast({
@@ -1389,9 +1503,9 @@
 									// that.getmarks()
 									// 在这里处理获取位置信息失败的情况
 								}
-							
+
 							})
-						
+
 						}, 300)
 					} else {
 						uni.showToast({
@@ -1443,12 +1557,11 @@
 						console.log("连接回调:" + JSON.stringify(options));
 						if (options.result) {
 							// uni.hideLoading();
-							
+
 							uni.showToast({
 								title: '连接成功',
 								icon: 'none'
-							}); 
-							{
+							}); {
 
 								xBlufi.notifyInitBleEsp32({
 									deviceId: options.data.deviceId
@@ -1532,9 +1645,9 @@
 					deviceId: e.deviceId,
 					name
 				});
-				setTimeout(()=>{
+				setTimeout(() => {
 					uni.hideLoading()
-				},3000)
+				}, 3000)
 				// for (var i = 0; i < this.devicesList.length; i++) {
 				// 	if (e.deviceId === this.devicesList[i].deviceId) {
 
@@ -1656,7 +1769,7 @@
 						this.OrderdeviceInfos = res.data
 						// this.OrderdeviceInfos.onlineStatus ='0'
 
-						if (this.OrderdeviceInfos.onlineStatus == 0&&this.orderinfo.status != 3) {
+						if (this.OrderdeviceInfos.onlineStatus == 0 && this.orderinfo.status != 3) {
 							this.mac = this.OrderdeviceInfos.mac
 							if (this.carstause == false) {
 
@@ -1665,22 +1778,22 @@
 
 						}
 						// 直接从OrderdeviceInfos对象创建一个新的标记,并标记为设备特定标记
-						const newMarker = {
-							id: parseFloat(this.OrderdeviceInfos.sn),
-							latitude: parseFloat(this.OrderdeviceInfos.latitude),
-							longitude: parseFloat(this.OrderdeviceInfos.longitude),
-							width: 40,
-							height: 28,
-							isDeviceMarker: true, // 添加标识属性
-							iconPath: 'https://api.ccttiot.com/smartmeter/img/static/uF9qLejuAZErNTrRuHq7',
-						};
+						// const newMarker = {
+						// 	id: parseFloat(this.OrderdeviceInfos.sn),
+						// 	latitude: parseFloat(this.OrderdeviceInfos.latitude),
+						// 	longitude: parseFloat(this.OrderdeviceInfos.longitude),
+						// 	width: 40,
+						// 	height: 28,
+						// 	isDeviceMarker: true, // 添加标识属性
+						// 	iconPath: 'https://api.ccttiot.com/smartmeter/img/static/uF9qLejuAZErNTrRuHq7',
+						// };
 
-						// 保留显示气泡的标记和设备特定标记
-						const preservedMarkers = this.markers.filter(marker => marker.isCalloutVisible || marker
-							.isDeviceMarker);
-						// 使用单个新标记更新markers数组,如果需要保留之前的标记也可以加入
-						this.markers = [newMarker, ...preservedMarkers];
-						this.oldMarkers = [...this.markers];
+						// // 保留显示气泡的标记和设备特定标记
+						// const preservedMarkers = this.markers.filter(marker => marker.isCalloutVisible || marker
+						// 	.isDeviceMarker);
+						// // 使用单个新标记更新markers数组,如果需要保留之前的标记也可以加入
+						// this.markers = [newMarker, ...preservedMarkers];
+						// this.oldMarkers = [...this.markers];
 
 					} else {
 						// 处理接口返回错误的情况
@@ -2006,9 +2119,9 @@
 				this.freeListIndex = index
 			},
 			// 无套餐取消预约
-			
+
 			// 套餐取消预约
-			
+
 			backDevice() {
 				if (this.OrderdeviceInfos.onlineStatus == 1) {
 					uni.showLoading({
@@ -2231,7 +2344,7 @@
 					}
 				})
 			},
-		
+
 
 			sub5() {
 				if (this.orderinfo.ruleId) {
@@ -2765,7 +2878,7 @@
 					console.log('点击了标记:', e.markerId);
 					// 这里可以根据需要处理点击标记的逻辑
 					// 阻止事件冒泡\
-				
+
 					const markerExists = this.listData.some(item => item.sn == e.markerId);
 
 					if (markerExists) {
@@ -2782,8 +2895,8 @@
 				}
 
 			},
-			
-			
+
+
 			toggleIconAndCallout() {
 				this.showIconAndCallout = !this.showIconAndCallout;
 				if (this.showIconAndCallout) {
@@ -2795,7 +2908,11 @@
 							longitude: parseFloat(item.longitude),
 							width: 20,
 							height: 28.95,
-							iconPath: item.type == 1 ?'https://lxnapi.ccttiot.com/bike/img/static/up2xXqAgwCX5iER600k3':item.type == 2 ?'https://lxnapi.ccttiot.com/bike/img/static/u53BAQcFIX3vxsCzEZ7t' :' https://lxnapi.ccttiot.com/bike/img/static/uDNY5Q4zOiZTCBTA2Jdq',
+							iconPath: item.type == 1 ?
+								'https://lxnapi.ccttiot.com/bike/img/static/up2xXqAgwCX5iER600k3' : item
+								.type == 2 ?
+								'https://lxnapi.ccttiot.com/bike/img/static/u53BAQcFIX3vxsCzEZ7t' :
+								' https://lxnapi.ccttiot.com/bike/img/static/uDNY5Q4zOiZTCBTA2Jdq',
 							callout: {
 								content: item.parkingName,
 								color: '#ffffff',
@@ -2938,7 +3055,7 @@
 				this.$u.get('/app/area/info?', this.gps).then((res) => {
 					this.showmap = true
 					if (res.code === 200) {
-						
+
 						// 处理接口返回的数据,将边界数据转换为地图组件需要的折线结构
 						const polylines = this.convertBoundaryToPolyline(res.data.boundaryStr)
 						// console.log(polylines,'polylinespolylinespolylines');
@@ -2963,7 +3080,7 @@
 
 						if (hasShownPopup === '' || hasShownPopup === null) {
 							console.log('1111111111');
-							
+
 							this.showTips = true;
 							this.startCountdown();
 							uni.setStorageSync('hasShownPopup', true);
@@ -2972,10 +3089,10 @@
 							this.showTips = uni.getStorageSync('hasShownPopup');
 							console.log(this.showTips, 'this.showTips');
 							this.startCountdown();
-							
+
 						}
-						
-						this.setMapScale()
+
+						// this.setMapScale()
 						// if(!hasShownPopup){
 						// 	console.log(typeof(hasShownPopup),'hasShownPopuphasShownPopup');
 						// 	this.showTips=uni.getStorageSync('hasShownPopup')
@@ -3153,14 +3270,14 @@
 					// 	url:''
 					// })
 				} else if (num == 1) {
-			
+
 					uni.showLoading({
-			
+
 					})
 					if (uni.getStorageSync('token')) {
 						if (this.areaInfo.authentication == 1) {
 							this.$u.get("/getAppInfo").then(res => {
-			
+
 								if (res.code == 200) {
 									this.userinfo = res.user;
 									this.$store.commit('SET_USERID', res.user.userId);
@@ -3197,10 +3314,10 @@
 							});
 							this.showYjTip = false
 						}
-			
-			
+
+
 					} else {
-			
+
 						let that = this;
 						wx.login({
 							success(res) {
@@ -3224,7 +3341,7 @@
 															if (res.user.isAuthentication == 0) {
 																uni.hideLoading()
 																that.seeDetail = true;
-			
+
 																uni.navigateTo({
 																	url: "/page_user/idcard_test"
 																});
@@ -3298,12 +3415,12 @@
 								console.error('微信登录接口调用失败:', err);
 							}
 						});
-			
-			
+
+
 						this.showYjTip = false
-			
+
 					}
-			
+
 				} else if (num == 2) {
 					uni.navigateTo({
 						url: '/page_user/jfgz'
@@ -3320,9 +3437,9 @@
 							url: '/page_user/bhks'
 						})
 					}
-			
+
 				} else if (num == 5) {
-			
+
 					uni.navigateTo({
 						url: '/page_user/gzsb'
 					})
@@ -3330,7 +3447,7 @@
 					uni.navigateTo({
 						url: '/pages/my'
 					})
-			
+
 				} else if (num == 7) {
 					uni.navigateTo({
 						url: '/page_user/gzsb?sn=' + this.sn
@@ -3347,11 +3464,11 @@
 			},
 			deviceInfo(num) {
 				if (uni.getStorageSync('token')) {
-			
+
 					this.$u.get('/app/device/info?sn=' + this.sn).then((res) => {
 						if (res.code === 200) {
 							this.deviceInfos = res.data;
-			
+
 							if (num == 0) {
 								this.showdevice = true;
 								this.type = 0;
@@ -3438,12 +3555,12 @@
 											// uni.hideLoading();
 											if (res.code == 200) {
 												uni.setStorageSync('token', res.token);
-			
+												this.getinfo()
 												this.$u.get('/app/device/info?sn=' + this.sn).then((
 													res) => {
 													if (res.code === 200) {
 														this.deviceInfos = res.data;
-			
+
 														if (num == 0) {
 															this.showdevice = true;
 															this.type = 0;
@@ -3534,15 +3651,15 @@
 												});
 											}
 										});
-			
+
 								}
-			
+
 							}
 						},
 					});
 				}
 			},
-			
+
 		},
 
 	}
@@ -3613,7 +3730,7 @@
 
 			.txts {
 				position: absolute;
-				left: 150rpx;
+				left: 300rpx;
 				bottom: 90rpx;
 				font-weight: 500;
 				font-size: 36rpx;
@@ -4075,7 +4192,8 @@
 
 					.card {
 
-						width: 500rpx !important; // 确保宽度被应用
+						// max-width:  600rpx !important; // 确保宽度被应用
+						width:  450rpx !important;
 						height: 288rpx;
 						margin-right: 20rpx;
 						position: relative;
@@ -4098,7 +4216,8 @@
 							justify-content: center;
 							position: absolute;
 							bottom: 0;
-							width: 350rpx;
+							// width: 350rpx;
+							width: 100%;
 							height: 70rpx;
 							background: #4C97E7;
 							border-radius: 0rpx 0rpx 16rpx 16rpx;
@@ -4314,7 +4433,7 @@
 									margin-top: 18rpx;
 									width: 226rpx;
 									height: 22rpx;
-									background: #ccc;
+									background: red;
 									border-radius: 16rpx 16rpx 16rpx 16rpx;
 
 									.speeds {
diff --git a/pages_admin/admin_index.vue b/pages_admin/admin_index.vue
index 2db8d80..c9648e2 100644
--- a/pages_admin/admin_index.vue
+++ b/pages_admin/admin_index.vue
@@ -125,7 +125,7 @@
 				latitude: 0,
 				longitude: 0,
 				isMap: false,
-				zoomSize: 15,
+				zoomSize: 13,
 				markers: [],
 				polyline: [],
 				polygons: [],
@@ -135,7 +135,7 @@
 				infonum: {},
 				rangeMin: 0,
 				rangMax: 100,
-				rangeValue: [1, 99],
+				rangeValue: [1, 100],
 				status0: [], //未上架
 				status1: [], //正常
 				status2: [], //预约中
@@ -184,10 +184,10 @@
 				success: function(lb) {
 			
 			
-					that.latitude = Number(lb.latitude.toFixed(5)) - 0.005
-					that.longitude = Number(lb.longitude.toFixed(5)) + 0.005
+					// that.latitude = Number(lb.latitude.toFixed(5)) - 0.005
+					// that.longitude = Number(lb.longitude.toFixed(5)) + 0.005
 					console.log(that.areaInfo, 'that.areaInfo');
-					that.setMapScale()
+					// that.setMapScale()
 					// that.getmarks()
 			
 			
@@ -669,6 +669,8 @@
 				this.$u.get("/app/area/" + id).then((res) => {
 				
 					if (res.code == 200) {
+						this.latitude =res.data.latitude
+						this.longitude = res.data.longitude
 						// this.areaInfo = res.data
 						const polylines = this.convertBoundaryToPolyline(res.data.boundaryStr)
 						this.polyline.push(polylines)
diff --git a/pages_admin/admin_order.vue b/pages_admin/admin_order.vue
index 535c017..62de7bb 100644
--- a/pages_admin/admin_order.vue
+++ b/pages_admin/admin_order.vue
@@ -86,8 +86,17 @@
 									
 								</view>
 								<view class="info_li">
-									订单费用:{{item.totalFee}}元
+									<view class="half_info_li">
+										订单费用:{{item.totalFee}}元
+									</view>
+									<view class="half_info_li" v-if="item.status==4" >
+										
+										有无退款:<span v-if="item.etRefund==null">无</span>
+										<span v-else style="color: red;">有</span>
+									</view>
+									
 								</view>
+								
 								<view class="info_li" v-if="item.unlock_time">
 									开关时间:{{item.unlock_time}} {{ item.return_time ? item.return_time : '--' }}
 								</view>
@@ -284,9 +293,17 @@
 										租赁时长:{{computedList(item)}}
 									</view>
 								</view>
-								<view class="info_li">
+							<view class="info_li">
+								<view class="half_info_li">
 									订单费用:{{item.totalFee}}元
 								</view>
+								<view class="half_info_li"  v-if="item.status==4" >
+									
+									有无退款:<span v-if="item.etRefund==null">无</span>
+									<span v-else style="color: red;">有</span>
+								</view>
+								
+							</view>
 								<view class="info_li" v-if="item.unlock_time">
 									开关时间:{{item.unlock_time}} {{ item.return_time ? item.return_time : '--' }}
 								</view>
diff --git a/pages_admin/admin_worke.vue b/pages_admin/admin_worke.vue
index 7e7eaff..f5795e1 100644
--- a/pages_admin/admin_worke.vue
+++ b/pages_admin/admin_worke.vue
@@ -1,7 +1,10 @@
 <template>
 	<view class="page">
-		<u-navbar  :is-back='false' title="工作台" :border-bottom="false" :background="bgc" title-color='#2E4975' title-size='36'
-			height='45'></u-navbar>
+		<view class="toptit" @click="shows()">
+			{{areaInfo.areaName}}
+		</view>
+		<!-- <u-navbar  :is-back='false' title="工作台" :border-bottom="false" :background="bgc" title-color='#2E4975' title-size='36'
+			height='45'></u-navbar> -->
 			
 		<view class="cont_box">
 			<view class="top">
@@ -47,7 +50,7 @@
 				</view>
 			</view>
 		</view>
-		
+			<u-select v-model="show" :list="list" title='选择运营区' @confirm="confirm"></u-select>
 		<tab-bar :indexs='0' style=""></tab-bar>
 	</view>
 </template>
@@ -59,7 +62,11 @@
 				bgc: {
 					backgroundColor: "#FFFFFF",
 				},
-				sn:''
+				sn:'',
+				areaId:0,
+				areaInfo:{},
+				list: [],
+				show: false
 			
 			}
 		},
@@ -68,6 +75,11 @@
 
 				// 执行其他操作...
 			});
+			if(uni.getStorageSync('adminAreaid')){
+				this.areaId = uni.getStorageSync('adminAreaid')
+				this.getArea()
+				this.getareaList()
+			}
 		
 		},
 		computed: {
@@ -76,6 +88,51 @@
 			},
 		},
 		methods: {
+			shows(){
+				
+				if(this.list.length<2){
+					
+				}else{
+					this.show =true
+				}
+			},
+			getareaList(){
+			
+			
+				this.$u.get('/appVerify/getAreaList').then((res) => {
+					if(res.code==200){
+					  this.list = res.data.map(item => ({
+					            value: item.areaId,
+					            label: item.areaName
+					        }));
+					}
+				}).catch(error => {
+					console.error("Error fetching area data:", error);
+				});
+			},
+			confirm(e){
+				// console.log(e);
+				uni.setStorageSync('adminAreaid', e[0].value);
+				
+				
+				
+			},
+			getArea() {
+				
+				let id = this.areaId
+				this.$u.get("/app/area/" + id).then((res) => {
+				
+					if (res.code == 200) {
+						this.areaInfo=res.data
+					} else {
+						uni.showToast({
+							title: res.msg,
+							icon: 'none',
+							duration: 2000
+						});
+					}
+				});
+			},
 			topage(num){
 				if(num==0){
 					uni.navigateTo({
@@ -146,7 +203,11 @@
 
 	.page {
 		width: 750rpx;
-
+		.toptit{
+			margin-top: 100rpx;
+			margin-left: 100rpx;
+			font-size: 38rpx;
+		}
 		.cont_box{
 			padding: 46rpx 50rpx;
 			margin: 68rpx auto;
diff --git a/pages_admin/order/device_detail.vue b/pages_admin/order/device_detail.vue
index 0d0da07..9700666 100644
--- a/pages_admin/order/device_detail.vue
+++ b/pages_admin/order/device_detail.vue
@@ -6,21 +6,22 @@
 				
 			</view> -->
 		<map class="map" id="map" ref="map" :scale="zoomSize" :latitude="latitude" :longitude="longitude"
-			:show-location="true" :markers="markers" :polygons="polyline" >
-			<cover-view  class="park" @click="toggleIconAndCallout">
-				<cover-image class="img" src="https://lxnapi.ccttiot.com/bike/img/static/uRiYQZQEb3l2LsltEsyW" mode=""></cover-image>
+			:show-location="true" :markers="markers" :polygons="polyline">
+			<cover-view class="park" @click="toggleIconAndCallout">
+				<cover-image class="img" src="https://lxnapi.ccttiot.com/bike/img/static/uRiYQZQEb3l2LsltEsyW"
+					mode=""></cover-image>
 			</cover-view>
-			</map>
-			
-			
+		</map>
+
+
 		<view class="info_card">
 			<view class="info_tit">
 				设备信息
 			</view>
 			<view class="lines"></view>
 			<view class="cont">
-				
-				
+
+
 				<view class="info_li">
 					<view class="half_infoli">
 						车牌号:<span v-if="deviceInfos.vehicleNum">{{deviceInfos.vehicleNum}}</span>
@@ -45,11 +46,11 @@
 					<span v-if="deviceInfos.areaName">{{deviceInfos.areaName}}</span>
 					<span v-else>--</span>
 				</view>
-				
+
 			</view>
 			<view class="lines"></view>
 			<view class="cont">
-			
+
 				<view class="info_li">
 					<view class="half_infoli">
 						车辆状态:<span>{{status()}}</span>
@@ -58,7 +59,7 @@
 						续航里程:
 						<span v-if="deviceInfos.remainingMileage">{{deviceInfos.remainingMileage}} KM</span>
 						<span v-else>--</span>
-						
+
 					</view>
 				</view>
 				<view class="info_li">
@@ -68,12 +69,12 @@
 						<span v-else>--</span>
 					</view>
 				</view>
-				
-			<!-- 	<view class="info_li">
+
+				<!-- 	<view class="info_li">
 					异常原因:<span>已完成</span>
 				</view> -->
 			</view>
-		<!-- 	<view class="lines"></view>
+			<!-- 	<view class="lines"></view>
 			<view class="cont">
 			
 				<view class="info_li">
@@ -86,10 +87,10 @@
 			</view> -->
 			<view class="lines"></view>
 			<view class="cont">
-			
-			
+
+
 				<view class="info_li">
-					最后定位坐标
+					最后定位坐标:
 					<span v-if="deviceInfos.latitude">{{deviceInfos.latitude}},{{deviceInfos.longitude}}</span>
 					<span v-else>--</span>
 				</view>
@@ -105,21 +106,21 @@
 				</view>
 			</view>
 		</view>
-		<view class="info_card" style="margin-top: 20rpx;" v-if="deviceInfos.etOrders!=''"> 
+		<view class="info_card" style="margin-top: 20rpx;" v-if="deviceInfos.etOrders!=''">
 			<view class="info_tit">
-				订单信息
+				最后订单信息
 			</view>
 			<view class="lines"></view>
 			<view class="cont">
-			
-			
+
+
 				<view class="info_li">
-					当前用户:
+					最后用户:
 					<span v-if="deviceInfos.etOrders[0].phonenumber">{{deviceInfos.etOrders[0].phonenumber}}</span>
 					<span v-else>--</span>
 				</view>
 				<view class="info_li" style="flex-wrap: wrap;display: inline-block;">
-					当前订单编号:
+					最后订单编号:
 					<span v-if="deviceInfos.etOrders[0].orderNo">{{deviceInfos.etOrders[0].orderNo}}</span>
 					<span v-else>--</span>
 				</view>
@@ -128,34 +129,41 @@
 					<span v-if="deviceInfos.etOrders[0].createTime">{{deviceInfos.etOrders[0].createTime}}</span>
 					<span v-else>--</span>
 				</view>
+				<view class="info_li">
+					<view class="info_li">
+					
+						订单状态:<span>{{statuss()}}</span>
+					</view>
+					
+				</view>
 			</view>
 		</view>
 		<view class="bot_btn">
 			<view class="btn" @click="btn(0)">
 				开锁
 			</view>
-			<view class="btn"  @click="btn(1)">
+			<view class="btn" @click="btn(1)">
 				关锁
 			</view>
-			<view class="btn"  @click="btn(2)">
+			<view class="btn" @click="btn(2)">
 				车辆禁用
 			</view>
-			<view class="btn"  @click="btn(3)">
+			<view class="btn" @click="btn(3)">
 				车辆解禁
 			</view>
-			<view class="btn"  @click="btn(4)">
+			<view class="btn" @click="btn(4)">
 				响铃寻车
 			</view>
-			<view class="btn"  @click="Binddevice()">
+			<view class="btn" @click="Binddevice()">
 				蓝牙链接
 			</view>
-			<view class="btn"  @click="open()" v-if="carstause">
+			<view class="btn" @click="open()" v-if="carstause">
 				蓝牙开锁
 			</view>
-			<view class="btn"  @click="close()" v-if="carstause">
+			<view class="btn" @click="close()" v-if="carstause">
 				蓝牙关锁
 			</view>
-			<view class="btn"  @click="reboot()" v-if="carstause">
+			<view class="btn" @click="reboot()" v-if="carstause">
 				设备重启
 			</view>
 			<view class="btn" @click="tipshow=true" v-if="info.type==1">
@@ -171,22 +179,18 @@
 				<view class="tip">
 					修改车牌号
 				</view>
-				
+
 				<view class="ipt_box">
 					<view class="text">
-					车牌号
+						车牌号
 					</view>
 					<view class="ipt">
-						<input type="text"
-							 v-model="searchKeyword"
-							 placeholder="0.00"
-							 class="input"
-							 placeholder-style="color:#C7CDD3"
-							>
-							元
+						<input type="text" v-model="searchKeyword" placeholder="0.00" class="input"
+							placeholder-style="color:#C7CDD3">
+						元
 					</view>
 				</view>
-				
+
 			</view>
 			<view class="bot">
 				<view class="bot_left" @click="show=false">
@@ -236,16 +240,16 @@
 				name: '',
 				orderinfo: {},
 				dl: 0,
-				czmoney:true,
-				iscz:true,
-				
-				
-				
+				czmoney: true,
+				iscz: true,
+
+
+
 				bgc: {
 					backgroundColor: "#F7FAFE",
 				},
-				show:true,
-				showgj:true,
+				show: true,
+				showgj: true,
 				searchKeyword: '11',
 				latitude: 39.916527,
 				longitude: 116.397128,
@@ -255,20 +259,20 @@
 				polyline: [],
 				polygons: [],
 				cardId: '001区域',
-				sn:'',
-				deviceInfos:{},
-				carstause:false
-				
-				
-				
+				sn: '',
+				deviceInfos: {},
+				carstause: false
+
+
+
 
 			}
 		},
 		onLoad(e) {
-			this.sn=e.id
+			this.sn = e.id
 			this.deviceInfo()
-			this.getArea()
-		
+
+
 		},
 		onUnload: function() {
 			xBlufi.listenDeviceMsgEvent(false, this.funListenDeviceMsgEvent);
@@ -276,27 +280,44 @@
 				'isStart': false
 			});
 		},
-		onHide(){
+		onHide() {
 			xBlufi.listenDeviceMsgEvent(false, this.funListenDeviceMsgEvent);
 			xBlufi.notifyStartDiscoverBle({
 				'isStart': false
 			});
 		},
-		onBeforeUnmount(){
+		onBeforeUnmount() {
 			xBlufi.listenDeviceMsgEvent(false, this.funListenDeviceMsgEvent);
 			xBlufi.notifyStartDiscoverBle({
 				'isStart': false
 			});
 		},
 		watch: {
-		
-		
-			
+
+
+
 		},
 		methods: {
-			Binddevice(){
+			
+			statuss() {
+				if (this.deviceInfos.etOrders[0] != '') {
+					if (this.deviceInfos.etOrders[0].status == 0) {
+						return '预约中'
+					} else if (this.deviceInfos.etOrders[0].status == 1) {
+						return '取消预约'
+					} else if (this.deviceInfos.etOrders[0].status == 2) {
+						return '骑行中'
+					} else if (this.deviceInfos.etOrders[0].status == 3) {
+						return '骑行结束'
+					} else if (this.deviceInfos.etOrders[0].status == 4) {
+						return '订单完成'
+					}
+				}
+			
+			},
+			Binddevice() {
 				uni.showLoading({
-					title:'连接中..'
+					title: '连接中..'
 				})
 				xBlufi.initXBlufi(1);
 				console.log("xBlufi", xBlufi.XMQTT_SYSTEM);
@@ -304,14 +325,14 @@
 				xBlufi.notifyStartDiscoverBle({
 					'isStart': true
 				});
-				
-				
+
+
 				// 两秒后停止蓝牙搜索
 				setTimeout(() => {
 					xBlufi.notifyStartDiscoverBle({
 						'isStart': false
 					});
-					setTimeout(()=>{
+					setTimeout(() => {
 						uni.hideLoading()
 						if (this.devicesList.length == 0) {
 							uni.showToast({
@@ -320,14 +341,14 @@
 							});
 						} else {
 							let uniqueDevicesList = Array.from(new Set(this.devicesList));
-										
+
 							// 将去重后的数组重新赋值给 this.devicesList
 							this.devicesList = uniqueDevicesList;
-							console.log(this.devicesList,'this.devicesListthis.devicesList');
+							console.log(this.devicesList, 'this.devicesListthis.devicesList');
 							this.devicesList.forEach(device => {
 								// 从设备名称中提取 MAC 地址(假设 MAC 地址是设备名称的后6个字符)
 								let macFromName = device.name.substring(device.name.length - 12);
-								console.log(macFromName,'macFromNamemacFromName');
+								console.log(macFromName, 'macFromNamemacFromName');
 								// 与 this.mac 进行比较
 								if (macFromName == this.mac) {
 									// 如果相同,则将 this.ishave 设置为 true
@@ -335,22 +356,22 @@
 									this.deviceInfoss = device
 									// this.ishave = true;
 									this.createBLEConnection(device)
-									
+
 									console.log('对比正确1111111111');
 								} else {
 									console.log('对比错误');
-									
+
 								}
 							});
 						}
-					},200)
+					}, 200)
 					// 判断是否存在浇花器设备
-					
+
 					// this.status = true
 				}, 2000)
-			
+
 			},
-			reboot(){
+			reboot() {
 				let vm = this; // 将外部的 this 绑定到 vm 上
 				uni.getNetworkType({
 					success(res) {
@@ -366,7 +387,7 @@
 									// vm.remakr()
 								},
 								fail(err) {
-										uni.hideLoading()
+									uni.hideLoading()
 									console.error('获取已连接蓝牙设备信息失败:', err);
 								}
 							});
@@ -376,7 +397,7 @@
 					}
 				});
 			},
-			open(){
+			open() {
 				let vm = this; // 将外部的 this 绑定到 vm 上
 				uni.getNetworkType({
 					success(res) {
@@ -392,7 +413,7 @@
 									// vm.remakr()
 								},
 								fail(err) {
-										uni.hideLoading()
+									uni.hideLoading()
 									console.error('获取已连接蓝牙设备信息失败:', err);
 								}
 							});
@@ -402,7 +423,7 @@
 					}
 				});
 			},
-			close(){
+			close() {
 				let vm = this; // 将外部的 this 绑定到 vm 上
 				uni.getNetworkType({
 					success(res) {
@@ -418,7 +439,7 @@
 									// vm.remakr()
 								},
 								fail(err) {
-										uni.hideLoading()
+									uni.hideLoading()
 									console.error('获取已连接蓝牙设备信息失败:', err);
 								}
 							});
@@ -428,36 +449,36 @@
 					}
 				});
 			},
-			
+
 			btnyc() {
 				this.titleflag = false
 			},
-			
+
 			// 解析自定义数据
-			
+
 			funListenDeviceMsgEvent: function(options) {
 				switch (options.type) {
 					case xBlufi.XBLUFI_TYPE.TYPE_GET_DEVICE_LISTS:
 						if (options.result) {
 							let devicesarr = options.data
 							// this.devicesList = options.data
-							
+
 							devicesarr.forEach(device => {
-								
-								
-									// this.$u.get(`/app/device/${mac}/isBind`, data).then((res) => {
-									// if (res.data == false) {
-									this.devicesList.push(device);
-									
-									let uniqueDevicesList = Array.from(new Set(this.devicesList));
-			
-									// 将去重后的数组重新赋值给 this.devicesList
-									this.devicesList = uniqueDevicesList;
-								
+
+
+								// this.$u.get(`/app/device/${mac}/isBind`, data).then((res) => {
+								// if (res.data == false) {
+								this.devicesList.push(device);
+
+								let uniqueDevicesList = Array.from(new Set(this.devicesList));
+
+								// 将去重后的数组重新赋值给 this.devicesList
+								this.devicesList = uniqueDevicesList;
+
 							});
 						}
 						break;
-			
+
 					case xBlufi.XBLUFI_TYPE.TYPE_CONNECTED:
 						console.log("连接回调:" + JSON.stringify(options));
 						if (options.result) {
@@ -466,13 +487,13 @@
 								title: '连接成功',
 								icon: 'none'
 							}); {
-			
+
 								xBlufi.notifyInitBleEsp32({
 									deviceId: options.data.deviceId
 								});
-								
+
 								xBlufi.listenDeviceMsgEvent(true, this.funListenDeviceMsgEvents);
-			
+
 								this.deviceIds = options.data.deviceId
 								this.name = options.data.name
 								// 连接成功绑定设备
@@ -483,7 +504,7 @@
 								let systemInfo = uni.getSystemInfoSync();
 								if (systemInfo.platform === 'android') {
 									// 当前设备是 Android  
-			
+
 								} else if (systemInfo.platform === 'ios') {
 									// 当前设备是 iOS  
 									// uni.navigateTo({
@@ -493,27 +514,27 @@
 								}
 							}
 						}
-			
+
 						break;
 					case xBlufi.XBLUFI_TYPE.TYPE_RECIEVE_CUSTON_DATA:
-			
+
 						// this.ver_data = this.parseCustomData(options.data)
-						if(options.data){
-							this.carstause=true
+						if (options.data) {
+							this.carstause = true
 						}
 						// console.log("1收到设备发来的自定义数据结果:", this.ver_data);
 						break;
 					case xBlufi.XBLUFI_TYPE.TYPE_GET_DEVICE_LISTS_STOP:
 						if (options.result) {
 							let uniqueDevicesList = Array.from(new Set(this.devicesList));
-			
+
 							// 过滤出名称字段的前五个字母为 "CTPOW" 的项
 							let filteredDevices = uniqueDevicesList.filter(device => device.name.substring(0, 4) ===
 								"BBLE");
-			
+
 							// 将过滤后的数组重新赋值给 this.devicesList
 							this.devicesList = filteredDevices;
-						
+
 							// console.log('蓝牙停止搜索ok',this.devicesList);
 						} else {
 							//蓝牙停止搜索失败
@@ -523,12 +544,11 @@
 						// _this.setData({
 						// 	searching: false
 						// });
-			
+
 						break;
 				}
 			},
-			
-			
+
 			//4、建立连接
 			createBLEConnection(e) {
 				console.log('调用了');
@@ -548,7 +568,7 @@
 				});
 				// for (var i = 0; i < this.devicesList.length; i++) {
 				// 	if (e.deviceId === this.devicesList[i].deviceId) {
-			
+
 				// 		uni.showLoading({
 				// 			title: '连接蓝牙设备中...'
 				// 		});
@@ -592,16 +612,16 @@
 						}
 					}, 2000)
 				}
-			
-			
+
+
 			},
 			funListenDeviceMsgEvents: function(options) {
 				let that = this;
 				switch (options.type) {
 					case xBlufi.XBLUFI_TYPE.TYPE_STATUS_CONNECTED: {
 						console.log('状态', options.result)
-						if( options.result==false){
-							this.carstause=false
+						if (options.result == false) {
+							this.carstause = false
 							uni.showToast({
 								title: '设备断开链接,请重新点击蓝牙链接',
 								icon: 'none'
@@ -617,11 +637,11 @@
 							// 	}
 							// });
 							// this.statusflag = false
-								uni.hideLoading();
+							uni.hideLoading();
 						}
 					}
 					break;
-			
+
 					case xBlufi.XBLUFI_TYPE.TYPE_RECIEVE_MY_DATA:
 						this.loadPercent = options.data;
 						this.loadText = '文件读取中'
@@ -631,19 +651,19 @@
 						// this.isband = true
 						// this.ver_data = this.parseCustomData(options.data)
 						console.log("1收到设备发来的自定义数据结果:", options.data);
-						if(options.data){
-							this.carstause=true
+						if (options.data) {
+							this.carstause = true
 						}
 						break;
-			
+
 					case xBlufi.XBLUFI_TYPE.TYPE_INIT_ESP32_RESULT:
 						uni.hideLoading();
 						if (options.result) {
 							console.log('初始化成功');
 						} else {
 							console.log('初始化失败');
-							
-							
+
+
 						}
 						break;
 				}
@@ -653,9 +673,9 @@
 				this.tishiflag = false
 			},
 
-			btn(num){
-				if(num==0){
-					this.$u.post('/appVerify/admin/unlocking?sn='+this.sn).then((res) => {
+			btn(num) {
+				if (num == 0) {
+					this.$u.post('/appVerify/admin/unlocking?sn=' + this.sn).then((res) => {
 						if (res.code === 200) {
 							// 处理接口返回的数据,将边界数据转换为地图组件需要的折线结构
 							this.deviceInfo()
@@ -663,8 +683,8 @@
 					}).catch(error => {
 						console.error("Error fetching area data:", error);
 					});
-				}else if(num==1){
-					this.$u.post('/appVerify/admin/lock?sn='+this.sn).then((res) => {
+				} else if (num == 1) {
+					this.$u.post('/appVerify/admin/lock?sn=' + this.sn).then((res) => {
 						if (res.code === 200) {
 							// 处理接口返回的数据,将边界数据转换为地图组件需要的折线结构
 							this.deviceInfo()
@@ -672,8 +692,8 @@
 					}).catch(error => {
 						console.error("Error fetching area data:", error);
 					});
-				}else if(num==2){
-					this.$u.post('/appVerify/device/offline?sn='+this.sn).then((res) => {
+				} else if (num == 2) {
+					this.$u.post('/appVerify/device/offline?sn=' + this.sn).then((res) => {
 						if (res.code === 200) {
 							// 处理接口返回的数据,将边界数据转换为地图组件需要的折线结构
 							this.deviceInfo()
@@ -681,8 +701,8 @@
 					}).catch(error => {
 						console.error("Error fetching area data:", error);
 					});
-				}else if(num==3){
-					this.$u.post('/appVerify/device/online?sn='+this.sn).then((res) => {
+				} else if (num == 3) {
+					this.$u.post('/appVerify/device/online?sn=' + this.sn).then((res) => {
 						if (res.code === 200) {
 							// 处理接口返回的数据,将边界数据转换为地图组件需要的折线结构
 							this.deviceInfo()
@@ -690,41 +710,42 @@
 					}).catch(error => {
 						console.error("Error fetching area data:", error);
 					});
-				}else if(num==4){
+				} else if (num == 4) {
 					this.$u.post('/app/device/ring?sn=' + this.sn).then((res) => {
 						if (res.code === 200) {
-							
+
 						}
 					})
 				}
 			},
-			status(){
-				if(this.deviceInfos.onlineStatus==0){
+			status() {
+				if (this.deviceInfos.onlineStatus == 0) {
 					return '离线'
-				}else{
-					if(this.deviceInfos.status==0){
+				} else {
+					if (this.deviceInfos.status == 0) {
 						return '未上架'
-					}else if(this.deviceInfos.status==1){
+					} else if (this.deviceInfos.status == 1) {
 						return '待租'
-					}else if(this.deviceInfos.status==2){
+					} else if (this.deviceInfos.status == 2) {
 						return '预约中'
-					}else if(this.deviceInfos.status==3){
+					} else if (this.deviceInfos.status == 3) {
 						return '骑行中'
-					}else if(this.deviceInfos.status==4){
+					} else if (this.deviceInfos.status == 4) {
 						return '临时锁车中'
-					}else if(this.deviceInfos.status==8){
+					} else if (this.deviceInfos.status == 8) {
 						return '下线'
 					}
 				}
-				
+
 			},
 			deviceInfo() {
 				this.$u.get('/app/device/info?sn=' + this.sn).then((res) => {
 					if (res.code === 200) {
 						this.deviceInfos = res.data
-						this.mac=res.data.mac
-						this.latitude= parseFloat(this.deviceInfos.latitude)
-						this.longitude=  parseFloat(this.deviceInfos.longitude )
+						this.mac = res.data.mac
+						this.latitude = parseFloat(this.deviceInfos.latitude)
+						this.longitude = parseFloat(this.deviceInfos.longitude)
+						this.getArea()
 						if (this.deviceInfos.status == 0) {
 							this.markers.push({
 								id: parseFloat(this.deviceInfos.sn),
@@ -743,12 +764,12 @@
 									padding: 6, // 修改为气泡内边距
 									display: 'ALWAYS', // 修改为气泡的显示策略
 								}
-							})		
+							})
 						} else if (this.deviceInfos.status == 1) {
 							this.markers.push({
-							id: parseFloat(this.deviceInfos.sn),
-							latitude: parseFloat(this.deviceInfos.latitude),
-							longitude: parseFloat(this.deviceInfos.longitude),
+								id: parseFloat(this.deviceInfos.sn),
+								latitude: parseFloat(this.deviceInfos.latitude),
+								longitude: parseFloat(this.deviceInfos.longitude),
 								// title: item.deviceName,
 								width: 40,
 								height: 40,
@@ -784,9 +805,9 @@
 							})
 						} else if (this.deviceInfos.status == 3) {
 							this.markers.push({
-							id: parseFloat(this.deviceInfos.sn),
-							latitude: parseFloat(this.deviceInfos.latitude),
-							longitude: parseFloat(this.deviceInfos.longitude),
+								id: parseFloat(this.deviceInfos.sn),
+								latitude: parseFloat(this.deviceInfos.latitude),
+								longitude: parseFloat(this.deviceInfos.longitude),
 								// title: item.deviceName,
 								width: 40,
 								height: 40,
@@ -803,9 +824,9 @@
 							})
 						} else if (this.deviceInfos.status == 4) {
 							this.markers.push({
-							id: parseFloat(this.deviceInfos.sn),
-							latitude: parseFloat(this.deviceInfos.latitude),
-							longitude: parseFloat(this.deviceInfos.longitude),
+								id: parseFloat(this.deviceInfos.sn),
+								latitude: parseFloat(this.deviceInfos.latitude),
+								longitude: parseFloat(this.deviceInfos.longitude),
 								// title: item.deviceName,
 								width: 40,
 								height: 40,
@@ -822,9 +843,9 @@
 							})
 						} else if (this.deviceInfos.status == 8) {
 							this.markers.push({
-							id: parseFloat(this.deviceInfos.sn),
-							latitude: parseFloat(this.deviceInfos.latitude),
-							longitude: parseFloat(this.deviceInfos.longitude),
+								id: parseFloat(this.deviceInfos.sn),
+								latitude: parseFloat(this.deviceInfos.latitude),
+								longitude: parseFloat(this.deviceInfos.longitude),
 								// title: item.deviceName,
 								width: 40,
 								height: 40,
@@ -860,18 +881,18 @@
 								}
 							})
 						}
-						
+
 					}
 				})
 			},
 			convertBoundaryToPolyline(boundary) {
 				if (!boundary) return null;
-			
+
 				const points = JSON.parse(boundary).map(coord => ({
 					latitude: coord[1],
 					longitude: coord[0]
 				}));
-			
+
 				const polyline = {
 					points: points,
 					fillColor: "#55888840", //填充颜色
@@ -879,11 +900,11 @@
 					strokeWidth: 2, //描边宽度
 					zIndex: 1, //层级
 				};
-			
+
 				return polyline;
 			},
-			convertBoundaryToPolylines(boundaries,num) {
-				if(num==1){
+			convertBoundaryToPolylines(boundaries, num) {
+				if (num == 1) {
 					console.log('判断');
 					return boundaries.map(boundary => {
 						if (!boundary) return null;
@@ -908,10 +929,10 @@
 							strokeColor: "#3A7EDB", //描边颜色
 							strokeWidth: 2, //描边宽度
 							zIndex: 1, //层级
-							
+
 						};
 					}).filter(polyline => polyline !== null); // 过滤掉无效的折线数据
-				}else if(num==2){
+				} else if (num == 2) {
 					return boundaries.map(boundary => {
 						if (!boundary) return null;
 						let coords;
@@ -935,10 +956,10 @@
 							strokeColor: "#FFC107", //描边颜色
 							strokeWidth: 2, //描边宽度
 							zIndex: 1, //层级
-					
+
 						};
 					}).filter(polyline => polyline !== null); // 过滤掉无效的折线数据
-				}else if(num==3){
+				} else if (num == 3) {
 					return boundaries.map(boundary => {
 						if (!boundary) return null;
 						let coords;
@@ -962,11 +983,11 @@
 							strokeColor: "#FF473E", //描边颜色
 							strokeWidth: 2, //描边宽度
 							zIndex: 1, //层级
-					
+
 						};
 					}).filter(polyline => polyline !== null); // 过滤掉无效的折线数据
 				}
-				
+
 			},
 			toggleIconAndCallout() {
 				this.showIconAndCallout = !this.showIconAndCallout;
@@ -979,7 +1000,11 @@
 							longitude: parseFloat(item.longitude),
 							width: 20,
 							height: 28.95,
-							iconPath: item.type == 1 ?'https://lxnapi.ccttiot.com/bike/img/static/up2xXqAgwCX5iER600k3':item.type == 2 ?'https://lxnapi.ccttiot.com/bike/img/static/u53BAQcFIX3vxsCzEZ7t' :' https://lxnapi.ccttiot.com/bike/img/static/uDNY5Q4zOiZTCBTA2Jdq',
+							iconPath: item.type == 1 ?
+								'https://lxnapi.ccttiot.com/bike/img/static/up2xXqAgwCX5iER600k3' : item
+								.type == 2 ?
+								'https://lxnapi.ccttiot.com/bike/img/static/u53BAQcFIX3vxsCzEZ7t' :
+								' https://lxnapi.ccttiot.com/bike/img/static/uDNY5Q4zOiZTCBTA2Jdq',
 							callout: {
 								content: item.parkingName,
 								color: '#ffffff',
@@ -998,17 +1023,21 @@
 					// 过滤掉所有气泡显示的标记
 					this.$set(this, 'markers', this.markers.filter(marker => !marker.isCalloutVisible));
 				}
-			
+
 			},
+			
 			getParking() {
 				// 发送请求获取数据
-				this.$u.get('/app/parking/list').then((res) => {
+				let data = {
+					areaId: this.deviceInfos.areaId
+				}
+				this.$u.get('/app/parking/list?', data).then((res) => {
 					if (res.code === 200) {
 						// 处理接口返回的数据
 						const type1Data = [];
 						const type2Data = [];
 						const type3Data = [];
-						
+
 						res.rows.forEach(row => {
 							if (row.type == 1) {
 								type1Data.push(row);
@@ -1020,23 +1049,23 @@
 						});
 						const validBoundaries = type1Data.map(row => row.boundaryStr).filter(boundary =>
 							typeof boundary === 'string' && boundary.trim() !== '');
-						const polylines = this.convertBoundaryToPolylines(validBoundaries,1);
-						
-						
+						const polylines = this.convertBoundaryToPolylines(validBoundaries, 1);
+
+
 						const validBoundaries1 = type2Data.map(row => row.boundaryStr).filter(boundary =>
 							typeof boundary === 'string' && boundary.trim() !== '');
-						const polylines1 = this.convertBoundaryToPolylines(validBoundaries1,2);
-						
+						const polylines1 = this.convertBoundaryToPolylines(validBoundaries1, 2);
+
 						const validBoundaries2 = type3Data.map(row => row.boundaryStr).filter(boundary =>
 							typeof boundary === 'string' && boundary.trim() !== '');
-						const polylines2 = this.convertBoundaryToPolylines(validBoundaries2,3);
+						const polylines2 = this.convertBoundaryToPolylines(validBoundaries2, 3);
 						// 将处理后的数据添加到 this.polyline 中
-							this.polyline = this.polyline.concat(polylines2);
+						this.polyline = this.polyline.concat(polylines2);
 						this.polyline = this.polyline.concat(polylines1);
 						this.polyline = this.polyline.concat(polylines);
 						this.parkingList = res.rows
 						// console.log(this.polyline);
-						
+
 					}
 				}).catch(error => {
 					console.error("Error fetching parking data:", error);
@@ -1044,16 +1073,16 @@
 			},
 			getArea() {
 				// 发送请求获取数据
-				this.$u.get('/app/area/list').then((res) => {
+
+				let id = this.deviceInfos.areaId
+				this.$u.get("/app/area/" + id).then((res) => {
 					if (res.code === 200) {
 						// 处理接口返回的数据,将边界数据转换为地图组件需要的折线结构
-						const polylines = res.rows
-							.filter(area => area.boundaryStr) // 过滤掉boundary为空的数据
-							.map(area => this.convertBoundaryToPolyline(area.boundaryStr));
+						const polylines = this.convertBoundaryToPolyline(res.data.boundaryStr)
 						// 更新折线数据
-						this.polyline = polylines;
+						this.polyline.push(polylines)
 						// console.log(this.polyline);
-							this.getParking()
+						this.getParking()
 					}
 				}).catch(error => {
 					console.error("Error fetching area data:", error);
@@ -1077,6 +1106,7 @@
 			position: relative;
 			width: 750rpx;
 			height: 752rpx;
+
 			.park {
 				position: absolute;
 				display: flex;
@@ -1089,14 +1119,14 @@
 				width: 82rpx;
 				height: 82rpx;
 				z-index: 10;
-			
+
 				.img {
 					width: 82rpx;
 					height: 82rpx;
 				}
 			}
 		}
-		
+
 		.tip_box {
 			position: fixed;
 			left: 72rpx;
@@ -1107,20 +1137,24 @@
 			border-radius: 30rpx 30rpx 30rpx 30rpx;
 			z-index: 110;
 			padding-bottom: 100rpx;
+
 			.top {
 				padding: 52rpx 38rpx 42rpx 36rpx;
-				.ipt_box{
+
+				.ipt_box {
 					margin-top: 22rpx;
 					display: flex;
 					flex-wrap: nowrap;
 					align-items: center;
-					.text{
+
+					.text {
 						width: 96rpx;
 						font-weight: 400;
 						font-size: 32rpx;
 						color: #3D3D3D;
 					}
-					.ipt{
+
+					.ipt {
 						padding: 10rpx 18rpx;
 						display: flex;
 						align-items: center;
@@ -1130,18 +1164,21 @@
 						height: 64rpx;
 						border-radius: 0rpx 0rpx 0rpx 0rpx;
 						border: 2rpx solid #979797;
-						.input{
+
+						.input {
 							width: 80%;
 						}
 					}
 				}
-				.tip{
+
+				.tip {
 					width: 100%;
 					text-align: center;
 					font-weight: 700;
 					font-size: 32rpx;
 					color: #3D3D3D;
 				}
+
 				.txt {
 					margin-top: 32rpx;
 					width: 100%;
@@ -1151,16 +1188,17 @@
 					color: #3D3D3D;
 				}
 			}
-		
+
 			.bot {
 				position: absolute;
-				
+
 				width: 610rpx;
 				// border-top: 2rpx solid #D8D8D8;
 				display: flex;
 				flex-wrap: nowrap;
 				// height: 100%;
 				bottom: -20rpx;
+
 				.bot_left {
 					border-radius: 0rpx 0rpx 0rpx 30rpx;
 					width: 50%;
@@ -1173,9 +1211,9 @@
 					color: #3D3D3D;
 					background: #EEEEEE;
 				}
-		
+
 				.bot_right {
-						border-radius: 0rpx 0rpx 30rpx 0rpx;
+					border-radius: 0rpx 0rpx 30rpx 0rpx;
 					width: 50%;
 					height: 86rpx;
 					background: #4C97E7;
@@ -1187,12 +1225,13 @@
 					font-weight: 500;
 					font-size: 32rpx;
 					// color: #4C97E7;
-		
+
 				}
-		
+
 			}
 		}
-		.bot_btn{
+
+		.bot_btn {
 			position: fixed;
 			bottom: 0;
 			display: flex;
@@ -1202,12 +1241,14 @@
 			// height: 230rpx;
 			background: #fff;
 			// background: linear-gradient( 180deg, #FFFFFF 0%, rgba(255,255,255,0) 100%);
-			box-shadow: 0rpx 10rpx 64rpx 0rpx rgba(0,0,0,0.08);
+			box-shadow: 0rpx 10rpx 64rpx 0rpx rgba(0, 0, 0, 0.08);
 			border-radius: 0rpx 0rpx 0rpx 0rpx;
+
 			.btn:nth-child(4n) {
-			    margin-right: 0;
+				margin-right: 0;
 			}
-			.btn{
+
+			.btn {
 				margin-top: 10rpx;
 				margin-right: 18rpx;
 				display: flex;
@@ -1223,6 +1264,7 @@
 				color: #3D3D3D;
 			}
 		}
+
 		.info_card {
 			background: #FFFFFF;
 
@@ -1262,6 +1304,7 @@
 					span {
 						color: #3D3D3D;
 					}
+
 					white-space: nowrap;
 					/* 禁止换行 */
 					overflow: hidden;
@@ -1271,8 +1314,8 @@
 					line-height: 48rpx;
 
 					.half_infoli {
-							display: flex;
-							flex-wrap: nowrap;
+						display: flex;
+						flex-wrap: nowrap;
 						width: 50%;
 						font-weight: 400;
 						font-size: 28rpx;
@@ -1281,7 +1324,8 @@
 						span {
 							color: #3D3D3D;
 						}
-						.input{
+
+						.input {
 							width: 30%;
 						}
 					}
@@ -1289,6 +1333,6 @@
 			}
 		}
 
-		
+
 	}
 </style>
\ No newline at end of file
diff --git a/pages_admin/order/order_detail.vue b/pages_admin/order/order_detail.vue
index cb3451a..e34c827 100644
--- a/pages_admin/order/order_detail.vue
+++ b/pages_admin/order/order_detail.vue
@@ -3,7 +3,12 @@
 		<u-navbar title="订单详情" :border-bottom="false" :background="bgc" title-color='#2E4975' title-size='36'
 			height='45'></u-navbar>
 		<map class="map" id="map" ref="map" :scale="zoomSize" :latitude="latitude" :longitude="longitude"
-			:show-location='true' :markers="markers" :polygons="polygons" :polyline="polyline"> </map>
+			:show-location='true' :markers="markers" :polygons="polygons" :polyline="polyline">
+			<cover-view class="park" @click="toggleIconAndCallout">
+				<cover-image class="img" src="https://lxnapi.ccttiot.com/bike/img/static/uRiYQZQEb3l2LsltEsyW"
+					mode=""></cover-image>
+			</cover-view>
+		</map>
 		<view class="info_card">
 			<view class="info_tit">
 				基本信息
@@ -36,9 +41,7 @@
 						行驶距离:<span>{{orderInfo.distance/1000}}Km</span>
 					</view>
 				</view>
-				<view class="info_li">
-					订单状态:<span>{{status()}}</span>
-				</view>
+				
 			</view>
 		</view>
 		<view class="info_card" style="margin-top: 20rpx;">
@@ -211,9 +214,9 @@
 					width: 8,
 					arrowLine: true,
 					color: '#00AF99'
-				// 	strokeWidth: 2,
-				// 	strokeColor: '#00AF99',
-				// 	fillColor: '#00AF99'
+					// 	strokeWidth: 2,
+					// 	strokeColor: '#00AF99',
+					// 	fillColor: '#00AF99'
 				}, ],
 				polygons: [],
 
@@ -236,53 +239,91 @@
 
 		},
 		methods: {
-			callPhone(){
+			toggleIconAndCallout() {
+				this.showIconAndCallout = !this.showIconAndCallout;
+				if (this.showIconAndCallout) {
+					const newMarkers = [];
+					this.parkingList.forEach(item => {
+						newMarkers.push({
+							id: parseFloat(item.parkingId),
+							latitude: parseFloat(item.latitude),
+							longitude: parseFloat(item.longitude),
+							width: 20,
+							height: 28.95,
+							iconPath: item.type == 1 ?
+								'https://lxnapi.ccttiot.com/bike/img/static/up2xXqAgwCX5iER600k3' : item
+								.type == 2 ?
+								'https://lxnapi.ccttiot.com/bike/img/static/u53BAQcFIX3vxsCzEZ7t' :
+								' https://lxnapi.ccttiot.com/bike/img/static/uDNY5Q4zOiZTCBTA2Jdq',
+							callout: {
+								content: item.parkingName,
+								color: '#ffffff',
+								fontSize: 14,
+								borderRadius: 10,
+								bgColor: item.type == 1 ? '#3A7EDB' : item.type == 2 ? '#FFC107' :
+									'#FF473E',
+								padding: 6,
+								display: 'ALWAYS'
+							},
+							isCalloutVisible: true // 添加标记
+						});
+					});
+					this.$set(this, 'markers', [...this.markers, ...newMarkers]);
+				} else {
+					// 过滤掉所有气泡显示的标记
+					this.$set(this, 'markers', this.markers.filter(marker => !marker.isCalloutVisible));
+				}
+			
+			},
+			
+			
+			callPhone() {
 				uni.makePhoneCall({
-					phoneNumber:this.orderInfo.phonenumber
+					phoneNumber: this.orderInfo.phonenumber
 				})
 			},
 			computedList(item) {
-				if(item.status==0||item.status==2){
-				const createTime = new Date(item.createTime);
-				 const payTime =  Date.now();
-				 const timeDifference = Math.abs(createTime - payTime);
-							
-				 const hours = Math.floor(timeDifference / (1000 * 60 * 60));
-				 const minutes = Math.floor((timeDifference % (1000 * 60 * 60)) / (1000 * 60));
-				 const seconds = Math.floor((timeDifference % (1000 * 60)) / 1000);
-							
-				 let result = '';
-				 if (hours > 0) {
-				     result += `${hours}小时`;
-				 }
-				 if (minutes > 0 || hours > 0) { // 显示分钟条件:有小时或者有分钟
-				     result += `${minutes}分`;
-				 }
-				 // result += `${seconds}秒`; // 始终显示秒
-							
-				 return result;
-				}else{
+				if (item.status == 0 || item.status == 2) {
 					const createTime = new Date(item.createTime);
-					 const payTime = new Date(item.returnTime);
-					 const timeDifference = Math.abs(createTime - payTime);
-								
-					 const hours = Math.floor(timeDifference / (1000 * 60 * 60));
-					 const minutes = Math.floor((timeDifference % (1000 * 60 * 60)) / (1000 * 60));
-					 const seconds = Math.floor((timeDifference % (1000 * 60)) / 1000);
-								
-					 let result = '';
-					 if (hours > 0) {
-					     result += `${hours}小时`;
-					 }
-					 if (minutes > 0 || hours > 0) { // 显示分钟条件:有小时或者有分钟
-					     result += `${minutes}分`;
-					 }
-					 // result += `${seconds}秒`; // 始终显示秒
-								
-					 return result;
-					
+					const payTime = Date.now();
+					const timeDifference = Math.abs(createTime - payTime);
+
+					const hours = Math.floor(timeDifference / (1000 * 60 * 60));
+					const minutes = Math.floor((timeDifference % (1000 * 60 * 60)) / (1000 * 60));
+					const seconds = Math.floor((timeDifference % (1000 * 60)) / 1000);
+
+					let result = '';
+					if (hours > 0) {
+						result += `${hours}小时`;
+					}
+					if (minutes > 0 || hours > 0) { // 显示分钟条件:有小时或者有分钟
+						result += `${minutes}分`;
+					}
+					// result += `${seconds}秒`; // 始终显示秒
+
+					return result;
+				} else {
+					const createTime = new Date(item.createTime);
+					const payTime = new Date(item.returnTime);
+					const timeDifference = Math.abs(createTime - payTime);
+
+					const hours = Math.floor(timeDifference / (1000 * 60 * 60));
+					const minutes = Math.floor((timeDifference % (1000 * 60 * 60)) / (1000 * 60));
+					const seconds = Math.floor((timeDifference % (1000 * 60)) / 1000);
+
+					let result = '';
+					if (hours > 0) {
+						result += `${hours}小时`;
+					}
+					if (minutes > 0 || hours > 0) { // 显示分钟条件:有小时或者有分钟
+						result += `${minutes}分`;
+					}
+					// result += `${seconds}秒`; // 始终显示秒
+
+					return result;
+
 				}
-			 
+
 			},
 			convertBoundaryToPolyline(boundary) {
 				if (!boundary) return null;
@@ -302,7 +343,7 @@
 
 				return polyline;
 			},
-			
+
 			convertBoundaryToPolylines(boundaries, num) {
 				if (num == 1) {
 					console.log('判断');
@@ -391,7 +432,11 @@
 			},
 			getParking() {
 				// 发送请求获取数据
-				this.$u.get('/app/parking/list').then((res) => {
+
+				let data = {
+					areaId: this.orderInfo.areaId
+				}
+				this.$u.get('/app/parking/list?', data).then((res) => {
 					if (res.code === 200) {
 						// 处理接口返回的数据
 						const type1Data = [];
@@ -425,79 +470,22 @@
 						this.polygons = this.polygons.concat(polylines);
 
 						// console.log(this.polyline);
-						res.rows.forEach(item => {
-							if(item.type==1){
-								this.markers.push({
-									id: parseFloat(item.parkingId),
-									latitude: parseFloat(item.latitude),
-									longitude: parseFloat(item.longitude),
-									width: 20,
-									height: 40,
-									iconPath: 'https://lxnapi.ccttiot.com/bike/img/static/u9yz0bKCWKyev0JYpTne',
-									callout: {
-										content: item.parkingName, // 修改为你想要显示的文字内容
-										color: '#ffffff', // 修改为文字颜色
-										fontSize: 14, // 修改为文字大小
-										borderRadius: 10, // 修改为气泡圆角大小
-										bgColor: '#3A7EDB', // 修改为气泡背景颜色
-										padding: 6, // 修改为气泡内边距
-										display: 'ALWAYS' // 修改为气泡的显示策略
-									}
-								});
-							}else if(item.type==2){
-								this.markers.push({
-									id: parseFloat(item.parkingId),
-									latitude: parseFloat(item.latitude),
-									longitude: parseFloat(item.longitude),
-									width: 20,
-									height: 40,
-									iconPath: 'https://lxnapi.ccttiot.com/bike/img/static/u9yz0bKCWKyev0JYpTne',
-									callout: {
-										content: item.parkingName, // 修改为你想要显示的文字内容
-										color: '#ffffff', // 修改为文字颜色
-										fontSize: 14, // 修改为文字大小
-										borderRadius: 10, // 修改为气泡圆角大小
-										bgColor: '#FFC107', // 修改为气泡背景颜色
-										padding: 6, // 修改为气泡内边距
-										display: 'ALWAYS' // 修改为气泡的显示策略
-									}
-								});
-							}else if(item.type==3){
-								this.markers.push({
-									id: parseFloat(item.parkingId),
-									latitude: parseFloat(item.latitude),
-									longitude: parseFloat(item.longitude),
-									width: 20,
-									height: 40,
-									iconPath: 'https://lxnapi.ccttiot.com/bike/img/static/u9yz0bKCWKyev0JYpTne',
-									callout: {
-										content: item.parkingName, // 修改为你想要显示的文字内容
-										color: '#ffffff', // 修改为文字颜色
-										fontSize: 14, // 修改为文字大小
-										borderRadius: 10, // 修改为气泡圆角大小
-										bgColor: '#FF473E', // 修改为气泡背景颜色
-										padding: 6, // 修改为气泡内边距
-										display: 'ALWAYS' // 修改为气泡的显示策略
-									}
-								});
-							}
-						})
+						this.parkingList = res.rows
 					}
 				}).catch(error => {
 					console.error("Error fetching parking data:", error);
 				});
 			},
-		
+
 			getArea() {
 				// 发送请求获取数据
-				this.$u.get('/app/area/list').then((res) => {
+				let id = this.orderInfo.areaId
+				this.$u.get("/app/area/" + id).then((res) => {
 					if (res.code === 200) {
 						// 处理接口返回的数据,将边界数据转换为地图组件需要的折线结构
-						const polylines = res.rows
-							.filter(area => area.boundaryStr) // 过滤掉boundary为空的数据
-							.map(area => this.convertBoundaryToPolyline(area.boundaryStr));
+						const polylines = this.convertBoundaryToPolyline(res.data.boundaryStr)
 						// 更新折线数据
-						this.polygons = polylines;
+						this.polygons.push(polylines)
 						this.getParking()
 						// console.log(this.polyline);
 					}
@@ -526,6 +514,8 @@
 					if (res.code === 200) {
 						// 处理接口返回的数据,将边界数据转换为地图组件需要的折线结构
 						this.orderInfo = res.data
+						this.getArea()
+
 						this.loading = true
 						this.latitude = parseFloat(this.orderInfo.latitude)
 						this.longitude = parseFloat(this.orderInfo.longitude)
@@ -535,36 +525,35 @@
 						}));
 						let abb;
 						try {
-						    abb = JSON.parse(res.data.tripRouteStr);
+							abb = JSON.parse(res.data.tripRouteStr);
 						} catch (error) {
-						    console.error("Error parsing tripRouteStr:", error);
-						    return;
+							console.error("Error parsing tripRouteStr:", error);
+							return;
 						}
 						if (abb.length > 2) {
-						    this.latitude = parseFloat(abb[0][1]);
-						    this.longitude = parseFloat(abb[0][0]);
-						    this.polyline[0].points = abb.map(coord => ({
-						        latitude: coord[1],
-						        longitude: coord[0]
-						    }));
-						    this.markers.push({
-						        id: 0,
-						        latitude: abb[0][1],
-						        longitude: abb[0][0],
-						        width: 25,
-						        height: 38,
-						        iconPath: 'https://lxnapi.ccttiot.com/bike/img/static/u06paUGiHLvL08Pw7BGr'
-						    }, {
-						        id: 1,
-						        latitude: abb[abb.length - 1][1],
-						        longitude: abb[abb.length - 1][0],
-						        width: 25,
-						        height: 38,
-						        iconPath: 'https://lxnapi.ccttiot.com/bike/img/static/uwpAj9vYtPRmhtTOtflx'
-						    });
+							this.latitude = parseFloat(abb[0][1]);
+							this.longitude = parseFloat(abb[0][0]);
+							this.polyline[0].points = abb.map(coord => ({
+								latitude: coord[1],
+								longitude: coord[0]
+							}));
+							this.markers.push({
+								id: 0,
+								latitude: abb[0][1],
+								longitude: abb[0][0],
+								width: 25,
+								height: 38,
+								iconPath: 'https://lxnapi.ccttiot.com/bike/img/static/u06paUGiHLvL08Pw7BGr'
+							}, {
+								id: 1,
+								latitude: abb[abb.length - 1][1],
+								longitude: abb[abb.length - 1][0],
+								width: 25,
+								height: 38,
+								iconPath: 'https://lxnapi.ccttiot.com/bike/img/static/uwpAj9vYtPRmhtTOtflx'
+							});
 						}
 					}
-					this.getArea()
 
 					// console.log(points,'');
 					// this.polyline[0].points=points
@@ -585,6 +574,7 @@
 	.page {
 		padding-bottom: 200rpx;
 		width: 750rpx;
+
 		.tip_box {
 			position: fixed;
 			left: 72rpx;
@@ -595,23 +585,23 @@
 			border-radius: 30rpx 30rpx 30rpx 30rpx;
 			z-index: 110;
 			padding-bottom: 100rpx;
-		
+
 			.top {
 				padding: 52rpx 38rpx 42rpx 36rpx;
-		
+
 				.ipt_box {
 					margin-top: 22rpx;
 					display: flex;
 					flex-wrap: nowrap;
 					align-items: center;
-		
+
 					.text {
 						width: 96rpx;
 						font-weight: 400;
 						font-size: 32rpx;
 						color: #3D3D3D;
 					}
-		
+
 					.ipt {
 						padding: 10rpx 18rpx;
 						display: flex;
@@ -622,13 +612,13 @@
 						height: 64rpx;
 						border-radius: 0rpx 0rpx 0rpx 0rpx;
 						border: 2rpx solid #979797;
-		
+
 						.input {
 							width: 80%;
 						}
 					}
 				}
-		
+
 				.tip {
 					width: 100%;
 					text-align: center;
@@ -636,7 +626,7 @@
 					font-size: 32rpx;
 					color: #3D3D3D;
 				}
-		
+
 				.txt {
 					margin-top: 32rpx;
 					width: 100%;
@@ -646,17 +636,17 @@
 					color: #3D3D3D;
 				}
 			}
-		
+
 			.bot {
 				position: absolute;
-		
+
 				width: 610rpx;
 				// border-top: 2rpx solid #D8D8D8;
 				display: flex;
 				flex-wrap: nowrap;
 				// height: 100%;
 				bottom: -20rpx;
-		
+
 				.bot_left {
 					border-radius: 0rpx 0rpx 0rpx 30rpx;
 					width: 50%;
@@ -669,7 +659,7 @@
 					color: #3D3D3D;
 					background: #EEEEEE;
 				}
-		
+
 				.bot_right {
 					border-radius: 0rpx 0rpx 30rpx 0rpx;
 					width: 50%;
@@ -683,16 +673,35 @@
 					font-weight: 500;
 					font-size: 32rpx;
 					// color: #4C97E7;
-		
+
 				}
-		
+
 			}
 		}
-		
-		
+
+
 		.map {
+			position: relative;
 			width: 750rpx;
 			height: 752rpx;
+			.park {
+				position: absolute;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				right: 30rpx;
+				bottom: 40rpx;
+				// background-color: #fff;
+				border-radius: 50%;
+				width: 82rpx;
+				height: 82rpx;
+				z-index: 10;
+			
+				.img {
+					width: 82rpx;
+					height: 82rpx;
+				}
+			}
 		}
 
 		.info_card {
@@ -771,6 +780,7 @@
 					overflow: hidden;
 					/* 超出部分隐藏 */
 					text-overflow: ellipsis;
+
 					.text {
 						display: inline;
 						// width: 70%;