Commit f0aeb34986d6eaaf2141babd0f6c1889ca71d70f

Authored by 游瑞烽
1 parent bbed3599

线路编辑页面优化

Showing 32 changed files with 2472 additions and 2283 deletions
src/main/java/com/bsth/controller/SectionRouteController.java
... ... @@ -37,14 +37,22 @@ public class SectionRouteController extends BaseController<SectionRoute, Integer
37 37 SectionRouteService routeService;
38 38  
39 39 /**
40   - * @param String
  40 + * @param map
41 41 * @throws
42 42 * @Description: TODO(批量撤销路段)
43 43 */
44   - @RequestMapping(value = "/batchDestroy", method = RequestMethod.GET)
  44 + @RequestMapping(value = "/batchDestroy", method = RequestMethod.POST)
45 45 public Map<String, Object> updateBatch(@RequestParam Map<String, Object> map) {
46 46 return routeService.updateSectionRouteInfoFormId(map);
47 47 }
  48 + /**
  49 + * @param id //路段路由id
  50 + * @Description: TODO(撤销路段)
  51 + */
  52 + @RequestMapping(value = "/destroy", method = RequestMethod.POST)
  53 + public Map<String, Object> destroy(@RequestParam Integer id) {
  54 + return routeService.destroy(id);
  55 + }
48 56  
49 57 /**
50 58 * @param @param map
... ...
src/main/java/com/bsth/controller/StationRouteController.java
... ... @@ -137,6 +137,18 @@ public class StationRouteController extends BaseController&lt;StationRoute, Integer
137 137 public List<Map<String, Object>> getStationRouteCenterPoints(@RequestParam Map<String, Object> map) {
138 138 return service.getStationRouteCenterPoints(map);
139 139 }
  140 +
  141 + /**
  142 + * @Description :TODO(查询线路某方向下所有站点)
  143 + *
  144 + * @param map <lineId:线路ID; direction:方向>
  145 + *
  146 + * @return List<Map<String, Object>>
  147 + */
  148 + @RequestMapping(value = "/getStationRouteList" , method = RequestMethod.GET)
  149 + public List<Map<String, Object>> getStationRouteList(@RequestParam Map<String, Object> map) {
  150 + return service.getStationRouteList(map);
  151 + }
140 152  
141 153 /**
142 154 * @Description :TODO(查询线路某方向下所有站点的中心百度坐标)
... ...
src/main/java/com/bsth/repository/StationRouteRepository.java
... ... @@ -301,7 +301,77 @@ public interface StationRouteRepository extends BaseRepository&lt;StationRoute, Int
301 301 " s.update_date AS stationRouteUpdateDate FROM bsth_c_stationroute s WHERE s.id = ?1 ) a " +
302 302 " LEFT JOIN bsth_c_station b ON a.stationRouteStation = b.id", nativeQuery=true)
303 303 List<Object[]> findStationRouteInfo(Integer id);
304   -
  304 +
  305 + /**
  306 + * @Description : TODO(根据站点路由Id查询详情)
  307 + *
  308 + * @param id:站点路由ID
  309 + *
  310 + * @return List<Object[]>
  311 + */
  312 + @Query(value = "SELECT a.stationRouteLine," +
  313 + " a.stationRouteStation," +
  314 + " a.stationRouteCode," +
  315 + " a.stationRouteLIneCode," +
  316 + " a.stationRouteStationMark," +
  317 + " a.stationOutStationNmber," +
  318 + " a.stationRoutedirections," +
  319 + " a.stationRouteDistances," +
  320 + " a.stationRouteToTime," +
  321 + " a.staitonRouteFirstTime," +
  322 + " a.stationRouteEndTime," +
  323 + " a.stationRouteDescriptions," +
  324 + " a.stationRouteDestroy," +
  325 + " a.stationRouteVersions," +
  326 + " a.stationRouteCreateBy," +
  327 + " a.stationRouteCreateDate," +
  328 + " a.stationRouteUpdateBy," +
  329 + " a.stationRouteUpdateDate," +
  330 + " b.id AS stationId," +
  331 + " b.station_cod AS stationCode," +
  332 + " a.stationRouteName," +
  333 + " b.road_coding AS stationRoadCoding," +
  334 + " b.db_type AS stationDbType," +
  335 + " b.b_jwpoints AS stationJwpoints," +
  336 + " b.g_lonx AS stationGlonx," +
  337 + " b.g_laty AS stationGlaty," +
  338 + " b.x AS stationX," +
  339 + " b.y AS stationY," +
  340 + " ST_AsText(b.b_polygon_grid) as stationBPolyonGrid," +
  341 + " ST_AsText(b.g_polygon_grid) AS stationGPloyonGrid, " +
  342 + " b.destroy AS stationDestroy," +
  343 + " b.radius AS stationRadius," +
  344 + " b.shapes_type AS stationShapesType," +
  345 + " b.versions AS stationVersions," +
  346 + " b.descriptions AS sttationDescriptions," +
  347 + " b.create_by AS stationCreateBy," +
  348 + " b.create_date AS stationCreateDate," +
  349 + " b.update_by AS stationUpdateBy," +
  350 + " b.update_date AS stationUpdateDate," +
  351 + " a.stationRouteId,b.station_name as zdmc "+
  352 + " FROM ( SELECT s.id AS stationRouteId," +
  353 + " s.line AS stationRouteLine," +
  354 + " s.station as stationRouteStation," +
  355 + " s.station_name AS stationRouteName," +
  356 + " s.station_route_code as stationRouteCode," +
  357 + " s.line_code AS stationRouteLIneCode," +
  358 + " s.station_mark AS stationRouteStationMark," +
  359 + " s.out_station_nmber AS stationOutStationNmber," +
  360 + " s.directions AS stationRoutedirections," +
  361 + " s.distances AS stationRouteDistances," +
  362 + " s.to_time AS stationRouteToTime," +
  363 + " s.first_time AS staitonRouteFirstTime," +
  364 + " s.end_time AS stationRouteEndTime," +
  365 + " s.descriptions AS stationRouteDescriptions," +
  366 + " s.destroy AS stationRouteDestroy," +
  367 + " s.versions AS stationRouteVersions," +
  368 + " s.create_by AS stationRouteCreateBy," +
  369 + " s.create_date AS stationRouteCreateDate," +
  370 + " s.update_by AS stationRouteUpdateBy," +
  371 + " s.update_date AS stationRouteUpdateDate FROM bsth_c_stationroute s WHERE s.line = ?1 and s.directions = ?2 and s.destroy = 0) a " +
  372 + " LEFT JOIN bsth_c_station b ON a.stationRouteStation = b.id", nativeQuery=true)
  373 + List<Object[]> getStationRouteList(Integer lineId, Integer dir);
  374 +
305 375 List<StationRoute> findByLine(Line line);
306 376  
307 377 @EntityGraph(value = "stationRoute_station", type = EntityGraph.EntityGraphType.FETCH)
... ...
src/main/java/com/bsth/service/SectionRouteService.java
... ... @@ -67,5 +67,5 @@ public interface SectionRouteService extends BaseService&lt;SectionRoute, Integer&gt;
67 67  
68 68 void batchUpdate(Integer lineId, String lineCode);
69 69  
70   -
  70 + Map<String,Object> destroy(Integer id);
71 71 }
... ...
src/main/java/com/bsth/service/StationRouteService.java
... ... @@ -92,6 +92,15 @@ public interface StationRouteService extends BaseService&lt;StationRoute, Integer&gt;
92 92 * @return List<Map<String, Object>>
93 93 */
94 94 List<Map<String, Object>> getStationRouteCenterPoints(Map<String, Object> map);
  95 +
  96 + /**
  97 + * @Description :TODO(查询线路某方向下所有站点)
  98 + *
  99 + * @param map <lineId:线路ID; direction:方向>
  100 + *
  101 + * @return List<Map<String, Object>>
  102 + */
  103 + List<Map<String, Object>> getStationRouteList(Map<String, Object> map);
95 104  
96 105 /**
97 106 * @Description :TODO(撤销站点)
... ...
src/main/java/com/bsth/service/impl/SectionRouteServiceImpl.java
... ... @@ -122,7 +122,7 @@ public class SectionRouteServiceImpl extends BaseServiceImpl&lt;SectionRoute, Integ
122 122 }
123 123  
124 124 /**
125   - * @Description :TODO(查询路段信息)
  125 + * @Description :TODO(查询缓存路段信息)
126 126 *
127 127 * @param map <line.id_eq:线路ID; directions_eq:方向>
128 128 *
... ... @@ -408,4 +408,25 @@ public class SectionRouteServiceImpl extends BaseServiceImpl&lt;SectionRoute, Integ
408 408 public void batchUpdate(Integer lineId, String lineCode) {
409 409 repository.batchUpdate(lineId,lineCode);
410 410 }
  411 +
  412 +
  413 +
  414 + /**
  415 + * @Description : TODO(根据路段路由Id批量撤销路段)
  416 + *
  417 + * @param id <id:路段路由ID>
  418 + */
  419 + @Override
  420 + @Transactional
  421 + public Map<String, Object> destroy(Integer id) {
  422 + Map<String, Object> resultMap = new HashMap<String, Object>();
  423 + try {
  424 + repository.sectionRouteIsDestroyUpdBatch(id);
  425 + resultMap.put("status", ResponseCode.SUCCESS);
  426 + } catch (Exception e) {
  427 + resultMap.put("status", ResponseCode.ERROR);
  428 + logger.error("save erro.", e);
  429 + }
  430 + return resultMap;
  431 + }
411 432 }
412 433 \ No newline at end of file
... ...
src/main/java/com/bsth/service/impl/SectionServiceImpl.java
... ... @@ -453,7 +453,7 @@ public class SectionServiceImpl extends BaseServiceImpl&lt;Section, Integer&gt; implem
453 453 if(!sectionsBpoints.equals("")) {
454 454 bsectionVectorS = "LINESTRING(" + sectionsBpoints + ")";
455 455 }
456   - repository.systemSave(sectionCode, sectionName, "", "", "", "", gsectionVector, bsectionVectorS, "", "", "", 0, 0, "", 0, "", 1, sectionId);
  456 + repository.systemSave(sectionCode, sectionName, null, "", "", "", gsectionVector, bsectionVectorS, "", "", "", 0, 0, "", 0, "", 1, sectionId);
457 457  
458 458 routeRepository.sectionUpdSectionRouteCode(lineId, directions,routeCode+i);
459 459 SectionRoute route = new SectionRoute();
... ... @@ -636,7 +636,7 @@ public class SectionServiceImpl extends BaseServiceImpl&lt;Section, Integer&gt; implem
636 636 // 原坐标类型
637 637 String dbType = map.get("dbType").equals("") ? "" : map.get("dbType").toString();
638 638 // 说明
639   - String descriptions = map.get("descriptions").equals("") ? "" : map.get("descriptions").toString();
  639 + String descriptions = "";
640 640 // 是否撤销
641 641 Integer destroy = map.get("destroy").equals("") ? null : Integer.parseInt(map.get("destroy").toString());
642 642 // 方向
... ... @@ -662,14 +662,19 @@ public class SectionServiceImpl extends BaseServiceImpl&lt;Section, Integer&gt; implem
662 662 // 路段路由
663 663 Integer sectionrouteCode = map.get("sectionrouteCode").equals("") ? null : Integer.valueOf(map.get("sectionrouteCode").toString());
664 664 SectionRoute resultS = routeRepository.findOne(sectionRouteId);
665   -// int old_code = resultS.getSectionrouteCode();
666   - // 如果为空,默认在第一个路段
667   - if(sectionrouteCode!=null) {
668   - sectionrouteCode += 1;
669   - }else {
670   - sectionrouteCode = 1;
671   - }
672   - routeRepository.sectionUpdSectionRouteCode(lineCode, directions,sectionrouteCode);
  665 + int old_code = resultS.getSectionrouteCode();
  666 + // 是否修改路段序号标记
  667 + boolean type = false;
  668 + if(sectionrouteCode!=null) {
  669 + if(++sectionrouteCode == old_code) {
  670 + type = true;
  671 + }
  672 + // 默认是最前面路段
  673 + }else {
  674 + sectionrouteCode = 1;
  675 + }
  676 + if(!type)
  677 + routeRepository.sectionUpdSectionRouteCode(lineCode, directions,sectionrouteCode);
673 678 // 限速
674 679 Double speedLimit = map.get("speedLimit").equals("") ? null : Double.valueOf(map.get("speedLimit").toString());
675 680 // 版本
... ... @@ -709,7 +714,6 @@ public class SectionServiceImpl extends BaseServiceImpl&lt;Section, Integer&gt; implem
709 714 route.setDirections(directions);
710 715 route.setVersions(version);
711 716 route.setDestroy(destroy);
712   - route.setDescriptions(descriptions);
713 717 route.setCreateBy(createBy);
714 718 route.setUpdateBy(updateBy);
715 719 route.setLine(line);
... ... @@ -784,17 +788,24 @@ public class SectionServiceImpl extends BaseServiceImpl&lt;Section, Integer&gt; implem
784 788 // 路段时长
785 789 Double sectionTime = map.get("sectionTime").equals("") ? null : Double.valueOf(map.get("sectionTime").toString());
786 790 // 路段路由
787   -// Integer sectionrouteCode = map.get("sectionrouteCode").equals("") ? null : Integer.valueOf(map.get("sectionrouteCode").toString());
788   - Integer sectionrouteCode = 1;
  791 + Integer sectionrouteCode = map.get("sectionrouteCode").equals("") ? null : Integer.valueOf(map.get("sectionrouteCode").toString());
  792 +// Integer sectionrouteCode = 1;
789 793 SectionRouteCache resultS = routeCacheRepository.findOne(sectionRouteId);
790 794 int old_code = resultS.getSectionrouteCode();
  795 + // 是否修改路段序号标记
  796 + boolean type = false;
791 797 if(sectionrouteCode!=null) {
792   - sectionrouteCode += 1;
  798 + if(sectionrouteCode == old_code) {
  799 + type = true;
  800 + } else {
  801 + sectionrouteCode += 1;
  802 + }
793 803 // 默认是最前面路段
794 804 }else {
795 805 sectionrouteCode = 1;
796 806 }
797   - routeRepository.sectionUpdSectionRouteCode(lineCode, directions,sectionrouteCode);
  807 + if(!type)
  808 + routeRepository.sectionUpdSectionRouteCode(lineCode, directions,sectionrouteCode);
798 809 // 限速
799 810 Double speedLimit = map.get("speedLimit").equals("") ? null : Double.valueOf(map.get("speedLimit").toString());
800 811 // 版本
... ...
src/main/java/com/bsth/service/impl/StationRouteServiceImpl.java
... ... @@ -196,123 +196,80 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
196 196 List<Map<String, Object>> staitonChildren= new ArrayList<Map<String, Object>>();
197 197  
198 198 if(stationList.size()>0) {
199   -
200 199 for(int i = 0 ; i < stationList.size(); i++) {
201   -
202 200 Map<String, Object> tempM = new HashMap<String, Object>();
203   -
204 201 // 站点路由ID
205 202 tempM.put("stationRouteId", stationList.get(i)[0]);
206   -
207 203 // 站点路由线路ID
208 204 tempM.put("stationRouteLine", stationList.get(i)[1]);
209   -
210 205 // 站点路由站点ID
211 206 tempM.put("stationRouteStation", stationList.get(i)[2]);
212   -
213 207 // 站点路由名称
214   - tempM.put("stationRouteStationName", stationList.get(i)[3]);
215   -
  208 + tempM.put("stationRouteName", stationList.get(i)[3]);
216 209 // 站点路由站点序号
217   - tempM.put("stationRouteStationRouteCode", stationList.get(i)[4]);
218   -
  210 + tempM.put("stationRouteCode", stationList.get(i)[4]);
219 211 // 站点路由线路编码
220 212 tempM.put("stationRouteLineCode", stationList.get(i)[5]);
221   -
222 213 // 站点路由站点类型
223 214 tempM.put("stationRouteStationMark", stationList.get(i)[6]);
224   -
225 215 // 站点路由出站的序号
226 216 tempM.put("stationRouteOutStationNmber", stationList.get(i)[7]);
227   -
228 217 // 站点路由站点方向
229   - tempM.put("stationRouteDirections", stationList.get(i)[8]);
230   -
  218 + tempM.put("stationRoutedirections", stationList.get(i)[8]);
231 219 // 站点路由站点到站距离
232 220 tempM.put("stationRouteDistances", stationList.get(i)[9]);
233   -
234 221 // 站点路由到站时间
235 222 tempM.put("stationRouteToTime", stationList.get(i)[10]);
236   -
237 223 // 站点路由站点首班时间
238 224 tempM.put("stationRouteFirstTime", stationList.get(i)[11]);
239   -
240 225 // 站点路由站点末班时间
241 226 tempM.put("stationRouteEndTime", stationList.get(i)[12]);
242   -
243 227 // 站点路由站点说明
244 228 tempM.put("stationRouteDescriptions", stationList.get(i)[13]);
245   -
246 229 // 站点路由版本
247 230 tempM.put("stationRouteVersions", stationList.get(i)[14]);
248   -
249 231 // 站点ID
250 232 tempM.put("stationId", stationList.get(i)[15]);
251   -
252 233 // 站点编码
253   - tempM.put("stationStationCod", stationList.get(i)[16]);
254   -
  234 + tempM.put("stationCode", stationList.get(i)[16]);
255 235 // 站点名称
256 236 tempM.put("stationStationName", stationList.get(i)[17]);
257   -
258 237 // 路段编码
259 238 tempM.put("stationRoadCoding", stationList.get(i)[18]);
260   -
261 239 // 原坐标类型
262 240 tempM.put("stationDbType", stationList.get(i)[19]);
263   -
264 241 // 中心点(百度坐标)
265   - tempM.put("stationBJwpoints", stationList.get(i)[20]);
266   -
  242 + tempM.put("stationJwpoints", stationList.get(i)[20]);
267 243 // 中心点(WGS经度)
268 244 tempM.put("stationGLonx", stationList.get(i)[21]);
269   -
270 245 // 中心点(WGS纬度)
271 246 tempM.put("stationGLaty", stationList.get(i)[22]);
272   -
273 247 // 城建坐标x
274 248 tempM.put("stationx", stationList.get(i)[23]);
275   -
276 249 // 城建坐标y
277 250 tempM.put("stationy", stationList.get(i)[24]);
278   -
279 251 // 站点图形类型
280 252 tempM.put("stationShapesType", stationList.get(i)[25]);
281   -
282 253 // 站点圆半径
283 254 tempM.put("stationRadius", stationList.get(i)[26]);
284   -
285 255 // 站点图形WGS坐标
286 256 tempM.put("stationGPolygonGrid", stationList.get(i)[27]);
287   -
288 257 // 站点图形百度坐标
289 258 tempM.put("stationBPolygonGrid", stationList.get(i)[28]);
290   -
291 259 // 是否撤销
292 260 tempM.put("stationDestroy", stationList.get(i)[29]);
293   -
294 261 // 站点版本
295 262 tempM.put("stationVersions", stationList.get(i)[30]);
296   -
297 263 // 站点说明
298 264 tempM.put("stationDescriptions", stationList.get(i)[31]);
299   -
300   - tempM.put("name", stationList.get(i)[3]);
301   -
  265 + tempM.put("zdmc", stationList.get(i)[3]);
302 266 tempM.put("text", stationList.get(i)[3]);
303   -
304 267 tempM.put("icon", "fa fa-bus");
305   -
306 268 tempM.put("pId", 200);
307   -
308 269 tempM.put("id", i+1);
309   -
310 270 tempM.put("groupType", "3");
311   -
312 271 tempM.put("chaildredType", "station");
313   -
314 272 tempM.put("enable", true);
315   -
316 273 staitonChildren.add(tempM);
317 274 }
318 275 }
... ... @@ -321,107 +278,87 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
321 278 List<Map<String, Object>> sectionChildren = new ArrayList<Map<String, Object>>();
322 279  
323 280 if(sectionList.size()>0) {
324   -
325 281 for(int i = 0 ; i<sectionList.size() ; i++){
326   -
327 282 Map<String, Object> tempM = new HashMap<String, Object>();
328   -
329 283 // 路段路由ID
330 284 tempM.put("sectionrouteId",sectionList.get(i)[0]);
331   -
332 285 // 路段路由线路ID
333 286 tempM.put("sectionrouteLine",sectionList.get(i)[1]);
334   -
335 287 // 路段路由线路编码
336 288 tempM.put("sectionrouteLineCode",sectionList.get(i)[2]);
337   -
338 289 // 路段路由路段ID
339 290 tempM.put("sectionrouteSection",sectionList.get(i)[3]);
340   -
341 291 // 路段路由路段编码
342 292 tempM.put("sectionrouteSectionCode",sectionList.get(i)[4]);
343   -
344 293 tempM.put("sectionrouteCode",sectionList.get(i)[5]);
345   -
346 294 tempM.put("sectionrouteDirections",sectionList.get(i)[6]);
347   -
348 295 // 路段ID
349 296 tempM.put("sectionId",sectionList.get(i)[7]);
350   -
351 297 // 路段编码
352 298 tempM.put("sectionCode",sectionList.get(i)[8]);
353   -
354 299 // 路段名称
355 300 tempM.put("sectionName",sectionList.get(i)[9]);
356   -
357 301 // 道路编码
358 302 tempM.put("sectionCrosesRoad",sectionList.get(i)[10]);
359   -
360 303 // 终点站
361 304 tempM.put("sectionEndNode",sectionList.get(i)[11]);
362   -
363 305 // 起始节点
364 306 tempM.put("sectionStartNode",sectionList.get(i)[12]);
365   -
366 307 // 中间节点
367 308 tempM.put("sectionMiddleNode",sectionList.get(i)[13]);
368   -
369 309 // 路段类型
370 310 tempM.put("sectionType",sectionList.get(i)[14]);
371   -
372 311 // 路段折线图形城建坐标
373 312 tempM.put("sectionCsectionVector",sectionList.get(i)[15]);
374   -
375 313 // 路段折线图形百度坐标
376 314 tempM.put("sectionBsectionVector",sectionList.get(i)[16]);
377   -
378 315 // 路段折线图形WGS坐标
379 316 tempM.put("sectionGsectionVector",sectionList.get(i)[17]);
380   -
381 317 // 道路编码
382 318 tempM.put("sectionRoadCoding",sectionList.get(i)[18]);
383   -
384 319 // 路段距离
385 320 tempM.put("sectionDistance",sectionList.get(i)[19]);
386   -
387 321 // 路段时间
388 322 tempM.put("sectionTime",sectionList.get(i)[20]);
389   -
390 323 // 路段原坐标类型
391 324 tempM.put("sectiondbType",sectionList.get(i)[21]);
392   -
393 325 // 限速
394 326 tempM.put("sectionSpeedLimet",sectionList.get(i)[22]);
395   -
396 327 // 是否撤销
397 328 tempM.put("destroy",sectionList.get(i)[23]);
398   -
399 329 // 版本号
400 330 tempM.put("versions",sectionList.get(i)[24]);
401   -
402 331 // 说明
403 332 tempM.put("descriptions",sectionList.get(i)[25]);
404 333 // 说明
405 334 tempM.put("isRoadeSpeed",sectionList.get(i)[26]);
406   -
407 335 tempM.put("name", sectionList.get(i)[9]);
408   -
409 336 tempM.put("text", sectionList.get(i)[9]);
410   -
411 337 tempM.put("icon", null);
412   -
413 338 tempM.put("pId", 300);
414   -
415 339 tempM.put("id", (i+1)*1000);
416   -
417 340 tempM.put("groupType", "3");
418   -
419 341 tempM.put("chaildredType", "section");
420   -
421 342 tempM.put("enable", true);
422   -
423 343 sectionChildren.add(tempM);
424   -
  344 + }
  345 + } else {
  346 + if(stationList.size()>0) {
  347 + Map<String, Object> tempM = new HashMap<String, Object>();
  348 + tempM.put("name", "添加路段");
  349 + tempM.put("text", "添加路段");
  350 + tempM.put("lineId", stationList.get(0)[1]);
  351 + tempM.put("lineCode", stationList.get(0)[5]);
  352 + tempM.put("dir", stationList.get(0)[8]);
  353 + tempM.put("versions", stationList.get(0)[14]);
  354 + tempM.put("icon", null);
  355 + tempM.put("pId", 300);
  356 + tempM.put("id", 1000);
  357 + tempM.put("groupType", "3");
  358 + tempM.put("chaildredType", "addSection");
  359 + tempM.put("sectionBsectionVector", "LINESTRING("+stationList.get(0)[20]+")");
  360 + tempM.put("enable", true);
  361 + sectionChildren.add(tempM);
425 362 }
426 363 }
427 364  
... ... @@ -563,98 +500,102 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
563 500 int len = objects.size();
564 501  
565 502 if(objects.size()>0) {
  503 + // 遍历站点
  504 + traversalStation(objects, resultList, len);
  505 + }
  506 + return resultList;
  507 + }
566 508  
567   - for(int i = 0 ; i < len; i++) {
568   - Map<String, Object> tempM = new HashMap<String,Object>();
  509 + private void traversalStation(List<Object[]> objects, List<Map<String, Object>> resultList, int len) {
  510 + for(int i = 0 ; i < len; i++) {
  511 + Map<String, Object> tempM = new HashMap<String,Object>();
569 512  
570   - tempM.put("stationRouteLine", objects.get(i)[0]);
  513 + tempM.put("stationRouteLine", objects.get(i)[0]);
571 514  
572   - tempM.put("stationRouteStation", objects.get(i)[1]);
  515 + tempM.put("stationRouteStation", objects.get(i)[1]);
573 516  
574   - tempM.put("stationRouteCode", objects.get(i)[2]);
  517 + tempM.put("stationRouteCode", objects.get(i)[2]);
575 518  
576   - tempM.put("stationRouteLIneCode", objects.get(i)[3]);
  519 + tempM.put("stationRouteLIneCode", objects.get(i)[3]);
577 520  
578   - tempM.put("stationRouteStationMark", objects.get(i)[4]);
  521 + tempM.put("stationRouteStationMark", objects.get(i)[4]);
579 522  
580   - tempM.put("stationOutStationNmber", objects.get(i)[5]);
  523 + tempM.put("stationOutStationNmber", objects.get(i)[5]);
581 524  
582   - tempM.put("stationRoutedirections", objects.get(i)[6]);
  525 + tempM.put("stationRoutedirections", objects.get(i)[6]);
583 526  
584   - tempM.put("stationRouteDistances", objects.get(i)[7]);
  527 + tempM.put("stationRouteDistances", objects.get(i)[7]);
585 528  
586   - tempM.put("stationRouteToTime", objects.get(i)[8]);
  529 + tempM.put("stationRouteToTime", objects.get(i)[8]);
587 530  
588   - tempM.put("staitonRouteFirstTime", objects.get(i)[9]);
  531 + tempM.put("staitonRouteFirstTime", objects.get(i)[9]);
589 532  
590   - tempM.put("stationRouteEndTime", objects.get(i)[10]);
  533 + tempM.put("stationRouteEndTime", objects.get(i)[10]);
591 534  
592   - tempM.put("stationRouteDescriptions", objects.get(i)[11]);
  535 + tempM.put("stationRouteDescriptions", objects.get(i)[11]);
593 536  
594   - tempM.put("stationRouteDestroy", objects.get(i)[12]);
  537 + tempM.put("stationRouteDestroy", objects.get(i)[12]);
595 538  
596   - tempM.put("stationRouteVersions", objects.get(i)[13]);
  539 + tempM.put("stationRouteVersions", objects.get(i)[13]);
597 540  
598   - tempM.put("stationRouteCreateBy", objects.get(i)[14]);
  541 + tempM.put("stationRouteCreateBy", objects.get(i)[14]);
599 542  
600   - tempM.put("stationRouteCreateDate", objects.get(i)[15]);
  543 + tempM.put("stationRouteCreateDate", objects.get(i)[15]);
601 544  
602   - tempM.put("stationRouteUpdateBy", objects.get(i)[16]);
  545 + tempM.put("stationRouteUpdateBy", objects.get(i)[16]);
603 546  
604   - tempM.put("stationRouteUpdateDate", objects.get(i)[17]);
  547 + tempM.put("stationRouteUpdateDate", objects.get(i)[17]);
605 548  
606   - tempM.put("stationId", objects.get(i)[18]);
  549 + tempM.put("stationId", objects.get(i)[18]);
607 550  
608   - tempM.put("stationCode", objects.get(i)[19]);
  551 + tempM.put("stationCode", objects.get(i)[19]);
609 552  
610   - tempM.put("stationRouteName", objects.get(i)[20]);
  553 + tempM.put("stationRouteName", objects.get(i)[20]);
611 554  
612   - tempM.put("stationRoadCoding", objects.get(i)[21]);
  555 + tempM.put("stationRoadCoding", objects.get(i)[21]);
613 556  
614   - tempM.put("stationDbType", objects.get(i)[22]);
  557 + tempM.put("stationDbType", objects.get(i)[22]);
615 558  
616   - tempM.put("stationJwpoints", objects.get(i)[23]);
  559 + tempM.put("stationJwpoints", objects.get(i)[23]);
617 560  
618   - tempM.put("stationGlonx", objects.get(i)[24]);
  561 + tempM.put("stationGlonx", objects.get(i)[24]);
619 562  
620   - tempM.put("stationGlaty", objects.get(i)[25]);
  563 + tempM.put("stationGlaty", objects.get(i)[25]);
621 564  
622   - tempM.put("stationX", objects.get(i)[26]);
  565 + tempM.put("stationX", objects.get(i)[26]);
623 566  
624   - tempM.put("stationY", objects.get(i)[27]);
  567 + tempM.put("stationY", objects.get(i)[27]);
625 568  
626   - tempM.put("stationBPolyonGrid", objects.get(i)[28]);
  569 + tempM.put("stationBPolyonGrid", objects.get(i)[28]);
627 570  
628   - tempM.put("stationGPloyonGrid", objects.get(i)[29]);
  571 + tempM.put("stationGPloyonGrid", objects.get(i)[29]);
629 572  
630   - tempM.put("stationDestroy", objects.get(i)[30]);
  573 + tempM.put("stationDestroy", objects.get(i)[30]);
631 574  
632   - tempM.put("stationRadius", objects.get(i)[31]);
  575 + tempM.put("stationRadius", objects.get(i)[31]);
633 576  
634   - tempM.put("stationShapesType", objects.get(i)[32]);
  577 + tempM.put("stationShapesType", objects.get(i)[32]);
635 578  
636   - tempM.put("stationVersions", objects.get(i)[33]);
  579 + tempM.put("stationVersions", objects.get(i)[33]);
637 580  
638   - tempM.put("sttationDescriptions", objects.get(i)[34]);
  581 + tempM.put("sttationDescriptions", objects.get(i)[34]);
639 582  
640   - tempM.put("stationCreateBy", objects.get(i)[35]);
  583 + tempM.put("stationCreateBy", objects.get(i)[35]);
641 584  
642   - tempM.put("stationCreateDate", objects.get(i)[36]);
  585 + tempM.put("stationCreateDate", objects.get(i)[36]);
643 586  
644   - tempM.put("stationUpdateBy", objects.get(i)[37]);
  587 + tempM.put("stationUpdateBy", objects.get(i)[37]);
645 588  
646   - tempM.put("stationUpdateDate", objects.get(i)[38]);
  589 + tempM.put("stationUpdateDate", objects.get(i)[38]);
647 590  
648   - tempM.put("stationRouteId", objects.get(i)[39]);
649   - tempM.put("zdmc", objects.get(i)[40]);
  591 + tempM.put("stationRouteId", objects.get(i)[39]);
  592 + tempM.put("zdmc", objects.get(i)[40]);
650 593  
651   - resultList.add(tempM);
652   - }
653   - }
654   - return resultList;
  594 + resultList.add(tempM);
  595 + }
