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,7 +373,10 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS
373 if(t.getJcsx()==1){ 373 if(t.getJcsx()==1){
374 Double jcyl=t.getCzyl(); 374 Double jcyl=t.getCzyl();
375 zyl=jcyl+jzl-yl; 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 t.setYh(yh); 380 t.setYh(yh);
378 nextJzyl=t.getJzl()+t.getCzyl()-yh; 381 nextJzyl=t.getJzl()+t.getCzyl()-yh;
379 t.setJzyl(Double.parseDouble(df.format(nextJzyl))); 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,7 +8,7 @@ spring.jpa.hibernate.naming_strategy= org.hibernate.cfg.ImprovedNamingStrategy
8 spring.jpa.database= MYSQL 8 spring.jpa.database= MYSQL
9 spring.jpa.show-sql= false 9 spring.jpa.show-sql= false
10 spring.datasource.driver-class-name= com.mysql.jdbc.Driver 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 spring.datasource.username= root 12 spring.datasource.username= root
13 spring.datasource.password= 123456 13 spring.datasource.password= 123456
14 #DATASOURCE 14 #DATASOURCE
src/main/resources/static/pages/oil/list.html
@@ -10,7 +10,7 @@ @@ -10,7 +10,7 @@
10 <li><span class="active">进出场存油量</span></li> 10 <li><span class="active">进出场存油量</span></li>
11 </ul> 11 </ul>
12 12
13 -<div class="row" id="liaolei_oil_list"> 13 +<div class="row" id="ll_oil_list">
14 <div class="col-md-12"> 14 <div class="col-md-12">
15 <!-- Begin: life time stats --> 15 <!-- Begin: life time stats -->
16 <div class="portlet light portlet-fit portlet-datatable bordered"> 16 <div class="portlet light portlet-fit portlet-datatable bordered">
@@ -214,7 +214,7 @@ @@ -214,7 +214,7 @@
214 <script> 214 <script>
215 $(function () { 215 $(function () {
216 //var id = 15; 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 $("#checkYl").on('click', function () { 219 $("#checkYl").on('click', function () {
220 console.log("核对加注量"); 220 console.log("核对加注量");
@@ -264,14 +264,16 @@ @@ -264,14 +264,16 @@
264 }) 264 })
265 //拆分 265 //拆分
266 $("#sortButton").on('click', function () { 266 $("#sortButton").on('click', function () {
267 - console.log("拆分油量");  
268 if ($("#rq").val() != "") { 267 if ($("#rq").val() != "") {
269 var id = $('input.icheck:checked').data('id'); 268 var id = $('input.icheck:checked').data('id');
  269 +
270 if (typeof(id) == 'undefined') { 270 if (typeof(id) == 'undefined') {
271 layer.msg("请选择一行进行拆分"); 271 layer.msg("请选择一行进行拆分");
272 } else { 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 var params = {}; 277 var params = {};
276 params['jzyl'] = jzyl; 278 params['jzyl'] = jzyl;
277 params['id'] = id; 279 params['id'] = id;
@@ -357,12 +359,10 @@ @@ -357,12 +359,10 @@
357 if (p) 359 if (p)
358 params = p; 360 params = p;
359 //更新时间排序 361 //更新时间排序
360 - console.log(params);  
361 params['order'] = 'nbbm'; 362 params['order'] = 'nbbm';
362 params['page'] = page; 363 params['page'] = page;
363 params['rq'] = $("#rq").val(); 364 params['rq'] = $("#rq").val();
364 var i = layer.load(2); 365 var i = layer.load(2);
365 - console.log(params);  
366 $get('/ylb', params, function (data) { 366 $get('/ylb', params, function (data) {
367 $.each(data.content, function (i, obj) { 367 $.each(data.content, function (i, obj) {
368 obj.rq = moment(obj.rq).format("YYYY-MM-DD"); 368 obj.rq = moment(obj.rq).format("YYYY-MM-DD");
@@ -379,7 +379,7 @@ @@ -379,7 +379,7 @@
379 } 379 }
380 layer.close(i); 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,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 $('#nbbm').select2({ 480 $('#nbbm').select2({
512 placeholder: '搜索车辆...', 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 \ No newline at end of file 334 \ No newline at end of file