reladplus.html 5.24 KB
<!-- 添加班次参数 -->
<div class="modal fade" id="reladplus_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" action="/" method="post" id="reladplus" role="form">
					<!-- alert-danger 组件START -->
					<div class="alert alert-danger display-hide" id="reladplusname">
						<button class="close" data-close="alert"></button>
							您的输入有误,请检查下面的输入项
					</div>
					<!-- 圈数 -->
					<div class="form-group" id="formRequ">
						<label class="col-md-3 control-label"><span class="required"> * </span>班次数:</label>
						<div class="col-md-9">
							<input type="number" class="form-control input-medium" id="lapNumberInput" name="lapNumber">
						</div>
					</div>
					<!-- 所属车辆 -->
					<div class="form-group" id="formRequ">
						<label class="col-md-3 control-label"><span class="required"> * </span>所属路牌:</label>
						<div class="col-md-9">
							<select name="theCar"  class="form-control input-medium" id="theCarSelect">
							</select>
						</div>
					</div>
			    </form>
			</div>
			<div class="modal-footer">
				<button type="button" class="btn default" data-dismiss="modal">取消</button>
				<button type="button" class="btn btn-primary" id="reladplusnext">确定</button>
			</div>
		</div>
	</div>
</div>
<script type="text/javascript">
/**
 * @description : (TODO) 触发被选元素的指定事件类型。
 * 
 * @params  [obj--图形对象;bf--函数集合对象;cardata--路牌对应的Y轴坐标数组]
 *
 * @status OK.
 */
$('#reladplus_mobal').on('reladplusMobal.show', function(e,obj,bf,cardata){
	// 延迟200毫秒执行.
	setTimeout(function(){
		// 加载显示mobal
		$('#reladplus_mobal').modal({show : true,backdrop: 'static', keyboard: false});
	},200);
	// 当模态框对用户可见时触发(将等待 CSS 过渡效果完成)。
	$('#reladplus_mobal').on('show.bs.modal', function () {
		// 初始化路牌下拉选择框.
		var options = '<option value="">-- 请选择路牌 --</option>';
		$.each(cardata, function(i,d){
			options += '<option value="'+d.lpA.lpNo+'">'+d.carname+'</option>';
		});
		$('#theCarSelect').html(options);
		// 初始化圈数.
		$('#lapNumberInput').val(1);
	});
	// 获取表单元素
	var form = $('#reladplus');
	// 错误提示元素
	var reladplusname = $('#reladplusname', form);
	// 下一步点击事件
	$('#reladplusnext').on('click', function() {
		form.submit();// 表单提交
	});
	// 表单验证
	form.validate({
		errorElement : 'span', 
		errorClass : 'help-block help-block-error', 
		focusInvalid : false, 
		rules : {
			'lapNumber' : {required : true,number : true,digits : true},
			'theCar' : {required : true,},
	
		},
		invalidHandler : function(event, validator) {  
			reladplusname.show();
			App.scrollTo(reladplusname, -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();
			// 获取当前班次数组集合.
			var jsonArray = obj.getDataArray();
			// 得到该路牌下最后一个班次对象
			var zhbcA = bf.getLastTime(jsonArray,params.theCar);
			if(zhbcA.length>0) {
				var lastObj = zhbcA[0];
				var cctag = obj.configuration.dataMap.map.linePlayType=='1' ? 0 : bf.dirDmToIndex(lastObj.xlDir);
				// cctag = baseF.getfx(0,cctag);
				// 定义停站时间
				var	tzsj = obj.configuration.dataMap.ztjxA[cctag];
				// 定义开始时间
				var kssj = new Date(),strArray = lastObj.ARRIVALTIME.split(':');
				kssj.setHours(parseInt(strArray[0]));
				kssj.setMinutes(parseInt(strArray[1])+tzsj);
				// 定义班次序号
				var xhNo = lastObj.fcno+1;
				// 添加班次
				bf.addbc(obj,lastObj,kssj,tzsj,xhNo,jsonArray,params.lapNumber);
				// 调整班次数组.并重新给定班次序号和发车序号.再确定首末班车时间.最后渲染数据
				obj.data(bf.tzsmbcsj(bf.setbcsAndfcno(bf.upd_Array(jsonArray,kssj,obj.configuration.dataMap,params.theCar,lastObj,lastObj.fcno+params.lapNumber)),
						obj.configuration.dataMap.smbcsjArr,
						obj.configuration.dataMap.ccsjArr,
						obj.configuration.dataMap.cclcArr,
						obj.configuration.dataMap.qdzArr,
						obj.configuration.dataMap.lbsj));
			}else if(zhbcA.length==0){
				obj.data(jsonArray.concat(bf.addlpbc(obj,bf,params.theCar,parseInt(params.lapNumber))));
			}
			// 记录早操.并保存历史班次数据
			obj.addHistory();
			// 隐藏错误提示
			reladplusname.hide();
			// 隐藏 reladplus_mobal 弹出层
			$('#reladplus_mobal').modal('hide'); 
			layer.msg('操作成功!已添加班次到路牌【'+  params.theCar +'】的最后!');
		}
	});
});
</script>