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 | 136 | <script> |
| 137 | 137 | (function () { |
| 138 | 138 | var wrap = '#user_authorize_wrap', user, xd_auth, all_lines,companyData; |
| 139 | - //分公司名称映射(只用于分组展示,就写死浦东的,其他区域不用分公司) | |
| 139 | + //分公司名称映射(只用于分组展示,就写死) | |
| 140 | 140 | var fgs_name_mapp={ |
| 141 | 141 | '55_3': '上南公司(六分公司)', '55_1': '上南公司(二分公司)', '55_2': '上南公司(三分公司)', '55_4': '上南公司(一分公司)', '55_5': '上南公司(培训部)', |
| 142 | 142 | '22_2': '金高公司(二分公司)', '22_1': '金高公司(四分公司)', '22_3': '金高公司(三分公司)', '22_5': '金高公司(一分公司)', |
| 143 | 143 | '26_3': '南汇公司(三分公司)', '26_2': '南汇公司(南汇二分)', '26_1': '南汇公司(南汇一分)', '26_4': '南汇公司(南汇维修公司)', '26_6': '南汇公司(航头枢纽站)', |
| 144 | 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 | 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 | 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 | 28 | var calc_text_y = function (t) { |
| 23 | 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 | 49 | * @param enableAttr 是否启用配置 |
| 44 | 50 | */ |
| 45 | 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 | 55 | var loopLine = gb_data_basic.isLoopLine(lineCode); |
| 49 | 56 | |
| ... | ... | @@ -84,6 +91,7 @@ var gb_svg_chart = (function () { |
| 84 | 91 | return cx(d, i) - 8; |
| 85 | 92 | }; |
| 86 | 93 | |
| 94 | + circle_spaces[wrapId] = (w - (x_padd * 2)) / len; | |
| 87 | 95 | //add svg dom |
| 88 | 96 | var svg = d3.select(wrap[0]).append('svg') |
| 89 | 97 | .classed({ |
| ... | ... | @@ -189,11 +197,17 @@ var gb_svg_chart = (function () { |
| 189 | 197 | } |
| 190 | 198 | return circle; |
| 191 | 199 | }, |
| 192 | - gx = function (gps, svg) { | |
| 200 | + gx = function (gps, svg, wrapId) { | |
| 193 | 201 | var circle = get_circle(gps.stopNo + '_' + gps.upDown, svg); |
| 194 | 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 | 212 | gy = function (gps, svg) { |
| 199 | 213 | var circle = get_circle(gps.stopNo + '_' + gps.upDown, svg); |
| ... | ... | @@ -233,10 +247,13 @@ var gb_svg_chart = (function () { |
| 233 | 247 | gps_key = function (d) { |
| 234 | 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 | 257 | if(x == -100) |
| 241 | 258 | $(this).css('transition-duration', 0).hide(); |
| 242 | 259 | else |
| ... | ... | @@ -319,12 +336,15 @@ var gb_svg_chart = (function () { |
| 319 | 336 | //rect |
| 320 | 337 | var rects = gps_cont.selectAll('rect').data(data, gps_key); |
| 321 | 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 | 343 | //text |
| 324 | 344 | var ts = gps_cont.selectAll('text').data(data, gps_key); |
| 325 | 345 | ts.enter().append('text').attr('_id', tx_id); |
| 326 | 346 | ts.text(g_text) |
| 327 | - gps_update_point(ts, svg); | |
| 347 | + gps_update_point(ts, svg, wrapId); | |
| 328 | 348 | }; |
| 329 | 349 | |
| 330 | 350 | var marker_clusterer = function (svg, lineCode) { |
| ... | ... | @@ -405,6 +425,12 @@ var gb_svg_chart = (function () { |
| 405 | 425 | draw_line: draw_line, |
| 406 | 426 | setGps: setGps, |
| 407 | 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 | })(); | ... | ... |