655 596 }
656 597  
657   - /**
  598 + /**
658 599 * @Description :TODO(查询线路某方向下所有站点的中心百度坐标)
659 600 *
660 601 * @param map <lineId:线路ID; direction:方向>
... ... @@ -692,6 +633,29 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
692 633  
693 634 return resultList;
694 635 }
  636 +
  637 + /**
  638 + * @Description :TODO(查询线路某方向下所有站点)
  639 + *
  640 + * @param map <lineId:线路ID; direction:方向>
  641 + *
  642 + * @return List<Map<String, Object>>
  643 + */
  644 + @Override
  645 + public List<Map<String, Object>> getStationRouteList(Map<String, Object> map) {
  646 + Integer lineId = map.get("lineId").equals("") ? null : Integer.parseInt(map.get("lineId").toString());
  647 + Integer direction = map.get("direction").equals("") ? null : Integer.parseInt(map.get("direction").toString());
  648 + List<Object[]> objects = repository.getStationRouteList(lineId, direction);
  649 + List<Map<String, Object>> resultList = new ArrayList<Map<String,Object>>();
  650 +
  651 + int len = objects.size();
  652 +
  653 + if(objects.size()>0) {
  654 + // 遍历站点
  655 + traversalStation(objects, resultList, len);
  656 + }
  657 + return resultList;
  658 + }
695 659  
696 660  
697 661 /**
... ... @@ -774,109 +738,72 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
774 738 */
775 739 @Override
776 740 public Map<String, Object> usingSingle(Map<String, Object> map) {
777   -
778 741 // 返回值map
779 742 Map<String, Object> resultMap = new HashMap<String,Object>();
780   -
781 743 try {
782   -
783 744 // 获取线路ID
784 745 Integer lineId = map.get("lineId").equals("") ? 0 : Integer.parseInt(map.get("lineId").toString());
785   -
786 746 /** 查询线路信息 @param:<lineId:线路ID> */
787 747 Line line = lineRepository.findOne(lineId);
788   -
789 748 /** 查询线路信息下的站点路由信息 @param:<lineId:线路ID> */
790 749 List<Object[]> objects = repository.usingSingle(lineId);
791   -
792 750 if (objects.size()>0) {
793   -
794 751 /** 获取配置文件里的ftp登录参数 */
795 752 Map<String, Object> FTPParamMap = readPropertiesGetFTPParam();
796   -
797 753 // 压缩文件名
798 754 String odlGzFileName = line.getLineCode() + ".txt.gz";
799   -
800 755 // txt文件名
801 756 String textFileName = line.getLineCode() + ".txt";
802   -
803 757 // 创建一个ftp上传实例
804 758 FTPClientUtils clientUtils = new FTPClientUtils();
805   -
806 759 // IP
807 760 String url = FTPParamMap.get("url").toString();
808   -
809 761 // 端口
810 762 int port = Integer.valueOf(FTPParamMap.get("port").toString());
811   -
812 763 // 用户名
813 764 String username = FTPParamMap.get("username").toString();
814   -
815 765 // 密码
816 766 String password = FTPParamMap.get("password").toString();
817   -
818 767 // 相对路径
819 768 String remotePath = FTPParamMap.get("remotePath").toString();
820   -
821 769 /** 如果已存在相同行单文件名则先删除 */
822 770 clientUtils.deleteFtpFile(url, port, username, password, remotePath, odlGzFileName);
823   -
824 771 clientUtils.deleteFtpFile(url, port, username, password, remotePath, textFileName);
825   -
826 772 String textStr = "";
827   -
828   - boolean tempTag = ishxType(objects);
829   -
830   - if(tempTag)
  773 +// boolean tempTag = ishxType(objects);
  774 + Integer linePlayType = line.getLinePlayType() == null ? -1:line.getLinePlayType();
  775 + if(linePlayType == 1)
831 776 textStr = hxTextFileToFtp(objects,lineId);// 环线行单文件内容
832   - else
  777 + else if (linePlayType == 0)
833 778 textStr = newTextFileToFTP(objects,lineId);/** 双向行单文件内容 @param:<objects:站点路由;lineId:线路ID>*/
834   -
835   - /*textStr = line.getName() + "\t" + "2" + "\r" + textStr;*/
836   -
  779 + else
  780 + resultMap.put("status","NOLinePlayType");// 线路无线路规划类型
837 781 textStr = line.getName() + " " + "2" + "\r" + textStr;
838   -
839 782 InputStream input = new ByteArrayInputStream(textStr.getBytes("gbk"));
840   -
841 783 /** 生成txt文件,上传ftp */
842 784 clientUtils.uploadFile(url, port, username, password, remotePath, textFileName, input);
843   -
844 785 // 创建打包实例
845 786 PackTarGZUtils packTarGZUtils= new PackTarGZUtils();
846   -
847 787 /** 获取txt文件 */
848 788 File textFile = clientUtils.GetFtpFile(url, port, username, password, remotePath, textFileName);
849   -
850 789 File target = new File(odlGzFileName);
851   -
852 790 // 将txt文件打包
853 791 File targetFile = PackTarGZUtils.compress(textFile, target);
854   -
855   - /*clientUtils.testUpLoadFromDisk(targetFile,targetFile.getName());*/
856   -
857 792 clientUtils.FTPUpLoadFromDisk(targetFile, targetFile.getName(), url, port, username, password, remotePath);
858   -
859 793 // 删除文件
860 794 textFile.delete();
861 795 targetFile.delete();
862   -
863 796 resultMap.put("status", ResponseCode.SUCCESS);
864   -
865 797 }else {
866   -
867 798 resultMap.put("status","NOTDATA");
868 799 }
869   -
870   -
871 800 } catch (Exception e) {
872   -
873 801 resultMap.put("status", ResponseCode.ERROR);
874   -
875 802 logger.error("save erro.", e);
876   -
877   - }
  803 + }
878 804 return resultMap;
879 805 }
  806 + // 判断线路走向是环线还是双向
880 807 public boolean ishxType(List<Object[]> listObj) {
881 808 boolean tag = true;
882 809 String pointBStr[] = null,pointEStr[] = null;
... ... @@ -889,9 +816,9 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
889 816 if(Integer.valueOf(listObj.get(i)[8].toString())==1)
890 817 numzd++;
891 818 }
892   - Point p1 = new Point(Double.valueOf(pointBStr[0]),Double.valueOf(pointBStr[1]));
  819 + Point p1 = new Point(Double.valueOf(pointBStr[0]),Double.valueOf(pointBStr[1]));
893 820 Point p2 = new Point(Double.valueOf(pointEStr[0]),Double.valueOf(pointEStr[1]));
894   - if(GeoUtils.getDistance(p1, p2)>100 && numzd>2)
  821 + if(GeoUtils.getDistance(p1, p2)>100 && numzd>2)
895 822 tag = false;
896 823 return tag;
897 824 }
... ... @@ -1241,95 +1168,10 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
1241 1168 int len = objects.size();
1242 1169  
1243 1170 if(objects.size()>0) {
1244   -
1245   - for(int i = 0 ; i < len; i++) {
1246   - Map<String, Object> tempM = new HashMap<String,Object>();
1247   -
1248   - tempM.put("stationRouteLine", objects.get(i)[0]);
1249   -
1250   - tempM.put("stationRouteStation", objects.get(i)[1]);
1251   -
1252   - tempM.put("stationRouteCode", objects.get(i)[2]);
1253   -
1254   - tempM.put("stationRouteLIneCode", objects.get(i)[3]);
1255   -
1256   - tempM.put("stationRouteStationMark", objects.get(i)[4]);
1257   -
1258   - tempM.put("stationOutStationNmber", objects.get(i)[5]);
1259   -
1260   - tempM.put("stationRoutedirections", objects.get(i)[6]);
1261   -
1262   - tempM.put("stationRouteDistances", objects.get(i)[7]);
1263   -
1264   - tempM.put("stationRouteToTime", objects.get(i)[8]);
1265   -
1266   - tempM.put("staitonRouteFirstTime", objects.get(i)[9]);
1267   -
1268   - tempM.put("stationRouteEndTime", objects.get(i)[10]);
1269   -
1270   - tempM.put("stationRouteDescriptions", objects.get(i)[11]);
1271   -
1272   - tempM.put("stationRouteDestroy", objects.get(i)[12]);
1273   -
1274   - tempM.put("stationRouteVersions", objects.get(i)[13]);
1275   -
1276   - tempM.put("stationRouteCreateBy", objects.get(i)[14]);
1277   -
1278   - tempM.put("stationRouteCreateDate", objects.get(i)[15]);
1279   -
1280   - tempM.put("stationRouteUpdateBy", objects.get(i)[16]);
1281   -
1282   - tempM.put("stationRouteUpdateDate", objects.get(i)[17]);
1283   -
1284   - tempM.put("stationId", objects.get(i)[18]);
1285   -
1286   - tempM.put("stationCode", objects.get(i)[19]);
1287   -
1288   - tempM.put("stationRouteName", objects.get(i)[20]);
1289   -
1290   - tempM.put("stationRoadCoding", objects.get(i)[21]);
1291   -
1292   - tempM.put("stationDbType", objects.get(i)[22]);
1293   -
1294   - tempM.put("stationJwpoints", objects.get(i)[23]);
1295   -
1296   - tempM.put("stationGlonx", objects.get(i)[24]);
1297   -
1298   - tempM.put("stationGlaty", objects.get(i)[25]);
1299   -
1300   - tempM.put("stationX", objects.get(i)[26]);
1301   -
1302   - tempM.put("stationY", objects.get(i)[27]);
1303   -
1304   - tempM.put("stationBPolyonGrid", objects.get(i)[28]);
1305   -
1306   - tempM.put("stationGPloyonGrid", objects.get(i)[29]);
1307   -
1308   - tempM.put("stationDestroy", objects.get(i)[30]);
1309   -
1310   - tempM.put("stationRadius", objects.get(i)[31]);
1311   -
1312   - tempM.put("stationShapesType", objects.get(i)[32]);
1313   -
1314   - tempM.put("stationVersions", objects.get(i)[33]);
1315   -
1316   - tempM.put("sttationDescriptions", objects.get(i)[34]);
1317   -
1318   - tempM.put("stationCreateBy", objects.get(i)[35]);
1319   -
1320   - tempM.put("stationCreateDate", objects.get(i)[36]);
1321   -
1322   - tempM.put("stationUpdateBy", objects.get(i)[37]);
1323   -
1324   - tempM.put("stationUpdateDate", objects.get(i)[38]);
1325   -
1326   - tempM.put("stationRouteId", objects.get(i)[39]);
1327   - tempM.put("zdmc", objects.get(i)[40]);
1328   -
1329   - resultList.add(tempM);
1330   - }
1331   -
1332   - }
  1171 +
  1172 + traversalStation(objects, resultList, len);
  1173 +
  1174 + }
