zkx 2 anni fa
parent
commit
50f73aeee2
2 ha cambiato i file con 517 aggiunte e 431 eliminazioni
  1. 496 396
      pages/search/search.vue
  2. 21 35
      pages/searchPile/searchPile.vue

+ 496 - 396
pages/search/search.vue

@@ -2,39 +2,85 @@
 <template>
 	<view>
 		<ujp-navbar title="" ref='navbar' id='navbar' :height='nav_height'> 
-			<u-search id='search' ref='search'   :input-style='inputStyle'  placeholder="搜索站点名称" @change="search()" v-model="keyword" color="#c8c8c8" @search="search" @click="search" @clickicon='back' @custom='search'></u-search>		 
+			<u-search id='search' ref='search'   :input-style='inputStyle'  placeholder="查询站点地址或站名" @change="search()" v-model="keyword" color="#c8c8c8" @search="search" @click="search" @clickicon='back' @custom='search'></u-search>		 
 		</ujp-navbar>
 		<view class="recommend">推荐充电站</view>
-		<view class="charing-slow" v-for="(item,index) in stations_filter" :key="item.id" @click="stationDetail(item)">
-			<text :class="item.type == '快充' ? 'fast-charge':(item.type == '慢充' ? 'trickle-charge':'fast-trickle-charge')">{{item.type}}</text> <text class="station-items">{{item.name}}</text>
-			<view class="address">
-				{{item.position}}
-			</view>
-			<view class="price">
-				<view class="num">{{item.price.toFixed(2)}}</view> <view class="unit">
-					 元/度 起
-				</view>
-			</view>
-			 <view class="park">
-				<text class="park-p">p</text>
-				<text class="park-text">{{item.park}}</text>
-			</view>
-			<view class="free">
-				<view class="free-num">
-					  <text style="color:#009143;">空闲{{item.idleNum}}</text>/总数{{item.total}}
-				</view>
-				<view class="distance" @click="navigateTo(item)">
-					<text class="iconfont distance-font">&#xe615;</text>
-					{{item.distance!=null&&item.distance>0.1 ? item.distance.toFixed(1)+'公里':'小于100米'}} {{item.time.toFixed(0)}}分钟
-				</view>
-			</view>
-		</view>		
+	<view class="carNone" v-if="stationslist.length == 0">
+		<img src="static/img/暂无数据-缺省页.png" alt="">
+		<p class="oldTextjp2" oldstyle="font-size: 18px;">暂无可用充电站</p>
+		
+	</view>
+	
+	  <view v-for="(item,index) in stationslist" :key="item.id" class="charing-slow"   @click="stationDetail(item)">
+		
+		
+		
+			<view class="address">
+				<view class="name oldTextjp" oldstyle="font-size: 20px;">
+					{{item.name}}
+				</view>
+				<view class="distance oldTextjp2" oldstyle="font-size: 16px;" v-if="item.distance != '99999999'">
+					<text class="iconfont" style="color:#666666">&#xe615;</text>
+					{{item.distance!=null && item.distance>0.1 ? item.distance.toFixed(1)+'公里' : '小于100米'}}
+				</view>
+				<view class="distance oldTextjp2" oldstyle="font-size: 16px;" v-else>
+					<text class="iconfont" style="color:#666666">&#xe615;</text>
+					暂无定位
+				</view>
+			</view>
+			<view class="sign" >
+				{{item.address}}
+			</view>
+			<view class="sign" v-if="item.stationType!=50">
+				<view class="sign-1" v-if="item.giveDiscount">服务费{{item.discountRatio/10}}折</view>
+				<view class="sign-2" v-if="item.tagList.length != 0" v-for="(tagName,tagIndex) in item.tagList" :key="tagIndex">{{tagName}}</view>
+			</view>
+			<view class="price-free price-freeList">
+			<view class="price">
+				<view class="price-1">
+					<text class="num">{{!item.giveDiscount ? (item.electricityPrice+item.servicePrice).toFixed(2)
+					: (item.electricityPrice+item.discountServicePrice).toFixed(2)}}</text>
+					<text class="unit " oldstyle="font-size: 14px;">
+						 元/度 起
+					</text>
+				</view>
+				<view class="price-2 " oldstyle="font-size: 14px;" v-if="item.giveDiscount">
+					<text class="num">{{(item.electricityPrice+item.servicePrice).toFixed(2)}}</text>
+					<text class="unit">元/度 起</text>
+				</view>
+			</view>
+			<view class="free">
+				<view class="fast" v-if="item.fastNum">
+					<view class="fast-font">
+						快
+					</view>
+					<view class="num">
+						{{item.fastAvailableNum}}/{{item.fastNum}}
+					</view>
+				</view>
+				<view class="slow" v-if="item.slowNum">
+					<view class="slow-font">
+						慢
+					</view>
+					<view class="num">
+						{{item.slowAvailableNum}}/{{item.slowNum}}
+					</view>
+				</view>
+			</view>
+		</view>
+							
+	
+		
+	
+	</view>
+			<u-divider margin-top="20" bg-color="#F2F4F4" v-if="stationslist.length == recordsTotal">已经到底了</u-divider>
+			
 	</view>
 </template>
 
 <script>
 	let _self; 
