Commit 6a80863b78354a894c79b502627f92c0359d58f3
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 | 141 | */ |
| 142 | 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 | 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 | 9 | import org.springframework.stereotype.Service; |
| 10 | 10 | |
| 11 | 11 | import com.alibaba.fastjson.JSONArray; |
| 12 | -import com.alibaba.fastjson.JSONObject; | |
| 13 | 12 | import com.bsth.common.ResponseCode; |
| 14 | 13 | import com.bsth.entity.Line; |
| 15 | 14 | import com.bsth.entity.Section; |
| ... | ... | @@ -122,7 +121,7 @@ public class SectionServiceImpl extends BaseServiceImpl<Section, Integer> implem |
| 122 | 121 | Integer directions = map.get("directions").equals("") ? null : Integer.parseInt(map.get("directions").toString()); |
| 123 | 122 | |
| 124 | 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 | 127 | String roadCoding = map.get("roadCoding").equals("") ? "" : map.get("roadCoding").toString(); |
| ... | ... | @@ -403,16 +402,18 @@ public class SectionServiceImpl extends BaseServiceImpl<Section, Integer> implem |
| 403 | 402 | // 路段路由 |
| 404 | 403 | SectionRoute sectionRoute = new SectionRoute(); |
| 405 | 404 | |
| 406 | - String sectionrouteCodeArray[] = null; | |
| 407 | - | |
| 408 | 405 | Integer routeCode = null; |
| 409 | 406 | |
| 410 | 407 | if(!sectionrouteCode.equals("")){ |
| 411 | 408 | |
| 412 | - sectionrouteCodeArray = sectionrouteCode.split("_"); | |
| 409 | + String sectionrouteCodeArray[] = sectionrouteCode.split("_"); | |
| 413 | 410 | |
| 414 | 411 | routeCode = Integer.valueOf(sectionrouteCodeArray[0])+1; |
| 415 | 412 | |
| 413 | + }else { | |
| 414 | + | |
| 415 | + routeCode = 100; | |
| 416 | + | |
| 416 | 417 | } |
| 417 | 418 | |
| 418 | 419 | sectionRoute.setSectionrouteCode(routeCode); | ... | ... |
src/main/java/com/bsth/service/impl/StationRouteServiceImpl.java
| 1 | 1 | package com.bsth.service.impl; |
| 2 | 2 | |
| 3 | +import java.awt.Point; | |
| 3 | 4 | import java.io.ByteArrayInputStream; |
| 4 | 5 | import java.io.File; |
| 5 | 6 | import java.io.InputStream; |
| ... | ... | @@ -519,56 +520,66 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ |
| 519 | 520 | /** 查询线路信息 */ |
| 520 | 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 | 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 | 584 | } catch (Exception e) { |
| 574 | 585 | |
| ... | ... | @@ -580,28 +591,30 @@ public class StationRouteServiceImpl extends BaseServiceImpl<StationRoute, Integ |
| 580 | 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 | 596 | String stationRStr = ""; |
| 586 | 597 | |
| 587 | 598 | // windows下的文本文件换行符 |
| 588 | - String enterStr = "\r\n"; | |
| 599 | + // String enterStr = "\r\n"; | |
| 589 | 600 | |
| 590 | 601 | // linux/unix下的文本文件换行符 |
| 591 | - // String enterStr = "\r"; | |
| 602 | + String enterStr = "\r"; | |
| 592 | 603 | |
| 593 | 604 | if(objects.size()>0) { |
| 594 | 605 | |
| 595 | 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 | 619 | if(stationMake.equals("E")) { |
| 607 | 620 | |
| ... | ... | @@ -614,23 +627,82 @@ public class StationRouteServiceImpl extends BaseServiceImpl<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 | 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<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 | 799 | public Map<String, Object> readPropertiesGetFTPParam(){ |
| 644 | 800 | |
| 645 | 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<Station, Integer> implem |
| 866 | 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 | 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 | 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<Station, Integer> implem |
| 908 | 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 | 921 | arg0.setStationMark(stationMark); |
| ... | ... | @@ -931,7 +938,7 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem |
| 931 | 938 | // 站点路由说明 |
| 932 | 939 | arg0.setDescriptions(descriptions); |
| 933 | 940 | |
| 934 | - /*routeRepository.save(arg0);*/ | |
| 941 | + routeRepository.save(arg0); | |
| 935 | 942 | |
| 936 | 943 | resultMap.put("status", ResponseCode.SUCCESS); |
| 937 | 944 | ... | ... |
src/main/java/com/bsth/util/FTPClientUtils.java
| ... | ... | @@ -98,16 +98,16 @@ public class FTPClientUtils { |
| 98 | 98 | } |
| 99 | 99 | |
| 100 | 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 | 103 | try { |
| 104 | 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 | 112 | } catch (FileNotFoundException e) { |
| 113 | 113 | |
| ... | ... | @@ -126,9 +126,7 @@ public class FTPClientUtils { |
| 126 | 126 | |
| 127 | 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 | 131 | } catch (UnsupportedEncodingException e) { |
| 134 | 132 | |
| ... | ... | @@ -324,7 +322,7 @@ public class FTPClientUtils { |
| 324 | 322 | |
| 325 | 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 | 15 | import org.apache.poi.poifs.filesystem.POIFSFileSystem; |
| 16 | 16 | import org.apache.poi.ss.usermodel.Cell; |
| 17 | 17 | |
| 18 | -import com.bsth.entity.Cars; | |
| 19 | 18 | import com.bsth.entity.Line; |
| 20 | -import com.bsth.entity.Section; | |
| 21 | 19 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 22 | 20 | |
| 23 | 21 | public class ReportUtils { |
| ... | ... | @@ -191,56 +189,33 @@ public class ReportUtils { |
| 191 | 189 | */ |
| 192 | 190 | private void getValueAndSetCellValue(HSSFCell cell, String key, Object obj) { |
| 193 | 191 | try { |
| 192 | + // 保有存单元格的内容 | |
| 194 | 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 | 202 | if (tmpKey.indexOf(".") != -1) { |
| 201 | 203 | String className = tmpKey.substring(0, tmpKey.indexOf(".")); |
| 204 | + // 取得类的全限定名 | |
| 202 | 205 | String classWholeName = packaegName + className; |
| 203 | 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 | 241 | try { |
| 267 | 242 | if (obj != null) { |
| 268 | 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 | 246 | } catch (Exception e) { |
| 273 | 247 | e.printStackTrace(); |
| ... | ... | @@ -285,49 +259,13 @@ public class ReportUtils { |
| 285 | 259 | line.setName("line1"); |
| 286 | 260 | |
| 287 | 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 | 269 | sr.setId((long) 22); |
| 332 | 270 | sr.setXlName("abc22"); |
| 333 | 271 | dataList.add(sr); |
| ... | ... | @@ -336,63 +274,15 @@ public class ReportUtils { |
| 336 | 274 | sr.setXlName("abc33"); |
| 337 | 275 | dataList.add(sr); |
| 338 | 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 | 279 | "D:\\22.xls"); |
| 367 | - // ee.test(line); | |
| 368 | - // ee.shiftRow(); | |
| 369 | 280 | System.out.println("ok"); |
| 370 | 281 | } catch (Exception e) { |
| 371 | 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 | 2 | #ftp.port=21 |
| 9 | -#ftp.username=testftpservice | |
| 10 | -#ftp.password= 123 | |
| 11 | -#ftp.path= ftptest/ | |
| 12 | 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 | 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 | 4 | <meta charset="utf-8" /> |
| 5 | 5 | <title>登录</title> |
| 6 | 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 | 8 | <meta content="width=device-width, initial-scale=1" name="viewport" /> |
| 9 | 9 | <meta content="" name="description" /> |
| 10 | 10 | <meta content="" name="author" /> |
| ... | ... | @@ -26,303 +26,100 @@ Login page |
| 26 | 26 | ***/ |
| 27 | 27 | /* bg color */ |
| 28 | 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 | 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 | 60 | </style> |
| 270 | 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 | 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 | 74 | </div> |
| 303 | 75 | </form> |
| 304 | 76 | </div> |
| 305 | - | |
| 306 | 77 | <script src="metronic_v4.5.4/plugins/jquery.min.js" |
| 307 | 78 | type="text/javascript"></script> |
| 308 | 79 | <script src="metronic_v4.5.4/plugins/bootstrap/js/bootstrap.min.js" |
| 309 | 80 | type="text/javascript"></script> |
| 310 | 81 | <script src="metronic_v4.5.4/scripts/app.min.js" type="text/javascript"></script> |
| 311 | - | |
| 82 | + | |
| 312 | 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 | 123 | </body> |
| 327 | 124 | |
| 328 | 125 | </html> |
| 329 | 126 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/base/carpark/add.html
| ... | ... | @@ -307,12 +307,12 @@ |
| 307 | 307 | </div> |
| 308 | 308 | </div> |
| 309 | 309 | |
| 310 | - <div class="form-group"> | |
| 310 | + <!-- <div class="form-group"> | |
| 311 | 311 | <label class="control-label col-md-3"> 中心位置WGS坐标点: </label> |
| 312 | 312 | <div class="col-md-4"> |
| 313 | 313 | <p class="form-control-static" data-display="gCenterPoint"> </p> |
| 314 | 314 | </div> |
| 315 | - </div> | |
| 315 | + </div> --> | |
| 316 | 316 | |
| 317 | 317 | <h4 class="form-section"> 停车场信息 </h4> |
| 318 | 318 | ... | ... |
src/main/resources/static/pages/base/carpark/edit_select.html
| ... | ... | @@ -156,7 +156,7 @@ $('#editPositions_select_mobal').on('editSelectMobal_show', function(e, map,fun, |
| 156 | 156 | |
| 157 | 157 | if(eidtselect_==0){ |
| 158 | 158 | |
| 159 | - WorldsBMap.localSearchFromAdreesToPoint(editStationName); | |
| 159 | + map.localSearchFromAdreesToPoint(editStationName); | |
| 160 | 160 | |
| 161 | 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 | 167 | } |
| 168 | 168 | |
| 169 | 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 | 266 | // 设置停车场名称 |
| 267 | 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 | 322 | /** 当一个导航标签被点击,返回错误的移动到该选项卡,并显示它的内容. */ |
| 328 | 323 | onTabClick: function (tab, navigation, index, clickedIndex) { |
| 329 | 324 | |
| 325 | + return false; | |
| 326 | + | |
| 330 | 327 | success.hide(); |
| 331 | 328 | |
| 332 | 329 | error.hide(); |
| ... | ... | @@ -358,6 +355,8 @@ var FormWizard = function() { |
| 358 | 355 | |
| 359 | 356 | VmapWorlds.clearMarkAndOverlays(); |
| 360 | 357 | |
| 358 | + VmapWorlds.drawingManagerClose(); | |
| 359 | + | |
| 361 | 360 | } |
| 362 | 361 | |
| 363 | 362 | handleTitle(tab, navigation, index); |
| ... | ... | @@ -371,6 +370,12 @@ var FormWizard = function() { |
| 371 | 370 | |
| 372 | 371 | error.hide(); |
| 373 | 372 | |
| 373 | + if(index ==0) { | |
| 374 | + | |
| 375 | + VmapWorlds.drawingManagerClose(); | |
| 376 | + | |
| 377 | + } | |
| 378 | + | |
| 374 | 379 | VmapWorlds.clearMarkAndOverlays(); |
| 375 | 380 | |
| 376 | 381 | handleTitle(tab, navigation, index); | ... | ... |
src/main/resources/static/pages/base/carpark/js/carpark-positions-events.js
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 | 6 | var PublicFunctions = function () { |
| ... | ... | @@ -58,16 +57,132 @@ var PublicFunctions = function () { |
| 58 | 57 | // 中心坐标点 |
| 59 | 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 | 176 | var htm = '<HR style="border:1 dashed #987cb9" width="100%" color=#987cb9 SIZE=1>'+ |
| 62 | 177 | '<span style="color:#DDD;font-size: 15px;">停车场名称:' + r[0].carParkName + '</span>' + |
| 63 | 178 | '<span class="help-block" style="color:#DDD;font-size: 15px;">停车场编码:' + r[0].carParkCode + '</span>' + |
| 64 | 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 | 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
src/main/resources/static/pages/base/carpark/list.html
| ... | ... | @@ -36,9 +36,9 @@ |
| 36 | 36 | <th width="8%">面积</th> |
| 37 | 37 | <th width="8%">分公司</th> |
| 38 | 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 | 42 | </tr> |
| 43 | 43 | <tr role="row" class="filter"> |
| 44 | 44 | <td>#</td> |
| ... | ... | @@ -110,16 +110,80 @@ |
| 110 | 110 | {{obj.area}} |
| 111 | 111 | </td> |
| 112 | 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 | 166 | </td> |
| 115 | 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 | 177 | </td> |
| 118 | 178 | <td> |
| 119 | 179 | {{obj.versions}} |
| 120 | 180 | </td> |
| 121 | 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 | 187 | </td> |
| 124 | 188 | <td> |
| 125 | 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 | 246 | // 生成行单 |
| 247 | 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 | 309 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/base/line/list.html
| ... | ... | @@ -185,9 +185,9 @@ |
| 185 | 185 | {{if obj.brancheCompany == '1'}} |
| 186 | 186 | 四分公司 |
| 187 | 187 | {{else if obj.brancheCompany == '2'}} |
| 188 | - 四分公司 | |
| 188 | + 二分公司 | |
| 189 | 189 | {{else if obj.brancheCompany == '3'}} |
| 190 | - 四分公司 | |
| 190 | + 三分公司 | |
| 191 | 191 | {{else if obj.brancheCompany == '5'}} |
| 192 | 192 | 一分公司 |
| 193 | 193 | {{/if}} | ... | ... |
src/main/resources/static/pages/base/section/js/add-form-wizard.js
src/main/resources/static/pages/base/section/js/section-ajax-getdata.js
src/main/resources/static/pages/base/section/js/section-positions-events.js
| ... | ... | @@ -10,7 +10,9 @@ $(function(){ |
| 10 | 10 | // 编辑线路走向 |
| 11 | 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 | 17 | // 弹出添加失败提示消息,2秒关闭(如果不配置,默认是3秒) |
| 16 | 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 | 390 | </div> |
| 391 | 391 | </div> |
| 392 | 392 | |
| 393 | - <div class="form-group"> | |
| 393 | + <!-- <div class="form-group"> | |
| 394 | 394 | <label class="control-label col-md-3"> 中心位置WGS坐标点: </label> |
| 395 | 395 | <div class="col-md-4"> |
| 396 | 396 | <p class="form-control-static" data-display="bJwpoints"> </p> |
| 397 | 397 | </div> |
| 398 | - </div> | |
| 398 | + </div> --> | |
| 399 | 399 | |
| 400 | 400 | <!-- |
| 401 | 401 | <div class="form-group"> | ... | ... |
src/main/resources/static/pages/base/station/edit.html
| ... | ... | @@ -452,8 +452,9 @@ $('#editPoitsions_station_mobal').on('editStationMobal_show', function(e, map,fu |
| 452 | 452 | var params = form.serializeJSON(); |
| 453 | 453 | |
| 454 | 454 | error.hide(); |
| 455 | + | |
| 455 | 456 | console.log(params); |
| 456 | - return ; | |
| 457 | + | |
| 457 | 458 | fun.stationUpdate(params,function(resuntDate) { |
| 458 | 459 | |
| 459 | 460 | if(resuntDate.status=='SUCCESS') { | ... | ... |
src/main/resources/static/pages/base/station/edit_select.html
| ... | ... | @@ -174,13 +174,13 @@ $('#editPositions_select_mobal').on('editSelectMobal_show', function(e, map,drm, |
| 174 | 174 | if(eidtselect_==0){ |
| 175 | 175 | |
| 176 | 176 | // 清除地图覆盖物 |
| 177 | - StationPositionsWorldsBMap.clearMarkAndOverlays(); | |
| 177 | + map.clearMarkAndOverlays(); | |
| 178 | 178 | |
| 179 | 179 | // 打开绘制工具 |
| 180 | 180 | PositionsDrawingManagerObj.openDrawingManager(); |
| 181 | 181 | |
| 182 | 182 | // 根据站点位置在地图定位 |
| 183 | - StationPositionsWorldsBMap.localtionPoint(editStationName); | |
| 183 | + map.localtionPoint(editStationName); | |
| 184 | 184 | |
| 185 | 185 | |
| 186 | 186 | }else if(eidtselect_==1){ |
| ... | ... | @@ -190,7 +190,7 @@ $('#editPositions_select_mobal').on('editSelectMobal_show', function(e, map,drm, |
| 190 | 190 | shift: 0,time: 10000}); |
| 191 | 191 | |
| 192 | 192 | // 编辑图形 |
| 193 | - StationPositionsWorldsBMap.editShapes(stationShapesTypeV,mindex); | |
| 193 | + map.editShapes(stationShapesTypeV,mindex); | |
| 194 | 194 | |
| 195 | 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 | 41 | // 需要验证的表单元素 |
| 42 | 42 | rules : { |
| 43 | 43 | |
| 44 | - // 线路名称 | |
| 44 | + // 站点名称 | |
| 45 | 45 | 'statinoNamebooxt' : { |
| 46 | 46 | |
| 47 | 47 | // 必填项 |
| ... | ... | @@ -49,6 +49,69 @@ var FormWizard = function() { |
| 49 | 49 | |
| 50 | 50 | // 最大长度 |
| 51 | 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 | 178 | // 表单序列化 |
| 116 | 179 | var params = form.serializeJSON(); |
| 117 | 180 | |
| 181 | + console.log(params); | |
| 182 | + | |
| 118 | 183 | //保存站点 |
| 119 | 184 | PublicFunctions.stationSave(params,function(data) { |
| 120 | 185 | |
| ... | ... | @@ -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 | 239 | var displayConfirm = function() { |
| 144 | 240 | ... | ... |
src/main/resources/static/pages/base/station/js/station-list-table.js
src/main/resources/static/pages/base/station/js/station-positions-function.js
| ... | ... | @@ -18,6 +18,25 @@ var PositionsPublicFunctions = function () { |
| 18 | 18 | |
| 19 | 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 | 40 | var stationShapesType = r[0].stationShapesType; |
| 22 | 41 | |
| 23 | 42 | // 获取中心坐标点字符串分割 |
| ... | ... | @@ -30,10 +49,15 @@ var PositionsPublicFunctions = function () { |
| 30 | 49 | '<span style="color:#DDD;font-size: 15px;">站点名称:' + r[0].stationName + '</span>' + |
| 31 | 50 | '<span class="help-block" style="color:#DDD;font-size: 15px;">站点编码:' + r[0].stationCode + '</span>' + |
| 32 | 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 | 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 + ' 分钟</span>' + | |
| 55 | + '<span class="help-block" style="color:#DDD;font-size: 15px;">到站距离:' + r[0].stationRouteDistances + ' 公里</span>' + | |
| 34 | 56 | '<span class="help-block" style="color:#DDD;font-size: 15px;">范围半径:' + r[0].stationRadius + '</span>' + |
| 35 | 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 | 63 | var opts = { | ... | ... |
src/main/resources/static/pages/base/station/js/station-positions-map.js
| ... | ... | @@ -155,7 +155,7 @@ var StationPositionsWorldsBMap = function () { |
| 155 | 155 | mapBValue.panTo(pointPolygon,PanOptions_); |
| 156 | 156 | |
| 157 | 157 | // 将地图在水平位置上移动x像素,垂直位置上移动y像素。 |
| 158 | - mapBValue.panBy(10,110,PanOptions_); | |
| 158 | + mapBValue.panBy(10,-510,PanOptions_); | |
| 159 | 159 | |
| 160 | 160 | //开启信息窗口 |
| 161 | 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 | 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 | 196 | return ajaxData; | ... | ... |
src/main/resources/static/pages/base/stationroute/list.html
| ... | ... | @@ -73,9 +73,9 @@ |
| 73 | 73 | <li> |
| 74 | 74 | <a href="javascript:;" id="editUplineTrend"><i class="fa fa-edit"></i> 编辑走向</a> |
| 75 | 75 | </li> |
| 76 | - <li> | |
| 76 | + <!-- <li> | |
| 77 | 77 | <a href="javascript:;" id="createUsingSingle"><i class="fa fa-edit"></i> 生成行单</a> |
| 78 | - </li> | |
| 78 | + </li> --> | |
| 79 | 79 | </ul> |
| 80 | 80 | </div> |
| 81 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 68 | <script src="./js/shLineCodeList.js"></script> |
| 70 | 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 | 86 | <script src="./js/timeTempletUpload.js"></script> |
| 87 | 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 | 85 | \ No newline at end of file | ... | ... |