Commit 2c72a7a62226e42b338cd7eb564d10f2d58255b7
Merge branch 'minhang' of http://222.66.0.204:8090//panzhaov5/bsth_control into minhang
Showing
2 changed files
with
38 additions
and
12 deletions
src/main/resources/static/pages/permission/authorize_all/user_auth.html
| @@ -136,13 +136,13 @@ | @@ -136,13 +136,13 @@ | ||
| 136 | <script> | 136 | <script> |
| 137 | (function () { | 137 | (function () { |
| 138 | var wrap = '#user_authorize_wrap', user, xd_auth, all_lines,companyData; | 138 | var wrap = '#user_authorize_wrap', user, xd_auth, all_lines,companyData; |
| 139 | - //分公司名称映射(只用于分组展示,就写死浦东的,其他区域不用分公司) | 139 | + //分公司名称映射(只用于分组展示,就写死) |
| 140 | var fgs_name_mapp={ | 140 | var fgs_name_mapp={ |
| 141 | '55_3': '上南公司(六分公司)', '55_1': '上南公司(二分公司)', '55_2': '上南公司(三分公司)', '55_4': '上南公司(一分公司)', '55_5': '上南公司(培训部)', | 141 | '55_3': '上南公司(六分公司)', '55_1': '上南公司(二分公司)', '55_2': '上南公司(三分公司)', '55_4': '上南公司(一分公司)', '55_5': '上南公司(培训部)', |
| 142 | '22_2': '金高公司(二分公司)', '22_1': '金高公司(四分公司)', '22_3': '金高公司(三分公司)', '22_5': '金高公司(一分公司)', | 142 | '22_2': '金高公司(二分公司)', '22_1': '金高公司(四分公司)', '22_3': '金高公司(三分公司)', '22_5': '金高公司(一分公司)', |
| 143 | '26_3': '南汇公司(三分公司)', '26_2': '南汇公司(南汇二分)', '26_1': '南汇公司(南汇一分)', '26_4': '南汇公司(南汇维修公司)', '26_6': '南汇公司(航头枢纽站)', | 143 | '26_3': '南汇公司(三分公司)', '26_2': '南汇公司(南汇二分)', '26_1': '南汇公司(南汇一分)', '26_4': '南汇公司(南汇维修公司)', '26_6': '南汇公司(航头枢纽站)', |
| 144 | '05_5': '杨高公司(杨高分公司)', '05_6': '杨高公司(周浦分公司)', '05_3': '杨高公司(芦潮港分公司)', '05_1': '杨高公司(川沙分公司)', '05_2': '杨高公司(金桥分公司)', | 144 | '05_5': '杨高公司(杨高分公司)', '05_6': '杨高公司(周浦分公司)', '05_3': '杨高公司(芦潮港分公司)', '05_1': '杨高公司(川沙分公司)', '05_2': '杨高公司(金桥分公司)', |
| 145 | - '77_78': '闵行公司', '99_100': '青浦公交' | 145 | + '77_78': '闵行公司', '99_100': '青浦公交','24_1': '一车队', '24_2': '二车队', '24_3': '三车队' |
| 146 | }; | 146 | }; |
| 147 | 147 | ||
| 148 | var defauleConfig; | 148 | var defauleConfig; |
src/main/resources/static/real_control_v2/js/utils/svg_chart.js
| @@ -19,6 +19,12 @@ var gb_svg_chart = (function () { | @@ -19,6 +19,12 @@ var gb_svg_chart = (function () { | ||
| 19 | 'svg-wrap': 'line' | 19 | 'svg-wrap': 'line' |
| 20 | } | 20 | } |
| 21 | 21 | ||
| 22 | + //站点间隔 线路编码 -> space | ||
| 23 | + var circle_spaces={}; | ||
| 24 | + //var circle_space; | ||
| 25 | + //是否启用动画 | ||
| 26 | + var animation = true; | ||
| 27 | + | ||
| 22 | var calc_text_y = function (t) { | 28 | var calc_text_y = function (t) { |
| 23 | return (chart_height - (chart_height / t_max_size * t.length)) / 2 + 5; | 29 | return (chart_height - (chart_height / t_max_size * t.length)) / 2 + 5; |
| 24 | }, | 30 | }, |
| @@ -43,7 +49,8 @@ var gb_svg_chart = (function () { | @@ -43,7 +49,8 @@ var gb_svg_chart = (function () { | ||
| 43 | * @param enableAttr 是否启用配置 | 49 | * @param enableAttr 是否启用配置 |
| 44 | */ | 50 | */ |
| 45 | var draw_line = function (lineCode, wrap, enableAttr) { | 51 | var draw_line = function (lineCode, wrap, enableAttr) { |
| 46 | - wraps[lineCode+'_'+suffixs[wrap.attr('class')]]=wrap; | 52 | + var wrapId = lineCode+'_'+suffixs[wrap.attr('class')]; |
| 53 | + wraps[wrapId]=wrap; | ||
| 47 | //环线 | 54 | //环线 |
| 48 | var loopLine = gb_data_basic.isLoopLine(lineCode); | 55 | var loopLine = gb_data_basic.isLoopLine(lineCode); |
| 49 | 56 | ||
| @@ -84,6 +91,7 @@ var gb_svg_chart = (function () { | @@ -84,6 +91,7 @@ var gb_svg_chart = (function () { | ||
| 84 | return cx(d, i) - 8; | 91 | return cx(d, i) - 8; |
| 85 | }; | 92 | }; |
| 86 | 93 | ||
| 94 | + circle_spaces[wrapId] = (w - (x_padd * 2)) / len; | ||
| 87 | //add svg dom | 95 | //add svg dom |
| 88 | var svg = d3.select(wrap[0]).append('svg') | 96 | var svg = d3.select(wrap[0]).append('svg') |
| 89 | .classed({ | 97 | .classed({ |
| @@ -189,11 +197,17 @@ var gb_svg_chart = (function () { | @@ -189,11 +197,17 @@ var gb_svg_chart = (function () { | ||
| 189 | } | 197 | } |
| 190 | return circle; | 198 | return circle; |
| 191 | }, | 199 | }, |
| 192 | - gx = function (gps, svg) { | 200 | + gx = function (gps, svg, wrapId) { |
| 193 | var circle = get_circle(gps.stopNo + '_' + gps.upDown, svg); | 201 | var circle = get_circle(gps.stopNo + '_' + gps.upDown, svg); |
| 194 | if (!circle) return -100; | 202 | if (!circle) return -100; |
| 195 | 203 | ||
| 196 | - return circle.attr('cx') - 16.5; | 204 | + var x = circle.attr('cx') - 16.5, |
| 205 | + s = circle_spaces[wrapId] / 2; | ||
| 206 | + // console.log('ss', gps.lineId + '=' + s); | ||
| 207 | + //s = 5; | ||
| 208 | + if(gps['instation']==0) | ||
| 209 | + x = (gps['upDown']==0?x+s:x-s); | ||
| 210 | + return x; | ||
| 197 | }, | 211 | }, |
| 198 | gy = function (gps, svg) { | 212 | gy = function (gps, svg) { |
| 199 | var circle = get_circle(gps.stopNo + '_' + gps.upDown, svg); | 213 | var circle = get_circle(gps.stopNo + '_' + gps.upDown, svg); |
| @@ -233,10 +247,13 @@ var gb_svg_chart = (function () { | @@ -233,10 +247,13 @@ var gb_svg_chart = (function () { | ||
| 233 | gps_key = function (d) { | 247 | gps_key = function (d) { |
| 234 | return d.deviceId; | 248 | return d.deviceId; |
| 235 | }, | 249 | }, |
| 236 | - gps_update_point = function (e, svg) { | ||
| 237 | - var x; | ||
| 238 | - e.transition().attr('x', function (d) { | ||
| 239 | - x = gx(d, svg); | 250 | + gps_update_point = function (e, svg, wrapId) { |
| 251 | + var x,e1; | ||
| 252 | + e1 = e; | ||
| 253 | + if(animation) | ||
| 254 | + e1 = e.transition(); | ||
| 255 | + e1.attr('x', function (d) { | ||
| 256 | + x = gx(d, svg, wrapId); | ||
| 240 | if(x == -100) | 257 | if(x == -100) |
| 241 | $(this).css('transition-duration', 0).hide(); | 258 | $(this).css('transition-duration', 0).hide(); |
| 242 | else | 259 | else |
| @@ -319,12 +336,15 @@ var gb_svg_chart = (function () { | @@ -319,12 +336,15 @@ var gb_svg_chart = (function () { | ||
| 319 | //rect | 336 | //rect |
| 320 | var rects = gps_cont.selectAll('rect').data(data, gps_key); | 337 | var rects = gps_cont.selectAll('rect').data(data, gps_key); |
| 321 | rects.enter().append('rect').attr('_id', rct_id); | 338 | rects.enter().append('rect').attr('_id', rct_id); |
| 322 | - gps_update_point(rects, svg); | 339 | + |
| 340 | + //lineCode+'_'+suffixs[wrap.attr('class')] | ||
| 341 | + var wrapId = $(svg).data('code') + '_' + suffixs[$(svg).parent().attr('class')]; | ||
| 342 | + gps_update_point(rects, svg, wrapId); | ||
| 323 | //text | 343 | //text |
| 324 | var ts = gps_cont.selectAll('text').data(data, gps_key); | 344 | var ts = gps_cont.selectAll('text').data(data, gps_key); |
| 325 | ts.enter().append('text').attr('_id', tx_id); | 345 | ts.enter().append('text').attr('_id', tx_id); |
| 326 | ts.text(g_text) | 346 | ts.text(g_text) |
| 327 | - gps_update_point(ts, svg); | 347 | + gps_update_point(ts, svg, wrapId); |
| 328 | }; | 348 | }; |
| 329 | 349 | ||
| 330 | var marker_clusterer = function (svg, lineCode) { | 350 | var marker_clusterer = function (svg, lineCode) { |
| @@ -405,6 +425,12 @@ var gb_svg_chart = (function () { | @@ -405,6 +425,12 @@ var gb_svg_chart = (function () { | ||
| 405 | draw_line: draw_line, | 425 | draw_line: draw_line, |
| 406 | setGps: setGps, | 426 | setGps: setGps, |
| 407 | deviceOffline: deviceOffline, | 427 | deviceOffline: deviceOffline, |
| 408 | - refreshByVisible: refreshByVisible | 428 | + refreshByVisible: refreshByVisible, |
| 429 | + disabledAnimation: function () { | ||
| 430 | + animation = false; | ||
| 431 | + }, | ||
| 432 | + enabledAnimation: function () { | ||
| 433 | + animation = true; | ||
| 434 | + } | ||
| 409 | }; | 435 | }; |
| 410 | })(); | 436 | })(); |