Commit 6a80863b78354a894c79b502627f92c0359d58f3

Authored by 潘钊
2 parents df0fd267 5caed333

Merge branch 'master' of 192.168.168.201:panzhaov5/bsth_control

Showing 46 changed files with 2157 additions and 1462 deletions
src/main/java/com/bsth/repository/SectionRouteRepository.java
@@ -141,4 +141,13 @@ public interface SectionRouteRepository extends BaseRepository<SectionRoute, Int @@ -141,4 +141,13 @@ public interface SectionRouteRepository extends BaseRepository<SectionRoute, Int
141 */ 141 */
142 @Query(value = " select MAX(r.sectionroute_code) as sectionrouteCode from bsth_c_sectionroute r WHERE r.line=?1 and r.directions =?2 and r.sectionroute_code< ?3", nativeQuery=true) 142 @Query(value = " select MAX(r.sectionroute_code) as sectionrouteCode from bsth_c_sectionroute r WHERE r.line=?1 and r.directions =?2 and r.sectionroute_code< ?3", nativeQuery=true)
143 List<Object[]> findUpSectionRouteCode(Integer lineId,Integer direction,Integer stationRouteCode); 143 List<Object[]> findUpSectionRouteCode(Integer lineId,Integer direction,Integer stationRouteCode);
  144 +
  145 + @Query(value = "SELECT " +
  146 + "c.directions," +
  147 + "AsText(s.bsection_vector) as bsection_vector," +
  148 + "s.speed_limit," +
  149 + "s.section_name " +
  150 + " FROM bsth_c_sectionroute c " +
  151 + " LEFT JOIN bsth_c_section s on c.section = s.id where c.line = ?1 and c.directions = ?2", nativeQuery=true)
  152 +List<Object[]> sectionRouteVector(Integer lineId,Integer directions);
144 } 153 }
src/main/java/com/bsth/service/impl/SectionServiceImpl.java
@@ -9,7 +9,6 @@ import org.springframework.beans.factory.annotation.Autowired; @@ -9,7 +9,6 @@ import org.springframework.beans.factory.annotation.Autowired;
9 import org.springframework.stereotype.Service; 9 import org.springframework.stereotype.Service;
10 10
11 import com.alibaba.fastjson.JSONArray; 11 import com.alibaba.fastjson.JSONArray;
12 -import com.alibaba.fastjson.JSONObject;  
13 import com.bsth.common.ResponseCode; 12 import com.bsth.common.ResponseCode;
14 import com.bsth.entity.Line; 13 import com.bsth.entity.Line;
15 import com.bsth.entity.Section; 14 import com.bsth.entity.Section;
@@ -122,7 +121,7 @@ public class SectionServiceImpl extends BaseServiceImpl&lt;Section, Integer&gt; implem @@ -122,7 +121,7 @@ public class SectionServiceImpl extends BaseServiceImpl&lt;Section, Integer&gt; implem
122 Integer directions = map.get("directions").equals("") ? null : Integer.parseInt(map.get("directions").toString()); 121 Integer directions = map.get("directions").equals("") ? null : Integer.parseInt(map.get("directions").toString());
123 122
124 // 线路ID 123 // 线路ID
125 - Integer sectionRouteLine =map.get("sectionRouteLine").equals("") ? null : Integer.parseInt(map.get("sectionRouteLine").toString()); 124 + Integer sectionRouteLine = map.get("sectionRouteLine").equals("") ? null : Integer.parseInt(map.get("sectionRouteLine").toString());
126 125
127 // 道路编码 126 // 道路编码
128 String roadCoding = map.get("roadCoding").equals("") ? "" : map.get("roadCoding").toString(); 127 String roadCoding = map.get("roadCoding").equals("") ? "" : map.get("roadCoding").toString();
@@ -403,16 +402,18 @@ public class SectionServiceImpl extends BaseServiceImpl&lt;Section, Integer&gt; implem @@ -403,16 +402,18 @@ public class SectionServiceImpl extends BaseServiceImpl&lt;Section, Integer&gt; implem
403 // 路段路由 402 // 路段路由
404 SectionRoute sectionRoute = new SectionRoute(); 403 SectionRoute sectionRoute = new SectionRoute();
405 404
406 - String sectionrouteCodeArray[] = null;  
407 -  
408 Integer routeCode = null; 405 Integer routeCode = null;
409 406
410 if(!sectionrouteCode.equals("")){ 407 if(!sectionrouteCode.equals("")){
411 408
412 - sectionrouteCodeArray = sectionrouteCode.split("_"); 409 + String sectionrouteCodeArray[] = sectionrouteCode.split("_");
413 410
414 routeCode = Integer.valueOf(sectionrouteCodeArray[0])+1; 411 routeCode = Integer.valueOf(sectionrouteCodeArray[0])+1;
415 412
  413 + }else {
  414 +
  415 + routeCode = 100;
  416 +
416 } 417 }
417 418
418 sectionRoute.setSectionrouteCode(routeCode); 419 sectionRoute.setSectionrouteCode(routeCode);
src/main/java/com/bsth/service/impl/StationRouteServiceImpl.java
1 package com.bsth.service.impl; 1 package com.bsth.service.impl;
2 2
  3 +import java.awt.Point;
3 import java.io.ByteArrayInputStream; 4 import java.io.ByteArrayInputStream;
4 import java.io.File; 5 import java.io.File;
5 import java.io.InputStream; 6 import java.io.InputStream;
@@ -519,56 +520,66 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ @@ -519,56 +520,66 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
519 /** 查询线路信息 */ 520 /** 查询线路信息 */
520 Line line = lineRepository.findOne(lineId); 521 Line line = lineRepository.findOne(lineId);
521 522
522 - /** 获取配置文件里的ftp参数 */  
523 - Map<String, Object> FTPParamMap = readPropertiesGetFTPParam();  
524 -  
525 - // 压缩文件名  
526 - String odlGzFileName = line.getLineCode() + ".tar.gz";  
527 -  
528 - // text文件名  
529 - String textFileName = line.getLineCode() + ".txt";  
530 -  
531 - FTPClientUtils clientUtils = new FTPClientUtils();  
532 -  
533 - String url = FTPParamMap.get("url").toString();  
534 -  
535 - int port = Integer.valueOf(FTPParamMap.get("port").toString());  
536 -  
537 - String username = FTPParamMap.get("username").toString();  
538 -  
539 - String password = FTPParamMap.get("password").toString();  
540 -  
541 - String remotePath = FTPParamMap.get("remotePath").toString();  
542 -  
543 - /** 如果行单文件已存在则删除 */  
544 - clientUtils.deleteFtpFile(url, port, username, password, remotePath, odlGzFileName);  
545 -  
546 - clientUtils.deleteFtpFile(url, port, username, password, remotePath, textFileName);  
547 -  
548 List<Object[]> objects = repository.usingSingle(lineId); 523 List<Object[]> objects = repository.usingSingle(lineId);
549 524
550 - String textStr = newTextFileToFTP(objects);  
551 -  
552 - textStr = line.getName() + " " + "2" + "\r\n" + textStr;  
553 -  
554 - InputStream input = new ByteArrayInputStream(textStr.getBytes("utf-8"));  
555 -  
556 - /** 生成text文件 */  
557 - clientUtils.uploadFile(url, port, username, password, remotePath, textFileName, input);  
558 -  
559 - Test test= new Test();  
560 -  
561 - File textFile = clientUtils.GetFtpFile(url, port, username, password, remotePath, textFileName);  
562 -  
563 - File[] sources = new File[] {textFile};  
564 -  
565 - File target = new File(odlGzFileName);  
566 -  
567 - File targetFile = test.pack(sources, target);  
568 -  
569 - clientUtils.testUpLoadFromDisk(targetFile,targetFile.getName()); 525 + if (objects.size()>0) {
  526 +
  527 + /** 获取配置文件里的ftp参数 */
  528 + Map<String, Object> FTPParamMap = readPropertiesGetFTPParam();
  529 +
  530 + // 压缩文件名
  531 + String odlGzFileName = line.getLineCode() + ".txt.gz";
  532 +
  533 + // text文件名
  534 + String textFileName = line.getLineCode() + ".txt";
  535 +
  536 + FTPClientUtils clientUtils = new FTPClientUtils();
  537 +
  538 + String url = FTPParamMap.get("url").toString();
  539 +
  540 + int port = Integer.valueOf(FTPParamMap.get("port").toString());
  541 +
  542 + String username = FTPParamMap.get("username").toString();
  543 +
  544 + String password = FTPParamMap.get("password").toString();
  545 +
  546 + String remotePath = FTPParamMap.get("remotePath").toString();
  547 +
  548 + /** 如果行单文件已存在则删除 */
  549 + clientUtils.deleteFtpFile(url, port, username, password, remotePath, odlGzFileName);
  550 +
  551 + clientUtils.deleteFtpFile(url, port, username, password, remotePath, textFileName);
  552 +
  553 + String textStr = newTextFileToFTP(objects,lineId);
  554 +
  555 + textStr = line.getName() + " " + "2" + "\r\n" + textStr;
  556 +
  557 + InputStream input = new ByteArrayInputStream(textStr.getBytes("utf-8"));
  558 +
  559 + /** 生成text文件 */
  560 + clientUtils.uploadFile(url, port, username, password, remotePath, textFileName, input);
  561 +
  562 + Test test= new Test();
  563 +
  564 + File textFile = clientUtils.GetFtpFile(url, port, username, password, remotePath, textFileName);
  565 +
  566 + File[] sources = new File[] {textFile};
  567 +
  568 + File target = new File(odlGzFileName);
  569 +
  570 + File targetFile = test.pack(sources, target);
  571 +
  572 + /*clientUtils.testUpLoadFromDisk(targetFile,targetFile.getName());*/
  573 +
  574 + clientUtils.testUpLoadFromDisk(targetFile, targetFile.getName(), url, port, username, password, remotePath);
  575 +
  576 + resultMap.put("status", ResponseCode.SUCCESS);
  577 +
  578 + }else {
  579 +
  580 + resultMap.put("status","NOTDATA");
  581 + }
