search.html 8.92 KB
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
	    <meta http-equiv="X-UA-Compatible" content="IE=edge">
	    <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
	    <title>搜索停车场</title>
	    <link rel="stylesheet" href="http://cache.amap.com/lbs/static/main1119.css"/>
	    <link rel="stylesheet" href="../iconfont/iconfont.css" />
	    <link rel="stylesheet" href="map.css" />
	</head>
	<style>
		.mapsearch{
			width: 100%;
			padding: 10px;
			box-sizing: border-box;
			border-bottom: 1px solid #CCCCCC;
			height: 58px;
			position: fixed;
			top: 0;left: 0;
		}
		.mapsearch .filter{
			width: 100%;
			height: 58px;
			position: fixed;
			top: 0;left: 0;
			filter: blur(3px);
			-webkit-filter:blur(3px);
			z-index: 10;
			background: rgba(255,255,255,1);
		}
		.mapsearch .stext{
			border: 1px solid #CCCCCC;
			border-radius: 4px;
			width: 100%;
			height: 35px;
			line-height: 35px;
			overflow: hidden;
			position: relative;
			z-index: 111;
		}
		
		.mapsearch .stext .inputxc,.search .stext .sbutton{
			float: left;
			height: 35px;
			
		}
		.mapsearch .stext .inputxc{
			width: 80%;
			box-sizing: border-box;
			border: 0;
			border-right: 1px solid #ccc;
			padding-right: 10px;
		}
		.mapsearch .stext .sbutton{
			width: 20%;
			display: inline-block;
			text-align: center;
		}
		.mapsearch .stext .inputxc input{
			height: 100%;
			width: 88%;
			float: left;
			border: 0;
			outline: none;
		}
		.mapsearch .stext .inputxc i{
			display: inline-block;
			text-align: center;
			float: right;
			color: #9B9B9B;
		}
		.maphis,.sresults{
			margin-top: 58px;
		}
		.maphis ul li,.maphis .clearhs{
			padding: 6px 10px;
			border-bottom: 1px solid #ccc;
		}
		.maphis ul li,.sresults ul li{
			list-style: none;
		}
		.maphis ul li i,.maphis .clearhs i{
			font-size: 18px;
			color: #C0C0C0;
			padding-right: 12px;
		}
		.maphis .clearhs{
			color: #C0C0C0;
			font-size: 13px;
		}
		.sresults ul li{
			padding: 10px;
			border-bottom: 1px solid #ccc;
		}
		.sresults ul li table{
			margin: 0;
		}
		.sresults ul li table td i{
			padding-right: 10px;
			font-size: 18px;
			color: #C0C0C0;
		}
		.sresults ul li table td.fontaddre{
			color: #C0C0C0;
			font-size: 12px;
		}
	</style>
	<body onclick="">
		<div class="mapsearch" id="mapsearch">
			<div class="filter"></div>
			<div class="stext">
				<div class="inputxc">
					<input type="text" id="ssearch" v-model="keyy"/>
					<i class="icon iconfont" style="display: none;" onclick="clearinput();">&#xe67b;</i>
				</div>
				<span class="sbutton">搜索</span>
			</div>
		</div>
		<div class="maphis" style="display: none;">
			<ul class="mh">
				<li>
					<i class="icon iconfont">&#xe629;</i>1
				</li>
			</ul>
			<div class="clearhs" onclick="clearhis()">
				<i class="icon iconfont">&#xe602;</i>
				清除历史
			</div>
		</div>
		<div class="sresults" style="display: none;">
			<ul>
				<!--<li>
					<table>
						<tr>
							<td rowspan="2">
								<i class="icon iconfont">&#xe6e9;</i>
							</td>
							<td>名字名字名字名字</td>
						</tr>
						<tr>
							<td class="fontaddre">地址地址</td>
						</tr>
					</table>
				</li>-->
			</ul>
		</div>
		<div class="nomoredata" style="width: 50%;margin: 28% auto 0;">
			<div style="width: 100%;text-align: center;"><i class="icon iconfont" style="font-size: 50px;color: #B2B2B2;">&#xe65e;</i></div>
			<p style="text-align: center;color: #B2B2B2;font-size: 13px;">未搜索到相关停车场</p>
		</div>
	</body>
</html>
<script src="../js/jquery-3.2.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<!--md5 start-->
<script src="../js/md5.min.js"></script>
<!--md5 end-->
<script src="../js/url.js"></script>
<script src="../js/ajax.js"></script>

