addstationstemplate.html 8.32 KB
<!-- 手动添加站点 -->
<div class="modal fade" id="add_station_template_mobal" tabindex="-1" role="basic" aria-hidden="true">
	
	<div class="modal-dialog">
		
		<div class="modal-content">
		
			<div class="modal-header">
				<button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
				<h4 class="modal-title">手动添加站点</h4>
			</div>
			
			<div class="modal-body">
				
				<form class="form-horizontal" role="form" id="save_station_template_form" action="/module" method="post">
				
					<div class="alert alert-danger display-hide"> <button class="close" data-close="alert"></button>
						您的输入有误,请检查下面的输入项
					</div>
					
					<!-- 站点名称 -->
					<div class="form-body">
					
						<div class="form-group">
							<label class="control-label col-md-3">
          						<span class="required"> * </span> 站点名称:
                    		</label>
							<div class="col-md-6">
								<textarea class="form-control" rows="10" name="stations" id="stationsInput" placeholder="站点名称"></textarea> 
							</div>
						</div>
						
					</div>
					
					 <div class="form-group">
					 	<div class="alert alert-info font-blue-chambray" style="background-color: #2C3E50">
                            <h5 class="block"><span class="help-block" style="color:#eee;"> * 手动添加站点规划说明: </span></h5>
                            <p><span class="help-block" style="color:#eee;">&nbsp;请在文本域中按站点顺序依次输入站点名称,每输入完一个站名时请按回车键(Enter)换行.</span> </p>
                        </div>
					 </div>
				</form>
			</div>
			<div class="modal-footer">
				<button type="button" class="btn default" data-dismiss="modal" id="addMobalHiden">取消</button>
				<button type="button" class="btn btn-primary" id="templateSaveData">提交数据</button>
			</div>
		</div>
	</div>
