lineTimeAnaly.html 12.5 KB
<style type="text/css">
	.table-bordered {
	  border: 1px solid; }
	  .table-bordered > thead > tr > th,
	  .table-bordered > thead > tr > td,
	  .table-bordered > tbody > tr > th,
	  .table-bordered > tbody > tr > td,
	  .table-bordered > tfoot > tr > th,
	  .table-bordered > tfoot > tr > td {
	    border: 1px solid; }
	  .table-bordered > thead > tr > th,
	  .table-bordered > thead > tr > td {
	    border-bottom-width: 2px; }
	 .table > tbody + tbody {
	   border-top: 1px solid; }
	 .merge{
	 	text-align:center;
	 	vertical-align:middle;
	 }
	 #works > tbody > tr{
	 	background-color: #FFFFFF;
	 }
</style>

<div class="page-head">
	<div class="page-title">
		<h1>线路时刻分析</h1>
	</div>
</div>

<div class="row">
	<div class="col-md-12">
		<div class="portlet light porttlet-fit bordered">
			<div class="portlet-title">
				<form id="history" class="form-inline" action="">
					<div style="display: inline-block;">
						<span class="item-label" style="width: 80px;">线路: </span>
						<select class="form-control" name="line" id="line" style="width: 180px;"></select>
					</div>
					<div style="display: inline-block;margin-left: 15px;">
						<span class="item-label" style="width: 80px;">开始时间: </span>
						<input class="form-control" type="text" id="startDate" style="width: 180px;"/>
					</div>
					<div style="display: inline-block;margin-left: 15px;">
						<span class="item-label" style="width: 80px;">结束时间: </span>
						<input class="form-control" type="text" id="endDate" style="width: 180px;"/>
					</div>
					<br/>
					<div style="display: inline-block;">
						<span class="item-label" style="width: 80px;">时刻类型: </span>
						<select class="form-control" name="model" id="model" style="width: 180px;">
							<option value="">请选择...</option>
						</select>
					</div>
					<div style="display: inline-block;">
						<span class="item-label" style="width: 80px;">时间段: </span>
						<select class="form-control" name="times" id="times" style="width: 180px;">
							<option value="05:00-06:00">05:00-06:00</option>
							<option value="06:00-07:00">06:00-07:00</option>
							<option value="07:00-08:00">07:00-08:00</option>
							<option value="08:00-09:00">08:00-09:00</option>
							<option value="09:00-10:00">09:00-10:00</option>
							<option value="10:00-11:00">10:00-11:00</option>
							<option value="11:00-12:00">11:00-12:00</option>
							<option value="12:00-13:00">12:00-13:00</option>
							<option value="13:00-14:00">13:00-14:00</option>
							<option value="14:00-15:00">14:00-15:00</option>
							<option value="15:00-16:00">15:00-16:00</option>
							<option value="16:00-17:00">16:00-17:00</option>
							<option value="17:00-18:00">17:00-18:00</option>
							<option value="18:00-19:00">18:00-19:00</option>
							<option value="19:00-20:00">19:00-20:00</option>
							<option value="20:00-21:00">20:00-21:00</option>
							<option value="21:00-22:00">21:00-22:00</option>
							<option value="22:00-23:00">22:00-23:00</option>
							<option value="23:00-00:00">23:00-00:00</option>
						</select>
					</div>
					<div style="display: inline-block;">
						<span class="item-label" style="width: 80px;">方向: </span>
						<select class="form-control" name="upDown" id="upDown" style="width: 180px;">
							<option value="">请先选择线路</option>
						</select>
					</div>
					<div class="form-group">
						<input class="btn btn-default" type="button" id="query" value="筛选"/>