1333 1175  
1334 1176 return resultList;
1335 1177 }
... ...
src/main/resources/static/pages/base/carpark/js/carpark-list-table.js
... ... @@ -30,7 +30,7 @@
30 30 var branchMap = new Map();
31 31 initCompanySelect2(function(array) {
32 32 $.each(array, function() {
33   - companyMap[this.businessCode] = this.businessName;
  33 + companyMap[this.businessCode] = this.busi nessName;
34 34 // companyMap.put(this.businessCode.toString(), this.businessName);
35 35 if(this.businessCode != null || this.businessCode !=''){
36 36 /** 查询出所属公司下的分公司名称和相应分公司代码 @param:<upCode_eq:公司代码> */
... ...
src/main/resources/static/pages/base/lineversions/js/lineversions-list-table.js
... ... @@ -6,8 +6,8 @@
6 6 // 关闭左侧栏
7 7 if (!$('body').hasClass('page-sidebar-closed')) {$('.menu-toggler.sidebar-toggler').click();}
8 8 // 定义 page : 当前页;initPag ; icheckOptions:选择框
9   - var page = 0,
10   - initPag,
  9 + window.page = 0;
  10 + var initPag,
11 11 icheckOptions = {checkboxClass: 'icheckbox_flat-blue',increaseArea: '20%'},
12 12 storage = window.localStorage;
13 13 if(storage.xlName_AgursData!=null && storage.xlName_AgursData !='') {
... ... @@ -301,7 +301,6 @@
301 301 });
302 302 // 线路版本编辑
303 303 $(document).on('click', 'a.update_versions_route_btn', function () {
304   - debugger
305 304 var lineId = $(this).data('lineid');
306 305 swal({
307 306 title: "操作须知",
... ...
src/main/resources/static/pages/base/stationroute/add.html
... ... @@ -360,6 +360,7 @@ $(&#39;#add_station_mobal&#39;).on(&#39;AddStationMobal.show&#39;, function(e, addMap,ajaxd,stao
360 360 ajaxd.getSectionRouteInfo(Line.id,add_direction_v,function(data) {
361 361 fun.linePanlThree(Line.id,data,add_direction_v);
362 362 });
  363 + fun.editMapStatusRemove();
363 364 }
364 365 function hideMoble() {
365 366 // 隐藏mobal
... ...
src/main/resources/static/pages/base/stationroute/add_manual_select.html
... ... @@ -31,8 +31,8 @@
31 31 </form>
32 32 </div>
33 33 <div class="modal-footer">
34   - <button type="button" class="btn default" data-dismiss="modal">取消</button>
35 34 <button type="button" class="btn btn-primary" id="addManualSelectnextButton">下一步</button>
  35 + <button type="button" class="btn default" data-dismiss="modal">取消</button>
36 36 </div>
37 37 </div>
38 38 </div>
... ...
src/main/resources/static/pages/base/stationroute/add_select.html
... ... @@ -38,8 +38,8 @@
38 38 </form>
39 39 </div>
40 40 <div class="modal-footer">
41   - <button type="button" class="btn default" data-dismiss="modal">取消</button>
42 41 <button type="button" class="btn btn-primary" id="addSelectnextButton">下一步</button>
  42 + <button type="button" class="btn default" data-dismiss="modal">取消</button>
43 43 </div>
44 44 </div>
45 45 </div>
... ... @@ -164,12 +164,13 @@ $(&#39;#add_select_mobal&#39;).on(&#39;AddSelectMobal.show&#39;, function(e,map_,drw,ajaxd_,stat
164 164 }
165 165 });
166 166 }else if(baseRes==1) {
167   - map_.clearMarkAndOverlays();
  167 + // map_.clearMarkAndOverlays();
168 168 // 以藏站点新增方式mobal
169 169 $('#add_select_mobal').modal('hide');
170 170 // 打开绘制工具
171 171 drw.openDrawingManager();
172   - map_.localtionPoint(stationName);
  172 + // map_.localtionPoint(stationName);
  173 + fun.editMapStatus();
173 174 }
174 175 // 查询是否存在输入的站点名称
175 176 /* ajaxd_.getLikeStationName(stationName,function(data) {
... ...
src/main/resources/static/pages/base/stationroute/css/bmap_base.css
1 1 #bmap_basic{
2 2 min-width: 100%;
3   - /*width: calc(100% + 26px); */
4 3 margin-top: -10px;
5   - border: 2px solid #fdfdfd;
6   - min-height: 1200px;
7 4 height:100%;
8   - overflow: hidden;
  5 +}
  6 +
  7 +.mian-portlet-body{
  8 + height: 100%;
9 9 }
10 10  
11 11 html,body{
12 12 overflow:hidden;
13   - height: 99%;
  13 + height: calc(100% - 10px);
  14 +}
  15 +
  16 +.protlet-box-layer{
  17 + position: absolute;
  18 + z-index: 900;
  19 + height: 100%;
  20 + width: 100%;
  21 + background: #ffffff85;
  22 + display: none;
14 23 }
15 24  
16 25 .rm3_image {
... ... @@ -19,6 +28,52 @@ html,body{
19 28  
20 29 }
21 30  
  31 +.search_panel{
  32 + position: absolute;
  33 + z-index: 99;
  34 + height: 42px;
  35 + top: 40px;
  36 + left: 500px;
  37 + background: #fff1f0;
  38 + padding: 0px;
  39 + box-shadow: 5px 1px 5px rgba(90, 90, 90, 0.48);
  40 +}
  41 +
  42 +.search_input_panel {
  43 + display: inline;
  44 + height: 42px;
  45 +}
  46 +
  47 +.search_input_panel .search_input {
  48 + width: 200px;
  49 + height: 42px;
  50 + padding:0 20px 0 10px;
  51 + float:left;
  52 + border:none;
  53 + outline: 0px;
  54 +}
  55 +
  56 +.search_input_panel .clear {
  57 + right: 42px;
  58 + position: absolute;
  59 + top: 15px;
  60 + width: 20px;
  61 +}
  62 +
  63 +.search_button_panel{
  64 + height: 42px;
  65 + display: inline;
  66 +}
  67 +
  68 +.search_button {
  69 + width: 42px;
  70 + height: 42px;
  71 + background: #fff;
  72 + border:none;
  73 + top: 0;
  74 + outline: 0px;
  75 +}
  76 +
22 77 /* 隐藏百度地图logo */
23 78 .anchorBL,
24 79 .anchorBL,
... ... @@ -36,8 +91,7 @@ html,body{
36 91 height: auto;
37 92 background:transparent;
38 93 border:0px solid;
39   - box-shadow: 0 12px 15px 0 rgba(204, 204, 204, 0.33),0 17px 50px 0 rgba(204, 204, 204, 0.33);
40   - border-radius: 6px !important;box-shadow: 10px 10px 5px #888888;
  94 + border-radius: 6px !important;box-shadow: 5px 5px 5px rgba(90, 90, 90, 0.48);
41 95 }
42 96  
43 97 .help-block{
... ... @@ -45,47 +99,12 @@ html,body{
45 99 font-size: 15px;
46 100 }
47 101  
48   -/*.BMap_pop div:nth-child(1) ,*/
49   -/*.BMap_pop div:nth-child(2) ,*/
50   -/*.BMap_pop div:nth-child(3) ,*/
51   -/*.BMap_pop div:nth-child(4) ,*/
52   -/*.BMap_pop div:nth-child(5) ,*/
53   -/*.BMap_pop div:nth-child(6) ,*/
54   -/*.BMap_pop div:nth-child(7) {*/
55   - /**/
56   - /*border:0px solid rgb(255, 255, 255) !important;*/
57   - /*background-color:#3B3F51 !important;*/
58   - /**/
59   -/*}*/
60   -
61   -/*.BMap_pop div:nth-child(3){*/
62   - /**/
63   - /*width:23px !important;*/
64   - /**/
65   -/*}*/
66   -
67   -/*.BMap_pop div:nth-child(7) {*/
68   - /**/
69   - /*width:23px !important;*/
70   - /**/
71   - /*height:24px !important;*/
72   - /**/
73   -/*}*/
74   -
75   -/*.BMap_pop div:nth-child(5) {*/
76   - /**/
77   - /*height:24px !important;*/
78   - /**/
79   -/*}*/
80   -
81   -/* 图片以后在弄,先隐藏div */
82   -/*.BMap_pop div:nth-child(8) {*/
83   - /**/
84   - /*height:0px !important;*/
85   - /*!* background:url('/pages/base/stationroute/css/img/iw3-1.png') no-repeat !important; *!*/
86   - /*!* background-image:url('/pages/base/stationroute/css/img/windowinfo_b.jpg') !important; *!*/
87   - /**/
88   -/*}*/
  102 +.info_win_btn {
  103 + background: #ff8355;
  104 + color: #fff;
  105 + font-size: 12px;
  106 + border: 1px solid transparent;
  107 +}
89 108  
90 109 .BMap_pop {
91 110  
... ... @@ -94,36 +113,111 @@ html,body{
94 113 }
95 114  
96 115 .defeat-scroll {
97   -width: 98%;
98   -height:380px;
99   -/* overflow:auto; */
100   -overflow:hidden;
  116 + width: 98%;
  117 + height:380px;
  118 + overflow:hidden;
101 119 }
102 120 .defeat-scroll::-webkit-scrollbar {
103   -width:6px;
104   -height:6px;
  121 + width:6px;
  122 + height:6px;
105 123 }
106 124 .defeat-scroll::-webkit-scrollbar-button {
107   -/* background-color:#FF7677; */
108   -background:rgba(255, 255, 255, 0);
  125 + background:rgba(255, 255, 255, 0);
109 126 }
110 127 .defeat-scroll::-webkit-scrollbar-track {
111   -/* background:#FF66D5; */
112   -background:rgba(255, 255, 255, 0);
  128 + background:rgba(255, 255, 255, 0);
113 129 }
114 130 .defeat-scroll::-webkit-scrollbar-track-piece {
115   -/* background:#ff0000; */
116   -background:rgba(255, 255, 255, 0);
  131 + background:rgba(255, 255, 255, 0);
117 132 }
118 133 .defeat-scroll::-webkit-scrollbar-thumb{
119   -background:rgba(197, 196, 196, 0.81);
120   -border-radius:10px !important;
  134 + background:rgba(197, 196, 196, 0.81);
  135 + border-radius:10px !important;
121 136 }
122 137 .defeat-scroll::-webkit-scrollbar-corner {
123   -/* background:#82AFFF; */
124   -background:rgba(255, 255, 255, 0);
  138 + background:rgba(255, 255, 255, 0);
125 139 }
126   -.defeat-scroll::-webkit-scrollbar-resizer {
127   -/* background:#FF0BEE; */
128   -background:rgba(255, 255, 255, 0);
129   -}
130 140 \ No newline at end of file
  141 +/*.defeat-scroll::-webkit-scrollbar-resizer {
  142 + background:rgba(255, 255, 255, 0);
  143 +}*/
  144 +
  145 +.add_road_search_point_wrap{
  146 + width: 280px;
  147 + height: 120px;
  148 + position: absolute;
  149 + top: 40px;
  150 + left: calc(50% - 100px);
  151 + z-index: 999;
  152 + background: #fdfdfd;
  153 + box-shadow: 5px 5px 15px rgba(90, 90, 90, 0.48);
  154 +}
  155 +
  156 +.buffer_edit_body{
  157 + padding: 5px 0 0 15px;
  158 +}
  159 +
  160 +.buffer_edit_body .form-group{
  161 + margin-top: 10px;
  162 + margin-bottom: 0px;
  163 + white: 240px
  164 +}
  165 +
  166 +.add_road_search_point_wrap ._title {
  167 + padding-right: 18px;
  168 + text-align: center;
  169 + font-size: 17px;
  170 + color: #2b2b2b;
  171 + /*padding: 2px 0 0 0;*/
  172 + font-weight: 600;
  173 +}
  174 +
  175 +.buffer_edit_body .btns{
  176 + text-align: right;
  177 +}
  178 +
  179 +.buffer_edit_body .form-group .inline{
  180 + width: 100px !important;
  181 + height: 30px;
  182 + margin-right: 7px;
  183 + display: inline-block;
  184 + position: relative;
  185 + max-width: 100%;
  186 + vertical-align: middle;
  187 +}
  188 +
  189 +.sbmint-btn {
  190 + padding: 0 15px;
  191 + height: 28px;
  192 + line-height: 28px;
  193 + vertical-align: top;
  194 + margin-top: 2px;
  195 + background-color: #1e87f0;
  196 + color: #fff;
  197 + border: 1px solid transparent;
  198 +}
  199 +.cancel-btn {
  200 + padding: 0 15px;
  201 + height: 28px;
  202 + line-height: 28px;
  203 + vertical-align: top;
  204 + margin-top: 2px;
  205 + background-color: transparent;
  206 + color: #333;
  207 + border: 1px solid #e5e5e5;
  208 +}
  209 +
  210 +.draw_polyline_switch{
  211 + display: inline-block;
  212 + font-size: 12px;
  213 + vertical-align: bottom;
  214 + margin-left: 5px;
  215 +}
  216 +
  217 +.draw_polyline_switch>a{
  218 + color: red;
  219 +}
  220 +
  221 +.buffer_edit_body .form-group input{
  222 + height: 30px;
  223 +}
  224 +
... ...
src/main/resources/static/pages/base/stationroute/delete_select.html
... ... @@ -29,9 +29,9 @@
29 29 </form>
30 30 </div>
31 31 <div class="modal-footer">
32   - <button type="button" class="btn default" data-dismiss="modal">取消</button>
33 32 <button type="button" class="btn btn-primary"
34   - id="deleteSelectnextButton">下一步</button>
  33 + id="deleteSelectnextButton">下一步</button>
  34 + <button type="button" class="btn default" data-dismiss="modal">取消</button>
35 35 </div>
36 36 </div>
37 37 </div>
... ...
src/main/resources/static/pages/base/stationroute/deletesection.html
... ... @@ -139,25 +139,25 @@ $(&#39;#delete_section_mobal&#39;).on(&#39;deleteSectionMobal.show&#39;,function(e, ajaxd, line,
139 139 ids = ids.substr(1, ids.length - 1);
140 140 var params = {};
141 141 params.ids = ids;
142   - $.get('/sectionroute/batchDestroy',params,function(resuntDate) {
143   - if (resuntDate.status == 'SUCCESS') {
144   - // 弹出添加成功提示消息
145   - layer.msg('修改成功...');
146   - /** 通知更新缓存区 */
147   - //$.post('http://192.168.168.171:8800/transport_server/basic/refresh',function(rs) {console.log(rs)})
148   - } else {
149   - // 弹出添加失败提示消息
150   - layer.msg('修改失败...');
151   - }
152   - initSearch();
153   - // 刷新左边树
154   - fun.resjtreeDate(line.id,delBatch.dir);
155   - /** 查询路段信息 @param:<Line.id:线路Id;delBatch.dir:方向> @return:data:路段数据 */
156   - ajaxd.getSectionRouteInfo(line.id,delBatch.dir,function(data) {
157   - /** 在地图上画出线路走向 @param:<Line.id:线路Id;delBatch.dir:方向;data:路段数据> */
158   - fun.linePanlThree(line.id,data,delBatch.dir);
159   - });
160   - });
  142 + $.post('/sectionroute/batchDestroy',params,function(resuntDate) {
  143 + if (resuntDate.status == 'SUCCESS') {
  144 + // 弹出添加成功提示消息
  145 + layer.msg('修改成功...');
  146 + /** 通知更新缓存区 */
  147 + //$.post('http://192.168.168.171:8800/transport_server/basic/refresh',function(rs) {console.log(rs)})
  148 + } else {
  149 + // 弹出添加失败提示消息
  150 + layer.msg('修改失败...');
  151 + }
  152 + initSearch();
  153 + // 刷新左边树
  154 + fun.resjtreeDate(line.id,delBatch.dir);
  155 + /** 查询路段信息 @param:<Line.id:线路Id;delBatch.dir:方向> @return:data:路段数据 */
  156 + ajaxd.getSectionRouteInfo(line.id,delBatch.dir,function(data) {
  157 + /** 在地图上画出线路走向 @param:<Line.id:线路Id;delBatch.dir:方向;data:路段数据> */
  158 + fun.linePanlThree(line.id,data,delBatch.dir);
  159 + });
  160 + });
161 161 } else {
162 162 layer.msg('请选择要删除的路段!!!');
163 163 }
... ...
src/main/resources/static/pages/base/stationroute/deletestation.html
... ... @@ -141,7 +141,7 @@ $(&#39;#delete_station_mobal&#39;).on(&#39;deleteStationMobal.show&#39;,function(e, ajaxd, line,
141 141 ids = ids.substr(1, ids.length - 1);
142 142 var params = {};
143 143 params.ids = ids;
144   - $.get('/stationroute/batchDestroy',params,function(resuntDate) {
  144 + $.post('/stationroute/batchDestroy',params,function(resuntDate) {
145 145 if (resuntDate.status == 'SUCCESS') {
146 146 // 弹出添加成功提示消息
147 147 layer.msg('修改成功...');
... ...
src/main/resources/static/pages/base/stationroute/doublename_road.html
... ... @@ -32,8 +32,8 @@
32 32 </form>
33 33 </div>
34 34 <div class="modal-footer">
35   - <button type="button" class="btn default" data-dismiss="modal">取消</button>
36 35 <button type="button" class="btn btn-primary" id="editSectionButton">提交数据</button>
  36 + <button type="button" class="btn default" data-dismiss="modal">取消</button>
37 37 </div>
38 38 </div>
39 39 </div>
... ... @@ -79,7 +79,7 @@
79 79 });
80 80 function closeMobleSetClean() {
81 81 // 清除地图覆盖物
82   - map_.clearMarkAndOverlays();
  82 + // map_.clearMarkAndOverlays();
83 83 fun.resjtreeDate(lineId,dir);
84 84 fun.editAChangeCssRemoveDisabled();
85 85 ajaxd.getSectionRouteInfo(lineId,dir,function(data) {
... ... @@ -128,12 +128,11 @@
128 128 params.versions = versions;
129 129 // 生成路段
130 130 $.get('/section/doubleName',params,function (resuntDate) {
131   - debugger
132 131 if(resuntDate.status=='SUCCESS') {
133 132 // 弹出添加成功提示消息
134 133 layer.msg('生成成功...');
135 134 } else if (resuntDate.status=='Failure') {
136   - layer.msg('抱歉,选取的路段太短,无法生成双路段!');
  135 + layer.msg('抱歉,您选取的路段基于高德地图的数据无法生成双路段!');
137 136 } else {
138 137 // 弹出添加失败提示消息
139 138 layer.msg('生成失败...');
... ... @@ -141,7 +140,7 @@
141 140 $('#doublename_road_mobal').modal('hide');
142 141 var dir = params.directions;
143 142 // 刷行左边树
144   - fun.resjtreeDate(lineId,dir);
  143 + // fun.resjtreeDate(lineId,dir);
145 144 closeMobleSetClean();
146 145 });
147 146 });
... ...
src/main/resources/static/pages/base/stationroute/edit.html
... ... @@ -21,25 +21,19 @@
21 21 <input type="hidden" name="dbType" id="dbTypeInput" value="b"/>
22 22 <input type="hidden" name="x" id="xInput" value=""/>
23 23 <input type="hidden" name="y" id="yInput" value=""/>
  24 + <input type="hidden" name="zdmc" id="zdmcInput"/>
  25 + <input type="hidden" name="descriptions" id="descriptionsTextarea" />
  26 + <input type="hidden" name="directions" id="stationdirSelect" />
  27 +
  28 + <!-- 站点名称 -->
24 29 <!-- 站点名称 -->
25 30 <div class="form-body">
26 31 <div class="form-group">
27 32 <label class="control-label col-md-3">
28   - <span class="required"> * </span> 站点名称&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
29   - </label>
30   - <div class="col-md-6">
31   - <input type="text" class="form-control" name="zdmc" id="zdmcInput" placeholder="站点名称" readonly="readonly">
32   - </div>
33   - </div>
34   - </div>
35   - <!-- 站点路由名称 -->
36   - <div class="form-body">
37   - <div class="form-group">
38   - <label class="control-label col-md-3">
39   - <span class="required"> * </span> 站点路由名称:
  33 + <span class="required"> * </span> 站点名称:
40 34 </label>
41 35 <div class="col-md-6">
42   - <input type="text" class="form-control" name="stationName" id="stationNameInput" placeholder="站点路由名称">
  36 + <input type="text" class="form-control" name="stationName" id="stationNameInput" placeholder="站点名称" readonly="readonly">
43 37 </div>
44 38 </div>
45 39 </div>
... ... @@ -54,21 +48,6 @@
54 48 </div>
55 49 </div>
56 50 </div>
57   - <!-- 站点方向 -->
58   - <div class="form-body">
59   - <div class="form-group">
60   - <label class="control-label col-md-3">
61   - <span class="required"> * </span>站点方向&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:
62   - </label>
63   - <div class="col-md-6">
64   - <select name="directions" class="form-control" id="stationdirSelect">
65   - <option value="">-- 请选择站点类型 --</option>
66   - <option value="0">上行</option>
67   - <option value="1">下行</option>
68   - </select>
69   - </div>
70   - </div>
71   - </div>
72 51 <!-- 站点序号 -->
73 52 <div class="form-body">
74 53 <div class="form-group">
... ... @@ -175,13 +154,6 @@
175 154 </div>
176 155 </div>
177 156 </div>
178   - <!-- 描述/说明 -->
179   - <div class="form-group">
180   - <label class="control-label col-md-3"> 描述/说明&nbsp;&nbsp;&nbsp;: </label>
181   - <div class="col-md-6">
182   - <textarea class="form-control" rows="3" name="descriptions" id="descriptionsTextarea" placeholder="描述/说明"></textarea>
183   - </div>
184   - </div>
185 157 </form>
186 158 </div>
187 159 <div class="modal-footer">
... ... @@ -198,7 +170,7 @@ $(&#39;#edit_station_mobal&#39;).on(&#39;editSelectMobal_show&#39;, function(e, map_,ajaxd,stati
198 170 var editStationParmasObj = station_.getEitdStation();
199 171 var addLine = Line_.getLineObj();
200 172 fun.setFormValue(editStationParmasObj);
201   - var initzdlyP = {'lineCode_eq':editStationParmasObj.stationRouteLineCode,'destroy_eq':0,'directions_eq':editStationParmasObj.stationRouteDirections};
  173 + var initzdlyP = {'lineCode_eq':editStationParmasObj.stationRouteLIneCode,'destroy_eq':0,'directions_eq':editStationParmasObj.stationRoutedirections};
202 174 initSelect(initzdlyP);
203 175 // 显示mobal
204 176 $('#edit_station_mobal').modal({show : true,backdrop: 'static',keyboard: false});
... ... @@ -217,6 +189,7 @@ $(&#39;#edit_station_mobal&#39;).on(&#39;editSelectMobal_show&#39;, function(e, map_,ajaxd,stati
217 189 ajaxd.getSectionRouteInfo(addLine.id,add_direction_v,function(data) {
218 190 fun.linePanlThree(addLine.id,data,add_direction_v);
219 191 });
  192 + fun.editMapStatusRemove();
220 193 }
221 194 // 编辑表单元素
222 195 var form = $('#edit_station_form');
... ... @@ -283,7 +256,7 @@ $(&#39;#edit_station_mobal&#39;).on(&#39;editSelectMobal_show&#39;, function(e, map_,ajaxd,stati
283 256 var id = addLine.id;
284 257 var dir = params.directions
285 258 // 刷行左边树
286   - fun.resjtreeDate(id,dir);
  259 + // fun.resjtreeDate(id,dir);
287 260 closeMobleSetClean();
288 261 });
289 262 }
... ... @@ -312,7 +285,7 @@ $(&#39;#edit_station_mobal&#39;).on(&#39;editSelectMobal_show&#39;, function(e, map_,ajaxd,stati
312 285 $.each(array, function(i, g){
313 286 // 判断.
314 287 if(g.name!='' || g.name != null) {
315   - if(g.stationRouteCode != editStationParmasObj.stationRouteStationRouteCode) {
  288 + if(g.stationRouteCode != editStationParmasObj.stationRouteCode) {
316 289 // 添加拼音检索下拉框格式数据数组.
317 290 if(editStationParmasObj.stationRouteStationMark=='E' && i == (len_-2)){
318 291 paramsD.push({'id':g.stationRouteCode + '_' + 'E' + '_' + g.directions,
... ... @@ -333,13 +306,13 @@ $(&#39;#edit_station_mobal&#39;).on(&#39;editSelectMobal_show&#39;, function(e, map_,ajaxd,stati
333 306 });
334 307 }
335 308 function setZdlyValue() {
336   - ajaxd.findUpStationRouteCode(editStationParmasObj.stationRouteLine,editStationParmasObj.stationRouteDirections,editStationParmasObj.stationRouteStationRouteCode,function(str) {
  309 + ajaxd.findUpStationRouteCode(editStationParmasObj.stationRouteLine,editStationParmasObj.stationRoutedirections,editStationParmasObj.stationRouteCode,function(str) {
337 310 if(str.length>0){
338 311 var upStationRouteCode;
339 312 if (editStationParmasObj.stationRouteStationMark == 'E') {
340   - upStationRouteCode = str[0].stationRouteCode + '_' + 'E' + '_' + editStationParmasObj.stationRouteDirections;
  313 + upStationRouteCode = str[0].stationRouteCode + '_' + 'E' + '_' + editStationParmasObj.stationRoutedirections;
341 314 } else{
342   - upStationRouteCode = str[0].stationRouteCode + '_' + str[0].stationRouteMarke + '_' + editStationParmasObj.stationRouteDirections;
  315 + upStationRouteCode = str[0].stationRouteCode + '_' + str[0].stationRouteMarke + '_' + editStationParmasObj.stationRoutedirections;
343 316 }
344 317 $('#stationrouteSelect').select2('val',upStationRouteCode);
345 318 }else {
... ... @@ -374,5 +347,5 @@ $(&#39;#edit_station_mobal&#39;).on(&#39;editSelectMobal_show&#39;, function(e, map_,ajaxd,stati
374 347 }
375 348 return tel;
376 349 }, '方向必须一致!');
377   -});
  350 +});
378 351 </script>
379 352 \ No newline at end of file
... ...
src/main/resources/static/pages/base/stationroute/edit_select.html
... ... @@ -19,7 +19,7 @@
19 19 系统无法生成,请选择其他方式新增
20 20 </div>
21 21 <div class="form-group" id="formRequ">
22   - <label class="col-md-3 control-label"><span class="required"> * </span>原始站点名称:</label>
  22 + <label class="col-md-3 control-label"><span class="required"> * </span>站点名称:</label>
23 23 <div class="col-md-9" id="errorInfo">
24 24 <input type="text" class="form-control input-medium" id="stationNamebootbox" name="stationNamebootbox">
25 25 </div>
... ... @@ -40,17 +40,14 @@
40 40 </form>
41 41 </div>
42 42 <div class="modal-footer">
43   - <button type="button" class="btn default" data-dismiss="modal">取消</button>
44 43 <button type="button" class="btn btn-primary" id="editselectStationNextButton">下一步</button>
  44 + <button type="button" class="btn default" data-dismiss="modal">取消</button>
45 45 </div>
46 46 </div>
47 47 </div>
48 48 </div>
49 49 <script type="text/javascript">
50   -$('#edit_select_mobal').on('editSelectMobal_show', function(e, map_,drw,ajaxd,editStationObj,lineObj,fun,dir_){
51   - var sel = fun.getCurrSelNode(dir_);
52   - debugger
53   - var Station = sel[0].original;
  50 +$('#edit_select_mobal').on('editSelectMobal_show', function(e, map_,drw,ajaxd,editStationObj,lineObj,fun,Station){
54 51 // 显示选择修改方式弹出层
55 52 $('#edit_select_mobal').modal({show : true,backdrop: 'static',keyboard: false});
56 53 setTimeout(function(){
... ... @@ -75,7 +72,7 @@ $(&#39;#edit_select_mobal&#39;).on(&#39;editSelectMobal_show&#39;, function(e, map_,drw,ajaxd,ed
75 72 setTimeout(function(){$('.tipso-animation').tipso('hide');},4000);
76 73 },500);
77 74 // 获取站点名称元素并赋值
78   - $('#stationNamebootbox').val(Station.stationStationName);
  75 + $('#stationNamebootbox').val(Station.stationRouteName);
79 76 // 定义站点图形
80 77 var stationShapesTypeV = Station.stationShapesType;
81 78 // 获取表单元素
... ... @@ -118,28 +115,25 @@ $(&#39;#edit_select_mobal&#39;).on(&#39;editSelectMobal_show&#39;, function(e, map_,drw,ajaxd,ed
118 115 var editStationName = params.stationNamebootbox;
119 116  
120 117 if(params.editselect==0){
121   - $('#downLine').addClass('btn disabled');
122   - $('.btn-circle').addClass('disabled');
123   - $('#upLine').addClass('btn disabled');
124 118 editStationObj.setEitdStation(Station);
125 119 editStationObj.setEitdStationName(editStationName);
126 120  
127   - map_.clearMarkAndOverlays();
  121 + // map_.clearMarkAndOverlays();
128 122 // 打开绘制工具
129 123 drw.openDrawingManager();
130   - map_.localtionPoint(editStationName);
  124 + map_.localtionPoint(editStationName+"公交站点");
  125 + fun.editMapStatus();
131 126 }else if(params.editselect==1){
132   - $('#downLine').addClass('btn disabled');
133   - $('.btn-circle').addClass('disabled');
134   - $('#upLine').addClass('btn disabled');
135 127 editStationObj.setEitdStation(Station);
136 128 editStationObj.setEitdStationName(editStationName);
137   -
  129 + map_.clearMark();
138 130 // 弹出添加失败提示消息,2秒关闭(如果不配置,默认是3秒)
139 131 var mindex = layer.msg('编辑完图形后,请双击图形区域保存',{ offset: '126px',
140 132 shift: 0,time: 3000});
141 133 // 编辑图形
142   - map_.editShapes(editStationName,stationShapesTypeV,mindex);
  134 + // map_.editShapes(editStationName,stationShapesTypeV,mindex);
  135 + map_.editShapes(editStationObj);
  136 + fun.editMapStatus();
143 137 }
144 138 }
145 139 });
... ...
src/main/resources/static/pages/base/stationroute/editsection.html
... ... @@ -14,12 +14,17 @@
14 14 <!-- 线路ID -->
15 15 <input type="hidden" name="sectionId" id="sectionIdInput">
16 16 <input type="hidden" name="sectionRouteId" id="sectionRouteIdInput">
  17 + <input type="hidden" name="sectionCode" id="sectionCodeInput">
17 18 <input type="hidden" name="sectionRouteLine" id="sectionRouteLineInput">
18 19 <input type="hidden" name="lineCode" id="lineCodeInput">
19 20 <input type="hidden" name="bsectionVector" id="bsectionVectorInput" />
20 21 <input type="hidden" name="csectionVector" id="csectionVectorInput" value=""/>
21 22 <input type="hidden" name="dbType" id="dbTypeInput" value="b"/>
22 23 <input type="hidden" name="isRoadeSpeed" id="isRoadeSpeedInput"/>
  24 + <input type="hidden" name="directions" id="directionsSection">
  25 + <input type="hidden" name="speedLimit" id="speedLimitInput" >
  26 + <input type="hidden" name="roadCoding" id="roadCodingCodInput"/>
  27 + <input type="hidden" name="versions" id="versionsInput"/>
23 28 <!-- 路段名称 -->
24 29 <div class="form-body">
25 30 <div class="form-group">
... ... @@ -31,17 +36,6 @@
31 36 </div>
32 37 </div>
33 38 </div>
34   - <!-- 路段编码 -->
35   - <div class="form-body">
36   - <div class="form-group">
37   - <label class="control-label col-md-3">
38   - <span class="required"> * </span> 路段编码:
39   - </label>
40   - <div class="col-md-6">
41   - <input type="text" class="form-control" name="sectionCode" id="sectionCodeInput" placeholder="路段编码" readonly="readonly">
42   - </div>
43   - </div>
44   - </div>
45 39 <!-- 路段序号 -->
46 40 <div class="form-body">
47 41 <div class="form-group">
... ... @@ -54,103 +48,20 @@
54 48 </div>
55 49 </div>
56 50 </div>
57   - <!-- 路段方向 -->
58   - <div class="form-body">
59   - <div class="form-group">
60   - <label class="control-label col-md-3">
61   - <span class="required"> * </span>路段方向:
62   - </label>
63   - <div class="col-md-6">
64   - <select name="directions" class="form-control" id="directionsSection">
65   - <option value="">-- 请选择路段类型 --</option>
66   - <option value="0">上行</option>
67   - <option value="1">下行</option>
68   - </select>
69   - </div>
70   - </div>
71   - </div>
72   - <!-- 路段限速 -->
73   - <div class="form-body">
74   - <div class="form-group">
75   - <label class="control-label col-md-3">
76   - <span class="required"> * </span> 路段限速:
77   - </label>
78   - <div class="col-md-6">
79   - <input type="text" class="form-control" name="speedLimit" id="speedLimitInput" placeholder="路段限速">
80   - </div>
81   - </div>
82   - </div>
83   - <!-- 是否撤销 -->
84   - <div class="form-body">
85   - <div class="form-group">
86   - <label class="col-md-3 control-label"><span class="required"> * </span>是否撤销:</label>
87   - <div class="col-md-6">
88   - <select name="destroy" class="form-control" id="destroySelect">
89   - <option value="">-- 请选择撤销类型 --</option>
90   - <option value="0">否</option>
91   - <option value="1">是</option>
92   - </select>
93   - </div>
94   - </div>
95   - </div>
96   - <!-- 道路编码-->
97   - <div class="form-body">
98   - <div class="form-group">
99   - <label class="control-label col-md-3">道路编码:</label>
100   - <div class="col-md-6">
101   - <input type="text" class="form-control" name="roadCoding" id="roadCodingCodInput" placeholder="道路编码">
102   - </div>
103   - </div>
104   - </div>
105   - <!-- 路段长度 -->
106   - <div class="form-body">
107   - <div class="form-group">
108   - <label class="col-md-3 control-label">路段长度:</label>
109   - <div class="col-md-6">
110   - <input type="text" class="form-control" name="sectionDistance" id="sectionDistanceInput" placeholder="路段长度">
111   - <span class="help-block">单位:公里(km)</span>
112   - </div>
113   - </div>
114   - </div>
115   - <!-- 路段历时 -->
116   - <div class="form-body">
117   - <div class="form-group">
118   - <label class="col-md-3 control-label">路段历时:</label>
119   - <div class="col-md-6">
120   - <input type="text" class="form-control" name="sectionTime" id="sectionTimeInput" placeholder="路段历时">
121   - <span class="help-block">单位:分钟(min)</span>
122   - </div>
123   - </div>
124   - </div>
125   - <!-- 版本号 -->
126   - <div class="form-body">
127   - <div class="form-group">
128   - <label class="col-md-3 control-label">版本号&nbsp;&nbsp;&nbsp;:</label>
129   - <div class="col-md-6">
130   - <input type="text" class="form-control" name="versions" id="versionsInput" Readonly>
131   - </div>
132   - </div>
133   - </div>
134   - <!-- 描述/说明 -->
135   - <div class="form-group">
136   - <label class="control-label col-md-3"> 描述/说明: </label>
137   - <div class="col-md-6">
138   - <textarea class="form-control" rows="3" name="descriptions" id="descriptionsTextarea" placeholder="描述/说明"></textarea>
139   - </div>
140   - </div>
  51 +
141 52 </form>
142 53 </div>
143 54 <div class="modal-footer">
144   - <button type="button" class="btn default" data-dismiss="modal">取消</button>
145 55 <button type="button" class="btn btn-primary" id="editSectionButton">提交数据</button>
  56 + <button type="button" class="btn default" data-dismiss="modal">取消</button>
146 57 </div>
147 58 </div>
148 59 </div>
149 60 </div>
150 61 <script type="text/javascript">
151 62  
152   -$('#edit_section_mobal').on('editSectionMobal_show', function(e, map_,ajaxd,section,fun){
153   - var Section = section.getEitdSection();
  63 +$('#edit_section_mobal').on('editSectionMobal_show', function(e, map_,ajaxd,p,fun){
  64 + var Section = p.data;
154 65 fun.setSectionFormValue(Section);
155 66 // 方向
156 67 var dir = Section.sectionrouteDirections;
... ... @@ -159,15 +70,6 @@ $(&#39;#edit_section_mobal&#39;).on(&#39;editSectionMobal_show&#39;, function(e, map_,ajaxd,sect
159 70 ajaxd.getStation(lineId,dir,function(treeData) {
160 71 var array = treeData[0].children[1].children,paramsD =new Array();
161 72 var eq_scetionRouteCode = Section.sectionrouteCode;
162   - /* for(var i = 0 ; i<dArray.length; i++){
163   - var ptions_v = dArray[i].sectionrouteCode;
164   - if(eq_scetionRouteCode == ptions_v){
165   - continue;
166   - }
167   - options += '<option value="'+ ptions_v +'">'+dArray[i].sectionName + ' (' + ptions_v +')'
168   - + ' --' + fun.dirdmToName(dArray[i].sectionrouteDirections) + '</option>' ;
169   - }
170   - $('#sectionrouteCodeSelect').html(options); */
171 73 paramsD.push({'id':'请选择...','text':'将此路段设置位第一个路段'});
172 74 // 遍历.
173 75 $.each(array, function(i, g){
... ... @@ -195,16 +97,14 @@ $(&#39;#edit_section_mobal&#39;).on(&#39;editSectionMobal_show&#39;, function(e, map_,ajaxd,sect
195 97 });
196 98 });
197 99 // 显示mobal
198   - $('#edit_section_mobal').modal({show : true,backdrop: 'static',keyboard: false});
  100 + $('#edit_section_mobal').modal({show : true,backdrop: 'static',keyboard: false});//
199 101 // 当调用 hide 实例方法时触发
200 102 $('#edit_section_mobal').on('hide.bs.modal', function () {
201 103 closeMobleSetClean();
202 104 });
203 105 function closeMobleSetClean() {
204   - // 清除地图覆盖物
205   - map_.clearMarkAndOverlays();
206   - /** 设置修改路段集合对象为空 */
207   - section.setEitdSection({});
  106 + // 清除地图覆盖物
  107 + map_.clearMarkAndOverlays();
208 108 fun.resjtreeDate(lineId,dir);
209 109 fun.editAChangeCssRemoveDisabled();
210 110 ajaxd.getSectionRouteInfo(lineId,dir,function(data) {
... ... @@ -227,14 +127,14 @@ $(&#39;#edit_section_mobal&#39;).on(&#39;editSectionMobal_show&#39;, function(e, map_,ajaxd,sect
227 127 focusInvalid : false,
228 128 rules : {
229 129 'sectionName' : {required : true,maxlength:50},// 路段名称 必填项
230   - 'sectionCode': {required : true,},// 路段编码 必填项
  130 + /*'sectionCode': {required : true,},// 路段编码 必填项
231 131 'directions' : {required : true,},// 路段方向 必填项
232 132 'speedLimit' : {required : true,number : true},// 路段限速 必须输入合法的数字(负数,小数)。
233 133 'destroy' : {required : true,},// 是否撤销 必填项.
234 134 'roadCoding' : {number : true},// 道路编码 必须输入合法的数字(负数,小数)。
235 135 'sectionTime' : {number : true},// 路段时长 必须输入合法的数字(负数,小数)。
236 136 'sectionDistance' : {number : true},// 路段长度 必须输入合法的数字(负数,小数)。
237   - 'descriptions' : {maxlength: 150}// 描述与说明 最大长度.
  137 + 'descriptions' : {maxlength: 150}// 描述与说明 最大长度.*/
238 138 },
239 139 invalidHandler : function(event, validator) {
240 140 error.show();
... ... @@ -250,7 +150,14 @@ $(&#39;#edit_section_mobal&#39;).on(&#39;editSectionMobal_show&#39;, function(e, map_,ajaxd,sect
250 150 label.closest('.form-group').removeClass('has-error');
251 151 },
252 152 submitHandler : function(f) {
  153 + // 获取折线坐标集合
  154 + var editPloyLineArray = p.getPath();
  155 + // 折线坐标集合
  156 + $('#bsectionVectorInput').val(JSON.stringify(editPloyLineArray));
253 157 var params = form.serializeJSON();
  158 + params.destroy=0;
  159 + params.sectionDistance=0;
  160 + params.sectionTime=0;
254 161 error.hide();
255 162 if(params.sectionrouteCode=='请选择...')
256 163 params.sectionrouteCode='';
... ... @@ -264,8 +171,6 @@ $(&#39;#edit_section_mobal&#39;).on(&#39;editSectionMobal_show&#39;, function(e, map_,ajaxd,sect
264 171 }
265 172 $('#edit_section_mobal').modal('hide');
266 173 var dir = params.directions
267   - // 刷行左边树
268   - fun.resjtreeDate(lineId,dir);
269 174 closeMobleSetClean();
270 175 });
271 176 }
... ...
src/main/resources/static/pages/base/stationroute/js/addstationobj.js
... ... @@ -31,7 +31,7 @@ var AddStationObj = function () {
31 31 },
32 32  
33 33 /** 设置新增站点集合对象站点中心点百度坐标属性值 @param:<bJwpoints:中心点百度坐标) */
34   - setAddStationBJwpoints : function(bJwpoints) {
  34 + setAddStationJwpoints : function(bJwpoints) {
35 35  
36 36 station.bJwpoints = bJwpoints;
37 37 },
... ...
src/main/resources/static/pages/base/stationroute/js/drawingManager.js
... ... @@ -68,7 +68,7 @@ var DrawingManagerObj = function () {
68 68  
69 69 var pointE = e;
70 70  
71   - // 多变行质心点
  71 + // 多边行中心点
72 72 var addSttationPoints_ = pointE.getBounds().getCenter().lng+ ' ' + pointE.getBounds().getCenter().lat;
73 73  
74 74 var addPolyGonLen_ = pointE.getPath().length;
... ... @@ -96,7 +96,7 @@ var DrawingManagerObj = function () {
96 96 if(!$.isEmptyObject(add)){
97 97  
98 98 /** 设置新增站点集合对象站点中心点百度坐标属性值 @param:<bJwpoints:中心点百度坐标) */
99   - AddStationObj.setAddStationBJwpoints(addSttationPoints_);
  99 + AddStationObj.setAddStationJwpoints(addSttationPoints_);
100 100  
101 101 /** 设置新增站点集合对象范围图形类型属性值 @param:<shapesType:范围图形类型) */
102 102 AddStationObj.setAddStationShapesType('d');
... ... @@ -119,7 +119,7 @@ var DrawingManagerObj = function () {
119 119 if(!$.isEmptyObject(edit)){
120 120  
121 121 /** 设置修改站点集合对象站点中心点百度坐标属性值 @param:<bJwpoints:中心点百度坐标) */
122   - EditStationObj.setEitdStationBJwpoints(addSttationPoints_);
  122 + EditStationObj.setEitdStationJwpoints(addSttationPoints_);
123 123  
124 124 /** 设置修改站点集合对象范围图形类型属性值 @param:<shapesType:范围图形类型) */
125 125 EditStationObj.setEitdStationShapesType('d');
... ...
src/main/resources/static/pages/base/stationroute/js/editstationobj.js
... ... @@ -31,9 +31,9 @@ var EditStationObj = function () {
31 31 },
32 32  
33 33 /** 设置修改站点集合对象站点中心点百度坐标属性值 @param:<bJwpoints:中心点百度坐标) */
34   - setEitdStationBJwpoints : function(bJwpoints) {
  34 + setEitdStationJwpoints : function(bJwpoints) {
35 35  
36   - station.stationBJwpoints = bJwpoints;
  36 + station.stationJwpoints = bJwpoints;
37 37 },
38 38  
39 39 /** 设置修改站点集合对象范围图形类型属性值 @param:<shapesType:范围图形类型) */
... ...
src/main/resources/static/pages/base/stationroute/js/stationroute-ajax-getdata.js
... ... @@ -18,7 +18,9 @@
18 18 * - - - - - -》 stationRouteIsDestroy:撤销站点
19 19 *
20 20 * - - - - - -》 sectionUpdate : 编辑线路走向保存
21   - *
  21 + *
  22 + * - - - - - -》 sectionSave : 生成线路走向
  23 + *
22 24 * - - - - - -》 getIdLineName:获取线路名称
23 25 *
24 26 * - - - - - -》 getSectionRouteInfo:查询路段信息
... ... @@ -54,7 +56,7 @@ var GetAjaxData = function(){
54 56 },
55 57 // 查询线路某方向下所有站点的中心百度坐标
56 58 getStationRoutePoint : function(id_,dir_,callback) {
57   - $get('/stationroute/getStationRouteCenterPoints',{lineId:id_,direction:dir_},function(result) {
  59 + $get('/stationroute/getStationRouteList',{lineId:id_,direction:dir_},function(result) {
58 60 callback && callback(result);
59 61 });
60 62 },
... ... @@ -65,7 +67,7 @@ var GetAjaxData = function(){
65 67 callback && callback(array);
66 68 });
67 69 },
68   -
  70 +
69 71 // 查询站点编码
70 72 getStationCode : function(callback) {
71 73 $get('/station/getStationCode',null,function(stationCode) {
... ... @@ -74,6 +76,12 @@ var GetAjaxData = function(){
74 76 }
75 77 });
76 78 },
  79 + // 查询路段编码
  80 + getSectionCode : function(callback) {
  81 + $get('/section/getSectionCode',null,function(sectionCode) {
  82 + callback && callback(sectionCode);
  83 + });
  84 + },
77 85 findUpStationRouteCode : function(lineId,diraction,stationRouteCode,callback) {
78 86 $get('/stationroute/findUpStationRouteCode',{lineId:lineId,direction:diraction,stationRouteCode:stationRouteCode},function(result) {
79 87 callback && callback(result);
... ... @@ -110,15 +118,17 @@ var GetAjaxData = function(){
110 118  
111 119 // 编辑线路走向保存
112 120 sectionUpdate:function(section,callback) {
113   -
114 121 $post('/section/sectionUpdate',section,function(data) {
115   -
116 122 callback && callback(data);
117   -
118 123 })
119   -
120 124 },
121   -
  125 + // 生成线路走向
  126 + sectionSave:function(section,callback){
  127 + $post('/section/sectionSave',section,function(data) {
  128 + callback && callback(data);
  129 + })
  130 + },
  131 +
122 132 // 获取线路名称
123 133 getIdLineName : function (id,callback) {
124 134  
... ... @@ -143,6 +153,12 @@ var GetAjaxData = function(){
143 153 callback && callback(resultdata);
144 154 });
145 155 },
  156 + // 根据ID查询路段信息.
  157 + getSectionRouteInfoById : function(sectionRouteId,callback){
  158 + $get('/sectionroute/findSectionRouteInfoFormId',{id:sectionRouteId},function(r) {
  159 + return callback && callback(r);
  160 + });
  161 + },
146 162  
147 163 // 手动规划线路保存
148 164 manualSave : function(params,callback) {
... ...
src/main/resources/static/pages/base/stationroute/js/stationroute-list-events.js
... ... @@ -97,7 +97,6 @@ $(function(){
97 97 WorldsBMap.clearMarkAndOverlays();
98 98 // 刷新左边树
99 99 PublicFunctions.resjtreeDate(Line.id,0);
100   - PublicFunctions.resjtreeDate(Line.id,1);
101 100 /** 查询上行路段信息 @param:<Line.id:线路Id;0:上行> @return:data:路段数据 */
102 101 GetAjaxData.getSectionRouteInfo(Line.id,0,function(data) {
103 102 /** 在地图上画出线路走向 @param:<Line.id:线路Id;0:上行;data:路段数据> */
... ...
src/main/resources/static/pages/base/stationroute/js/stationroute-list-function.js
... ... @@ -26,548 +26,529 @@
26 26  
27 27 var PublicFunctions = function () {
28 28 var PubFun = {
29   - /** 初始化线路标题与ID */
30   - setTiteText : function(lineId) {
31   - // 根据线路ID获取线路名称
32   - GetAjaxData.getIdLineName(lineId,function(data) {
33   - // 定义线路名称
34   - var lineNameV = data.name;
35   - $('.portlet-title .caption').text(lineNameV);
36   - });
37   - },
38   - /** @param diraction 方向 @return array */
39   - getCurrSelNode : function(diraction){
40   - // 定义Obj
41   - var array = [];
42   - try {
  29 + /** 初始化线路标题与ID */
  30 + setTiteText : function(lineId) {
  31 + // 根据线路ID获取线路名称
  32 + GetAjaxData.getIdLineName(lineId,function(data) {
  33 + // 定义线路名称
  34 + var lineNameV = data.name;
  35 + $('.portlet-title .caption').text(lineNameV);
  36 + });
  37 + },
  38 + /** @param diraction 方向 @return array */
  39 + getCurrSelNode : function(diraction){
  40 + // 定义Obj
  41 + var array = [];
  42 + try {
  43 + // 上行
  44 + if(diraction=='0'){
  45 + // 获取上行选中节点
  46 + array = $.jstree.reference("#station_Up_tree").get_selected(true);
  47 + // 下行
  48 + }else if(diraction=='1'){
  49 + // 获取下行选中节点
  50 + array = $.jstree.reference("#station_Down_tree").get_selected(true);
  51 + }
  52 + } catch (e) {
  53 + console.log(e);
  54 + }
  55 + // 返回Obj
  56 + return array;
  57 + },
  58 + /** @param id:线路ID ;directionData:方向 */
  59 + resjtreeDate : function(id,directionData){
  60 + // 获取树数据
  61 + GetAjaxData.getStation(id,directionData,function(treeDateJson) {
  62 + // 获取数据长度
  63 + var len = treeDateJson[0].children[0].children.length;
  64 + // 上行
  65 + if(directionData==0){
  66 + // 长度大于零
  67 + if(len>0) {
  68 + // 隐藏上行规划
  69 + $('#upToolsMobal').hide();
  70 + // 显示树
  71 + $('#uptreeMobal').show();
  72 + // 刷新树
  73 + StationTreeData.upreloadeTree(treeDateJson);
  74 + }else {
  75 + // 显示上行规划
  76 + $('#upToolsMobal').show();
  77 + // 隐藏上行树
  78 + $('#uptreeMobal').hide();
  79 + }
  80 +
  81 + // 下行
  82 + }else if(directionData==1){
  83 + // 如果长度大于
  84 + if(len>0) {
  85 + // 隐藏下行规划
  86 + $('#downToolsMobal').hide();
  87 + // 显示下行树
  88 + $('#DowntreeMobal').show();
  89 + // 跟新树
  90 + StationTreeData.dwonreloadeTree(treeDateJson);
  91 + }else {
  92 + // 显示下行规划
  93 + $('#downToolsMobal').show();
  94 + // 隐藏下行树
  95 + $('#DowntreeMobal').hide();
  96 + }
  97 + }
  98 + });
  99 + },
  100 +
  101 + /** 修正线路名称 @param:<directionUpValue:方向(0:上行;1:下行)> */
  102 + lineNameIsHaveInterval : function(directionData) {
  103 + // 定义线路名称
  104 + var lineNameV = $('.portlet-title .caption').text();
  105 + // 线路名称是否为区间线路
  106 + if(lineNameV.indexOf('区间')>0){
  107 + // 截去区间
  108 + var lineNameNew = lineNameV.replace('区间','');
  109 + // 是否继续弹出层
  110 + layer.confirm('系统无法生成该线路【'+lineNameV+'】的站点与路段!自动修改为如下线路名称【'+lineNameNew+'】生成', {
  111 + btn : [ '确认提示并提交', '取消' ]
  112 + }, function(index) {
  113 + // 关闭弹出层
  114 + layer.close(index);
  115 + // 线路名称去掉区间
  116 + lineNameV = lineNameNew;
  117 + /** 保存 @param:<lineNameV:线路名称;directionData:方向(0:上行;1:下行)> */
  118 + PublicFunctions.systemLineStation(lineNameV,directionData);
  119 + },function(){
  120 + // 关闭弹出层
  121 + layer.closeAll();
43 122 // 上行
44   - if(diraction=='0'){
45   - // 获取上行选中节点
46   - array = $.jstree.reference("#station_Up_tree").get_selected(true);
  123 + if(directionData==0){
  124 + // 显示上行规划
  125 + $('#upToolsMobal').show();
47 126 // 下行
48   - }else if(diraction=='1'){
49   - // 获取下行选中节点
50   - array = $.jstree.reference("#station_Down_tree").get_selected(true);
  127 + }else if(directionData==1){
  128 + // 显示下行规划
  129 + $('#downToolsMobal').show();
51 130 }
52   - } catch (e) {
53   - console.log(e);
54   - }
55   - // 返回Obj
56   - return array;
57   - },
58   - /** @param id:线路ID ;directionData:方向 */
59   - resjtreeDate : function(id,directionData){
60   - // 获取树数据
61   - GetAjaxData.getStation(id,directionData,function(treeDateJson) {
62   - // 获取数据长度
63   - var len = treeDateJson[0].children[0].children.length;
  131 + });
  132 +
  133 + // 线路名称是否为定班线路
  134 + }else if(lineNameV.indexOf('定班')>0){
  135 + // 截去定班
  136 + var lineNameNew = lineNameV.replace('定班','');
  137 + // 是否继续弹出层
  138 + layer.confirm('系统无法生成该线路【'+lineNameV+'】的站点与路段!自动修改为如下线路名称【'+lineNameNew+'】生成', {
  139 + btn : [ '确认提示并提交', '取消' ]
  140 + }, function(index) {
  141 + // 关闭弹出层
  142 + layer.close(index);
  143 + // 线路名称去掉区间
  144 + lineNameV = lineNameNew;
  145 + /** 保存 @param:<lineNameV:线路名称;directionData:方向(0:上行;1:下行)> */
  146 + PublicFunctions.systemLineStation(lineNameV,directionData);
  147 + },function(){
  148 + // 关闭弹出层
  149 + layer.closeAll();
64 150 // 上行
65 151 if(directionData==0){
66   - // 长度大于零
67   - if(len>0) {
68   - // 隐藏上行规划
69   - $('#upToolsMobal').hide();
70   - // 显示树
71   - $('#uptreeMobal').show();
72   - // 刷新树
73   - StationTreeData.upreloadeTree(treeDateJson);
74   - }else {
75   - // 显示上行规划
76   - $('#upToolsMobal').show();
77   - // 隐藏上行树
78   - $('#uptreeMobal').hide();
79   - }
80   -
  152 + // 显示上行规划
  153 + $('#upToolsMobal').show();
81 154 // 下行
82 155 }else if(directionData==1){
83   - // 如果长度大于
84   - if(len>0) {
85   - // 隐藏下行规划
86   - $('#downToolsMobal').hide();
87   - // 显示下行树
88   - $('#DowntreeMobal').show();
89   - // 跟新树
90   - StationTreeData.dwonreloadeTree(treeDateJson);
91   - }else {
92   - // 显示下行规划
93   - $('#downToolsMobal').show();
94   - // 隐藏下行树
95   - $('#DowntreeMobal').hide();
96   - }
  156 + // 显示下行规划
  157 + $('#downToolsMobal').show();
97 158 }
98 159 });
99   - },
100   -
101   - /** 修正线路名称 @param:<directionUpValue:方向(0:上行;1:下行)> */
102   - lineNameIsHaveInterval : function(directionData) {
103   - // 定义线路名称
104   - var lineNameV = $('.portlet-title .caption').text();
105   - // 线路名称是否为区间线路
106   - if(lineNameV.indexOf('区间')>0){
107   - // 截去区间
108   - var lineNameNew = lineNameV.replace('区间','');
109   - // 是否继续弹出层
110   - layer.confirm('系统无法生成该线路【'+lineNameV+'】的站点与路段!自动修改为如下线路名称【'+lineNameNew+'】生成', {
111   - btn : [ '确认提示并提交', '取消' ]
112   - }, function(index) {
113   - // 关闭弹出层
114   - layer.close(index);
115   - // 线路名称去掉区间
116   - lineNameV = lineNameNew;
117   - /** 保存 @param:<lineNameV:线路名称;directionData:方向(0:上行;1:下行)> */
118   - PublicFunctions.systemLineStation(lineNameV,directionData);
119   - },function(){
120   - // 关闭弹出层
121   - layer.closeAll();
122   - // 上行
123   - if(directionData==0){
124   - // 显示上行规划
125   - $('#upToolsMobal').show();
126   - // 下行
127   - }else if(directionData==1){
128   - // 显示下行规划
129   - $('#downToolsMobal').show();
130   - }
  160 + }else {
  161 + /** 直接保存 @param:<lineNameV:线路名称;directionData:方向(0:上行;1:下行)> */
  162 + PublicFunctions.systemLineStation(lineNameV,directionData);
  163 + }
  164 +
  165 + },
  166 +
  167 + /** 直接保存 @param:<lineNameV:线路名称;directionData:方向(0:上行;1:下行)> */
  168 + systemLineStation : function(lineNameV,directionData) {
  169 + /** 从百度地图获取线路信息 @param:<lineNameV:线路名称;directionData:方向(0:上行;1:下行);callback>*/
  170 + WorldsBMap.lineInfoPanl(lineNameV,directionData,function(BusLine){
  171 + // 如果线路信息不为空
  172 + if(BusLine) {
  173 + // 获取公交线几何对象, 仅当结果自动添加到地图上时有效
  174 + var Polygon = BusLine.getPolyline();
  175 + // 返回多边型的点数组(自1.2新增)
  176 + var polyGonArray = Polygon.getPath();
  177 + // 获取公交站点个数(自 1.2 新增)
  178 + var stationNumber = BusLine.getNumBusStations();
  179 + // 定义线路信息集合
  180 + var stationInfo = [];
  181 + // 遍历
  182 + for(var k = 0 ; k < stationNumber; k++) {
  183 + // 定义线路信息集合
  184 + var tempM = {};
  185 + // 添加站点名称
  186 + tempM.name = BusLine.getBusStation(k).name;
  187 + // 添加站点坐标
  188 + tempM.potion = BusLine.getBusStation(k).position;
  189 + tempM.wgs = {x:'',y:''};
  190 + // 添加
  191 + stationInfo.push(tempM);
  192 + }
  193 + // 获取站点之间的距离与时间
  194 + WorldsBMap.getDistanceAndDuration(stationInfo,function(json) {
  195 + // 设置第一个站的距离
  196 + json[0].distance = '';
  197 + // 设置第一个站的时间
  198 + json[0].duration = '';
  199 + // 定义站点信息JSON字符串
  200 + var stationJSON = JSON.stringify(json);
  201 + // 定义路段信息字符串
  202 + var sectionJSON = JSON.stringify(polyGonArray);
  203 + // 参数集合
  204 + var params = {};
  205 + // 站点信息JSON字符串
  206 + params.stationJSON = stationJSON;
  207 + var addLine = LineObj.getLineObj();
  208 + // 线路ID
  209 + params.lineId = addLine.id;
  210 + // 方向
  211 + params.directions = directionData;
  212 + // 原始坐标类型
  213 + params.dbType = 'b';
  214 + // 圆形半径
  215 + params.radius = '100';
  216 + // 图形类型(r:圆形;p:多边形)
  217 + params.shapesType = 'r';
  218 + // destroy:是否撤销
  219 + params.destroy = '0';
  220 +
  221 + // 路段信息JSON字符串
  222 + params.sectionJSON = sectionJSON;
  223 + // 限速
  224 + params.speedLimit = '60';
  225 + params.baseRes = 'No';
  226 + // 获取版本号后提交添加
  227 + $.get('/lineVersions/findByLineId',{'lineId':addLine.id},function(lineVersions){
  228 + $.each(lineVersions,function(){
  229 + if (this.status == 1) {
  230 + // versions:版本号
  231 + params.versions = this.versions;
  232 + // 保存
  233 + GetAjaxData.collectionSave(params,function(rd) {
  234 + if(rd.status='SUCCESS') {
  235 + // 关闭弹出层
  236 + layer.closeAll();
  237 + layer.msg('保存成功!');
  238 + }else {
  239 + // 保存失败
  240 + layer.msg('保存失败!');
  241 + }
  242 + // 刷新树
  243 + PublicFunctions.resjtreeDate(addLine.id,directionData);
  244 + /** 查询上行路段信息 @param:<Line.id:线路Id;0:上行> @return:data:路段数据 */
  245 + GetAjaxData.getSectionRouteInfo(addLine.id,directionData,function(data) {
  246 + /** 在地图上画出线路走向 @param:<Line.id:线路Id;0:上行;data:路段数据> */
  247 + PublicFunctions.linePanlThree(addLine.id,data,directionData);
  248 + });
  249 + });
  250 + }
  251 + })
  252 + });
131 253 });
132   -
133   - // 线路名称是否为定班线路
134   - }else if(lineNameV.indexOf('定班')>0){
135   - // 截去定班
136   - var lineNameNew = lineNameV.replace('定班','');
137   - // 是否继续弹出层
138   - layer.confirm('系统无法生成该线路【'+lineNameV+'】的站点与路段!自动修改为如下线路名称【'+lineNameNew+'】生成', {
139   - btn : [ '确认提示并提交', '取消' ]
140   - }, function(index) {
141   - // 关闭弹出层
142   - layer.close(index);
143   - // 线路名称去掉区间
144   - lineNameV = lineNameNew;
145   - /** 保存 @param:<lineNameV:线路名称;directionData:方向(0:上行;1:下行)> */
146   - PublicFunctions.systemLineStation(lineNameV,directionData);
147   - },function(){
  254 + // 关闭弹出层
  255 + layer.closeAll();
  256 + // 上行
  257 + if(directionData==0){
  258 + $('#stationDown').removeClass('active');
  259 + $('#stationDown').removeClass('in');
  260 + $('#stationDown').addClass('fade');
  261 + $('#stationUp').addClass('active in');
  262 + $('#downLine').parent().removeClass('active');
  263 + $('#upLine').parent().addClass('active');
  264 + // 下行
  265 + }else if(directionData==1){
  266 + $('#stationUp').removeClass('active');
  267 + $('#stationUp').removeClass('in');
  268 + $('#stationUp').addClass('fade');
  269 + $('#stationDown').addClass('active in');
  270 + $('#upLine').parent().removeClass('active');
  271 + $('#downLine').parent().addClass('active');
  272 + }
  273 + } else {
  274 + layer.msg('百度地图中没有此线路,无法系统规划!');
  275 + setTimeout(function() {
148 276 // 关闭弹出层
149 277 layer.closeAll();
150 278 // 上行
151 279 if(directionData==0){
152 280 // 显示上行规划
153 281 $('#upToolsMobal').show();
154   - // 下行
  282 + // 下行
155 283 }else if(directionData==1){
156 284 // 显示下行规划
157 285 $('#downToolsMobal').show();
158 286 }
159   - });
160   - }else {
161   - /** 直接保存 @param:<lineNameV:线路名称;directionData:方向(0:上行;1:下行)> */
162   - PublicFunctions.systemLineStation(lineNameV,directionData);
  287 + }, 3000);
163 288 }
  289 + });
  290 + },
164 291  
165   - },
166   -
167   - /** 直接保存 @param:<lineNameV:线路名称;directionData:方向(0:上行;1:下行)> */
168   - systemLineStation : function(lineNameV,directionData) {
169   - /** 从百度地图获取线路信息 @param:<lineNameV:线路名称;directionData:方向(0:上行;1:下行);callback>*/
170   - WorldsBMap.lineInfoPanl(lineNameV,directionData,function(BusLine){
171   - // 如果线路信息不为空
172   - if(BusLine) {
173   - // 获取公交线几何对象, 仅当结果自动添加到地图上时有效
174   - var Polygon = BusLine.getPolyline();
175   - // 返回多边型的点数组(自1.2新增)
176   - var polyGonArray = Polygon.getPath();
177   - // 获取公交站点个数(自 1.2 新增)
178   - var stationNumber = BusLine.getNumBusStations();
179   - // 定义线路信息集合
180   - var stationInfo = [];
181   - // 遍历
182   - for(var k = 0 ; k < stationNumber; k++) {
183   - // 定义线路信息集合
184   - var tempM = {};
185   - // 添加站点名称
186   - tempM.name = BusLine.getBusStation(k).name;
187   - // 添加站点坐标
188   - tempM.potion = BusLine.getBusStation(k).position;
189   - tempM.wgs = {x:'',y:''};
190   - // 添加
191   - stationInfo.push(tempM);
192   - }
193   - // 获取站点之间的距离与时间
194   - WorldsBMap.getDistanceAndDuration(stationInfo,function(json) {
195   - // 设置第一个站的距离
196   - json[0].distance = '';
197   - // 设置第一个站的时间
198   - json[0].duration = '';
199   - // 定义站点信息JSON字符串
200   - var stationJSON = JSON.stringify(json);
201   - // 定义路段信息字符串
202   - var sectionJSON = JSON.stringify(polyGonArray);
203   - // 参数集合
204   - var params = {};
205   - // 站点信息JSON字符串
206   - params.stationJSON = stationJSON;
207   - var addLine = LineObj.getLineObj();
208   - // 线路ID
209   - params.lineId = addLine.id;
210   - // 方向
211   - params.directions = directionData;
212   - // 原始坐标类型
213   - params.dbType = 'b';
214   - // 圆形半径
215   - params.radius = '100';
216   - // 图形类型(r:圆形;p:多边形)
217   - params.shapesType = 'r';
218   - // destroy:是否撤销
219   - params.destroy = '0';
220   -
221   - // 路段信息JSON字符串
222   - params.sectionJSON = sectionJSON;
223   - // 限速
224   - params.speedLimit = '60';
225   - params.baseRes = 'No';
226   - // 获取版本号后提交添加
227   - $.get('/lineVersions/findByLineId',{'lineId':addLine.id},function(lineVersions){
228   - $.each(lineVersions,function(){
229   - if (this.status == 1) {
230   - // versions:版本号
231   - params.versions = this.versions;
232   - // 保存
233   - GetAjaxData.collectionSave(params,function(rd) {
234   - if(rd.status='SUCCESS') {
235   - // 关闭弹出层
236   - layer.closeAll();
237   - layer.msg('保存成功!');
238   - }else {
239   - // 保存失败
240   - layer.msg('保存失败!');
241   - }
242   - // 刷新树
243   - PublicFunctions.resjtreeDate(addLine.id,directionData);
244   - /** 查询上行路段信息 @param:<Line.id:线路Id;0:上行> @return:data:路段数据 */
245   - GetAjaxData.getSectionRouteInfo(addLine.id,directionData,function(data) {
246   - /** 在地图上画出线路走向 @param:<Line.id:线路Id;0:上行;data:路段数据> */
247   - PublicFunctions.linePanlThree(addLine.id,data,directionData);
248   - });
249   - });
250   - }
251   - })
252   - });
253   - });
254   - // 关闭弹出层
255   - layer.closeAll();
256   - // 上行
257   - if(directionData==0){
258   - $('#stationDown').removeClass('active');
259   - $('#stationDown').removeClass('in');
260   - $('#stationDown').addClass('fade');
261   - $('#stationUp').addClass('active in');
262   - $('#downLine').parent().removeClass('active');
263   - $('#upLine').parent().addClass('active');
264   - // 下行
265   - }else if(directionData==1){
266   - $('#stationUp').removeClass('active');
267   - $('#stationUp').removeClass('in');
268   - $('#stationUp').addClass('fade');
269   - $('#stationDown').addClass('active in');
270   - $('#upLine').parent().removeClass('active');
271   - $('#downLine').parent().addClass('active');
272   - }
273   - } else {
274   - layer.msg('百度地图中没有此线路,无法系统规划!');
275   - setTimeout(function() {
276   - // 关闭弹出层
277   - layer.closeAll();
278   - // 上行
279   - if(directionData==0){
280   - // 显示上行规划
281   - $('#upToolsMobal').show();
282   - // 下行
283   - }else if(directionData==1){
284   - // 显示下行规划
285   - $('#downToolsMobal').show();
286   - }
287   - }, 3000);
288   - }
289   - });
290   - },
291   -
292   - /** @param directionV_ :方向 */
293   - stationRevoke : function(directionV_) {
294   - // 获取树选中节点对象
295   - var obj = PublicFunctions.getCurrSelNode(directionV_);
296   - // 是否选中,选中节点是否为站点
297   - if(obj.length == 0 || obj[0].original.chaildredType !='station'){
298   - // 弹出提示层
299   - layer.msg('请先选择要删除的站点!');
300   - return;
301   - }
302   - // 弹出是否撤销提示框
303   - layer.confirm('你确定要撤销【'+obj[0].text+'】站点吗?', {btn : [ '确定撤销','返回' ],icon: 3, title:'提示' }, function(index){
304   - // 站点路由ID
305   - var stationRouteId = obj[0].original.stationRouteId;
306   - // 撤销参数集合
307   - var params = {stationRouteId:stationRouteId,destroy:'1'};
308   - // 方向
309   - var stationRouteDirections = obj[0].original.stationRouteDirections;
310   - // 撤销
311   - GetAjaxData.stationRouteIsDestroy(params,function(result) {
312   - // 关闭弹出框
313   - layer.close(index);
314   - if(result.status=='SUCCESS'){
315   - layer.msg('撤销'+(directionV_==0?"上行":"下行")+'站点【'+obj[0].text+'】成功!');
316   - }else{
317   - layer.msg('撤销'+(directionV_==0?"上行":"下行")+'站点【'+obj[0].text+'】失败!');
318   - }
319   - WorldsBMap.clearMarkAndOverlays();
320   - var Line = LineObj.getLineObj();
321   - // 刷行左边树
322   - PublicFunctions.resjtreeDate(Line.id,stationRouteDirections);
323   - /** 查询上行路段信息 @param:<Line.id:线路Id;0:上行> @return:data:路段数据 */
324   - GetAjaxData.getSectionRouteInfo(Line.id,stationRouteDirections,function(data) {
325   - /** 在地图上画出线路走向 @param:<Line.id:线路Id;0:上行;data:路段数据> */
326   - PublicFunctions.linePanlThree(Line.id,data,stationRouteDirections);
327   - });
  292 + /** @param directionV_ :方向 */
  293 + stationRevoke : function(directionV_) {
  294 + // 获取树选中节点对象
  295 + var obj = PublicFunctions.getCurrSelNode(directionV_);
  296 + // 是否选中,选中节点是否为站点
  297 + if(obj.length == 0 || obj[0].original.chaildredType !='station'){
  298 + // 弹出提示层
  299 + layer.msg('请先选择要删除的站点!');
  300 + return;
  301 + }
  302 + // 弹出是否撤销提示框
  303 + layer.confirm('你确定要撤销【'+obj[0].text+'】站点吗?', {btn : [ '确定撤销','返回' ],icon: 3, title:'提示' }, function(index){
  304 + // 站点路由ID
  305 + var stationRouteId = obj[0].original.stationRouteId;
  306 + // 撤销参数集合
  307 + var params = {stationRouteId:stationRouteId,destroy:'1'};
  308 + // 方向
  309 + var stationRouteDirections = obj[0].original.stationRouteDirections;
  310 + // 撤销
  311 + GetAjaxData.stationRouteIsDestroy(params,function(result) {
  312 + // 关闭弹出框
  313 + layer.close(index);
  314 + if(result.status=='SUCCESS'){
  315 + layer.msg('撤销'+(directionV_==0?"上行":"下行")+'站点【'+obj[0].text+'】成功!');
  316 + }else{
  317 + layer.msg('撤销'+(directionV_==0?"上行":"下行")+'站点【'+obj[0].text+'】失败!');
  318 + }
  319 + WorldsBMap.clearMarkAndOverlays();
  320 + var Line = LineObj.getLineObj();
  321 + // 刷行左边树
  322 + PublicFunctions.resjtreeDate(Line.id,stationRouteDirections);
  323 + /** 查询上行路段信息 @param:<Line.id:线路Id;0:上行> @return:data:路段数据 */
  324 + GetAjaxData.getSectionRouteInfo(Line.id,stationRouteDirections,function(data) {
  325 + /** 在地图上画出线路走向 @param:<Line.id:线路Id;0:上行;data:路段数据> */
  326 + PublicFunctions.linePanlThree(Line.id,data,stationRouteDirections);
328 327 });
329   - });
330   - },
  328 + });
  329 + });
  330 + },
331 331  
332   - /** @param direction_ :方向 */
333   - editLinePlan : function(direction_) {
334   - var sel = PublicFunctions.getCurrSelNode(direction_);
335   - if(sel.length==0 || sel[0].original.chaildredType !='section'){
336   - if(direction_=='0') {
337   - layer.msg('请先选中要编辑的上行路段!');
338   - }else if(direction_=='1') {
339   - layer.msg('请先选中要编辑的下行路段!');
340   - }
341   - return;
  332 + /** @param direction_ :方向 */
  333 + editLinePlan : function(direction_) {
  334 + var sel = PublicFunctions.getCurrSelNode(direction_);
  335 + if(sel.length==0 || sel[0].original.chaildredType !='section'){
  336 + if(direction_=='0') {
  337 + layer.msg('请先选中要编辑的上行路段!');
  338 + }else if(direction_=='1') {
  339 + layer.msg('请先选中要编辑的下行路段!');
  340 + }
  341 + return;
  342 + }
  343 + $('#downLine').addClass('btn disabled');
  344 + $('.btn-circle').addClass('disabled');
  345 + $('#upLine').addClass('btn disabled');
  346 + var editSectionV = sel[0].original;
  347 + EditSectionObj.setEitdSection(editSectionV);
  348 + // 弹出添加失败提示消息,2秒关闭(如果不配置,默认是3秒)
  349 + var yindex = layer.msg('编辑完线路走向后,请双击线路走向区域保存',{ offset: '126px',shift: 0,time: 10000});
  350 + WorldsBMap.editPolyUpline();
  351 + },
  352 +
  353 + setFormValue : function(editStationParmas) {
  354 + // 站点ID
  355 + $('#stationIdInput').val(editStationParmas.stationId);
  356 + // 站点路由ID
  357 + $('#stationRouteIdInput').val(editStationParmas.stationRouteId);
  358 + // 站点路由线路Id
  359 + $('#stationRouteLineInput').val(editStationParmas.stationRouteLine);
  360 + // 线路编码
  361 + $('#lineCodeInput').val(editStationParmas.stationRouteLIneCode);
  362 + // 百度坐标点图形集合
  363 + $('#bPolygonGridInput').val(editStationParmas.stationBPolygonGrid);
  364 + // 获取站点名称元素设值
  365 + $('#zdmcInput').val(editStationParmas.stationStationName);
  366 + // 获取站点路由名称元素设值
  367 + $('#stationNameInput').val(editStationParmas.stationStationName);
  368 + // 获取站点编码元素设值
  369 + $('#stationCodInput').val(editStationParmas.stationCode);
  370 + // 获取站点类型元素设值
  371 + // $('#stationMarkSelect').val(editStationParmas.stationRouteStationMark);
  372 + // 获取站点方向元素设值
  373 + $('#stationdirSelect').val(editStationParmas.stationRoutedirections);
  374 + // 获取站点道路编码元素设值
  375 + $('#roadCodingCodInput').val(editStationParmas.stationRoadCoding);
  376 + // 百度地图经纬度坐标中心点
  377 + $('#bJwpointsInput').val(editStationParmas.stationJwpoints);
  378 + if(editStationParmas.stationShapesType=='r') {
  379 + // 获取图形类型元素,并添加值
  380 + $('#shapesTypeSelect').val('圆形');
  381 + }else if(editStationParmas.stationShapesType=='d'){
  382 + $('#radiusGroup').hide();
  383 + $('#shapesTypeSelect').val('多边形');
  384 + }
  385 + // 获取半径元素,并添加值
  386 + $('#radiusInput').val(editStationParmas.stationRadius);
  387 + // 是否撤销
  388 + $('#destroySelect').val(editStationParmas.stationDestroy);
  389 + // 到站时间
  390 + $('#toTimeInput').val(editStationParmas.stationRouteToTime);
  391 + // 到站距离
  392 + $('#distancesInput').val(editStationParmas.stationRouteDistances);
  393 + // 线路版本号
  394 + $('#versionsInput').val(editStationParmas.stationRouteVersions);
  395 + // 描述/说明
  396 + $('#descriptionsTextarea').val(editStationParmas.sttationDescriptions);
  397 + },
  398 +
  399 + setSectionFormValue : function(Section) {
  400 + $('#isRoadeSpeedInput').val(Section.isRoadeSpeed);
  401 + // 路段ID
  402 + $('#sectionIdInput').val(Section.sectionId);
  403 + // 路段路由ID
  404 + $('#sectionRouteIdInput').val(Section.sectionrouteId);
  405 + // 线路ID
  406 + $('#sectionRouteLineInput').val(Section.sectionrouteLine);
  407 + // 线路编码
  408 + $('#lineCodeInput').val(Section.sectionrouteLineCode);
  409 + // 折线坐标集合
  410 + $('#bsectionVectorInput').val(Section.sectionBsectionVector);
  411 + // 路段名称
  412 + $('#sectionNameInput').val(Section.sectionName);
  413 + // 路段编码
  414 + $('#sectionCodeInput').val(Section.sectionCode);
  415 + // 路段序号
  416 + $('#sectionrouteCodeSelect').val(Section.sectionrouteCode);
  417 + // 路段方向
  418 + $('#directionsSection').val(Section.sectionrouteDirections);
  419 + // 道路编码
  420 + $('#roadCodingCodInput').val(Section.sectionRoadCoding);
  421 + // 道路限速
  422 + $('#speedLimitInput').val(Section.sectionSpeedLimet);
  423 + // 路段长度
  424 + $('#sectionDistanceInput').val(Section.sectionDistance);
  425 + // 时长
  426 + $('#sectionTimeInput').val(Section.sectionTime);
  427 + // 版本号
  428 + $('#versionsInput').val(Section.versions);
  429 + },
  430 +
  431 + //lineId,data,direction
  432 + treeSectionClick: function(lineId,data,direction){
  433 + /** 获取站点路由信息 @param:<Line.id:线路Id;0:上行> @return:<resultdata:站点路由数据> */
  434 + WorldsBMap.clearMarkAndOverlays();
  435 + // 编辑路段数据
  436 + for(var d= 0; d<data.length;d++){
  437 + // 地图折线坐标点集合
  438 + var polylineArray = [];
  439 + // 获取路段折线坐标字符串
  440 + var sectionBsectionVectorStr = data[d].sectionBsectionVector;
  441 + if(sectionBsectionVectorStr==null) {
  442 + continue;
342 443 }
343   - $('#downLine').addClass('btn disabled');
344   - $('.btn-circle').addClass('disabled');
345   - $('#upLine').addClass('btn disabled');
346   - var editSectionV = sel[0].original;
347   - EditSectionObj.setEitdSection(editSectionV);
348   - // 弹出添加失败提示消息,2秒关闭(如果不配置,默认是3秒)
349   - var yindex = layer.msg('编辑完线路走向后,请双击线路走向区域保存',{ offset: '126px',shift: 0,time: 10000});
350   - WorldsBMap.editPolyUpline();
351   - },
352   -
353   - setFormValue : function(editStationParmas) {
354   - // 站点ID
355   - $('#stationIdInput').val(editStationParmas.stationId);
356   - // 站点路由ID
357   - $('#stationRouteIdInput').val(editStationParmas.stationRouteId);
358   - // 站点路由线路Id
359   - $('#stationRouteLineInput').val(editStationParmas.stationRouteLine);
360   - // 线路编码
361   - $('#lineCodeInput').val(editStationParmas.stationRouteLineCode);
362   - // 百度坐标点图形集合
363   - $('#bPolygonGridInput').val(editStationParmas.stationBPolygonGrid);
364   - // 获取站点名称元素设值
365   - $('#zdmcInput').val(editStationParmas.stationStationName);
366   - // 获取站点路由名称元素设值
367   - $('#stationNameInput').val(editStationParmas.stationRouteStationName);
368   - // 获取站点编码元素设值
369   - $('#stationCodInput').val(editStationParmas.stationStationCod);
370   - // 获取站点类型元素设值
371   - // $('#stationMarkSelect').val(editStationParmas.stationRouteStationMark);
372   - // 获取站点方向元素设值
373   - $('#stationdirSelect').val(editStationParmas.stationRouteDirections);
374   - // 获取站点道路编码元素设值
375   - $('#roadCodingCodInput').val(editStationParmas.stationRoadCoding);
376   - // 百度地图经纬度坐标中心点
377   - $('#bJwpointsInput').val(editStationParmas.stationBJwpoints);
378   - if(editStationParmas.stationShapesType=='r') {
379   - // 获取图形类型元素,并添加值
380   - $('#shapesTypeSelect').val('圆形');
381   - }else if(editStationParmas.stationShapesType=='d'){
382   - $('#radiusGroup').hide();
383   - $('#shapesTypeSelect').val('多边形');
  444 + // 切割段折线坐标字符串
  445 + var tempStr = sectionBsectionVectorStr.substring(11,sectionBsectionVectorStr.length-1);
  446 + // 分割折线坐标字符串
  447 + var lineArray = tempStr.split(',');
  448 + for(var i = 0;i<lineArray.length;i++) {
  449 + polylineArray.push(new BMap.Point(lineArray[i].split(' ')[0],lineArray[i].split(' ')[1]));
384 450 }
385   - // 获取半径元素,并添加值
386   - $('#radiusInput').val(editStationParmas.stationRadius);
387   - // 是否撤销
388   - $('#destroySelect').val(editStationParmas.stationDestroy);
389   - // 到站时间
390   - $('#toTimeInput').val(editStationParmas.stationRouteToTime);
391   - // 到站距离
392   - $('#distancesInput').val(editStationParmas.stationRouteDistances);
393   - // 线路版本号
394   - $('#versionsInput').val(editStationParmas.stationRouteVersions);
395   - // 描述/说明
396   - $('#descriptionsTextarea').val(editStationParmas.stationRouteDescriptions);
397   - },
398   -
399   - setSectionFormValue : function(Section) {
400   - $('#isRoadeSpeedInput').val(Section.isRoadeSpeed);
401   - // 路段ID
402   - $('#sectionIdInput').val(Section.sectionId);
403   - // 路段路由ID
404   - $('#sectionRouteIdInput').val(Section.sectionrouteId);
405   - // 线路ID
406   - $('#sectionRouteLineInput').val(Section.sectionrouteLine);
407   - // 线路编码
408   - $('#lineCodeInput').val(Section.sectionrouteLineCode);
409   - // 折线坐标集合
410   - $('#bsectionVectorInput').val(Section.sectionBsectionVector);
411   - // 路段名称
412   - $('#sectionNameInput').val(Section.sectionName);
413   - // 路段编码
414   - $('#sectionCodeInput').val(Section.sectionCode);
415   - // 路段序号
416   - $('#sectionrouteCodeSelect').val(Section.sectionrouteCode);
417   - // 路段方向
418   - $('#directionsSection').val(Section.sectionrouteDirections);
419   - // 道路编码
420   - $('#roadCodingCodInput').val(Section.sectionRoadCoding);
421   - // 道路限速
422   - $('#speedLimitInput').val(Section.sectionSpeedLimet);
423   - // 路段长度
424   - $('#sectionDistanceInput').val(Section.sectionDistance);
425   - // 时长
426   - $('#sectionTimeInput').val(Section.sectionTime);
427   - // 版本号
428   - $('#versionsInput').val(Section.versions);
429   - // 是否撤销
430   - $('#destroySelect').val(Section.destroy);
431   - // 描述/说明
432   - $('#descriptionsTextarea').val(Section.descriptions);
433   - },
434   -
435   - //lineId,data,direction
436   - treeSectionClick: function(lineId,data,direction){
437   - /** 获取站点路由信息 @param:<Line.id:线路Id;0:上行> @return:<resultdata:站点路由数据> */
  451 + var index = parseInt(polylineArray.length/2);
  452 + var center = polylineArray[index];
  453 + /** 在地图上画出线路走向 @param:<polylineArray:地图折线坐标点集合;resultdata:站点路由数据> */
  454 + WorldsBMap.drawingUpline(polylineArray,center);
  455 + /** 在地图上画点 @param:<point_center:中心坐标点> */
  456 + WorldsBMap.drawingUpStationPoint(data[d], d+1);
  457 + }
  458 + },
  459 +
  460 + /** 在地图上画出线路走向 @param:<Line.id:线路Id;0:上行;data:路段数据> */
  461 + linePanlThree : function(lineId,data,direction) {
  462 + /** 获取站点路由信息 @param:<Line.id:线路Id;0:上行> @return:<resultdata:站点路由数据> */
  463 + GetAjaxData.getStationRoutePoint(lineId,direction,function(resultdata) {
438 464 WorldsBMap.clearMarkAndOverlays();
439   - // 编辑路段数据
440   - for(var d= 0; d<data.length;d++){
441   - // 地图折线坐标点集合
442   - var polylineArray = [];
443   - // 获取路段折线坐标字符串
444   - var sectionBsectionVectorStr = data[d].sectionBsectionVector;
445   - if(sectionBsectionVectorStr==null) {
446   - continue;
447   - }
448   - // 切割段折线坐标字符串
449   - var tempStr = sectionBsectionVectorStr.substring(11,sectionBsectionVectorStr.length-1);
450   - // 分割折线坐标字符串
451   - var lineArray = tempStr.split(',');
452   - for(var i = 0;i<lineArray.length;i++) {
453   - polylineArray.push(new BMap.Point(lineArray[i].split(' ')[0],lineArray[i].split(' ')[1]));
  465 + var polyline_center;
  466 + // 如果站点路由数据不为空
  467 + if(resultdata.length>0) {
  468 + var ceter_index = Math.round(resultdata.length / 2);
  469 + var ceterPointsStr = resultdata[ceter_index].stationJwpoints;
  470 + var ceterPointsArray = ceterPointsStr.split(' ');
  471 + polyline_center = new BMap.Point(ceterPointsArray[0],ceterPointsArray[1]);
  472 + // 遍历站点路由数据
  473 + for(var s = 0 ; s<resultdata.length;s++) {
  474 + WorldsBMap.drawingUpStationPoint(resultdata[s], s+1);
454 475 }
455   - var index = parseInt(polylineArray.length/2);
456   - var center = polylineArray[index];
457   - /** 在地图上画出线路走向 @param:<polylineArray:地图折线坐标点集合;resultdata:站点路由数据> */
458   - WorldsBMap.drawingUpline(polylineArray,center);
459   - /** 在地图上画点 @param:<point_center:中心坐标点> */
460   - WorldsBMap.drawingUpStationPoint(center,data[d].name,d+1);
  476 +
461 477 }
462   - },
463   -
464   - /** 在地图上画出线路走向 @param:<Line.id:线路Id;0:上行;data:路段数据> */
465   - linePanlThree : function(lineId,data,direction) {
466   - /** 获取站点路由信息 @param:<Line.id:线路Id;0:上行> @return:<resultdata:站点路由数据> */
467   - GetAjaxData.getStationRoutePoint(lineId,direction,function(resultdata) {
468   - WorldsBMap.clearMarkAndOverlays();
469   - var polyline_center;
470   - // 如果站点路由数据不为空
471   - if(resultdata.length>0) {
472   - var ceter_index = Math.round(resultdata.length / 2);
473   - var ceterPointsStr = resultdata[ceter_index].bJwpoints;
474   - var ceterPointsArray = ceterPointsStr.split(' ');
475   - polyline_center = new BMap.Point(ceterPointsArray[0],ceterPointsArray[1]);
476   - // 遍历站点路由数据
477   - for(var s = 0 ; s<resultdata.length;s++) {
478   - // 中心点坐标字符串
479   - var bJwpointsStr = resultdata[s].bJwpoints;
480   - var stationName = resultdata[s].stationName;
481   - // 起个中心点坐标字符串
482   - var bJwpointsArray = bJwpointsStr.split(' ');
483   - // 设置中心点
484   - var point_center = new BMap.Point(bJwpointsArray[0],bJwpointsArray[1]);
485   - /** 在地图上画点 @param:<point_center:中心坐标点> */
486   - WorldsBMap.drawingUpStationPoint(point_center,stationName,s+1);
487   - }
488   -
489   - }
490   - // 路段数据长度
491   - var dataLen = data.length;
492   - // 如果大于零
493   - if(dataLen>0) {
494   - // 编辑路段数据
495   - for(var d= 0; d<dataLen;d++){
496   - // 地图折线坐标点集合
497   - var polylineArray = [];
498   - // 获取路段折线坐标字符串
499   - var sectionBsectionVectorStr = data[d].sectionBsectionVector;
500   - if(sectionBsectionVectorStr==null)
501   - continue;
502   - // 切割段折线坐标字符串
503   - var tempStr = sectionBsectionVectorStr.substring(11,sectionBsectionVectorStr.length-1);
504   - // 分割折线坐标字符串
505   - var lineArray = tempStr.split(',');
506   - for(var i = 0;i<lineArray.length;i++) {
507   - polylineArray.push(new BMap.Point(lineArray[i].split(' ')[0],lineArray[i].split(' ')[1]));
508   - }
509   - /** 在地图上画出线路走向 @param:<polylineArray:地图折线坐标点集合;resultdata:站点路由数据> */
510   - /*WorldsBMap.drawingUpline(polylineArray,polyline_center,data[d]);*/
511   - WorldsBMap.drawingUpline01(polylineArray,polyline_center,data[d]);
512   - }
  478 + // 路段数据长度
  479 + var dataLen = data.length;
  480 + // 如果大于零
  481 + if(dataLen>0) {
  482 + WorldsBMap.drawingUpline01(polyline_center,data);
  483 + }
  484 + });
  485 + },
  486 + /** 加载树 @param:<lineId:线路ID;diraction:方向(0:上行;1:下行)> */
  487 + TreeUpOrDown : function(lineId,diraction) {
  488 + /** 获取树结果数据 @param:<lineId:线路ID;diraction:方向;callback:回调函数> */
  489 + GetAjaxData.getStation(lineId,diraction,function(treeDateJson) {
  490 + // 获取返回数据长度
  491 + var len = treeDateJson[0].children[0].children.length;
  492 + // 上行
  493 + if(diraction == 0) {
  494 + /** 初始化上行树 @param:<treeDateJson:树数据结构> */
  495 + StationTreeData.upInit(treeDateJson);
  496 + if(len>0) {
  497 + $('#upToolsMobal').hide();
  498 + $('#uptreeMobal').show();
  499 + }else {
  500 + $('#upToolsMobal').show();
  501 + $('#uptreeMobal').hide();
513 502 }
514   - });
515   - },
516   - /** 加载树 @param:<lineId:线路ID;diraction:方向(0:上行;1:下行)> */
517   - TreeUpOrDown : function(lineId,diraction) {
518   - /** 获取树结果数据 @param:<lineId:线路ID;diraction:方向;callback:回调函数> */
519   - GetAjaxData.getStation(lineId,diraction,function(treeDateJson) {
520   - // 获取返回数据长度
521   - var len = treeDateJson[0].children[0].children.length;
522   - // 上行
523   - if(diraction == 0) {
524   - /** 初始化上行树 @param:<treeDateJson:树数据结构> */
525   - StationTreeData.upInit(treeDateJson);
526   - if(len>0) {
527   - $('#upToolsMobal').hide();
528   - $('#uptreeMobal').show();
529   - }else {
530   - $('#upToolsMobal').show();
531   - $('#uptreeMobal').hide();
532   - }
533   - // 下行
534   - }else if(diraction ==1) {
535   - /** 出事画下行树 @param:<treeDateJson:树数据结构> */
536   - StationTreeData.downInit(treeDateJson);
537   - if(len>0) {
538   - $('#downToolsMobal').hide();
539   - $('#DowntreeMobal').show();
540   - }else {
541   - $('#downToolsMobal').show();
542   - $('#DowntreeMobal').hide();
543   - }
  503 + // 下行
  504 + }else if(diraction ==1) {
  505 + /** 出事画下行树 @param:<treeDateJson:树数据结构> */
  506 + StationTreeData.downInit(treeDateJson);
  507 + if(len>0) {
  508 + $('#downToolsMobal').hide();
  509 + $('#DowntreeMobal').show();
  510 + }else {
  511 + $('#downToolsMobal').show();
  512 + $('#DowntreeMobal').hide();
544 513 }
545   - });
546   - },
547   - isHaveStationName : function(data) {
548   - if(data.length>0) {
549   - layer.confirm('系统已存在【'+ data[0].stationName +'】该站点位置名称,请选择【系统引用】或者更改站点名称进行新增!', {btn : [ '返回' ],icon: 3, title:'提示' }, function(index){
550   - layer.close(index);
551   - });
552   - return false;
553   - }else {
554   - return true;
555 514 }
556   - },
557   - editAChangeCssRemoveDisabled : function() {
558   - $('#downLine').removeClass('btn disabled');
559   - $('.btn-circle').removeClass('disabled');
560   - $('#upLine').removeClass('btn disabled');
561   - },
562   - // 方向代码转名称.
563   - dirdmToName : function(value){
564   - var srStr = '';
565   - if(value=='0')
566   - srStr = '上行';
567   - else if(value=='1')
568   - srStr = '下行';
569   - return srStr;
570   - },
  515 + });
  516 + },
  517 + isHaveStationName : function(data) {
  518 + if(data.length>0) {
  519 + layer.confirm('系统已存在【'+ data[0].stationName +'】该站点位置名称,请选择【系统引用】或者更改站点名称进行新增!', {btn : [ '返回' ],icon: 3, title:'提示' }, function(index){
  520 + layer.close(index);
  521 + });
  522 + return false;
  523 + }else {
  524 + return true;
  525 + }
  526 + },
  527 + // 地图处于编辑状态
  528 + editMapStatus : function () {
  529 + WorldsBMap.setMap_status(1);
  530 + $('.protlet-box-layer').show();
  531 + },
  532 + // 地图处于编辑状态
  533 + editMapStatusRemove : function () {
  534 + WorldsBMap.setMap_status(0);
  535 + $('.protlet-box-layer').hide();
  536 + },
  537 + // 选项鎖死解除
  538 + editAChangeCssRemoveDisabled : function() {
  539 + $('#downLine').removeClass('btn disabled');
  540 + $('.btn-circle').removeClass('disabled');
  541 + $('#upLine').removeClass('btn disabled');
  542 + },
  543 + // 方向代码转名称.
  544 + dirdmToName : function(value){
  545 + var srStr = '';
  546 + if(value=='0')
  547 + srStr = '上行';
  548 + else if(value=='1')
  549 + srStr = '下行';
  550 + return srStr;
  551 + },
571 552 }
572 553 return PubFun ;
573 554 }();
574 555 \ No newline at end of file
... ...
src/main/resources/static/pages/base/stationroute/js/stationroute-list-map.js
1 1 /**
2 2 * 百度地图
3   - *
  3 + *
4 4 * - - - - - -》init:地图初始化
5   - *
  5 + *
6 6 * - - - - - -》lineInfoPanl:从百度地图抓去站点与路段数据
7   - *
  7 + *
8 8 * - - - - - -》getDistanceAndDuration:获取距离与时间
9   - *
  9 + *
10 10 * - - - - - -》pointsPolygon:地图画多边行
11   - *
  11 + *
12 12 * - - - - - -》pointsCircle:画圆
13   - *
  13 + *
14 14 * - - - - - -》localSearchFromAdreesToPoint:根据地理名称获取百度经纬度坐标
15   - *
  15 + *
16 16 * - - - - - -》drawingUpline:在地图上画出上行线路走向
17   - *
  17 + *
18 18 * - - - - - -》stationsNameToPoints:站点名称获取百度坐标(手动规划)
19   - *
  19 + *
20 20 * - - - - - -》getDistanceAndTotime:根据坐标点获取两点之间的时间与距离(手动规划)
21   - *
  21 + *
22 22 * - - - - - -》getSectionListPlonly:根据坐标点获取两点之间的折线路段(手动规划)
23 23 */
24 24  
25 25 window.WorldsBMap = function () {
26   -
27   - /** WorldsBMap 全局变量定义 mapBValue:地图对象;polygon:多边形;polyUpline:走向折线;circle:圆 */
28   - var mapBValue = '';polygon='',polyUpline='',circle='',iseditStatus = false;
29   -
30   - var Bmap = {
31   -
32   - init : function() {
33   -
34   - // 设置中心点,
35   - var CENTER_POINT = {lng : 121.528733,lat : 31.237425};
36   -
37   - // 百度API Key
38   - var bdKey = 'IGGrr4UjwIYzatoCRFKEL8sT';
39   -
40   - // 初始化百度地图
41   - mapBValue = new BMap.Map("bmap_basic");
42   -
43   - //中心点和缩放级别
44   - mapBValue.centerAndZoom(new BMap.Point(CENTER_POINT.lng,CENTER_POINT.lat), 15);
45   -
46   - //启用地图拖拽事件,默认启用(可不写)
47   - mapBValue.enableDragging();
48   -
49   - //启用地图滚轮放大缩小
50   - mapBValue.enableScrollWheelZoom();
51   -
52   - //禁用鼠标双击放大
53   - mapBValue.disableDoubleClickZoom();
54   -
55   - //启用键盘上下左右键移动地图
56   - mapBValue.enableKeyboard();
57   -
58   - return mapBValue;
59   - },
60   -
61   - /** 获取地图对象 @return 地图对象map */
62   - getmapBValue : function() {
63   -
64   - return mapBValue;
65   -
66   - },
67   -
68   - getPolygon : function(){
69   -
70   - return polygon;
71   - },
72   -
73   - getPolyUpline : function() {
74   -
75   - return polyUpline;
76   - },
77   -
78   - getCircle : function() {
79   -
80   - return circle;
81   - },
82   -
83   - getIsEditStatus : function() {
84   - return iseditStatus;
85   - },
86   -
87   - setIsEditStatus : function(v) {
88   - iseditStatus = v ;
89   - },
90   -
91   - initDrawingManager: function(map,styleOptions) {
92   -
93   - },
94   -
95   - getDrawingManagerObj : function() {
96   -
97   - return drawingManagerInitV;
98   - },
99   -
100   - // 从百度地图抓去站点与路段数据
101   - lineInfoPanl : function(lineNameValue,i,cb) {
102   -
103   - /** 根据线路名称与方向从百度地图获取站点与路段 @param lineNameValue:线路名称;i:方向<0:上行;1:下行> */
104   - WorldsBMap.getBmapStationNames(lineNameValue,i,function(BusLine){
105   -
106   - return cb && cb(BusLine);
107   -
108   - });
109   -
110   - },
111   -
112   - /** 获取距离与时间 @param <points:坐标点集合> */
113   - getDistanceAndDuration : function(points,callback){
114   -
115   - // 获取长度
116   - var len = points.length;
117   -
118   - (function(){
119   -
120   - if (!arguments.callee.count) {
121   -
122   - arguments.callee.count = 0;
123   -
124   - }
125   -
126   - arguments.callee.count++;
127   -
128   - var index = parseInt(arguments.callee.count) - 1;
129   -
130   - if (index >= len-1) {
131   -
132   - callback && callback(points);
133   -
134   - return;
135   - }
136   -
137   - // 当函数被调用时,它的arguments.callee对象就会指向自身,也就是一个对自己的引用。(当前正在执行的函数。)
138   - var f = arguments.callee;
139   -
140   - // 起点坐标 <坐标格式:40.056878,116.30815>
141   - var origin = points[index].potion.lat + ',' + points[index].potion.lng;
142   -
143   - // 终点坐标 <坐标格式:40.056878,116.30815>
144   - var destination = points[index+1].potion.lat + ',' + points[index+1].potion.lng;
145   -
146   - var region = '上海';
147   -
148   - var origin_region = '上海';
149   -
150   - var destination_region = '上海';
151   -
152   - var output = 'json';
153   -
154   - var ak_My = 'wjlITmXeCek5MxyU3ZUBkTeU8B0o0npk';
155   -
156   - /**
157   - * origin:起点名称或经纬度;
158   - *
159   - * destination:终点名称或经纬度;
160   - *
161   - * origin_region:起始点所在城市,驾车导航时必填。
162   - *
163   - * destination_region:终点所在城市,驾车导航时必填。
164   - *
165   - * output :表示输出类型,可设置为xml或json,默认为xml。
166   - *
167   - **/
168   - var paramsB = {origin:origin,destination:destination,region:region,origin_region:origin_region,destination_region:destination_region,output:output,ak:ak_My};
169   -
170   - /** @description :未认证开发者默认配额为:2000次/天。 */
171   - $.ajax({
172   -
173   - // 百度地图根据坐标获取两点之间的时间与距离
174   - url: 'http://api.map.baidu.com/direction/v1?mode=transit',
175   -
176   - data: paramsB,
177   -
178   - dataType: 'jsonp',
179   -
180   - success: function(r){
181   -
182   - if(r) {
183   -
184   - if(r.message=='ok') {
185   -
186   - if(r.result.taxi==null) {
187   -
188   - // 获取距离(单位:米)
189   - points[index+1].distance = 0;
190   -
191   - // 获取时间(单位:秒)
192   - points[index+1].duration = 0;
193   -
194   - }else {
195   -
196   - // 获取距离(单位:米)
197   - points[index+1].distance = r.result.taxi.distance;
198   -
199   - // 获取时间(单位:秒)
200   - points[index+1].duration = r.result.taxi.duration;
201   -
202   - }
203   -
204   -
205   - }
206   -
207   - }
208   -
209   - f();
210   - }
211   - });
212   -
213   - })();
214   -
215   - },
216   -
217   - // 地图画多边形
218   - pointsPolygon : function(objStation) {
219   -
220   - // 将视图切换到指定的缩放等级,中心点坐标不变。注意:当有信息窗口在地图上打开时,地图缩放将保证信息窗口所在的坐标位置不动。(自1.2新增)
221   - mapBValue.setZoom(15);
222   -
223   - // 如果不为空
224   - if(objStation) {
225   - // 获取中心点坐标字符串
226   - var testpointStr = objStation.stationBJwpoints;
227   - // 按空格切割中心点坐标字符串
228   - var BJwpointsPolygon = testpointStr.split(' ');
229   - // 中心点坐标
230   - var pointPolygon = new BMap.Point(BJwpointsPolygon[0], BJwpointsPolygon[1]);
231   - // 获取多边形坐标字符串
232   - var stationBPolygonGrid = objStation.stationBPolygonGrid;
233   - // 截取多边形坐标字符串
234   - var stationBPolygonGridStr = stationBPolygonGrid.substring(9,stationBPolygonGrid.length-2);
235   - // 按逗号切割
236   - var pointPolygonArray = stationBPolygonGridStr.split(',');
237   - // 多边形坐标集合
238   - var polygonP = [];
239   - for(var v = 0;v<pointPolygonArray.length;v++) {
240   - polygonP.push(new BMap.Point(pointPolygonArray[v].split(" ")[0],pointPolygonArray[v].split(" ")[1]));
241   - }
242   -
243   - // 画多边形
244   - polygon = new BMap.Polygon(polygonP, {
245   - // 线条显色
246   - strokeColor : "blue",
247   - // 边线的宽度,以像素为单位。
248   - strokeWeight : 2,
249   - // 边线透明度,取值范围0 - 1。
250   - strokeOpacity : 0.5
251   - });
252   -
253   - // 增加地图覆盖物多边形
254   - mapBValue.addOverlay(polygon);
255   -
256   - // 信息窗口属性
257   - var opts_polygon = {
258   - // 信息窗口宽度
259   - width : 200,
260   - // 信息窗口高度
261   - height : 300,
262   - // 信息窗位置偏移值。
263   - // offset: new BMap.Size(500,20),
264   - //标题
265   - // title : '<h4 style="color:#FFFFFF">'+objStation.stationStationName+'站详情</h4>',
266   - //设置不允许信窗发送短息
267   - enableMessage : false,
268   - //是否开启点击地图关闭信息窗口
269   - enableCloseOnClick : false
270   - };
271   -
272   - var markTypeStr = '';
273   - if(objStation.stationRouteStationMark=='B') {
274   - markTypeStr='起点站';
275   - }else if(objStation.stationRouteStationMark=='Z') {
276   - markTypeStr ='中途站';
277   - }else if(objStation.stationRouteStationMark=='E') {
278   - markTypeStr='终点站';
279   - }
280   - var point = objStation.stationBJwpoints.split(" ")
281   - var htm = '<span style="color: #ff8355;font-size: 20px;">' + objStation.stationStationName + '</span>' +
282   - '<span class="help-block" >站点编码:' + objStation.stationStationCod + '</span>' +
283   - '<span class="help-block" >站点序号:' + objStation.stationRouteStationRouteCode + '</span>' +
284   - '<span class="help-block" >站点类型:' + markTypeStr + '</span>' +
285   - '<span class="help-block" >经度:&nbsp&nbsp' + point[0] + '</span>' +
286   - '<span class="help-block" >纬度:&nbsp&nbsp' + point[1] + '</span>' +
287   - '<span class="help-block" >到站时间:' + objStation.stationRouteToTime + '&nbsp;分钟</span>' +
288   - '<span class="help-block" >到站距离:' + objStation.stationRouteDistances + '&nbsp;公里</span>' +
289   - '<span class="help-block" >缓冲区形状:' + (objStation.stationShapesType == "r"?"圆形":"多边形") + '</span>' +
290   - '<span class="help-block" >版本号:&nbsp&nbsp' + objStation.stationRouteVersions + '</span>' +
291   - '<div style="">' +
292   - '<button style="float:left; background: #ff8355; color: #fff; padding-bottom:5px; font-size: 9px;" class="btn " ' +
293   - 'id="editStation" onclick="WorldsBMap.editStation('+objStation.stationRouteDirections+')">修改站点</button>' +
294   - '<button style="float:right; background: #ff8355; color: #fff; padding-bottom:5px; font-size: 9px;" class="btn " ' +
295   - 'id="addBetweenStationRoad" onclick="WorldsBMap.addBetweenStationRoad('+objStation.stationRouteId+')">添加站点间路段</button>' +
296   - '</div>';
297   -
298   - // 创建信息窗口
299   - var infoWindow_target = new BMap.InfoWindow(htm, opts_polygon);
300   - // 自定义标注物图片
301   - var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/cz.png',new BMap.Size(20, 20));
302   - // 创建点
303   - marker = new BMap.Marker(pointPolygon,{icon : icon_target});
304   - // 把标注添物加到地图上
305   - mapBValue.addOverlay(marker);
306   - // 是否在平移过程中禁止动画。(自1.2新增)
307   - var PanOptions_ ={noAnimation :true};
308   - // 将地图的中心点更改为给定的点。
309   - mapBValue.panTo(pointPolygon,PanOptions_);
310   - // 将地图在水平位置上移动x像素,垂直位置上移动y像素。
311   - mapBValue.panBy(10,-150,PanOptions_);
312   - //开启信息窗口
313   - mapBValue.openInfoWindow(infoWindow_target,pointPolygon);
314   - }
315   -
316   - },
317   -
318   - editPolyUpline : function() {
319   - // 禁止覆盖物在map.clearOverlays方法中被清除。(自 1.1 新增)
320   - polyUpline.disableMassClear();
321   - WorldsBMap.clearMarkAndOverlays();
322   - // 允许覆盖物在map.clearOverlays方法中被清除。(自 1.1 新增)
323   - polyUpline.enableMassClear();
324   - // 开启线路编辑
325   - polyUpline.enableEditing();
326   - // 添加双击折线保存事件
327   - polyUpline.addEventListener('dblclick',function(e) {
328   - // 关闭
329   - layer.closeAll();
330   - polyUpline.disableEditing();
331   - // 获取折线坐标集合
332   - var editPloyLineArray = polyUpline.getPath();
333   - EditSectionObj.setEitdBsectionVector(JSON.stringify(editPloyLineArray));
334   - polyUpline= '';
335   - // 加载修改路段弹出层mobal页面
336   - $.get('editsection.html', function(m){
337   - $(pjaxContainer).append(m);
338   - $('#edit_section_mobal').trigger('editSectionMobal_show', [WorldsBMap,GetAjaxData,EditSectionObj,PublicFunctions]);
339   - });
340   - });
341   - },
342   -
343   - // 画圆
344   - pointsCircle : function(objStation) {
345   -
346   - // 将视图切换到指定的缩放等级,中心点坐标不变。注意:当有信息窗口在地图上打开时,地图缩放将保证信息窗口所在的坐标位置不动。(自1.2新增)
347   - mapBValue.setZoom(16);
348   -
349   - if(objStation) {
350   -
351   - // 清除地图覆盖物
352   - mapBValue.clearOverlays();
353   -
354   - // 获取中心坐标点字符串分割
355   - var BJwpoints = objStation.stationBJwpoints.split(' ');
356   -
357   - // 中心坐标点
358   - var point = new BMap.Point(BJwpoints[0], BJwpoints[1]);
359   -
360   - //创建圆
361   - circle = new BMap.Circle(point,objStation.stationRadius,{strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5});
362   -
363   - // 允许覆盖物在map.clearOverlays方法中被清除
364   - circle.enableMassClear();
365   -
366   - // 百度地图添加覆盖物圆
367   - mapBValue.addOverlay(circle);
368   -
369   - // 信息窗口参数属性
370   - var opts = {
371   - // 信息窗口宽度
372   - width : 200,
373   - // 信息窗口高度
374   - height : 330,
375   - // 信息窗位置偏移值。
376   - // offset: new BMap.Size(500,120),
377   - //标题
378   - // title : '<h4 style="color:#ff8355">'+objStation.stationStationName+'站详情</h4>',
379   - //设置不允许信窗发送短息
380   - enableMessage : false,
381   - //是否开启点击地图关闭信息窗口
382   - enableCloseOnClick : false,
383   - // 是否开启信息窗口打开时地图自动移动(默认开启)。(自 1.1 新增)
384   - enableAutoPan:false
385   - };
386   -
387   - var markTypeStr = '';
388   - if(objStation.stationRouteStationMark=='B') {
389   - markTypeStr='起点站';
390   - }else if(objStation.stationRouteStationMark=='Z') {
391   - markTypeStr ='中途站';
392   - }else if(objStation.stationRouteStationMark=='E') {
393   - markTypeStr='终点站';
394   - }
395   - var point1 = objStation.stationBJwpoints.split(" ");
396   - var htm = '<span style="color: #ff8355;font-size: 20px;">' + objStation.stationStationName + '</span>' +
397   - '<span class="help-block" >站点编码:' + objStation.stationStationCod + '</span>' +
398   - '<span class="help-block" >站点序号:' + objStation.stationRouteStationRouteCode + '</span>' +
399   - '<span class="help-block" >站点类型:' + markTypeStr + '</span>' +
400   - '<span class="help-block" >经度:&nbsp&nbsp' + point1[0] + '</span>' +
401   - '<span class="help-block" >纬度:&nbsp&nbsp' + point1[1] + '</span>' +
402   - '<span class="help-block" >到站时间:' + objStation.stationRouteToTime + '&nbsp;分钟</span>' +
403   - '<span class="help-block" >到站距离:' + objStation.stationRouteDistances + '&nbsp;公里</span>' +
404   - '<span class="help-block" >缓冲区形状:' + (objStation.stationShapesType == "r"?"圆形":"多边形") + '</span>' +
405   - '<span class="help-block" >半径&nbsp&nbsp:' + objStation.stationRadius + '</span>' +
406   - '<span class="help-block" >版本号&nbsp&nbsp:' + objStation.stationRouteVersions + '</span>' +
407   - '<div style="">' +
408   - '<button style="float:left; background: #ff8355; color: #fff; padding-bottom:5px; font-size: 9px;" class="btn " ' +
409   - 'id="editStation" onclick="WorldsBMap.editStation('+objStation.stationRouteDirections+')">修改站点</button>' +
410   - '<button style="float:right; background: #ff8355; color: #fff; padding-bottom:5px; font-size: 9px;" class="btn " ' +
411   - 'id="addBetweenStationRoad" onclick="WorldsBMap.addBetweenStationRoad('+objStation.stationRouteId+')">添加站点间路段</button>' +
412   - '</div>';
413   -
414   - // 创建信息窗口
415   - var infoWindow_target = new BMap.InfoWindow(htm, opts);
416   - // 自定义标注物图片
417   - var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/cz.png',new BMap.Size(20, 20));
418   -
419   - // 创建点
420   - marker = new BMap.Marker(point,{icon : icon_target});
421   -
422   - // 把标注添物加到地图上
423   - mapBValue.addOverlay(marker);
424   -
425   - setTimeout(function(){
426   - //开启信息窗口
427   - marker.openInfoWindow(infoWindow_target,point);
428   -
429   - },100);
430   -
431   - // 是否在平移过程中禁止动画。(自1.2新增)
432   - var PanOptions_ ={noAnimation :true};
433   -
434   - // 将地图的中心点更改为给定的点。
435   - mapBValue.panTo(point,PanOptions_);
436   -
437   - mapBValue.panBy(10,-200,PanOptions_);
438   -
439   - // 添加标志物监听事件
440   - marker.addEventListener("click",function() {
441   -
442   - //开启信息窗口
443   - marker.openInfoWindow(infoWindow_target,point);
444   -
445   - });
446   -
447   - }
448   -
449   - },
450   -
451   - // 根据地理名称获取百度经纬度坐标
452   - localSearchFromAdreesToPoint: function(Address,callback) {
453   -
454   - // 创建一个搜索类实例
455   - var localSearch = new BMap.LocalSearch(mapBValue);
456   -
457   - // 检索完成后的回调函数。
458   - localSearch.setSearchCompleteCallback(function (searchResult) {
459   -
460   - var resultPoints = '';
461   -
462   - if(searchResult) {
463   -
464   - // 返回索引指定的结果。索引0表示第1条结果
465   - var poi = searchResult.getPoi(0);
466   -
467   - if(poi) {
468   -
469   - //获取经度和纬度
470   - resultPoints = poi.point.lng + ' ' + poi.point.lat;
471   -
472   - callback && callback(resultPoints);
473   -
474   - }else {
475   -
476   - callback && callback(false);
477   -
478   - }
479   -
480   - }else {
481   -
482   - callback && callback(false);
483   - }
484   -
485   - });
486   -
487   - // 根据检索词发起检索。
488   - localSearch.search(Address);
489   -
490   - },
491   -
492   - // 编辑图形
493   - editShapes : function(editStationName,stationShapesTypeV,mindex) {
494   - // 关闭信息窗口
495   - marker.closeInfoWindow();
496   -
497   - // 清除marker
498   - mapBValue.removeOverlay(marker);
499   -
500   - // 编辑圆
501   - if(stationShapesTypeV =='r') {
502   -
503   - // 开启编辑功能
504   - circle.enableEditing();
505   -
506   - // 编辑圆监听事件
507   - circle.addEventListener('dblclick',function() {
508   -
509   - // 关闭提示弹出层
510   - layer.close(mindex);
511   -
512   - // 返回圆形的半径,单位为米。
513   - var newRadius = circle.getRadius();
514   -
515   - // 返回圆形的中心点坐标。
516   - var newCenter = circle.getCenter().lng + ' ' + circle.getCenter().lat;
517   -
518   - var centre_New = [{potion:{lng:circle.getCenter().lng,lat:circle.getCenter().lat}}];
519   -
520   - /** 设置修改站点集合对象站点中心点百度坐标属性值 @param:<bJwpoints:中心点百度坐标) */
521   - EditStationObj.setEitdStationBJwpoints(newCenter);
522   -
523   - /** 设置修改站点集合对象范围图形类型属性值 @param:<shapesType:范围图形类型) */
524   - EditStationObj.setEitdStationShapesType('r');
525   -
526   - /** 设置修改站点集合对象圆形半径属性值 @param:<radius:圆形半径) */
527   - EditStationObj.setEitdStationRadius(Math.round(newRadius));
528   -
529   - /** 设置修改站点集合对象图形百度坐标集合属性值 @param:<bPolygonGrid:图形百度坐标集合) */
530   - EditStationObj.setEitdBPolygonGrid('');
531   -
532   - // 加载编辑页面
533   - $.get('edit.html', function(m){
534   -
535   - $(pjaxContainer).append(m);
536   -
537   - $('#edit_station_mobal').trigger('editSelectMobal_show', [WorldsBMap,GetAjaxData,EditStationObj,LineObj,PublicFunctions]);
538   -
539   - });
540   -
541   - });
542   -
543   - // 编辑多变行
544   - }else if(stationShapesTypeV =='d') {
545   -
546   - // 开启编辑功能(自 1.1 新增)
547   - polygon.enableEditing();
548   -
549   - // 添加多变行编辑事件
550   - polygon.addEventListener('dblclick',function(e) {
551   -
552   - // 获取编辑的多边形对象
553   - var edit_pointE = polygon;
554   -
555   - var edit_bPloygonGrid = "";
556   -
557   - var editPolyGonLen_ = edit_pointE.getPath().length;
558   -
559   - for(var k =0;k<editPolyGonLen_;k++) {
560   -
561   - if(k==0) {
562   -
563   - edit_bPloygonGrid = edit_pointE.getPath()[k].lng + ' ' + edit_pointE.getPath()[k].lat;
564   -
565   - }else {
566   -
567   - edit_bPloygonGrid = edit_bPloygonGrid + ',' + edit_pointE.getPath()[k].lng + ' ' + edit_pointE.getPath()[k].lat;
568   -
569   - }
570   -
571   - }
572   -
573   - edit_bPloygonGrid = edit_bPloygonGrid + ',' + edit_pointE.getPath()[0].lng + ' ' + edit_pointE.getPath()[0].lat;
574   -
575   - // 多边形中心点
576   - var centre_points = edit_pointE.getBounds().getCenter().lng + ' ' + edit_pointE.getBounds().getCenter().lat;
577   -
578   - /** 设置修改站点集合对象站点中心点百度坐标属性值 @param:<bJwpoints:中心点百度坐标) */
579   - EditStationObj.setEitdStationBJwpoints(centre_points);
580   -
581   - /** 设置修改站点集合对象范围图形类型属性值 @param:<shapesType:范围图形类型) */
582   - EditStationObj.setEitdStationShapesType('d');
583   -
584   - /** 设置修改站点集合对象圆形半径属性值 @param:<radius:圆形半径) */
585   - EditStationObj.setEitdStationRadius('');
586   -
587   - /** 设置修改站点集合对象图形百度坐标集合属性值 @param:<bPolygonGrid:图形百度坐标集合) */
588   - EditStationObj.setEitdBPolygonGrid(edit_bPloygonGrid);
589   -
590   - $.get('edit.html', function(m){
591   -
592   - $(pjaxContainer).append(m);
593   -
594   - $('#edit_station_mobal').trigger('editSelectMobal_show', [WorldsBMap,GetAjaxData,EditStationObj,LineObj,PublicFunctions]);
595   -
596   - });
597   -
598   - });
599   -
600   - }
601   -
602   - },
603   -
604   - // 在地图上画出上行线路走向
605   - drawingUpline : function (polylineArray,polyline_center,data) {
606   - /*WorldsBMap.clearMarkAndOverlays();*/
607   - polyUpline = '';
608   - // 创建线路走向
609   - polyUpline = new BMap.Polyline(polylineArray, {strokeColor : "blue",strokeWeight : 6,strokeOpacity : 0.5});
610   - // polyUpline.data = data;
611   - // 把折线添加到地图上
612   - mapBValue.addOverlay(polyUpline);
613   - /*var ceter_index = Math.round(resultdata.length / 2);
614   -
615   - var ceterPointsStr = resultdata[ceter_index].bJwpoints;
616   -
617   - var ceterPointsArray = ceterPointsStr.split(' ');
618   -
619   - var polyline_center = new BMap.Point(ceterPointsArray[0],ceterPointsArray[1]);*/
620   - var PanOptions_ ={noAnimation :true};
621   - mapBValue.reset();
622   - mapBValue.panTo(polyline_center,PanOptions_);
623   - mapBValue.panBy(500,-510,PanOptions_);
624   - mapBValue.setZoom(14);
625   -
626   - // 信息窗口属性
627   - var opts_polygon = {
  26 +
  27 + /** WorldsBMap 全局变量定义 mapBValue:地图对象;polygon:多边形;polyUpline:走向折线;circle:圆; road_win_show_p:信息窗口打开状态的路段,map_status:地图编辑状态,drawingManager:绘画工具*/
  28 + var mapBValue = '',polygon = '', polyUpline = '', circle = '', iseditStatus = false, road_win_show_p = '', editPolyline = '', sectionArray = [], stationArray = new Map(),map_status = 0,
  29 + drawingManager;
  30 + var styleOptions = {
  31 + strokeColor:"blue", //边线颜色。
  32 + fillColor:"blue", //填充颜色。当参数为空时,圆形将没有填充效果。
  33 + strokeWeight: 6, //边线的宽度,以像素为单位。
  34 + strokeOpacity: 0.7, //边线透明度,取值范围0 - 1。
  35 + fillOpacity: 0.6, //填充的透明度,取值范围0 - 1。
  36 + strokeStyle: 'solid' //边线的样式,solid或dashed。
  37 + }
  38 +
  39 + var Bmap = {
  40 +
  41 + init: function () {
  42 + // 设置中心点,
  43 + var CENTER_POINT = {lng: 121.528733, lat: 31.237425};
  44 + // 百度API Key
  45 + var bdKey = 'IGGrr4UjwIYzatoCRFKEL8sT';
  46 + // 初始化百度地图
  47 + mapBValue = new BMap.Map("bmap_basic");
  48 + //中心点和缩放级别
  49 + mapBValue.centerAndZoom(new BMap.Point(CENTER_POINT.lng, CENTER_POINT.lat), 15);
  50 + //启用地图拖拽事件,默认启用(可不写)
  51 + mapBValue.enableDragging();
  52 + //启用地图滚轮放大缩小
  53 + mapBValue.enableScrollWheelZoom();
  54 + //禁用鼠标双击放大
  55 + mapBValue.disableDoubleClickZoom();
  56 + //启用键盘上下左右键移动地图
  57 + mapBValue.enableKeyboard();
  58 + return mapBValue;
  59 + },
  60 +
  61 + /** 获取地图对象 @return 地图对象map */
  62 + getmapBValue: function () {
  63 + return mapBValue;
  64 + },
  65 + getPolygon: function () {
  66 + return polygon;
  67 + },
  68 + getPolyUpline: function () {
  69 + return polyUpline;
  70 + },
  71 + getCircle: function () {
  72 + return circle;
  73 + },
  74 + getIsEditStatus: function () {
  75 + return iseditStatus;
  76 + },
  77 + setMap_status : function (i) {
  78 + map_status = i;
  79 + },
  80 + setIsEditStatus: function (v) {
  81 + iseditStatus = v;
  82 + },
  83 + /*initDrawingManager: function (map, styleOptions) {
  84 + },*/
  85 + getDrawingManagerObj: function () {
  86 + return drawingManagerInitV;
  87 + },
  88 +
  89 + // 从百度地图抓去站点与路段数据
  90 + lineInfoPanl: function (lineNameValue, i, cb) {
  91 +
  92 + /** 根据线路名称与方向从百度地图获取站点与路段 @param lineNameValue:线路名称;i:方向<0:上行;1:下行> */
  93 + WorldsBMap.getBmapStationNames(lineNameValue, i, function (BusLine) {
  94 +
  95 + return cb && cb(BusLine);
  96 +
  97 + });
  98 +
  99 + },
  100 +
  101 + /** 获取距离与时间 @param <points:坐标点集合> */
  102 + getDistanceAndDuration: function (points, callback) {
  103 +
  104 + // 获取长度
  105 + var len = points.length;
  106 +
  107 + (function () {
  108 +
  109 + if (!arguments.callee.count) {
  110 +
  111 + arguments.callee.count = 0;
  112 +
  113 + }
  114 +
  115 + arguments.callee.count++;
  116 +
  117 + var index = parseInt(arguments.callee.count) - 1;
  118 +
  119 + if (index >= len - 1) {
  120 +
  121 + callback && callback(points);
  122 +
  123 + return;
  124 + }
  125 +
  126 + // 当函数被调用时,它的arguments.callee对象就会指向自身,也就是一个对自己的引用。(当前正在执行的函数。)
  127 + var f = arguments.callee;
  128 +
  129 + // 起点坐标 <坐标格式:40.056878,116.30815>
  130 + var origin = points[index].potion.lat + ',' + points[index].potion.lng;
  131 +
  132 + // 终点坐标 <坐标格式:40.056878,116.30815>
  133 + var destination = points[index + 1].potion.lat + ',' + points[index + 1].potion.lng;
  134 +
  135 + var region = '上海';
  136 +
  137 + var origin_region = '上海';
  138 +
  139 + var destination_region = '上海';
  140 +
  141 + var output = 'json';
  142 +
  143 + var ak_My = 'wjlITmXeCek5MxyU3ZUBkTeU8B0o0npk';
  144 +
  145 + /**
  146 + * origin:起点名称或经纬度;
  147 + *
  148 + * destination:终点名称或经纬度;
  149 + *
  150 + * origin_region:起始点所在城市,驾车导航时必填。
  151 + *
  152 + * destination_region:终点所在城市,驾车导航时必填。
  153 + *
  154 + * output :表示输出类型,可设置为xml或json,默认为xml。
  155 + *
  156 + **/
  157 + var paramsB = {
  158 + origin: origin,
  159 + destination: destination,
  160 + region: region,
  161 + origin_region: origin_region,
  162 + destination_region: destination_region,
  163 + output: output,
  164 + ak: ak_My
  165 + };
  166 +
  167 + /** @description :未认证开发者默认配额为:2000次/天。 */
  168 + $.ajax({
  169 +
  170 + // 百度地图根据坐标获取两点之间的时间与距离
  171 + url: 'http://api.map.baidu.com/direction/v1?mode=transit',
  172 +
  173 + data: paramsB,
  174 +
  175 + dataType: 'jsonp',
  176 +
  177 + success: function (r) {
  178 +
  179 + if (r) {
  180 +
  181 + if (r.message == 'ok') {
  182 +
  183 + if (r.result.taxi == null) {
  184 +
  185 + // 获取距离(单位:米)
  186 + points[index + 1].distance = 0;
  187 +
  188 + // 获取时间(单位:秒)
  189 + points[index + 1].duration = 0;
  190 +
  191 + } else {
  192 +
  193 + // 获取距离(单位:米)
  194 + points[index + 1].distance = r.result.taxi.distance;
  195 +
  196 + // 获取时间(单位:秒)
  197 + points[index + 1].duration = r.result.taxi.duration;
  198 +
  199 + }
  200 +
  201 +
  202 + }
  203 +
  204 + }
  205 +
  206 + f();
  207 + }
  208 + });
  209 +
  210 + })();
  211 +
  212 + },
  213 + // 打开站点信息窗口
  214 + openStationInfoWin : function (objStation) {
  215 + // 将视图切换到指定的缩放等级,中心点坐标不变。注意:当有信息窗口在地图上打开时,地图缩放将保证信息窗口所在的坐标位置不动。(自1.2新增)
  216 + mapBValue.setZoom(25);
  217 + if (objStation) {
  218 + // 站点形状
  219 + var shapes = objStation.stationShapesType;
  220 + // 获取中心坐标点字符串分割
  221 + var BJwpoints = objStation.stationJwpoints.split(' ');
  222 +
  223 + // 中心坐标点
  224 + var point = new BMap.Point(BJwpoints[0], BJwpoints[1]);
  225 + var width = WorldsBMap.strGetLength(objStation.stationRouteName) * 11;
  226 + // 信息窗口参数属性
  227 + var opts = {
628 228 // 信息窗口宽度
629   - width : 200,
  229 + width: (width < 200 ? 200 : width),
630 230 // 信息窗口高度
631   - height : 300,
  231 + height: shapes=="r" ?330:300,
632 232 // 信息窗位置偏移值。
633   - // offset: new BMap.Size(500,20),
634   - //标题
635   - // title : '<h4 style="color:#FFFFFF">'+objStation.stationStationName+'站详情</h4>',
  233 + offset: new BMap.Size(10,-20),
636 234 //设置不允许信窗发送短息
637   - enableMessage : false,
  235 + enableMessage: false,
638 236 //是否开启点击地图关闭信息窗口
639   - enableCloseOnClick : false
  237 + enableCloseOnClick: false,
  238 + // 是否开启信息窗口打开时地图自动移动(默认开启)。(自 1.1 新增)
  239 + enableAutoPan: false
640 240 };
641 241  
642   - // var markTypeStr = '';
643   - // if(objStation.stationRouteStationMark=='B') {
644   - // markTypeStr='起点站';
645   - // }else if(objStation.stationRouteStationMark=='Z') {
646   - // markTypeStr ='中途站';
647   - // }else if(objStation.stationRouteStationMark=='E') {
648   - // markTypeStr='终点站';
649   - // }
650   - // var point = objStation.stationBJwpoints.split(" ")
651   - // var htm = '<span style="color: #ff8355;font-size: 20px;">' + objStation.stationStationName + '</span>' +
652   - // '<span class="help-block" >站点编码:' + objStation.stationStationCod + '</span>' +
653   - // '<span class="help-block" >站点序号:' + objStation.stationRouteStationRouteCode + '</span>' +
654   - // '<span class="help-block" >站点类型:' + markTypeStr + '</span>' +
655   - // '<span class="help-block" >经度:&nbsp&nbsp' + point[0] + '</span>' +
656   - // '<span class="help-block" >纬度:&nbsp&nbsp' + point[1] + '</span>' +
657   - // '<span class="help-block" >到站时间:' + objStation.stationRouteToTime + '&nbsp;分钟</span>' +
658   - // '<span class="help-block" >到站距离:' + objStation.stationRouteDistances + '&nbsp;公里</span>' +
659   - // '<span class="help-block" >缓冲区形状:' + (objStation.stationShapesType == "r"?"圆形":"多边形") + '</span>' +
660   - // '<span class="help-block" >版本号:&nbsp&nbsp' + objStation.stationRouteVersions + '</span>' +
661   - // '<div style="display: flex">' +
662   - // '<span><button style="background: #ff8355; color: #fff; padding-bottom:5px; font-size: 9px;" class="btn btn-circle" ' +
663   - // 'id="editStation" onclick="WorldsBMap.editStation('+objStation.stationRouteDirections+')">修改站点</button></span>' +
664   - // '<span><button style="background: #ff8355; color: #fff; padding-bottom:5px; font-size: 9px;" class="btn btn-circle" ' +
665   - // 'id="addBetweenStationRoad" onclick="WorldsBMap.addBetweenStationRoad('+objStation.stationRouteId+')">添加站点间路段</button></span>' +
666   - // '</div>';
667   - //
668   - // // 创建信息窗口
669   - // var infoWindow_target = new BMap.InfoWindow(htm, opts_polygon);
670   - // // 自定义标注物图片
671   - // var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/cz.png',new BMap.Size(20, 20));
672   - // // 创建点
673   - // marker = new BMap.Marker(pointPolygon,{icon : icon_target});
674   - // // 把标注添物加到地图上
675   - // mapBValue.addOverlay(marker);
676   - // // 是否在平移过程中禁止动画。(自1.2新增)
677   - // var PanOptions_ ={noAnimation :true};
678   - // // 将地图的中心点更改为给定的点。
679   - // mapBValue.panTo(pointPolygon,PanOptions_);
680   - // // 将地图在水平位置上移动x像素,垂直位置上移动y像素。
681   - // mapBValue.panBy(10,-150,PanOptions_);
682   - // //开启信息窗口
683   - // mapBValue.openInfoWindow(infoWindow_target,pointPolygon);
684   - },
685   -
686   -
687   - // 在地图上画出上行线路走向
688   - drawingUpline01 : function (polylineArray,polyline_center,data) {
689   - var polyUpline01 = 'polyline' + '_' + data.sectionrouteId;
690   - // 创建线路走向
691   - polyUpline01 = new BMap.Polyline(polylineArray, {strokeColor : "blue",strokeWeight : 6,strokeOpacity : 0.5});
692   - polyUpline01.data = data;
693   - // 把折线添加到地图上
694   - mapBValue.addOverlay(polyUpline01);
695   - polyUpline01.addEventListener('click',function(e) {
696   - if(WorldsBMap.getIsEditStatus()) {
697   - layer.msg('请先保存正在编辑的路段信息...');
698   - return false;
699   - }
700   - polyUpline01.enableEditing();
701   - WorldsBMap.setIsEditStatus(true);
702   - });
703   - // 添加双击折线保存事件
704   - polyUpline01.addEventListener('dblclick',function(e) {
705   - WorldsBMap.setIsEditStatus(false);
706   - // 关闭
707   - layer.closeAll();
708   - polyUpline01.disableEditing();
709   - EditSectionObj.setEitdSection(polyUpline01.data);
710   - // 获取折线坐标集合
711   - var editPloyLineArray = polyUpline01.getPath();
712   - EditSectionObj.setEitdBsectionVector(JSON.stringify(editPloyLineArray));
713   - // polyUpline= '';
714   - // 加载修改路段弹出层mobal页面
715   - $.get('editsection.html', function(m){
716   - $(pjaxContainer).append(m);
717   - $('#edit_section_mobal').trigger('editSectionMobal_show', [WorldsBMap,GetAjaxData,EditSectionObj,PublicFunctions]);
718   - });
719   - });
720   - var PanOptions_ ={noAnimation :true};
721   - mapBValue.reset();
722   - mapBValue.panTo(polyline_center,PanOptions_);
723   - mapBValue.panBy(500,-510,PanOptions_);
724   - mapBValue.setZoom(14);
725   - },
726   -
727   - /** 在地图上画点 @param:<point_center:中心坐标点> */
728   - drawingUpStationPoint : function(point_center,stationName,s) {
729   -
730   - // 自定义标注物图片
731   - var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/gjzd.png',new BMap.Size(10, 10));
732   -
733   - var html2 = '<div style="position: absolute; margin: 0pt; padding: 0pt; width: 160px; height: 26px; left: -10px; top: -35px; overflow: hidden;">'
734   - + '<img class="rm3_image" style="border:none;left:0px; top:0px; position:absolute;" src="/pages/base/stationroute/css/img/back160.png">'
735   - + '</div>'
736   - + '<label class=" BMapLabel" unselectable="on" style="position: absolute; -moz-user-select: none; display: inline; cursor: inherit; border: 0px none; padding: 2px 1px 1px; white-space: nowrap; font: 12px arial,simsun; z-index: 80; color: rgb(255, 102, 0); left: 15px; top: -35px;"><span style="float: left; color: #fdfdfd; margin-left: -22px; font-size: 6px;">'+ s+'</span>'+ stationName+'</label>';
737   -
738   -
739   - var myRichMarker1 = new BMapLib.RichMarker(html2, point_center,{
740   - "anchor" : new BMap.Size(-10,8),
741   - "enableDragging" : true});
742   -
743   -
744   - myRichMarker1.disableDragging();
745   - mapBValue.addOverlay(myRichMarker1);
746   -
747   -
748   - // 创建标注物
749   - marker = new BMap.Marker(point_center,{icon : icon_target});
750   -
751   - // 允许覆盖物在map.clearOverlays方法中被清除。
752   - marker.enableMassClear();
753   -
754   - mapBValue.addOverlay(marker);
755   - },
756   -
757   - // 站点名称获取百度坐标(手动规划)
758   - stationsNameToPoints : function(arra,callback) {
759   - // 获取长度
760   - var len = arra.length;
761   - var stationList = [];
762   - (function(){
763   - if (!arguments.callee.count) {
764   - arguments.callee.count = 0;
765   - }
766   - arguments.callee.count++;
767   - var index = parseInt(arguments.callee.count) - 1;
768   - if (index >= len) {
769   - callback && callback(stationList);
770   - return ;
771   - }
772   - var f = arguments.callee;
773   - if(arra[index].name!=''){
774   - var localSearch = new BMap.LocalSearch(mapBValue);
775   - localSearch.search(arra[index].name);
776   - localSearch.setSearchCompleteCallback(function (searchResult) {
777   - var poi = searchResult.getPoi(0);
778   - if(poi) {
779   - stationList.push({name:arra[index].name.replace('公交车站',''),wgs:arra[index].wgs,potion:{lng:poi.point.lng,lat:poi.point.lat}});
780   - }else {
781   - stationList.push({name:arra[index].name.replace('公交车站',''),wgs:arra[index].wgs,potion:{lng:arra[index].wgs.x,lat:arra[index].wgs.y}});
782   - }
783   - f();
784   - });
785   - }else {
786   - f();
787   - }
788   - })();
789   - },
790   -
791   - // 根据坐标点获取两点之间的时间与距离(手动规划)
792   - getDistanceAndTotime : function(stationList,cb) {
793   -
794   - stationList[0].distance = '';
795   -
796   - stationList[0].duration = '';
797   -
798   - // var sectionList = [];
799   -
800   - // 获取长度
801   - var len = stationList.length;
802   -
803   - (function(){
804   -
805   - if (!arguments.callee.count) {
806   -
807   - arguments.callee.count = 0;
808   -
809   - }
810   -
811   - arguments.callee.count++;
812   -
813   - var index = parseInt(arguments.callee.count) - 1;
814   -
815   - if (index >= len-1) {
816   -
817   - // cb && cb(stationList,sectionList);
818   - cb && cb(stationList);
819   - return;
820   - }
821   -
822   - var f = arguments.callee;
823   -
824   - var poiOne = new BMap.Point(stationList[index].potion.lng,stationList[index].potion.lat);
825   -
826   - var poiTwo = new BMap.Point(stationList[index+1].potion.lng,stationList[index+1].potion.lat);
827   -
828   - var transit = new BMap.TransitRoute(mapBValue, {renderOptions: {map: mapBValue},onSearchComplete: searchComplete});
829   -
830   - transit.search(poiOne,poiTwo);
831   -
832   - function searchComplete(results){
833   -
834   - var plan = results.getPlan(0);
835   -
836   - if (transit.getStatus() != BMAP_STATUS_SUCCESS){
837   -
838   - stationList[index+1].distance = '';
839   -
840   - stationList[index+1].duration = '';
841   -
842   - // sectionList.push({sectionName:stationList[index].name+stationList[index+1].name,points:''});
843   -
844   - }else {
845   -
846   - stationList[index+1].distance = plan.getDistance(true);
847   -
848   - stationList[index+1].duration = plan.getDuration(true);
849   -
850   - // var line = plan.getRoute(0);
851   -
852   - // sectionList.push({sectionName:stationList[index].name+stationList[index+1].name,points:line.getPath()});
853   -
854   - }
855   -
856   - f();
857   - }
858   -
859   - })();
860   -
861   - },
862   -
863   - // 根据坐标点获取两点之间的折线路段(手动规划)
864   - getSectionListPlonly : function(stationsPoint,cb) {
865   -
866   - var len = stationsPoint.length;
867   -
868   - var sectionList = [];
869   -
870   - (function(){
871   -
872   - if (!arguments.callee.count) {
873   -
874   - arguments.callee.count = 0;
875   -
876   - }
877   -
878   - arguments.callee.count++;
879   -
880   - var index = parseInt(arguments.callee.count) - 1;
881   -
882   - if (index >= len-1 ) {
883   -
884   - cb && cb(sectionList);
885   - return;
886   - }
887   -
888   - var f = arguments.callee;
889   -
890   - var poiOne = new BMap.Point(stationsPoint[index].potion.lng,stationsPoint[index].potion.lat);
891   -
892   - var poiTwo = new BMap.Point(stationsPoint[index+1].potion.lng,stationsPoint[index+1].potion.lat);
893   -
894   - /* var transit = new BMap.TransitRoute(mapB, {renderOptions: {map: mapB},onPolylinesSet: searchPolylinesSet});*/
895   -
896   - var transit = new BMap.DrivingRoute(mapBValue, {renderOptions: {map: mapBValue},onPolylinesSet: searchPolylinesSet});
897   -
898   - function searchPolylinesSet(results){
899   -
900   - if (transit.getStatus() != BMAP_STATUS_SUCCESS){
901   -
902   -
903   - }else {
904   -
905   - var sectionArrayList = [];
906   - for (i = 0; i < results.length; i++){
907   -
908   - // console.log(results[i].getPolyline().getPath());
909   - sectionArrayList = sectionArrayList.concat(results[i].getPolyline().getPath());
910   -
911   - }
912   -
913   - var sectionName = stationsPoint[index].name + '至' + stationsPoint[index+1].name;
914   -
915   - sectionList.push({sectionName:sectionName,points:sectionArrayList});
916   -
917   - }
918   -
919   - f();
920   - }
921   -
922   - transit.search(poiOne,poiTwo);
923   -
924   - })();
925   -
926   - },
927   -
928   - localtionPoint : function(stationNameV) {
929   -
930   - WorldsBMap.localSearchFromAdreesToPoint(stationNameV,function(Points) {
931   -
932   - if(Points) {
933   -
934   - var BJwpointsArray = Points.split(' ');
935   -
936   - var stationNameChangePoint = new BMap.Point(BJwpointsArray[0], BJwpointsArray[1]);
937   -
938   - var marker_stargt2 = new BMap.Marker(stationNameChangePoint);
939   -
940   - var PanOptions ={noAnimation :true};
941   -
942   - mapBValue.panTo(stationNameChangePoint,PanOptions);
943   -
944   - mapBValue.panBy(0,-100);
945   -
946   - // 将标注添加到地图中
947   - mapBValue.addOverlay(marker_stargt2);
948   -
949   - //跳动的动画
950   - marker_stargt2.setAnimation(BMAP_ANIMATION_BOUNCE);
951   -
952   - }
953   -
954   - });
955   -
956   - },
957   -
958   - /** 系统规划抓去数据 @param lineNameValue:线路名称;i:方向*/
959   - getBmapStationNames : function(lineNameValue,i,callback) {
960   -
961   - var busline = new BMap.BusLineSearch(mapBValue,{
962   -
963   - // 设置公交列表查询后的回调函数。参数:rs: BusListResult类型
964   - onGetBusListComplete:function(BusListResult) {
965   -
966   - // 如果不为空
967   - if(BusListResult){
968   -
969   - //获取第一个公交列表显示到map上
970   - var fstLine = BusListResult.getBusListItem(i);
971   -
972   - /*if(fstLine==undefined){
973   -
974   - layer.confirm('系统无法生成该线路【'+lineNameValue+'】的站点与路段!请点击返回选择其它方式规划', {btn : [ '返回' ],icon: 3, title:'提示' }, function(index){
975   -
976   - layer.closeAll();
977   -
978   - if(i==0){
979   -
980   - $('#upToolsMobal').show();
981   -
982   - }else if(i==1){
983   -
984   - $('#downToolsMobal').show();
985   -
986   - }
987   -
988   - return;
989   - });
990   -
991   - }*/
992   -
993   - if(fstLine==undefined){
994   -
995   -
996   - callback && callback(null);
997   -
998   - }
999   -
1000   - busline.getBusLine(fstLine);
1001   -
1002   - }
1003   -
1004   - },
1005   -
1006   - //设置公交线路查询后的回调函数.参数:rs: BusLine类型
1007   - onGetBusLineComplete: function(BusLine){
1008   -
1009   - // 如果不为空
1010   - if(BusLine){
1011   -
1012   - callback && callback(BusLine);
1013   -
1014   - }
1015   -
1016   - }
1017   -
1018   - });
1019   -
1020   - busline.getBusList(lineNameValue);
1021   -
1022   - },
1023   - editStation : function(dir) {
1024   - // $.get("/stationroute/findStationRouteInfo",{"id":stationRouteId},function (route) {
1025   - $.get('edit_select.html', function(m){
  242 + var markTypeStr = '';
  243 + if (objStation.stationRouteStationMark == 'B') {
  244 + markTypeStr = '起点站';
  245 + } else if (objStation.stationRouteStationMark == 'Z') {
  246 + markTypeStr = '中途站';
  247 + } else if (objStation.stationRouteStationMark == 'E') {
  248 + markTypeStr = '终点站';
  249 + }
  250 + var htm = '<span style="color: #ff8355;font-size: 20px; overflow: hidden; white-space: nowrap; text-overflow:ellipsis;display: -webkit-box; -webkit-box-orient: vertical;">' + objStation.stationRouteName + '</span>' +
  251 + '<span class="help-block" >站点编码:' + objStation.stationCode + '</span>' +
  252 + '<span class="help-block" >站点序号:' + objStation.stationRouteCode + '</span>' +
  253 + '<span class="help-block" >站点类型:' + markTypeStr + '</span>' +
  254 + '<span class="help-block" >经度:&nbsp&nbsp' + BJwpoints[0] + '</span>' +
  255 + '<span class="help-block" >纬度:&nbsp&nbsp' + BJwpoints[1] + '</span>' +
  256 + '<span class="help-block" >到站时间:' + objStation.stationRouteToTime + '&nbsp;分钟</span>' +
  257 + '<span class="help-block" >到站距离:' + objStation.stationRouteDistances + '&nbsp;公里</span>' +
  258 + '<span class="help-block" >缓冲区形状:' + (shapes == "r" ? "圆形" : "多边形") + '</span>' +
  259 + (shapes=="r" ? ("<span class='help-block' >半径&nbsp&nbsp:" + objStation.stationRadius + "</span>") : " ")+
  260 + '<span class="help-block" >版本号&nbsp&nbsp:' + objStation.stationRouteVersions + '</span>' +
  261 + '<div>' +
  262 + '<button class="info_win_btn" id="editStation" onclick="WorldsBMap.editStation(' + objStation.stationRouteId+','+objStation.stationRoutedirections + ')">修改站点</button>' +
  263 + '<button class="info_win_btn" id="addBetweenStationRoad" onclick="WorldsBMap.addBetweenStationRoad(' + objStation.stationRouteId + ')">添加站点间路段</button>' +
  264 + '<button class="info_win_btn" onclick="WorldsBMap.destroyStation('+ objStation.stationRouteId + ','+objStation.stationRouteLine+','+objStation.stationRoutedirections+')">撤销</button>' +
  265 + '</div>';
  266 +
  267 + // 创建信息窗口
  268 + var infoWindow_target = new BMap.InfoWindow(htm, opts);
  269 + setTimeout(function () {
  270 + //开启信息窗口
  271 + mapBValue.openInfoWindow(infoWindow_target, point);
  272 + }, 100);
  273 + // 是否在平移过程中禁止动画。(自1.2新增)
  274 + var PanOptions_ = {noAnimation: true};
  275 + // 将地图的中心点更改为给定的点。
  276 + mapBValue.panTo(point, PanOptions_);
  277 + // mapBValue.panBy(10, -150, PanOptions_);
  278 + }
  279 + },
  280 +
  281 + editPolyUpline: function () {
  282 + // 禁止覆盖物在map.clearOverlays方法中被清除。(自 1.1 新增)
  283 + polyUpline.disableMassClear();
  284 + WorldsBMap.clearMarkAndOverlays();
  285 + // 允许覆盖物在map.clearOverlays方法中被清除。(自 1.1 新增)
  286 + polyUpline.enableMassClear();
  287 + // 开启线路编辑
  288 + polyUpline.enableEditing();
  289 + // 添加双击折线保存事件
  290 + polyUpline.addEventListener('dblclick', function (e) {
  291 + // 关闭
  292 + layer.closeAll();
  293 + polyUpline.disableEditing();
  294 + // 获取折线坐标集合
  295 + var editPloyLineArray = polyUpline.getPath();
  296 + EditSectionObj.setEitdBsectionVector(JSON.stringify(editPloyLineArray));
  297 + polyUpline = '';
  298 + // 加载修改路段弹出层mobal页面
  299 + $.get('editsection.html', function (m) {
  300 + $(pjaxContainer).append(m);
  301 + $('#edit_section_mobal').trigger('editSectionMobal_show', [WorldsBMap, GetAjaxData, EditSectionObj, PublicFunctions]);
  302 + });
  303 + });
  304 + },
  305 +
  306 + // 根据地理名称获取百度经纬度坐标
  307 + localSearchFromAdreesToPoint: function (Address, callback) {
  308 +
  309 + // 创建一个搜索类实例
  310 + var localSearch = new BMap.LocalSearch(mapBValue);
  311 +
  312 + // 检索完成后的回调函数。
  313 + localSearch.setSearchCompleteCallback(function (searchResult) {
  314 +
  315 + var resultPoints = '';
  316 +
  317 + if (searchResult) {
  318 +
  319 + // 返回索引指定的结果。索引0表示第1条结果
  320 + var poi = searchResult.getPoi(0);
  321 +
  322 + if (poi) {
  323 +
  324 + //获取经度和纬度
  325 + resultPoints = poi.point.lng + ' ' + poi.point.lat;
  326 +
  327 + callback && callback(resultPoints);
  328 +
  329 + } else {
  330 +
  331 + callback && callback(false);
  332 +
  333 + }
  334 +
  335 + } else {
  336 +
  337 + callback && callback(false);
  338 + }
  339 +
  340 + });
  341 +
  342 + // 根据检索词发起检索。
  343 + localSearch.search(Address);
  344 +
  345 + },
  346 +
  347 + // 编辑图形
  348 + editShapes: function (obj) {
  349 + // 关闭信息窗口
  350 + mapBValue.closeInfoWindow();
  351 +
  352 + // 清除marker
  353 + // mapBValue.removeOverlay(marker);
  354 + var station = obj.getEitdStation();
  355 + var stationShapesTypeV = station.stationShapesType;
  356 + // 编辑圆
  357 + if (stationShapesTypeV == 'r') {
  358 +
  359 + // 获取中心坐标点字符串分割
  360 + var BJwpoints = station.stationJwpoints.split(' ');
  361 + // 中心坐标点
  362 + var point = new BMap.Point(BJwpoints[0], BJwpoints[1]);
  363 + //创建圆
  364 + circle = new BMap.Circle(point, station.stationRadius, {
  365 + strokeColor: "red",
  366 + strokeWeight: 2,
  367 + strokeOpacity: 0.7
  368 + });
  369 + // 允许覆盖物在map.clearOverlays方法中被清除
  370 + circle.enableMassClear();
  371 + // 百度地图添加覆盖物圆
  372 + mapBValue.addOverlay(circle);
  373 + // 开启编辑功能
  374 + circle.enableEditing();
  375 + // 编辑圆监听事件
  376 + circle.addEventListener('dblclick', function () {
  377 + // 返回圆形的半径,单位为米。
  378 + var newRadius = circle.getRadius();
  379 + // 返回圆形的中心点坐标。
  380 + var newCenter = circle.getCenter().lng + ' ' + circle.getCenter().lat;
  381 + var centre_New = [{potion: {lng: circle.getCenter().lng, lat: circle.getCenter().lat}}];
  382 + /** 设置修改站点集合对象站点中心点百度坐标属性值 @param:<bJwpoints:中心点百度坐标) */
  383 + EditStationObj.setEitdStationJwpoints(newCenter);
  384 + /** 设置修改站点集合对象范围图形类型属性值 @param:<shapesType:范围图形类型) */
  385 + EditStationObj.setEitdStationShapesType('r');
  386 + /** 设置修改站点集合对象圆形半径属性值 @param:<radius:圆形半径) */
  387 + EditStationObj.setEitdStationRadius(Math.round(newRadius));
  388 + /** 设置修改站点集合对象图形百度坐标集合属性值 @param:<bPolygonGrid:图形百度坐标集合) */
  389 + EditStationObj.setEitdBPolygonGrid('');
  390 + // 加载编辑页面
  391 + $.get('edit.html', function (m) {
1026 392 $(pjaxContainer).append(m);
1027   - $('#edit_select_mobal').trigger('editSelectMobal_show', [WorldsBMap,DrawingManagerObj,GetAjaxData,EditStationObj,LineObj,PublicFunctions,dir]);
  393 + $('#edit_station_mobal').trigger('editSelectMobal_show', [WorldsBMap, GetAjaxData, EditStationObj, LineObj, PublicFunctions]);
1028 394 });
1029   - // });
1030   - },
1031   - addBetweenStationRoad : function (stationRouteId) {
1032   - $.get("/stationroute/findStationRouteInfo",{"id":stationRouteId},function (route) {
1033   - var stationRouteBegin = route[0];
1034   - // 查询下一个站点
1035   - $.get("/stationroute/findDownStationRoute",{"lineId":stationRouteBegin.stationRouteLine, "direction":stationRouteBegin.stationRoutedirections, "stationRouteCode":stationRouteBegin.stationRouteCode},function (stationRoute) {
1036   - var stationRouteFinish = stationRoute[0];
1037   -
1038   - if(stationRouteFinish){
1039   - var pointBegin = stationRouteBegin.stationJwpoints.split(" ");
1040   - var pointFinish = stationRouteFinish.stationJwpoints.split(" ")
1041   - console.log(pointFinish);
1042   - var sectionList = [];
1043   - // 两个站点的坐标
1044   - var poiOne = new BMap.Point(pointBegin[0],pointBegin[1]);
1045   - var poiTwo = new BMap.Point(pointFinish[0],pointFinish[1]);
1046   - // 路径规划保存按钮
1047   - var label = new BMap.Label("保存路段", {
1048   - offset: new BMap.Size(13, -53)
  395 + });
  396 +
  397 + // 编辑多变行
  398 + } else if (stationShapesTypeV == 'd') {
  399 + // 获取中心点坐标字符串
  400 + var testpointStr = station.stationJwpoints;
  401 + // 按空格切割中心点坐标字符串
  402 + var BJwpointsPolygon = testpointStr.split(' ');
  403 + // 中心点坐标
  404 + var pointPolygon = new BMap.Point(BJwpointsPolygon[0], BJwpointsPolygon[1]);
  405 + // 获取多边形坐标字符串
  406 + var stationBPolygonGrid = station.stationBPolyonGrid;
  407 + // 截取多边形坐标字符串
  408 + var stationBPolygonGridStr = stationBPolygonGrid.substring(9, stationBPolygonGrid.length - 2);
  409 + // 按逗号切割
  410 + var pointPolygonArray = stationBPolygonGridStr.split(',');
  411 + // 多边形坐标集合
  412 + var polygonP = [];
  413 + for (var v = 0; v < pointPolygonArray.length; v++) {
  414 + polygonP.push(new BMap.Point(pointPolygonArray[v].split(" ")[0], pointPolygonArray[v].split(" ")[1]));
  415 + }
  416 +
  417 + // 画多边形
  418 + polygon = new BMap.Polygon(polygonP, {
  419 + // 线条显色
  420 + strokeColor: "red",
  421 + // 边线的宽度,以像素为单位。
  422 + strokeWeight: 2,
  423 + // 边线透明度,取值范围0 - 1。
  424 + strokeOpacity: 0.7
  425 + });
  426 +
  427 + // 增加地图覆盖物多边形
  428 + mapBValue.addOverlay(polygon);
  429 +
  430 + // 开启编辑功能(自 1.1 新增)
  431 + polygon.enableEditing();
  432 +
  433 + // 添加多变行编辑事件
  434 + polygon.addEventListener('dblclick', function (e) {
  435 +
  436 + // 获取编辑的多边形对象
  437 + var edit_pointE = polygon;
  438 +
  439 + var edit_bPloygonGrid = "";
  440 +
  441 + var editPolyGonLen_ = edit_pointE.getPath().length;
  442 +
  443 + for (var k = 0; k < editPolyGonLen_; k++) {
  444 +
  445 + if (k == 0) {
  446 +
  447 + edit_bPloygonGrid = edit_pointE.getPath()[k].lng + ' ' + edit_pointE.getPath()[k].lat;
  448 +
  449 + } else {
  450 +
  451 + edit_bPloygonGrid = edit_bPloygonGrid + ',' + edit_pointE.getPath()[k].lng + ' ' + edit_pointE.getPath()[k].lat;
  452 +
  453 + }
  454 +
  455 + }
  456 +
  457 + edit_bPloygonGrid = edit_bPloygonGrid + ',' + edit_pointE.getPath()[0].lng + ' ' + edit_pointE.getPath()[0].lat;
  458 +
  459 + // 多边形中心点
  460 + var centre_points = edit_pointE.getBounds().getCenter().lng + ' ' + edit_pointE.getBounds().getCenter().lat;
  461 +
  462 + /** 设置修改站点集合对象站点中心点百度坐标属性值 @param:<bJwpoints:中心点百度坐标) */
  463 + EditStationObj.setEitdStationJwpoints(centre_points);
  464 +
  465 + /** 设置修改站点集合对象范围图形类型属性值 @param:<shapesType:范围图形类型) */
  466 + EditStationObj.setEitdStationShapesType('d');
  467 +
  468 + /** 设置修改站点集合对象圆形半径属性值 @param:<radius:圆形半径) */
  469 + EditStationObj.setEitdStationRadius('');
  470 +
  471 + /** 设置修改站点集合对象图形百度坐标集合属性值 @param:<bPolygonGrid:图形百度坐标集合) */
  472 + EditStationObj.setEitdBPolygonGrid(edit_bPloygonGrid);
  473 +
  474 + $.get('edit.html', function (m) {
  475 +
  476 + $(pjaxContainer).append(m);
  477 +
  478 + $('#edit_station_mobal').trigger('editSelectMobal_show', [WorldsBMap, GetAjaxData, EditStationObj, LineObj, PublicFunctions]);
  479 +
  480 + });
  481 +
  482 + });
  483 +
  484 + }
  485 +
  486 + },
  487 +
  488 + // 在地图上画出上行线路走向
  489 + /*drawingUpline: function (polylineArray, polyline_center, data) {
  490 + /!*WorldsBMap.clearMarkAndOverlays();*!/
  491 + polyUpline = '';
  492 + // 创建线路走向
  493 + polyUpline = new BMap.Polyline(polylineArray, {strokeColor: "red", strokeWeight: 6, strokeOpacity: 0.7});
  494 + // polyUpline.data = data;
  495 + // 把折线添加到地图上
  496 + mapBValue.addOverlay(polyUpline);
  497 + /!*var ceter_index = Math.round(resultdata.length / 2);
  498 +
  499 + var ceterPointsStr = resultdata[ceter_index].bJwpoints;
  500 +
  501 + var ceterPointsArray = ceterPointsStr.split(' ');
  502 +
  503 + var polyline_center = new BMap.Point(ceterPointsArray[0],ceterPointsArray[1]);*!/
  504 + var PanOptions_ = {noAnimation: true};
  505 + mapBValue.reset();
  506 + mapBValue.panTo(polyline_center, PanOptions_);
  507 + mapBValue.panBy(500, -510, PanOptions_);
  508 + mapBValue.setZoom(14);
  509 + },*/
  510 +
  511 +
  512 + // 画路段走向
  513 + drawingUpline01: function (polyline_center, datas) {
  514 + if (polyline_center && datas) {
  515 + // 编辑路段数据
  516 + sectionArray = [];
  517 + for (var d = 0; d < datas.length; d++) {
  518 + var data = datas[d];
  519 + // 地图折线坐标点集合
  520 + var polylineArray = [];
  521 + // 获取路段折线坐标字符串
  522 + var sectionBsectionVectorStr = data.sectionBsectionVector;
  523 + if (sectionBsectionVectorStr == null)
  524 + continue;
  525 + // 切割段折线坐标字符串
  526 + var tempStr = sectionBsectionVectorStr.substring(11, sectionBsectionVectorStr.length - 1);
  527 + // 分割折线坐标字符串
  528 + var lineArray = tempStr.split(',');
  529 + for (var i = 0; i < lineArray.length; i++) {
  530 + polylineArray.push(new BMap.Point(lineArray[i].split(' ')[0], lineArray[i].split(' ')[1]));
  531 + }
  532 + var polyUpline01 = 'polyline' + '_' + data.sectionrouteId;
  533 + // 创建线路走向
  534 + polyUpline01 = new BMap.Polyline(polylineArray, {
  535 + strokeColor: "red",
  536 + strokeWeight: 6,
  537 + strokeOpacity: 0.7
  538 + });
  539 + polyUpline01.data = data;
  540 + polyUpline01.ct_source = '1';
  541 + // 把折线添加到地图上
  542 + mapBValue.addOverlay(polyUpline01);
  543 + // 聚焦事件
  544 + polyUpline01.addEventListener('mousemove', function (e) {
  545 + if (this != editPolyline)
  546 + this.setStrokeColor("#20bd26");
  547 + });
  548 + // 失去焦点
  549 + polyUpline01.addEventListener('mouseout', function (e) {
  550 + if (this != editPolyline && this != road_win_show_p)
  551 + this.setStrokeColor("red");
  552 + });
  553 + // 添加单击事件
  554 + polyUpline01.addEventListener('onclick', function (e) {
  555 + // 打开信息窗口
  556 + if (map_status != 1)
  557 + WorldsBMap.openSectionInfoWin(this);
  558 + });
  559 + sectionArray.push(polyUpline01);
  560 + }
  561 + mapBValue.setCenter(polyline_center);
  562 + mapBValue.setZoom(15);
  563 + // 禁止覆盖物在map.clearOverlays方法中被清除。(自 1.1 新增)
  564 + // polyUpline01.disableMassClear();
  565 + }
  566 + },
  567 +
  568 + /** 在地图上画点 @param:<point_center:中心坐标点> */
  569 + drawingUpStationPoint: function (station, s) {
  570 + // 中心点坐标字符串
  571 + var bJwpointsStr = station.stationJwpoints;
  572 + var stationName = station.stationRouteName;
  573 + // 起个中心点坐标字符串
  574 + var bJwpointsArray = bJwpointsStr.split(' ');
  575 + // 设置中心点
  576 + var point_center = new BMap.Point(bJwpointsArray[0],bJwpointsArray[1]);
  577 + // 自定义标注物图片
  578 + var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/gjzd.png', new BMap.Size(10, 10));
  579 +
  580 + var html2 = '<div style="position: absolute; margin: 0pt; padding: 0pt; width: 160px; height: 26px; left: -10px; top: -35px; overflow: hidden;">'
  581 + + '<img class="rm3_image" style="border:none;left:0px; top:0px; position:absolute;" src="/pages/base/stationroute/css/img/back160.png">'
  582 + + '</div>'
  583 + + '<label class=" BMapLabel" unselectable="on" style="position: absolute; -moz-user-select: none; display: inline; cursor: inherit; border: 0px none; padding: 2px 1px 1px; white-space: nowrap; font: 12px arial,simsun; z-index: 80; color: rgb(255, 102, 0); left: 15px; top: -35px;"><span style="float: left; color: #fdfdfd; margin-left: -22px; font-size: 6px;">' + s + '</span>' + stationName + '</label>';
  584 +
  585 + var myRichMarker1 = new BMapLib.RichMarker(html2, point_center, {
  586 + "title": stationName,
  587 + "anchor": new BMap.Size(-10, 8),
  588 + "enableDragging": true
  589 + });
  590 + myRichMarker1.disableDragging();
  591 + myRichMarker1.ct_source = '1';
  592 + mapBValue.addOverlay(myRichMarker1);
  593 + myRichMarker1.addEventListener('click', function () {
  594 + if(map_status != 1)
  595 + WorldsBMap.openStationInfoWin(station);
  596 + });
  597 + stationArray[station.stationRouteId] = station;
  598 + },
  599 +
  600 + // 站点名称获取百度坐标(手动规划)
  601 + stationsNameToPoints: function (arra, callback) {
  602 + // 获取长度
  603 + var len = arra.length;
  604 + var stationList = [];
  605 + (function () {
  606 + if (!arguments.callee.count) {
  607 + arguments.callee.count = 0;
  608 + }
  609 + arguments.callee.count++;
  610 + var index = parseInt(arguments.callee.count) - 1;
  611 + if (index >= len) {
  612 + callback && callback(stationList);
  613 + return;
  614 + }
  615 + var f = arguments.callee;
  616 + if (arra[index].name != '') {
  617 + var localSearch = new BMap.LocalSearch(mapBValue);
  618 + localSearch.search(arra[index].name);
  619 + localSearch.setSearchCompleteCallback(function (searchResult) {
  620 + var poi = searchResult.getPoi(0);
  621 + if (poi) {
  622 + stationList.push({
  623 + name: arra[index].name.replace('公交车站', ''),
  624 + wgs: arra[index].wgs,
  625 + potion: {lng: poi.point.lng, lat: poi.point.lat}
  626 + });
  627 + } else {
  628 + stationList.push({
  629 + name: arra[index].name.replace('公交车站', ''),
  630 + wgs: arra[index].wgs,
  631 + potion: {lng: arra[index].wgs.x, lat: arra[index].wgs.y}
1049 632 });
1050   - label.setStyle({
1051   - color: '#fff',
1052   - background:"url(/pages/base/stationroute/css/img/bg.png)",
1053   - border: '0px solid',
1054   - textAlign: "center",
1055   - height: "28px",
1056   - lineHeight: "26px",
1057   - width: "80px",
1058   - maxWidth: "none"
  633 + }
  634 + f();
  635 + });
  636 + } else {
  637 + f();
  638 + }
  639 + })();
  640 + },
  641 +
  642 + // 根据坐标点获取两点之间的时间与距离(手动规划)
  643 + getDistanceAndTotime: function (stationList, cb) {
  644 + stationList[0].distance = '';
  645 + stationList[0].duration = '';
  646 + // var sectionList = [];
  647 + // 获取长度
  648 + var len = stationList.length;
  649 + (function () {
  650 + if (!arguments.callee.count) {
  651 + arguments.callee.count = 0;
  652 + }
  653 + arguments.callee.count++;
  654 + var index = parseInt(arguments.callee.count) - 1;
  655 + if (index >= len - 1) {
  656 + // cb && cb(stationList,sectionList);
  657 + cb && cb(stationList);
  658 + return;
  659 + }
  660 + var f = arguments.callee;
  661 + var poiOne = new BMap.Point(stationList[index].potion.lng, stationList[index].potion.lat);
  662 + var poiTwo = new BMap.Point(stationList[index + 1].potion.lng, stationList[index + 1].potion.lat);
  663 + var transit = new BMap.TransitRoute(mapBValue, {
  664 + renderOptions: {map: mapBValue},
  665 + onSearchComplete: searchComplete
  666 + });
  667 +
  668 + transit.search(poiOne, poiTwo);
  669 + function searchComplete(results) {
  670 + var plan = results.getPlan(0);
  671 + if (transit.getStatus() != BMAP_STATUS_SUCCESS) {
  672 + stationList[index + 1].distance = '';
  673 + stationList[index + 1].duration = '';
  674 + // sectionList.push({sectionName:stationList[index].name+stationList[index+1].name,points:''});
  675 + } else {
  676 + stationList[index + 1].distance = plan.getDistance(true);
  677 + stationList[index + 1].duration = plan.getDuration(true);
  678 + // var line = plan.getRoute(0);
  679 + // sectionList.push({sectionName:stationList[index].name+stationList[index+1].name,points:line.getPath()});
  680 + }
  681 + f();
  682 + }
  683 + })();
  684 + },
  685 +
  686 + // 根据坐标点获取两点之间的折线路段(手动规划)
  687 + getSectionListPlonly: function (stationsPoint, cb) {
  688 + var len = stationsPoint.length;
  689 + var sectionList = [];
  690 + (function () {
  691 + if (!arguments.callee.count) {
  692 + arguments.callee.count = 0;
  693 + }
  694 + arguments.callee.count++;
  695 + var index = parseInt(arguments.callee.count) - 1;
  696 + if (index >= len - 1) {
  697 + cb && cb(sectionList);
  698 + return;
  699 + }
  700 + var f = arguments.callee;
  701 + var poiOne = new BMap.Point(stationsPoint[index].potion.lng, stationsPoint[index].potion.lat);
  702 + var poiTwo = new BMap.Point(stationsPoint[index + 1].potion.lng, stationsPoint[index + 1].potion.lat);
  703 + /* var transit = new BMap.TransitRoute(mapB, {renderOptions: {map: mapB},onPolylinesSet: searchPolylinesSet});*/
  704 + var transit = new BMap.DrivingRoute(mapBValue, {
  705 + renderOptions: {map: mapBValue},
  706 + onPolylinesSet: searchPolylinesSet
  707 + });
  708 + function searchPolylinesSet(results) {
  709 + if (transit.getStatus() != BMAP_STATUS_SUCCESS) {
  710 + } else {
  711 + var sectionArrayList = [];
  712 + for (i = 0; i < results.length; i++) {
  713 + // console.log(results[i].getPolyline().getPath());
  714 + sectionArrayList = sectionArrayList.concat(results[i].getPolyline().getPath());
  715 + }
  716 + var sectionName = stationsPoint[index].name + '至' + stationsPoint[index + 1].name;
  717 + sectionList.push({sectionName: sectionName, points: sectionArrayList});
  718 + }
  719 + f();
  720 + }
  721 + transit.search(poiOne, poiTwo);
  722 + })();
  723 + },
  724 +
  725 + localtionPoint: function (stationNameV) {
  726 + // 关闭信息窗口
  727 + mapBValue.closeInfoWindow();
  728 +
  729 + WorldsBMap.localSearchFromAdreesToPoint(stationNameV, function (Points) {
  730 +
  731 + if (Points) {
  732 +
  733 + var BJwpointsArray = Points.split(' ');
  734 +
  735 + var stationNameChangePoint = new BMap.Point(BJwpointsArray[0], BJwpointsArray[1]);
  736 +
  737 + var marker_stargt2 = new BMap.Marker(stationNameChangePoint);
  738 +
  739 + var PanOptions = {noAnimation: true};
  740 +
  741 + mapBValue.panTo(stationNameChangePoint, PanOptions);
  742 +
  743 + mapBValue.panBy(0, -100);
  744 +
  745 + // 将标注添加到地图中
  746 + mapBValue.addOverlay(marker_stargt2);
  747 +
  748 + //跳动的动画
  749 + marker_stargt2.setAnimation(BMAP_ANIMATION_BOUNCE);
  750 +
  751 + }
  752 +
  753 + });
  754 +
  755 + },
  756 +
  757 + /** 系统规划抓去数据 @param lineNameValue:线路名称;i:方向*/
  758 + getBmapStationNames: function (lineNameValue, i, callback) {
  759 +
  760 + var busline = new BMap.BusLineSearch(mapBValue, {
  761 +
  762 + // 设置公交列表查询后的回调函数。参数:rs: BusListResult类型
  763 + onGetBusListComplete: function (BusListResult) {
  764 +
  765 + // 如果不为空
  766 + if (BusListResult) {
  767 +
  768 + //获取第一个公交列表显示到map上
  769 + var fstLine = BusListResult.getBusListItem(i);
  770 +
  771 + /*if(fstLine==undefined){
  772 +
  773 + layer.confirm('系统无法生成该线路【'+lineNameValue+'】的站点与路段!请点击返回选择其它方式规划', {btn : [ '返回' ],icon: 3, title:'提示' }, function(index){
  774 +
  775 + layer.closeAll();
  776 +
  777 + if(i==0){
  778 +
  779 + $('#upToolsMobal').show();
  780 +
  781 + }else if(i==1){
  782 +
  783 + $('#downToolsMobal').show();
  784 +
  785 + }
  786 +
  787 + return;
1059 788 });
1060   - label.addEventListener('click', function () {
1061   - var params = {};
1062   - params.lineId = stationRouteBegin.stationRouteLine;
1063   - params.lineCode = stationRouteBegin.stationRouteLIneCode;
1064   - params.directions = stationRouteBegin.stationRoutedirections;
1065   - params.stationRouteBegin = stationRouteBegin.stationRouteName;
1066   - params.stationRouteFinish = stationRouteFinish.stationRouteName;
  789 +
  790 + }*/
  791 +
  792 + if (fstLine == undefined) {
  793 +
  794 +
  795 + callback && callback(null);
  796 +
  797 + }
  798 +
  799 + busline.getBusLine(fstLine);
  800 +
  801 + }
  802 +
  803 + },
  804 +
  805 + //设置公交线路查询后的回调函数.参数:rs: BusLine类型
  806 + onGetBusLineComplete: function (BusLine) {
  807 +
  808 + // 如果不为空
  809 + if (BusLine) {
  810 +
  811 + callback && callback(BusLine);
  812 +
  813 + }
  814 +
  815 + }
  816 +
  817 + });
  818 +
  819 + busline.getBusList(lineNameValue);
  820 +
  821 + },
  822 + // 修改站点
  823 + editStation: function (stationRouteId) {
  824 + // $.get("/stationroute/findStationRouteInfo",{"id":stationRouteId},function (route) {
  825 + $.get('edit_select.html', function (m) {
  826 + $(pjaxContainer).append(m);
  827 + $('#edit_select_mobal').trigger('editSelectMobal_show', [WorldsBMap, DrawingManagerObj, GetAjaxData, EditStationObj, LineObj, PublicFunctions, stationArray[stationRouteId]]);
  828 + });
  829 + // });
  830 + },
  831 + addBetweenStationRoad: function (stationRouteId) {
  832 + // 关闭信息窗口
  833 + mapBValue.closeInfoWindow();
  834 + $.get("/stationroute/findStationRouteInfo", {"id": stationRouteId}, function (route) {
  835 + var stationRouteBegin = route[0];
  836 + // 查询下一个站点
  837 + $.get("/stationroute/findDownStationRoute", {
  838 + "lineId": stationRouteBegin.stationRouteLine,
  839 + "direction": stationRouteBegin.stationRoutedirections,
  840 + "stationRouteCode": stationRouteBegin.stationRouteCode
  841 + }, function (stationRoute) {
  842 + var stationRouteFinish = stationRoute[0];
  843 +
  844 + if (stationRouteFinish) {
  845 + var pointBegin = stationRouteBegin.stationJwpoints.split(" ");
  846 + var pointFinish = stationRouteFinish.stationJwpoints.split(" ")
  847 + var sectionList = [];
  848 + // 两个站点的坐标
  849 + var poiOne = new BMap.Point(pointBegin[0], pointBegin[1]);
  850 + var poiTwo = new BMap.Point(pointFinish[0], pointFinish[1]);
  851 + // 路径规划保存按钮
  852 + var label = new BMap.Label("保存路段", {
  853 + offset: new BMap.Size(13, -53)
  854 + });
  855 + label.setStyle({
  856 + color: '#fff',
  857 + background: "url(/pages/base/stationroute/css/img/bg.png)",
  858 + border: '0px solid',
  859 + textAlign: "center",
  860 + height: "28px",
  861 + lineHeight: "26px",
  862 + width: "80px",
  863 + maxWidth: "none"
  864 + });
  865 + label.addEventListener('click', function () {
  866 + var params = {};
  867 + params.lineId = stationRouteBegin.stationRouteLine;
  868 + params.lineCode = stationRouteBegin.stationRouteLIneCode;
  869 + params.directions = stationRouteBegin.stationRoutedirections;
  870 + params.stationRouteBegin = stationRouteBegin.stationRouteName;
  871 + params.stationRouteFinish = stationRouteFinish.stationRouteName;
  872 + layer.confirm('确定保存', {
  873 + btn : [ '路段调整好了','继续调整','退出'], icon: 3, title:'提示'
  874 + ,btn3: function(index, layero){
  875 + PublicFunctions.resjtreeDate(params.lineId,params.directions);
  876 + PublicFunctions.editAChangeCssRemoveDisabled();
  877 + GetAjaxData.getSectionRouteInfo(params.lineId,params.directions,function(data) {
  878 + PublicFunctions.linePanlThree(params.lineId,data,params.directions);
  879 + });
  880 + PublicFunctions.editMapStatusRemove();
  881 + }
  882 + }, function(index, layero){
  883 + layer.close(index);
1067 884 params.route = $("#routePlanning").val();
1068   - $.get('doublename_road.html', function(m){
  885 + $.get('doublename_road.html', function (m) {
1069 886 $(pjaxContainer).append(m);
1070   - $('#doublename_road_mobal').trigger('doubleNameRoadMobal_show', [params,WorldsBMap,GetAjaxData,PublicFunctions]);
  887 + $('#doublename_road_mobal').trigger('doubleNameRoadMobal_show', [params, WorldsBMap, GetAjaxData, PublicFunctions]);
1071 888 });
  889 + PublicFunctions.editMapStatusRemove();
1072 890 });
1073   - // 路径规划
1074   - var transit = new BMap.DrivingRoute(mapBValue, {renderOptions: {map: mapBValue,enableDragging : true},onPolylinesSet: searchPolylinesSet});
1075   - function searchPolylinesSet(results){
1076   - if (transit.getStatus() == BMAP_STATUS_SUCCESS){
1077   - var sectionArrayList = [];
1078   - for (i = 0; i < results.length; i++){
1079   - sectionArrayList = sectionArrayList.concat(results[i].getPolyline().getPath());
1080   - }
1081   - sectionList = sectionArrayList;//JSON.stringify()
1082   - $("#routePlanning").val(JSON.stringify(sectionArrayList));
1083   - var pointMap = new Map();
1084   - pointMap = sectionArrayList[sectionArrayList.length-1];
1085   - var pointLabel = new BMap.Point(pointMap.lng,pointMap.lat);
1086   - label.enableMassClear();
1087   - label.setPosition(pointLabel);
1088   - mapBValue.addOverlay(label);
  891 + });
  892 + // 路径规划
  893 + var transit = new BMap.DrivingRoute(mapBValue, {
  894 + renderOptions: {
  895 + map: mapBValue,
  896 + enableDragging: true
  897 + },
  898 + onPolylinesSet: searchPolylinesSet
  899 + });
  900 +
  901 + function searchPolylinesSet(results) {
  902 + if (transit.getStatus() == BMAP_STATUS_SUCCESS) {
  903 + var sectionArrayList = [];
  904 + for (i = 0; i < results.length; i++) {
  905 + sectionArrayList = sectionArrayList.concat(results[i].getPolyline().getPath());
1089 906 }
  907 + sectionList = sectionArrayList;//JSON.stringify()
  908 + $("#routePlanning").val(JSON.stringify(sectionArrayList));
  909 + var pointMap = new Map();
  910 + pointMap = sectionArrayList[sectionArrayList.length - 1];
  911 + var pointLabel = new BMap.Point(pointMap.lng, pointMap.lat);
  912 + label.enableMassClear();
  913 + label.setPosition(pointLabel);
  914 + mapBValue.addOverlay(label);
1090 915 }
1091   - transit.search(poiOne,poiTwo);
1092   - transit.disableAutoViewport();
1093   - } else {
1094   - layer.msg("您选择的站点后没有站点了,不能生成站点间路段!")
1095   - }
  916 + }
  917 + transit.search(poiOne, poiTwo);
  918 + transit.disableAutoViewport();
  919 + // 地图编辑状态
  920 + PublicFunctions.editMapStatus();
  921 + } else {
  922 + layer.msg("您选择的站点后没有站点了,不能生成站点间路段!")
  923 + }
1096 924  
  925 + });
  926 + });
  927 +
  928 + },
  929 + // 定位路段
  930 + focusSection: function(sectionRoudId) {
  931 + for (var i = 0, p; p = sectionArray[i++];) {
  932 + if (p.data.sectionrouteId == sectionRoudId) {
  933 + WorldsBMap.openSectionInfoWin(p);
  934 + break;
  935 + }
  936 + }
  937 + },
  938 + // 编辑路段
  939 + editSection : function(sectionRoudId) {
  940 + layer.confirm('进入编辑状态', {
  941 + btn : [ '确定','返回' ], icon: 3, title:'提示'
  942 + }, function() {
  943 + PublicFunctions.editMapStatus();
  944 + layer.msg('双击保存路段');
  945 + var p;
  946 + for (var i = 0; p = sectionArray[i++];) {
  947 + if (p.data.sectionrouteId == sectionRoudId) {
  948 + mapBValue.closeInfoWindow();//关闭infoWindow
  949 + p.enableEditing();
  950 + p.setStrokeColor('blue');
  951 + editPolyline = p;
  952 + break;
  953 + }
  954 + }
  955 + p.addEventListener('dblclick', function () {
  956 + /** 设置修改路段集合对象为空 */
  957 + editPolyline = '';
  958 + PublicFunctions.editMapStatusRemove();
  959 + $.get('editsection.html', function(m){
  960 + $('body').append(m);
  961 + $('#edit_section_mobal').trigger('editSectionMobal_show', [WorldsBMap,GetAjaxData,p,PublicFunctions]);
  962 + });
  963 + });
  964 + });
  965 + },
  966 + // 添加在路段之后
  967 + addSection : function(stecion) {
  968 + PublicFunctions.editMapStatus();
  969 + // 把数据填充到模版中
  970 + var addSectionHTML = template('add_draw_polyline-temp');
  971 + $('body .mian-portlet-body').append(addSectionHTML);
  972 + //暂停和开始绘制
  973 + $('.draw_polyline_switch>a').on('click', function () {
  974 + var t = $(this).text();
  975 + if(t=='暂停绘制'){
  976 + WorldsBMap.exitDrawStatus();
  977 + $(this).text('开始绘制');
  978 + }
  979 + else{
  980 + WorldsBMap.openDrawStatus();
  981 + $(this).text('暂停绘制');
  982 + }
  983 + });
  984 + // 开启绘制事件
  985 + WorldsBMap.showAddSectionPanel(stecion);
  986 +
  987 + //取消
  988 + $('#addSectionCancelBtn').on('click', function () {
  989 + $('.main_left_panel_m_layer').hide();
  990 + $(this).parents('.buffer_edit_body').parent().remove();
  991 + WorldsBMap.exitDrawStatus();
  992 + PublicFunctions.editMapStatusRemove();
  993 + });
  994 +
  995 + //确定
  996 + $('#addSectionSbmintBtn').on('click', function () {
  997 + var btn = this;
  998 + $('#addSectionSbmintBtn').addClass("disabled");
  999 + var sectionName = $('#sectionNameInput').val();
  1000 + var bsectionVector = $('#bsectionVectorInput').val();
  1001 + var params = {};
  1002 + if(sectionName && bsectionVector) {
  1003 + WorldsBMap.exitDrawStatus();
  1004 + GetAjaxData.getSectionCode(function(sectionCode) {
  1005 + var lineId = stecion.lineId;
  1006 + var dir = stecion.dir;
  1007 + params.lineId = lineId;
  1008 + params.lineCode = stecion.lineCode;
  1009 + params.sectionCode = sectionCode;// 设值路段编码.
  1010 + params.sectionName = sectionName;
  1011 + params.roadCoding = '';
  1012 + params.dbType = 'b';
  1013 + params.bsectionVector = bsectionVector;
  1014 + params.sectionrouteCode = 1;
  1015 + params.sectionTime = 0;
  1016 + params.sectionDistance = 60;
  1017 + params.speedLimit = 0;
  1018 + params.versions = stecion.versions;
  1019 + params.destroy = 0;
  1020 + params.directions = dir;
  1021 + params.descriptions = '';
  1022 + GetAjaxData.sectionSave(params, function (result) {
  1023 + if(result.status =="SUCCESS"){
  1024 + $('.main_left_panel_m_layer').hide();
  1025 + $(btn).parents('.buffer_edit_body').parent().remove();
  1026 + PublicFunctions.editMapStatusRemove();
  1027 + PublicFunctions.resjtreeDate(lineId,dir);
  1028 + PublicFunctions.editAChangeCssRemoveDisabled();
  1029 + GetAjaxData.getSectionRouteInfo(lineId,dir,function(data) {
  1030 + PublicFunctions.linePanlThree(lineId,data,dir);
  1031 + });
  1032 + layer.msg("添加成功!");
  1033 + } else if(result.status =="ERROR") {
  1034 + layer.msg("添加失败!");
  1035 + }
  1036 + });
  1037 + });
  1038 + } else if(sectionName){
  1039 + layer.msg('请填写路段名字!');
  1040 + } else if(bsectionVector){
  1041 + layer.msg('请填先绘制路段!');
  1042 + }
  1043 + setTimeout(function () {
  1044 + $("#addSectionSbmintBtn").removeClass("disabled");
  1045 + },1000);
  1046 + });
  1047 + },
  1048 + // 添加在路段之后
  1049 + addSectionAfter : function(sectionRoudId) {
  1050 + //order = after before;
  1051 + var beforeSection;
  1052 + // 关闭信息窗口
  1053 + mapBValue.closeInfoWindow();
  1054 + PublicFunctions.editMapStatus();
  1055 + // 把数据填充到模版中
  1056 + var addSectionHTML = template('add_draw_polyline-temp',{ 'id': sectionRoudId});
  1057 + $('body .mian-portlet-body').append(addSectionHTML);
  1058 + //暂停和开始绘制
  1059 + $('.draw_polyline_switch>a').on('click', function () {
  1060 + var t = $(this).text();
  1061 + if(t=='暂停绘制'){
  1062 + WorldsBMap.exitDrawStatus();
  1063 + $(this).text('开始绘制');
  1064 + }
  1065 + else{
  1066 + WorldsBMap.openDrawStatus();
  1067 + $(this).text('暂停绘制');
  1068 + }
  1069 + });
  1070 +
  1071 + //取消
  1072 + $('#addSectionCancelBtn').on('click', function () {
  1073 + $('.main_left_panel_m_layer').hide();
  1074 + $(this).parents('.buffer_edit_body').parent().remove();
  1075 + WorldsBMap.exitDrawStatus();
  1076 + PublicFunctions.editMapStatusRemove();
  1077 + });
  1078 + GetAjaxData.getSectionRouteInfoById(sectionRoudId, function(data){
  1079 + WorldsBMap.showAddSectionPanel(data[0]);
  1080 + beforeSection = data[0];
  1081 + });
  1082 +
  1083 + //确定
  1084 + $('#addSectionSbmintBtn').on('click', function () {
  1085 + var btn = this;
  1086 + $('#addSectionSbmintBtn').addClass("disabled");
  1087 + var sectionName = $('#sectionNameInput').val();
  1088 + var params = {};
  1089 + if(sectionName) {
  1090 + WorldsBMap.exitDrawStatus();
  1091 + GetAjaxData.getSectionCode(function(sectionCode) {
  1092 + var lineId = beforeSection.sectionRouteLine
  1093 + var dir = beforeSection.sectionRouteDirections
  1094 + params.lineId = lineId;
  1095 + params.lineCode = beforeSection.sectionRouteLineCode;
  1096 + params.sectionCode = sectionCode;// 设值路段编码.
  1097 + params.sectionName = sectionName;
  1098 + params.roadCoding = '';
  1099 + params.dbType = 'b';
  1100 + params.bsectionVector = $('#bsectionVectorInput').val();
  1101 + params.sectionrouteCode = beforeSection.sectionRouteCode+"_0";
  1102 + params.sectionTime = 0;
  1103 + params.sectionDistance = 60;
  1104 + params.speedLimit = 0;
  1105 + params.versions = beforeSection.sectionVersion;
  1106 + params.destroy = 0;
  1107 + params.directions = dir;
  1108 + params.descriptions = '';
  1109 + GetAjaxData.sectionSave(params, function (result) {
  1110 + if(result.status =="SUCCESS"){
  1111 + $('.main_left_panel_m_layer').hide();
  1112 + $(btn).parents('.buffer_edit_body').parent().remove();
  1113 + PublicFunctions.editMapStatusRemove();
  1114 + PublicFunctions.resjtreeDate(lineId,dir);
  1115 + PublicFunctions.editAChangeCssRemoveDisabled();
  1116 + GetAjaxData.getSectionRouteInfo(lineId,dir,function(data) {
  1117 + PublicFunctions.linePanlThree(lineId,data,dir);
  1118 + });
  1119 + layer.msg("添加成功!");
  1120 + } else if(result.status =="ERROR") {
  1121 + layer.msg("添加失败!");
  1122 + }
  1123 + });
  1124 + });
  1125 + } else {
  1126 + layer.msg('请填写路段名字');
  1127 + }
  1128 + setTimeout(function () {
  1129 + $("#addSectionSbmintBtn").removeClass("disabled");
  1130 + },1000);
  1131 + });
  1132 + },
  1133 + // 撤销站点
  1134 + destroyStation : function(stationRouteId,lineId,dir) {
  1135 + layer.confirm('你确定要撤销此站点吗?', {
  1136 + btn : [ '撤销','返回' ], icon: 3, title:'提示'
  1137 + }, function(){
  1138 + $.post('/stationroute/stationRouteIsDestroy',{'stationRouteId':stationRouteId,destroy:'1'},function(resuntDate) {
  1139 + if (resuntDate.status == 'SUCCESS') {
  1140 + // 弹出添加成功提示消息
  1141 + layer.msg('撤销成功!');
  1142 + } else {
  1143 + // 弹出添加失败提示消息
  1144 + layer.msg('撤销失败!');
  1145 + }
  1146 + // 刷新左边树
  1147 + PublicFunctions.resjtreeDate(lineId,dir);
  1148 + /** 查询路段信息 @param:<Line.id:线路Id;delBatch.dir:方向> @return:data:路段数据 */
  1149 + GetAjaxData.getSectionRouteInfo(lineId,dir,function(data) {
  1150 + /** 在地图上画出线路走向 @param:<Line.id:线路Id;delBatch.dir:方向;data:路段数据> */
  1151 + PublicFunctions.linePanlThree(lineId,data,dir);
  1152 + });
  1153 + });
  1154 + });
  1155 + },
  1156 + // 撤销路段
  1157 + destroySection : function(sectionRoudId,lineId,dir) {
  1158 + layer.confirm('你确定要撤销此路段吗?', {
  1159 + btn : [ '撤销','返回' ], icon: 3, title:'提示'
  1160 + }, function(){
  1161 + $.post('/sectionroute/destroy',{'id': sectionRoudId},function(resuntDate) {
  1162 + if (resuntDate.status == 'SUCCESS') {
  1163 + // 弹出添加成功提示消息
  1164 + layer.msg('撤销成功!');
  1165 + } else {
  1166 + // 弹出添加失败提示消息
  1167 + layer.msg('撤销失败!');
  1168 + }
  1169 + // 刷新左边树
  1170 + PublicFunctions.resjtreeDate(lineId,dir);
  1171 + /** 查询路段信息 @param:<Line.id:线路Id;delBatch.dir:方向> @return:data:路段数据 */
  1172 + GetAjaxData.getSectionRouteInfo(lineId,dir,function(data) {
  1173 + /** 在地图上画出线路走向 @param:<Line.id:线路Id;delBatch.dir:方向;data:路段数据> */
  1174 + PublicFunctions.linePanlThree(lineId,data,dir);
1097 1175 });
1098 1176 });
  1177 + });
  1178 + },
  1179 + // 打开路段信息窗口
  1180 + openSectionInfoWin : function(p) {
  1181 + var section = p.data;
  1182 + var width = WorldsBMap.strGetLength(section.sectionName) * 10;
  1183 + // 信息窗口参数属性
  1184 + var opts = {
  1185 + // 信息窗口宽度
  1186 + width: (width < 200 ? 200 : width),
  1187 + // 信息窗口高度
  1188 + height: 150,
  1189 + //设置不允许信窗发送短息
  1190 + enableMessage: false,
  1191 + //是否开启点击地图关闭信息窗口
  1192 + enableCloseOnClick: false,
  1193 + // 是否开启信息窗口打开时地图自动移动(默认开启)。(自 1.1 新增)
  1194 + enableAutoPan: false
  1195 + };
  1196 + var htm = '<span style="color: #ff8355;font-size: 18px;">' + section.sectionName + '</span>' +
  1197 + '<span class="help-block" >路段编码:' + section.sectionCode + '</span>' +
  1198 + '<span class="help-block" >路段序号:' + section.sectionrouteCode + '</span>' +
  1199 + '<span class="help-block" >版本号&nbsp&nbsp:' + section.versions + '</span>' +
  1200 + '<div >' +
  1201 + '<button class="info_win_btn" id="editStation" onclick="WorldsBMap.editSection(' + section.sectionrouteId + ')">修改</button>' +
  1202 + '<button class="info_win_btn" id="addSectionAfter" onclick="WorldsBMap.addSectionAfter('+section.sectionrouteId+')">添加(之后)</button>' +
  1203 + '<button class="info_win_btn" id="addBetweenStationRoad" onclick="WorldsBMap.destroySection('+ section.sectionrouteId + ','+section.sectionrouteLine+','+section.sectionrouteDirections+')">撤销</button>' +
  1204 + '</div>';
  1205 +
  1206 + // 创建信息窗口
  1207 + var infoWindow_target = new BMap.InfoWindow(htm, opts);
  1208 + // 切割段折线坐标字符串
  1209 + var sectionStr = section.sectionBsectionVector.substring(11, section.sectionBsectionVector.length - 1);
  1210 + // 分割折线坐标字符串
  1211 + var lineArray = sectionStr.split(',');
  1212 + var sectionArray = [];
  1213 + for (var i = 0; i < lineArray.length; i++) {
  1214 + sectionArray.push(new BMap.Point(lineArray[i].split(' ')[0], lineArray[i].split(' ')[1]));
  1215 + }
  1216 + // 计算中间点
  1217 + var index = parseInt(sectionArray.length / 2);
  1218 + var centerPoint = sectionArray[index];
  1219 + //close event
  1220 + infoWindow_target.addEventListener('close', function (e) {
  1221 + p.setStrokeColor("red");
  1222 + road_win_show_p = null;
  1223 + });
  1224 + //open event
  1225 + infoWindow_target.addEventListener('open', function (e) {
  1226 + p.setStrokeColor("#20bd26");
  1227 + road_win_show_p = p;
  1228 + });
  1229 + //开启信息窗口
  1230 + mapBValue.openInfoWindow(infoWindow_target, centerPoint);
  1231 + mapBValue.setZoom(18);
  1232 + mapBValue.setCenter(centerPoint);
  1233 + },
  1234 + /**
  1235 + * 绘制新增路段
  1236 + * @param section
  1237 + */
  1238 + showAddSectionPanel : function (section) {
  1239 + var point;
  1240 + if(section){
  1241 + var sectionBsectionVectorStr = section.sectionBsectionVector;
  1242 + var line = sectionBsectionVectorStr.substring(11, sectionBsectionVectorStr.length - 1),
  1243 + points = line.split(','),
  1244 + pointStr = points[points.length-1].split(' ');
  1245 +
  1246 + point = new BMap.Point(pointStr[0], pointStr[1]);
  1247 + }
  1248 +
  1249 + mapBValue.centerAndZoom(point, 18);
  1250 +
  1251 + //开启鼠标绘制
  1252 + drawingManager = new BMapLib.DrawingManager(mapBValue, {
  1253 + polylineOptions: styleOptions
  1254 + });
  1255 +
  1256 + drawingManager.open();
  1257 + //drawingManager.enableCalculate();
  1258 + drawingManager.setDrawingMode('polyline');
  1259 +
  1260 + //绘制完成
  1261 + drawingManager.addEventListener('polylinecomplete', function (e) {
  1262 + console.log('eee', e, e.getPath());
  1263 + drawingManager.close();
  1264 +
  1265 + var polyline = new BMap.Polyline(e.getPath(), {strokeWeight: 7, strokeColor: 'blue', strokeOpacity: 0.7});
  1266 +
  1267 + mapBValue.removeOverlay(e);
  1268 + mapBValue.addOverlay(polyline);
  1269 + polyline.enableEditing();
  1270 +
  1271 + editPolyline = polyline;
  1272 + var sectionData = e.getPath();// 获取折线坐标集合
  1273 + $('#bsectionVectorInput').val(JSON.stringify(sectionData));
  1274 + });
  1275 + },
  1276 + exitDrawStatus : function () {
  1277 + if (drawingManager) {
  1278 + WorldsBMap.clearOtherOverlay();
  1279 + drawingManager.close();
  1280 + }
  1281 + },
  1282 + openDrawStatus : function () {
  1283 + if (drawingManager) {
  1284 + WorldsBMap.clearOtherOverlay();
  1285 + drawingManager.open();
  1286 + }
  1287 + },
  1288 + /** 清楚无需要的覆盖物(非站点/路段数据源)*/
  1289 + clearOtherOverlay : function () {
  1290 + var all = mapBValue.getOverlays();
  1291 + for (var i = 0, obj; obj = all[i++];) {
  1292 + if (obj.ct_source && obj.ct_source == '1')
  1293 + continue;
  1294 + mapBValue.removeOverlay(obj);
  1295 + }
  1296 + },
  1297 + clearMarkAndOverlays: function () {
  1298 + // 清楚地图覆盖物
  1299 + mapBValue.clearOverlays();
  1300 + mapBValue.removeOverlay();
  1301 + },
  1302 + clearMark: function () {
  1303 + // 清楚地图覆盖物
  1304 + mapBValue.removeOverlay();
  1305 + },
  1306 + strGetLength: function (str) {
  1307 + return str.replace(/[\u0391-\uFFE5]/g, "aa").length; //先把中文替换成两个字节的英文,在计算长度
  1308 + }
  1309 + }
  1310 +
  1311 + return Bmap;
1099 1312  
1100   - },
1101   -
1102   - clearMarkAndOverlays : function() {
1103   -
1104   - // 清楚地图覆盖物
1105   - mapBValue.clearOverlays();
1106   -
1107   - mapBValue.removeOverlay();
1108   -
1109   - }
1110   -
1111   - }
1112   -
1113   - return Bmap;
1114   -
1115 1313 }();
1116 1314 \ No newline at end of file
... ...
src/main/resources/static/pages/base/stationroute/js/stationroute-list-reload.js
... ... @@ -80,5 +80,7 @@ $(function(){
80 80 });
81 81  
82 82 }
83   -
  83 + $('.green-seagreen dropdown-toggle').click(function(){
  84 + $('.dropdown-menu').css("display", "block");
  85 + });
84 86 });
85 87 \ No newline at end of file
... ...
src/main/resources/static/pages/base/stationroute/js/stationroute-list-treedata.js
... ... @@ -22,44 +22,7 @@ var StationTreeData = function(){
22 22 EditSectionObj.setEitdSection({});
23 23  
24 24 }
25   -
26   - function upIsEidtStauts(shapesTypeT,chaildredType,data) {
27   -
28   - // 关闭弹出层
29   - layer.closeAll();
30   -
31   - // 选中的是站点
32   - if(chaildredType =='station') {
33   -
34   - // 如果是圆
35   - if(shapesTypeT =='r') {
36   -
37   - // 百度地图画圆
38   - WorldsBMap.pointsCircle(data);
39   -
40   - // 如果是多边形
41   - }else if(shapesTypeT == 'd') {
42   -
43   - // 百度地图画多边形
44   - WorldsBMap.pointsPolygon(data);
45   -
46   - }
47   -
48   - // 选中的是路段
49   - }else if(chaildredType =='section'){
50   - // 路段矢量坐标点
51   - var polylineArray = [data];
52   - // 路段方向
53   - var dire_ = data.sectionrouteDirections;
54   - // 线路ID
55   - var Line = LineObj.getLineObj();
56   - /*// 百度地图画路段
57   - PublicFunctions.linePanlThree(Line.id,polylineArray,dire_);*/
58   - // 百度地图画路段
59   - PublicFunctions.treeSectionClick(Line.id,polylineArray,dire_);
60   - }
61   - }
62   -
  25 +
63 26 function TreeOnclickEvent(treeOjb) {
64 27 if(treeOjb==null)
65 28 return;
... ... @@ -70,64 +33,15 @@ var StationTreeData = function(){
70 33 }
71 34 // 获取数据
72 35 var stationData = treeOjb[0].original;
73   - // 站点范围类型
74   - var shapesType_ = stationData.stationShapesType;
75   - // 选中的节点类型
76   - var chaildredType_ = stationData.chaildredType;
77   - // 选中的其它节点
78   - if(chaildredType_ ==null){
79   - return;
80   - }
81   - var edtsta = EditStationObj.getEitdStation();
82   - var edtste = EditSectionObj.getEitdSection();
83   - if(!$.isEmptyObject(edtsta)){
84   - var stationName = edtsta.stationStationName;
85   - var txType = edtsta.stationShapesType;
86   - // 是否继续弹出层
87   - layer.confirm('您正处于站点【'+stationName+'】的编辑状态!是否退出!', {
88   - btn : [ '确认并退出', '返回并继续' ]
89   - }, function(index) {
90   - DrawingManagerObj.closeDrawingManager();
91   - PublicFunctions.editAChangeCssRemoveDisabled();
92   - // 关闭弹出层
93   - layer.close(index);
94   - WorldsBMap.clearMarkAndOverlays();
95   - if(txType=='r'){
96   - WorldsBMap.pointsCircle(edtsta);
97   - }else if(txType=='d') {
98   - // 百度地图画多边形
99   - WorldsBMap.pointsPolygon(edtsta);
100   - }
101   - parmasObj();
102   - },function(){
103   - // 关闭弹出层
104   - layer.closeAll();
105   - return false;
106   - });
107   -
108   - }else if(!$.isEmptyObject(edtste)) {
109   - var sectionName = edtste.sectionName;
110   - // 是否继续弹出层
111   - layer.confirm('您正处于路段【'+sectionName+'】的编辑状态!是否退出!', {
112   - btn : [ '确认并退出', '返回并继续' ]
113   - }, function(index) {
114   - // 关闭弹出层
115   - layer.close(index);
116   - PublicFunctions.editAChangeCssRemoveDisabled();
117   - var polylineArray_ = [edtste];
118   - WorldsBMap.clearMarkAndOverlays();
119   - // 百度地图画路段
120   - PublicFunctions.treeSectionClick(Line.id,polylineArray,dire_);
121   - parmasObj();
122   -
123   - },function(){
124   - // 关闭弹出层
125   - layer.closeAll();
126   - return false;
127   - });
128   - }else {
129   - WorldsBMap.clearMarkAndOverlays();
130   - upIsEidtStauts(shapesType_,chaildredType_,stationData);
  36 + // 选中的节点类型
  37 + var chaildredType_ = stationData.chaildredType;
  38 +
  39 + if(chaildredType_ == "section") {
  40 + WorldsBMap.focusSection(stationData.sectionrouteId);
  41 + } else if(chaildredType_ == "station") {
  42 + WorldsBMap.openStationInfoWin(stationData);
  43 + } else if(chaildredType_ == "addSection") {
  44 + WorldsBMap.addSection(stationData);
131 45 }
132 46 }
133 47 var stationTree = {
... ... @@ -251,7 +165,11 @@ var StationTreeData = function(){
251 165 tree.settings.core.data = treeDateJson;
252 166 // 刷新上行树
253 167 tree.refresh();
254   - },
  168 + // 展开树
  169 + setTimeout(function () {
  170 + tree.open_all();
  171 + },500);
  172 + },
255 173 dwonreloadeTree : function (treeDateJson) {
256 174 // 获取下行树
257 175 var tree = $.jstree.reference('#station_Down_tree');
... ... @@ -259,6 +177,10 @@ var StationTreeData = function(){
259 177 tree.settings.core.data = treeDateJson;
260 178 // 刷行下行树
261 179 tree.refresh();
  180 + // 展开树
  181 + setTimeout(function () {
  182 + tree.open_all();
  183 + },500);
262 184 }
263 185 }
264 186  
... ...
src/main/resources/static/pages/base/stationroute/list.html
1 1 <link href="/pages/base/stationroute/css/bmap_base.css" rel="stylesheet" type="text/css" />
2   -<div class="portlet-body">
  2 +<link rel="stylesheet" href="/assets/plugins/layer-v2.4/layer/skin/layer.css">
  3 +
  4 +<div class="mian-portlet-body">
3 5 <!-- 地图 -->
4 6 <div id="bmap_basic" class="bmaps"></div>
  7 + <!-- 搜索框 -->
  8 +
  9 + <div class="search_panel">
  10 + <div class="search_input_panel">
  11 + <input class="search_input" type="text" placeholder="输入位置搜索" id="searchInput">
  12 + <span class="fa fa-close fa-lg clear hide" aria-hidden="true"></span >
  13 + </div>
  14 + <div class="search_button_panel">
  15 + <button class="fa fa-search fa-lg search_button" >
  16 + </button >
  17 + </div>
  18 + </div>
  19 +
  20 + <div id="searchResultPanel" style="border:1px solid #C0C0C0;width:150px;height:auto; display:none;z-index: 199;"></div>
5 21 <!-- 路径规划路段 -->
6 22 <input class="hand" id="routePlanning" />
7   - <div class="portlet box protlet-box">
8   - <!-- 左边标题栏 -->
  23 + <div class="portlet box protlet-box">
  24 + <div class="protlet-box-layer"></div>
  25 + <!-- 左边标题栏 -->
9 26 <div class="portlet-title" style="background-color:#12527f;">
10 27 <div class="caption">
11 28 <!-- 途径站点 -->
... ... @@ -51,7 +68,7 @@
51 68 <li>
52 69 <a href="javascript:;" id="addUpStation"><i class="fa fa-plus"></i> 添加站点</a>
53 70 </li>
54   - <li class="divider"> </li>
  71 + <!--<li class="divider"> </li>-->
55 72 <!--<li>
56 73 <a href="javascript:;" id="editUpStation"><i class="fa fa-pencil"></i> 修改站点</a>
57 74 </li>-->
... ... @@ -59,7 +76,11 @@
59 76 <li>
60 77 <a href="javascript:;" id="deleteUpStation"><i class="fa fa-close"></i> 撤销站点</a>
61 78 </li>
62   - <li class="divider"> </li>
  79 + <li class="divider"> </li>
  80 + <!--<li>
  81 + <a href="javascript:;" id="addUpSection"><i class="fa fa-plus"></i> 添加路段</a>
  82 + </li>
  83 + <li class="divider"> </li>-->
63 84 <li>
64 85 <a href="javascript:;" id="batchUpDelete"><i class="fa fa-trash-o"></i> 批量撤销</a>
65 86 </li>
... ... @@ -75,10 +96,10 @@
75 96 <li>
76 97 <a href="javascript:;" id="quoteDown"><i class="fa fa-long-arrow-down"></i> 引用下行路段</a>
77 98 </li>
78   - <li class="divider"> </li>
79   - <!-- <li>
80   - <a href="javascript:;" id="editUplineTrend"><i class="fa fa-edit"></i> 编辑走向</a>
81   - </li> -->
  99 + <!-- <li class="divider"> </li>
  100 + <!-- <li>
  101 + <a href="javascript:;" id="editUplineTrend"><i class="fa fa-edit"></i> 编辑走向</a>
  102 + </li> -->
82 103 <!-- <li>
83 104 <a href="javascript:;" id="createUsingSingle"><i class="fa fa-edit"></i> 生成行单</a>
84 105 </li> -->
... ... @@ -151,7 +172,7 @@
151 172 <li>
152 173 <a href="javascript:;" id="addDownStation"><i class="fa fa-plus"></i> 添加站点</a>
153 174 </li>
154   - <li class="divider"> </li>
  175 + <!--<li class="divider"> </li>-->
155 176 <!--<li>
156 177 <a href="javascript:;" id="editDownStation"><i class="fa fa-pencil"></i> 修改站点</a>
157 178 </li>-->
... ... @@ -159,7 +180,11 @@
159 180 <li>
160 181 <a href="javascript:;" id="deleteDownStation"><i class="fa fa-close"></i> 撤销站点</a>
161 182 </li>
162   - <li class="divider"> </li>
  183 + <li class="divider"> </li>
  184 + <!--<li>
  185 + <a href="javascript:;" id="addDownSection"><i class="fa fa-plus"></i> 添加路段</a>
  186 + </li>
  187 + <li class="divider"> </li>-->
163 188 <li>
164 189 <a href="javascript:;" id="batchDownDelete"><i class="fa fa-trash-o"></i> 批量撤销</a>
165 190 </li>
... ... @@ -253,4 +278,111 @@
253 278 <!-- reload事件 -->
254 279 <script src="/pages/base/stationroute/js/stationroute-list-reload.js"></script>
255 280 <!-- 事件监听 -->
256   -<script src="/pages/base/stationroute/js/stationroute-list-events.js"></script>
257 281 \ No newline at end of file
  282 +<script src="/pages/base/stationroute/js/stationroute-list-events.js"></script>
  283 +
  284 +<script id="add_draw_polyline-temp" type="text/html">
  285 + <div class="add_road_search_point_wrap ">
  286 + <div class="buffer_edit_body" >
  287 + <div class="_title">绘制路段</div>
  288 + <div class="form-horizontal" id="add_station_form">
  289 + <input type="hidden" value="{{id}}" name="id">
  290 + <input type="hidden" id="bsectionVectorInput"> <!--路段-->
  291 +
  292 + <div class="form-group">
  293 + <div class="col-md-12">
  294 + <input type="text" class="input-medium" name="sectionName" id="sectionNameInput" placeholder="路段名">
  295 + </div>
  296 + </div>
  297 +
  298 + <div class="form-group">
  299 + <div class="col-md-5">
  300 + <span class="draw_polyline_switch"><a>暂停绘制</a></span>
  301 + </div>
  302 + <div class="col-md-6 btns">
  303 + <button class="sbmint-btn btn-sm" id="addSectionSbmintBtn">确定</button>
  304 + <button class="cancel-btn btn-sm" id="addSectionCancelBtn">取消</button>
  305 + </div>
  306 + </div>
  307 + </div>
  308 + </div>
  309 + </div>
  310 +</script>
  311 +
  312 +<script type="text/javascript">
  313 + setTimeout(function () {
  314 + // 百度地图API功能
  315 + function G(id) {
  316 + return document.getElementById(id);
  317 + }
  318 +
  319 + var myMap = WorldsBMap.getmapBValue();
  320 +
  321 + var ac = new BMap.Autocomplete( //建立一个自动完成的对象
  322 + {"input" : "searchInput"
  323 + ,"location" : myMap
  324 + });
  325 +
  326 + ac.addEventListener("onhighlight", function(e) { //鼠标放在下拉列表上的事件
  327 + var str = "";
  328 + var _value = e.fromitem.value;
  329 + var value = "";
  330 + if (e.fromitem.index > -1) {
  331 + value = _value.province + _value.city + _value.district + _value.street + _value.business;
  332 + }
  333 + str = "FromItem<br />index = " + e.fromitem.index + "<br />value = " + value;
  334 +
  335 + value = "";
  336 + if (e.toitem.index > -1) {
  337 + _value = e.toitem.value;
  338 + value = _value.province + _value.city + _value.district + _value.street + _value.business;
  339 + }
  340 + str += "<br />ToItem<br />index = " + e.toitem.index + "<br />value = " + value;
  341 + G("searchResultPanel").innerHTML = str;
  342 + });
  343 +
  344 + var myValue;
  345 + ac.addEventListener("onconfirm", function(e) { //鼠标点击下拉列表后的事件
  346 + var _value = e.item.value;
  347 + myValue = _value.province + _value.city + _value.district + _value.street + _value.business;
  348 + G("searchResultPanel").innerHTML ="onconfirm<br />index = " + e.item.index + "<br />myValue = " + myValue;
  349 +
  350 + setPlace();
  351 + });
  352 +
  353 + function setPlace(){
  354 + // myMap.clearOverlays(); //清除地图上所有覆盖物
  355 + WorldsBMap.clearOtherOverlay();
  356 + function myFun(){
  357 + var pp = local.getResults().getPoi(0) == undefined? null:local.getResults().getPoi(0).point;
  358 + if(pp) {
  359 + myMap.centerAndZoom(pp, 20);
  360 + myMap.addOverlay(new BMap.Marker(pp)); //添加标注
  361 + } else {
  362 + layer.msg('找不到您输入的位置!')
  363 + }
  364 + }
  365 + var local = new BMap.LocalSearch(myMap, { //智能搜索
  366 + onSearchComplete: myFun
  367 + });
  368 + local.search(myValue);
  369 + }
  370 + $("#searchInput").on('input propertychange change', function () {
  371 + if($("#searchInput").val() != null && $("#searchInput").val() != "")
  372 + $('.search_panel .clear').removeClass('hide');
  373 + else {
  374 + WorldsBMap.clearOtherOverlay();
  375 + $('.search_panel .clear').addClass('hide');
  376 + }
  377 + });
  378 +
  379 + $('.search_panel .clear').on('click',function () {
  380 + WorldsBMap.clearOtherOverlay();
  381 + $("#searchInput").val('');
  382 + $("#searchInput").change();
  383 + });
  384 + $('.search_panel .search_button').on('click',function () {
  385 + myValue = $("#searchInput").val();
  386 + setPlace();
  387 + });
  388 + },1000);
  389 +</script>
258 390 \ No newline at end of file
... ...
src/main/resources/static/pages/base/stationroute/station_tabledate.html
... ... @@ -56,8 +56,8 @@
56 56 </div>
57 57 </div>
58 58 <div class="modal-footer">
59   - <button type="button" class="btn default" data-dismiss="modal">取消</button>
60 59 <button type="button" class="btn btn-primary" id="stationTabledatenextButton">确定</button>
  60 + <button type="button" class="btn default" data-dismiss="modal">取消</button>
61 61 </div>
62 62 </div>
63 63 </div>
... ...