</div>
<script type="text/javascript">
$(function(){
	
	// 延迟加载显示mobal
	setTimeout(function(){$('#add_station_template_mobal').modal({show : true,backdrop: 'static', keyboard: false});},200);
	
	// 获取表单元素
	var form = $('#save_station_template_form');
	
	// 获取错误提示信息元素
	var error = $('.alert-danger', form);
	
	// 提交数据点击事件
	$('.modal-footer #templateSaveData').on('click',function() {
		
		// 表单提交
		form.submit();
		
	});
	
	// 表单验证
	form.validate({
		
		errorElement : 'span', 
		
		errorClass : 'help-block help-block-error', 
		
		focusInvalid : false, 
		
		rules : {
			
			'stations' : {
				
				required : true,
				
			}
	
		},
		
		invalidHandler : function(event, validator) {  
			
			error.show();
			
			App.scrollTo(error, -200);
			
		},

		highlight : function(element) { 
			
			$(element).closest('.form-group').addClass('has-error'); 
			
		},

		unhighlight : function(element) { 
			
			$(element).closest('.form-group').removeClass('has-error'); 
			
		},

		success : function(label) {
			
			label.closest('.form-group').removeClass('has-error'); 
			
		},

		submitHandler : function(f) {
			
			// 隐藏手动规划弹出层
			$('#add_station_template_mobal').modal('hide');
			
			var directionData = manualPararms.dir;
			
			// 上行
			if(directionData==0){
				
				// 隐藏上行规划
				$('#upToolsMobal').hide();
			
			// 下行
			}else if(directionData==1){
				
				// 隐藏上行规划
				$('#downToolsMobal').hide();
				
			}
			
			// 弹出正在加载层
			var i = layer.load(0,{offset:['200px', '280px']});
			
			// 表单序列画
			var params = form.serializeJSON();
			
			// 站点名称字符串切割
			var paramsStationsArray = params.stations.split('\r\n');
			
			// 根据站点名称获取百度坐标
			WorldsBMap.stationsNameToPoints(paramsStationsArray,function(resultJson) {
				
				// 根据坐标点获取两点之间的时间与距离
				WorldsBMap.getDistanceAndDuration(resultJson,function(stationdataList) {
					
					// 根据坐标点获取两点之间的折线路段
					WorldsBMap.getSectionListPlonly(stationdataList,function(sectiondata) {
						
						// 设置第一个站的距离
						stationdataList[0].distance = '';
            			
						// 设置第一个站的时间
						stationdataList[0].duration = '';
						
						// 定义站点信息JSON字符串
						var stationJSON = JSON.stringify(stationdataList);
						
						// 定义路段信息字符串
						var sectionJSON = JSON.stringify(sectiondata);
						
						// 参数集合
						var params = {};
						
						// 站点信息JSON字符串
						params.stationJSON = stationJSON;
						
						// 线路ID
						params.lineId = id;
						
						// 方向
						params.directions = directionData;
						
						// 原始坐标类型
						params.dbType = 'b';
						
						// 圆形半径
						params.radius = '100';
						
						// 限速
						params.speedLimit = '60';
						
						// 图形类型(r:圆形;p:多边形)
						params.shapesType = 'r';
						
						// destroy:是否撤销
						params.destroy = '0';
						
						// versions:版本号
						params.versions = '1';
						
						// 路段信息JSON字符串
						params.sectionJSON = sectionJSON;
						
						// 保存
						GetAjaxData.manualSave(params,function(rd) {

							// 关闭弹出层
							layer.closeAll();
							
							if(rd.status='SUCCESS') {
								
								// 清除地图覆盖物
								mapB.clearOverlays();
								
								layer.msg('保存成功!');
								
								// 刷新树
								PublicFunctions.resjtreeDate(id,directionData);
								
								// 查询上行路段信息
								GetAjaxData.getSectionRouteInfo(id,directionData,function(data) {
									
									// 在地图上画出线路走向
									PublicFunctions.linePanlThree(data,directionData);
									
								});
								
							}else {
								
								layer.msg('保存失败!');
								
							}
							
						});
						/*
						// 路段折线百度坐标转WGS坐标
						PublicFunctions.eachSectionList(sectiondata,function(successdata) {
							
							// 站点坐标转WGS坐标
							GetAjaxData.getFormPointEToWGS(stationdataList,function(stationdata) {
								
								// 定义站点信息JSON字符串
								var stationJSON = JSON.stringify(stationdata);
								
								// 定义路段信息字符串
								var sectionJSON = JSON.stringify(successdata);
								
								// 参数集合
								var params = {};
								
								// 站点信息JSON字符串
								params.stationJSON = stationJSON;
								
								// 线路ID
								params.lineId = id;
								
								// 方向
								params.directions = directionData;
								
								// 原始坐标类型
								params.dbType = 'b';
								
								// 圆形半径
								params.radius = '300';
								
								// 限速
								params.speedLimit = '60';
								
								// 图形类型(r:圆形;p:多边形)
								params.shapesType = 'r';
								
								// destroy:是否撤销
								params.destroy = '0';
								
								// versions:版本号
								params.versions = '1';
								
								// 路段信息JSON字符串
								params.sectionJSON = sectionJSON;
								
								console.log(params);
								
								// 保存
								GetAjaxData.manualSave(params,function(rd) {

									// 关闭弹出层
									layer.closeAll();
									
									if(rd.status='SUCCESS') {
										
										// 清除地图覆盖物
										map.clearOverlays();
										
										layer.msg('保存成功!');
										
										// 刷新树
										PublicFunctions.resjtreeDate(id,directionData);
										
										// 查询上行路段信息
										GetAjaxData.getSectionRouteInfo(id,directionData,function(data) {
											
											// 在地图上画出线路走向
											PublicFunctions.linePanlThree(data,directionData);
											
										});
										
									}else {
										
										layer.msg('保存失败!');
										
									}
									
								});
								
							}); 
							
						});*/
						
					});
					
 				});
				
			});
			
		}
		
	});
	
});
</script>