-	import * as api from '@/apis/site.js';
+	import * as API from '@/apis/site.js';
 	import * as WxJsApi from '@/utils/wxJsApi.js'
 	import MapLoader from '@/utils/AMap'
 	export default {
@@ -45,13 +91,15 @@
 				elderMode:false,
 				inputStyle:{
 					backgroundColor: 'transparent',
-					"font-size":'36rpx',
-					"font-weight":"normal"
-				},
+					"font-size":'32rpx',
+				
+				},
+				pageIndex:1,
+				recordsTotal: 0,
 				nav_height:54,
 				userId:'',
 				keyword:'',
-			  stations_filter:[],
+			  stationslist:[],
 			  stations:[
 /*					{name:'荆鹏软件园充电站',position:'湖北省荆州市沙市区江津东路附155号',price:1.2,idleNum:10,total:10,distance:0.1,time:1,type:'慢充',park:'2小时免费停车'},
 					{name:'荆鹏软件园充电站2',position:'湖北省荆州市沙市区江津东路附156号',price:1.2,idleNum:10,total:10,distance:0.15,time:12,type:'快充',park:'3小时免费停车'},
@@ -92,18 +140,18 @@
 			 	this.userId = this.carhelp.getPersonInfo().id;
 			 			
 			 } 
-			 WxJsApi.getWxConfig(['getLocation','addEventListener']).then((res)=>{
+			 WxJsApi.getWxConfig(['getLocation','openLocation', 'addEventListener']).then((res)=>{
 			 
-				// this.message=JSON.stringify(res)
-				// uni.showToast({
-				// 	title:JSON.stringify(res)
-				// })
-				//(res)
-			  
+				
 			 }).catch(error => {
-					//(res)
+					
 			 })
 			this.getPoint();
+		},
+		onReachBottom() {
+			if (this.stationslist.length < this.recordsTotal) {			
+				this.myLoadmore();
+			}
 		},
 		 // conponents:{charingSlows},
 		methods: { 
@@ -114,7 +162,7 @@
 				 let data = {
 				 	backgroundColor: 'transparent',
 				 	"font-size":'32rpx',
-				 	"font-weight":"bold!important"
+				 	
 				 };
 				 this.inputStyle = data;
 			  }
@@ -124,14 +172,30 @@
 				  let data  ={
 				  	backgroundColor: 'transparent',
 				  	"font-size":'32rpx',
-				  	"font-weight":"normal"
+				 
 				  };
 				  this.inputStyle = data;
 			  } 
 			},
 			navigateTo(item){
-				 
-				window.location.href="https://uri.amap.com/marker?position="+ item.longitude+","+item.latitude+"&name="+item.name;
+				 
+				 uni.showLoading({
+				 	
+				 })
+				 WxJsApi.openLocation({
+				     latitude:parseFloat( item.latitude),//目的地latitude
+				     longitude:parseFloat( item.longitude),//目的地longitude
+				     name: item.name,
+				     address: item.address,
+				     scale: 15,//地图缩放大小,可根据情况具体调整
+				 	success(res) {
+				 			uni.hideLoading()
+				 	},
+				 	complete() {
+				 		//	uni.hideLoading()
+				 	}
+				 });
+				//window.location.href="https://uri.amap.com/marker?position="+ item.longitude+","+item.latitude+"&name="+item.name;
 				 
 			},
 			stationDetail(item){
@@ -158,31 +222,7 @@
 					var myDistance = lnglat.distance([obj.longitude, obj.latitude]);
 					obj.distance = myDistance/1000;
 					obj.time = myDistance/500;
-				/*
-					var map=new AMap.Map("container", {
-						center: [116.397559, 39.89621],
-						zoom: 14
-					});  
-					AMap.plugin('AMap.Driving', function() {
-					  var driving = new AMap.Driving({
-					    // 驾车路线规划策略,AMap.DrivingPolicy.LEAST_TIME是最快捷模式
-					    policy: AMap.DrivingPolicy.LEAST_TIME
-					  })
-					  
-					 //var startLngLat = [116.379028, 39.865042]
-					 //var endLngLat = [116.427281, 39.903719]
-					 
-					  driving.search(startLngLat, endLngLat, function (status, result) {
-							//(result)
-							//(result.routes[0].time)//秒
-							//(result.routes[0].distance)//米
-							obj.distance = result.routes[0].distance/1000;
-							obj.time = result.routes[0].time/60;
-							 
-					  })
-					   
-					})
-					*/
+				
 				
 				}, e => {
 					//_this.mui.toast('地图加载失败');
@@ -191,7 +231,9 @@
 			},
 			getPoint() {
 				var _this = this;
-				//('getPoint')
+				//('getPoint')
+				this.getChargingStationData(true);
+				
 				WxJsApi.getLocation().then((res) => {
 					
 					var latitude = parseFloat(res.latitude);
@@ -199,155 +241,79 @@
 					_this.latitude = latitude;
 					_this.longitude = longitude;
 					
-					let data = {latitude:_this.latitude,longtitude:_this.longitude};
-					this.getChargingStationData(data);
+					this.getChargingStationData(true);
 					
-					//('当前位置' +JSON.stringify(data))
+				
+				}).catch(error => {
 					
-					//this.latitude2 = latitude;
-					//this.longitude2 = longitude;
-					/*uni.showToast({
-						title:JSON.stringify(res)
-					})*/
-					//this.message=JSON.stringify(res)
-				}).catch(error => {
 					uni.showToast({
 						title:JSON.stringify(error)
 					})					
 				})
+			},
+			myLoadmore() {
+				this.pageIndex += 1;
+				this.getChargingStationData()
 			},