<script>
	var app = new Vue({
		el: '#mapsearch',
		data: {
		    keyy:''
		},
		watch:{
			keyy:function(val){
				results(val);
			}
		}
	})
	var hisdata = [];
	$(function(){
		gethisearch();
		$("#ssearch").on('blur',function(){
			var val = $(this).val();
			if(val==''){
				$(this).next('i').css('display','none');
			}
		});
		$("#ssearch").on('focus',function(){
			$(this).next('i').css('display','inline');
		});
		//点击搜索按钮
		$('body').on('click','#sbutton',function(){
			var val = $("#ssearch").val();
			if(val&&val!=''){
				results(val);
			}
		});
		//点击搜索结果li
		$("body").on('click','.sresults ul li',function(){
			var lng = $(this).attr('data-longitude');
			var lat = $(this).attr('data-latitude');
			var name = $(this).attr('data-name');
			var pklNo = $(this).attr('data-pklNo');
			var data = {
				lng:lng,
				lat:lat,
				name:name,
				pklNo:pklNo
				
			};
			sethisearch(data);
			$("#ssearch").val(name);
			tzmap(lng,lat);
		});
		//点击历史记录项
		$("body").on('click','.maphis .mh li',function(){
			var lng = $(this).attr('data-longitude');
			var lat = $(this).attr('data-latitude');
			var name = $(this).attr('data-name');
			var pklNo = $(this).attr('data-pklNo');
			$("#ssearch").val(name);
			$('#ssearch').next('i').css('display','inline');
			tzmap(lng,lat);
		});
	});
	//获取历史记录
	function gethisearch(){
		var his = localStorage.getItem('hissearchresults');
		console.log("历史 "+his);
		if(his&&his!=null&&his!=''){
			his = JSON.parse(his);
			if(his.data.length>0){
				$(".maphis ul").html('');
				for(var i =0;i<his.data.length;i++){
					var li = document.createElement('li');
					li.setAttribute('data-longitude',his.data[i].lng);
					li.setAttribute('data-latitude',his.data[i].lat);
					li.setAttribute('data-name',his.data[i].name);
					li.setAttribute('data-pklNo',his.data[i].pklNo);
					li.setAttribute('onclick','');
					li.innerHTML = '<i class="icon iconfont">&#xe629;</i>'+his.data[i].name; //maphis
					document.querySelector('.maphis ul').appendChild(li);
				}
				$(".maphis").css('display','block');
			}else{
				$(".maphis").css('display','none');
			}
		}else{
			$(".maphis").css('display','none');
		}
	}
	//设置历史
	function sethisearch(b){
		var his = {};
		var data = [];
		var chongf = false;
		var historys = localStorage.getItem('hissearchresults');
		console.log('00   '+b.pklNo);
		if(historys&&historys!=''){
			var a = JSON.parse(historys);
			for(var i=0;i<a.data.length;i++){
				if(b.pklNo==a.data[i].pklNo){
					chongf = true;
				}
			}
			data = a.data;
		}
		if(!chongf){
			data.push(b);
		}
		his.data  = data;
		localStorage.setItem('hissearchresults',JSON.stringify(his));
	}
	//清除历史
	function clearhis(){
		localStorage.setItem('hissearchresults','');
		gethisearch();
	}
	//清除文本域
	function clearinput(){
		$("#ssearch").val('');
		$('#ssearch').next('i').css('display','none');
		results('');
	}
	//点击地图导航页面
	function tzmap(lng,lat){
		//console.log('newmap1.html?lng='+lng+"&lat="+lat);
		window.location.href = 'map.html?lng='+lng+"&lat="+lat;//index
	}
	//搜索结果
	function results(key){
		if(!key&&key==''){
			gethisearch();
			$(".sresults").css('display','none');
			$(".nomoredata").css('display','block');
			
		}else{
			$(".maphis").css('display','none');
			$(".sresults").css('display','block');
			var salt = jsajax.salt(32);
	    	var sortd = [
	    		{keyname:'app_id',value:'0eca8f5373ca4866aec2f8e9d9367104'},
	    		{keyname:'deviceInfo',value:'BC0703A4-AFB0-4B51-9089-9B7487C0CC6E'},
	    		{keyname:'salt',value:salt},
	    		{keyname:'sign_type',value:'md5'},
	    		{keyname:'parkName',value:key}
	    	];
	    	var mdsign = jsajax.getsign(sortd);
			var jsoandata = {
				app_id:'0eca8f5373ca4866aec2f8e9d9367104',
				deviceInfo:'BC0703A4-AFB0-4B51-9089-9B7487C0CC6E',
				salt:salt,
				sign_type:'md5',
				parkName:key,
				sign:mdsign
			};
			jsajax.defaultReq(
				mUrl.Searchpark,
				JSON.stringify(jsoandata),
				function(data){
					//console.log(JSON.stringify(data));
					if(data.code==0){
						document.querySelector('.sresults ul').innerHTML = '';
						var datas = data.data;
						if(datas.length>0){
							for(var i=0;i<datas.length;i++){
								var address = datas[i].address;
					            var latitude = datas[i].latitude;
						        var longitude = datas[i].longitude;
						        var name = datas[i].name;
						        var pklNo = datas[i].pklNo;
						        
						        var li = document.createElement('li');
						        li.setAttribute('data-name',name);
						        li.setAttribute('data-pklNo',pklNo);
						        li.setAttribute('data-latitude',latitude);
						        li.setAttribute('data-longitude',longitude);
						        li.setAttribute('onclick','');
						        li.innerHTML = '<table> <tr> <td rowspan="2"> <i class="icon iconfont">&#xe6e9;</i> </td> <td>'+name+'</td> </tr> <tr> <td class="fontaddre">'+address+'</td> </tr> </table>';//sresults
								document.querySelector('.sresults ul').appendChild(li);
							}
							$(".nomoredata").css('display','none');
						}else{
							$(".nomoredata").css('display','block');
						}
						
					}else{
						$(".nomoredata").css('display','block');
					}
				}
			);
		}
	}
</script>