add.html 14.3 KB
<!-- 新增站点 -->
<div class="modal fade" id="add_station_mobal" 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="add_station_form" action="/module" method="post">
					<div class="alert alert-danger display-hide"> <button class="close" data-close="alert"></button>
						您的输入有误,请检查下面的输入项
					</div>
					<!-- 线路ID -->
					<input type="hidden" name="lineId" id="lineIdInput"  value="" />
					<input type="hidden" name="bPolygonGrid" id="bPolygonGridInput"  value="" />
					<input type="hidden" name="gPolygonGrid" id="gPolygonGridInput"  value="" />
					<input type="hidden" name="gJwpoints" id="gJwpointsInput">
					<input type="hidden" name="dbType" id="dbTypeInput" value="b"/>
					<!-- 站点路由名称 -->
					<div class="form-body">
						<div class="form-group">
							<label class="control-label col-md-3">
          						<span class="required"> * </span> 站点名称&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
                    		</label>
							<div class="col-md-6">
								<input type="text" class="form-control" name="stationName" id="stationNameInput" placeholder="站点名称">
							</div>
						</div>
					</div>
					<!-- 站点编码 -->
					<div class="form-body">
						<div class="form-group">
							<label class="control-label col-md-3">
          						<span class="required"> * </span>站点编码&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
                    		</label>
							<div class="col-md-6">
								<input type="text" class="form-control" name="stationCod" id="stationCodInput" readonly="readonly">
							</div>
						</div>
					</div>
					<!-- 站点方向 -->
					<div class="form-body">
						<div class="form-group">
							<label class="control-label col-md-3">
          						<span class="required"> * </span>站点方向&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
                    		</label>
							<div class="col-md-6">
								<select name="directions" class="form-control" id="stationdirSelect">
									<option value="">-- 请选择站点类型 --</option>
									<option value="0">上行</option>
									<option value="1">下行</option>
								</select>
							</div>
						</div>
					</div>
					
					<!-- 站点序号 -->
					<div class="form-body">
						<div class="form-group">
							<label class="control-label col-md-3">
          						<span class="required"> * </span>站点序号&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
                    		</label>
							<div class="col-md-6">
								<select name="stationRouteCode" class="form-control" id="stationrouteSelect" style="width:100%"></select>
								<span class="help-block">说明:选择的站点将作为本站序号的参考,成为选择站点的下一站。 </span>
							</div>
						</div>
					</div>
					
					<!-- 站点类型 -->
					<div class="form-body">
						<div class="form-group">
							<label class="control-label col-md-3">
          						<span class="required"> * </span>站点类型&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
                    		</label>
							<div class="col-md-6">
								<select name="stationMark" class="form-control" id="stationMarkSelect">
									<option value="">-- 请选择站点类型 --</option>
									<option value="B">起点站</option>
									<option value="Z">中途站</option>
									<option value="E">终点站</option>
									<option value="T">停车场</option>
								</select>
							</div>
						</div>
					</div>
					<!-- 中心位置坐标点 -->
					<div class="form-body">
						<div class="form-group">
							<label class="col-md-3 control-label"><span class="required"> * </span>经纬度坐标点:</label>
							<div class="col-md-6">
								<input type="text" class="form-control" name="bJwpoints" id="bJwpointsInput">
							</div>
						</div>
					</div>
					<!-- 几何图形类型 -->
					<div class="form-body">
						<div class="form-group">
							<label class="col-md-3 control-label"><span class="required"> * </span>几何图形类型:</label>
							<div class="col-md-6">
								<input type="text" class="form-control" name="shapesType" id="shapesTypeSelect" placeholder="几何图形类型" readonly="readonly">
							</div>
						</div>
					</div>
					<!-- 圆形半径 -->
					<div class="form-body" id="radiusGroup">
						<div class="form-group">
							<label class="col-md-3 control-label"><span class="required"> * </span>圆形半径&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>
							<div class="col-md-6">
								<input type="text" class="form-control" name="radius" id="radiusInput" placeholder="圆形半径">
							</div>
						</div>
					</div>
					<!-- 是否撤销 -->
					<div class="form-body">
						<div class="form-group">
							<label class="col-md-3 control-label"><span class="required"> * </span>是否撤销&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>
							<div class="col-md-6">
								<select name="destroy" class="form-control" id="destroySelect">
									<option value="">-- 请选择撤销类型 --</option>
									<option value="0"></option>
									<option value="1"></option>
								</select>
							</div>
						</div>
					</div>
					<!-- 到站时间 -->
					<div class="form-body">
						<div class="form-group">
							<label class="col-md-3 control-label">到站时间&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>
							<div class="col-md-6">
								<input type="text" class="form-control" name="toTime" id="toTimeInput" >
								<span class="help-block">单位:分钟(min)</span>
							</div>
						</div>
					</div>
					<!-- 到站距离 -->
					<div class="form-body">
						<div class="form-group">
							<label class="col-md-3 control-label">到站距离&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>
							<div class="col-md-6">
								<input type="text" class="form-control" name="distances" id="distancesInput" >
								<span class="help-block">单位:公里(km)</span>
							</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">
	                	<label class="control-label col-md-3"> 描述/说明&nbsp;&nbsp;&nbsp;&nbsp;: </label>
                 		<div class="col-md-6">
                     		<textarea class="form-control" rows="3" name="descriptions" id="descriptionsTextarea" placeholder="描述/说明"></textarea>
                    	</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="addStationButton">提交数据</button>
			</div>
		</div>
	</div>