-			getChargingStationData(pos){
-				//('getChargingStationData')
-						//return;
-				if(pos == null)
-					return ;		 
-				let data1 = { pageIndex:0,pageSize:20};
-				if(pos.longtitude != null)
-					data1.longitude = pos.longtitude.toString();
-				if(pos.latitude != null)
-					data1.latitude = pos.latitude.toString(); 
-				//data1.findType = "0";
-				//data1.type = "1";
-				//data1.online = "0";
-/*				if(this.info.obc_type[this.preference.obc_type_index].text.indexOf('直流快充')>=0)
-					data1.type = "1";
-				else if(this.info.obc_type[this.preference.obc_type_index].text.indexOf('交流慢充')>=0)
-					data1.type = "2";
-				
-				if(this.info.miles_type[this.preference.miles_index].distance!=null)
-					data1.radius = this.info.miles_type[this.preference.miles_index].distance.toString();
-				data1.online = "0";//在线	
-				if(pos.findType != null)
-					data1.findType = pos.findType;
-				else
-					data1.findType = "0";
-				
-				if(this.preference.obc_power.minValue!=null)
-					data1.powerStart = this.preference.obc_power.minValue.toString();
-				if(this.preference.obc_power.maxValue!=null)
-					data1.powerEnd = this.preference.obc_power.maxValue.toString();
-				*/
-				//('data1'+JSON.stringify(data1))
-				api.searchStationData(data1).then(function(res){
-					
-					//('getChargingStationData'+JSON.stringify(res))
-					if(!res.result || !res.data || !res.data.data)
-					{
-						//('getChargingStationData res nulll')
-						return;					
-					}
-					let items = res.data.data;
-					 
-					_self.stations_filter = [];
-					for(let i = 0;i<items.length;i++)
-					{
-						let obj = {
-									name:'',
-									position:'',
-									price:1.2,
-									idleNum:10,
-									total:10,									
-									type: data1.type == "2" ? '慢充':'快充',
-									id: i,									
-									distance:0.9,
-									time:9,
-									park: '2小时免费停车',
-//									longitude: 112.28541 + i * 0.001,
-//									latitude: 30.308354 + i * 0.01
-									};
-						if(items[i].id != null)
-							obj.id = items[i].id;
-						else
-							continue;
-						if(items[i].type.indexOf("1")>=0 && items[i].type.indexOf("2")>=0)
-						{
-							obj.type = '快/慢'
-						}
-						if(items[i].costPrice!=null)
-							obj.price = items[i].costPrice;
-							
-						if(items[i].name!=null)
-							obj.name = items[i].name;
-						if(items[i].address!=null)
-							obj.position = items[i].address;
-						if(items[i].coostPrice!=null)
-							obj.price = items[i].coostPrice;
-						if(items[i].availableNum!=null)
-							obj.idleNum = items[i].availableNum;
-						if(items[i].totalNum!=null)
-							obj.total = items[i].totalNum;
-						if(items[i].longitude!=null)
-							obj.longitude = items[i].longitude;
-						if(items[i].latitude!=null)
-							obj.latitude = items[i].latitude;
-						if(items[i].distance!=null)
-							obj.distance = items[i].distance;
-						if(items[i].time != null){
-							obj.time = items[i].time;
-						}
-						if(items[i].park != null)
-							obj.park = items[i].park;
-							
-							
-						var startLngLat = {longitude: _self.longitude,latitude:  _self.latitude};
-						 //var endLngLat = [obj.longitude,obj.latitude];
-						 _self.calculateDistance(startLngLat,obj);
-						 
-						
-						 
-						 /*
-						 _self.item.distance = myDistance/1000;
-						 _self.item.time = myDistance/500;
-						
-						let obj = {name:items[i].name,
-									position:items[i].address,
-									price:items[i].coostPrice,									
-									idleNum:items[i].availableNum,
-									total:items[i].totalNum,
-									distance:0.1,
-									time:1,
-									type:'慢充',
-									id: items[i].id,
-									park: i%2 == 0? '以实际费用为准':'2小时免费停车',
-									longitude: items[i].longitude,
-									latitude: items[i].latitude
-									};*/
-						_self.stations.push(obj);						
-					}
-					_self.stations_filter = _self.stations;
-					//_self.$refs.amap.searchBtn([_self.longitude, _self.latitude],_self.stationsmap)
-					//_self.$refs.amap.setChargerList(_self.stationsmap);
-					//if(_self.stationsmap.length>0)
-					//	_self.$refs.amap.updateCharger(_self.stationsmap[0]);
-					 
-				},function(err){
-					uni.showToast({
-						title:err
-					})
-					//('getChargingStationData err'+JSON.stringify(err))
-				}
-				)
-				//('getChargingStationData end')
+			getChargingStationData(bl){ 
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				if (bl) {
+					this.stationslist = [];
+					this.pageIndex = 1;
+				}
+				var data = {
+					pageIndex: this.pageIndex,
+					pageSize:20,
+					
+					 stationName:this.keyword,
+					 findType: 0,
+					
+				};
+				if(this.longitude&&this.latitude){
+					data.longitude=this.longitude;
+					data.latitude=this.latitude;
+				}
+				if (this.carhelp.getPersonInfo()) {
+						data.openId=this.carhelp.getOpenId()
+				}
+		
+				API.getChargingStationData(data).then((response) => {
+					if (bl) {
+						this.stationslist = [];
+						this.pageIndex = 1;
+					}
+					console.log(response)
+					var stationDataList=response.data.data
+					if(this.longitude&&this.latitude){
+						MapLoader().then(AMap1 => {
+							for(var i in stationDataList){
+								var item=stationDataList[i]
+								
+									var lnglat = new AMap.LngLat(this.longitude,this.latitude);
+									var myDistance = lnglat.distance([item.longitude,item.latitude]);
+									item.distance = myDistance/1000;
+								
+								
+							}
+						})
+					}
+				
+					
+					this.stationslist = [
+						...this.stationslist,
+						...stationDataList
+					];
+					this.recordsTotal = response.data.recordsTotal;
+					//this.detail=response.data.monthlyRentCard
+					uni.hideLoading()
+				}).catch(error => {
+					uni.showToast({
+						title: error
+					})
+				})
 			},	
 			back(){
 				//('back');
@@ -357,16 +323,7 @@
 			},
 			search(){
 				//('search keyword'+this.keyword + ' '+JSON.stringify(this.stations))
-				this.stations_filter = []
-				if(this.keyword.length<=0){
-					this.stations_filter = this.stations
-					return;
-				}
-				for(let i = 0;i< this.stations.length;i++){
-					if(this.stations[i].name.indexOf(this.keyword)>=0){
-						this.stations_filter.push(this.stations[i]);
-					}
-				}
+				 this.getChargingStationData(true)
 				
 				//('search ' + this.keyword);
 				
@@ -398,194 +355,337 @@
 		font-weight: 600;
 	}
 
-	.charing-slow {
-		width: 91%;
-		background-color: #fff;
-		margin: 24rpx auto 0;
-		border-radius: 16rpx;
-		padding: 20rpx 24rpx 0rpx;
+ .charing-slow-2{
+	 margin: 0 0 10px 0 !important;
+	 // border-bottom: 1px solid rgba(238, 242, 240, 100);
+	 
+ }
+ .charing-slow {
+ 	background-color: #fff;
+	margin: 36rpx;
+	border-radius: 16rpx;
+ 	padding: 40rpx 24rpx 24rpx;
+ 	position: relative;
+ 	left: 0;
+ 	right: 0;
+}
+.fast-charge {
+		display: inline-block;
+		border-radius: 50px;
+		border-radius: 4px;
+		background-color: rgba(208, 209, 255, 100);
+		color: rgba(56, 60, 255, 100);
 
-		.trickle-charge {
-			display: inline-block;
-			width: 88rpx;
-/*			height: 40rpx;
-			line-height: 40rpx;*/
-			border-radius: 100rpx;
-			background-color: rgba(0, 185, 98, 100);
-			color: rgba(255, 255, 255, 100);
-			@include themeify{
-				font-size:themed('font-size1');
-				line-height: themed('font-size5');
-				height:themed('font-size5')
-			}
-/*			font-size: 24rpx;*/
-			text-align: center;
+		margin: auto 0;
+		@include themeify{
+			width: themed('font-size18');
+			font-size: themed('font-size2');
+ 			line-height: themed('font-size7');
+			height: themed('font-size8');
 		}
-		.fast-trickle-charge{
-			display: inline-block;
-			width: 132rpx;
-/*			height: 40rpx;
-			line-height: 40rpx;*/
-			border-radius: 100rpx;
-			background-color: #00BAC8;
-			color: rgba(255, 255, 255, 100);
-			@include themeify{
-				font-size:themed('font-size1');
-				line-height: themed('font-size5');
-				height:themed('font-size5')
-			}
-/*			font-size: 24rpx;*/
-			text-align: center;
+		text-align: center;
+	}
+	
+	.fast-trickle-charge {
+		display: inline-block;
+	     margin: auto 0;
+		border-radius: 4px;
+		background-color: rgba(172, 236, 240, 100);
+		color: rgba(0, 124, 134, 100);
+		@include themeify{
+			width: themed('font-size18');
+			font-size: themed('font-size2');
+			line-height: themed('font-size7');
+			height: themed('font-size8');
 		}
-		.fast-charge {
-			display: inline-block;
-			width: 88rpx;
-	/*		height: 40rpx;
-			line-height: 40rpx;*/
-			border-radius: 100rpx;
-			background-color: #9d9fff;
-			color: rgba(255, 255, 255, 100);
-/*			font-size: 24rpx;*/
-			@include themeify{
-				font-size:themed('font-size1');
-				line-height: themed('font-size5');
-				height:themed('font-size5')
-			}
-			text-align: center;
+		text-align: center;
+	}
+	.trickle-charge {
+		display: inline-block;
+	border-radius: 4px;
+	margin: auto 0;
+		
+		background-color: rgba(186, 240, 215, 100);
+		color: rgba(0, 130, 69, 100);
+		@include themeify{
+			width: themed('font-size18');			
+			font-size: themed('font-size2');
+			line-height: themed('font-size7');
+			height: themed('font-size8');
+		}
+		text-align: center;
+	}
+  
+ 	.station-items {
+ 		display: inline-block;
+/* 		height: 16px;
+ 		line-height: 16px;*/
+		@include themeify{
+			font-size: themed('font-size3');
+			font-weight: themed('fontWeight');
+			line-height: themed('font-size3');
+			height: themed('font-size3');
 		}
 
-		.station-items {
-			display: inline-block;
-/*			height: 32rpx;
-			line-height: 32rpx;
-			font-size: 32rpx;
-	*/		
-			@include themeify{
-				font-size:themed('font-size3');
-				line-height: themed('font-size3');
-				height:themed('font-size3');
-				font-weight: themed('fontWeight');
-				letter-spacing: themed('letterSpacing');
+ 		margin-left: 8rpx;
+ 		color: #101010;
+ 
+ 
+ 	}
+	//
+	
+ 	.address {
+		width: 100%;
+		line-height: 20px;
+		display: flex;
+		justify-content: space-between;
+		.name{
+			font-size: 16px;
+			white-space: nowrap;
+			overflow: hidden;
+			text-overflow: ellipsis;
+		}
+		.distance{
+			color: rgba(102, 102, 102, 100);
+			font-size: 12px;
+			
+			    width: 90px;
+			.iconfont{
+				font-size: 12px;
+				margin-right: 2px;
 			}
-			margin-left: 8rpx;
-			color: #101010;
-
-
 		}
+		
+		@include themeify{
+			font-size: themed('font-size5');
+			line-height: themed('font-size7');
+		}
+/* 		font-size: 11px;*/
+font-weight: 600;
+ 		color: #101010;
+ 	}
+	
+ .price-free{
+	 width: 100%;
+	 display: flex;
+	 align-items: center;
+	 justify-content: space-between;
+	
+ }
+ 	.price {
+ 		display: flex;
+		align-items: baseline;
+		line-height: 40rpx;
+		
+		.price-1{
+		
+			
+			.num {
+			
+			 	color: rgba(255, 98, 0, 100);
+			 
+			
+				     font-size: 44rpx;
+				     height: 44rpx;
+			 	text-align: left;
+			 	font-family: Roboto-medium;
+			 }
+			 .unit {
+					// font-size: 12px;
+			  	color: rgba(102, 102, 102, 100);
+			 	@include themeify{
+			 			// font-size: themed('font-size2');
+						font-size: 24rpx;
+						
+			 			height: themed('font-size2');
+			 			
+			 	}
+			
+			  	text-align: left;
+			  	font-family: AlibabaPuHui-regular;
+			  	
+			  	margin-left: 8rpx;
+			  }
+		}
+        .price-2{
+        	color: rgba(153, 153, 153, 100);
+        	margin-left: 6rpx;
+        	text-decoration: line-through;
+			font-size: 24rpx
+        }
+ 	}
+ 
+ .free{
+ 	display: flex;
+     align-items: center;
+ 	.slow,.fast{
+ 		display: flex;
+ 		.fast-font{
+ 			width: 40rpx;
+ 			height: 40rpx;
+ 			line-height: 40rpx;
+ 			border-radius: 4px;
+ 			background-color: rgba(186, 240, 215, 100);
+ 			color: rgba(0, 130, 69, 100);
+ 			font-size: 28rpx;
+ 			text-align: center;
+ 			margin-right: 2rpx;
+ 		}
+ 		.slow-font{
+ 			width: 40rpx;
+ 			height: 40rpx;
+ 			line-height: 40rpx;
+ 			border-radius: 4px;
+ 			background-color: rgba(226, 226, 226, 100);
+ 			color: rgba(128, 128, 128, 100);
+ 			font-size: 28rpx;
+ 			text-align: center;
+ 			margin-right: 2rpx;
+ 		}
+ 		.num{
+ 			font-size: 32rpx;color: rgba(0, 145, 67, 100);
+ 			line-height: 40rpx;
+ 		}
+ 	}
+ 	.slow{
+ 		margin-left: 16rpx;
+ 	}
+ }
+ 
+  
+ 
+ 	.park {
+ 		margin-top: 16rpx;
+ 		display: flex;
+ 
+ 		
+ 
+ 		
+ 	}
+	.park-p {
+		display: inline-block;
+		width: 20px;
+/*		height: 18px;
+		line-height: 12px;*/
+		@include themeify{
+			line-height: themed('font-size1');
+			height: themed('font-size4');
+		}
+		text-align: center;
+		// background-color: rgba(125, 177, 255, 100);
+		background-color: #00b962;
+		color: #fff;
+	}
+	.park-text {
+		display: inline-block;
+		color: rgba(102, 102, 102, 100);
+		@include themeify{
+			font-size: themed('font-size1');
+			height:themed('font-size4');
+		}
+/*		font-size: 12px;*/
+		text-align: left;
+		margin-left: 4px;
+		margin-top: 2px;
+	}
+	
+	 .map {
+		width: 100%;
+	 
+		height: 100%;
+		position: relative;
+	}
+	#container {
+	  width: 100%;
+	  height: 100%;
+	}
+ 	
 
-		.address {
-			margin-top: 16rpx;
-			@include themeify{
-				font-size:themed('font-size1');
-				line-height: themed('font-size3');
-/*				height:themed('font-size11')*/
-			}
-			/*
-			line-height: 32rpx;
-			font-size: 22rpx;*/
-			color: rgba(119, 119, 119, 100);
+	
+	.distance-font {
+		@include themeify{
+				font-size: themed('font-size3');
 		}
-		.price{
-			display: flex;
-			@include themeify{
-				height:themed('font-size5');
-			}
-/*			height: 40rpx;*/
-			.num{
-				height: 40rpx;
-				color: rgba(255, 98, 0, 100);
-				@include themeify{
-					font-size:themed('font-size5');
-				}
-/*				font-size: 40rpx;*/
-				text-align: left;
-				font-family: Roboto-medium;
-			}
-			.unit{
-/*				height: 28rpx;
-				line-height: 28rpx;*/
-				color: rgba(102, 102, 102, 100);
-				@include themeify{
-					font-size:themed('font-size2');
-					line-height: themed('font-size2');
-					height:themed('font-size2')
-				}
-/*				font-size: 28rpx;*/
-				text-align: left;
-				font-family: AlibabaPuHui-regular;
-				margin-top: 12rpx;
-				margin-left: 8rpx;
-			}
+/*		font-size: 16px*/
+	}
+	
+	.position{
+		color: #1677ff;
+		@include themeify{
+				font-size: themed('font-size2');
 		}
-		.park {
-			margin-top: 16rpx;
-		    display: flex;
-			.park-p {
-				display: inline-block;
-				width: 40rpx;
-/*				height: 36rpx;
-				line-height: 24rpx;*/
-				@include themeify{
-					line-height: themed('font-size1');
-					height:themed('font-size3')
-				}
-				text-align: center;
-				background-color: rgba(125, 177, 255, 100);
-				color: #fff;
-			}
+/*		font-size: 14px*/
+	}
+	.position-box{
+		position:absolute;
+		top: 341px;
+		right: 118px;
+		width: 16px;
+		height: 16px;
+		/* line-height: 20px; */
+		background-color: rgba(22, 119, 255, 100);
+		text-align: center;
+		box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.4);
+		border: 2px solid rgba(255, 255, 255, 100);
+		border-radius: 999px;
+	}
+	.min-h{
+		min-height: 65px;
+	}
+	.sign{
+		display: flex;
+		flex-wrap: wrap;
+		margin-top: 10px;
 		
-			.park-text {
-				display: inline-block;
-				width: 600rpx;
-				/*height: 34rpx;*/
-				color: rgba(102, 102, 102, 100);
-				@include themeify{
-					font-size: themed('font-size1');
-					height:themed('font-size4')
-				}
-/*				font-size: 24rpx;*/
-				text-align: left;
-				margin-left: 8rpx;
-				margin-top: 4rpx;
-			}
+		.sign-1{
+			height: 20px;
+			line-height: 20px;
+			border-radius: 4px;
+			background-color: rgba(255, 255, 255, 100);
+			color: rgba(255, 139, 0, 100);
+			font-size: 12px;
+			text-align: center;
+			border: 1px solid rgba(255, 139, 0, 100);
+			padding: 0 4px;
+			margin-right: 8px;
+			margin-bottom: 4px;
 		}
-		.free{
-			display: flex;
-			justify-content: space-between;
-			height: 104rpx;
-			border-top: 2rpx solid rgba(238, 242, 240, 100);
-			margin-top: 20rpx;
-			.free-num{
-				line-height: 104rpx;
-				@include themeify{
-					font-size: themed('font-size3');
-					font-weight: themed('fontWeight');
-					letter-spacing: themed('letterSpacing');
-				}
-/*				font-size: 32rpx*/
-			}
-			.distance{
-/*				width: 260rpx;*/
-				height: 56rpx;
-				line-height: 56rpx;
-				color: rgba(255, 255, 255, 100);
-				@include themeify{
-					font-size: themed('font-size2');
-					width: themed('buttonWidth');
-				}
-/*				font-size: 28rpx;*/
-				background-color: #00b962;
-				border-radius: 100rpx;
-				margin: 24rpx;
-				text-align: center;
-				.distance-font{
-					@include themeify{
-						font-size: themed('font-size3');
-					}
-/*					font-size: 32rpx*/
-				}
-				
-			}
+		.sign-2{
+			height: 20px;
+			line-height: 20px;
+			border-radius: 4px;
+			background-color: rgba(255, 255, 255, 100);
+			color: rgba(153, 153, 153, 100);
+			font-size: 12px;
+			text-align: center;
+			border: 1px solid rgba(204, 204, 204, 100);
+			padding: 0 4px;
+			margin-right: 8px;
+			margin-bottom: 4px;
 		}
 	}
+	
+		.park-text2 {
+			    width: 140%;
+			}
+			.park-text3 {
+				    white-space: nowrap;
+				 
+				 
+				    text-overflow: ellipsis;
+				    overflow: hidden;
+				}
+				.carNone{
+					display: flex;
+					flex-direction: column;
+					justify-content: center;
+					align-items: center;
+					img{
+						width: 100%;
+						height: 100%;
+					}
+					p{
+						margin-top: -60px;
+					}
+				}
 </style>

+ 21 - 35
pages/searchPile/searchPile.vue

@@ -8,7 +8,7 @@
  					</view>
 					
 					<view style="margin-left: 20rpx;margin-right: 20rpx; flex:1" >
-						<u-search height="80" :input-style='inputStyle' placeholder="搜索站点名称" v-model="keyword" :showAction="false"  @focus="navigate"></u-search></view>
+						<u-search height="80" :input-style='inputStyle' placeholder="查询站点地址或站名" v-model="keyword" :showAction="false"  @focus="navigate"></u-search></view>
 					<view style="margin-right: 20rpx;" v-show="viewMode" @click="listMode">
 						<text class="iconfont">&#xe613;</text> <text class="list font2">列表</text>
 <!--						<u-icon name="list-dot" size="26" color="#c0c4cc"></u-icon>
@@ -192,27 +192,12 @@
 						</view>
 					</view>
 										
-	<!-- <view class="free">
-							<text :class="item.type == '快充' ? 'fast-charge':(item.type == '慢充' ? 'trickle-charge':'fast-trickle-charge')">{{item.type}}</text> 	
-					<view class="free-num">			
-					  <text style="color:#009143;">空闲{{item.idleNum}}</text>/总数{{item.total}}	
-							</view>
-							<view class="distance" v-if="item.distance!=99999999">
-								<text class="iconfont distance-font">&#xe615;</text>
-							{{item.distance!=null && item.distance>0.1 ? item.distance.toFixed(1)+'公里' : '小于100米'}} {{item.time.toFixed(0)}}分钟
-							</view>
-							<view class="distance" v-else>
-								<text class="iconfont distance-font">&#xe615;</text>
-								导航
-	
-							</view>
-	
-						</view> -->
+
 					
 				
 				</view>
 				 
-				<u-divider margin-top="20" bg-color="#F2F4F4" v-if="stationslist.length != 0">已经到底了</u-divider>
+				 <u-divider margin-top="20" bg-color="#F2F4F4" v-if="stationslist.length == recordsTotal">已经到底了</u-divider>
 				 
 				
 				
@@ -330,9 +315,10 @@ export default {
 			elderStatus: false,
 			inputStyle:{
 				backgroundColor: 'transparent',
-				"font-size":'18px',
-				"font-weight":"normal"
-			},
+				"font-size":'32rpx',
+			
+			},
+			recordsTotal:0,
 			nav_height:88,
 			elderMode:false,
 			showCity:false,
@@ -426,7 +412,7 @@ export default {
 		//navigation.getPoint();
 		
 		
-		let data1 = {latitude:this.latitude,longtitude:this.longitude,findType:"1"};
+		let data1 = {latitude:this.latitude,longitude:this.longitude,findType:"1"};
 		this.getChargingStationData(data1);
 	},
 	onReady() {
@@ -740,7 +726,7 @@ export default {
 									latitude: latitude
 								};
 					this.$refs.amap.setPerson(obj);	
-					//let data = {latitude:latitude,longtitude:longitude};
+					//let data = {latitude:latitude,longitude:longitude};
 					//this.getChargingStationData(data);
 					this.getNearbyStationInfo();
 					_self.first = false;
@@ -810,7 +796,7 @@ export default {
 						this.longitude = e.position.longitude;
 						this.latitude = e.position.latitude;
 						
-						let data = {latitude:this.latitude,longtitude:this.longitude,findType:"1"};
+						let data = {latitude:this.latitude,longitude:this.longitude,findType:"1"};
 						this.getChargingStationData(data);
 						//('获取定位'+JSON.stringify(e));
 						
@@ -828,8 +814,8 @@ export default {
 				data1.type = "1";
 			else if(this.info.obc_type[this.preference.obc_type_index].text.indexOf('交流慢充')>=0)
 				data1.type = "2";
-			if(pos.longtitude != null)
-				data1.longitude = pos.longtitude.toString();
+			if(pos.longitude != null)
+				data1.longitude = pos.longitude.toString();
 			if(pos.latitude != null)
 				data1.latitude = pos.latitude.toString(); 
 			if(this.info.miles_type[this.preference.miles_index].distance!=null)
@@ -870,6 +856,7 @@ export default {
 			
 			api.getChargingStationData(data1).then(function(res){
 				uni.hideLoading()
+				_self.recordsTotal = res.data.recordsTotal;
 				
 //				//('data1'+JSON.stringify(res))
 				if(!res.result || !res.data || !res.data.data)
@@ -1091,7 +1078,7 @@ export default {
 			this.close_all();
 			let posCenter = this.$refs.amap.logMapInfo();
 			////('posCenter'+JSON.stringify(posCenter))			
-			let data = {latitude:e.center.lat,longtitude:e.center.lng};
+			let data = {latitude:e.center.lat,longitude:e.center.lng};
 			this.getChargingStationData(data);
 		},
 		moveStart(e){
@@ -1200,7 +1187,7 @@ export default {
 			//('偏好设置' + JSON.stringify(this.preference));
 			this.close_all();
 //			this.show = false;
-			let data = {latitude:this.latitude,longtitude:this.longitude};	
+			let data = {latitude:this.latitude,longitude:this.longitude};	
 			this.type = this.info.obc_type[this.preference.obc_type_index].text;
 			this.raidus  = this.info.miles_type[this.preference.miles_index].text;
 			this.stationType  = this.info.obc_stationType[this.preference.obc_stationType_index].text;
@@ -1256,7 +1243,7 @@ export default {
 			//this.start();
 			//this.$refs.amap.getLocation1();
 			//this.getNearbyStationInfo();
-			let data2 = {latitude:this.latitude,longtitude:this.longitude,findType:"0"};
+			let data2 = {latitude:this.latitude,longitude:this.longitude,findType:"0"};
 			this.getChargingStationData(data2);
 			
 			this.isReady = true;
@@ -1315,9 +1302,9 @@ export default {
 
 		getNearbyStationInfo() {
 			
-			let data1 = {latitude:this.latitude,longtitude:this.longitude,findType:"1"};
+			let data1 = {latitude:this.latitude,longitude:this.longitude,findType:"1"};
 			this.getChargingStationData(data1);
-			let data2 = {latitude:this.latitude,longtitude:this.longitude,findType:"0"};
+			let data2 = {latitude:this.latitude,longitude:this.longitude,findType:"0"};
 			this.getChargingStationData(data2);
 
 			 
@@ -1329,8 +1316,8 @@ export default {
 			document.getElementsByTagName('body')[0].setAttribute('data-theme',type);
 			let data = {
 				backgroundColor: 'transparent',
-				"font-size":'36rpx',
-				"font-weight":"bold!important"
+				"font-size":'32rpx',
+				
 			};
 			this.inputStyle = data;
  		  }
@@ -1339,8 +1326,7 @@ export default {
 			document.getElementsByTagName('body')[0].setAttribute('data-theme',type);
 			let data  ={
 				backgroundColor: 'transparent',
-				"font-size":'36rpx',
-				"font-weight":"normal"
+				"font-size":'32rpx',
 			};
 			this.inputStyle = data;