main.html 6.49 KB
<link href="/pages/forecast/sample/css/main.css" rel="stylesheet" type="text/css" />
<div id="forecastSamplePanel">
	<div class="line_config_tree" >
		<h1 >线路</h1>
		<ul></ul>
	</div>
	
	<div class="line_config_content">
		<div class="body ">
			<div class="left_station_route">
				<div class="tabbable-line" style="height: 100%;">
					<ul class="nav nav-tabs ">
						<li class="active"><a href="#tab_up" data-toggle="tab"
							aria-expanded="true">&nbsp;</a></li>
						<li class=""><a href="#tab_down" data-toggle="tab"
							aria-expanded="false">&nbsp;</a></li>
					</ul>
					<div class="tab-content" >
						<div class="tab-pane active" id="tab_up">
							<ul class="list">
							</ul>
						</div>
						<div class="tab-pane" id="tab_down">
							<ul class="list">
							</ul>
						</div>
					</div>
				</div>
			</div>
			
			<div id="trafficChart" >
				<div class="sample_tags">
					<a href="javascript:;" class="inline-link" id="gpsCreateDataLink"><i class="fa fa-sign-in"> </i> GPS生成数据</a>
				</div>
				<div id="svgWrap" >
					
				</div>
			</div>
		</div>
	</div>
</div>

<script id="forecast_sample_tree_item_temp" type="text/html">
{{each array as line }}
<li data-code={{line.lineCode}}>
	<button>{{line.name}}</button>
</li>
{{/each}}
</script>

<script id="forecast_sample_route_temp" type="text/html">
{{each list as route i}}
<li>
		<div> <a class="sample_route_item" data-id="{{route.stationCode}}">{{route.stationName}}</a><div>
</li>
{{/each}}
</script>

<script id="forecast_gps_create_temp" type="text/html">
<form class="form-horizontal" role="form" id="forecastPopForm">
    <div class="form-body">
        <div class="form-group">
            <label class="col-md-3 control-label">线路</label>
            <div class="col-md-9">
                <input type="text" class="form-control" value="闵行11路" readonly>
            </div>
        </div>
		<div class="form-group">
		     <label class="col-md-3 control-label">走向</label>
		     <div class="col-md-9">
		         <select class="form-control input-inline input-medium" readonly>
		         	<option value="0">上行</option>
		         </select>
		     </div>
		 </div>

		 <h6 style="margin: 20px 0;border-bottom: 1px solid #eeeeee;padding: 15px 0 10px;color: gray;">1 告诉我应该使用哪些GPS数据</h6>
		 <div class="form-group">
            <label class="col-md-3 control-label">gps起始时间</label>
            <div class="col-md-9">
                <input type="date" class="form-control" >
            </div>
        </div>
		<div class="form-group">
            <label class="col-md-3 control-label">gps截止时间</label>
            <div class="col-md-9">
                <input type="date" class="form-control" >
            </div>
        </div>


		 <h6 style="margin: 20px 0;border-bottom: 1px solid #eeeeee;padding: 15px 0 10px;color: gray;">2 你想怎么划分时区</h6>
		 <div class="form-group">
            <label class="col-md-3 control-label">...</label>
            <div class="col-md-9">
                <input type="date" class="form-control" >
            </div>
        </div>
     </div>
</form>
</script>


<script src="/pages/forecast/sample/js/svg.js"></script>
<script>
!function(){
	//站点路由信息
	var routes = {};
	
	var $panel = $('#forecastSamplePanel')
		,$body = $('.line_config_content .body');
	var h = $('.page-container>.page-sidebar-wrapper>.page-sidebar').height();
	$panel.css('height', h - 18);
	
 	//线路滚动条
	$('.line_config_tree ul').slimscroll({
		height : 'calc(100% - 68px)',
		alwaysVisible : true,
		opacity : .8
	});
	
	//上下行切换事件 
	$('.left_station_route .tabbable-line ul li').on('click', function(){setTimeout(drawSvg, 300);});
	
	$get('/line/all', {destroy_eq:0}, function(rs){
		var itemsHtml = template('forecast_sample_tree_item_temp', {array: rs});
		$('.line_config_tree ul').html(itemsHtml)
			.find('li:eq(0)').click();
	});
	
	$panel.on('click', '.line_config_tree li', function(){
		$('.line_config_tree li.selected').removeClass('selected');
		$(this).addClass('selected');
		
		//显示路由信息
		showRouteInfo();
	});
	
	function showRouteInfo(){
		$.get('/stationroute/all', {'line.lineCode_eq': getLineCode(), 'destroy_eq': 0}
		,function(rs){
			rs.sort(function(a, b){
				return a.stationRouteCode - b.stationRouteCode;
			});
			var temp = 'forecast_sample_route_temp';
			//上下行分组
			var ups = [],downs = [];
			$.each(rs, function(){
				if(this.directions == 0)
					ups.push(this);
				else
					downs.push(this);
			});
			
			$('#tab_up ul').html(template(temp, {list: ups}));
			$('#tab_down ul').html(template(temp, {list: downs}));
			
			routes.ups = ups;
			routes.downs = downs;
			
			drawSvg();
		});
	}
	
	function showLoad(text){
		return layer.msg(text, {icon: 16, time: 0, shade: 0.3});
	}
	
	function getUpdown(){
		var activePanel = $('.left_station_route .tab-content .tab-pane.active')
			,updown = -1
			,id = activePanel.attr('id');
		
		if(id == 'tab_up')
			updown = 0;
		else if(id == 'tab_down')
			updown = 1;
		
		return updown;
	}
	
	function getLineCode(){
		return $('.line_config_tree li.selected').data('code');
	}
	
	function drawSvg(){
		//绘制svg
		var rts = [], updown = getUpdown();
		if(updown === 0)
			rts = routes.ups;
		else if(updown === 1)
			rts = routes.downs;
		sampleSvg.draw({lineCode: getLineCode(), rts: rts, updown: getUpdown()});
	}
	
	$('#forecastSamplePanel').on('click', '.sample_route_item', function(){
		sampleSvg.popAddModal($(this).data('id'));
	})
	
	
	$('#gpsCreateDataLink').on('click', function(){
		/* var lineName = $('.line_config_tree ul li.selected button').text();
		var updownText = $('.left_station_route ul li.active a').text();
		
		layer.confirm('使用GPS轨迹生成【'+lineName+' -'+updownText+'】站点间耗时数据? 该操作将会清除原有数据。', {
		  btn: ['我确定','算了吧'],
		  icon: 3
		}, function(){
			
		}); */
		
		layer.open({
		  type: 1,
		  area: '530px',
		  maxmin: true,
		  content: template('forecast_gps_create_temp', {}),
		  shift: 5,
		  title: 'GPS生成数据',
		  success: function(){
			 /*  dictionaryUtils.transformDom($('#childTaskDiv .nt-dictionary'));
			  $('#childTaskDiv').trigger('init', {
				  selected: schedul, 
				  _data: _data,
				  _alone: _alone
			   }); */
		  }
		});
	});
}();
</script>