<!-- 						<input class="btn btn-default" type="button" id="export" value="导出"/> -->
					</div>
				</form>
			</div>
			<div class="portlet-body">
				<div class="row">
					<div class="col-md-3">
						<div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 320px;">
							<table class="table table-bordered table-hover table-checkable" id="forms">
								<thead>
									<tr class="hidden">
										<th>公司</th>
										<th>日期分段</th>
										<th>时段</th>
										<th>线路</th>
										<th>路牌</th>
										<th>站点</th>
										<th>计划发车班次数</th>
										<th>实际完成班次数</th>
									</tr>
								</thead>
								<tbody>
							
								</tbody>
							</table>
						</div>
					</div>
					<div id="works_hidden" class="hidden">
						<span class="item-label" style="width: 80px;margin-left: 60px;">明细: </span>
						<span class="item-label" style="width: 80px;margin-left: 60px;">日期: </span>
						<span class="item-label" style="width: 80px;" id="date1"></span>
						<span class="item-label" style="width: 80px;margin-left: 60px;">线路: </span>
						<span class="item-label" style="width: 80px;" id="line1"></span>
						<span class="item-label" style="width: 80px;margin-left: 60px;">路牌: </span>
						<span class="item-label" style="width: 80px;" id="lp1"></span>
						<span class="item-label" style="width: 80px;margin-left: 60px;">站点: </span>
						<span class="item-label" style="width: 80px;" id="station1"></span>
					</div>
					<div class="col-md-9"  id="printArea">
						<table class="table table-bordered table-hover table-checkable" id="works">
							<thead>
								<tr class="hidden">
									<th rowspan="2">日期</th>
									<th colspan="4">到达时间</th>
									<th colspan="4">发车时间</th>
									<th colspan="2">误点率</th>
									<th colspan="5">运送时间</th>
									<th colspan="5">停站时间</th>
								</tr>
								<tr class="hidden">
									<th width="50px">计划</th>
									<th width="50px">实际</th>
									<th width="50px">平均提前</th>
									<th width="50px">平均延误</th>
									<th width="50px">计划</th>
									<th width="50px">实际</th>
									<th width="50px">平均提前</th>
									<th width="50px">平均延误</th>
									<th></th>
									<th></th>
									<th>计划</th>
									<th>实际</th>
									<th>最快</th>
									<th>最慢</th>
									<th>平均</th>
									<th>计划</th>
									<th>实际</th>
									<th>最大</th>
									<th>最小</th>
									<th>平均</th>
								</tr>
							</thead>
							<tbody>
								
							</tbody>
						</table>
					</div>
					<div style="text-align: right;">
						<ul id="pagination" class="pagination"></ul>
					</div>
				</div>
			</div>
		</div>
	</div>
</div>

<script>
	$(function(){
		var list;
		
		// 关闭左侧栏
		if (!$('body').hasClass('page-sidebar-closed'))
			$('.menu-toggler.sidebar-toggler').click();
		
		$("#startDate").datetimepicker({
			format : 'YYYY-MM-DD',
			locale : 'zh-cn'
		});
		$("#endDate").datetimepicker({
			format : 'YYYY-MM-DD',
			locale : 'zh-cn'
		});
		
		var d = new Date();
		var year = d.getFullYear();
		var month = d.getMonth() + 1;
		var day = d.getDate();
		if(month > 9){
			$("#startDate").val(year + "-" + month + "-" + day);
			$("#endDate").val(year + "-" + month + "-" + day);
		} else {
			$("#startDate").val(year + "-0" + month + "-" + day);
			$("#endDate").val(year + "-0" + month + "-" + day);
		}
		
		$.get('/basic/lineCode2Name',function(result){
			var data=[];
			
			for(var code in result){
				data.push({id: code, text: result[code]});
			}
			console.log(data);
			initPinYinSelect2('#line',data,'');
			
			line = data[0].id;
			updateModel();
		})
		
		$("#query").on("click", function (){
			line = $("#line").val();
			upDown = $("#upDown").val();
			if(line=="" || line==null){
				layer.msg("请选择线路");
			}else if(upDown==null || upDown==""){
				layer.msg("请选择方向");
			}else{
				jsDoQuery();
			}
		});
		
		var line = $("#line").val();
		var startDate = $("#startDate").val();
		var endDate = $("#endDate").val();
		var model = $("#model").val();
		var times = $("#times").val();
		var upDown = $("#upDown").val();
		function jsDoQuery(pagination){
			var params = {};
			line = $("#line").val();
			startDate = $("#startDate").val();
			endDate = $("#endDate").val();
			model = $("#model").val();
			times = $("#times").val();
			upDown = $("#upDown").val();
			params['line'] = line;
			params['startDate'] = startDate;
			params['endDate'] = endDate;
			params['model'] = model;
			params['times'] = times;
			params['upDown'] = upDown;
			params['type'] = "query";
			$("#forms .hidden").removeClass("hidden");
			$get('/busInterval/lineTimeAnaliy', params, function(result){
				// 把数据填充到模版中
				var tbodyHtml = template('list_lineTimeAnaly',{list:result});
				// 把渲染好的模版html文本追加到表格中
				$('#forms tbody').html(tbodyHtml);

				list = result;
			});

		}

		$("#forms tbody").on("click","tr",function(){
			if($(this).children().size() < 2){
				return;
			}
			var params = {};
			$(this).children().each(function(index){
				if(index != 0){
					params[index] = $(this).text();
				}
			});
			$.each(list, function(i, g){
				if(g.line == params[3] && g.lp == params[4]){
					var tbodyHtml = template('list_workList',{list:g});
					$('#works tbody').html(tbodyHtml);
					$("#works_hidden").removeClass("hidden");
					$("#works .hidden").removeClass("hidden");
					$("#date1").html(g.dates);
					$("#line1").html(g.line);
					$("#lp1").html(g.lp);
					$("#station1").html(g.station);
				}
			});
		});
		
		
// 		$("#export").on("click",function(){
// 			$get('/pcpc/workDaily',{line:line,date:date,type:'export'},function(result){
// 				window.open("/downloadFile/download?fileName=营运服务日报表"+moment(date).format("YYYYMMDD"));
// 			});
// 		});
		
		
		$("#line").on("change", function(){
			line = $("#line").val();
			updateModel();
			var params = {};
			params['line'] = line;
			$get('/busInterval/getDir', params, function(result){
				dirData = createTreeData(result);
				var options = '';
				$.each(dirData, function(i, g){
					options += '<option value="'+g.name+'">'+g.name+'</option>';
				});
				$('#upDown').html(options);
			});
		});
		$('#startDate').on("blur", function(){
			startDate = $("#startDate").val();
			endDate = $("#endDate").val();
			updateModel();
		});
		$('#endDate').on("blur", function(){
			startDate = $("#startDate").val();
			endDate = $("#endDate").val();
			updateModel();
		});
		
		var flag = 0;
		function updateModel(){
			if(flag == 1)
				return;
			flag = 1;
			var treeData = [];
			var params = {};
			params['line'] = line;
			params['startDate'] = startDate;
			params['endDate'] = endDate;
			$get('/pcpc/getModel', params, function(result){
				treeData = createTreeData(result);
				var options = '<option value="">请选择...</option>';
				$.each(treeData, function(i, g){
					options += '<option value="'+g.id+'">'+g.name+'</option>';
				});
				$('#model').html(options)/* .select2() */;
				flag = 0;
			});
		}
		
		
	});
	
