addstationstemplate.html 8 KB
<!-- 手动添加站点 -->
<div class="modal fade" id="add_station_template_modal" 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-9">
								<textarea class="form-control" rows="12" name="stations" id="stationsInput" placeholder="站点信息"></textarea>
							</div>
						</div>
						
					</div>
					
					 <div class="form-group">
						<label class="col-md-3 control-label">坐标系类型:</label>
						<div class="col-md-9">
							<div class="icheck-list">
								<!--<label>
									<input type="radio" class="icheck" name="baseRes" value='No'> 暂无坐标系
								</label>
								<label>
										<input type="radio" class="icheck" name="baseRes" value='GCJ02' > 火星坐标系
								</label>
								<label>
									<input type="radio" class="icheck" name="baseRes" value='BD09'> 百度坐标系
								</label>-->
								<label>
									<input type="radio" class="icheck" name="baseRes" value='WGS84' checked> WGS84坐标系
								</label>
							</div>
						</div>
					 </div>
					<!-- 版本号 -->
					<div class="form-body">
						<div class="form-group">
							<label class="col-md-3 control-label">版本号&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>
							<div class="col-md-6">
								<input type="text" class="form-control" name="versions" id='versionsInput' Readonly>
							</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:#1bbc9b;"> * 手动添加站点规划说明: </span></h5>
                            <p>
                            	<span class="help-block" style="color:#1bbc9b;">
                            		&nbsp;请在文本域中按站点顺序依次输入站点名称(如果已有站点GPS坐标(坐标点也用【Tab】键隔开),请将坐标跟在站点名称后面用【Tab】键隔开),每输入完一个站名时请按回车键【Enter】换行.
                            		例如:<br><br>
                            		浦东大道金桥路	121.496612	31.238960<br>
                            		浦东大道居家桥路	121.496618	31.238957<br>
                            		浦东大道德平路	121.496622	31.238948<br>
                            	</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">

$('#add_station_template_modal').on('modal.show', function(event) {
	var properties = RoutesOperation.getProperties();
	setTimeout(function(){$('#add_station_template_modal').modal({show : true,backdrop: 'static', keyboard: false});},200);

	var form = $('#save_station_template_form');
	var error = $('.alert-danger', form);
	$('#versionsInput').val(properties.versions);

	$('.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_modal').modal('hide');
			var directionData = properties.directions;
			var lineNameV = $('.portlet-title .caption').text();
			var dirStr = '';
			if (directionData == 0) {
				dirStr = '上行路段';
				$('#upToolsMobal').hide();
			} else if (directionData == 1) {
				dirStr = '下行路段';
				$('#downToolsMobal').hide();
			}
			var i = layer.load(0,{offset:['200px', '280px']});
			var paramsForm = form.serializeJSON();
			var baseResValue = paramsForm.baseRes;
			var array = paramsForm.stations.split('\r\n');
			var arrayFormat = inputStationValueFormat(array);
			// 根据站点名称获取百度坐标
			RoutesOperation.stationsNameToPoints(arrayFormat, function(resultJson) {
				// 根据坐标点获取两点之间的时间与距离
				RoutesOperation.getDistanceAndTotime(resultJson, function(stationdataList) {
					var params = {};
					params.lineId = properties.lineId;
					params.versions = properties.versions;
					params.directions = properties.directions;
					params.stationJSON = resultJson;
					RoutesOperation.lineInfoPanl(lineNameV, directionData, function(BusLine) {
						if (BusLine && Polygon){
							var Polygon = BusLine.getPolyline();
							var polyGonArray = Polygon.getPath();
							var jsonArray = [{sectionName: lineNameV+dirStr, points: polyGonArray}];
							params.sectionJSON = jsonArray;
							addSave(params, properties.lineId, directionData);
						} else {
							RoutesOperation.getSectionListPlonly(stationdataList,function(sectiondata) {
								params.sectionJSON = sectiondata;
								addSave(params, properties.lineId, directionData);
							});
						} 
					});
				});
			});
		}
	});
	
	function inputStationValueFormat(paramsStationsArray) {
		var stationList = [];
		var len = paramsStationsArray.length;
		for (var k = 0;k < len;k++) {
			if (paramsStationsArray[k] == "") {
				continue;
			}
			var tempStr = paramsStationsArray[k].split('\t');
			if (tempStr.length < 2) {
				stationList.push({name: paramsStationsArray[k]+"公交车站", wgs: {x: '',y: ''}});
			} else {
				stationList.push({name: tempStr[0]+"公交车站", wgs: {x: tempStr[1], y: tempStr[2]}});
			}
		}

		return stationList;
	}
	
	function addSave(params, lineId, directionData) {
		debugger;
		// 参数集合
		if (!params.versions) {
			params.versions = '1';
		}
		formatRoutes(params);
		//return;
		RoutesService.manualSave(params, function(res) {
			layer.closeAll();
			if (res.status == 'SUCCESS') {
				layer.msg('保存成功!');
			} else {
				layer.msg('保存失败!');
			}
			RoutesOperation.clearMarkAndOverlays();
			RoutesOperation.resjtreeDate(lineId, directionData, params.versions);
		});
	}

	function formatRoutes(params) {
		var stationRoutes = [], sectionRoutes = [], sectionRouteCode = 1;
		params.stationJSON.forEach(function(item) {
			stationRoutes.push({stationName: item.name, shapedType: 'r', radius: 80, destroy: 0, distances: 0, toTime: 0, station: {stationName: item.name, centerPointWkt: 'POINT(' + item.potion.lng + ' ' + item.potion.lat + ')'}});
		})
		params.sectionJSON.forEach(function(item) {
			var centerPointWkt = [];
			item.points.forEach(function(item1) {
				centerPointWkt.push(item1.lng + ' ' + item1.lat);
			})
			sectionRoutes.push({sectionrouteCode: sectionRouteCode, destroy: 0, section: {sectionName: item.sectionName, bsectionVectorWkt: 'LINESTRING(' + centerPointWkt.join(',') + ')'}});
			sectionRouteCode++;
		})
		params.stationRoutes = stationRoutes;
		params.sectionRoutes = sectionRoutes;
	}
});
</script>