</div>
<script type="text/javascript">
$('#add_station_mobal').on('AddStationMobal.show', function(e, addMap,ajaxd,staobj,lineObj,fun){
	var Station =  staobj.getAddStation();
	var Line = lineObj.getLineObj();
	// 延迟加载
	setTimeout(function(){
		// 显示mobal
		$('#add_station_mobal').modal({show : true,backdrop: 'static', keyboard: false});
	},200);
	// 当调用 hide 实例方法时触发
	$('#add_station_mobal').on('hide.bs.modal', function () {
		closeMobleSetClean();
	});
	// 当模态框对用户可见时触发(将等待 CSS 过渡效果完成)。
	$('#add_station_mobal').on('show.bs.modal', function () {
		// 获取站点编码元素,添加站点编码值
		ajaxd.getStationCode(function(stationCode) {
			// 线路ID.
			$('#lineIdInput').val(Line.id);
			// 获取站点路由名称元素设值.
			$('#stationNameInput').val(Station.stationNamebootbox);
			// 站点编码.
			$('#stationCodInput').val(stationCode).attr('Readonly','Readonly');
			// 获取方向元素,并添加值.
			$('#stationdirSelect').val(Station.dir).attr('Readonly','Readonly');
			// 百度地图经纬度坐标中心点.
			$('#bJwpointsInput').val(Station.bJwpoints).attr('Readonly','Readonly');
			// 百度坐标点图形集合.
			$('#bPolygonGridInput').val(Station.bPolygonGrid);
			// 获取图形类型元素,并添加值
			if(Station.shapesType=='r')
				$('#shapesTypeSelect').val('圆形');
			else if(Station.shapesType=='d') {
				$('#radiusGroup').hide();
				$('#shapesTypeSelect').val('多边形');
			}
			// 获取圆形半径元素,并添加值
			$('#radiusInput').val(Station.radius);
			// 是否撤销
			$('#destroySelect').val(0); 
			// 版本号
			$.get('/lineVersions/findCurrentVersion',{'lineId':Line.id},function(versions){
				$('#versionsInput').val(versions);					
			});
			
			var initzdlyP = {'line.id_eq':Line.id,'destroy_eq':0,'directions_eq':Station.dir};
			initSelect(initzdlyP);
		});
	});
	// 站点序号值改变事件
	$('#stationrouteSelect').on('change',function() {
		var stationRValue = $('#stationrouteSelect').val();
		if(stationRValue=='请选择...') {
			$('#stationMarkSelect').val('B');
		}else {
			var tempStr = stationRValue.split('_');
			if(tempStr[1] == 'E') {
				$('#stationMarkSelect').val('E');
			}else {
				$('#stationMarkSelect').val('Z');
			}
		}
	});
	// 获取表单元素
	var form = $('#add_station_form');
	// 获取错误提示信息元素
	var error = $('.alert-danger', form);
	//提交
	$('#addStationButton').on('click', function() {
		// 表单提交
		form.submit();
	});
	// 表单验证
	form.validate({
		errorElement : 'span', 
		errorClass : 'help-block help-block-error', 
		focusInvalid : true, 
		rules : {
			'stationName' : {required : true,maxlength : 50,},// 站点名称 必填项
			'stationCod': {required : true,},// 站点编码 必填项 必须输入合法的数字(负数,小数)。
			'directions' : {required : true,dirIs : true},// 站点方向 必填项 必填项
			'stationRouteCode' : {isStart : true},// 站点序号
			'stationMark' : {required : true,},// 站点类型 必填项.
			'bJwpoints' : {required : true,},// 经纬度坐标点 必填项.
			'shapesType' : {required : true,},// 几何图形类型 必填项.
			'radius' : {required : true,},// 几何图形类型 必填项.
			'destroy' : {required : true,},// 是否撤销 必填项.
			'toTime' : {number : true},// 到站时间 必须输入合法的数字(负数,小数)。
			'distances' : {number : true},// 到站距离 必须输入合法的数字(负数,小数)。 
			'descriptions' : {maxlength: 150}// 描述与说明 // 描述与说明
	
		},
		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) {
			var params = form.serializeJSON();
			error.hide();
			if(params.shapesType=='圆形')
				params.shapesType='r';
			else if(params.shapesType=='多边形')
				params.shapesType='d';
			if(params.stationRouteCode=='请选择...')
				params.stationRouteCode='';
			// 保存
			ajaxd.stationSave(params,function(data) {
				if(data.status=='SUCCESS') {
					// 弹出添加成功提示消息
					layer.msg('添加成功...');
				}else {
					// 弹出添加失败提示消息
					layer.msg('添加失败...');
				}
				var id =Line.id;
				var dir = params.directions
				// 刷行左边树
				fun.resjtreeDate(id,dir);
				closeMobleSetClean();
				// 隐藏moble
				hideMoble();
			});
		}
	});
	function initSelect(p){
		ajaxd.getzdlyInfo(p,function(array) {
			// 定义路段路由长度、渲染拼音检索下拉框格式数据.
			var len_ = array.length,paramsD = new Array();
			if(len_>0) {
				paramsD.push({'id':'请选择...','text':'请选择...'});
				// 遍历.
				$.each(array, function(i, g){
					// 判断.
					if(g.name!='' || g.name != null) {
						// 添加拼音检索下拉框格式数据数组.
						paramsD.push({'id':g.stationRouteCode + '_' + g.stationMark + '_' + g.directions,
									  'text':g.stationName + ' (' + g.stationRouteCode + ')' + '  --' + fun.dirdmToName(g.directions)});
					}
				});
				$('#stationrouteSelect').empty();
				// 初始化上一个路段拼音检索下拉框.
				initPinYinSelect2($('#stationrouteSelect'),paramsD,function(selector) {
				});
			}
		});
	}
	function closeMobleSetClean() {
		// 清除地图覆盖物
		addMap.clearMarkAndOverlays();
		/** 设置新增站点集合对象为空 */
		staobj.setAddStation({});
		var add_direction_v = $('#stationdirSelect').val();
		ajaxd.getSectionRouteInfo(Line.id,add_direction_v,function(data) {
			fun.linePanlThree(Line.id,data,add_direction_v);
		});
		fun.editMapStatusRemove();
	}
	function hideMoble() {
		// 隐藏mobal
		$('#add_station_mobal').modal('hide');
	}
	// 当站点类型为中途站或者终点站时,上一站点为必填项!
	$.validator.addMethod("isStart", function(value,element) {
		var tel = false;
		var stationMarkV = $('#stationMarkSelect').val();
		var stationrouteSelectV = $('#stationrouteSelect').val();
		if(stationMarkV =='B'){
			tel = true;
			return  tel;
		}else if(stationMarkV =='Z' || stationMarkV =='E'){
			if(stationrouteSelectV!='' && stationrouteSelectV!='请选择...'  && stationrouteSelectV!=null){
				tel = true;
				return  tel;
			}
		}
		return tel; 
	}, '当站点类型为中途站或者终点站时,上一站点为必填项!');
	// 方向
	$.validator.addMethod("dirIs", function(value,element) {
		var tel = true;
		var stationMarkV = $('#stationdirSelect').val();
		if(stationMarkV!=Station.dir){
			tel = false;
		}
		return tel; 
	}, '方向必须一致!');
});
</script>