</script>
<script type="text/html" id="list_lineTimeAnaly">
	{{each list as obj i}}
		<tr>
			<td>{{obj.company}}</td>
			<td>{{obj.dates}}</td>
			<td>{{obj.times}}</td>
			<td>{{obj.line}}</td>
			<td>{{obj.lp}}</td>
			<td>{{obj.station}}</td>
			<td>{{obj.jhbc}}</td>
			<td>{{obj.sjbc}}</td>
		</tr>
	{{/each}}
	{{if list.length == 0}}
		<tr>
			<td colspan="8"><h6 class="muted">没有找到相关数据</h6></td>
		</tr>
	{{/if}}
</script>
<script type="text/html" id="list_workList">
	{{each list.workList as obj i}}
		<tr>
			<td>{{obj.date}}</td>
			<td>{{obj.jhdf}}</td>
			<td>{{obj.sjdf}}</td>
			{{if i == 0}}
				<td rowspan="{{list.workList.length}}" class="merge">{{list.wddf1}}</td>
				<td rowspan="{{list.workList.length}}" class="merge">{{list.wddf2}}</td>
			{{/if}}
			<td>{{obj.jhfc}}</td>
			<td>{{obj.sjfc}}</td>
			{{if i == 0}}
				<td rowspan="{{list.workList.length}}" class="merge">{{list.wdfc1}}</td>
				<td rowspan="{{list.workList.length}}" class="merge">{{list.wdfc2}}</td>
			{{/if}}
			<td>{{obj.kbc}}</td>
			<td>{{obj.mbc}}</td>
			<td>{{obj.jhys}}</td>
			<td>{{obj.sjys}}</td>
			<td>{{obj.yssjMin}}</td>
			<td>{{obj.yssjMax}}</td>
			{{if i == 0}}
				<td rowspan="{{list.workList.length}}" class="merge">{{list.pjys}}</td>
			{{/if}}
			<td>{{obj.jhtz}}</td>
			<td>{{obj.sjtz}}</td>
			<td>{{obj.tzsjMax}}</td>
			<td>{{obj.tzsjMin}}</td>
			{{if i == 0}}
				<td rowspan="{{list.workList.length}}" class="merge">{{list.pjtz}}</td>
			{{/if}}
		</tr>
	{{/each}}
	{{if list.length == 0}}
		<tr>
			<td colspan="21"><h6 class="muted">没有找到相关数据</h6></td>
		</tr>
	{{/if}}
</script>