Commit 7f4eb44ab2c4ca538fe9ff9007ca46e389cfaffb
1 parent
3f5e029b
update
Showing
4 changed files
with
86 additions
and
13 deletions
src/main/resources/static/real_control_v2/css/main.css
| ... | ... | @@ -369,4 +369,32 @@ li.map-panel{ |
| 369 | 369 | .ct-bottom-drawer-body{ |
| 370 | 370 | width: 100%; |
| 371 | 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 | 401 | \ No newline at end of file | ... | ... |
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/lj_zrw.html
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/station_route_spacing_chart.html
| 1 | 1 | <!-- 站点路由间距图 --> |
| 2 | 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 | 7 | </div> |
| 10 | 8 | |
| ... | ... | @@ -12,10 +10,10 @@ |
| 12 | 10 | |
| 13 | 11 | (function () { |
| 14 | 12 | var drawer = '#station_route_spacing_chart_drawer' |
| 15 | - , sch, locData; | |
| 13 | + , sch, locData, stationArr; | |
| 16 | 14 | |
| 15 | + //var xScale; | |
| 17 | 16 | $(drawer).on('drawer-init', function (e, data) { |
| 18 | - //console.log('data', data); | |
| 19 | 17 | sch = data.sch; |
| 20 | 18 | locData = window.localStorage.getItem('control_route_distance_' + sch.xlBm); |
| 21 | 19 | |
| ... | ... | @@ -26,19 +24,42 @@ |
| 26 | 24 | }); |
| 27 | 25 | |
| 28 | 26 | function drawCharts() { |
| 29 | - //console.log('开始绘图', locData); | |
| 30 | - var stations; | |
| 31 | 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 | 29 | }catch (e){ |
| 34 | 30 | alert('数据异常!!'); |
| 35 | 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 | 64 | function drawerLoadPage(url, id) { |
| 44 | 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 | 191 | if (!isArray(schArr)) |
| 192 | 192 | schArr = [schArr]; |
| 193 | 193 | |
| 194 | + var tMaps={}; | |
| 194 | 195 | $.each(schArr, function () { |
| 195 | 196 | line2Schedule[this.xlBm][this.id] = this; |
| 196 | 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 | 210 | //update dom |
| ... | ... | @@ -389,6 +399,7 @@ var gb_schedule_table = (function () { |
| 389 | 399 | return a.clZbh == nbbm && a.status != -1; |
| 390 | 400 | }).sort(schedule_sort); |
| 391 | 401 | |
| 402 | + removeMarkers(lineCode, array); | |
| 392 | 403 | markerLastSch(array); |
| 393 | 404 | }; |
| 394 | 405 | |
| ... | ... | @@ -404,6 +415,20 @@ var gb_schedule_table = (function () { |
| 404 | 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 | 432 | var schDestroyFilter = function (a) { |
| 408 | 433 | return a.status != -1; |
| 409 | 434 | } | ... | ... |