570 582
571 - resultMap.put("status", ResponseCode.SUCCESS);  
572 583
573 } catch (Exception e) { 584 } catch (Exception e) {
574 585
@@ -580,28 +591,30 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ @@ -580,28 +591,30 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
580 return resultMap; 591 return resultMap;
581 } 592 }
582 593
583 - public String newTextFileToFTP(List<Object[]> objects) { 594 + public String newTextFileToFTP(List<Object[]> objects,Integer lineId) {
584 595
585 String stationRStr = ""; 596 String stationRStr = "";
586 597
587 // windows下的文本文件换行符 598 // windows下的文本文件换行符
588 - String enterStr = "\r\n"; 599 + // String enterStr = "\r\n";
589 600
590 // linux/unix下的文本文件换行符 601 // linux/unix下的文本文件换行符
591 - // String enterStr = "\r"; 602 + String enterStr = "\r";
592 603
593 if(objects.size()>0) { 604 if(objects.size()>0) {
594 605
595 for(int i = 0; i<objects.size();i++) { 606 for(int i = 0; i<objects.size();i++) {
596 607
597 // 经度 608 // 经度
598 - String lng = objects.get(i)[0].toString(); 609 + String lng = objects.get(i)[0].equals("") ? "" : objects.get(i)[0].toString();
599 610
600 // 纬度 611 // 纬度
601 - String lat = " " + objects.get(i)[1].toString(); 612 + String lat = objects.get(i)[1].equals("") ? "" : objects.get(i)[1].toString();
  613 +
  614 + lat = " " + lat;
602 615
603 // 站点类型 616 // 站点类型
604 - String stationMake = objects.get(i)[3].toString(); 617 + String stationMake = objects.get(i)[3].equals("") ? "" : objects.get(i)[3].toString();
605 618
606 if(stationMake.equals("E")) { 619 if(stationMake.equals("E")) {
607 620
@@ -614,23 +627,82 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ @@ -614,23 +627,82 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
614 } 627 }
615 628
616 // 站点序号 629 // 站点序号
617 - String stationNo = " " + objects.get(i)[4].toString(); 630 + String stationNo = objects.get(i)[4].equals("") ? "" : objects.get(i)[4].toString();
  631 +
  632 + stationNo = " " + stationNo;
618 633
619 // 站点编码 634 // 站点编码
620 - String stationCode = " " + objects.get(i)[5].toString(); 635 + String stationCode = objects.get(i)[5].equals("") ? "" : objects.get(i)[5].toString();
  636 +
  637 + stationCode = " " +stationCode;
  638 +
  639 + double dis = objects.get(i)[6]==null ? 0.0 : Double.parseDouble(objects.get(i)[6].toString());
621 640
622 - double tempd = Double.parseDouble(objects.get(i)[6].toString())*1000; 641 + double tempd = dis*1000;
623 642
624 // 站点距离 643 // 站点距离
625 String staitondistance = " " + String.valueOf((int) tempd); 644 String staitondistance = " " + String.valueOf((int) tempd);
626 645
  646 + // 站点名称
  647 + String stationName = objects.get(i)[7].equals("") ? "" : objects.get(i)[7].toString();
  648 +
627 // 限速 649 // 限速
628 - String sleepStr = " " + "60"; 650 + // String sleepStr = " " + "60";
629 651
630 - // 站点名称  
631 - String staitonName = " " + objects.get(i)[7].toString(); 652 + String sleepStr = "";
632 653
633 - stationRStr = stationRStr + lng + lat + stationMake + stationNo + stationCode + staitondistance + sleepStr + staitonName + enterStr; 654 + int directions = objects.get(i)[8]==null ? null : Integer.valueOf(objects.get(i)[8].toString());
  655 +
  656 + List<Object[]> sobje = routeRepository.sectionRouteVector(lineId,directions);
  657 +
  658 + if(sobje.size()==1) {
  659 +
  660 + sleepStr = sobje.get(0)[2] == null ? "" : sobje.get(0)[2].toString();
  661 +
  662 + sleepStr = " " + sleepStr;
  663 +
  664 + }else if(sobje.size()>1){
  665 +
  666 + /** 这里暂时只根据站点名称去匹配所在路段的限速值 ,如果路段名称"至"之前的地名与站点名称等同,就认为站点在路段上。 */
  667 + for(int j =0;j<sobje.size();j++) {
  668 +
  669 + String sectionName = sobje.get(j)[3].toString();
  670 +
  671 + String sectionNameA[] = sectionName.split("至");
  672 +
  673 + if(stationName.equals(sectionNameA[0])){
  674 +
  675 + sleepStr = sobje.get(j)[2].toString();
  676 +
  677 + sleepStr = " " + sleepStr;
  678 +
  679 + }
  680 +
  681 + }
  682 +
  683 + /*
  684 + String bdJWPointStr = objects.get(i)[2].toString();
  685 +
  686 + String bdJWPointA[] = bdJWPointStr.split(" ");
  687 +
  688 + Map<String, Object> pointsM = new HashMap<String,Object>();
  689 +
  690 + pointsM.put("lng", bdJWPointA[0]);
  691 +
  692 + pointsM.put("lat", bdJWPointA[1]);
  693 +
  694 + System.out.println(objects.get(i)[7].toString());
  695 +
  696 + sleepStr = sleepStr + GetFormPointOnPolylineSeleepLimit(pointsM,sobje);*/
  697 + }
  698 +
  699 + if(sleepStr.equals(""))
  700 + sleepStr = " " + "60";
  701 +
  702 +
  703 + stationName = " " +stationName;
  704 +
  705 + stationRStr = stationRStr + lng + lat + stationMake + stationNo + stationCode + staitondistance + sleepStr + stationName + enterStr;
634 706
635 } 707 }
636 708
@@ -640,6 +712,90 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ @@ -640,6 +712,90 @@ public class StationRouteServiceImpl extends BaseServiceImpl&lt;StationRoute, Integ
640 712
641 } 713 }
642 714
  715 + public String GetFormPointOnPolylineSeleepLimit(Map<String, Object> p,List<Object[]> listObjArra) {
  716 +
  717 + String sleeplimiV = "";
  718 +
  719 + int size = listObjArra.size();
  720 +
  721 + if(size>0) {
  722 +
  723 + for(int i =0;i<size-1;i++) {
  724 +
  725 + System.out.println(listObjArra.get(i)[3].toString());
  726 +
  727 +
  728 + List<Map<String, Object>> listM = new ArrayList<Map<String,Object>>();
  729 +
  730 + String bVecotr = listObjArra.get(i)[1].toString();
  731 +
  732 + bVecotr = bVecotr.substring(11,bVecotr.length()-1);
  733 +
  734 + String tempA [] = bVecotr.split(",");
  735 +
  736 + int len = tempA.length;
  737 +
  738 + for(int e = 0; e< len ;e++) {
  739 +
  740 + Map<String, Object> tempM = new HashMap<String,Object>();
  741 +
  742 + String temStr = tempA[e];
  743 +
  744 + String nextTemA[] = temStr.split(" ");
  745 +
  746 + tempM.put("lng", nextTemA[0]);
  747 +
  748 + tempM.put("lat", nextTemA[1]);
  749 +
  750 + listM.add(tempM);
  751 +
  752 + }
  753 +
  754 + if(isPointOnPolyline(p,listM)) {
  755 +
  756 +
  757 + sleeplimiV = listObjArra.get(i)[2].toString();
  758 + }
  759 +
  760 + }
  761 +
  762 + }
  763 +
  764 +
  765 + return sleeplimiV;
  766 + }
  767 +
  768 + public boolean isPointOnPolyline (Map<String, Object> point, List<Map<String, Object>> listMap ){
  769 +
  770 + boolean success = false;
  771 +
  772 + for(int l = 0; l < listMap.size() - 1; l ++){
  773 +
  774 + Map<String, Object> tempM = listMap.get(l);
  775 +
  776 + Map<String, Object> nextTempM = listMap.get(l+1);
  777 +
  778 + if (Double.valueOf(point.get("lng").toString())>= Math.min(Double.valueOf(tempM.get("lng").toString()), Double.valueOf(nextTempM.get("lng").toString())) && Double.valueOf(point.get("lng").toString()) <= Math.max(Double.valueOf(tempM.get("lng").toString()), Double.valueOf(nextTempM.get("lng").toString())) &&
  779 + Double.valueOf(point.get("lat").toString()) >= Math.min(Double.valueOf(tempM.get("lat").toString()), Double.valueOf(nextTempM.get("lat").toString())) && Double.valueOf(point.get("lat").toString()) <= Math.max(Double.valueOf(tempM.get("lat").toString()), Double.valueOf(nextTempM.get("lat").toString()))){
  780 +
  781 +
  782 + double precision = (Double.valueOf(tempM.get("lng").toString()) - Double.valueOf(point.get("lng").toString())) * (Double.valueOf(nextTempM.get("lat").toString()) - Double.valueOf(point.get("lat").toString())) -
  783 + (Double.valueOf(nextTempM.get("lng").toString()) - Double.valueOf(tempM.get("lng").toString())) * (Double.valueOf(tempM.get("lat").toString()) - Double.valueOf(nextTempM.get("lat").toString()));
  784 +
  785 + if(precision < 2e-10 && precision > -2e-10){
  786 +
  787 + //实质判断是否接近0
  788 + success = true;
  789 +
  790 + }
  791 +
  792 + }
  793 +
  794 + }
  795 +
  796 + return success;
  797 + }
  798 +
643 public Map<String, Object> readPropertiesGetFTPParam(){ 799 public Map<String, Object> readPropertiesGetFTPParam(){
644 800
645 Map<String, Object> resultMap = new HashMap<String, Object>(); 801 Map<String, Object> resultMap = new HashMap<String, Object>();
src/main/java/com/bsth/service/impl/StationServiceImpl.java
@@ -866,25 +866,32 @@ public class StationServiceImpl extends BaseServiceImpl&lt;Station, Integer&gt; implem @@ -866,25 +866,32 @@ public class StationServiceImpl extends BaseServiceImpl&lt;Station, Integer&gt; implem
866 Line resultLine = lineRepository.findOne(line); 866 Line resultLine = lineRepository.findOne(line);
867 867
868 // 站点路由序号 868 // 站点路由序号
869 - String stationRouteCode = map.get("stationRouteCode").equals("") ? "" : map.get("stationRouteCode").toString(); 869 + String stationRouteCodeStr = map.get("stationRouteCode").equals("") ? "" : map.get("stationRouteCode").toString();
870 870
871 // 站点类型 871 // 站点类型
872 String stationMark = map.get("stationMark").equals("") ? "" : map.get("stationMark").toString(); 872 String stationMark = map.get("stationMark").equals("") ? "" : map.get("stationMark").toString();
873 873
874 - String stationRouteCodeArray [] = null; 874 + Integer stationRouteCode = null;
875 875
876 - if(stationRouteCode!="") { 876 + if(stationRouteCodeStr!="") {
  877 +
  878 + String stationRouteCodeArray [] = stationRouteCodeStr.split("_");
877 879
878 - stationRouteCodeArray= stationRouteCode.split("_"); 880 + stationRouteCode = Integer.parseInt(stationRouteCodeArray[0]+1);
  881 +
  882 +
  883 + }else {
  884 +
  885 + stationRouteCode = 100;
879 886
880 } 887 }
881 888
882 // 保存站点 889 // 保存站点
883 - /*repository.stationSave(stationCod, stationName, roadCoding, dbType, bJwpoints, 890 + repository.stationSave(stationCod, stationName, roadCoding, dbType, bJwpoints,
884 891
885 gLonx, gLaty, x, y, gPloygonGrid,bPloygonGrid, destroy, radius, 892 gLonx, gLaty, x, y, gPloygonGrid,bPloygonGrid, destroy, radius,
886 -  
887 - shapesType, versions, descriptions, createBy, updateBy,stationId);*/ 893 +
  894 + shapesType, versions, descriptions, createBy, updateBy,stationId);
888 895
889 896
890 897
@@ -908,7 +915,7 @@ public class StationServiceImpl extends BaseServiceImpl&lt;Station, Integer&gt; implem @@ -908,7 +915,7 @@ public class StationServiceImpl extends BaseServiceImpl&lt;Station, Integer&gt; implem
908 arg0.setStationCode(stationCod); 915 arg0.setStationCode(stationCod);
909 916
910 // 站点路由序号 917 // 站点路由序号
911 - arg0.setStationRouteCode(Integer.parseInt(stationRouteCodeArray[0])+1); 918 + arg0.setStationRouteCode(stationRouteCode);
912 919
913 // 站点路由类型 920 // 站点路由类型
914 arg0.setStationMark(stationMark); 921 arg0.setStationMark(stationMark);
@@ -931,7 +938,7 @@ public class StationServiceImpl extends BaseServiceImpl&lt;Station, Integer&gt; implem @@ -931,7 +938,7 @@ public class StationServiceImpl extends BaseServiceImpl&lt;Station, Integer&gt; implem
931 // 站点路由说明 938 // 站点路由说明
932 arg0.setDescriptions(descriptions); 939 arg0.setDescriptions(descriptions);
933 940
934 - /*routeRepository.save(arg0);*/ 941 + routeRepository.save(arg0);
935 942
936 resultMap.put("status", ResponseCode.SUCCESS); 943 resultMap.put("status", ResponseCode.SUCCESS);
937 944
src/main/java/com/bsth/util/FTPClientUtils.java
@@ -98,16 +98,16 @@ public class FTPClientUtils { @@ -98,16 +98,16 @@ public class FTPClientUtils {
98 } 98 }
99 99
100 // 将本地文件上传到FTP服务器上 100 // 将本地文件上传到FTP服务器上
101 - public void testUpLoadFromDisk(File file,String name){ 101 + public void testUpLoadFromDisk(File file,String name,String url, int port, String username, String password, String remotePath){
102 102
103 try { 103 try {
104 FileInputStream in=new FileInputStream(file); 104 FileInputStream in=new FileInputStream(file);
105 105
106 - boolean flag = uploadFile("192.168.168.101", 21, "testftpservice", "123", "ftptest/", name, in); 106 + boolean flag = uploadFile(url, port,username, password, remotePath, name, in);
107 107
108 - /* boolean flag = uploadFile("222.66.0.205", 21, "transport", "transport123", "ftptest/", name, in);*/ 108 + /* boolean flag = uploadFile("192.168.168.101", 21, "testftpservice", "123", "ftptest/", name, in);*/
109 109
110 - System.out.println(flag); 110 + /* boolean flag = uploadFile("222.66.0.205", 21, "transport", "transport123", "ftptest/", name, in);*/
111 111
112 } catch (FileNotFoundException e) { 112 } catch (FileNotFoundException e) {
113 113
@@ -126,9 +126,7 @@ public class FTPClientUtils { @@ -126,9 +126,7 @@ public class FTPClientUtils {
126 126
127 InputStream input = new ByteArrayInputStream(str.getBytes("utf-8")); 127 InputStream input = new ByteArrayInputStream(str.getBytes("utf-8"));
128 128
129 - boolean flag = uploadFile("192.168.168.101", 21, "testftpservice", "123", "ftptest/", "test.txt", input);  
130 -  
131 - System.out.println(flag); 129 + uploadFile("192.168.168.101", 21, "testftpservice", "123", "ftptest/", "test.txt", input);
132 130
133 } catch (UnsupportedEncodingException e) { 131 } catch (UnsupportedEncodingException e) {
134 132
@@ -324,7 +322,7 @@ public class FTPClientUtils { @@ -324,7 +322,7 @@ public class FTPClientUtils {
324 322
325 File targetFile = test.pack(sources, target); 323 File targetFile = test.pack(sources, target);
326 324
327 - clientUtils.testUpLoadFromDisk(targetFile,targetFile.getName()); 325 + /* clientUtils.testUpLoadFromDisk(targetFile,targetFile.getName());*/
328 326
329 327
330 /** 删除文件 */ 328 /** 删除文件 */
src/main/java/com/bsth/util/ReportUtils.java
@@ -15,9 +15,7 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook; @@ -15,9 +15,7 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook;
15 import org.apache.poi.poifs.filesystem.POIFSFileSystem; 15 import org.apache.poi.poifs.filesystem.POIFSFileSystem;
16 import org.apache.poi.ss.usermodel.Cell; 16 import org.apache.poi.ss.usermodel.Cell;
17 17
18 -import com.bsth.entity.Cars;  
19 import com.bsth.entity.Line; 18 import com.bsth.entity.Line;
20 -import com.bsth.entity.Section;  
21 import com.bsth.entity.realcontrol.ScheduleRealInfo; 19 import com.bsth.entity.realcontrol.ScheduleRealInfo;
22 20
23 public class ReportUtils { 21 public class ReportUtils {
@@ -191,56 +189,33 @@ public class ReportUtils { @@ -191,56 +189,33 @@ public class ReportUtils {
191 */ 189 */
192 private void getValueAndSetCellValue(HSSFCell cell, String key, Object obj) { 190 private void getValueAndSetCellValue(HSSFCell cell, String key, Object obj) {
193 try { 191 try {
  192 + // 保有存单元格的内容
194 String cellValue = key = key.replace("\\n", ""); 193 String cellValue = key = key.replace("\\n", "");
195 - String tmpKey ;  
196 - while(key.indexOf("$") != -1){  
197 - key = key.substring(key.indexOf("$")+1);  
198 - tmpKey = key.substring(0,key.indexOf("$"));  
199 - key = key.substring(key.indexOf("$")+1); 194 + String tmpKey;
  195 + // 循环截取两个$中间的内容,反射出值
  196 + while (key.indexOf("$") != -1) {
  197 + key = key.substring(key.indexOf("$") + 1);
  198 + // 取两个$中间的内容
  199 + tmpKey = key.substring(0, key.indexOf("$"));
  200 + key = key.substring(key.indexOf("$") + 1);
  201 + // 如果内容是如下格式Cars.id,则从obj中值得相应的对象的值
200 if (tmpKey.indexOf(".") != -1) { 202 if (tmpKey.indexOf(".") != -1) {
201 String className = tmpKey.substring(0, tmpKey.indexOf(".")); 203 String className = tmpKey.substring(0, tmpKey.indexOf("."));
  204 + // 取得类的全限定名
202 String classWholeName = packaegName + className; 205 String classWholeName = packaegName + className;
203 String fieldName = tmpKey.substring(tmpKey.indexOf(".") + 1); 206 String fieldName = tmpKey.substring(tmpKey.indexOf(".") + 1);
204 - if (obj.getClass().getName().equals(classWholeName)) {  
205 - cellValue = cellValue.replace("$"+tmpKey+"$", getKeyValue(obj,fieldName)+"");  
206 - }  
207 - }  
208 - }  
209 - cell.setCellValue(cellValue);  
210 - } catch (Exception e) {  
211 - e.printStackTrace();  
212 - }  
213 -  
214 - }  
215 -  
216 - /**  
217 - * 取到相应的值并填入相应的列中  
218 - *  
219 - * @param cell  
220 - * 列  
221 - * @param key  
222 - * 列内容  
223 - * @param tArray  
224 - * 数据源对象  
225 - */  
226 - private void getValueAndSetCellValue(HSSFCell cell, String key,  
227 - Object[] tArray) {  
228 - try {  
229 - String cellValue = key = key.replace("\\n", "");  
230 - String tmpKey ;  
231 - while(key.indexOf("$") != -1){  
232 - key = key.substring(key.indexOf("$")+1);  
233 - tmpKey = key.substring(0,key.indexOf("$"));  
234 - key = key.substring(key.indexOf("$")+1);  
235 - if (tmpKey.indexOf(".") != -1) {  
236 - String className = tmpKey.substring(0, tmpKey.indexOf("."));  
237 - String classWholeName = packaegName + className;  
238 - String fieldName = tmpKey.substring(tmpKey.indexOf(".") + 1);  
239 - for (int k = 0; k < tArray.length; k++) {  
240 - if (tArray[k].getClass().getName()  
241 - .equals(classWholeName)) {  
242 - cellValue = cellValue.replace("$"+tmpKey+"$", getKeyValue(tArray[k],fieldName)+""); 207 + // 如果obj是数组,循环判断哪个对象是对应的
  208 + if (obj instanceof Object[]) {
  209 + Object[] objs = (Object[]) obj;
  210 + for (int k = 0; k < objs.length; k++) {
  211 + if (objs[k].getClass().getName().equals(classWholeName)) {
  212 + cellValue = cellValue.replace("$" + tmpKey
  213 + + "$", getKeyValue(objs[k], fieldName)
  214 + + "");
  215 + }
243 } 216 }
  217 + } else if (obj.getClass().getName().equals(classWholeName)) {
  218 + cellValue = cellValue.replace("$" + tmpKey + "$",getKeyValue(obj, fieldName) + "");
244 } 219 }
245 } 220 }
246 } 221 }
@@ -266,8 +241,7 @@ public class ReportUtils { @@ -266,8 +241,7 @@ public class ReportUtils {
266 try { 241 try {
267 if (obj != null) { 242 if (obj != null) {
268 ReportRelatedUtils test = new ReportRelatedUtils(); 243 ReportRelatedUtils test = new ReportRelatedUtils();
269 - value = test.getValue(obj, fieldName) == null ? "" : test  
270 - .getValue(obj, fieldName); 244 + value = test.getValue(obj, fieldName) == null ? "" : test .getValue(obj, fieldName);
271 } 245 }
272 } catch (Exception e) { 246 } catch (Exception e) {
273 e.printStackTrace(); 247 e.printStackTrace();
@@ -285,49 +259,13 @@ public class ReportUtils { @@ -285,49 +259,13 @@ public class ReportUtils {
285 line.setName("line1"); 259 line.setName("line1");
286 260
287 List<Object> dataList = new ArrayList<Object>(); 261 List<Object> dataList = new ArrayList<Object>();
288 -// Cars cars = new Cars();  
289 -// cars.setId(111);  
290 -// cars.setCompany("111car");  
291 -// dataList.add(cars);  
292 -// cars = new Cars();  
293 -// cars.setId(222);  
294 -// cars.setCompany("222car");  
295 -// dataList.add(cars);  
296 -// cars = new Cars();  
297 -// cars.setId(101);  
298 -// cars.setCompany("101car");  
299 -// dataList.add(cars);  
300 -// cars = new Cars();  
301 -// cars.setId(101);  
302 -// cars.setCompany("101car");  
303 -// dataList.add(cars);  
304 -// cars = new Cars();  
305 -// cars.setId(101);  
306 -// cars.setCompany("101car");  
307 -// dataList.add(cars);  
308 -// cars = new Cars();  
309 -// cars.setId(101);  
310 -// cars.setCompany("101car");  
311 -// dataList.add(cars);  
312 -// cars = new Cars();  
313 -// cars.setId(101);  
314 -// cars.setCompany("101car");  
315 -// dataList.add(cars);  
316 -// cars = new Cars();  
317 -// cars.setId(101);  
318 -// cars.setCompany("101car");  
319 -// dataList.add(cars);  
320 -// cars = new Cars();  
321 -// cars.setId(101);  
322 -// cars.setCompany("101car");  
323 -// dataList.add(cars);  
324 -// list.add(dataList.iterator()); 262 +
325 263
326 - ScheduleRealInfo sr = new ScheduleRealInfo();  
327 - sr.setId((long) 111);  
328 - sr.setXlName("abc"); 264 + ScheduleRealInfo srr = new ScheduleRealInfo();
  265 + srr.setId((long) 111);
  266 + srr.setXlName("abc11");
329 267
330 - sr = new ScheduleRealInfo(); 268 + ScheduleRealInfo sr = new ScheduleRealInfo();
331 sr.setId((long) 22); 269 sr.setId((long) 22);
332 sr.setXlName("abc22"); 270 sr.setXlName("abc22");
333 dataList.add(sr); 271 dataList.add(sr);
@@ -336,63 +274,15 @@ public class ReportUtils { @@ -336,63 +274,15 @@ public class ReportUtils {
336 sr.setXlName("abc33"); 274 sr.setXlName("abc33");
337 dataList.add(sr); 275 dataList.add(sr);
338 list.add(dataList.iterator()); 276 list.add(dataList.iterator());
339 - // dataList = new ArrayList<Object>();  
340 - // Section section = new Section();  
341 - // section.setId(333);  
342 - // section.setSectionName("333section");  
343 - // dataList.add(section);  
344 - // section = new Section();  
345 - // section.setId(444);  
346 - // section.setSectionName("444section");  
347 - // dataList.add(section);  
348 - // section = new Section();  
349 - // section.setId(555);  
350 - // section.setSectionName("555section");  
351 - // dataList.add(section);  
352 - // section = new Section();  
353 - // section.setId(666);  
354 - // section.setSectionName("666section");  
355 - // dataList.add(section);  
356 - // section = new Section();  
357 - // section.setId(777);  
358 - // section.setSectionName("777section");  
359 - // dataList.add(section);  
360 - // section = new Section();  
361 - // section.setId(888);  
362 - // section.setSectionName("888section");  
363 - // // dataList.add(section);  
364 - // list.add(dataList.iterator());  
365 - ee.excelReplace(list, new Object[] { sr }, "D:\\55.xls", 277 +
  278 + ee.excelReplace(list, new Object[] { srr }, "D:\\55.xls",
366 "D:\\22.xls"); 279 "D:\\22.xls");
367 - // ee.test(line);  
368 - // ee.shiftRow();  
369 System.out.println("ok"); 280 System.out.println("ok");
370 } catch (Exception e) { 281 } catch (Exception e) {
371 e.printStackTrace(); 282 e.printStackTrace();
372 } 283 }
373 } 284 }
374 285
375 - private void shiftRow() {  
376 - try {  
377 - String targetPath = "D:\\22.xls";  
378 - // 把源文件放入流中  
379 - POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(  
380 - "D:\\44.xls"));  
381 - HSSFWorkbook wb = new HSSFWorkbook(fs);  
382 - HSSFSheet sheet = wb.getSheetAt(0);  
383 - sheet.shiftRows(1, 2, 4);  
384 - // 创建目标文件夹  
385 - createFolder(targetPath);  
386 - // 输出文件  
387 - FileOutputStream fileOut = new FileOutputStream(targetPath);  
388 - wb.write(fileOut);  
389 - fileOut.close();  
390 - } catch (Exception e) {  
391 - e.printStackTrace();  
392 - }  
393 -  
394 - }  
395 -  
396 /** 286 /**
397 * 行复制功能 287 * 行复制功能
398 * 288 *
src/main/resources/ftp.properties
1 -ftp.url=222.66.0.205  
2 -ftp.port=21  
3 -ftp.username=transport  
4 -ftp.password= transport123  
5 -ftp.path= down/  
6 -  
7 -#ftp.url=192.168.168.101 1 +#ftp.url=222.66.0.205
8 #ftp.port=21 2 #ftp.port=21
9 -#ftp.username=testftpservice  
10 -#ftp.password= 123  
11 -#ftp.path= ftptest/  
12 \ No newline at end of file 3 \ No newline at end of file
  4 +#ftp.username=transport
  5 +#ftp.password=transport123
  6 +#ftp.path= down/
  7 +
  8 +ftp.url=192.168.168.101
  9 +ftp.port=21
  10 +ftp.username=testftpservice
  11 +ftp.password= 123
  12 +ftp.path= ftptest/
13 \ No newline at end of file 13 \ No newline at end of file
src/main/resources/static/assets/img/button_login.png 0 → 100644

2.61 KB

src/main/resources/static/assets/img/button_pwd.png 0 → 100644

1.74 KB

src/main/resources/static/assets/img/button_user.png 0 → 100644

1.87 KB

src/main/resources/static/assets/img/login_bgbg.png 0 → 100644

1.41 KB

src/main/resources/static/assets/img/login_bgcenter.png 0 → 100644

37.4 KB

src/main/resources/static/login.html
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
4 <meta charset="utf-8" /> 4 <meta charset="utf-8" />
5 <title>登录</title> 5 <title>登录</title>
6 <meta name=”renderer” content=”webkit”> 6 <meta name=”renderer” content=”webkit”>
7 -<meta http-equiv=”X-UA-Compatible” content=”IE=Edge,chrome=1″ > 7 +<meta http-equiv=”X-UA-Compatible” content=”IE=Edge,chrome=1″>
8 <meta content="width=device-width, initial-scale=1" name="viewport" /> 8 <meta content="width=device-width, initial-scale=1" name="viewport" />
9 <meta content="" name="description" /> 9 <meta content="" name="description" />
10 <meta content="" name="author" /> 10 <meta content="" name="author" />
@@ -26,303 +26,100 @@ Login page @@ -26,303 +26,100 @@ Login page
26 ***/ 26 ***/
27 /* bg color */ 27 /* bg color */
28 .login { 28 .login {
29 - background-color: #364150 !important; 29 + width: 100%;
  30 + height: 100%;
  31 + background-image: url(./assets/img/login_bgbg.png);
  32 + background-size: 100%
30 } 33 }
31 34
32 -.login .logo {  
33 - margin: 0 auto;  
34 - margin-top: 60px;  
35 - padding: 15px;  
36 - text-align: center;  
37 -}  
38 -  
39 -.login .content {  
40 - background-color: #eceef1;  
41 - -webkit-border-radius: 7px;  
42 - -moz-border-radius: 7px;  
43 - -ms-border-radius: 7px;  
44 - -o-border-radius: 7px;  
45 - border-radius: 7px;  
46 - width: 400px;  
47 - margin: 40px auto 10px auto;  
48 - padding: 30px;  
49 - padding-top: 10px;  
50 - overflow: hidden;  
51 - position: relative; 35 +.loginCenter {
  36 + background-image: url(./assets/img/login_bgcenter.png);
  37 + background-repeat: no-repeat;
  38 + background-size: 100%;
  39 + position: absolute;
52 } 40 }
53 41
54 -.login .content h3 {  
55 - color: #4db3a5; 42 +.loginInputDiv {
  43 + top: 48%;
  44 + width: 80%;
  45 + position: absolute;
  46 + vertical-align: middle;
56 text-align: center; 47 text-align: center;
57 - font-size: 28px;  
58 - font-weight: 400 !important;  
59 -}  
60 -  
61 -.login .content h4 {  
62 - color: #555;  
63 -}  
64 -  
65 -.login .content .hint {  
66 - color: #999;  
67 - padding: 0;  
68 - margin: 15px 0 7px 0;  
69 -}  
70 -  
71 -.login .content .login-form, .login .content .forget-form {  
72 - padding: 0px;  
73 - margin: 0px;  
74 -}  
75 -  
76 -.login .content .form-control {  
77 - border: none;  
78 - background-color: #dde3ec;  
79 - height: 43px;  
80 - color: #8290a3;  
81 - border: 1px solid #dde3ec;  
82 -}  
83 -  
84 -.login .content .form-control:focus, .login .content .form-control:active  
85 - {  
86 - border: 1px solid #c3ccda;  
87 -}  
88 -  
89 -.login .content .form-control::-moz-placeholder {  
90 - color: #8290a3;  
91 - opacity: 1;  
92 -}  
93 -  
94 -.login .content .form-control:-ms-input-placeholder {  
95 - color: #8290a3;  
96 -}  
97 -  
98 -.login .content .form-control::-webkit-input-placeholder {  
99 - color: #8290a3;  
100 -}  
101 -  
102 -.login .content select.form-control {  
103 - padding-left: 9px;  
104 - padding-right: 9px;  
105 -}  
106 -  
107 -.login .content .forget-form {  
108 - display: none;  
109 -}  
110 -  
111 -.login .content .register-form {  
112 - display: none;  
113 -}  
114 -  
115 -.login .content .form-title {  
116 - font-weight: 300;  
117 - margin-bottom: 25px;  
118 -}  
119 -  
120 -.login .content .form-actions {  
121 - clear: both;  
122 - border: 0px;  
123 - border-bottom: 1px solid #eee;  
124 - padding: 25px 30px 25px 30px;  
125 - margin-left: -30px;  
126 - margin-right: -30px;  
127 -}  
128 -  
129 -.login-options {  
130 - margin-bottom: 30px;  
131 - overflow: hidden;  
132 -}  
133 -  
134 -.login-options h4 {  
135 - float: left;  
136 - font-weight: 600;  
137 - font-size: 15px;  
138 - color: #7d91aa !important;  
139 -}  
140 -  
141 -.login-options .social-icons {  
142 - float: right;  
143 - padding-top: 3px;  
144 -}  
145 -  
146 -.login-options .social-icons li a {  
147 - border-radius: 15px 15px 15px 15px !important;  
148 - -moz-border-radius: 15px 15px 15px 15px !important;  
149 - -webkit-border-radius: 15px 15px 15px 15px !important;  
150 } 48 }
151 49
152 -.login .content .form-actions .checkbox {  
153 - margin-left: 0;  
154 - padding-left: 0; 50 +.loginInput {
  51 + padding: 6px 12px;
  52 + border: 1px solid #ffffff;
  53 + background-color: #FFFFFF;
  54 + vertical-align: middle;
155 } 55 }
156 56
157 -.login .content .forget-form .form-actions {  
158 - border: 0;  
159 - margin-bottom: 0;  
160 - padding-bottom: 20px;  
161 -}  
162 -  
163 -.login .content .register-form .form-actions {  
164 - border: 0;  
165 - margin-bottom: 0;  
166 - padding-bottom: 0px;  
167 -}  
168 -  
169 -.login .content .form-actions .btn {  
170 - margin-top: 1px;  
171 -}  
172 -  
173 -.login .content .form-actions .btn {  
174 - font-weight: 600;  
175 - padding: 10px 20px !important;  
176 -}  
177 -  
178 -.login .content .form-actions .btn-default {  
179 - font-weight: 600;  
180 - padding: 10px 25px !important;  
181 - color: #6c7a8d;  
182 - background-color: #ffffff;  
183 - border: none;  
184 -}  
185 -  
186 -.login .content .form-actions .btn-default:hover {  
187 - background-color: #fafaff;  
188 - color: #45b6af;  
189 -}  
190 -  
191 -.login .content .forget-password {  
192 - font-size: 14px;  
193 - float: right;  
194 - display: inline-block;  
195 - margin-top: 10px;  
196 -}  
197 -  
198 -.login .content .check {  
199 - color: #8290a3;  
200 -}  
201 -  
202 -.login .content .rememberme {  
203 - margin-left: 8px;  
204 - margin-top: 10px;  
205 -}  
206 -  
207 -.login .content .create-account {  
208 - margin: 0 -40px -30px -40px;  
209 - padding: 15px 0 17px 0;  
210 - text-align: center;  
211 - background-color: #6c7a8d;  
212 - -webkit-border-radius: 0 0 7px 7px;  
213 - -moz-border-radius: 0 0 7px 7px;  
214 - -ms-border-radius: 0 0 7px 7px;  
215 - -o-border-radius: 0 0 7px 7px;  
216 - border-radius: 0 0 7px 7px;  
217 -}  
218 -  
219 -.login .content .create-account>p {  
220 - margin: 0;  
221 -}  
222 -  
223 -.login .content .create-account p a {  
224 - font-weight: 600;  
225 - font-size: 14px;  
226 - color: #c3cedd;  
227 -}  
228 -  
229 -.login .content .create-account a {  
230 - display: inline-block;  
231 - margin-top: 5px;  
232 -}  
233 -  
234 -/* footer copyright */  
235 -.login .copyright {  
236 - text-align: center;  
237 - margin: 0 auto 30px 0;  
238 - padding: 10px;  
239 - color: #7a8ca5;  
240 - font-size: 13px;  
241 -}  
242 -  
243 -@media ( max-width : 440px) {  
244 - /***  
245 - Login page  
246 - ***/  
247 - .login .logo {  
248 - margin-top: 10px;  
249 - }  
250 - .login .content {  
251 - width: 280px;  
252 - margin-top: 10px;  
253 - }  
254 - .login .content h3 {  
255 - font-size: 22px;  
256 - }  
257 - .forget-password {  
258 - display: inline-block;  
259 - margin-top: 20px;  
260 - }  
261 - .login-options .social-icons {  
262 - float: left;  
263 - padding-top: 3px;  
264 - }  
265 - .login .checkbox {  
266 - font-size: 13px;  
267 - } 57 +.buttonLogin {
  58 + cursor: pointer;
268 } 59 }
269 </style> 60 </style>
270 </head> 61 </head>
271 62
272 -<body class=" login">  
273 - <!-- BEGIN LOGO -->  
274 - <div class="logo">  
275 - <a href="index.html"> <img src="metronic_v4.5.4/img/logo-big.png"  
276 - alt="" />  
277 - </a>  
278 - </div>  
279 - <!-- END LOGO -->  
280 - <!-- BEGIN LOGIN -->  
281 - <div class="content"> 63 +<body class="login">
  64 + <div class="loginCenter">
282 <form class="login-form" action="/login" method="post"> 65 <form class="login-form" action="/login" method="post">
283 - <h3 class="form-title font-green">Sign In</h3>  
284 - <div class="alert alert-danger display-hide">  
285 - <button class="close" data-close="alert"></button>  
286 - <span> Enter any username and password. </span>  
287 - </div>  
288 - <div class="form-group">  
289 - <label class="control-label visible-ie8 visible-ie9">用户名</label> <input  
290 - class="form-control form-control-solid placeholder-no-fix"  
291 - type="text" autocomplete="off" placeholder="用户名" name="username" value="admin"/>  
292 - </div>  
293 - <div class="form-group">  
294 - <label class="control-label visible-ie8 visible-ie9">密码</label> <input  
295 - class="form-control form-control-solid placeholder-no-fix"  
296 - type="password" autocomplete="off" placeholder="密码" name="password" value="admin"/>  
297 - </div>  
298 - <div class="form-actions">  
299 - <button type="submit" class="btn green uppercase">登录</button>  
300 - <a href="javascript:;" id="forget-password" class="forget-password">忘记密码  
301 - ?</a> 66 + <div class="col-md-12 loginInputDiv">
  67 + <img src="./assets/img/button_user.png" id="img_user">
  68 + <input class="loginInput" type="text" autocomplete="off"
  69 + placeholder="用户名" name="username" value="admin" />
  70 + <img src="./assets/img/button_pwd.png">
  71 + <input class="loginInput" type="password" autocomplete="off"
  72 + placeholder="密码" name="password" value="admin" />
  73 + <img src="./assets/img/button_login.png" class="buttonLogin">
302 </div> 74 </div>
303 </form> 75 </form>
304 </div> 76 </div>
305 -  
306 <script src="metronic_v4.5.4/plugins/jquery.min.js" 77 <script src="metronic_v4.5.4/plugins/jquery.min.js"
307 type="text/javascript"></script> 78 type="text/javascript"></script>
308 <script src="metronic_v4.5.4/plugins/bootstrap/js/bootstrap.min.js" 79 <script src="metronic_v4.5.4/plugins/bootstrap/js/bootstrap.min.js"
309 type="text/javascript"></script> 80 type="text/javascript"></script>
310 <script src="metronic_v4.5.4/scripts/app.min.js" type="text/javascript"></script> 81 <script src="metronic_v4.5.4/scripts/app.min.js" type="text/javascript"></script>
311 - 82 +
312 <script src="assets/plugins/purl.js"></script> 83 <script src="assets/plugins/purl.js"></script>
313 84
314 -<script type="text/javascript">  
315 -$(function(){  
316 - if($.url().param('error')){  
317 - //去session里查一下失败信息  
318 - $.get('/user/loginFailure', function(msg){  
319 - if(msg && msg != '')  
320 - alert(msg);  
321 - location.href = '/login.html'; 85 + <script type="text/javascript">
  86 + $(function() {
  87 + setCenterCss();
  88 + if ($.url().param('error')) {
  89 + //去session里查一下失败信息
  90 + $.get('/user/loginFailure', function(msg) {
  91 + if (msg && msg != '')
  92 + alert(msg);
  93 + location.href = '/login.html';
  94 + });
  95 + }
  96 + $(window).resize(setCenterCss);
  97 + // 设置登录界面样式,让登陆框始终居中
  98 + function setCenterCss() {
  99 + $(".loginCenter").css({
  100 + width : $(window).width() * 0.4,
  101 + height : $(window).height() * 0.2,
  102 + });
  103 + $(".loginCenter").css({
  104 + left : ($(window).width() - $(".loginCenter") .outerWidth()) / 2,
  105 + top : ($(window).height() - $(".loginCenter") .outerHeight()) / 2
  106 + });
  107 + }
  108 + // 设置两个输入框的高度和左边图片高度一致,宽度为父DIV loginInputDiv减 去三个按钮的宽带度/2*0。8
  109 + $(".loginInput").css({
  110 + height : $("#img_user").height(),
  111 + width : ($(".loginInputDiv").width()- $("#img_user").width() * 2 -
  112 + $(".buttonLogin").width()) / 2 * 0.8
  113 + });
  114 + // 设置中间登陆框DIV左右居中
  115 + $(".loginInputDiv").css({
  116 + left : ($(".loginCenter").outerWidth() - $(".loginInputDiv").outerWidth()) / 2,
  117 + });
  118 + $(".buttonLogin").bind("click", function() {
  119 + $(".login-form").submit();
  120 + });
322 }); 121 });
323 - }  
324 -});  
325 -</script> 122 + </script>
326 </body> 123 </body>
327 124
328 </html> 125 </html>
329 \ No newline at end of file 126 \ No newline at end of file
src/main/resources/static/pages/base/carpark/add.html
@@ -307,12 +307,12 @@ @@ -307,12 +307,12 @@
307 </div> 307 </div>
308 </div> 308 </div>
309 309
310 - <div class="form-group"> 310 + <!-- <div class="form-group">
311 <label class="control-label col-md-3"> 中心位置WGS坐标点: </label> 311 <label class="control-label col-md-3"> 中心位置WGS坐标点: </label>
312 <div class="col-md-4"> 312 <div class="col-md-4">
313 <p class="form-control-static" data-display="gCenterPoint"> </p> 313 <p class="form-control-static" data-display="gCenterPoint"> </p>
314 </div> 314 </div>
315 - </div> 315 + </div> -->
316 316
317 <h4 class="form-section"> 停车场信息 </h4> 317 <h4 class="form-section"> 停车场信息 </h4>
318 318
src/main/resources/static/pages/base/carpark/edit_select.html
@@ -156,7 +156,7 @@ $(&#39;#editPositions_select_mobal&#39;).on(&#39;editSelectMobal_show&#39;, function(e, map,fun, @@ -156,7 +156,7 @@ $(&#39;#editPositions_select_mobal&#39;).on(&#39;editSelectMobal_show&#39;, function(e, map,fun,
156 156
157 if(eidtselect_==0){ 157 if(eidtselect_==0){
158 158
159 - WorldsBMap.localSearchFromAdreesToPoint(editStationName); 159 + map.localSearchFromAdreesToPoint(editStationName);
160 160
161 map.openDrawingManager(); 161 map.openDrawingManager();
162 162
src/main/resources/static/pages/base/carpark/js/add-form-wizard.js
@@ -167,7 +167,7 @@ var FormWizard = function() { @@ -167,7 +167,7 @@ var FormWizard = function() {
167 } 167 }
168 168
169 // 返回list.html页面 169 // 返回list.html页面
170 - loadPage('list.html'); 170 + loadPage('/pages/base/carpark/list.html');
171 171
172 }); 172 });
173 173
@@ -266,26 +266,21 @@ var FormWizard = function() { @@ -266,26 +266,21 @@ var FormWizard = function() {
266 // 设置停车场名称 266 // 设置停车场名称
267 $('#parkNameInput').val(stationNameV); 267 $('#parkNameInput').val(stationNameV);
268 268
269 - VmapWorlds.localSearchFromAdreesToPoint(stationNameV,function(p) {  
270 -  
271 - if(p) {  
272 -  
273 - if(baseResValue == 0) {  
274 -  
275 - $('.leftUtils').hide();  
276 -  
277 - VmapWorlds.pointsCircle(p);  
278 -  
279 - }else if(baseResValue ==1) {  
280 -  
281 - $('.leftUtils').show();  
282 -  
283 - VmapWorlds.drawingManagerOpen();  
284 -  
285 - }  
286 - }  
287 -  
288 - }); 269 + VmapWorlds.localSearchFromAdreesToPoint(stationNameV,function(p) {});
  270 +
  271 + if(baseResValue == 0) {
  272 +
  273 + $('.leftUtils').hide();
  274 +
  275 + VmapWorlds.pointsCircle(p);
  276 +
  277 + }else if(baseResValue ==1) {
  278 +
  279 + $('.leftUtils').show();
  280 +
  281 + VmapWorlds.drawingManagerOpen();
  282 +
  283 + }
289 } 284 }
290 285
291 /** 如果为最后一步显示提交按钮,隐藏下一步按钮,否则隐藏提交按钮,显示下一步按钮 */ 286 /** 如果为最后一步显示提交按钮,隐藏下一步按钮,否则隐藏提交按钮,显示下一步按钮 */
@@ -327,6 +322,8 @@ var FormWizard = function() { @@ -327,6 +322,8 @@ var FormWizard = function() {
327 /** 当一个导航标签被点击,返回错误的移动到该选项卡,并显示它的内容. */ 322 /** 当一个导航标签被点击,返回错误的移动到该选项卡,并显示它的内容. */
328 onTabClick: function (tab, navigation, index, clickedIndex) { 323 onTabClick: function (tab, navigation, index, clickedIndex) {
329 324
  325 + return false;
  326 +
330 success.hide(); 327 success.hide();
331 328
332 error.hide(); 329 error.hide();
@@ -358,6 +355,8 @@ var FormWizard = function() { @@ -358,6 +355,8 @@ var FormWizard = function() {
358 355
359 VmapWorlds.clearMarkAndOverlays(); 356 VmapWorlds.clearMarkAndOverlays();
360 357
  358 + VmapWorlds.drawingManagerClose();
  359 +
361 } 360 }
362 361
363 handleTitle(tab, navigation, index); 362 handleTitle(tab, navigation, index);
@@ -371,6 +370,12 @@ var FormWizard = function() { @@ -371,6 +370,12 @@ var FormWizard = function() {
371 370
372 error.hide(); 371 error.hide();
373 372
  373 + if(index ==0) {
  374 +
  375 + VmapWorlds.drawingManagerClose();
  376 +
  377 + }
  378 +
374 VmapWorlds.clearMarkAndOverlays(); 379 VmapWorlds.clearMarkAndOverlays();
375 380
376 handleTitle(tab, navigation, index); 381 handleTitle(tab, navigation, index);
src/main/resources/static/pages/base/carpark/js/carpark-positions-events.js
@@ -3,7 +3,10 @@ $(function(){ @@ -3,7 +3,10 @@ $(function(){
3 $('#backUp').on('click',function() { 3 $('#backUp').on('click',function() {
4 4
5 // 获取返回元素并修改url地址 5 // 获取返回元素并修改url地址
6 - $('#backUp').attr('href','list.html?'); 6 + /*$('#backUp').attr('href','list.html?');*/
  7 +
  8 + // 返回list.html页面
  9 + loadPage('/pages/base/carpark/list.html');
7 10
8 }); 11 });
9 12
src/main/resources/static/pages/base/carpark/js/carpark-positions-function.js
1 /** 1 /**
2 * 函数 2 * 函数
3 * 3 *
4 - * initCarPark :停车场信息初始化 @param:<id:停车场ID>  
5 */ 4 */
6 5
7 var PublicFunctions = function () { 6 var PublicFunctions = function () {
@@ -58,16 +57,132 @@ var PublicFunctions = function () { @@ -58,16 +57,132 @@ var PublicFunctions = function () {
58 // 中心坐标点 57 // 中心坐标点
59 var point = new BMap.Point(BJwpoints[0], BJwpoints[1]); 58 var point = new BMap.Point(BJwpoints[0], BJwpoints[1]);
60 59
  60 + var shapesV = '';
  61 +
  62 + if(r[0].carParkShapesType='d') {
  63 +
  64 + shapesV = '多边形';
  65 +
  66 + }else if(r[0].carParkShapesType='r') {
  67 +
  68 + shapesV = '圆形';
  69 +
  70 + }
  71 +
  72 + var companyV = '';
  73 +
  74 + var branchecomV = '';
  75 +
  76 + if( r[0].carParkCompany=='55'){
  77 +
  78 + companyV = '上南公司';
  79 +
  80 + if(r[0].carParkBrancheCompany=='1'){
  81 +
  82 + branchecomV = '上南二分公司';
  83 +
  84 + }else if(r[0].carParkBrancheCompany=='2'){
  85 +
  86 + branchecomV = '上南三分公司';
  87 +
  88 + }else if(r[0].carParkBrancheCompany=='3'){
  89 +
  90 + branchecomV = '上南六分公司';
  91 +
  92 + }else if(r[0].carParkBrancheCompany=='4'){
  93 +
  94 + branchecomV = '上南一分公司';
  95 +
  96 + }
  97 +
  98 + }else if( r[0].carParkCompany=='22'){
  99 +
  100 + companyV = '金高公司';
  101 +
  102 + if(r[0].carParkBrancheCompany=='1'){
  103 +
  104 + branchecomV = '四分公司';
  105 +
  106 + }else if(r[0].carParkBrancheCompany=='2'){
  107 +
  108 + branchecomV = '二分公司';
  109 +
  110 + }else if(r[0].carParkBrancheCompany=='3'){
  111 +
  112 + branchecomV = '三分公司';
  113 +
  114 + }else if(r[0].carParkBrancheCompany=='5'){
  115 +
  116 + branchecomV = '一分公司';
  117 +
  118 + }
  119 +
  120 + }else if( r[0].carParkCompany=='05'){
  121 +
  122 + companyV = '杨高公司';
  123 +
  124 + if(r[0].carParkBrancheCompany=='1'){
  125 +
  126 + branchecomV = '川沙分公司';
  127 +
  128 + }else if(r[0].carParkBrancheCompany=='2'){
  129 +
  130 + branchecomV = '金桥分公司';
  131 +
  132 + }else if(r[0].carParkBrancheCompany=='3'){
  133 +
  134 + branchecomV = '芦潮港分公司';
  135 +
  136 + }else if(r[0].carParkBrancheCompany=='5'){
  137 +
  138 + branchecomV = '杨高分公司';
  139 +
  140 + }else if(r[0].carParkBrancheCompany=='6'){
  141 +
  142 + branchecomV = '周浦分公司';
  143 +
  144 + }
  145 +
  146 +
  147 + }else if( r[0].carParkCompany=='26'){
  148 +
  149 + companyV = '南汇公司';
  150 +
  151 + if(r[0].carParkBrancheCompany=='1'){
  152 +
  153 + branchecomV = '南汇一分';
  154 +
  155 + }else if(r[0].carParkBrancheCompany=='2'){
  156 +
  157 + branchecomV = '南汇二分';
  158 +
  159 + }else if(r[0].carParkBrancheCompany=='3'){
  160 +
  161 + branchecomV = '南汇三分';
  162 +
  163 + }else if(r[0].carParkBrancheCompany=='4'){
  164 +
  165 + branchecomV = '南汇维修公司';
  166 +
  167 + }else if(r[0].carParkBrancheCompany=='5'){
  168 +
  169 + branchecomV = '南汇公司';
  170 +
  171 + }
  172 +
  173 + }
  174 +
  175 + // 信息窗口类容
61 var htm = '<HR style="border:1 dashed #987cb9" width="100%" color=#987cb9 SIZE=1>'+ 176 var htm = '<HR style="border:1 dashed #987cb9" width="100%" color=#987cb9 SIZE=1>'+
62 '<span style="color:#DDD;font-size: 15px;">停车场名称:' + r[0].carParkName + '</span>' + 177 '<span style="color:#DDD;font-size: 15px;">停车场名称:' + r[0].carParkName + '</span>' +
63 '<span class="help-block" style="color:#DDD;font-size: 15px;">停车场编码:' + r[0].carParkCode + '</span>' + 178 '<span class="help-block" style="color:#DDD;font-size: 15px;">停车场编码:' + r[0].carParkCode + '</span>' +
64 '<span class="help-block" style="color:#DDD;font-size: 15px;">停车场面积:' + r[0].carParkArea + '</span>' + 179 '<span class="help-block" style="color:#DDD;font-size: 15px;">停车场面积:' + r[0].carParkArea + '</span>' +
65 - '<span class="help-block" style="color:#DDD;font-size: 15px;">纬度坐标:' + r[0].carParkBcenterPoint + '</span>' +  
66 - '<span class="help-block" style="color:#DDD;font-size: 15px;">范围类型:' + r[0].carParkShapesType + '</span>' +  
67 - '<span class="help-block" style="color:#DDD;font-size: 15px;">范围半径:' + r[0].carParkRadius + '</span>' +  
68 - '<span class="help-block" style="color:#DDD;font-size: 15px;">所属公司:' + r[0].carParkCompany + '</span>' +  
69 - '<span class="help-block" style="color:#DDD;font-size: 15px;">分 公司:' + r[0].carParkBrancheCompany + '</span>' +  
70 - '<span class="help-block" style="color:#DDD;font-size: 15px;">版本 号:' + r[0].carParkVersions + '</span>' + 180 + '<span class="help-block" style="color:#DDD;font-size: 15px;">纬度坐标:' + r[0].carParkBcenterPoint + '</span>' +
  181 + '<span class="help-block" style="color:#DDD;font-size: 15px;">范围类型:' + shapesV + '</span>' +
  182 + '<span class="help-block" style="color:#DDD;font-size: 15px;">范围半径:' + r[0].carParkRadius + '</span>' +
  183 + '<span class="help-block" style="color:#DDD;font-size: 15px;">所属公司:' + companyV + '</span>' +
  184 + '<span class="help-block" style="color:#DDD;font-size: 15px;">分 公司:' + branchecomV+ '</span>' +
  185 + '<span class="help-block" style="color:#DDD;font-size: 15px;">版本 号:' + r[0].carParkVersions + '</span>' +
71 '<span class="help-block" style="width: 100%;font-size: 15px;;color:#DDD; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; " title="'+ r[0].carParkDescriptions +'" >说明/描述:' + r[0].carParkDescriptions + '</span>' ; 186 '<span class="help-block" style="width: 100%;font-size: 15px;;color:#DDD; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; " title="'+ r[0].carParkDescriptions +'" >说明/描述:' + r[0].carParkDescriptions + '</span>' ;
72 187
73 // 信息窗口参数属性 188 // 信息窗口参数属性
src/main/resources/static/pages/base/carpark/js/carpark-positions-reload.js
@@ -15,7 +15,7 @@ @@ -15,7 +15,7 @@
15 (function(){ 15 (function(){
16 16
17 // 获取参数停车场ID 17 // 获取参数停车场ID
18 - id = $.url().param('no'); 18 + var id = $.url().param('no');
19 19
20 // 关闭左侧栏 20 // 关闭左侧栏
21 if (!$('body').hasClass('page-sidebar-closed')) { 21 if (!$('body').hasClass('page-sidebar-closed')) {
src/main/resources/static/pages/base/carpark/list.html
@@ -36,9 +36,9 @@ @@ -36,9 +36,9 @@
36 <th width="8%">面积</th> 36 <th width="8%">面积</th>
37 <th width="8%">分公司</th> 37 <th width="8%">分公司</th>
38 <th width="8%">所属公司</th> 38 <th width="8%">所属公司</th>
39 - <th width="8%">版本号</th>  
40 - <th width="8%">是否撤销</th>  
41 - <th width="12%">操作</th> 39 + <th width="6%">版本号</th>
  40 + <th width="6%">是否撤销</th>
  41 + <th width="14%">操作</th>
42 </tr> 42 </tr>
43 <tr role="row" class="filter"> 43 <tr role="row" class="filter">
44 <td>#</td> 44 <td>#</td>
@@ -110,16 +110,80 @@ @@ -110,16 +110,80 @@
110 {{obj.area}} 110 {{obj.area}}
111 </td> 111 </td>
112 <td> 112 <td>
113 - {{obj.brancheCompany}} 113 + {{if obj.company == '55'}}
  114 +
  115 + {{if obj.brancheCompany == '1'}}
  116 + 上南二分公司
  117 + {{else if obj.brancheCompany == '2'}}
  118 + 上南三分公司
  119 + {{else if obj.brancheCompany == '3'}}
  120 + 上南六分公司
  121 + {{else if obj.brancheCompany == '4'}}
  122 + 上南一分公司
  123 + {{/if}}
  124 +
  125 + {{else if obj.company == '22'}}
  126 +
  127 + {{if obj.brancheCompany == '1'}}
  128 + 四分公司
  129 + {{else if obj.brancheCompany == '2'}}
  130 + 二分公司
  131 + {{else if obj.brancheCompany == '3'}}
  132 + 三分公司
  133 + {{else if obj.brancheCompany == '5'}}
  134 + 一分公司
  135 + {{/if}}
  136 +
  137 + {{else if obj.company == '05'}}
  138 +
  139 + {{if obj.brancheCompany == '1'}}
  140 + 川沙分公司
  141 + {{else if obj.brancheCompany == '2'}}
  142 + 金桥分公司
  143 + {{else if obj.brancheCompany == '3'}}
  144 + 芦潮港分公司
  145 + {{else if obj.brancheCompany == '5'}}
  146 + 杨高分公司
  147 + {{else if obj.brancheCompany == '6'}}
  148 + 周浦分公司
  149 + {{/if}}
  150 +
  151 + {{else if obj.company == '26'}}
  152 +
  153 + {{if obj.brancheCompany == '1'}}
  154 + 南汇一分
  155 + {{else if obj.brancheCompany == '2'}}
  156 + 南汇二分
  157 + {{else if obj.brancheCompany == '3'}}
  158 + 南汇三分
  159 + {{else if obj.brancheCompany == '4'}}
  160 + 南汇维修公司
  161 + {{else if obj.brancheCompany == '5'}}
  162 + 南汇公司
  163 + {{/if}}
  164 +
  165 + {{/if}}
114 </td> 166 </td>
115 <td> 167 <td>
116 - {{obj.company}} 168 + {{if obj.company == '55'}}
  169 + 上南公司
  170 + {{else if obj.company == '22'}}
  171 + 金高公司
  172 + {{else if obj.company == '05'}}
  173 + 杨高公司
  174 + {{else if obj.company == '26'}}
  175 + 南汇公司
  176 + {{/if}}
117 </td> 177 </td>
118 <td> 178 <td>
119 {{obj.versions}} 179 {{obj.versions}}
120 </td> 180 </td>
121 <td> 181 <td>
122 - {{obj.destroy}} 182 + {{if obj.destroy == 1}}
  183 + <span style="font-weight: bold; color: red; padding: 5px; background-color: #FFE4E1; margin: 5px; font-size: 9px;border-radius: 4px;">撤销</span>
  184 + {{else if obj.destroy == 0}}
  185 + <span style="font-weight: bold; color: #07824e; padding: 5px; background-color: #FFE4E1; margin: 5px; font-size: 9px;border-radius: 4px;">运营</span>
  186 + {{/if}}
123 </td> 187 </td>
124 <td> 188 <td>
125 <a href="positions.html?no={{obj.id}}" class="btn default blue-stripe btn-sm" data-pjax> 定位 </a> 189 <a href="positions.html?no={{obj.id}}" class="btn default blue-stripe btn-sm" data-pjax> 定位 </a>
src/main/resources/static/pages/base/line/js/line-list-table.js
@@ -246,27 +246,63 @@ @@ -246,27 +246,63 @@
246 // 生成行单 246 // 生成行单
247 $('#datatable_ajax_tools #createUsingSingle').on('click', function() { 247 $('#datatable_ajax_tools #createUsingSingle').on('click', function() {
248 248
249 - /*alert('aaa');*/  
250 -  
251 - /*var lineIdEvents = LineObj.getLineObj();  
252 -  
253 - var params = {lineId:lineIdEvents.id};  
254 -  
255 - GetAjaxData.createUsingSingle(params,function(data) { 249 + // 获取选中行
  250 + var arrChk = $("input[type='checkbox']:checked");
  251 +
  252 + var len = arrChk.length;
  253 +
  254 + // 选中行ID与线路名称
  255 + var id = '', lineName = '';
  256 +
  257 + if(len>1) {
  258 +
  259 + // 弹出添加成功提示消息
  260 + layer.msg('存在多选,请只选中一行!');
  261 +
  262 + return ;
  263 +
  264 + }else if(len==0) {
  265 +
  266 + // 弹出添加成功提示消息
  267 + layer.msg('请选中一条线路!');
  268 +
  269 + return ;
  270 +
  271 + }else {
  272 +
  273 + id = arrChk.data('id');
  274 +
  275 + lineName = arrChk.val();
  276 +
  277 + var params = {lineId:id};
256 278
257 - if(data.status=='SUCCESS') { 279 + // 弹出正在加载层
  280 + var index = layer.load(0);
  281 +
  282 + $post('/stationroute/usingSingle',params,function(data) {
258 283
259 - // 弹出添加成功提示消息  
260 - layer.msg('生成成功...'); 284 + // 关闭弹出框
  285 + layer.close(index);
261 286
262 - }else { 287 + if(data.status=='SUCCESS') {
  288 +
  289 + // 弹出添加成功提示消息
  290 + layer.msg('生成线路【'+ lineName +'】路单文件成功!');
  291 +
  292 + }else if(data.status=='ERROR'){
  293 +
  294 + // 弹出添加成功提示消息
  295 + layer.msg('生成线路【'+ lineName +'】路单文件失败!');
  296 +
  297 + }else if(data.status=='NOTDATA') {
  298 +
  299 + // 弹出添加成功提示消息
  300 + layer.msg('系统无线路【'+ lineName +'】的站点与路段信息!');
  301 +
  302 + }
263 303
264 - // 弹出添加失败提示消息  
265 - layer.msg('生成失败...'); 304 + });
266 305
267 - }  
268 -  
269 - });*/  
270 - 306 + }
271 }); 307 });
272 })(); 308 })();
273 \ No newline at end of file 309 \ No newline at end of file
src/main/resources/static/pages/base/line/list.html
@@ -185,9 +185,9 @@ @@ -185,9 +185,9 @@
185 {{if obj.brancheCompany == '1'}} 185 {{if obj.brancheCompany == '1'}}
186 四分公司 186 四分公司
187 {{else if obj.brancheCompany == '2'}} 187 {{else if obj.brancheCompany == '2'}}
188 - 分公司 188 + 分公司
189 {{else if obj.brancheCompany == '3'}} 189 {{else if obj.brancheCompany == '3'}}
190 - 分公司 190 + 分公司
191 {{else if obj.brancheCompany == '5'}} 191 {{else if obj.brancheCompany == '5'}}
192 一分公司 192 一分公司
193 {{/if}} 193 {{/if}}
src/main/resources/static/pages/base/section/js/add-form-wizard.js
@@ -194,7 +194,7 @@ var FormWizard = function() { @@ -194,7 +194,7 @@ var FormWizard = function() {
194 194
195 console.log(params); 195 console.log(params);
196 196
197 - //保存站点 197 + // 保存路段
198 PublicFunctions.sectionSave(params,function(data) { 198 PublicFunctions.sectionSave(params,function(data) {
199 199
200 if(data.status=='SUCCESS') { 200 if(data.status=='SUCCESS') {
src/main/resources/static/pages/base/section/js/section-ajax-getdata.js
@@ -44,8 +44,6 @@ var GetAjaxData = function(){ @@ -44,8 +44,6 @@ var GetAjaxData = function(){
44 // 编辑线路走向保存 44 // 编辑线路走向保存
45 sectionUpdate:function(section,callback) { 45 sectionUpdate:function(section,callback) {
46 46
47 - console.log(section);  
48 -  
49 $post('/section/sectionUpdate',section,function(data) { 47 $post('/section/sectionUpdate',section,function(data) {
50 48
51 callback && callback(data); 49 callback && callback(data);
src/main/resources/static/pages/base/section/js/section-positions-events.js
@@ -10,7 +10,9 @@ $(function(){ @@ -10,7 +10,9 @@ $(function(){
10 // 编辑线路走向 10 // 编辑线路走向
11 $('.dropdown-menu #eidt').on('click', function(){ 11 $('.dropdown-menu #eidt').on('click', function(){
12 12
13 - $('.dropdown-toggle').addClass('disabled'); 13 + $('#eidt').attr("disabled",true);
  14 +  
  15 + $('#eidt').addClass('btn disabled');
14 16
15 // 弹出添加失败提示消息,2秒关闭(如果不配置,默认是3秒) 17 // 弹出添加失败提示消息,2秒关闭(如果不配置,默认是3秒)
16 var yindex = layer.msg('编辑完线路走向后,请双击线路走向区域保存',{ offset: '126px',shift: 0,time: 10000}); 18 var yindex = layer.msg('编辑完线路走向后,请双击线路走向区域保存',{ offset: '126px',shift: 0,time: 10000});
src/main/resources/static/pages/base/station/add.html
@@ -390,12 +390,12 @@ @@ -390,12 +390,12 @@
390 </div> 390 </div>
391 </div> 391 </div>
392 392
393 - <div class="form-group"> 393 + <!-- <div class="form-group">
394 <label class="control-label col-md-3"> 中心位置WGS坐标点: </label> 394 <label class="control-label col-md-3"> 中心位置WGS坐标点: </label>
395 <div class="col-md-4"> 395 <div class="col-md-4">
396 <p class="form-control-static" data-display="bJwpoints"> </p> 396 <p class="form-control-static" data-display="bJwpoints"> </p>
397 </div> 397 </div>
398 - </div> 398 + </div> -->
399 399
400 <!-- 400 <!--
401 <div class="form-group"> 401 <div class="form-group">
src/main/resources/static/pages/base/station/edit.html
@@ -452,8 +452,9 @@ $(&#39;#editPoitsions_station_mobal&#39;).on(&#39;editStationMobal_show&#39;, function(e, map,fu @@ -452,8 +452,9 @@ $(&#39;#editPoitsions_station_mobal&#39;).on(&#39;editStationMobal_show&#39;, function(e, map,fu
452 var params = form.serializeJSON(); 452 var params = form.serializeJSON();
453 453
454 error.hide(); 454 error.hide();
  455 +
455 console.log(params); 456 console.log(params);
456 - return ; 457 +
457 fun.stationUpdate(params,function(resuntDate) { 458 fun.stationUpdate(params,function(resuntDate) {
458 459
459 if(resuntDate.status=='SUCCESS') { 460 if(resuntDate.status=='SUCCESS') {
src/main/resources/static/pages/base/station/edit_select.html
@@ -174,13 +174,13 @@ $(&#39;#editPositions_select_mobal&#39;).on(&#39;editSelectMobal_show&#39;, function(e, map,drm, @@ -174,13 +174,13 @@ $(&#39;#editPositions_select_mobal&#39;).on(&#39;editSelectMobal_show&#39;, function(e, map,drm,
174 if(eidtselect_==0){ 174 if(eidtselect_==0){
175 175
176 // 清除地图覆盖物 176 // 清除地图覆盖物
177 - StationPositionsWorldsBMap.clearMarkAndOverlays(); 177 + map.clearMarkAndOverlays();
178 178
179 // 打开绘制工具 179 // 打开绘制工具
180 PositionsDrawingManagerObj.openDrawingManager(); 180 PositionsDrawingManagerObj.openDrawingManager();
181 181
182 // 根据站点位置在地图定位 182 // 根据站点位置在地图定位
183 - StationPositionsWorldsBMap.localtionPoint(editStationName); 183 + map.localtionPoint(editStationName);
184 184
185 185
186 }else if(eidtselect_==1){ 186 }else if(eidtselect_==1){
@@ -190,7 +190,7 @@ $(&#39;#editPositions_select_mobal&#39;).on(&#39;editSelectMobal_show&#39;, function(e, map,drm, @@ -190,7 +190,7 @@ $(&#39;#editPositions_select_mobal&#39;).on(&#39;editSelectMobal_show&#39;, function(e, map,drm,
190 shift: 0,time: 10000}); 190 shift: 0,time: 10000});
191 191
192 // 编辑图形 192 // 编辑图形
193 - StationPositionsWorldsBMap.editShapes(stationShapesTypeV,mindex); 193 + map.editShapes(stationShapesTypeV,mindex);
194 194
195 }else if(eidtselect_==2){ 195 }else if(eidtselect_==2){
196 196
src/main/resources/static/pages/base/station/js/add-form-wizard.js
@@ -41,7 +41,7 @@ var FormWizard = function() { @@ -41,7 +41,7 @@ var FormWizard = function() {
41 // 需要验证的表单元素 41 // 需要验证的表单元素
42 rules : { 42 rules : {
43 43
44 - // 线路名称 44 + // 站点名称
45 'statinoNamebooxt' : { 45 'statinoNamebooxt' : {
46 46
47 // 必填项 47 // 必填项
@@ -49,6 +49,69 @@ var FormWizard = function() { @@ -49,6 +49,69 @@ var FormWizard = function() {
49 49
50 // 最大长度 50 // 最大长度
51 maxlength: 20 51 maxlength: 20
  52 + },
  53 +
  54 + // 线路名称
  55 + 'line' : {
  56 +
  57 + // 必填项
  58 + required : true
  59 +
  60 + },
  61 +
  62 + // 线路编码
  63 + 'lineCode' : {
  64 +
  65 + // 必填项
  66 + required : true
  67 +
  68 + },
  69 +
  70 + // 站点名称
  71 + 'stationName' : {
  72 +
  73 + // 必填项
  74 + required : true
  75 +
  76 + },
  77 +
  78 + // 站点编码
  79 + 'stationCod' : {
  80 +
  81 + // 必填项
  82 + required : true
  83 +
  84 + },
  85 +
  86 + // 上一站点
  87 + 'stationRouteCode' : {
  88 +
  89 + isStart : true
  90 +
  91 + },
  92 +
  93 + // 站点类型
  94 + 'stationMark' : {
  95 +
  96 + // 必填项
  97 + required : true
  98 +
  99 + },
  100 +
  101 + // 站点方向
  102 + 'directions' : {
  103 +
  104 + // 必填项
  105 + required : true
  106 +
  107 + },
  108 +
  109 + // 经纬度坐标点
  110 + 'bJwpoints' : {
  111 +
  112 + // 必填项
  113 + required : true
  114 +
52 } 115 }
53 116
54 117
@@ -115,6 +178,8 @@ var FormWizard = function() { @@ -115,6 +178,8 @@ var FormWizard = function() {
115 // 表单序列化 178 // 表单序列化
116 var params = form.serializeJSON(); 179 var params = form.serializeJSON();
117 180
  181 + console.log(params);
  182 +
118 //保存站点 183 //保存站点
119 PublicFunctions.stationSave(params,function(data) { 184 PublicFunctions.stationSave(params,function(data) {
120 185
@@ -139,6 +204,37 @@ var FormWizard = function() { @@ -139,6 +204,37 @@ var FormWizard = function() {
139 } 204 }
140 }); 205 });
141 206
  207 + // 当站点类型为中途站或者终点站时,上一站点为必填项!
  208 + $.validator.addMethod("isStart", function(value,element) {
  209 +
  210 + var tel = false;
  211 +
  212 + var stationMarkV = $('#stationMarkSelect').val();
  213 +
  214 + var stationrouteSelectV = $('#stationrouteSelect').val();
  215 +
  216 + if(stationMarkV =='B'){
  217 +
  218 + tel = true;
  219 +
  220 + return tel;
  221 +
  222 + }else if(stationMarkV =='Z' || stationMarkV =='E'){
  223 +
  224 +
  225 + if(stationrouteSelectV!=''){
  226 +
  227 + tel = true;
  228 +
  229 + return tel;
  230 +
  231 + }
  232 +
  233 + }
  234 +
  235 + return tel;
  236 + }, '当站点类型为中途站或者终点站时,上一站点为必填项!');
  237 +
142 // 确认提交信息 238 // 确认提交信息
143 var displayConfirm = function() { 239 var displayConfirm = function() {
144 240
src/main/resources/static/pages/base/station/js/station-list-table.js
@@ -101,8 +101,6 @@ @@ -101,8 +101,6 @@
101 // 异步请求获取表格数据 101 // 异步请求获取表格数据
102 $.get('/stationroute',params,function(result){ 102 $.get('/stationroute',params,function(result){
103 103
104 - console.log(result);  
105 -  
106 // 添加序号 104 // 添加序号
107 result.content.page = page; 105 result.content.page = page;
108 106
src/main/resources/static/pages/base/station/js/station-positions-function.js
@@ -18,6 +18,25 @@ var PositionsPublicFunctions = function () { @@ -18,6 +18,25 @@ var PositionsPublicFunctions = function () {
18 18
19 if(len>0) { 19 if(len>0) {
20 20
  21 + console.log(r[0]);
  22 +
  23 + var markTypeStr = '';
  24 +
  25 + if(r[0].stationRouteStationMark=='B') {
  26 +
  27 + markTypeStr='起点站';
  28 +
  29 + }else if(r[0].stationRouteStationMark=='Z') {
  30 +
  31 + markTypeStr ='中途站';
  32 +
  33 +
  34 + }else if(r[0].stationRouteStationMark=='E') {
  35 +
  36 + markTypeStr='终点站';
  37 +
  38 + }
  39 +
21 var stationShapesType = r[0].stationShapesType; 40 var stationShapesType = r[0].stationShapesType;
22 41
23 // 获取中心坐标点字符串分割 42 // 获取中心坐标点字符串分割
@@ -30,10 +49,15 @@ var PositionsPublicFunctions = function () { @@ -30,10 +49,15 @@ var PositionsPublicFunctions = function () {
30 '<span style="color:#DDD;font-size: 15px;">站点名称:' + r[0].stationName + '</span>' + 49 '<span style="color:#DDD;font-size: 15px;">站点名称:' + r[0].stationName + '</span>' +
31 '<span class="help-block" style="color:#DDD;font-size: 15px;">站点编码:' + r[0].stationCode + '</span>' + 50 '<span class="help-block" style="color:#DDD;font-size: 15px;">站点编码:' + r[0].stationCode + '</span>' +
32 '<span class="help-block" style="color:#DDD;font-size: 15px;">站点序号:' + r[0].stationRouteCode + '</span>' + 51 '<span class="help-block" style="color:#DDD;font-size: 15px;">站点序号:' + r[0].stationRouteCode + '</span>' +
  52 + '<span class="help-block" style="color:#DDD;font-size: 15px;">站点类型:' + markTypeStr + '</span>' +
33 '<span class="help-block" style="color:#DDD;font-size: 15px;">纬度坐标:' + r[0].stationJwpoints + '</span>' + 53 '<span class="help-block" style="color:#DDD;font-size: 15px;">纬度坐标:' + r[0].stationJwpoints + '</span>' +
  54 + '<span class="help-block" style="color:#DDD;font-size: 15px;">到站时间:' + r[0].stationRouteToTime + '&nbsp;分钟</span>' +
  55 + '<span class="help-block" style="color:#DDD;font-size: 15px;">到站距离:' + r[0].stationRouteDistances + '&nbsp;公里</span>' +
34 '<span class="help-block" style="color:#DDD;font-size: 15px;">范围半径:' + r[0].stationRadius + '</span>' + 56 '<span class="help-block" style="color:#DDD;font-size: 15px;">范围半径:' + r[0].stationRadius + '</span>' +
35 '<span class="help-block" style="color:#DDD;font-size: 15px;">版本 号:' + r[0].stationRouteVersions + '</span>' + 57 '<span class="help-block" style="color:#DDD;font-size: 15px;">版本 号:' + r[0].stationRouteVersions + '</span>' +
36 - '<span class="help-block" style="width: 100%;font-size: 15px;;color:#DDD; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; " title="'+ 'ddd' +'" >说明/描述:' + 'ddd' + '</span>' ; 58 + '<span class="help-block" style="width: 100%;font-size: 15px;;color:#DDD;'+
  59 + 'overflow: hidden; white-space: nowrap; text-overflow: ellipsis; " title="'+
  60 + r[0].stationRouteDescriptions +'" >说明/描述:' + r[0].stationRouteDescriptions + '</span>' ;
37 61
38 // 信息窗口参数属性 62 // 信息窗口参数属性
39 var opts = { 63 var opts = {
src/main/resources/static/pages/base/station/js/station-positions-map.js
@@ -155,7 +155,7 @@ var StationPositionsWorldsBMap = function () { @@ -155,7 +155,7 @@ var StationPositionsWorldsBMap = function () {
155 mapBValue.panTo(pointPolygon,PanOptions_); 155 mapBValue.panTo(pointPolygon,PanOptions_);
156 156
157 // 将地图在水平位置上移动x像素,垂直位置上移动y像素。 157 // 将地图在水平位置上移动x像素,垂直位置上移动y像素。
158 - mapBValue.panBy(10,110,PanOptions_); 158 + mapBValue.panBy(10,-510,PanOptions_);
159 159
160 //开启信息窗口 160 //开启信息窗口
161 marker.openInfoWindow(infoWindow,pointPolygon); 161 marker.openInfoWindow(infoWindow,pointPolygon);
src/main/resources/static/pages/base/stationroute/js/stationroute-ajax-getdata.js
@@ -188,18 +188,9 @@ var GetAjaxData = function(){ @@ -188,18 +188,9 @@ var GetAjaxData = function(){
188 188
189 }); 189 });
190 190
191 - },  
192 -  
193 - createUsingSingle : function(params,callback) {  
194 -  
195 - $post('/stationroute/usingSingle',params,function(p) {  
196 -  
197 - return callback && callback(p);  
198 -  
199 - });  
200 -  
201 } 191 }
202 192
  193 +
203 } 194 }
204 195
205 return ajaxData; 196 return ajaxData;
src/main/resources/static/pages/base/stationroute/list.html
@@ -73,9 +73,9 @@ @@ -73,9 +73,9 @@
73 <li> 73 <li>
74 <a href="javascript:;" id="editUplineTrend"><i class="fa fa-edit"></i> 编辑走向</a> 74 <a href="javascript:;" id="editUplineTrend"><i class="fa fa-edit"></i> 编辑走向</a>
75 </li> 75 </li>
76 - <li> 76 + <!-- <li>
77 <a href="javascript:;" id="createUsingSingle"><i class="fa fa-edit"></i> 生成行单</a> 77 <a href="javascript:;" id="createUsingSingle"><i class="fa fa-edit"></i> 生成行单</a>
78 - </li> 78 + </li> -->
79 </ul> 79 </ul>
80 </div> 80 </div>
81 </div> 81 </div>
src/main/resources/static/pages/trafficManage/css/autocompleter.css
1 -/**  
2 - * Simplecomplete  
3 - */  
4 -  
5 -.autocompleter {  
6 - width: 20%;  
7 - background: #ffffff;  
8 - position: relative;  
9 - z-index: 100;  
10 -}  
11 -  
12 -.autocompleter,  
13 -.autocompleter-hint {  
14 - position: absolute;  
15 -}  
16 -  
17 -.autocompleter-list {  
18 - box-shadow: inset 0px 0px 6px rgba(0,0,0,0.1);  
19 - list-style: none;  
20 - margin: 0;  
21 - padding: 0;  
22 - text-align: left;  
23 -}  
24 -  
25 -.autocompleter-item-selected {  
26 - background: #ffffff;  
27 -}  
28 -  
29 -.autocompleter-item {  
30 - padding: 6px 12px;  
31 - color: #444444;  
32 - font-size: 14px;  
33 - cursor: pointer;  
34 -}  
35 -  
36 -.autocompleter-item:hover {  
37 - background: #ddd;  
38 -}  
39 -  
40 -.autocompleter-item strong {  
41 - background: #f9de8f;  
42 - text-shadow: 0 1px 0 #ffffff;  
43 -}  
44 -  
45 -.autocompleter-item span {  
46 - color: #bbbbbb;  
47 -}  
48 -  
49 -.autocompleter-hint {  
50 - color: #ccc;  
51 - text-align: left;  
52 - top: -56px;  
53 - font-weight: 400;  
54 - left: 0;  
55 - width: 100%;  
56 - padding: 12px 12px 12px 13px;  
57 - font-size: 24px;  
58 - display: none;  
59 -}  
60 -  
61 -.autocompleter-hint span {  
62 - color: transparent;  
63 -}  
64 -  
65 -  
66 -.autocompleter-closed {  
67 - display: none;  
68 -} 1 +/**
  2 + * Simplecomplete
  3 + */
  4 +
  5 +.autocompleter {
  6 + width: 20%;
  7 + background: #ffffff;
  8 + position: relative;
  9 + z-index: 100;
  10 +}
  11 +
  12 +.autocompleter,
  13 +.autocompleter-hint {
  14 + position: absolute;
  15 +}
  16 +
  17 +.autocompleter-list {
  18 + box-shadow: inset 0px 0px 6px rgba(0,0,0,0.1);
  19 + list-style: none;
  20 + margin: 0;
  21 + padding: 0;
  22 + text-align: left;
  23 +}
  24 +
  25 +.autocompleter-item-selected {
  26 + background: #ffffff;
  27 +}
  28 +
  29 +.autocompleter-item {
  30 + padding: 6px 12px;
  31 + color: #444444;
  32 + font-size: 14px;
  33 + cursor: pointer;
  34 +}
  35 +
  36 +.autocompleter-item:hover {
  37 + background: #ddd;
  38 +}
  39 +
  40 +.autocompleter-item strong {
  41 + background: #f9de8f;
  42 + text-shadow: 0 1px 0 #ffffff;
  43 +}
  44 +
  45 +.autocompleter-item span {
  46 + color: #bbbbbb;
  47 +}
  48 +
  49 +.autocompleter-hint {
  50 + color: #ccc;
  51 + text-align: left;
  52 + top: -56px;
  53 + font-weight: 400;
  54 + left: 0;
  55 + width: 100%;
  56 + padding: 12px 12px 12px 13px;
  57 + font-size: 24px;
  58 + display: none;
  59 +}
  60 +
  61 +.autocompleter-hint span {
  62 + color: transparent;
  63 +}
  64 +
  65 +
  66 +.autocompleter-closed {
  67 + display: none;
  68 +}
src/main/resources/static/pages/trafficManage/css/trafficManage.css
1 -  
2 -.tab_line{  
3 - background-color: #ffffff;  
4 - height: 800px;  
5 - padding-left: 3px;  
6 - padding-right: 3px;  
7 -}  
8 -.tab_line .breadcrumb{  
9 - color: #3f444a;  
10 - padding-top:10px;  
11 -}  
12 -.tab_line .panel-wrap{  
13 - height: 100%;  
14 - padding-left: 3px;  
15 - padding-right: 3px;  
16 -}  
17 -  
18 -.tab_line .panel-wrap ._panel{  
19 - border: 1px solid #ddd;  
20 - box-shadow: 0 2px 5px 0 rgba(221, 221, 221, 0.32),0 2px 10px 0 rgba(221, 221, 221, 0.32);  
21 - width: 100%;  
22 - height: 100%;  
23 - position: relative;  
24 - /* overflow: auto; */  
25 -}  
26 -.tab_line .panel-wrap ._panel ._head{  
27 - height: 42px;  
28 - line-height: 42px;  
29 - padding-left: 15px;  
30 - font-size: 16px;  
31 - font-family: 微软雅黑;  
32 -}  
33 -.table-striped>tbody>tr:nth-of-type(even) {  
34 - background-color: #eee;  
35 -}  
36 -  
37 -.breadcruma {  
38 - margin:0 auto;  
39 -}  
40 -  
41 -.breadcruma li {  
42 - text-align:center;  
43 - margin:0 auto;  
44 - list-style-type:none;  
45 -}  
46 -.divVerHorCenter{  
47 - line-height: 3;  
48 - position: absolute;  
49 - padding-left: initial;  
50 - top: 50%;  
51 - left: 50%;  
52 - width:50%;  
53 - -webkit-transform: translateX(-50%) translateY(-50%); 1 +.tab_line {
  2 + background-color: #ffffff;
  3 + height: 800px;
  4 + padding-left: 3px;
  5 + padding-right: 3px;
  6 +}
  7 +
  8 +.tab_line .breadcrumb {
  9 + color: #3f444a;
  10 + padding-top: 10px;
  11 +}
  12 +
  13 +.tab_line .panel-wrap {
  14 + height: 100%;
  15 + padding-left: 3px;
  16 + padding-right: 3px;
  17 +}
  18 +
  19 +.tab_line .panel-wrap ._panel {
  20 + border: 1px solid #ddd;
  21 + box-shadow: 0 2px 5px 0 rgba(221, 221, 221, 0.32), 0 2px 10px 0
  22 + rgba(221, 221, 221, 0.32);
  23 + width: 100%;
  24 + height: 100%;
  25 + position: relative;
  26 + /* overflow: auto; */
  27 +}
  28 +
  29 +.tab_line .panel-wrap ._panel ._head {
  30 + height: 42px;
  31 + line-height: 42px;
  32 + padding-left: 15px;
  33 + font-size: 16px;
  34 + font-family: 微软雅黑;
  35 +}
  36 +
  37 +.table-striped>tbody>tr:nth-of-type(even) {
  38 + background-color: #eee;
  39 +}
  40 +
  41 +.breadcruma {
  42 + margin: 0 auto;
  43 +}
  44 +
  45 +.breadcruma li {
  46 + text-align: center;
  47 + margin: 0 auto;
  48 + list-style-type: none;
  49 +}
  50 +
  51 +.divVerHorCenter {
  52 + line-height: 3;
  53 + position: absolute;
  54 + padding-left: initial;
  55 + top: 50%;
  56 + left: 50%;
  57 + width: 50%;
  58 + -webkit-transform: translateX(-50%) translateY(-50%);
  59 +}
  60 +
  61 +.inputCommon{
  62 + height: 30px;
  63 + padding: 5px 10px;
  64 + font-size: 12px;
  65 + line-height: 1.5;
  66 + box-shadow: none !important;
  67 + border: 1px solid #c2cad8;
  68 + background-color: #fff;
  69 +}
  70 +.dateRange {
  71 + width: 30px;
  72 + margin-right: 5px;
  73 + text-align: center;
  74 +}
  75 +
  76 +.dateTime {
  77 + width: 100px;
  78 +}
  79 +
  80 +.inputCarPlate {
  81 + width: 100px;
54 } 82 }
55 \ No newline at end of file 83 \ No newline at end of file
src/main/resources/static/pages/trafficManage/js/lineStationUpload.js
1 -/**  
2 - *  
3 - * @JSName : common.js(运管功能公共js)  
4 - *  
5 - * @Author : bsth@lq  
6 - *  
7 - * @Description : TODO(运管功能公共js)  
8 - *  
9 - * @Data : 2016年6月29日 上午9:21:17  
10 - *  
11 - * @Version 公交调度系统BS版 0.1  
12 - *  
13 - */  
14 -  
15 -(function(){  
16 - /**  
17 - * 取得编码-公司map  
18 - * gsmap["5"] = 南汇公司  
19 - * gsmap["5_3"] = 芦潮港分公司  
20 - */  
21 - function getBusMap(){  
22 - // 取得公司信息,替换公司编码  
23 - var gsmap = {};  
24 - $get('/business/all', null, function(array){  
25 - $.each(array, function(i, gs){  
26 - var k = gs.upCode + '_' + gs.businessCode;  
27 - if(gs.upCode === '88'){  
28 - k = gs.businessCode;  
29 - }  
30 - gsmap[k] = gs.businessName;  
31 - });  
32 - });  
33 - return gsmap;  
34 - }  
35 - // 填充公司下拉框选择值  
36 - $get('/business/all', {upCode_eq: '88'}, function(array){  
37 -  
38 - // 公司下拉options属性值  
39 - var options = '<option value="">请选择...</option>';  
40 -  
41 - // 遍历array  
42 - $.each(array, function(i,d){  
43 -  
44 - options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>';  
45 -  
46 - });  
47 -  
48 - // 填充公司下拉框options,并添加公司下拉框值改变事件setbrancheCompanySelectOptions  
49 - $('#companySelect').html(options).on('change', setbrancheCompanySelectOptions);  
50 -  
51 - });  
52 -  
53 - // 填充分公司下拉框选择值  
54 - function setbrancheCompanySelectOptions(){  
55 -  
56 - // 获取公司下拉框选择值  
57 - var businessCode = $('#companySelect').val();  
58 -  
59 - // 分公司下拉框options属性值  
60 - var options = '<option value="">请选择...</option>';  
61 -  
62 - // 如果公司选择为空则分公司为空 ; 否则查询出所属公司下的分公司名称和相应分公司代码  
63 - if(businessCode == null || businessCode ==''){  
64 -  
65 - // 填充分公司下拉框options  
66 - $('#brancheCompanySelect').html(options);  
67 -  
68 - } else {  
69 -  
70 - // 查询出所属公司下的分公司名称和相应分公司代码  
71 - $get('/business/all', {upCode_eq: businessCode}, function(array){  
72 -  
73 - // 遍历array  
74 - $.each(array, function(i,d){  
75 -  
76 - options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>';  
77 -  
78 - // 填充分公司下拉框options  
79 - $('#brancheCompanySelect').html(options);  
80 -  
81 - });  
82 - });  
83 -  
84 - // 填充公司下拉框options,并添加公司下拉框值改变事件setbrancheCompanySelectOptions  
85 - $('#brancheCompanySelect').html(options).on('change', setLineAutocompleteOptions);  
86 - }  
87 - }  
88 -  
89 - function setLineAutocompleteOptions(){  
90 - // 搜索参数集合  
91 - var params = {};  
92 - // 搜索字段名称  
93 - var name;  
94 - var items = $("ul.breadcrumb select");  
95 - // 遍历items集合  
96 - for(var j = 0, item; item = items[j++];){  
97 - // 获取字段名称  
98 - name = $(item).attr('name');  
99 - if(name){  
100 - // 赋取相对应的值  
101 - params[name] = $(item).val();  
102 - }  
103 - }  
104 - var lines = new Array();  
105 - var gsmap = getBusMap();  
106 - // 取得所有线路  
107 - $get('/line/all', params, function(allLine) {  
108 - // 遍历数组  
109 - $.each(allLine, function(i, e) {  
110 - var companyCode = e.company;  
111 - e.company = gsmap[e.company];  
112 - e.brancheCompany = gsmap[companyCode+"_"+e.brancheCompany];  
113 - var line = '{"hex":"'+e.company+'","label":"'+e.name+'"}';  
114 - var obj = jQuery.parseJSON(line);  
115 - lines[i]= obj;  
116 - });  
117 -  
118 -  
119 - });  
120 - // 给输入框绑定autocomplete事件  
121 - $("input[name='name_eq']").autocompleter({  
122 - highlightMatches: true,  
123 - source: lines,  
124 - template: '{{ label }} <span>({{ hex }})</span>',  
125 - hint: true,  
126 - empty: false,  
127 - limit: 5,  
128 - });  
129 - }  
130 -  
131 -  
132 - // 设置autocompleter的宽度和输入框一样  
133 - $(".autocompleter").css("width",$("input[name='name_eq']").css("width"))  
134 - // 绑定查询事件  
135 - $("#search").click(searchM);  
136 - // 绑定上传事件  
137 - $("#upload").click(uploadM);  
138 - // 绑定全部移到右边事件  
139 - $("#to_right").click(function(){  
140 - $("#left_div tbody tr:not(.muted)").click();  
141 - });  
142 - // 绑定全部移到左边事件  
143 - $("#to_left").click(function(){  
144 - $("#right_div tbody tr:not(.muted)").click();  
145 - });  
146 - // 查询方法  
147 - function searchM() {  
148 - // 清空已选定列表  
149 - $("#right_div table tbody").empty();  
150 - var params = {};  
151 - // 取得输入框的值  
152 - var inputs = $("ul.breadcrumb input");  
153 - // 遍历数组  
154 - $.each(inputs, function(i, element) {  
155 - params[$(element).attr("name")] = $(element).val();  
156 - });  
157 - var i = layer.load(2);  
158 - $get('/line', params, function(data) {  
159 - var bodyHtm = template('lineStation_list_temp', {  
160 - list : data.content  
161 - });  
162 - $("#left_div table tbody").empty();  
163 - $("#left_div table tbody").append(bodyHtm);  
164 - $("#left_div tbody tr:not(.muted)").click(_click);  
165 - layer.close(i);  
166 - });  
167 - }  
168 -  
169 - // 上传方法  
170 - function uploadM() {  
171 - var params = {};  
172 - // 取得输入框的值  
173 - var trs = $("#right_div tbody tr");  
174 - if (trs.length == 0) {  
175 - alert("请选择模板");  
176 - return;  
177 - }  
178 - // 遍历数组  
179 - $.each(trs, function(i, element) {  
180 - alert($(".ttInfoId", element).html());  
181 - });  
182 - }  
183 -  
184 - // 表格行的单击事件  
185 - function _click() {  
186 - var tmpTr = $(this).clone();  
187 - tmpTr.unbind("click").click(_click);  
188 - // 判断父DIV的ID  
189 - if ($(this).closest(".table-container").attr("id") == "left_div") {  
190 - // 把要移动行的class=".seq"的HTML的内容设成另一分类的最后一个序号  
191 - $(".seq",tmpTr).html($("#right_div tbody tr:not(.muted)").length + 1);  
192 - $("#right_div tbody").append(tmpTr);  
193 - nextAllChildSeqMinusOne($(this));  
194 - } else {  
195 - // 把要移动行的class=".seq"的HTML的内容设成另一分类的最后一个序号  
196 - $(".seq",tmpTr).html($("#left_div tbody tr:not(.muted)").length + 1);  
197 - $("#left_div tbody").append(tmpTr);  
198 - nextAllChildSeqMinusOne($(this));  
199 - }  
200 - $(this).remove();  
201 - }  
202 -  
203 - // 后面所有兄弟节点的中class=".seq"的HTML的内容自减 1  
204 - function nextAllChildSeqMinusOne(theElement){  
205 - $.each(theElement.nextAll(),function(i,e){  
206 - $(".seq",e).html($(".seq",e).html() - 1);  
207 - });  
208 - }  
209 - // 保存左边空表格  
210 - var leftDivTemplate = $("#left_div table").clone(true);  
211 - // 把左边表格的格式复制到右边  
212 - $("#right_div").append(leftDivTemplate);  
213 - 1 +/**
  2 + *
  3 + * @JSName : common.js(运管功能公共js)
  4 + *
  5 + * @Author : bsth@lq
  6 + *
  7 + * @Description : TODO(运管功能公共js)
  8 + *
  9 + * @Data : 2016年6月29日 上午9:21:17
  10 + *
  11 + * @Version 公交调度系统BS版 0.1
  12 + *
  13 + */
  14 +
  15 +(function(){
  16 + /**
  17 + * 取得编码-公司map
  18 + * gsmap["5"] = 南汇公司
  19 + * gsmap["5_3"] = 芦潮港分公司
  20 + */
  21 + function getBusMap(){
  22 + // 取得公司信息,替换公司编码
  23 + var gsmap = {};
  24 + $get('/business/all', null, function(array){
  25 + $.each(array, function(i, gs){
  26 + var k = gs.upCode + '_' + gs.businessCode;
  27 + if(gs.upCode === '88'){
  28 + k = gs.businessCode;
  29 + }
  30 + gsmap[k] = gs.businessName;
  31 + });
  32 + });
  33 + return gsmap;
  34 + }
  35 + // 填充公司下拉框选择值
  36 + $get('/business/all', {upCode_eq: '88'}, function(array){
  37 +
  38 + // 公司下拉options属性值
  39 + var options = '<option value="">请选择...</option>';
  40 +
  41 + // 遍历array
  42 + $.each(array, function(i,d){
  43 +
  44 + options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>';
  45 +
  46 + });
  47 +
  48 + // 填充公司下拉框options,并添加公司下拉框值改变事件setbrancheCompanySelectOptions
  49 + $('#companySelect').html(options).on('change', setbrancheCompanySelectOptions);
  50 +
  51 + });
  52 +
  53 + // 填充分公司下拉框选择值
  54 + function setbrancheCompanySelectOptions(){
  55 +
  56 + // 获取公司下拉框选择值
  57 + var businessCode = $('#companySelect').val();
  58 +
  59 + // 分公司下拉框options属性值
  60 + var options = '<option value="">请选择...</option>';
  61 +
  62 + // 如果公司选择为空则分公司为空 ; 否则查询出所属公司下的分公司名称和相应分公司代码
  63 + if(businessCode == null || businessCode ==''){
  64 +
  65 + // 填充分公司下拉框options
  66 + $('#brancheCompanySelect').html(options);
  67 +
  68 + } else {
  69 +
  70 + // 查询出所属公司下的分公司名称和相应分公司代码
  71 + $get('/business/all', {upCode_eq: businessCode}, function(array){
  72 +
  73 + // 遍历array
  74 + $.each(array, function(i,d){
  75 +
  76 + options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>';
  77 +
  78 + // 填充分公司下拉框options
  79 + $('#brancheCompanySelect').html(options);
  80 +
  81 + });
  82 + });
  83 +
  84 + // 填充公司下拉框options,并添加公司下拉框值改变事件setbrancheCompanySelectOptions
  85 + $('#brancheCompanySelect').html(options).on('change', setLineAutocompleteOptions);
  86 + }
  87 + }
  88 +
  89 + function setLineAutocompleteOptions(){
  90 + // 搜索参数集合
  91 + var params = {};
  92 + // 搜索字段名称
  93 + var name;
  94 + var items = $("ul.breadcrumb select");
  95 + // 遍历items集合
  96 + for(var j = 0, item; item = items[j++];){
  97 + // 获取字段名称
  98 + name = $(item).attr('name');
  99 + if(name){
  100 + // 赋取相对应的值
  101 + params[name] = $(item).val();
  102 + }
  103 + }
  104 + var lines = new Array();
  105 + var gsmap = getBusMap();
  106 + // 取得所有线路
  107 + $get('/line/all', params, function(allLine) {
  108 + // 遍历数组
  109 + $.each(allLine, function(i, e) {
  110 + var companyCode = e.company;
  111 + e.company = gsmap[e.company];
  112 + e.brancheCompany = gsmap[companyCode+"_"+e.brancheCompany];
  113 + var line = '{"hex":"'+e.company+'","label":"'+e.name+'"}';
  114 + var obj = jQuery.parseJSON(line);
  115 + lines[i]= obj;
  116 + });
  117 +
  118 +
  119 + });
  120 + // 给输入框绑定autocomplete事件
  121 + $("input[name='name_eq']").autocompleter({
  122 + highlightMatches: true,
  123 + source: lines,
  124 + template: '{{ label }} <span>({{ hex }})</span>',
  125 + hint: true,
  126 + empty: false,
  127 + limit: 5,
  128 + });
  129 + }
  130 +
  131 +
  132 + // 设置autocompleter的宽度和输入框一样
  133 + $(".autocompleter").css("width",$("input[name='name_eq']").css("width"))
  134 + // 绑定查询事件
  135 + $("#search").click(searchM);
  136 + // 绑定上传事件
  137 + $("#upload").click(uploadM);
  138 + // 绑定全部移到右边事件
  139 + $("#to_right").click(function(){
  140 + $("#left_div tbody tr:not(.muted)").click();
  141 + });
  142 + // 绑定全部移到左边事件
  143 + $("#to_left").click(function(){
  144 + $("#right_div tbody tr:not(.muted)").click();
  145 + });
  146 + // 查询方法
  147 + function searchM() {
  148 + // 清空已选定列表
  149 + $("#right_div table tbody").empty();
  150 + var params = {};
  151 + // 取得输入框的值
  152 + var inputs = $("ul.breadcrumb input");
  153 + // 遍历数组
  154 + $.each(inputs, function(i, element) {
  155 + params[$(element).attr("name")] = $(element).val();
  156 + });
  157 + var i = layer.load(2);
  158 + $get('/line', params, function(data) {
  159 + var bodyHtm = template('lineStation_list_temp', {
  160 + list : data.content
  161 + });
  162 + $("#left_div table tbody").empty();
  163 + $("#left_div table tbody").append(bodyHtm);
  164 + $("#left_div tbody tr:not(.muted)").click(_click);
  165 + layer.close(i);
  166 + });
  167 + }
  168 +
  169 + // 上传方法
  170 + function uploadM() {
  171 + var params = {};
  172 + // 取得输入框的值
  173 + var trs = $("#right_div tbody tr");
  174 + if (trs.length == 0) {
  175 + alert("请选择模板");
  176 + return;
  177 + }
  178 + // 遍历数组
  179 + $.each(trs, function(i, element) {
  180 + alert($(".ttInfoId", element).html());
  181 + });
  182 + }
  183 +
  184 + // 表格行的单击事件
  185 + function _click() {
  186 + var tmpTr = $(this).clone();
  187 + tmpTr.unbind("click").click(_click);
  188 + // 判断父DIV的ID
  189 + if ($(this).closest(".table-container").attr("id") == "left_div") {
  190 + // 把要移动行的class=".seq"的HTML的内容设成另一分类的最后一个序号
  191 + $(".seq",tmpTr).html($("#right_div tbody tr:not(.muted)").length + 1);
  192 + $("#right_div tbody").append(tmpTr);
  193 + nextAllChildSeqMinusOne($(this));
  194 + } else {
  195 + // 把要移动行的class=".seq"的HTML的内容设成另一分类的最后一个序号
  196 + $(".seq",tmpTr).html($("#left_div tbody tr:not(.muted)").length + 1);
  197 + $("#left_div tbody").append(tmpTr);
  198 + nextAllChildSeqMinusOne($(this));
  199 + }
  200 + $(this).remove();
  201 + }
  202 +
  203 + // 后面所有兄弟节点的中class=".seq"的HTML的内容自减 1
  204 + function nextAllChildSeqMinusOne(theElement){
  205 + $.each(theElement.nextAll(),function(i,e){
  206 + $(".seq",e).html($(".seq",e).html() - 1);
  207 + });
  208 + }
  209 + // 保存左边空表格
  210 + var leftDivTemplate = $("#left_div table").clone(true);
  211 + // 把左边表格的格式复制到右边
  212 + $("#right_div").append(leftDivTemplate);
  213 +
214 })(); 214 })();
215 \ No newline at end of file 215 \ No newline at end of file
src/main/resources/static/pages/trafficManage/js/lineStationUploadRecord.js 0 → 100644
  1 +/**
  2 + *
  3 + * @JSName : common.js(运管功能公共js)
  4 + *
  5 + * @Author : bsth@lq
  6 + *
  7 + * @Description : TODO(运管功能公共js)
  8 + *
  9 + * @Data : 2016年6月29日 上午9:21:17
  10 + *
  11 + * @Version 公交调度系统BS版 0.1
  12 + *
  13 + */
  14 +
  15 +(function(){
  16 + // 关闭左侧栏
  17 + if (!$('body').hasClass('page-sidebar-closed'))
  18 + $('.menu-toggler.sidebar-toggler').click();
  19 + // 日期控件
  20 + $('#dateInput').datetimepicker({
  21 + // 日期控件时间格式
  22 + format : 'YYYY-MM-DD',
  23 + // 语言
  24 + locale: 'zh-cn'
  25 + });
  26 + // 日期范围输入框限制,绑定按键和粘贴事件
  27 + $(".dateRange").keyup(function(){
  28 + var tmptxt=$(this).val();
  29 + $(this).val(tmptxt.replace(/\D|^0/g,''));
  30 + if(tmptxt.length > 2){
  31 + $(this).val(tmptxt.substring(0,2));
  32 + }
  33 + if(tmptxt > 24){
  34 + $(this).val(24);
  35 + }
  36 + if(tmptxt < 0){
  37 + $(this).val(00);
  38 + }
  39 + }).bind("paste",function(){
  40 + var tmptxt=$(this).val();
  41 + $(this).val(tmptxt.replace(/\D|^0/g,''));
  42 + if(tmptxt.length > 2){
  43 + $(this).val(tmptxt.substring(0,2));
  44 + }
  45 + if(tmptxt > 24){
  46 + $(this).val(24);
  47 + }
  48 + if(tmptxt < 0){
  49 + $(this).val(00);
  50 + }
  51 + }).css("ime-mode", "disabled");
  52 + /**
  53 + * 取得编码-公司map
  54 + * gsmap["5"] = 南汇公司
  55 + * gsmap["5_3"] = 芦潮港分公司
  56 + */
  57 + function getBusMap(){
  58 + // 取得公司信息,替换公司编码
  59 + var gsmap = {};
  60 + $get('/business/all', null, function(array){
  61 + $.each(array, function(i, gs){
  62 + var k = gs.upCode + '_' + gs.businessCode;
  63 + if(gs.upCode === '88'){
  64 + k = gs.businessCode;
  65 + }
  66 + gsmap[k] = gs.businessName;
  67 + });
  68 + });
  69 + return gsmap;
  70 + }
  71 + /**
  72 + * 设置公司自动完成
  73 + */
  74 + var lines = new Array();
  75 + var gsmap = getBusMap();
  76 + // 取得所有线路
  77 + $get('/line/all', null, function(allLine) {
  78 + // 遍历数组
  79 + $.each(allLine, function(i, e) {
  80 + var companyCode = e.company;
  81 + e.company = gsmap[e.company];
  82 + e.brancheCompany = gsmap[companyCode+"_"+e.brancheCompany];
  83 + var line = '{"hex":"' + e.company + '","label":"' + e.name
  84 + + '"}';
  85 + var obj = jQuery.parseJSON(line);
  86 + lines[i] = obj;
  87 + });
  88 + });
  89 + // 给输入框绑定autocomplete事件
  90 + $("input[name='xl.name_eq']").autocompleter({
  91 + highlightMatches : true,
  92 + source : lines,
  93 + template : '{{ label }} <span>({{ hex }})</span>',
  94 + hint : true,
  95 + empty : false,
  96 + limit : 5,
  97 + });
  98 + // 设置autocompleter的宽度和输入框一样
  99 + $(".autocompleter").css("width",
  100 + $("input[name='xl.name_eq']").css("width"));
  101 +
  102 + /**
  103 + * 设置内部编码自动完成
  104 + */
  105 + var cars = new Array();
  106 + // 取得所有车辆
  107 + $get('/cars/all', null, function(allCars) {
  108 + // 遍历数组
  109 + $.each(allCars, function(i, e) {
  110 + var car = '{"hex":"' + e.insideCode + '","label":"' + e.insideCode
  111 + + '"}';
  112 + var obj = jQuery.parseJSON(car);
  113 + cars[i] = obj;
  114 + });
  115 + });
  116 + // 给输入框绑定autocomplete事件
  117 + $("input[name='xl.insideCode_eq']").autocompleter({
  118 + highlightMatches : true,
  119 + source : cars,
  120 + template : '{{ label }}',
  121 + hint : true,
  122 + empty : false,
  123 + limit : 5,
  124 + });
  125 + // 设置autocompleter的宽度和输入框一样
  126 + $(".autocompleter").css("width",
  127 + $("input[name='xl.insideCode_eq']").css("width"));
  128 +})();
0 \ No newline at end of file 129 \ No newline at end of file
src/main/resources/static/pages/trafficManage/js/shLineCodeList.js
1 -/**  
2 - *  
3 - * @JSName : common.js(运管功能公共js)  
4 - *  
5 - * @Author : bsth@lq  
6 - *  
7 - * @Description : TODO(运管功能公共js)  
8 - *  
9 - * @Data : 2016年6月29日 上午9:21:17  
10 - *  
11 - * @Version 公交调度系统BS版 0.1  
12 - *  
13 - */  
14 -  
15 -(function(){  
16 - /**  
17 - * 取得编码-公司map  
18 - * gsmap["5"] = 南汇公司  
19 - * gsmap["5_3"] = 芦潮港分公司  
20 - */  
21 - function getBusMap(){  
22 - // 取得公司信息,替换公司编码  
23 - var gsmap = {};  
24 - $get('/business/all', null, function(array){  
25 - $.each(array, function(i, gs){  
26 - var k = gs.upCode + '_' + gs.businessCode;  
27 - if(gs.upCode === '88'){  
28 - k = gs.businessCode;  
29 - }  
30 - gsmap[k] = gs.businessName;  
31 - });  
32 - });  
33 - return gsmap;  
34 - }  
35 - var lines = new Array();  
36 - var gsmap = getBusMap();  
37 - // 取得所有线路  
38 - $get('/line/all', null, function(allLine) {  
39 - // 遍历数组  
40 - $.each(allLine, function(i, e) {  
41 - var companyCode = e.company;  
42 - e.company = gsmap[e.company];  
43 - e.brancheCompany = gsmap[companyCode+"_"+e.brancheCompany];  
44 - var line = '{"hex":"' + e.company + '","label":"' + e.name  
45 - + '"}';  
46 - var obj = jQuery.parseJSON(line);  
47 - lines[i] = obj;  
48 - });  
49 - });  
50 - // 给输入框绑定autocomplete事件  
51 - $("input[name='name_like']").autocompleter({  
52 - highlightMatches : true,  
53 - source : lines,  
54 - template : '{{ label }} <span>({{ hex }})</span>',  
55 - hint : true,  
56 - empty : false,  
57 - limit : 5,  
58 - });  
59 - // 设置autocompleter的宽度和输入框一样  
60 - $(".autocompleter").css("width",  
61 - $("input[name='name_like']").css("width"))  
62 - /**  
63 - * -----page : 当前页  
64 - *  
65 - * -----initPag :  
66 - *  
67 - */  
68 - var page = 0,initPag;  
69 - // 绑定查询事件  
70 - $("#search").click(searchM);  
71 - // 查询方法  
72 - function searchM() {  
73 - // 搜索参数集合  
74 - var params = {};  
75 - // 取得输入框的值  
76 - var inputs = $("ul.breadcrumb input");  
77 - // 遍历数组  
78 - $.each(inputs, function(i, element) {  
79 - params[$(element).attr("name")] = $(element).val();  
80 - });  
81 - page = 0;  
82 -  
83 - loadTableDate(params,true);  
84 - }  
85 -  
86 - /**  
87 - * 表格数据分页加载事件  
88 - *  
89 - * ------@param : 查询参数  
90 - *  
91 - * ------@isPon : 是否重新分页  
92 - *  
93 - */  
94 - function loadTableDate(param,isPon){  
95 - // 搜索参数  
96 - var params = {};  
97 - if(param)  
98 - params = param;  
99 - // 排序(按更新时间)  
100 - params['order'] = 'id';  
101 - // 记录当前页数  
102 - params['page'] = page;  
103 - // 弹出正在加载层  
104 - var i = layer.load(2);  
105 - // 异步请求获取表格数据  
106 - $.get('/line',params,function(result){  
107 - // 遍历数组  
108 - $.each(result.content, function(i, e) {  
109 - var companyCode = e.company;  
110 - e.company = gsmap[e.company];  
111 - e.brancheCompany = gsmap[companyCode+"_"+e.brancheCompany];  
112 - });  
113 - // 把数据填充到模版中  
114 - var tbodyHtml = template('shLineCode_list_temp',{list:result.content});  
115 - // 把渲染好的模版html文本追加到表格中  
116 - $('.table-container tbody').html(tbodyHtml);  
117 - // 是重新分页且返回数据长度大于0  
118 - if(isPon && result.content.length > 0){  
119 - // 重新分页  
120 - initPag = true;  
121 - // 分页栏  
122 - showPagination(result);  
123 - }  
124 - // 关闭弹出加载层  
125 - layer.close(i);  
126 - });  
127 - }  
128 -  
129 - /**  
130 - * 分页栏组件  
131 - *  
132 - */  
133 - function showPagination(data){  
134 - // 分页组件  
135 - $('#pagination').jqPaginator({  
136 - // 总页数  
137 - totalPages: data.totalPages,  
138 - // 中间显示页数  
139 - visiblePages: 6,  
140 - // 当前页  
141 - currentPage: page + 1,  
142 - first: '<li class="first"><a href="javascript:void(0);">首页<\/a><\/li>',  
143 - prev: '<li class="prev"><a href="javascript:void(0);">上一页<\/a><\/li>',  
144 - next: '<li class="next"><a href="javascript:void(0);">下一页<\/a><\/li>',  
145 - last: '<li class="last"><a href="javascript:void(0);">尾页<\/a><\/li>',  
146 - page: '<li class="page"><a href="javascript:void(0);">{{page}}<\/a><\/li>',  
147 - onPageChange: function (num, type) {  
148 - if(initPag){  
149 - initPag = false;  
150 - return;  
151 - }  
152 - page = num - 1;  
153 - loadTableDate(null, false);  
154 - }  
155 - });  
156 - }  
157 - 1 +/**
  2 + *
  3 + * @JSName : common.js(运管功能公共js)
  4 + *
  5 + * @Author : bsth@lq
  6 + *
  7 + * @Description : TODO(运管功能公共js)
  8 + *
  9 + * @Data : 2016年6月29日 上午9:21:17
  10 + *
  11 + * @Version 公交调度系统BS版 0.1
  12 + *
  13 + */
  14 +
  15 +(function(){
  16 + /**
  17 + * 取得编码-公司map
  18 + * gsmap["5"] = 南汇公司
  19 + * gsmap["5_3"] = 芦潮港分公司
  20 + */
  21 + function getBusMap(){
  22 + // 取得公司信息,替换公司编码
  23 + var gsmap = {};
  24 + $get('/business/all', null, function(array){
  25 + $.each(array, function(i, gs){
  26 + var k = gs.upCode + '_' + gs.businessCode;
  27 + if(gs.upCode === '88'){
  28 + k = gs.businessCode;
  29 + }
  30 + gsmap[k] = gs.businessName;
  31 + });
  32 + });
  33 + return gsmap;
  34 + }
  35 + var lines = new Array();
  36 + var gsmap = getBusMap();
  37 + // 取得所有线路
  38 + $get('/line/all', null, function(allLine) {
  39 + // 遍历数组
  40 + $.each(allLine, function(i, e) {
  41 + var companyCode = e.company;
  42 + e.company = gsmap[e.company];
  43 + e.brancheCompany = gsmap[companyCode+"_"+e.brancheCompany];
  44 + var line = '{"hex":"' + e.company + '","label":"' + e.name
  45 + + '"}';
  46 + var obj = jQuery.parseJSON(line);
  47 + lines[i] = obj;
  48 + });
  49 + });
  50 + // 给输入框绑定autocomplete事件
  51 + $("input[name='name_like']").autocompleter({
  52 + highlightMatches : true,
  53 + source : lines,
  54 + template : '{{ label }} <span>({{ hex }})</span>',
  55 + hint : true,
  56 + empty : false,
  57 + limit : 5,
  58 + });
  59 + // 设置autocompleter的宽度和输入框一样
  60 + $(".autocompleter").css("width",
  61 + $("input[name='name_like']").css("width"))
  62 + /**
  63 + * -----page : 当前页
  64 + *
  65 + * -----initPag :
  66 + *
  67 + */
  68 + var page = 0,initPag;
  69 + // 绑定查询事件
  70 + $("#search").click(searchM);
  71 + // 查询方法
  72 + function searchM() {
  73 + // 搜索参数集合
  74 + var params = {};
  75 + // 取得输入框的值
  76 + var inputs = $("ul.breadcrumb input");
  77 + // 遍历数组
  78 + $.each(inputs, function(i, element) {
  79 + params[$(element).attr("name")] = $(element).val();
  80 + });
  81 + page = 0;
  82 +
  83 + loadTableDate(params,true);
  84 + }
  85 +
  86 + /**
  87 + * 表格数据分页加载事件
  88 + *
  89 + * ------@param : 查询参数
  90 + *
  91 + * ------@isPon : 是否重新分页
  92 + *
  93 + */
  94 + function loadTableDate(param,isPon){
  95 + // 搜索参数
  96 + var params = {};
  97 + if(param)
  98 + params = param;
  99 + // 排序(按更新时间)
  100 + params['order'] = 'id';
  101 + // 记录当前页数
  102 + params['page'] = page;
  103 + // 弹出正在加载层
  104 + var i = layer.load(2);
  105 + // 异步请求获取表格数据
  106 + $.get('/line',params,function(result){
  107 + // 遍历数组
  108 + $.each(result.content, function(i, e) {
  109 + var companyCode = e.company;
  110 + e.company = gsmap[e.company];
  111 + e.brancheCompany = gsmap[companyCode+"_"+e.brancheCompany];
  112 + });
  113 + // 把数据填充到模版中
  114 + var tbodyHtml = template('shLineCode_list_temp',{list:result.content});
  115 + // 把渲染好的模版html文本追加到表格中
  116 + $('.table-container tbody').html(tbodyHtml);
  117 + // 是重新分页且返回数据长度大于0
  118 + if(isPon && result.content.length > 0){
  119 + // 重新分页
  120 + initPag = true;
  121 + // 分页栏
  122 + showPagination(result);
  123 + }
  124 + // 关闭弹出加载层
  125 + layer.close(i);
  126 + });
  127 + }
  128 +
  129 + /**
  130 + * 分页栏组件
  131 + *
  132 + */
  133 + function showPagination(data){
  134 + // 分页组件
  135 + $('#pagination').jqPaginator({
  136 + // 总页数
  137 + totalPages: data.totalPages,
  138 + // 中间显示页数
  139 + visiblePages: 6,
  140 + // 当前页
  141 + currentPage: page + 1,
  142 + first: '<li class="first"><a href="javascript:void(0);">首页<\/a><\/li>',
  143 + prev: '<li class="prev"><a href="javascript:void(0);">上一页<\/a><\/li>',
  144 + next: '<li class="next"><a href="javascript:void(0);">下一页<\/a><\/li>',
  145 + last: '<li class="last"><a href="javascript:void(0);">尾页<\/a><\/li>',
  146 + page: '<li class="page"><a href="javascript:void(0);">{{page}}<\/a><\/li>',
  147 + onPageChange: function (num, type) {
  148 + if(initPag){
  149 + initPag = false;
  150 + return;
  151 + }
  152 + page = num - 1;
  153 + loadTableDate(null, false);
  154 + }
  155 + });
  156 + }
  157 +
158 })(); 158 })();
159 \ No newline at end of file 159 \ No newline at end of file
src/main/resources/static/pages/trafficManage/js/timeTempletUpload.js
1 -/**  
2 - *  
3 - * @JSName : common.js(运管功能公共js)  
4 - *  
5 - * @Author : bsth@lq  
6 - *  
7 - * @Description : TODO(运管功能公共js)  
8 - *  
9 - * @Data : 2016年6月29日 上午9:21:17  
10 - *  
11 - * @Version 公交调度系统BS版 0.1  
12 - *  
13 - */  
14 -  
15 -(function(){  
16 - /**  
17 - * 取得编码-公司map  
18 - * gsmap["5"] = 南汇公司  
19 - * gsmap["5_3"] = 芦潮港分公司  
20 - */  
21 - function getBusMap(){  
22 - // 取得公司信息,替换公司编码  
23 - var gsmap = {};  
24 - $get('/business/all', null, function(array){  
25 - $.each(array, function(i, gs){  
26 - var k = gs.upCode + '_' + gs.businessCode;  
27 - if(gs.upCode === '88'){  
28 - k = gs.businessCode;  
29 - }  
30 - gsmap[k] = gs.businessName;  
31 - });  
32 - });  
33 - return gsmap;  
34 - }  
35 - var lines = new Array();  
36 - var gsmap = getBusMap();  
37 - console.log(gsmap);  
38 - // 取得所有线路  
39 - $get('/line/all', null, function(allLine) {  
40 - // 遍历数组  
41 - $.each(allLine, function(i, e) {  
42 - var companyCode = e.company;  
43 - e.company = gsmap[e.company];  
44 - e.brancheCompany = gsmap[companyCode+"_"+e.brancheCompany];  
45 - var line = '{"hex":"' + e.company + '","label":"' + e.name  
46 - + '"}';  
47 - var obj = jQuery.parseJSON(line);  
48 - lines[i] = obj;  
49 - });  
50 - });  
51 - // 给输入框绑定autocomplete事件  
52 - $("input[name='xl.name_eq']").autocompleter({  
53 - highlightMatches : true,  
54 - source : lines,  
55 - template : '{{ label }} <span>({{ hex }})</span>',  
56 - hint : true,  
57 - empty : false,  
58 - limit : 5,  
59 - });  
60 - // 设置autocompleter的宽度和输入框一样  
61 - $(".autocompleter").css("width",  
62 - $("input[name='xl.name_eq']").css("width"))  
63 - // 绑定查询事件  
64 - $("#search").click(searchM);  
65 - // 绑定上传事件  
66 - $("#upload").click(uploadM);  
67 - // 绑定全部移到右边事件  
68 - $("#to_right").click(function() {  
69 - $("#left_div tbody tr:not(.muted)").click();  
70 - });  
71 - // 绑定全部移到左边事件  
72 - $("#to_left").click(function() {  
73 - $("#right_div tbody tr:not(.muted)").click();  
74 - });  
75 - // 查询方法  
76 - function searchM() {  
77 - // 清空已选定列表  
78 - $("#right_div table tbody").empty();  
79 - var params = {};  
80 - // 取得输入框的值  
81 - var inputs = $("ul.breadcrumb input");  
82 - // 遍历数组  
83 - $.each(inputs, function(i, element) {  
84 - params[$(element).attr("name")] = $(element).val();  
85 - });  
86 - var i = layer.load(2);  
87 - $get('/spc', params, function(data) {  
88 - _dateFormat(data.content);  
89 - var bodyHtm = template('timeTemplet_list_temp', {  
90 - list : data.content  
91 - });  
92 - $("#left_div table tbody").empty();  
93 - $("#left_div table tbody").append(bodyHtm);  
94 - $("#left_div tbody tr:not(.muted)").click(_click);  
95 - layer.close(i);  
96 - });  
97 - }  
98 -  
99 - // 上传方法  
100 - function uploadM() {  
101 - var params = {};  
102 - // 取得输入框的值  
103 - var trs = $("#right_div tbody tr");  
104 - if (trs.length == 0) {  
105 - alert("请选择模板");  
106 - return;  
107 - }  
108 - // 遍历数组  
109 - $.each(trs, function(i, element) {  
110 - alert($(".ttInfoId", element).html());  
111 - });  
112 - }  
113 -  
114 - // 表格行的单击事件  
115 - function _click() {  
116 - var tmpTr = $(this).clone();  
117 - tmpTr.unbind("click").click(_click);  
118 - // 判断父DIV的ID  
119 - if ($(this).closest(".table-container").attr("id") == "left_div") {  
120 - // 把要移动行的class=".seq"的HTML的内容设成另一分类的最后一个序号  
121 - $(".seq", tmpTr).html(  
122 - $("#right_div tbody tr:not(.muted)").length + 1);  
123 - $("#right_div tbody").append(tmpTr);  
124 - nextAllChildSeqMinusOne($(this));  
125 - } else {  
126 - // 把要移动行的class=".seq"的HTML的内容设成另一分类的最后一个序号  
127 - $(".seq", tmpTr).html(  
128 - $("#left_div tbody tr:not(.muted)").length + 1);  
129 - $("#left_div tbody").append(tmpTr);  
130 - nextAllChildSeqMinusOne($(this));  
131 - }  
132 - $(this).remove();  
133 - }  
134 -  
135 - // 后面所有兄弟节点的中class=".seq"的HTML的内容自减 1  
136 - function nextAllChildSeqMinusOne(theElement) {  
137 - $.each(theElement.nextAll(), function(i, e) {  
138 - $(".seq", e).html($(".seq", e).html() - 1);  
139 - });  
140 - }  
141 - // 保存左边空表格  
142 - var leftDivTemplate = $("#left_div table").clone(true);  
143 - // 把左边表格的格式复制到右边  
144 - $("#right_div").append(leftDivTemplate);  
145 - //转换时间格式  
146 - function _dateFormat(list) {  
147 - var fs = 'YYYY-MM-DD HH:mm';  
148 - $.each(list, function(i, obj) {  
149 - obj.ttInfo.qyrq = moment(obj.ttInfo.qyrq).format(fs);  
150 - });  
151 - } 1 +/**
  2 + *
  3 + * @JSName : common.js(运管功能公共js)
  4 + *
  5 + * @Author : bsth@lq
  6 + *
  7 + * @Description : TODO(运管功能公共js)
  8 + *
  9 + * @Data : 2016年6月29日 上午9:21:17
  10 + *
  11 + * @Version 公交调度系统BS版 0.1
  12 + *
  13 + */
  14 +
  15 +(function(){
  16 + /**
  17 + * 取得编码-公司map
  18 + * gsmap["5"] = 南汇公司
  19 + * gsmap["5_3"] = 芦潮港分公司
  20 + */
  21 + function getBusMap(){
  22 + // 取得公司信息,替换公司编码
  23 + var gsmap = {};
  24 + $get('/business/all', null, function(array){
  25 + $.each(array, function(i, gs){
  26 + var k = gs.upCode + '_' + gs.businessCode;
  27 + if(gs.upCode === '88'){
  28 + k = gs.businessCode;
  29 + }
  30 + gsmap[k] = gs.businessName;
  31 + });
  32 + });
  33 + return gsmap;
  34 + }
  35 + var lines = new Array();
  36 + var gsmap = getBusMap();
  37 + // 取得所有线路
  38 + $get('/line/all', null, function(allLine) {
  39 + // 遍历数组
  40 + $.each(allLine, function(i, e) {
  41 + var companyCode = e.company;
  42 + e.company = gsmap[e.company];
  43 + e.brancheCompany = gsmap[companyCode+"_"+e.brancheCompany];
  44 + var line = '{"hex":"' + e.company + '","label":"' + e.name
  45 + + '"}';
  46 + var obj = jQuery.parseJSON(line);
  47 + lines[i] = obj;
  48 + });
  49 + });
  50 + // 给输入框绑定autocomplete事件
  51 + $("input[name='xl.name_eq']").autocompleter({
  52 + highlightMatches : true,
  53 + source : lines,
  54 + template : '{{ label }} <span>({{ hex }})</span>',
  55 + hint : true,
  56 + empty : false,
  57 + limit : 5,
  58 + });
  59 + // 设置autocompleter的宽度和输入框一样
  60 + $(".autocompleter").css("width",
  61 + $("input[name='xl.name_eq']").css("width"));
  62 + // 绑定查询事件
  63 + $("#search").click(searchM);
  64 + // 绑定上传事件
  65 + $("#upload").click(uploadM);
  66 + // 绑定全部移到右边事件
  67 + $("#to_right").click(function() {
  68 + $("#left_div tbody tr:not(.muted)").click();
  69 + });
  70 + // 绑定全部移到左边事件
  71 + $("#to_left").click(function() {
  72 + $("#right_div tbody tr:not(.muted)").click();
  73 + });
  74 + // 查询方法
  75 + function searchM() {
  76 + // 清空已选定列表
  77 + $("#right_div table tbody").empty();
  78 + var params = {};
  79 + // 取得输入框的值
  80 + var inputs = $("ul.breadcrumb input");
  81 + // 遍历数组
  82 + $.each(inputs, function(i, element) {
  83 + params[$(element).attr("name")] = $(element).val();
  84 + });
  85 + var i = layer.load(2);
  86 + $get('/spc', params, function(data) {
  87 + _dateFormat(data.content);
  88 + var bodyHtm = template('timeTemplet_list_temp', {
  89 + list : data.content
  90 + });
  91 + $("#left_div table tbody").empty();
  92 + $("#left_div table tbody").append(bodyHtm);
  93 + $("#left_div tbody tr:not(.muted)").click(_click);
  94 + layer.close(i);
  95 + });
  96 + }
  97 +
  98 + // 上传方法
  99 + function uploadM() {
  100 + var params = {};
  101 + // 取得输入框的值
  102 + var trs = $("#right_div tbody tr");
  103 + if (trs.length == 0) {
  104 + alert("请选择模板");
  105 + return;
  106 + }
  107 + // 遍历数组
  108 + $.each(trs, function(i, element) {
  109 + alert($(".ttInfoId", element).html());
  110 + });
  111 + }
  112 +
  113 + // 表格行的单击事件
  114 + function _click() {
  115 + var tmpTr = $(this).clone();
  116 + tmpTr.unbind("click").click(_click);
  117 + // 判断父DIV的ID
  118 + if ($(this).closest(".table-container").attr("id") == "left_div") {
  119 + // 把要移动行的class=".seq"的HTML的内容设成另一分类的最后一个序号
  120 + $(".seq", tmpTr).html(
  121 + $("#right_div tbody tr:not(.muted)").length + 1);
  122 + $("#right_div tbody").append(tmpTr);
  123 + nextAllChildSeqMinusOne($(this));
  124 + } else {
  125 + // 把要移动行的class=".seq"的HTML的内容设成另一分类的最后一个序号
  126 + $(".seq", tmpTr).html(
  127 + $("#left_div tbody tr:not(.muted)").length + 1);
  128 + $("#left_div tbody").append(tmpTr);
  129 + nextAllChildSeqMinusOne($(this));
  130 + }
  131 + $(this).remove();
  132 + }
  133 +
  134 + // 后面所有兄弟节点的中class=".seq"的HTML的内容自减 1
  135 + function nextAllChildSeqMinusOne(theElement) {
  136 + $.each(theElement.nextAll(), function(i, e) {
  137 + $(".seq", e).html($(".seq", e).html() - 1);
  138 + });
  139 + }
  140 + // 保存左边空表格
  141 + var leftDivTemplate = $("#left_div table").clone(true);
  142 + // 把左边表格的格式复制到右边
  143 + $("#right_div").append(leftDivTemplate);
  144 + //转换时间格式
  145 + function _dateFormat(list) {
  146 + var fs = 'YYYY-MM-DD HH:mm';
  147 + $.each(list, function(i, obj) {
  148 + obj.ttInfo.qyrq = moment(obj.ttInfo.qyrq).format(fs);
  149 + });
  150 + }
152 })(); 151 })();
153 \ No newline at end of file 152 \ No newline at end of file
src/main/resources/static/pages/trafficManage/js/timeTempletUploadRecord.js 0 → 100644
  1 +/**
  2 + *
  3 + * @JSName : common.js(运管功能公共js)
  4 + *
  5 + * @Author : bsth@lq
  6 + *
  7 + * @Description : TODO(运管功能公共js)
  8 + *
  9 + * @Data : 2016年6月29日 上午9:21:17
  10 + *
  11 + * @Version 公交调度系统BS版 0.1
  12 + *
  13 + */
  14 +
  15 +(function(){
  16 + // 关闭左侧栏
  17 + if (!$('body').hasClass('page-sidebar-closed'))
  18 + $('.menu-toggler.sidebar-toggler').click();
  19 + // 填充公司下拉框选择值
  20 + $get('/business/all', {upCode_eq: '88'}, function(array){
  21 +
  22 + // 公司下拉options属性值
  23 + var options = '<option value="">请选择...</option>';
  24 +
  25 + // 遍历array
  26 + $.each(array, function(i,d){
  27 +
  28 + options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>';
  29 +
  30 + });
  31 +
  32 + // 填充公司下拉框options,并添加公司下拉框值改变事件setbrancheCompanySelectOptions
  33 + $('#companySelect').html(options).on('change', setbrancheCompanySelectOptions);
  34 +
  35 + });
  36 +
  37 + // 填充分公司下拉框选择值
  38 + function setbrancheCompanySelectOptions(){
  39 +
  40 + // 获取公司下拉框选择值
  41 + var businessCode = $('#companySelect').val();
  42 +
  43 + // 分公司下拉框options属性值
  44 + var options = '<option value="">请选择...</option>';
  45 +
  46 + // 如果公司选择为空则分公司为空 ; 否则查询出所属公司下的分公司名称和相应分公司代码
  47 + if(businessCode == null || businessCode ==''){
  48 +
  49 + // 填充分公司下拉框options
  50 + $('#brancheCompanySelect').html(options);
  51 +
  52 + } else {
  53 +
  54 + // 查询出所属公司下的分公司名称和相应分公司代码
  55 + $get('/business/all', {upCode_eq: businessCode}, function(array){
  56 +
  57 + // 遍历array
  58 + $.each(array, function(i,d){
  59 +
  60 + options += '<option value="'+d.businessCode+'">'+d.businessName+'</option>';
  61 +
  62 + // 填充分公司下拉框options
  63 + $('#brancheCompanySelect').html(options);
  64 +
  65 + });
  66 + });
  67 +
  68 + // 填充公司下拉框options,并添加公司下拉框值改变事件setbrancheCompanySelectOptions
  69 + $('#brancheCompanySelect').html(options).on('change', setLineAutocompleteOptions);
  70 + }
  71 + }
  72 + // 日期控件
  73 + $('#dateInput').datetimepicker({
  74 + // 日期控件时间格式
  75 + format : 'YYYY-MM-DD',
  76 + // 语言
  77 + locale: 'zh-cn'
  78 + });
  79 + // 日期范围输入框限制,绑定按键和粘贴事件
  80 + $(".dateRange").keyup(function(){
  81 + var tmptxt=$(this).val();
  82 + $(this).val(tmptxt.replace(/\D|^0/g,''));
  83 + if(tmptxt.length > 2){
  84 + $(this).val(tmptxt.substring(0,2));
  85 + }
  86 + if(tmptxt > 24){
  87 + $(this).val(24);
  88 + }
  89 + if(tmptxt < 0){
  90 + $(this).val(00);
  91 + }
  92 + }).bind("paste",function(){
  93 + var tmptxt=$(this).val();
  94 + $(this).val(tmptxt.replace(/\D|^0/g,''));
  95 + if(tmptxt.length > 2){
  96 + $(this).val(tmptxt.substring(0,2));
  97 + }
  98 + if(tmptxt > 24){
  99 + $(this).val(24);
  100 + }
  101 + if(tmptxt < 0){
  102 + $(this).val(00);
  103 + }
  104 + }).css("ime-mode", "disabled");
  105 + /**
  106 + * 取得编码-公司map
  107 + * gsmap["5"] = 南汇公司
  108 + * gsmap["5_3"] = 芦潮港分公司
  109 + */
  110 + function getBusMap(){
  111 + // 取得公司信息,替换公司编码
  112 + var gsmap = {};
  113 + $get('/business/all', null, function(array){
  114 + $.each(array, function(i, gs){
  115 + var k = gs.upCode + '_' + gs.businessCode;
  116 + if(gs.upCode === '88'){
  117 + k = gs.businessCode;
  118 + }
  119 + gsmap[k] = gs.businessName;
  120 + });
  121 + });
  122 + return gsmap;
  123 + }
  124 + /**
  125 + * 设置公司自动完成
  126 + */
  127 + var lines = new Array();
  128 + var gsmap = getBusMap();
  129 + // 取得所有线路
  130 + $get('/line/all', null, function(allLine) {
  131 + // 遍历数组
  132 + $.each(allLine, function(i, e) {
  133 + var companyCode = e.company;
  134 + e.company = gsmap[e.company];
  135 + e.brancheCompany = gsmap[companyCode+"_"+e.brancheCompany];
  136 + var line = '{"hex":"' + e.company + '","label":"' + e.name
  137 + + '"}';
  138 + var obj = jQuery.parseJSON(line);
  139 + lines[i] = obj;
  140 + });
  141 + });
  142 + // 给输入框绑定autocomplete事件
  143 + $("input[name='xl.name_eq']").autocompleter({
  144 + highlightMatches : true,
  145 + source : lines,
  146 + template : '{{ label }} <span>({{ hex }})</span>',
  147 + hint : true,
  148 + empty : false,
  149 + limit : 5,
  150 + });
  151 + // 设置autocompleter的宽度和输入框一样
  152 + $(".autocompleter").css("width",
  153 + $("input[name='xl.name_eq']").css("width"));
  154 +})();
0 \ No newline at end of file 155 \ No newline at end of file
src/main/resources/static/pages/trafficManage/lineStationUpload.html
1 -<link href="css/trafficManage.css" rel="stylesheet" type="text/css" />  
2 -<link href="css/autocompleter.css" rel="stylesheet" type="text/css" />  
3 -<ul class="page-breadcrumb breadcrumb">  
4 - <li><a href="/pages/home.html" data-pjax>首页</a> <i class="fa fa-circle"></i></li>  
5 - <li><span class="active">运维管理</span> <i class="fa fa-circle"></i></li>  
6 - <li><span class="active">线路停靠站上传</span></li>  
7 -</ul>  
8 -<div class="tab_line">  
9 - <div class="col-md-12">  
10 - <ul class="breadcrumb">  
11 - <li>公司:</li>  
12 - <li><select name="company_eq" class="form-control" id="companySelect"></select></li>  
13 - <li>分公司:</li>  
14 - <li><select name="brancheCompany_eq" class="form-control" id="brancheCompanySelect"></select></li>  
15 - <li>线路名称:</li>  
16 - <li><input type="text" class="form-control form-filter input-sm"  
17 - name="name_eq" placeholder="请输入线路名称" maxlength="40" /></li>  
18 - <li><a class="btn btn-circle blue" id="search">查询</a></li>  
19 - <li><a class="btn btn-circle red" id="upload">上传</a></li>  
20 - </ul>  
21 - </div>  
22 - <!-- Begin: left-div -->  
23 - <div class="col-md-5 panel-wrap" style="height: 60%;">  
24 - <div class="_panel">  
25 - <div class="_head" style="color: #2765A7;">待选上传站点线路列表</div>  
26 - <div class="table-container" id="left_div">  
27 - <table  
28 - class="table table-striped table-bordered table-advance pb-table head">  
29 - <thead>  
30 - <tr>  
31 - <th width="5%">#</th>  
32 - <th width="20%">线路编码</th>  
33 - <th width="15%">线路名称</th>  
34 - </tr>  
35 - </thead>  
36 - <tbody>  
37 - </tbody>  
38 - </table>  
39 - </div>  
40 - </div>  
41 - </div>  
42 - <div class="col-md-2" style="height: 60%;">  
43 - <ul class="breadcruma divVerHorCenter">  
44 - <li><a class="btn btn-circle blue btn-outline" id="to_right">>></a></li>  
45 - <li><a class="btn btn-circle blue btn-outline" id="to_left"><<</a></li>  
46 - </ul>  
47 - </div>  
48 - <!-- End: left-div -->  
49 - <!-- Begin: right-div -->  
50 - <div class="col-md-5 panel-wrap" style="height: 60%;">  
51 - <div class="_panel">  
52 - <div class="_head" style="color: #2765A7;">已选上传站点线路列表</div>  
53 - <div class="table-container" id="right_div"></div>  
54 - </div>  
55 - </div>  
56 - <!-- End: right-div -->  
57 -</div>  
58 -<script id="lineStation_list_temp" type="text/html">  
59 -{{each list as obj i}}  
60 -<tr>  
61 - <td class="seq" style="vertical-align: middle;">  
62 - {{i+1}}  
63 - </td>  
64 - <td>  
65 - {{obj.lineCode}}  
66 - </td>  
67 - <td class="ttInfoId">  
68 - {{obj.name}}  
69 - </td>  
70 -</tr>  
71 -{{/each}}  
72 -{{if list.length == 0}}  
73 -<tr class="muted">  
74 - <td colspan=5 style="text-align: center;"><h6>没有找到相关数据</h6></td>  
75 -</tr>  
76 -{{/if}}  
77 - </script>  
78 -<script src="./js/lineStationUpload.js"></script> 1 +<link href="css/trafficManage.css" rel="stylesheet" type="text/css" />
  2 +<link href="css/autocompleter.css" rel="stylesheet" type="text/css" />
  3 +<ul class="page-breadcrumb breadcrumb">
  4 + <li><a href="/pages/home.html" data-pjax>首页</a> <i class="fa fa-circle"></i></li>
  5 + <li><span class="active">运维管理</span> <i class="fa fa-circle"></i></li>
  6 + <li><span class="active">线路停靠站上传</span></li>
  7 +</ul>
  8 +<div class="tab_line">
  9 + <div class="col-md-12">
  10 + <ul class="breadcrumb">
  11 + <li>公司:</li>
  12 + <li><select name="company_eq" class="form-control" id="companySelect"></select></li>
  13 + <li>分公司:</li>
  14 + <li><select name="brancheCompany_eq" class="form-control" id="brancheCompanySelect"></select></li>
  15 + <li>线路名称:</li>
  16 + <li><input type="text" class="form-control form-filter input-sm"
  17 + name="name_eq" placeholder="请输入线路名称" maxlength="40" /></li>
  18 + <li><a class="btn btn-circle blue" id="search">查询</a></li>
  19 + <li><a class="btn btn-circle red" id="upload">上传</a></li>
  20 + </ul>
  21 + </div>
  22 + <!-- Begin: left-div -->
  23 + <div class="col-md-5 panel-wrap" style="height: 60%;">
  24 + <div class="_panel">
  25 + <div class="_head" style="color: #2765A7;">待选上传站点线路列表</div>
  26 + <div class="table-container" id="left_div">
  27 + <table
  28 + class="table table-striped table-bordered table-advance pb-table head">
  29 + <thead>
  30 + <tr>
  31 + <th width="5%">#</th>
  32 + <th width="20%">线路编码</th>
  33 + <th width="15%">线路名称</th>
  34 + </tr>
  35 + </thead>
  36 + <tbody>
  37 + </tbody>
  38 + </table>
  39 + </div>
  40 + </div>
  41 + </div>
  42 + <div class="col-md-2" style="height: 60%;">
  43 + <ul class="breadcruma divVerHorCenter">
  44 + <li><a class="btn btn-circle blue btn-outline" id="to_right">>></a></li>
  45 + <li><a class="btn btn-circle blue btn-outline" id="to_left"><<</a></li>
  46 + </ul>
  47 + </div>
  48 + <!-- End: left-div -->
  49 + <!-- Begin: right-div -->
  50 + <div class="col-md-5 panel-wrap" style="height: 60%;">
  51 + <div class="_panel">
  52 + <div class="_head" style="color: #2765A7;">已选上传站点线路列表</div>
  53 + <div class="table-container" id="right_div"></div>
  54 + </div>
  55 + </div>
  56 + <!-- End: right-div -->
  57 +</div>
  58 +<script id="lineStation_list_temp" type="text/html">
  59 +{{each list as obj i}}
  60 +<tr>
  61 + <td class="seq" style="vertical-align: middle;">
  62 + {{i+1}}
  63 + </td>
  64 + <td>
  65 + {{obj.lineCode}}
  66 + </td>
  67 + <td class="ttInfoId">
  68 + {{obj.name}}
  69 + </td>
  70 +</tr>
  71 +{{/each}}
  72 +{{if list.length == 0}}
  73 +<tr class="muted">
  74 + <td colspan=5 style="text-align: center;"><h6>没有找到相关数据</h6></td>
  75 +</tr>
  76 +{{/if}}
  77 + </script>
  78 +<script src="./js/lineStationUpload.js"></script>
src/main/resources/static/pages/trafficManage/lineStationUploadRecord.html 0 → 100644
  1 +<link href="css/trafficManage.css" rel="stylesheet" type="text/css" />
  2 +<link href="css/autocompleter.css" rel="stylesheet" type="text/css" />
  3 +<ul class="page-breadcrumb breadcrumb">
  4 + <li><a href="/pages/home.html" data-pjax>首页</a> <i
  5 + class="fa fa-circle"></i></li>
  6 + <li><span class="active">运维管理</span> <i class="fa fa-circle"></i></li>
  7 + <li><span class="active">车载上报停靠站</span></li>
  8 +</ul>
  9 +<div class="tab_line">
  10 + <div class="col-md-12">
  11 + <ul class="breadcrumb">
  12 + <li>筛选数据:</li>
  13 + <li>日期:</li>
  14 + <li><input type="text" class="inputCommon dateTime" name="date" id="dateInput" placeholder="日期"></li>
  15 + <li>时间范围:</li>
  16 + <li><input type="text" class="inputCommon dateRange" name="startDate">至
  17 + <input type="text" class="inputCommon dateRange" name="endDate">时</li>
  18 + <li>线路名称:</li>
  19 + <li><input type="text" class="form-control form-filter input-sm"
  20 + name="xl.name_eq" maxlength="40" /></li>
  21 + <li>内部编码:</li>
  22 + <li><input type="text" class="form-control form-filter input-sm"
  23 + name="xl.insideCode_eq" maxlength="40" /></li>
  24 + <li>车牌号:</li>
  25 + <li><input type="text" class="inputCommon inputCarPlate"
  26 + name="xl.carPlate_eq" maxlength="40" /></li>
  27 + <li><a class="btn btn-circle blue" id="search">筛选</a></li>
  28 + </ul>
  29 + </div>
  30 + <div class="col-md-12 panel-wrap">
  31 + <div class="_panel">
  32 + <div class="table-container">
  33 + <table
  34 + class="table table-striped table-bordered table-advance pb-table head">
  35 + <thead>
  36 + <tr>
  37 + <th>序号</th>
  38 + <th>公司</th>
  39 + <th>分公司</th>
  40 + <th>线路</th>
  41 + <th>上海市线路编码</th>
  42 + <th>内部编码</th>
  43 + <th>设备编码</th>
  44 + <th>车牌</th>
  45 + <th>站点序号</th>
  46 + <th>营运状态</th>
  47 + <th>上下行</th>
  48 + <th>站内外</th>
  49 + <th>上报时间</th>
  50 + </tr>
  51 + </thead>
  52 + <tbody>
  53 + </tbody>
  54 + </table>
  55 + <div style="text-align: right;">
  56 + <ul id="pagination" class="pagination"></ul>
  57 + </div>
  58 + </div>
  59 + </div>
  60 + </div>
  61 +</div>
  62 +<script id="lineStationRecord_list_temp" type="text/html">
  63 +{{each list as obj i}}
  64 +<tr>
  65 + <td class="seq" style="vertical-align: middle;">
  66 + {{i+1}}
  67 + </td>
  68 + <td>
  69 + {{obj.name}}
  70 + </td>
  71 + <td class="ttInfoId">
  72 + {{obj.company}}
  73 + </td>
  74 + <td>
  75 +
  76 + </td>
  77 + <td >
  78 +
  79 + </td>
  80 + <td>
  81 + {{obj.name}}
  82 + </td>
  83 + <td>
  84 + {{obj.company}}
  85 + </td>
  86 + <td>
  87 +
  88 + </td>
  89 + <td >
  90 +
  91 + </td>
  92 + <td>
  93 + {{obj.name}}
  94 + </td>
  95 + <td>
  96 + {{obj.company}}
  97 + </td>
  98 + <td>
  99 +
  100 + </td>
  101 + <td >
  102 +
  103 + </td>
  104 +</tr>
  105 +{{/each}}
  106 +{{if list.length == 0}}
  107 +<tr class="muted">
  108 + <td colspan=5 style="text-align: center;"><h6>没有找到相关数据</h6></td>
  109 +</tr>
  110 +{{/if}}
  111 + </script>
  112 +<script src="./js/lineStationUploadRecord.js"></script>
0 \ No newline at end of file 113 \ No newline at end of file
src/main/resources/static/pages/trafficManage/shLineCodeList.html
1 -<link href="css/trafficManage.css" rel="stylesheet" type="text/css" />  
2 -<link href="css/autocompleter.css" rel="stylesheet" type="text/css" />  
3 -<ul class="page-breadcrumb breadcrumb">  
4 - <li><a href="/pages/home.html" data-pjax>首页</a> <i  
5 - class="fa fa-circle"></i></li>  
6 - <li><span class="active">运维管理</span> <i class="fa fa-circle"></i></li>  
7 - <li><span class="active">上海市线路编码查询</span></li>  
8 -</ul>  
9 -<div class="tab_line">  
10 - <div class="col-md-12">  
11 - <ul class="breadcrumb">  
12 - <li>线路名称:</li>  
13 - <li><input type="text" class="form-control form-filter input-sm"  
14 - name="name_like" placeholder="请输入线路名称" maxlength="40" /></li>  
15 - <li><a class="btn btn-circle blue" id="search">查询</a></li>  
16 - </ul>  
17 - </div>  
18 - <div class="col-md-12 panel-wrap">  
19 - <div class="_panel">  
20 - <div class="_head" style="color: #2765A7;">待选线路模板列表</div>  
21 - <div class="table-container">  
22 - <table  
23 - class="table table-striped table-bordered table-advance pb-table head">  
24 - <thead>  
25 - <tr>  
26 - <th width="5%">序号</th>  
27 - <th width="20%">线路名称</th>  
28 - <th width="15%">所属公司</th>  
29 - <th width="25%">调度方式</th>  
30 - <th>上海市线路编码</th>  
31 - </tr>  
32 - </thead>  
33 - <tbody>  
34 - </tbody>  
35 - </table>  
36 - <div style="text-align: right;">  
37 - <ul id="pagination" class="pagination"></ul>  
38 - </div>  
39 - </div>  
40 - </div>  
41 - </div>  
42 -</div>  
43 -<script id="shLineCode_list_temp" type="text/html">  
44 -{{each list as obj i}}  
45 -<tr>  
46 - <td class="seq" style="vertical-align: middle;">  
47 - {{i+1}}  
48 - </td>  
49 - <td>  
50 - {{obj.name}}  
51 - </td>  
52 - <td class="ttInfoId">  
53 - {{obj.company}}  
54 - </td>  
55 - <td>  
56 - 全程  
57 - </td>  
58 - <td >  
59 - {{obj.shanghaiLinecode}}  
60 - </td>  
61 -</tr>  
62 -{{/each}}  
63 -{{if list.length == 0}}  
64 -<tr class="muted">  
65 - <td colspan=5 style="text-align: center;"><h6>没有找到相关数据</h6></td>  
66 -</tr>  
67 -{{/if}}  
68 - </script> 1 +<link href="css/trafficManage.css" rel="stylesheet" type="text/css" />
  2 +<link href="css/autocompleter.css" rel="stylesheet" type="text/css" />
  3 +<ul class="page-breadcrumb breadcrumb">
  4 + <li><a href="/pages/home.html" data-pjax>首页</a> <i
  5 + class="fa fa-circle"></i></li>
  6 + <li><span class="active">运维管理</span> <i class="fa fa-circle"></i></li>
  7 + <li><span class="active">上海市线路编码查询</span></li>
  8 +</ul>
  9 +<div class="tab_line">
  10 + <div class="col-md-12">
  11 + <ul class="breadcrumb">
  12 + <li>线路名称:</li>
  13 + <li><input type="text" class="form-control form-filter input-sm"
  14 + name="name_like" placeholder="请输入线路名称" maxlength="40" /></li>
  15 + <li><a class="btn btn-circle blue" id="search">查询</a></li>
  16 + </ul>
  17 + </div>
  18 + <div class="col-md-12 panel-wrap">
  19 + <div class="_panel">
  20 + <div class="table-container">
  21 + <table
  22 + class="table table-striped table-bordered table-advance pb-table head">
  23 + <thead>
  24 + <tr>
  25 + <th width="5%">序号</th>
  26 + <th width="20%">线路名称</th>
  27 + <th width="15%">所属公司</th>
  28 + <th width="25%">调度方式</th>
  29 + <th>上海市线路编码</th>
  30 + </tr>
  31 + </thead>
  32 + <tbody>
  33 + </tbody>
  34 + </table>
  35 + <div style="text-align: right;">
  36 + <ul id="pagination" class="pagination"></ul>
  37 + </div>
  38 + </div>
  39 + </div>
  40 + </div>
  41 +</div>
  42 +<script id="shLineCode_list_temp" type="text/html">
  43 +{{each list as obj i}}
  44 +<tr>
  45 + <td class="seq" style="vertical-align: middle;">
  46 + {{i+1}}
  47 + </td>
  48 + <td>
  49 + {{obj.name}}
  50 + </td>
  51 + <td class="ttInfoId">
  52 + {{obj.company}}
  53 + </td>
  54 + <td>
  55 +
  56 + </td>
  57 + <td >
  58 + {{obj.shanghaiLinecode}}
  59 + </td>
  60 +</tr>
  61 +{{/each}}
  62 +{{if list.length == 0}}
  63 +<tr class="muted">
  64 + <td colspan=5 style="text-align: center;"><h6>没有找到相关数据</h6></td>
  65 +</tr>
  66 +{{/if}}
  67 + </script>
69 <script src="./js/shLineCodeList.js"></script> 68 <script src="./js/shLineCodeList.js"></script>
70 \ No newline at end of file 69 \ No newline at end of file
src/main/resources/static/pages/trafficManage/timeTempletUpload.html
1 -<link href="css/trafficManage.css" rel="stylesheet" type="text/css" />  
2 -<link href="css/autocompleter.css" rel="stylesheet" type="text/css" />  
3 -<ul class="page-breadcrumb breadcrumb">  
4 - <li><a href="/pages/home.html" data-pjax>首页</a> <i  
5 - class="fa fa-circle"></i></li>  
6 - <li><span class="active">运维管理</span> <i class="fa fa-circle"></i></li>  
7 - <li><span class="active">时刻模板上传</span></li>  
8 -</ul>  
9 -<div class="tab_line">  
10 - <div class="col-md-12">  
11 - <ul class="breadcrumb">  
12 - <li>线路名称:</li>  
13 - <li><input type="text" class="form-control form-filter input-sm"  
14 - name="xl.name_eq" placeholder="请输入线路名称" maxlength="40" /></li>  
15 - <li>模板名称(关键字):</li>  
16 - <li><input type="text" class="form-control form-filter input-sm"  
17 - name="ttInfo.name_like" maxlength="40" /></li>  
18 - <li><a class="btn btn-circle blue" id="search">查询</a></li>  
19 - <li><a class="btn btn-circle red" id="upload">上传</a></li>  
20 - </ul>  
21 - </div>  
22 - <!-- Begin: left-div -->  
23 - <div class="col-md-5 panel-wrap" style="height: 60%;">  
24 - <div class="_panel">  
25 - <div class="_head" style="color: #2765A7;">待选线路模板列表</div>  
26 - <div class="table-container" id="left_div">  
27 - <table  
28 - class="table table-striped table-bordered table-advance pb-table head">  
29 - <thead>  
30 - <tr>  
31 - <th width="5%">#</th>  
32 - <th width="20%">线路名称</th>  
33 - <th width="15%">模板ID</th>  
34 - <th width="25%">模板名称</th>  
35 - <th>启用日期</th>  
36 - </tr>  
37 - </thead>  
38 - <tbody>  
39 - </tbody>  
40 - </table>  
41 - </div>  
42 - </div>  
43 - </div>  
44 - <div class="col-md-2" style="height: 60%;">  
45 - <ul class="breadcruma divVerHorCenter">  
46 - <li><a class="btn btn-circle blue btn-outline" id="to_right">>></a></li>  
47 - <li><a class="btn btn-circle blue btn-outline" id="to_left"><<</a></li>  
48 - </ul>  
49 - </div>  
50 - <!-- End: left-div -->  
51 - <!-- Begin: right-div -->  
52 - <div class="col-md-5 panel-wrap" style="height: 60%;">  
53 - <div class="_panel">  
54 - <div class="_head" style="color: #2765A7;">已选线路模板列表</div>  
55 - <div class="table-container" id="right_div"></div>  
56 - </div>  
57 - </div>  
58 - <!-- End: right-div -->  
59 -</div>  
60 -<script id="timeTemplet_list_temp" type="text/html">  
61 -{{each list as obj i}}  
62 -<tr>  
63 - <td class="seq" style="vertical-align: middle;">  
64 - {{i+1}}  
65 - </td>  
66 - <td>  
67 - {{obj.xl.name}}  
68 - </td>  
69 - <td class="ttInfoId">  
70 - {{obj.ttInfo.id}}  
71 - </td>  
72 - <td>  
73 - {{obj.ttInfo.name}}  
74 - </td>  
75 - <td >  
76 - {{obj.ttInfo.qyrq}}  
77 - </td>  
78 -</tr>  
79 -{{/each}}  
80 -{{if list.length == 0}}  
81 -<tr class="muted">  
82 - <td colspan=5 style="text-align: center;"><h6>没有找到相关数据</h6></td>  
83 -</tr>  
84 -{{/if}}  
85 - </script> 1 +<link href="css/trafficManage.css" rel="stylesheet" type="text/css" />
  2 +<link href="css/autocompleter.css" rel="stylesheet" type="text/css" />
  3 +<ul class="page-breadcrumb breadcrumb">
  4 + <li><a href="/pages/home.html" data-pjax>首页</a> <i
  5 + class="fa fa-circle"></i></li>
  6 + <li><span class="active">运维管理</span> <i class="fa fa-circle"></i></li>
  7 + <li><span class="active">时刻模板上传</span></li>
  8 +</ul>
  9 +<div class="tab_line">
  10 + <div class="col-md-12">
  11 + <ul class="breadcrumb">
  12 + <li>线路名称:</li>
  13 + <li><input type="text" class="form-control form-filter input-sm"
  14 + name="xl.name_eq" placeholder="请输入线路名称" maxlength="40" /></li>
  15 + <li>模板名称(关键字):</li>
  16 + <li><input type="text" class="form-control form-filter input-sm"
  17 + name="ttInfo.name_like" maxlength="40" /></li>
  18 + <li><a class="btn btn-circle blue" id="search">查询</a></li>
  19 + <li><a class="btn btn-circle red" id="upload">上传</a></li>
  20 + </ul>
  21 + </div>
  22 + <!-- Begin: left-div -->
  23 + <div class="col-md-5 panel-wrap" style="height: 60%;">
  24 + <div class="_panel">
  25 + <div class="_head" style="color: #2765A7;">待选线路模板列表</div>
  26 + <div class="table-container" id="left_div">
  27 + <table
  28 + class="table table-striped table-bordered table-advance pb-table head">
  29 + <thead>
  30 + <tr>
  31 + <th width="5%">#</th>
  32 + <th width="20%">线路名称</th>
  33 + <th width="15%">模板ID</th>
  34 + <th width="25%">模板名称</th>
  35 + <th>启用日期</th>
  36 + </tr>
  37 + </thead>
  38 + <tbody>
  39 + </tbody>
  40 + </table>
  41 + </div>
  42 + </div>
  43 + </div>
  44 + <div class="col-md-2" style="height: 60%;">
  45 + <ul class="breadcruma divVerHorCenter">
  46 + <li><a class="btn btn-circle blue btn-outline" id="to_right">>></a></li>
  47 + <li><a class="btn btn-circle blue btn-outline" id="to_left"><<</a></li>
  48 + </ul>
  49 + </div>
  50 + <!-- End: left-div -->
  51 + <!-- Begin: right-div -->
  52 + <div class="col-md-5 panel-wrap" style="height: 60%;">
  53 + <div class="_panel">
  54 + <div class="_head" style="color: #2765A7;">已选线路模板列表</div>
  55 + <div class="table-container" id="right_div"></div>
  56 + </div>
  57 + </div>
  58 + <!-- End: right-div -->
  59 +</div>
  60 +<script id="timeTemplet_list_temp" type="text/html">
  61 +{{each list as obj i}}
  62 +<tr>
  63 + <td class="seq" style="vertical-align: middle;">
  64 + {{i+1}}
  65 + </td>
  66 + <td>
  67 + {{obj.xl.name}}
  68 + </td>
  69 + <td class="ttInfoId">
  70 + {{obj.ttInfo.id}}
  71 + </td>
  72 + <td>
  73 + {{obj.ttInfo.name}}
  74 + </td>
  75 + <td >
  76 + {{obj.ttInfo.qyrq}}
  77 + </td>
  78 +</tr>
  79 +{{/each}}
  80 +{{if list.length == 0}}
  81 +<tr class="muted">
  82 + <td colspan=5 style="text-align: center;"><h6>没有找到相关数据</h6></td>
  83 +</tr>
  84 +{{/if}}
  85 + </script>
86 <script src="./js/timeTempletUpload.js"></script> 86 <script src="./js/timeTempletUpload.js"></script>
87 \ No newline at end of file 87 \ No newline at end of file
src/main/resources/static/pages/trafficManage/timeTempletUploadRecord.html 0 → 100644
  1 +<link href="css/trafficManage.css" rel="stylesheet" type="text/css" />
  2 +<link href="css/autocompleter.css" rel="stylesheet" type="text/css" />
  3 +<ul class="page-breadcrumb breadcrumb">
  4 + <li><a href="/pages/home.html" data-pjax>首页</a> <i
  5 + class="fa fa-circle"></i></li>
  6 + <li><span class="active">运维管理</span> <i class="fa fa-circle"></i></li>
  7 + <li><span class="active">时刻模板上传日志</span></li>
  8 +</ul>
  9 +<div class="tab_line">
  10 + <div class="col-md-12">
  11 + <ul class="breadcrumb">
  12 + <li>筛选数据:</li>
  13 + <li><select name="company_eq" class="form-control" id="companySelect"></select></li>
  14 + <li><select name="brancheCompany_eq" class="form-control" id="brancheCompanySelect"></select></li>
  15 + <li>日期:</li>
  16 + <li><input type="text" class="inputCommon dateTime" name="date" id="dateInput" placeholder="日期"></li>
  17 + <li>线路名称:</li>
  18 + <li><input type="text" class="form-control form-filter input-sm"
  19 + name="xl.name_eq" maxlength="40" /></li>
  20 + <li>上传用户:</li>
  21 + <li><input type="text" class="inputCommon inputCarPlate"
  22 + name="xl.user_eq" maxlength="40" /></li>
  23 + <li><a class="btn btn-circle blue" id="search">筛选</a></li>
  24 + </ul>
  25 + </div>
  26 + <div class="col-md-12 panel-wrap">
  27 + <div class="_panel">
  28 + <div class="table-container">
  29 + <table
  30 + class="table table-striped table-bordered table-advance pb-table head">
  31 + <thead>
  32 + <tr>
  33 + <th>序号</th>
  34 + <th>公司</th>
  35 + <th>分公司</th>
  36 + <th>线路</th>
  37 + <th>模板名称</th>
  38 + <th>上传人员</th>
  39 + <th>上传时间</th>
  40 + </tr>
  41 + </thead>
  42 + <tbody>
  43 + </tbody>
  44 + </table>
  45 + <div style="text-align: right;">
  46 + <ul id="pagination" class="pagination"></ul>
  47 + </div>
  48 + </div>
  49 + </div>
  50 + </div>
  51 +</div>
  52 +<script id="lineStationRecord_list_temp" type="text/html">
  53 +{{each list as obj i}}
  54 +<tr>
  55 + <td class="seq" style="vertical-align: middle;">
  56 + {{i+1}}
  57 + </td>
  58 + <td>
  59 + {{obj.name}}
  60 + </td>
  61 + <td class="ttInfoId">
  62 + {{obj.company}}
  63 + </td>
  64 + <td>
  65 + {{obj.name}}
  66 + </td>
  67 + <td>
  68 + {{obj.company}}
  69 + </td>
  70 + <td>
  71 +
  72 + </td>
  73 + <td >
  74 +
  75 + </td>
  76 +</tr>
  77 +{{/each}}
  78 +{{if list.length == 0}}
  79 +<tr class="muted">
  80 + <td colspan=5 style="text-align: center;"><h6>没有找到相关数据</h6></td>
  81 +</tr>
  82 +{{/if}}
  83 + </script>
  84 +<script src="./js/timeTempletUploadRecord.js"></script>
0 \ No newline at end of file 85 \ No newline at end of file