Commit 8d2489a9acff2ff2065b8a627c79a7d1eda5b811
Merge branch 'minhang' of http://192.168.168.201:8888/panzhaov5/bsth_control into minhang
Showing
3 changed files
with
85 additions
and
11 deletions
src/main/resources/static/real_control_v2/css/main.css
| @@ -369,4 +369,32 @@ li.map-panel{ | @@ -369,4 +369,32 @@ li.map-panel{ | ||
| 369 | .ct-bottom-drawer-body{ | 369 | .ct-bottom-drawer-body{ |
| 370 | width: 100%; | 370 | width: 100%; |
| 371 | height: 100%; | 371 | height: 100%; |
| 372 | +} | ||
| 373 | + | ||
| 374 | +#station_route_spacing_chart_drawer .svg_wrap{ | ||
| 375 | + width: 80%;height: 100%;display: inline-block;font-size: 14px;overflow: hidden; | ||
| 376 | + position: relative; | ||
| 377 | +} | ||
| 378 | + | ||
| 379 | +#station_route_spacing_chart_drawer .drawer_right_map{ | ||
| 380 | + width: 20%;height: 100%;display: inline-block; | ||
| 381 | +} | ||
| 382 | + | ||
| 383 | +#station_route_spacing_chart_drawer .svg_cont_body{ | ||
| 384 | + height:100%; | ||
| 385 | + position: absolute; | ||
| 386 | + top:0; | ||
| 387 | + left: 0; | ||
| 388 | +} | ||
| 389 | + | ||
| 390 | +#station_route_spacing_chart_drawer svg{ | ||
| 391 | + width: 100%; | ||
| 392 | + height: 100%; | ||
| 393 | +} | ||
| 394 | + | ||
| 395 | +#station_route_spacing_chart_drawer svg g._item rect{ | ||
| 396 | + stroke: rgb(62, 80, 179); | ||
| 397 | + fill: rgb(62, 80, 179); | ||
| 398 | + width: 30px; | ||
| 399 | + height: 140px; | ||
| 372 | } | 400 | } |
| 373 | \ No newline at end of file | 401 | \ No newline at end of file |
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/station_route_spacing_chart.html
| 1 | <!-- 站点路由间距图 --> | 1 | <!-- 站点路由间距图 --> |
| 2 | <div id="station_route_spacing_chart_drawer" style="width: 100%;height: 100%;font-size: 0;"> | 2 | <div id="station_route_spacing_chart_drawer" style="width: 100%;height: 100%;font-size: 0;"> |
| 3 | - <div style="width: 80%;height: 100%;display: inline-block;font-size: 14px;" class="svg_wrap"> | 3 | + <div class="svg_wrap"></div> |
| 4 | 4 | ||
| 5 | - </div> | ||
| 6 | - | ||
| 7 | - <div style="width: 20%;height: 100%;display: inline-block;"> | 5 | + <div class="drawer_right_map" > |
| 8 | 6 | ||
| 9 | </div> | 7 | </div> |
| 10 | 8 | ||
| @@ -12,10 +10,10 @@ | @@ -12,10 +10,10 @@ | ||
| 12 | 10 | ||
| 13 | (function () { | 11 | (function () { |
| 14 | var drawer = '#station_route_spacing_chart_drawer' | 12 | var drawer = '#station_route_spacing_chart_drawer' |
| 15 | - , sch, locData; | 13 | + , sch, locData, stationArr; |
| 16 | 14 | ||
| 15 | + //var xScale; | ||
| 17 | $(drawer).on('drawer-init', function (e, data) { | 16 | $(drawer).on('drawer-init', function (e, data) { |
| 18 | - //console.log('data', data); | ||
| 19 | sch = data.sch; | 17 | sch = data.sch; |
| 20 | locData = window.localStorage.getItem('control_route_distance_' + sch.xlBm); | 18 | locData = window.localStorage.getItem('control_route_distance_' + sch.xlBm); |
| 21 | 19 | ||
| @@ -26,19 +24,42 @@ | @@ -26,19 +24,42 @@ | ||
| 26 | }); | 24 | }); |
| 27 | 25 | ||
| 28 | function drawCharts() { | 26 | function drawCharts() { |
| 29 | - //console.log('开始绘图', locData); | ||
| 30 | - var stations; | ||
| 31 | try { | 27 | try { |
| 32 | - stations = JSON.parse(locData).stations[sch.xlDir == 0 ? 'up' : 'down']; | 28 | + stationArr = JSON.parse(locData).stations[sch.xlDir == 0 ? 'up' : 'down']; |
| 33 | }catch (e){ | 29 | }catch (e){ |
| 34 | alert('数据异常!!'); | 30 | alert('数据异常!!'); |
| 35 | return; | 31 | return; |
| 36 | } | 32 | } |
| 37 | 33 | ||
| 38 | - console.log('stations..', stations); | ||
| 39 | - //$('.svg_wrap', drawer). | 34 | + var width = 1500; |
| 35 | + var svgCont = $('<div style="width: '+width+'px;" class="svg_cont_body"></div>'); | ||
| 36 | + var svg = d3.select(svgCont[0]).append('svg'); | ||
| 37 | + | ||
| 38 | + //初始化 X 比例尺 | ||
| 39 | + var sum=0; | ||
| 40 | + $.each(stationArr, function () { | ||
| 41 | + sum += this.toDistance; | ||
| 42 | + }); | ||
| 43 | + | ||
| 44 | + console.log('stations', stationArr); | ||
| 45 | + var items = svg.selectAll('g._item').data(stationArr) | ||
| 46 | + .enter() | ||
| 47 | + .append('g') | ||
| 48 | + .classed({_item: true}); | ||
| 49 | + | ||
| 50 | + //rect | ||
| 51 | + items.append('rect').attr('x', xScale).attr('y', 40); | ||
| 52 | + $('.svg_wrap', drawer).append(svgCont); | ||
| 40 | } | 53 | } |
| 41 | 54 | ||
| 55 | + var xScale = function (d, i) { | ||
| 56 | + var sum=0; | ||
| 57 | + for(var j = 0; j <= i; j++){ | ||
| 58 | + sum+=stationArr[j].toDistance; | ||
| 59 | + } | ||
| 60 | + return sum / 5; | ||
| 61 | + }; | ||
| 62 | + | ||
| 42 | //页面切换 | 63 | //页面切换 |
| 43 | function drawerLoadPage(url, id) { | 64 | function drawerLoadPage(url, id) { |
| 44 | $(drawer).parent('.ct-bottom-drawer-body').load(url, function () { | 65 | $(drawer).parent('.ct-bottom-drawer-body').load(url, function () { |
src/main/resources/static/real_control_v2/js/line_schedule/sch_table.js
| @@ -191,10 +191,20 @@ var gb_schedule_table = (function () { | @@ -191,10 +191,20 @@ var gb_schedule_table = (function () { | ||
| 191 | if (!isArray(schArr)) | 191 | if (!isArray(schArr)) |
| 192 | schArr = [schArr]; | 192 | schArr = [schArr]; |
| 193 | 193 | ||
| 194 | + var tMaps={}; | ||
| 194 | $.each(schArr, function () { | 195 | $.each(schArr, function () { |
| 195 | line2Schedule[this.xlBm][this.id] = this; | 196 | line2Schedule[this.xlBm][this.id] = this; |
| 196 | updateDom(this); | 197 | updateDom(this); |
| 198 | + //线路_车辆 过滤重复数据 | ||
| 199 | + tMaps[this.xlBm+'_'+this.clZbh]=1; | ||
| 197 | }); | 200 | }); |
| 201 | + | ||
| 202 | + //重新标记末班 | ||
| 203 | + var ts=[]; | ||
| 204 | + for(var k in tMaps){ | ||
| 205 | + ts = k.split('_'); | ||
| 206 | + markerLastByNbbm(ts[0], ts[1]); | ||
| 207 | + } | ||
| 198 | }; | 208 | }; |
| 199 | 209 | ||
| 200 | //update dom | 210 | //update dom |
| @@ -389,6 +399,7 @@ var gb_schedule_table = (function () { | @@ -389,6 +399,7 @@ var gb_schedule_table = (function () { | ||
| 389 | return a.clZbh == nbbm && a.status != -1; | 399 | return a.clZbh == nbbm && a.status != -1; |
| 390 | }).sort(schedule_sort); | 400 | }).sort(schedule_sort); |
| 391 | 401 | ||
| 402 | + removeMarkers(lineCode, array); | ||
| 392 | markerLastSch(array); | 403 | markerLastSch(array); |
| 393 | }; | 404 | }; |
| 394 | 405 | ||
| @@ -404,6 +415,20 @@ var gb_schedule_table = (function () { | @@ -404,6 +415,20 @@ var gb_schedule_table = (function () { | ||
| 404 | $('dd.fcsjActualCell', dl).append(temps['last-sch-sunken-temp'](lastSch)); | 415 | $('dd.fcsjActualCell', dl).append(temps['last-sch-sunken-temp'](lastSch)); |
| 405 | } | 416 | } |
| 406 | 417 | ||
| 418 | + //清除线路下指定班次的 末班标记 | ||
| 419 | + var removeMarkers = function (lineCode, array) { | ||
| 420 | + var idx=[]; | ||
| 421 | + $.each(array, function () { | ||
| 422 | + idx.push(this.id); | ||
| 423 | + }); | ||
| 424 | + | ||
| 425 | + $('dl.dl-last-sch','li.line_schedule[data-id=' + lineCode + ']').each(function () { | ||
| 426 | + if($(this).hasClass('dl-last-sch') && idx.indexOf($(this).data('id'))){ | ||
| 427 | + $(this).removeClass('dl-last-sch').find('.last-sch-sunken').remove(); | ||
| 428 | + } | ||
| 429 | + }); | ||
| 430 | + } | ||
| 431 | + | ||
| 407 | var schDestroyFilter = function (a) { | 432 | var schDestroyFilter = function (a) { |
| 408 | return a.status != -1; | 433 | return a.status != -1; |
| 409 | } | 434 | } |