Commit 49257b4ce87f5e4e608491d43f52ba81ff3bbb10

Authored by 潘钊
2 parents 75dd9f6e 66e42e2a

Merge branch 'minhang' of http://222.66.0.204:8090/panzhaov5/bsth_control into minhang

src/main/java/com/bsth/service/oil/impl/YlbServiceImpl.java
... ... @@ -373,7 +373,10 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS
373 373 if(t.getJcsx()==1){
374 374 Double jcyl=t.getCzyl();
375 375 zyl=jcyl+jzl-yl;
376   - Double yh=Double.parseDouble(df.format(zyl*(t.getZlc()/zlc)));
  376 + Double yh=0.0;
  377 + if(zlc>0&&t.getZlc()>0){
  378 + yh=Double.parseDouble(df.format(zyl*(t.getZlc()/zlc)));
  379 + }
377 380 t.setYh(yh);
378 381 nextJzyl=t.getJzl()+t.getCzyl()-yh;
379 382 t.setJzyl(Double.parseDouble(df.format(nextJzyl)));
... ...
src/main/resources/application-dev.properties
... ... @@ -8,7 +8,7 @@ spring.jpa.hibernate.naming_strategy= org.hibernate.cfg.ImprovedNamingStrategy
8 8 spring.jpa.database= MYSQL
9 9 spring.jpa.show-sql= false
10 10 spring.datasource.driver-class-name= com.mysql.jdbc.Driver
11   -spring.datasource.url= jdbc:mysql://192.168.168.201/control?useUnicode=true&characterEncoding=utf-8&useSSL=false
  11 +spring.datasource.url= jdbc:mysql://192.168.168.201/mh_control?useUnicode=true&characterEncoding=utf-8&useSSL=false
12 12 spring.datasource.username= root
13 13 spring.datasource.password= 123456
14 14 #DATASOURCE
... ...
src/main/resources/static/pages/oil/list.html
... ... @@ -10,7 +10,7 @@
10 10 <li><span class="active">进出场存油量</span></li>
11 11 </ul>
12 12  
13   -<div class="row" id="liaolei_oil_list">
  13 +<div class="row" id="ll_oil_list">
14 14 <div class="col-md-12">
15 15 <!-- Begin: life time stats -->
16 16 <div class="portlet light portlet-fit portlet-datatable bordered">
... ... @@ -214,7 +214,7 @@
214 214 <script>
215 215 $(function () {
216 216 //var id = 15;
217   - //$('.in_carpark_jzyl[data-id='+id+']', '#liaolei_oil_list')
  217 + //$('.in_carpark_jzyl[data-id='+id+']', '#ll_oil_list')
218 218  
219 219 $("#checkYl").on('click', function () {
220 220 console.log("核对加注量");
... ... @@ -264,14 +264,16 @@
264 264 })
265 265 //拆分
266 266 $("#sortButton").on('click', function () {
267   - console.log("拆分油量");
268 267 if ($("#rq").val() != "") {
269 268 var id = $('input.icheck:checked').data('id');
  269 +
270 270 if (typeof(id) == 'undefined') {
271 271 layer.msg("请选择一行进行拆分");
272 272 } else {
273 273 //获取输入的进场存油
274   - var jzyl = $("#jzyl" + id).html();
  274 + var jzyl = $('.in_carpark_jzyl[data-id='+id+']', '#ll_oil_list').html();
  275 + // $("#jzyl" + id).html();
  276 + console.log(jzyl);
275 277 var params = {};
276 278 params['jzyl'] = jzyl;
277 279 params['id'] = id;
... ... @@ -357,12 +359,10 @@
357 359 if (p)
358 360 params = p;
359 361 //更新时间排序
360   - console.log(params);
361 362 params['order'] = 'nbbm';
362 363 params['page'] = page;
363 364 params['rq'] = $("#rq").val();
364 365 var i = layer.load(2);
365   - console.log(params);
366 366 $get('/ylb', params, function (data) {
367 367 $.each(data.content, function (i, obj) {
368 368 obj.rq = moment(obj.rq).format("YYYY-MM-DD");
... ... @@ -379,7 +379,7 @@
379 379 }
380 380 layer.close(i);
381 381  
382   - startOptJzylLink($('#liaolei_oil_list .in_carpark_jzyl'));
  382 + startOptJzylLink($('#ll_oil_list .in_carpark_jzyl'));
383 383 });
384 384 }
385 385  
... ... @@ -466,47 +466,16 @@
466 466 });
467 467  
468 468 //搜索线路
469   - $('#xlbm').select2({
470   - placeholder: '搜索线路...',
471   - ajax: {
472   - url: '/realSchedule/findLine',
473   - type: 'post',
474   - dataType: 'json',
475   - delay: 150,
476   - data: function (params) {
477   - return {line: params.term};
478   - },
479   - processResults: function (data) {
480   - return {
481   - results: data
482   - };
483   - },
484   - cache: true
485   - },
486   - templateResult: function (repo) {
487   - if (repo.loading) return repo.text;
488   - var h = '<span>' + repo.text + '</span>';
489   - return h;
490   - },
491   - escapeMarkup: function (markup) {
492   - return markup;
493   - },
494   - minimumInputLength: 1,
495   - templateSelection: function (repo) {
496   - return repo.text;
497   - },
498   - language: {
499   - noResults: function () {
500   - return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>';
501   - },
502   - inputTooShort: function (e) {
503   - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>';
504   - },
505   - searching: function () {
506   - return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>';
507   - }
508   - }
509   - });
  469 + $.get('/basic/lineCode2Name',function(result){
  470 + var data=[];
  471 +
  472 + for(var code in result){
  473 + data.push({id: code, text: result[code]});
  474 + }
  475 + console.log(data);
  476 + initPinYinSelect2('#xlbm',data,'');
  477 +
  478 + })
510 479  
511 480 $('#nbbm').select2({
512 481 placeholder: '搜索车辆...',
... ...
src/main/resources/static/real_control_v2/mapmonitor/js/spatial_data.js
1   -/** 空间数据 */
2   -
3   -var gb_map_spatial_data = (function () {
4   -
5   - var storage = window.localStorage;
6   -
7   - var activeLines = JSON.parse(storage.getItem('lineControlItems'));
8   - var line_idx = (function () {
9   - var str = '';
10   - for (var i = 0, item; item = activeLines[i++];) {
11   - str += (',' + item.lineCode);
12   - }
13   - return str.substr(1);
14   - })();
15   -
16   - var cont = '#spatial-tree-content';
17   - //线路站点路由数据
18   - var lineStationArr;
19   -
20   - //停车场数据
21   - var carparkArr;
22   -
23   - var init = function () {
24   - //加载站点路由数据
25   - gb_common.$get('/realMap/stationSpatialData', {idx: line_idx}, function (rs) {
26   - var list = rs.list;
27   - $.each(list, function () {
28   - this.lat = this.gLaty;
29   - this.lon = this.gLonx;
30   - delete this.gLaty;
31   - delete this.gLonx;
32   - if(this.shapesType=='d'){
33   - var calcRs = calcPolygonArea(this.gPolygonGrid);
34   - this._polygonArea = calcRs._polygonArea;
35   - this._gPoints = calcRs._gPoints;
36   - }
37   - });
38   - //排序
39   - list.sort(function (a, b) {
40   - return a.stationRouteCode - b.stationRouteCode;
41   - });
42   - //按线路分组
43   - lineStationArr = gb_common.groupBy(list, 'lineCode');
44   - //再按上下行分组
45   - for (var lineCode in lineStationArr) {
46   - lineStationArr[lineCode] = gb_common.groupBy(lineStationArr[lineCode], 'directions');
47   - }
48   -
49   - ep.emitLater('station');
50   - });
51   -
52   - //加载停车场数据
53   - gb_common.$get('/realMap/carParkSpatialData', {}, function (rs) {
54   - carparkArr = rs.list;
55   - $.each(carparkArr, function () {
56   - if(this.shapesType=='d'){
57   - var calcRs = calcPolygonArea(this.gParkPoint);
58   - this._polygonArea = calcRs._polygonArea;
59   - this._gPoints = calcRs._gPoints;
60   - }
61   - });
62   - ep.emitLater('carpark');
63   - });
64   -
65   - var ep = EventProxy.create('station', 'carpark', function () {
66   - $(".real_spatial_panel").resizable({
67   - maxHeight: '100%',
68   - minHeight: 18
69   - });
70   -
71   - //绘制站点路由树
72   - $('.station-route-tree', cont)
73   - //state插件 状态恢复完成
74   - .on('state_ready.jstree', function () {
75   - //绑定checkbox状态切换事件
76   - $(this).on('check_node.jstree uncheck_node.jstree', gb_map_overlay_mge.drawStation);
77   - })
78   - .on('activate_node.jstree', function (e, n) {
79   - var node = n.node;
80   - if(node.state.checked)
81   - gb_map_overlay_mge._focus_station(node.data);
82   - })
83   - .jstree({
84   - 'core': {
85   - 'data': get_st_route_tree_data()
86   - },
87   - 'checkbox': {
88   - 'keep_selected_style': false,
89   - 'whole_node': false,
90   - 'tie_selection': false
91   - },
92   - //local storage里的key
93   - 'state': {
94   - 'key': 'jstree_map_station_route'
95   - },
96   - 'plugins': ['checkbox', 'state']
97   - });
98   -
99   -
100   - //停车场
101   - $('.carpark-panel', cont)
102   - .on('state_ready.jstree', function () {
103   - //绑定checkbox状态切换事件
104   - $(this).on('check_node.jstree uncheck_node.jstree', gb_map_overlay_mge.drawCarpark);
105   - })
106   - .on('activate_node.jstree', function (e, n) {
107   - var node = n.node;
108   - if(node.state.checked)
109   - gb_map_overlay_mge._focus_carpark(node.data);
110   - })
111   - .jstree({
112   - 'core': {
113   - 'data': get_st_carpark_tree_data()
114   - },
115   - 'checkbox': {
116   - 'keep_selected_style': false,
117   - 'whole_node': false,
118   - 'tie_selection': false
119   - },
120   - //local storage里的key
121   - 'state': {
122   - 'key': 'jstree_map_carpark'
123   - },
124   - 'plugins': ['checkbox', 'state']
125   - });
126   -
127   - refresh();
128   - });
129   - }
130   -
131   - //计算多边形面积
132   - function calcPolygonArea(polygonStr) {
133   - var pStr = polygonStr.substring(9, polygonStr.length - 2);
134   - var array = pStr.split(',');
135   - var newArr=[];
136   -
137   - //递归去掉闭合的尾
138   - (function () {
139   - var f = arguments.callee;
140   - var end=array.length - 1;
141   - if(array.length > 1 && array[0] == array[end]){
142   - array = array.slice(0, end);
143   - f();
144   - }
145   - })();
146   -
147   - //去掉连续的重复点
148   - var last;
149   - $.each(array, function (i, str) {
150   - if(last){
151   - if(last != str)
152   - newArr.push(str);
153   - }
154   - else
155   - newArr.push(str);
156   - last = str;
157   - });
158   -
159   - var gPoints=[],ts;
160   - $.each(newArr, function (i, c) {
161   - ts=c.split(' ');
162   - gPoints.push({
163   - lat: parseFloat(ts[1]),
164   - lng: parseFloat(ts[0])
165   - });
166   - });
167   -
168   - //用百度geo工具库计算面积
169   - var _polygonArea = BMapLib.GeoUtils.getPolygonArea(gPoints);
170   - return {_polygonArea: _polygonArea.toFixed(2), _gPoints: gPoints};
171   - }
172   -
173   - var refresh = function (type, checked) {
174   - if (!triggerElem())
175   - return;
176   -
177   - if ((type == 'carPark' && checked) || (type == 'station' && !checked)) {
178   - //显示停车场面板
179   - $('.car-park-item', cont).addClass('uk-active');
180   - $('li.cp-tab-btn', '.real_spatial_panel').addClass('uk-active');
181   - $('.carpark-panel', cont).jstree(true).check_all();
182   -
183   - //绘制停车场
184   - gb_map_overlay_mge.drawCarpark();
185   - }
186   - else {
187   - //显示站点路由面板
188   - $('.station-route-item', cont).addClass('uk-active');
189   - $('li.sr-tab-btn', '.real_spatial_panel').addClass('uk-active');
190   -
191   - //选中相关站点路由树
192   - var chs = gb_map_overlay_mge.getCheckedDevice();
193   - var idx = {};
194   - $.each(chs, function () {
195   - idx[this.data.lineId + '_' + this.data.upDown] = 1;
196   - });
197   -
198   - var treeObj = $('.station-route-tree', cont).jstree(true);
199   - for (var id in idx) {
200   - treeObj.check_node(treeObj.get_node(id + '_st'));
201   - }
202   -
203   - //drawStation();
204   - gb_map_overlay_mge.drawStation();
205   - }
206   - }
207   -
208   - var triggerElem = function () {
209   - var config = gb_map_config.getConfig().spatialData;
210   -
211   - if(config.station || config.carPark){
212   - showPanel();
213   - return true;
214   - }
215   - hidePanel();
216   - //gb_map_imap.call('hideAllStationMarker');
217   - //gb_map_imap.call('hideDrawCarpark');
218   - return false;
219   - }
220   -
221   - var animationend = 'webkitAnimationEnd animationend';
222   - var showPanel = function () {
223   - var elem = $('.real_spatial_panel');
224   - var config = gb_map_config.getConfig().spatialData;
225   -
226   - if (config.station && config.carPark) {
227   - anim_show($('.uk-subnav', elem), 'uk-animation-scale-up');
228   - $('.real_spatial_body', elem).addClass('show-tab');
229   - }
230   - else {
231   - $('.uk-subnav', elem).hide();
232   - $('.real_spatial_body', elem).removeClass('show-tab');
233   - }
234   -
235   - $('li.uk-active', elem).removeClass('uk-active');
236   -
237   - if (!elem.is(":hidden"))
238   - return;
239   -
240   - anim_show(elem, 'uk-animation-slide-left');
241   - }
242   -
243   - var hidePanel = function () {
244   - var elem = $('.real_spatial_panel');
245   - elem.hide();
246   - }
247   -
248   - function anim_show(e, anim) {
249   - e.addClass(anim).show().one(animationend, function () {
250   - $(this).removeClass(anim);
251   - });
252   - }
253   -
254   - function getCheckedStation() {
255   - var list = [];
256   - var chs = $('.station-route-tree', cont).jstree(true).get_checked(true);
257   - chs = chs.filter(function (item) {
258   - return item.data;
259   - });
260   - $.each(chs, function () {
261   - list.push(this.data);
262   - });
263   - return list;
264   - }
265   -
266   - function gteCheckedCarpark() {
267   - var list = [];
268   - var chs = $('.carpark-panel', cont).jstree(true).get_checked(true);
269   - $.each(chs, function () {
270   - list.push(this.data);
271   - });
272   - return list;
273   - }
274   -
275   - var get_st_route_tree_data = function () {
276   - var treeData = [];
277   -
278   - for (var lineCode in lineStationArr) {
279   - name = gb_data_basic.codeToLine[lineCode].name;
280   - treeData.push({
281   - 'text': name,
282   - 'open': true,
283   - 'children': [
284   - {
285   - 'text': '上行',
286   - 'children': grabs(lineStationArr[lineCode][0]),
287   - 'id': lineCode + '_0_st'
288   - },
289   - {
290   - 'text': '下行',
291   - 'children': grabs(lineStationArr[lineCode][1]),
292   - 'id': lineCode + '_1_st'
293   - }
294   - ]
295   - })
296   - }
297   - return treeData;
298   - };
299   -
300   - var get_st_carpark_tree_data = function () {
301   - var treeData = [];
302   -
303   - $.each(carparkArr, function () {
304   - treeData.push({
305   - 'text': this.parkName,
306   - 'data': this
307   - });
308   - });
309   -
310   - return treeData;
311   - }
312   -
313   - var grabs = function (array) {
314   - if (!array)
315   - return;
316   - var rs = [];
317   - $.each(array, function () {
318   - rs.push({
319   - 'text': this.stationName,
320   - 'data': this,
321   - 'icon': false
322   - });
323   - });
324   - return rs;
325   - }
326   -
327   - return {
328   - refresh: refresh,
329   - init: init,
330   - getCheckedStation:getCheckedStation,
331   - gteCheckedCarpark: gteCheckedCarpark
332   - };
  1 +/** 空间数据 */
  2 +
  3 +var gb_map_spatial_data = (function () {
  4 +
  5 + var storage = window.localStorage;
  6 +
  7 + var activeLines = JSON.parse(storage.getItem('lineControlItems'));
  8 + var line_idx = (function () {
  9 + var str = '';
  10 + for (var i = 0, item; item = activeLines[i++];) {
  11 + str += (',' + item.lineCode);
  12 + }
  13 + return str.substr(1);
  14 + })();
  15 +
  16 + var cont = '#spatial-tree-content';
  17 + //线路站点路由数据
  18 + var lineStationArr;
  19 +
  20 + //停车场数据
  21 + var carparkArr;
  22 +
  23 + var init = function () {
  24 + //加载站点路由数据
  25 + gb_common.$get('/realMap/stationSpatialData', {idx: line_idx}, function (rs) {
  26 + var list = rs.list;
  27 + $.each(list, function () {
  28 + this.lat = this.gLaty;
  29 + this.lon = this.gLonx;
  30 + delete this.gLaty;
  31 + delete this.gLonx;
  32 + if(this.shapesType=='d'){
  33 + var calcRs = calcPolygonArea(this.gPolygonGrid);
  34 + this._polygonArea = calcRs._polygonArea;
  35 + this._gPoints = calcRs._gPoints;
  36 + }
  37 + });
  38 + //排序
  39 + list.sort(function (a, b) {
  40 + return a.stationRouteCode - b.stationRouteCode;
  41 + });
  42 + //按线路分组
  43 + lineStationArr = gb_common.groupBy(list, 'lineCode');
  44 + //再按上下行分组
  45 + for (var lineCode in lineStationArr) {
  46 + lineStationArr[lineCode] = gb_common.groupBy(lineStationArr[lineCode], 'directions');
  47 + }
  48 +
  49 + ep.emitLater('station');
  50 + });
  51 +
  52 + //加载停车场数据
  53 + gb_common.$get('/realMap/carParkSpatialData', {}, function (rs) {
  54 + carparkArr = rs.list;
  55 + $.each(carparkArr, function () {
  56 + if(this.shapesType=='d'){
  57 + var calcRs = calcPolygonArea(this.gParkPoint);
  58 + this._polygonArea = calcRs._polygonArea;
  59 + this._gPoints = calcRs._gPoints;
  60 + }
  61 + });
  62 + ep.emitLater('carpark');
  63 + });
  64 +
  65 + var ep = EventProxy.create('station', 'carpark', function () {
  66 + $(".real_spatial_panel").resizable({
  67 + maxHeight: '100%',
  68 + minHeight: 18
  69 + });
  70 +
  71 + //绘制站点路由树
  72 + $('.station-route-tree', cont)
  73 + //state插件 状态恢复完成
  74 + .on('state_ready.jstree', function () {
  75 + //绑定checkbox状态切换事件
  76 + $(this).on('check_node.jstree uncheck_node.jstree', gb_map_overlay_mge.drawStation);
  77 + })
  78 + .on('activate_node.jstree', function (e, n) {
  79 + var node = n.node;
  80 + if(node.state.checked)
  81 + gb_map_overlay_mge._focus_station(node.data);
  82 + })
  83 + .jstree({
  84 + 'core': {
  85 + 'data': get_st_route_tree_data()
  86 + },
  87 + 'checkbox': {
  88 + 'keep_selected_style': false,
  89 + 'whole_node': false,
  90 + 'tie_selection': false
  91 + },
  92 + //local storage里的key
  93 + 'state': {
  94 + 'key': 'jstree_map_station_route'
  95 + },
  96 + 'plugins': ['checkbox', 'state']
  97 + });
  98 +
  99 +
  100 + //停车场
  101 + $('.carpark-panel', cont)
  102 + .on('state_ready.jstree', function () {
  103 + //绑定checkbox状态切换事件
  104 + $(this).on('check_node.jstree uncheck_node.jstree', gb_map_overlay_mge.drawCarpark);
  105 + })
  106 + .on('activate_node.jstree', function (e, n) {
  107 + var node = n.node;
  108 + if(node.state.checked)
  109 + gb_map_overlay_mge._focus_carpark(node.data);
  110 + })
  111 + .jstree({
  112 + 'core': {
  113 + 'data': get_st_carpark_tree_data()
  114 + },
  115 + 'checkbox': {
  116 + 'keep_selected_style': false,
  117 + 'whole_node': false,
  118 + 'tie_selection': false
  119 + },
  120 + //local storage里的key
  121 + 'state': {
  122 + 'key': 'jstree_map_carpark'
  123 + },
  124 + 'plugins': ['checkbox', 'state']
  125 + });
  126 +
  127 + refresh();
  128 + });
  129 + }
  130 +
  131 + //计算多边形面积
  132 + function calcPolygonArea(polygonStr) {
  133 + var pStr = polygonStr.substring(9, polygonStr.length - 2);
  134 + var array = pStr.split(',');
  135 + var newArr=[];
  136 +
  137 + //递归去掉闭合的尾
  138 + (function () {
  139 + var f = arguments.callee;
  140 + var end=array.length - 1;
  141 + if(array.length > 1 && array[0] == array[end]){
  142 + array = array.slice(0, end);
  143 + f();
  144 + }
  145 + })();
  146 +
  147 + //去掉连续的重复点
  148 + var last;
  149 + $.each(array, function (i, str) {
  150 + if(last){
  151 + if(last != str)
  152 + newArr.push(str);
  153 + }
  154 + else
  155 + newArr.push(str);
  156 + last = str;
  157 + });
  158 +
  159 + var gPoints=[],ts;
  160 + $.each(newArr, function (i, c) {
  161 + ts=c.split(' ');
  162 + gPoints.push({
  163 + lat: parseFloat(ts[1]),
  164 + lng: parseFloat(ts[0])
  165 + });
  166 + });
  167 +
  168 + //用百度geo工具库计算面积
  169 + var _polygonArea = BMapLib.GeoUtils.getPolygonArea(gPoints);
  170 + return {_polygonArea: _polygonArea.toFixed(2), _gPoints: gPoints};
  171 + }
  172 +
  173 + var refresh = function (type, checked) {
  174 + if (!triggerElem())
  175 + return;
  176 +
  177 + if ((type == 'carPark' && checked) || (type == 'station' && !checked)) {
  178 + //显示停车场面板
  179 + $('.car-park-item', cont).addClass('uk-active');
  180 + $('li.cp-tab-btn', '.real_spatial_panel').addClass('uk-active');
  181 + $('.carpark-panel', cont).jstree(true).check_all();
  182 +
  183 + //绘制停车场
  184 + gb_map_overlay_mge.drawCarpark();
  185 + }
  186 + else {
  187 + //显示站点路由面板
  188 + $('.station-route-item', cont).addClass('uk-active');
  189 + $('li.sr-tab-btn', '.real_spatial_panel').addClass('uk-active');
  190 +
  191 + //选中相关站点路由树
  192 + var chs = gb_map_overlay_mge.getCheckedDevice();
  193 + var idx = {};
  194 + $.each(chs, function () {
  195 + idx[this.data.lineId + '_' + this.data.upDown] = 1;
  196 + });
  197 +
  198 + var treeObj = $('.station-route-tree', cont).jstree(true);
  199 + for (var id in idx) {
  200 + treeObj.check_node(treeObj.get_node(id + '_st'));
  201 + }
  202 +
  203 + //drawStation();
  204 + gb_map_overlay_mge.drawStation();
  205 + }
  206 + }
  207 +
  208 + var triggerElem = function () {
  209 + var config = gb_map_config.getConfig().spatialData;
  210 +
  211 + if(config.station || config.carPark){
  212 + showPanel();
  213 + return true;
  214 + }
  215 + hidePanel();
  216 + //gb_map_imap.call('hideAllStationMarker');
  217 + //gb_map_imap.call('hideDrawCarpark');
  218 + return false;
  219 + }
  220 +
  221 + var animationend = 'webkitAnimationEnd animationend';
  222 + var showPanel = function () {
  223 + var elem = $('.real_spatial_panel');
  224 + var config = gb_map_config.getConfig().spatialData;
  225 +
  226 + if (config.station && config.carPark) {
  227 + anim_show($('.uk-subnav', elem), 'uk-animation-scale-up');
  228 + $('.real_spatial_body', elem).addClass('show-tab');
  229 + }
  230 + else {
  231 + $('.uk-subnav', elem).hide();
  232 + $('.real_spatial_body', elem).removeClass('show-tab');
  233 + }
  234 +
  235 + $('li.uk-active', elem).removeClass('uk-active');
  236 +
  237 + if (!elem.is(":hidden"))
  238 + return;
  239 +
  240 + anim_show(elem, 'uk-animation-slide-left');
  241 + }
  242 +
  243 + var hidePanel = function () {
  244 + var elem = $('.real_spatial_panel');
  245 + elem.hide();
  246 + }
  247 +
  248 + function anim_show(e, anim) {
  249 + e.addClass(anim).show().one(animationend, function () {
  250 + $(this).removeClass(anim);
  251 + });
  252 + }
  253 +
  254 + function getCheckedStation() {
  255 + var list = [];
  256 + var chs = $('.station-route-tree', cont).jstree(true).get_checked(true);
  257 + chs = chs.filter(function (item) {
  258 + return item.data;
  259 + });
  260 + $.each(chs, function () {
  261 + list.push(this.data);
  262 + });
  263 + return list;
  264 + }
  265 +
  266 + function gteCheckedCarpark() {
  267 + var list = [];
  268 + var chs = $('.carpark-panel', cont).jstree(true).get_checked(true);
  269 + $.each(chs, function () {
  270 + list.push(this.data);
  271 + });
  272 + return list;
  273 + }
  274 +
  275 + var get_st_route_tree_data = function () {
  276 + var treeData = [];
  277 +
  278 + for (var lineCode in lineStationArr) {
  279 + name = gb_data_basic.codeToLine[lineCode].name;
  280 + treeData.push({
  281 + 'text': name,
  282 + 'open': true,
  283 + 'children': [
  284 + {
  285 + 'text': '上行',
  286 + 'children': grabs(lineStationArr[lineCode][0]),
  287 + 'id': lineCode + '_0_st'
  288 + },
  289 + {
  290 + 'text': '下行',
  291 + 'children': grabs(lineStationArr[lineCode][1]),
  292 + 'id': lineCode + '_1_st'
  293 + }
  294 + ]
  295 + })
  296 + }
  297 + return treeData;
  298 + };
  299 +
  300 + var get_st_carpark_tree_data = function () {
  301 + var treeData = [];
  302 +
  303 + $.each(carparkArr, function () {
  304 + treeData.push({
  305 + 'text': this.parkName,
  306 + 'data': this
  307 + });
  308 + });
  309 +
  310 + return treeData;
  311 + }
  312 +
  313 + var grabs = function (array) {
  314 + if (!array)
  315 + return;
  316 + var rs = [];
  317 + $.each(array, function () {
  318 + rs.push({
  319 + 'text': this.stationName,
  320 + 'data': this,
  321 + 'icon': false
  322 + });
  323 + });
  324 + return rs;
  325 + }
  326 +
  327 + return {
  328 + refresh: refresh,
  329 + init: init,
  330 + getCheckedStation:getCheckedStation,
  331 + gteCheckedCarpark: gteCheckedCarpark
  332 + };
333 333 })();
334 334 \ No newline at end of file
... ...