Commit 44dc7f53803744485841c9d4db61840675b96bc7

Authored by 廖磊
1 parent d55360b1

工作汇总修改

src/main/java/com/bsth/service/report/CulateMileageService.java
@@ -13,12 +13,16 @@ public interface CulateMileageService { @@ -13,12 +13,16 @@ public interface CulateMileageService {
13 13
14 List<Map<String,Object>> jobLjqk(List<ScheduleRealInfo> lists); 14 List<Map<String,Object>> jobLjqk(List<ScheduleRealInfo> lists);
15 double culateLjgl(List<ScheduleRealInfo> lists); 15 double culateLjgl(List<ScheduleRealInfo> lists);
  16 + double culateLjgl_(List<ScheduleRealInfo> lists,String item);
16 int culateLjbc(List<ScheduleRealInfo> lists,String item); 17 int culateLjbc(List<ScheduleRealInfo> lists,String item);
17 18
18 double culateJhgl(List<ScheduleRealInfo> lists); 19 double culateJhgl(List<ScheduleRealInfo> lists);
  20 + double culateJhgl_(List<ScheduleRealInfo> lists,String item);
  21 +
19 int culateJhbc(List<ScheduleRealInfo> lists,String item); 22 int culateJhbc(List<ScheduleRealInfo> lists,String item);
20 23
21 double culateSjgl(List<ScheduleRealInfo> lists); 24 double culateSjgl(List<ScheduleRealInfo> lists);
  25 + double culateSjgl_(List<ScheduleRealInfo> lists,String item);
22 int culateSjbc(List<ScheduleRealInfo> lists,String item); 26 int culateSjbc(List<ScheduleRealInfo> lists,String item);
23 27
24 double culateKsgl(List<ScheduleRealInfo> lists); 28 double culateKsgl(List<ScheduleRealInfo> lists);
@@ -32,8 +36,9 @@ public interface CulateMileageService { @@ -32,8 +36,9 @@ public interface CulateMileageService {
32 36
33 Map<String, Object> culateDjg(List<ScheduleRealInfo> lists,String line); 37 Map<String, Object> culateDjg(List<ScheduleRealInfo> lists,String line);
34 38
  39 + Map<String, Object> culateWdbcs(List<ScheduleRealInfo> lists);
35 40
36 - 41 + int culateDtfzbc(List<ScheduleRealInfo> lists,String type,String status,String item);
37 //以下计算方法供新报表使用 42 //以下计算方法供新报表使用
38 Map<String, Double> culateSjlcMap(List<ScheduleRealInfo> lists);//计划内营运and计划外营运 43 Map<String, Double> culateSjlcMap(List<ScheduleRealInfo> lists);//计划内营运and计划外营运
39 44
src/main/java/com/bsth/service/report/impl/CulateMileageServiceImpl.java
@@ -261,6 +261,108 @@ public class CulateMileageServiceImpl implements CulateMileageService{ @@ -261,6 +261,108 @@ public class CulateMileageServiceImpl implements CulateMileageService{
261 } 261 }
262 262
263 @Override 263 @Override
  264 + public double culateLjgl_(List<ScheduleRealInfo> lists,String item) {
  265 + // TODO Auto-generated method stub
  266 + double ljgl=0;
  267 + for (int i = 0; i < lists.size(); i++) {
  268 + ScheduleRealInfo scheduleRealInfo=lists.get(i);
  269 + if (!isInOut(scheduleRealInfo)) {
  270 + if(!scheduleRealInfo.isDestroy()){
  271 + String time = "";
  272 + if (scheduleRealInfo.getFcsjActual() != null) {
  273 + time = scheduleRealInfo.getFcsjActual();
  274 + }
  275 + if (time.equals("")) {
  276 + if (scheduleRealInfo.getDfsj() != null) {
  277 + time = scheduleRealInfo.getDfsj();
  278 + }
  279 + }
  280 + if(!time.equals("")){
  281 + String[] fcsjStr = time.split(":");
  282 + long fcsj = Long.parseLong(fcsjStr[0]) * 60 + Long.parseLong(fcsjStr[1]);
  283 + if(scheduleRealInfo.isSflj()){
  284 + Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks();
  285 + if(childTaskPlans.isEmpty()){
  286 + if(item.equals("zgf")){
  287 + if(fcsj>=zgf1 && fcsj<=zgf2){
  288 + ljgl=Arith.add(ljgl,scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc());
  289 + }
  290 + }
  291 + if(item.equals("wgf")){
  292 + if(fcsj>=wgf1 && fcsj<=wgf2){
  293 + ljgl=Arith.add(ljgl,scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc());
  294 + }
  295 + }
  296 + }else{
  297 + Iterator<ChildTaskPlan> it = childTaskPlans.iterator();
  298 + while (it.hasNext()) {
  299 + ChildTaskPlan childTaskPlan = it.next();
  300 + if(childTaskPlan.getMileageType().equals("service")){
  301 + if (!childTaskPlan.isDestroy()) {
  302 + Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage();
  303 + if(item.equals("zgf")){
  304 + if(fcsj>=zgf1 && fcsj<=zgf2){
  305 + ljgl=Arith.add(ljgl,jhgl);
  306 + }
  307 + }
  308 + if(item.equals("wgf")){
  309 + if(fcsj>=wgf1 && fcsj<=wgf2){
  310 + ljgl=Arith.add(ljgl,jhgl);
  311 + }
  312 + }
  313 + }
  314 + }
  315 + }
  316 + }
  317 + }else{
  318 + Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks();
  319 + if(childTaskPlans.isEmpty()){
  320 + double jhlc=scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc();
  321 + double jhlcOrig=scheduleRealInfo.getJhlcOrig()==null?0:scheduleRealInfo.getJhlcOrig();
  322 + double zjlc=Arith.sub(jhlc, jhlcOrig);
  323 + if(zjlc>0){
  324 + if(item.equals("zgf")){
  325 + if(fcsj>=zgf1 && fcsj<=zgf2){
  326 + ljgl=Arith.add(zjlc, ljgl);
  327 + }
  328 + }
  329 + if(item.equals("wgf")){
  330 + if(fcsj>=wgf1 && fcsj<=wgf2){
  331 + ljgl=Arith.add(zjlc, ljgl);
  332 + }
  333 + }
  334 + }
  335 + }else{
  336 + Iterator<ChildTaskPlan> it = childTaskPlans.iterator();
  337 + while (it.hasNext()) {
  338 + ChildTaskPlan childTaskPlan = it.next();
  339 + if("service".equals(childTaskPlan.getMileageType())&&"临加".equals(childTaskPlan.getType1())){
  340 + if (!childTaskPlan.isDestroy()) {
  341 + Float jhgl=childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage();
  342 + if(item.equals("zgf")){
  343 + if(fcsj>=zgf1 && fcsj<=zgf2){
  344 + ljgl=Arith.add(ljgl,jhgl);
  345 + }
  346 + }
  347 + if(item.equals("wgf")){
  348 + if(fcsj>=wgf1 && fcsj<=wgf2){
  349 + ljgl=Arith.add(ljgl,jhgl);
  350 + }
  351 + }
  352 + }
  353 + }
  354 + }
  355 + }
  356 + }
  357 + }
  358 + }
  359 +
  360 + }
  361 + }
  362 + return ljgl;
  363 + }
  364 +
  365 + @Override
264 public double culateLjgl(List<ScheduleRealInfo> lists) { 366 public double culateLjgl(List<ScheduleRealInfo> lists) {
265 // TODO Auto-generated method stub 367 // TODO Auto-generated method stub
266 double ljgl=0; 368 double ljgl=0;
@@ -368,6 +470,32 @@ public class CulateMileageServiceImpl implements CulateMileageService{ @@ -368,6 +470,32 @@ public class CulateMileageServiceImpl implements CulateMileageService{
368 } 470 }
369 return jhgl; 471 return jhgl;
370 } 472 }
  473 +
  474 + @Override
  475 + public double culateJhgl_(List<ScheduleRealInfo> lists,String item) {
  476 + // TODO Auto-generated method stub
  477 + double jhgl=0;
  478 + for (int i = 0; i < lists.size(); i++) {
  479 + ScheduleRealInfo scheduleRealInfo=lists.get(i);
  480 + if (!isInOut(scheduleRealInfo)) {
  481 + if(!scheduleRealInfo.isSflj()){
  482 + String[] fcsjStr = scheduleRealInfo.getFcsj().split(":");
  483 + long fcsj= Long.parseLong(fcsjStr[0])*60+Long.parseLong(fcsjStr[1]);
  484 + if(item.equals("zgf")){
  485 + if(fcsj>=zgf1 && fcsj<=zgf2){
  486 + jhgl=Arith.add(jhgl,scheduleRealInfo.getJhlcOrig()==null?0:scheduleRealInfo.getJhlcOrig());
  487 + }
  488 + }
  489 + if(item.equals("wgf")){
  490 + if(fcsj>=wgf1 && fcsj<=wgf2){
  491 + jhgl=Arith.add(jhgl,scheduleRealInfo.getJhlcOrig()==null?0:scheduleRealInfo.getJhlcOrig());
  492 + }
  493 + }
  494 + }
  495 + }
  496 + }
  497 + return jhgl;
  498 + }
371 499
372 @Override 500 @Override
373 public int culateJhbc(List<ScheduleRealInfo> lists,String item) { 501 public int culateJhbc(List<ScheduleRealInfo> lists,String item) {
@@ -434,6 +562,85 @@ public class CulateMileageServiceImpl implements CulateMileageService{ @@ -434,6 +562,85 @@ public class CulateMileageServiceImpl implements CulateMileageService{
434 } 562 }
435 return sjgl; 563 return sjgl;
436 } 564 }
  565 +
  566 + @Override
  567 + public double culateSjgl_(List<ScheduleRealInfo> lists, String item) {
  568 + // TODO Auto-generated method stub
  569 + double sjgl = 0;
  570 + for (int i = 0; i < lists.size(); i++) {
  571 + ScheduleRealInfo scheduleRealInfo = lists.get(i);
  572 + if (!isInOut(scheduleRealInfo)) {
  573 + Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks();
  574 + if (!scheduleRealInfo.isSflj()) {
  575 + String time = "";
  576 + if (scheduleRealInfo.getFcsjActual() != null) {
  577 + time = scheduleRealInfo.getFcsjActual();
  578 + }
  579 + if (time.equals("")) {
  580 + if (scheduleRealInfo.getDfsj() != null) {
  581 + time = scheduleRealInfo.getDfsj();
  582 + }
  583 + }
  584 + if (!time.equals("")) {
  585 + String[] fcsjStr = time.split(":");
  586 + long fcsj = Long.parseLong(fcsjStr[0]) * 60 + Long.parseLong(fcsjStr[1]);
  587 + if (childTaskPlans.isEmpty()) {
  588 + if (!scheduleRealInfo.isDestroy()) {
  589 + double jhlcOrig = scheduleRealInfo.getJhlcOrig() == null ? 0
  590 + : scheduleRealInfo.getJhlcOrig();
  591 + double jhlc = scheduleRealInfo.getJhlc() == null ? 0 : scheduleRealInfo.getJhlc();
  592 +
  593 + if(item.equals("zgf")){
  594 + if(fcsj>=zgf1 && fcsj<=zgf2){
  595 + if (jhlc - jhlcOrig > 0) {
  596 + sjgl = Arith.add(sjgl, jhlcOrig);
  597 + } else {
  598 + sjgl = Arith.add(sjgl, jhlc);
  599 + }
  600 + }
  601 + }
  602 + if(item.equals("wgf")){
  603 + if(fcsj>=wgf1 && fcsj<=wgf2){
  604 + if (jhlc - jhlcOrig > 0) {
  605 + sjgl = Arith.add(sjgl, jhlcOrig);
  606 + } else {
  607 + sjgl = Arith.add(sjgl, jhlc);
  608 + }
  609 + }
  610 + }
  611 +
  612 +
  613 + }
  614 + } else {
  615 + Iterator<ChildTaskPlan> it = childTaskPlans.iterator();
  616 + while (it.hasNext()) {
  617 + ChildTaskPlan childTaskPlan = it.next();
  618 + if (childTaskPlan.getMileageType().equals("service")
  619 + && "正常".equals(childTaskPlan.getType1())) {
  620 + if (!childTaskPlan.isDestroy()) {
  621 + Float jhgl = childTaskPlan.getMileage() == null ? 0
  622 + : childTaskPlan.getMileage();
  623 +
  624 + if(item.equals("zgf")){
  625 + if(fcsj>=zgf1 && fcsj<=zgf2){
  626 + sjgl = Arith.add(sjgl, jhgl);
  627 + }
  628 + }
  629 + if(item.equals("wgf")){
  630 + if(fcsj>=wgf1 && fcsj<=wgf2){
  631 + sjgl = Arith.add(sjgl, jhgl);
  632 + }
  633 + }
  634 + }
  635 + }
  636 + }
  637 + }
  638 + }
  639 + }
  640 + }
  641 + }
  642 + return sjgl;
  643 + }
437 644
438 @Override 645 @Override
439 public int culateSjbc(List<ScheduleRealInfo> lists,String item) { 646 public int culateSjbc(List<ScheduleRealInfo> lists,String item) {
@@ -592,6 +799,108 @@ public class CulateMileageServiceImpl implements CulateMileageService{ @@ -592,6 +799,108 @@ public class CulateMileageServiceImpl implements CulateMileageService{
592 return jcclc; 799 return jcclc;
593 } 800 }
594 801
  802 +
  803 + @Override
  804 + public int culateDtfzbc(List<ScheduleRealInfo> lists,String type,String status,String item){
  805 + int bc=0;
  806 + for (int i = 0; i < lists.size(); i++) {
  807 + ScheduleRealInfo s=lists.get(i);
  808 + if(s.getBcType().equals(type)){
  809 + if(status.equals("jh")){
  810 + String fcsjs=s.getFcsj();
  811 + String[] fcsjStr = fcsjs.split(":");
  812 + long fcsj = Long.parseLong(fcsjStr[0]) * 60 + Long.parseLong(fcsjStr[1]);
  813 + if(item.equals("zgf")){
  814 + if(fcsj>zgf1&&fcsj<zgf2)
  815 + bc++;
  816 +
  817 + }else if(item.equals("wgf")){
  818 + if(fcsj>wgf1&&fcsj<wgf2)
  819 + bc++;
  820 + }else{
  821 + bc++;
  822 + }
  823 + }else{
  824 + if(s.getFcsjActual()!=null){
  825 + if(!s.isDestroy()){
  826 + String fcsjs=s.getFcsjActual();
  827 + String[] fcsjStr = fcsjs.split(":");
  828 + long fcsj = Long.parseLong(fcsjStr[0]) * 60 + Long.parseLong(fcsjStr[1]);
  829 + if(item.equals("zgf")){
  830 + if(fcsj>zgf1&&fcsj<zgf2)
  831 + bc++;
  832 + }else if(item.equals("wgf")){
  833 + if(fcsj>wgf1&&fcsj<wgf2)
  834 + bc++;
  835 + }else{
  836 + bc++;
  837 + }
  838 + }
  839 + }
  840 +
  841 + }
  842 + }
  843 + }
  844 +
  845 + return bc;
  846 + }
  847 + @Override
  848 + public Map<String, Object> culateWdbcs(List<ScheduleRealInfo> lists){
  849 + int sxk=0,sxkzgf=0,sxkwgf=0,sxm=0,sxmzgf=0,sxmwgf=0,xxk=0,
  850 + xxkzgf=0,xxkwgf=0,xxm=0,xxmzgf=0,xxmwgf=0;
  851 + for (int i = 0; i < lists.size(); i++) {
  852 + ScheduleRealInfo s=lists.get(i);
  853 + if(s.getFcsjActual()!=null){
  854 + String xlDir=s.getXlDir();
  855 + String fcsjs=s.getFcsj();
  856 + String[] fcsjStr = fcsjs.split(":");
  857 + long fcsj = Long.parseLong(fcsjStr[0]) * 60 + Long.parseLong(fcsjStr[1]);
  858 + String fcsjActuals=s.getFcsjActual();
  859 + String[] fcsjActualsStr = fcsjActuals.split(":");
  860 + long fcsjActual = Long.parseLong(fcsjActualsStr[0]) * 60 + Long.parseLong(fcsjActualsStr[1]);
  861 +
  862 + if("0".equals(xlDir)){
  863 +
  864 + if(fcsj-fcsjActual>1){
  865 + sxk++;
  866 + if(fcsj>zgf1&&fcsj<zgf2)
  867 + sxkzgf++;
  868 + if(fcsj>wgf1&&fcsj<wgf2)
  869 + sxkwgf++;
  870 + }
  871 + if(fcsjActual-fcsj>3){
  872 + sxm++;
  873 + if(fcsj>zgf1&&fcsj<zgf2)
  874 + sxmzgf++;
  875 + if(fcsj>wgf1&&fcsj<wgf2)
  876 + sxmwgf++;
  877 + }
  878 + }else{
  879 + if(fcsj-fcsjActual>1){
  880 + xxk++;
  881 + if(fcsj>zgf1&&fcsj<zgf2)
  882 + xxkzgf++;
  883 + if(fcsj>wgf1&&fcsj<wgf2)
  884 + xxkwgf++;
  885 + }
  886 + if(fcsjActual-fcsj>3){
  887 + xxm++;
  888 + if(fcsj>zgf1&&fcsj<zgf2)
  889 + xxmzgf++;
  890 + if(fcsj>wgf1&&fcsj<wgf2)
  891 + xxmwgf++;
  892 + }
  893 + }
  894 + }
  895 + }
  896 + Map<String, Object> m=new HashMap<String,Object>();
  897 + m.put("sxk", sxk);m.put("sxkzgf",sxkzgf );m.put("sxkwgf", sxkwgf);
  898 + m.put("sxm",sxm );m.put("sxmzgf", sxmzgf);m.put("sxmwgf", sxmwgf);
  899 + m.put("xxk", xxk);m.put("xxkzgf", xxkzgf);m.put("xxkwgf", xxkwgf);
  900 + m.put("xxm", xxm);m.put("xxmzgf", xxmzgf);m.put("xxmwgf", xxmwgf);
  901 + return m;
  902 + }
  903 +
595 @Override 904 @Override
596 public double culateJhJccgl(List<ScheduleRealInfo> lists) { 905 public double culateJhJccgl(List<ScheduleRealInfo> lists) {
597 // TODO Auto-generated method stub 906 // TODO Auto-generated method stub
src/main/java/com/bsth/service/report/impl/ReportServiceImpl.java
@@ -1909,16 +1909,43 @@ public class ReportServiceImpl implements ReportService{ @@ -1909,16 +1909,43 @@ public class ReportServiceImpl implements ReportService{
1909 } 1909 }
1910 1910
1911 List<ScheduleRealInfo> sList=scheduleRealInfoRepository.scheduleByDateAndLineTjrb(line, date); 1911 List<ScheduleRealInfo> sList=scheduleRealInfoRepository.scheduleByDateAndLineTjrb(line, date);
1912 - Map<String, Object> newMap=new HashMap<String,Object>(); 1912 + Map<String, Object> newMap=culateService.culateWdbcs(sList);
1913 newMap.put("jhbc", culateService.culateJhbc(sList,"")); 1913 newMap.put("jhbc", culateService.culateJhbc(sList,""));
  1914 + newMap.put("jhbczgf", culateService.culateJhbc(sList,"zgf"));
  1915 + newMap.put("jhbcwgf", culateService.culateJhbc(sList,"wgf"));
1914 newMap.put("jhgl", culateService.culateJhgl(sList)); 1916 newMap.put("jhgl", culateService.culateJhgl(sList));
  1917 + newMap.put("jhglzgf", culateService.culateJhgl_(sList,"zgf"));
  1918 + newMap.put("jhglwgf", culateService.culateJhgl_(sList,"wgf"));
  1919 +
1915 newMap.put("sjbc", culateService.culateSjbc(sList,"")); 1920 newMap.put("sjbc", culateService.culateSjbc(sList,""));
  1921 + newMap.put("sjbczgf", culateService.culateSjbc(sList,"zgf"));
  1922 + newMap.put("sjbcwgf", culateService.culateSjbc(sList,"wgf"));
1916 newMap.put("sjgl", culateService.culateSjgl(sList)); 1923 newMap.put("sjgl", culateService.culateSjgl(sList));
  1924 + newMap.put("sjglzgf", culateService.culateSjgl_(sList,"zgf"));
  1925 + newMap.put("sjglwgf", culateService.culateSjgl_(sList,"wgf"));
  1926 +
1917 newMap.put("lbgl", culateService.culateLbgl(sList)); 1927 newMap.put("lbgl", culateService.culateLbgl(sList));
1918 newMap.put("lbbc", culateService.culateLbbc(sList)); 1928 newMap.put("lbbc", culateService.culateLbbc(sList));
1919 newMap.put("ljgl", culateService.culateLjgl(sList)); 1929 newMap.put("ljgl", culateService.culateLjgl(sList));
  1930 + newMap.put("ljglzgf", culateService.culateLjgl_(sList,"zgf"));
  1931 + newMap.put("ljglwgf", culateService.culateLjgl_(sList,"wgf"));
  1932 +
1920 newMap.put("ljbc", culateService.culateLjbc(sList,"")); 1933 newMap.put("ljbc", culateService.culateLjbc(sList,""));
1921 newMap.put("ksgl", culateService.culateKsgl(sList)); 1934 newMap.put("ksgl", culateService.culateKsgl(sList));
  1935 +
  1936 + newMap.put("jhfbbc",culateService.culateDtfzbc(sList, "venting", "jh", ""));
  1937 + newMap.put("jhfbbczgf",culateService.culateDtfzbc(sList, "venting", "jh", "zgf"));
  1938 + newMap.put("jhfbbcwgf",culateService.culateDtfzbc(sList, "venting", "jh", "wgf"));
  1939 + newMap.put("sjfbbc",culateService.culateDtfzbc(sList, "venting", "sj", ""));
  1940 + newMap.put("sjfbbczgf",culateService.culateDtfzbc(sList, "venting", "sj", "zgf"));
  1941 + newMap.put("sjfbbcwgf",culateService.culateDtfzbc(sList, "venting", "sj", "wgf"));
  1942 +
  1943 + newMap.put("jhdtbc",culateService.culateDtfzbc(sList, "major", "jh", ""));
  1944 + newMap.put("jhdtbczgf",culateService.culateDtfzbc(sList, "major", "jh", "zgf"));
  1945 + newMap.put("jhdtbcwgf",culateService.culateDtfzbc(sList, "major", "jh", "wgf"));
  1946 + newMap.put("sjdtbc",culateService.culateDtfzbc(sList, "major", "sj", ""));
  1947 + newMap.put("sjdtbczgf",culateService.culateDtfzbc(sList, "major", "sj", "zgf"));
  1948 + newMap.put("sjdtbcwgf",culateService.culateDtfzbc(sList, "major", "sj", "wgf"));
1922 return newMap; 1949 return newMap;
1923 } 1950 }
1924 @Override 1951 @Override
src/main/resources/static/index.html
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html lang="zh"> 2 <html lang="zh">
3 <head> 3 <head>
4 - <meta name="renderer" content="webkit" />  
5 - <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />  
6 - <meta charset="UTF-8">  
7 - <title>调度系统</title>  
8 -  
9 - <meta http-equiv="Pragma" content="no-cache">  
10 - <meta http-equiv="Cache-control" content="no-cache">  
11 - <meta http-equiv="Cache" content="no-cache">  
12 -  
13 - <!-- Font Awesome 图标字体 -->  
14 - <link  
15 - href="/metronic_v4.5.4/plugins/font-awesome/css/font-awesome.min.css"  
16 - rel="stylesheet" type="text/css" />  
17 - <!-- Bootstrap style -->  
18 - <link href="/metronic_v4.5.4/plugins/bootstrap/css/bootstrap.min.css"  
19 - rel="stylesheet" type="text/css" />  
20 - <!-- jsTree 数插件 -->  
21 - <link  
22 - href="/metronic_v4.5.4/plugins/jstree/dist/themes/default/style.min.css"  
23 - rel="stylesheet" type="text/css" />  
24 - <!-- MULTI-select 多选下拉框美化 -->  
25 - <link  
26 - href="/metronic_v4.5.4/plugins/jquery-multi-select/css/multi-select.css"  
27 - rel="stylesheet" type="text/css" />  
28 -  
29 - <!-- editable -->  
30 - <link  
31 - href="/metronic_v4.5.4/plugins/bootstrap-editable/bootstrap-editable/css/bootstrap-editable.css"  
32 - rel="stylesheet" type="text/css" />  
33 - <!-- METRONIC style -->  
34 - <link href="/metronic_v4.5.4/layout4/css/themes/light.min.css"  
35 - rel="stylesheet" type="text/css" id="style_color" />  
36 - <link href="/metronic_v4.5.4/css/components.css" rel="stylesheet"  
37 - type="text/css" />  
38 - <link href="/metronic_v4.5.4/css/plugins.css" rel="stylesheet"  
39 - type="text/css" />  
40 - <link href="/metronic_v4.5.4/layout4/css/layout.min.css"  
41 - rel="stylesheet" type="text/css" />  
42 - <link href="/metronic_v4.5.4/layout4/css/custom.min.css"  
43 - rel="stylesheet" type="text/css" />  
44 - <!-- select2 下拉框插件 -->  
45 - <link href="/metronic_v4.5.4/plugins/select2/css/select2.min.css"  
46 - rel="stylesheet" type="text/css" />  
47 - <link  
48 - href="/metronic_v4.5.4/plugins/select2/css/select2-bootstrap.min.css"  
49 - rel="stylesheet" type="text/css" />  
50 - <!-- layer 弹层 插件 -->  
51 - <link href="/assets/plugins/layer-v2.4/layer/skin/layer.css"  
52 - rel="stylesheet" type="text/css" />  
53 - <!-- fileinput 上传 插件 -->  
54 - <link href="/assets/plugins/fileinput/css/fileinput.min.css"  
55 - rel="stylesheet" type="text/css" />  
56 - <!-- iCheck 单选框和复选框 -->  
57 - <link href="/metronic_v4.5.4/plugins/icheck/skins/all.css"  
58 - rel="stylesheet" type="text/css" />  
59 - <!-- 日期控件 -->  
60 - <link  
61 - href="/metronic_v4.5.4/plugins/bootstrap-datetimepicker-2/css/bootstrap-datetimepicker.min.css"  
62 - rel="stylesheet" type="text/css" />  
63 - <!-- table 表格控件 -->  
64 - <link rel="stylesheet"  
65 - href="http://api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.css"  
66 - type="text/css" />  
67 - <link href="/metronic_v4.5.4/plugins/bootstrap-tagsinput/bootstrap-tagsinput.css" rel="stylesheet" type="text/css"/>  
68 - <!-- handsontable样式 -->  
69 - <link rel="stylesheet"  
70 - href="/assets/bower_components/handsontable/dist/handsontable.full.css" />  
71 - <!-- sweetalert样式 -->  
72 - <link rel="stylesheet"  
73 - href="/assets/bower_components/sweetalert/dist/sweetalert.css" />  
74 - <!-- schedule计划调度AngularJS模块主css -->  
75 - <link rel="stylesheet" href="/pages/scheduleApp/module/common/main.css"  
76 - type="text/css" />  
77 -  
78 - <!-- CSS动画 -->  
79 - <link  
80 - href="/metronic_v4.5.4/plugins/tipso/css/animate.css"  
81 - rel="stylesheet" type="text/css" />  
82 -  
83 - <!-- 提示工具样式 -->  
84 - <link  
85 - href="/metronic_v4.5.4/plugins/tipso/css/tipso.css"  
86 - rel="stylesheet" type="text/css" />  
87 -  
88 - <style type="text/css">  
89 - .searchForm {  
90 -  
91 - }  
92 -  
93 - .searchForm .form-group .control-label {  
94 - padding-right: 0px;  
95 - text-align: right;  
96 - margin-top: 7px;  
97 - }  
98 -  
99 - .searchForm .form-group>div {  
100 - padding-left: 10px;  
101 - padding-right: 0px;  
102 - }  
103 -  
104 - .searchForm .row>div {  
105 - padding-left: 0px;  
106 - padding-right: 0px;  
107 - padding: 5px 0 5px 0;  
108 - width: 270px;  
109 - display: inline-block;  
110 - }  
111 -  
112 - .searchForm .form-actions {  
113 -  
114 - }  
115 -  
116 - tr.row-active td {  
117 - border-bottom: 1px solid blue !important;  
118 - color: blue;  
119 - }  
120 -  
121 - .ms-container .ms-selectable li.ms-elem-selectable,.ms-container .ms-selection li.ms-elem-selection  
122 - {  
123 - font-size: 14px;  
124 - }  
125 -  
126 - .ms-container .ms-selectable li.ms-elem-selectable,.ms-container .ms-selection li.ms-elem-selection  
127 - {  
128 - padding: 6px 26px;  
129 - }  
130 -  
131 - .ms-container .ms-list {  
132 - height: 306px;  
133 - }  
134 -  
135 - .ms-container .ms-selectable,.ms-container .ms-selection {  
136 - width: 47%;  
137 - }  
138 -  
139 - .ms-container {  
140 - width: 470px;  
141 - margin: auto;  
142 - }  
143 -  
144 - .multi-custom-header-left {  
145 - text-align: center;  
146 - padding: 7px;  
147 - color: #3B3F51;  
148 - }  
149 -  
150 - .multi-custom-header-right {  
151 - text-align: center;  
152 - padding: 7px;  
153 - font-weight: bold;  
154 - color: #36C6D3;  
155 - }  
156 -  
157 - .mt-element-list .list-simple.mt-list-container ul>.mt-list-item>.list-item-content  
158 - {  
159 - padding: 0 55px 0 0px;  
160 - }  
161 -  
162 - .mt-element-list .list-simple.mt-list-container ul>.mt-list-item {  
163 - padding: 3.3px 0;  
164 - }  
165 -  
166 - #route-container {  
167 - display: none;  
168 - }  
169 -  
170 - .page-content.active {  
171 - display: block !important;  
172 - }  
173 -  
174 - .page-header.navbar .page-logo .logo-default {  
175 - margin: 0;  
176 - }  
177 -  
178 - .page-header.navbar .top-menu .navbar-nav>li.dropdown.open .dropdown-toggle  
179 - {  
180 - background-color: #284a99;  
181 - }  
182 -  
183 - .page-header.navbar .page-logo {  
184 - padding-right: 10px;  
185 - }  
186 -  
187 - .page-logo .logo-default.logo-default-text {  
188 - font-weight: 600;  
189 - color: white !important;  
190 - margin-top: 19px !important;  
191 - font-size: 24px;  
192 - text-decoration: none;  
193 - }  
194 -  
195 - .page-logo .logo-default.logo-default-text:HOVER {  
196 - color: #dedede !important;  
197 - }  
198 -  
199 - body,.page-content-wrapper,#pjax-container{  
200 - height: 100%;  
201 - }  
202 - html{  
203 - height: 90%;  
204 - }  
205 - .page-container{  
206 - height: 100%;  
207 - }  
208 - </style>  
209 -  
210 - <!-- ocLazyLoading载入文件的位置 -->  
211 - <link id="ng_load_plugins_before" /> 4 +<meta name="renderer" content="webkit" />
  5 +<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  6 +<meta charset="UTF-8">
  7 +<title>调度系统</title>
  8 +
  9 +<meta http-equiv="Pragma" content="no-cache">
  10 +<meta http-equiv="Cache-control" content="no-cache">
  11 +<meta http-equiv="Cache" content="no-cache">
  12 +
  13 +<!-- Font Awesome 图标字体 -->
  14 +<link
  15 + href="/metronic_v4.5.4/plugins/font-awesome/css/font-awesome.min.css"
  16 + rel="stylesheet" type="text/css" />
  17 +<!-- Bootstrap style -->
  18 +<link href="/metronic_v4.5.4/plugins/bootstrap/css/bootstrap.min.css"
  19 + rel="stylesheet" type="text/css" />
  20 +<!-- jsTree 数插件 -->
  21 +<link
  22 + href="/metronic_v4.5.4/plugins/jstree/dist/themes/default/style.min.css"
  23 + rel="stylesheet" type="text/css" />
  24 +<!-- MULTI-select 多选下拉框美化 -->
  25 +<link
  26 + href="/metronic_v4.5.4/plugins/jquery-multi-select/css/multi-select.css"
  27 + rel="stylesheet" type="text/css" />
  28 +
  29 +<!-- editable -->
  30 +<link
  31 + href="/metronic_v4.5.4/plugins/bootstrap-editable/bootstrap-editable/css/bootstrap-editable.css"
  32 + rel="stylesheet" type="text/css" />
  33 +<!-- METRONIC style -->
  34 +<link href="/metronic_v4.5.4/layout4/css/themes/light.min.css"
  35 + rel="stylesheet" type="text/css" id="style_color" />
  36 +<link href="/metronic_v4.5.4/css/components.css" rel="stylesheet"
  37 + type="text/css" />
  38 +<link href="/metronic_v4.5.4/css/plugins.css" rel="stylesheet"
  39 + type="text/css" />
  40 +<link href="/metronic_v4.5.4/layout4/css/layout.min.css"
  41 + rel="stylesheet" type="text/css" />
  42 +<link href="/metronic_v4.5.4/layout4/css/custom.min.css"
  43 + rel="stylesheet" type="text/css" />
  44 +<!-- select2 下拉框插件 -->
  45 +<link href="/metronic_v4.5.4/plugins/select2/css/select2.min.css"
  46 + rel="stylesheet" type="text/css" />
  47 +<link
  48 + href="/metronic_v4.5.4/plugins/select2/css/select2-bootstrap.min.css"
  49 + rel="stylesheet" type="text/css" />
  50 +<!-- layer 弹层 插件 -->
  51 +<link href="/assets/plugins/layer-v2.4/layer/skin/layer.css"
  52 + rel="stylesheet" type="text/css" />
  53 +<!-- fileinput 上传 插件 -->
  54 +<link href="/assets/plugins/fileinput/css/fileinput.min.css"
  55 + rel="stylesheet" type="text/css" />
  56 +<!-- iCheck 单选框和复选框 -->
  57 +<link href="/metronic_v4.5.4/plugins/icheck/skins/all.css"
  58 + rel="stylesheet" type="text/css" />
  59 +<!-- 日期控件 -->
  60 +<link
  61 + href="/metronic_v4.5.4/plugins/bootstrap-datetimepicker-2/css/bootstrap-datetimepicker.min.css"
  62 + rel="stylesheet" type="text/css" />
  63 +<!-- table 表格控件 -->
  64 +<link rel="stylesheet"
  65 + href="http://api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.css"
  66 + type="text/css" />
  67 +<link href="/metronic_v4.5.4/plugins/bootstrap-tagsinput/bootstrap-tagsinput.css" rel="stylesheet" type="text/css"/>
  68 +<!-- handsontable样式 -->
  69 +<link rel="stylesheet"
  70 + href="/assets/bower_components/handsontable/dist/handsontable.full.css" />
  71 +<!-- sweetalert样式 -->
  72 +<link rel="stylesheet"
  73 + href="/assets/bower_components/sweetalert/dist/sweetalert.css" />
  74 +<!-- schedule计划调度AngularJS模块主css -->
  75 +<link rel="stylesheet" href="/pages/scheduleApp/module/common/main.css"
  76 + type="text/css" />
  77 + <link rel="stylesheet" href="/real_control_v2/assets/plugins/perfect-scrollbar/perfect-scrollbar.css" merge="plugins"/>
  78 +
  79 +<!-- CSS动画 -->
  80 +<link
  81 + href="/metronic_v4.5.4/plugins/tipso/css/animate.css"
  82 + rel="stylesheet" type="text/css" />
  83 +
  84 +<!-- 提示工具样式 -->
  85 +<link
  86 + href="/metronic_v4.5.4/plugins/tipso/css/tipso.css"
  87 + rel="stylesheet" type="text/css" />
  88 +
  89 +<style type="text/css">
  90 +.searchForm {
  91 +
  92 +}
  93 +
  94 +.searchForm .form-group .control-label {
  95 + padding-right: 0px;
  96 + text-align: right;
  97 + margin-top: 7px;
  98 +}
  99 +
  100 +.searchForm .form-group>div {
  101 + padding-left: 10px;
  102 + padding-right: 0px;
  103 +}
  104 +
  105 +.searchForm .row>div {
  106 + padding-left: 0px;
  107 + padding-right: 0px;
  108 + padding: 5px 0 5px 0;
  109 + width: 270px;
  110 + display: inline-block;
  111 +}
  112 +
  113 +.searchForm .form-actions {
  114 +
  115 +}
  116 +
  117 +tr.row-active td {
  118 + border-bottom: 1px solid blue !important;
  119 + color: blue;
  120 +}
  121 +
  122 +.ms-container .ms-selectable li.ms-elem-selectable,.ms-container .ms-selection li.ms-elem-selection
  123 + {
  124 + font-size: 14px;
  125 +}
  126 +
  127 +.ms-container .ms-selectable li.ms-elem-selectable,.ms-container .ms-selection li.ms-elem-selection
  128 + {
  129 + padding: 6px 26px;
  130 +}
  131 +
  132 +.ms-container .ms-list {
  133 + height: 306px;
  134 +}
  135 +
  136 +.ms-container .ms-selectable,.ms-container .ms-selection {
  137 + width: 47%;
  138 +}
  139 +
  140 +.ms-container {
  141 + width: 470px;
  142 + margin: auto;
  143 +}
  144 +
  145 +.multi-custom-header-left {
  146 + text-align: center;
  147 + padding: 7px;
  148 + color: #3B3F51;
  149 +}
  150 +
  151 +.multi-custom-header-right {
  152 + text-align: center;
  153 + padding: 7px;
  154 + font-weight: bold;
  155 + color: #36C6D3;
  156 +}
  157 +
  158 +.mt-element-list .list-simple.mt-list-container ul>.mt-list-item>.list-item-content
  159 + {
  160 + padding: 0 55px 0 0px;
  161 +}
  162 +
  163 +.mt-element-list .list-simple.mt-list-container ul>.mt-list-item {
  164 + padding: 3.3px 0;
  165 +}
  166 +
  167 +#route-container {
  168 + display: none;
  169 +}
  170 +
  171 +.page-content.active {
  172 + display: block !important;
  173 +}
  174 +
  175 +.page-header.navbar .page-logo .logo-default {
  176 + margin: 0;
  177 +}
  178 +
  179 +.page-header.navbar .top-menu .navbar-nav>li.dropdown.open .dropdown-toggle
  180 + {
  181 + background-color: #284a99;
  182 +}
  183 +
  184 +.page-header.navbar .page-logo {
  185 + padding-right: 10px;
  186 +}
  187 +
  188 +.page-logo .logo-default.logo-default-text {
  189 + font-weight: 600;
  190 + color: white !important;
  191 + margin-top: 19px !important;
  192 + font-size: 24px;
  193 + text-decoration: none;
  194 +}
  195 +
  196 +.page-logo .logo-default.logo-default-text:HOVER {
  197 + color: #dedede !important;
  198 +}
  199 +
  200 + body,.page-content-wrapper,#pjax-container{
  201 + height: 100%;
  202 + }
  203 + html{
  204 + height: 90%;
  205 + }
  206 + .page-container{
  207 + height: 100%;
  208 + }
  209 +</style>
  210 +
  211 +<!-- ocLazyLoading载入文件的位置 -->
  212 +<link id="ng_load_plugins_before" />
212 213
213 </head> 214 </head>
214 <body 215 <body
215 - class="page-container-bg-solid page-header-fixed page-sidebar-closed-hide-logo page-sidebar-fixed">  
216 -<div class="page-header navbar navbar-fixed-top"  
217 - style="background: linear-gradient(to bottom, #124e78, #125688);">  
218 - <div class="page-header-inner ">  
219 - <!-- LOGO -->  
220 - <div class="page-logo">  
221 - <a href="index.html" class="logo-default logo-default-text">  
222 - 闵行公交调度系统 </a>  
223 - <div class="menu-toggler sidebar-toggler"></div>  
224 - </div>  
225 - <!-- END LOGO -->  
226 - <a href="javascript:;" class="menu-toggler responsive-toggler"  
227 - data-toggle="collapse" data-target=".navbar-collapse"> </a>  
228 - <div class="page-top">  
229 - <div class="top-menu">  
230 - <ul class="nav navbar-nav pull-right">  
231 - <!-- 信息通知区 -->  
232 - <li 216 + class="page-container-bg-solid page-header-fixed page-sidebar-closed-hide-logo page-sidebar-fixed">
  217 + <div class="page-header navbar navbar-fixed-top"
  218 + style="background: linear-gradient(to bottom, #124e78, #125688);">
  219 + <div class="page-header-inner ">
  220 + <!-- LOGO -->
  221 + <div class="page-logo">
  222 + <a href="index.html" class="logo-default logo-default-text">
  223 + 闵行公交调度系统 </a>
  224 + <div class="menu-toggler sidebar-toggler"></div>
  225 + </div>
  226 + <!-- END LOGO -->
  227 + <a href="javascript:;" class="menu-toggler responsive-toggler"
  228 + data-toggle="collapse" data-target=".navbar-collapse"> </a>
  229 + <div class="page-top">
  230 + <div class="top-menu">
  231 + <ul class="nav navbar-nav pull-right">
  232 + <!-- 信息通知区 -->
  233 + <li
233 class="dropdown dropdown-extended dropdown-notification dropdown-dark" 234 class="dropdown dropdown-extended dropdown-notification dropdown-dark"
234 id="header_notification_bar"><a href="javascript:;" 235 id="header_notification_bar"><a href="javascript:;"
235 - class="dropdown-toggle" data-toggle="dropdown"  
236 - data-hover="dropdown" data-close-others="true"> <i  
237 - class="fa fa-bell"></i> <span class="badge badge-success"> 236 + class="dropdown-toggle" data-toggle="dropdown"
  237 + data-hover="dropdown" data-close-others="true"> <i
  238 + class="fa fa-bell"></i> <span class="badge badge-success">
238 0 </span> 239 0 </span>
239 - </a>  
240 - <ul class="dropdown-menu" style="max-width: 345px; width: 345px;">  
241 - <li class="external">  
242 - <h3>  
243 - 今日 <span class="bold">0 条</span> 通知  
244 - </h3> <a href="javascript:;">查看全部</a>  
245 - </li>  
246 - <li>  
247 - <ul class="dropdown-menu-list scroller" style="height: 250px;"  
248 - data-handle-color="#637283">  
249 - </ul>  
250 - </li>  
251 - </ul></li>  
252 - <li class="dropdown dropdown-user dropdown-dark"><a 240 + </a>
  241 + <ul class="dropdown-menu" style="max-width: 345px; width: 345px;">
  242 + <li class="external">
  243 + <h3>
  244 + 今日 <span class="bold">0 条</span> 通知
  245 + </h3> <a href="javascript:;">查看全部</a>
  246 + </li>
  247 + <li>
  248 + <ul class="dropdown-menu-list scroller" style="height: 250px;"
  249 + data-handle-color="#637283">
  250 + </ul>
  251 + </li>
  252 + </ul></li>
  253 + <li class="dropdown dropdown-user dropdown-dark"><a
253 href="javascript:;" class="dropdown-toggle" 254 href="javascript:;" class="dropdown-toggle"
254 data-toggle="dropdown" data-hover="dropdown" 255 data-toggle="dropdown" data-hover="dropdown"
255 data-close-others="true"> <span id="indexTopUName" 256 data-close-others="true"> <span id="indexTopUName"
256 - class="username username-hide-on-mobile"  
257 - style="vertical-align: middle;"> <i class="fa fa-user"></i></span>  
258 - </a>  
259 - <ul class="dropdown-menu dropdown-menu-default">  
260 - <li><a href="javascript:;"> <i class="fa fa-user"></i>  
261 - 我的信息  
262 - </a></li>  
263 - <li><a href="javascript:;" id="changePWD"> <i  
264 - class="fa fa-unlock-alt"></i> 修改密码  
265 - </a></li>  
266 - <li class="divider"></li>  
267 - <li><a href="javascript:;"> <i class="fa fa-lock"></i>  
268 - 锁屏  
269 - </a></li>  
270 - <li><a href="/logout"> <i class="fa fa-key"></i> 注销登陆  
271 - </a></li>  
272 - </ul></li>  
273 - </ul> 257 + class="username username-hide-on-mobile"
  258 + style="vertical-align: middle;"> <i class="fa fa-user"></i></span>
  259 + </a>
  260 + <ul class="dropdown-menu dropdown-menu-default">
  261 + <li><a href="javascript:;"> <i class="fa fa-user"></i>
  262 + 我的信息
  263 + </a></li>
  264 + <li><a href="javascript:;" id="changePWD"> <i
  265 + class="fa fa-unlock-alt"></i> 修改密码
  266 + </a></li>
  267 + <li class="divider"></li>
  268 + <li><a href="javascript:;"> <i class="fa fa-lock"></i>
  269 + 锁屏
  270 + </a></li>
  271 + <li><a href="/logout"> <i class="fa fa-key"></i> 注销登陆
  272 + </a></li>
  273 + </ul></li>
  274 + </ul>
  275 + </div>
274 </div> 276 </div>
275 </div> 277 </div>
276 </div> 278 </div>
277 -</div>  
278 -<div class="page-container">  
279 - <div class="page-sidebar-wrapper">  
280 - <div class="page-sidebar navbar-collapse collapse">  
281 - <ul class="page-sidebar-menu page-sidebar-menu-fixed"  
282 - data-keep-expanded="false" data-auto-scroll="true"  
283 - data-slide-speed="200" id="leftMenuSidebar">  
284 - </ul> 279 + <div class="page-container">
  280 + <div class="page-sidebar-wrapper">
  281 + <div class="page-sidebar navbar-collapse collapse">
  282 + <ul class="page-sidebar-menu page-sidebar-menu-fixed"
  283 + data-keep-expanded="false" data-auto-scroll="true"
  284 + data-slide-speed="200" id="leftMenuSidebar">
  285 + </ul>
  286 + </div>
285 </div> 287 </div>
286 - </div>  
287 - <div class="page-content-wrapper">  
288 - <div id="pjax-container" class="page-content"></div>  
289 -  
290 - <div id="route-container">  
291 - <div ng-app="ScheduleApp">  
292 - <div ng-controller="ScheduleAppController">  
293 -  
294 - <!-- loading widget -->  
295 - <div id="loadingWidget" class="flyover mask" loading-widget>  
296 - <div class="alert alert-info">  
297 - <strong>载入中......</strong> 288 + <div class="page-content-wrapper">
  289 + <div id="pjax-container" class="page-content"></div>
  290 +
  291 + <div id="route-container">
  292 + <div ng-app="ScheduleApp">
  293 + <div ng-controller="ScheduleAppController">
  294 +
  295 + <!-- loading widget -->
  296 + <div id="loadingWidget" class="flyover mask" loading-widget>
  297 + <div class="alert alert-info">
  298 + <strong>载入中......</strong>
  299 + </div>
298 </div> 300 </div>
299 - </div>  
300 301
301 - <div ui-view class="uv"></div> 302 + <div ui-view class="uv"></div>
  303 + </div>
302 </div> 304 </div>
303 </div> 305 </div>
304 </div> 306 </div>
305 </div> 307 </div>
306 -</div>  
307 -  
308 -<script id="menu_list_temp" type="text/html">  
309 - {{each list as group i}}  
310 - <li class="heading">  
311 - <h3 class="uppercase">{{group.name}}</h3>  
312 - </li>  
313 - {{each group.children as dir j}}  
314 - <li class="nav-item">  
315 - <a href="javascript:;" class="nav-link nav-toggle ">  
316 - <i class="{{dir.icon}}"></i>  
317 - <span class="title">{{dir.name}}</span>  
318 - <span class="arrow"></span>  
319 - </a>  
320 - <ul class="sub-menu">  
321 - {{each dir.children as module s}}  
322 - <li class="nav-item ">  
323 - {{if module.container=="pjax-container"}}  
324 - <a href="/pages/{{module.path}}" class="nav-link " data-pjax>  
325 - <span class="title">{{module.name}}</span>  
326 - </a>  
327 - {{else}}  
328 - <a href="{{module.path}}" class="nav-link " data-angularjs>  
329 - <span class="title">{{module.name}}</span>  
330 - </a>  
331 - {{/if}}  
332 - </li>  
333 - {{/each}}  
334 - </ul>  
335 - </li>  
336 - {{/each}}  
337 - {{/each}} 308 +
  309 + <script id="menu_list_temp" type="text/html">
  310 + {{each list as group i}}
  311 + <li class="heading">
  312 + <h3 class="uppercase">{{group.name}}</h3>
  313 + </li>
  314 + {{each group.children as dir j}}
  315 + <li class="nav-item">
  316 + <a href="javascript:;" class="nav-link nav-toggle ">
  317 + <i class="{{dir.icon}}"></i>
  318 + <span class="title">{{dir.name}}</span>
  319 + <span class="arrow"></span>
  320 + </a>
  321 + <ul class="sub-menu">
  322 + {{each dir.children as module s}}
  323 + <li class="nav-item ">
  324 + {{if module.container=="pjax-container"}}
  325 + <a href="/pages/{{module.path}}" class="nav-link " data-pjax>
  326 + <span class="title">{{module.name}}</span>
  327 + </a>
  328 + {{else}}
  329 + <a href="{{module.path}}" class="nav-link " data-angularjs>
  330 + <span class="title">{{module.name}}</span>
  331 + </a>
  332 + {{/if}}
  333 + </li>
  334 + {{/each}}
  335 + </ul>
  336 + </li>
  337 + {{/each}}
  338 + {{/each}}
338 339
339 </script> 340 </script>
340 -<script>  
341 - delete window.require;  
342 - delete window.exports;  
343 - delete window.module; 341 + <script>
  342 + delete window.require;
  343 + delete window.exports;
  344 + delete window.module;
344 </script> 345 </script>
345 -<!-- jQuery -->  
346 -<script src="/metronic_v4.5.4/plugins/jquery.min.js" data-exclude=1></script>  
347 -<!-- bootstrap -->  
348 -<script src="/metronic_v4.5.4/plugins/bootstrap/js/bootstrap.min.js" 346 + <!-- jQuery -->
  347 + <script src="/metronic_v4.5.4/plugins/jquery.min.js" data-exclude=1></script>
  348 + <!-- bootstrap -->
  349 + <script src="/metronic_v4.5.4/plugins/bootstrap/js/bootstrap.min.js"
349 data-exclude=1></script> 350 data-exclude=1></script>
350 -<script src="/pages/forms/statement/js/jquery.autocompleter.js"></script>  
351 -<script src="/pages/forms/statement/js/jquery.PrintArea.js"></script>  
352 -<!-- MTRONIC JS -->  
353 -<script src="/metronic_v4.5.4/scripts/app.min.js" data-exclude=1></script>  
354 -<script src="/metronic_v4.5.4/layout4/scripts/layout.min.js" 351 + <script src="/pages/forms/statement/js/jquery.autocompleter.js"></script>
  352 + <script src="/pages/forms/statement/js/jquery.PrintArea.js"></script>
  353 + <!-- MTRONIC JS -->
  354 + <script src="/metronic_v4.5.4/scripts/app.min.js" data-exclude=1></script>
  355 + <script src="/metronic_v4.5.4/layout4/scripts/layout.min.js"
355 data-exclude=1></script> 356 data-exclude=1></script>
356 -<!-- 虚拟滚动条 -->  
357 -<script 357 + <!-- 虚拟滚动条 -->
  358 + <script
358 src="/metronic_v4.5.4/plugins/jquery-slimscroll/jquery.slimscroll.min.js"></script> 359 src="/metronic_v4.5.4/plugins/jquery-slimscroll/jquery.slimscroll.min.js"></script>
359 -<!-- jsTree 树插件 -->  
360 -<script src="/metronic_v4.5.4/plugins/jstree/dist/jstree.min.js"></script>  
361 -<!-- bootstrap-hover-dropDown -->  
362 -<script 360 + <!-- jsTree 树插件 -->
  361 + <script src="/metronic_v4.5.4/plugins/jstree/dist/jstree.min.js"></script>
  362 + <!-- bootstrap-hover-dropDown -->
  363 + <script
363 src="/metronic_v4.5.4/plugins/bootstrap-hover-dropdown/bootstrap-hover-dropdown.min.js"></script> 364 src="/metronic_v4.5.4/plugins/bootstrap-hover-dropdown/bootstrap-hover-dropdown.min.js"></script>
364 -<!-- jquery.validate 表单验证 -->  
365 -<script 365 + <!-- jquery.validate 表单验证 -->
  366 + <script
366 src="/metronic_v4.5.4/plugins/jquery-validation/js/jquery.validate.min.js"></script> 367 src="/metronic_v4.5.4/plugins/jquery-validation/js/jquery.validate.min.js"></script>
367 -<script 368 + <script
368 src="/metronic_v4.5.4/plugins/jquery-validation/js/localization/messages_zh.js"></script> 369 src="/metronic_v4.5.4/plugins/jquery-validation/js/localization/messages_zh.js"></script>
369 -<!-- 向导式插件 -->  
370 -<script 370 + <!-- 向导式插件 -->
  371 + <script
371 src="/metronic_v4.5.4//plugins/bootstrap-wizard/jquery.bootstrap.wizard.min.js"></script> 372 src="/metronic_v4.5.4//plugins/bootstrap-wizard/jquery.bootstrap.wizard.min.js"></script>
372 -<!-- iCheck 单选框和复选框 -->  
373 -<script src="/metronic_v4.5.4/plugins/icheck/icheck.min.js"></script>  
374 -<!-- select2 下拉框 -->  
375 -<script src="/metronic_v4.5.4/plugins/select2/js/select2.full.min.js"></script>  
376 -<!-- MULTI SELECT 多选下拉框 -->  
377 -<script 373 + <!-- iCheck 单选框和复选框 -->
  374 + <script src="/metronic_v4.5.4/plugins/icheck/icheck.min.js"></script>
  375 + <!-- select2 下拉框 -->
  376 + <script src="/metronic_v4.5.4/plugins/select2/js/select2.full.min.js"></script>
  377 + <!-- MULTI SELECT 多选下拉框 -->
  378 + <script
378 src="/metronic_v4.5.4/plugins/jquery-multi-select/js/jquery.multi-select.js"></script> 379 src="/metronic_v4.5.4/plugins/jquery-multi-select/js/jquery.multi-select.js"></script>
379 -<!-- editable.js -->  
380 -<script 380 + <!-- editable.js -->
  381 + <script
381 src="/metronic_v4.5.4/plugins/bootstrap-editable/bootstrap-editable/js/bootstrap-editable.min.js"></script> 382 src="/metronic_v4.5.4/plugins/bootstrap-editable/bootstrap-editable/js/bootstrap-editable.min.js"></script>
382 -<!-- PJAX -->  
383 -<script src="/assets/plugins/jquery.pjax.js"></script>  
384 -<!-- layer 弹层 -->  
385 -<script src="/assets/plugins/layer-v2.4/layer/layer.js" data-exclude=1></script>  
386 -<!-- fileinput 上传 -->  
387 -<script src="/assets/plugins/fileinput/canvas-to-blob.min.js"></script>  
388 -<script src="/assets/plugins/fileinput/purify.min.js"></script>  
389 -<script src="/assets/plugins/fileinput/sortable.min.js"></script>  
390 -<script src="/assets/plugins/fileinput/fileinput.min.js"></script>  
391 -<script src="/assets/plugins/fileinput/fileinput_locale_zh.js"></script>  
392 -<!-- jquery.purl URL解析 -->  
393 -<script src="/assets/plugins/purl.js"></script>  
394 -<!-- jquery.serializejson JSON序列化插件 -->  
395 -<script src="/assets/plugins/jquery.serializejson.js"></script>  
396 -<!-- art-template 模版引擎 -->  
397 -<script src="/assets/plugins/template.js"></script>  
398 -<!-- jquery.pageinator 分页 -->  
399 -<script src="/assets/plugins/jqPaginator.min.js"></script>  
400 -<!-- moment.js 日期处理类库 -->  
401 -<script src="/assets/plugins/moment-with-locales.js"></script>  
402 -  
403 -<script src="/assets/plugins/pinyin.js"></script>  
404 -<!-- 日期控件 -->  
405 -<script 383 + <!-- PJAX -->
  384 + <script src="/assets/plugins/jquery.pjax.js"></script>
  385 + <!-- layer 弹层 -->
  386 + <script src="/assets/plugins/layer-v2.4/layer/layer.js" data-exclude=1></script>
  387 + <!-- fileinput 上传 -->
  388 + <script src="/assets/plugins/fileinput/canvas-to-blob.min.js"></script>
  389 + <script src="/assets/plugins/fileinput/purify.min.js"></script>
  390 + <script src="/assets/plugins/fileinput/sortable.min.js"></script>
  391 + <script src="/assets/plugins/fileinput/fileinput.min.js"></script>
  392 + <script src="/assets/plugins/fileinput/fileinput_locale_zh.js"></script>
  393 + <!-- jquery.purl URL解析 -->
  394 + <script src="/assets/plugins/purl.js"></script>
  395 + <!-- jquery.serializejson JSON序列化插件 -->
  396 + <script src="/assets/plugins/jquery.serializejson.js"></script>
  397 + <!-- art-template 模版引擎 -->
  398 + <script src="/assets/plugins/template.js"></script>
  399 + <!-- jquery.pageinator 分页 -->
  400 + <script src="/assets/plugins/jqPaginator.min.js"></script>
  401 + <!-- moment.js 日期处理类库 -->
  402 + <script src="/assets/plugins/moment-with-locales.js"></script>
  403 +
  404 + <script src="/assets/plugins/pinyin.js"></script>
  405 + <!-- 日期控件 -->
  406 + <script
406 src="/metronic_v4.5.4/plugins/bootstrap-datetimepicker-2/js/bootstrap-datetimepicker.min.js"></script> 407 src="/metronic_v4.5.4/plugins/bootstrap-datetimepicker-2/js/bootstrap-datetimepicker.min.js"></script>
407 -<!-- 表格控件 -->  
408 -<script src="/metronic_v4.5.4/plugins/bootstrap-tagsinput/bootstrap-tagsinput.min.js"></script>  
409 -<!-- 统计图控件 -->  
410 -<!--<script src="/assets/global/getEchart.js"></script>  
411 -<script src="/assets/global/echarts.js"></script> -->  
412 -<script src="/assets/js/common.js"></script>  
413 -<script src="/assets/js/dictionary.js"></script>  
414 -<!-- tipso JS -->  
415 -<script src="/metronic_v4.5.4/plugins/tipso/js/tipso.js"></script>  
416 -<script data-exclude=1>  
417 - //初始打开的片段地址  
418 - var initFragment = "^_^initFragment^_^";  
419 - //静态文件目录  
420 - var dir = '/pages/';  
421 - //片段容器  
422 - var pjaxContainer = '#pjax-container'  
423 - , angJsContainer = '#route-container';  
424 -  
425 - $(document).ajaxError(function (event, jqxhr, settings, thrownError) {  
426 - if(jqxhr.status == 403){  
427 - layer.closeAll();  
428 - layer.alert(jqxhr.message?jqxhr.message:'访问被拒绝', {icon: 2, title: '操作失败'});  
429 - }  
430 - });  
431 -  
432 - $(function () {  
433 - $.get('/user/currentUser', function (user) {  
434 - $('#indexTopUName').text(user.userName);  
435 - });  
436 -  
437 - //带 data-pjax 的链接由pjax加载  
438 - $(document).pjax('a[data-pjax]', pjaxContainer);  
439 -  
440 - //pjax左菜单点击事件  
441 - $(document).on('click', '#leftMenuSidebar a[data-pjax]', function () {  
442 - setTitle(this);  
443 -  
444 - $('#leftMenuSidebar li.nav-item.active').removeClass('active');  
445 - $(this).parent().addClass('active');  
446 - showPjax();  
447 - });  
448 -  
449 - //angularjs左菜单点击事件  
450 - $(document).on('click', '#leftMenuSidebar a[data-angularjs]', function () {  
451 - setTitle(this);  
452 -  
453 - $('#leftMenuSidebar li.nav-item.active').removeClass('active');  
454 - $(this).parent().addClass('active');  
455 - showAngJs();  
456 - });  
457 -  
458 - //加载左菜单栏  
459 - $get('/module/findByCurrentUser', null,  
460 - function (ms) {  
461 - var treeArray = createTreeData(ms);  
462 - treeArray.sort(function (a, b) {  
463 - return a.createDate - b.createDate;  
464 - });  
465 - var menuHtml = template('menu_list_temp', {list: treeArray});  
466 - $('#leftMenuSidebar').html(menuHtml);  
467 -  
468 - //----------- 检查URL ----------------  
469 - var h = location.hash;  
470 - if (initFragment && initFragment != '') {  
471 - showPjax();  
472 - //普通片段  
473 - loadPage(initFragment);  
474 - //选中菜单  
475 - $.each($('#leftMenuSidebar a'), function (i, item) {  
476 - if (urlPattern($(item).attr('href'), initFragment)) {  
477 - activeLeftMenu(item);  
478 - }  
479 - });  
480 - } else if (h) {  
481 - //angularjs片段  
482 - showAngJs();  
483 - //选中菜单  
484 - $.each($('#leftMenuSidebar a'), function (i, item) {  
485 - if ($(item).attr('href') == h) {  
486 - activeLeftMenu(item);  
487 - }  
488 - });  
489 - }  
490 - else {  
491 - //加载主页  
492 - loadPage('/pages/home.html');  
493 - }  
494 - });  
495 -  
496 - //修改密码  
497 - $('#changePWD').on('click', function () {  
498 - $.get('/pages/permission/user/changePWD.html', function (content) {  
499 - layer.open({  
500 - type: 1,  
501 - area: ['600px', '360px'],  
502 - content: content,  
503 - title: '修改密码',  
504 - shift: 5,  
505 - scrollbar: false,  
506 - success: function () {  
507 - }  
508 - });  
509 - });  
510 - });  
511 - });  
512 -  
513 - //modal关闭时销毁dom  
514 - $(document).on('hidden.bs.modal', '.modal', function () {  
515 - $(this).remove();  
516 - });  
517 -  
518 - //pjax加载完成事件  
519 - $(document).on('pjax:success', function () {  
520 - var dicts = $(pjaxContainer).find('.nt-dictionary');  
521 - dictionaryUtils.transformDom(dicts);  
522 - });  
523 -  
524 - function loadPage(url) {  
525 - $.pjax({url: url, container: pjaxContainer})  
526 - }  
527 -  
528 - function urlPattern(a, b) {  
529 - var r;  
530 - try {  
531 - r = a.substring(0, a.lastIndexOf('/')) == b.substring(0, b.lastIndexOf('/'));  
532 - } catch (e) {  
533 - r = false;  
534 - }  
535 - return r;  
536 - }  
537 -  
538 - function showPjax() {  
539 - $(angJsContainer).removeClass('page-content active').hide();  
540 - $(pjaxContainer).addClass('page-content active');  
541 - }  
542 -  
543 - function showAngJs() {  
544 - $(pjaxContainer).html('').removeClass('page-content active').hide();  
545 - $(angJsContainer).addClass('page-content active');  
546 - }  
547 -  
548 - function activeLeftMenu(item) {  
549 - $(item).parent('.nav-item').addClass('active').parent('.sub-menu').show().parent().addClass('open');  
550 - setTitle(item);  
551 - }  
552 -  
553 - function setTitle(menuItem){  
554 - document.title = $('span.title', menuItem).text();  
555 - } 408 + <!-- 表格控件 -->
  409 + <script src="/metronic_v4.5.4/plugins/bootstrap-tagsinput/bootstrap-tagsinput.min.js"></script>
  410 + <!-- 统计图控件 -->
  411 + <!--<script src="/assets/global/getEchart.js"></script>
  412 + <script src="/assets/global/echarts.js"></script> -->
  413 + <script src="/assets/js/common.js"></script>
  414 + <script src="/assets/js/dictionary.js"></script>
  415 + <!-- tipso JS -->
  416 + <script src="/metronic_v4.5.4/plugins/tipso/js/tipso.js"></script>
  417 + <script data-exclude=1>
  418 + //初始打开的片段地址
  419 + var initFragment = "^_^initFragment^_^";
  420 + //静态文件目录
  421 + var dir = '/pages/';
  422 + //片段容器
  423 + var pjaxContainer = '#pjax-container'
  424 + , angJsContainer = '#route-container';
  425 +
  426 + $(document).ajaxError(function (event, jqxhr, settings, thrownError) {
  427 + if(jqxhr.status == 403){
  428 + layer.closeAll();
  429 + layer.alert(jqxhr.message?jqxhr.message:'访问被拒绝', {icon: 2, title: '操作失败'});
  430 + }
  431 + });
  432 +
  433 + $(function () {
  434 + $.get('/user/currentUser', function (user) {
  435 + $('#indexTopUName').text(user.userName);
  436 + });
  437 +
  438 + //带 data-pjax 的链接由pjax加载
  439 + $(document).pjax('a[data-pjax]', pjaxContainer);
  440 +
  441 + //pjax左菜单点击事件
  442 + $(document).on('click', '#leftMenuSidebar a[data-pjax]', function () {
  443 + setTitle(this);
  444 +
  445 + $('#leftMenuSidebar li.nav-item.active').removeClass('active');
  446 + $(this).parent().addClass('active');
  447 + showPjax();
  448 + });
  449 +
  450 + //angularjs左菜单点击事件
  451 + $(document).on('click', '#leftMenuSidebar a[data-angularjs]', function () {
  452 + setTitle(this);
  453 +
  454 + $('#leftMenuSidebar li.nav-item.active').removeClass('active');
  455 + $(this).parent().addClass('active');
  456 + showAngJs();
  457 + });
  458 +
  459 + //加载左菜单栏
  460 + $get('/module/findByCurrentUser', null,
  461 + function (ms) {
  462 + var treeArray = createTreeData(ms);
  463 + treeArray.sort(function (a, b) {
  464 + return a.createDate - b.createDate;
  465 + });
  466 + var menuHtml = template('menu_list_temp', {list: treeArray});
  467 + $('#leftMenuSidebar').html(menuHtml);
  468 +
  469 + //----------- 检查URL ----------------
  470 + var h = location.hash;
  471 + if (initFragment && initFragment != '') {
  472 + showPjax();
  473 + //普通片段
  474 + loadPage(initFragment);
  475 + //选中菜单
  476 + $.each($('#leftMenuSidebar a'), function (i, item) {
  477 + if (urlPattern($(item).attr('href'), initFragment)) {
  478 + activeLeftMenu(item);
  479 + }
  480 + });
  481 + } else if (h) {
  482 + //angularjs片段
  483 + showAngJs();
  484 + //选中菜单
  485 + $.each($('#leftMenuSidebar a'), function (i, item) {
  486 + if ($(item).attr('href') == h) {
  487 + activeLeftMenu(item);
  488 + }
  489 + });
  490 + }
  491 + else {
  492 + //加载主页
  493 + loadPage('/pages/home.html');
  494 + }
  495 + });
  496 +
  497 + //修改密码
  498 + $('#changePWD').on('click', function () {
  499 + $.get('/pages/permission/user/changePWD.html', function (content) {
  500 + layer.open({
  501 + type: 1,
  502 + area: ['600px', '360px'],
  503 + content: content,
  504 + title: '修改密码',
  505 + shift: 5,
  506 + scrollbar: false,
  507 + success: function () {
  508 + }
  509 + });
  510 + });
  511 + });
  512 + });
  513 +
  514 + //modal关闭时销毁dom
  515 + $(document).on('hidden.bs.modal', '.modal', function () {
  516 + $(this).remove();
  517 + });
  518 +
  519 + //pjax加载完成事件
  520 + $(document).on('pjax:success', function () {
  521 + var dicts = $(pjaxContainer).find('.nt-dictionary');
  522 + dictionaryUtils.transformDom(dicts);
  523 + });
  524 +
  525 + function loadPage(url) {
  526 + $.pjax({url: url, container: pjaxContainer})
  527 + }
  528 +
  529 + function urlPattern(a, b) {
  530 + var r;
  531 + try {
  532 + r = a.substring(0, a.lastIndexOf('/')) == b.substring(0, b.lastIndexOf('/'));
  533 + } catch (e) {
  534 + r = false;
  535 + }
  536 + return r;
  537 + }
  538 +
  539 + function showPjax() {
  540 + $(angJsContainer).removeClass('page-content active').hide();
  541 + $(pjaxContainer).addClass('page-content active');
  542 + }
  543 +
  544 + function showAngJs() {
  545 + $(pjaxContainer).html('').removeClass('page-content active').hide();
  546 + $(angJsContainer).addClass('page-content active');
  547 + }
  548 +
  549 + function activeLeftMenu(item) {
  550 + $(item).parent('.nav-item').addClass('active').parent('.sub-menu').show().parent().addClass('open');
  551 + setTitle(item);
  552 + }
  553 +
  554 + function setTitle(menuItem){
  555 + document.title = $('span.title', menuItem).text();
  556 + }
556 557
557 </script> 558 </script>
558 -<!-- d3 -->  
559 -<script src="/assets/js/d3.min.js" data-exclude=1></script>  
560 -<!-- webSocket JS -->  
561 -<script src="/assets/js/sockjs.min.js"></script>  
562 -  
563 -<!-- TODO:angularJS相关库 -->  
564 -  
565 -<!-- angularJS相关库 -->  
566 -<!-- 这个是基于angularjs 1.4.10修改的版本,主要是修改了history控制部分,用于兼容route和pjax的同时操作history的冲突 -->  
567 -<script src="/assets/js/angular.js" data-autocephaly=1></script>  
568 -<script src="/assets/bower_components/angular-i18n/angular-locale_zh-cn.js" data-autocephaly=1></script>  
569 -<script 559 + <!-- d3 -->
  560 + <script src="/assets/js/d3.min.js" data-exclude=1></script>
  561 + <!-- webSocket JS -->
  562 + <script src="/assets/js/sockjs.min.js"></script>
  563 +
  564 + <!-- TODO:angularJS相关库 -->
  565 +
  566 + <!-- angularJS相关库 -->
  567 + <!-- 这个是基于angularjs 1.4.10修改的版本,主要是修改了history控制部分,用于兼容route和pjax的同时操作history的冲突 -->
  568 + <script src="/assets/js/angular.js" data-autocephaly=1></script>
  569 + <script src="/assets/bower_components/angular-i18n/angular-locale_zh-cn.js" data-autocephaly=1></script>
  570 + <script
570 src="/assets/bower_components/angular-resource/angular-resource.min.js" 571 src="/assets/bower_components/angular-resource/angular-resource.min.js"
571 data-exclude=1></script> 572 data-exclude=1></script>
572 -<script 573 + <script
573 src="/assets/bower_components/angular-sanitize/angular-sanitize.min.js" 574 src="/assets/bower_components/angular-sanitize/angular-sanitize.min.js"
574 data-exclude=1></script> 575 data-exclude=1></script>
575 -<script  
576 - src="/assets/bower_components/angular-animate/angular-animate.min.js"  
577 - data-exclude=1></script>  
578 -<script 576 + <script
  577 + src="/assets/bower_components/angular-animate/angular-animate.min.js"
  578 + data-exclude=1></script>
  579 + <script
579 src="/assets/bower_components/angular-touch/angular-touch.min.js" 580 src="/assets/bower_components/angular-touch/angular-touch.min.js"
580 data-exclude=1></script> 581 data-exclude=1></script>
581 -<script 582 + <script
582 src="/assets/bower_components/angular-ui-router/release/angular-ui-router.min.js" 583 src="/assets/bower_components/angular-ui-router/release/angular-ui-router.min.js"
583 data-exclude=1></script> 584 data-exclude=1></script>
584 -<script 585 + <script
585 src="/assets/bower_components/oclazyload/dist/ocLazyLoad.min.js" 586 src="/assets/bower_components/oclazyload/dist/ocLazyLoad.min.js"
586 data-exclude=1></script> 587 data-exclude=1></script>
587 -<script 588 + <script
588 src="/assets/bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js" 589 src="/assets/bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js"
589 data-exclude=1></script> 590 data-exclude=1></script>
590 -<!-- handsontable相关js -->  
591 -<script 591 + <!-- handsontable相关js -->
  592 + <script
592 src="/assets/bower_components/handsontable/dist/handsontable.full.js"></script> 593 src="/assets/bower_components/handsontable/dist/handsontable.full.js"></script>
593 -<script 594 + <script
594 src="/assets/bower_components/ngHandsontable/dist/ngHandsontable.js"></script> 595 src="/assets/bower_components/ngHandsontable/dist/ngHandsontable.js"></script>
595 -<!-- sweetalert相关js -->  
596 -<script src="/assets/bower_components/sweetalert/dist/sweetalert.min.js"></script>  
597 -<script src="/assets/bower_components/ng-sweet-alert/ng-sweet-alert.js"></script> 596 + <!-- sweetalert相关js -->
  597 + <script src="/assets/bower_components/sweetalert/dist/sweetalert.min.js"></script>
  598 + <script src="/assets/bower_components/ng-sweet-alert/ng-sweet-alert.js"></script>
598 599
599 -<!-- schedule计划调度AngularJS模块主JS -->  
600 -<script src="/pages/scheduleApp/module/common/main.js" data-exclude=1></script>  
601 -<script 600 + <!-- schedule计划调度AngularJS模块主JS -->
  601 + <script src="/pages/scheduleApp/module/common/main.js" data-exclude=1></script>
  602 + <script
602 src="/pages/scheduleApp/module/common/prj-common-globalservice.js" 603 src="/pages/scheduleApp/module/common/prj-common-globalservice.js"
603 data-exclude=1></script> 604 data-exclude=1></script>
604 -<script src="/pages/scheduleApp/module/common/prj-common-filter.js" 605 + <script src="/pages/scheduleApp/module/common/prj-common-filter.js"
605 data-exclude=1></script> 606 data-exclude=1></script>
606 -<script src="/pages/scheduleApp/module/common/prj-common-directive.js" 607 + <script src="/pages/scheduleApp/module/common/prj-common-directive.js"
607 data-exclude=1></script> 608 data-exclude=1></script>
608 -<script 609 + <script
609 src="/pages/scheduleApp/module/common/prj-common-ui-route-state.js" 610 src="/pages/scheduleApp/module/common/prj-common-ui-route-state.js"
610 data-exclude=1></script> 611 data-exclude=1></script>
611 612
612 -<!-- 地图相关 -->  
613 -<!-- 百度 -->  
614 -<script 613 + <!-- 地图相关 -->
  614 + <!-- 百度 -->
  615 + <script
615 src="http://api.map.baidu.com/api?v=2.0&ak=IGGrr4UjwIYzatoCRFKEL8sT" 616 src="http://api.map.baidu.com/api?v=2.0&ak=IGGrr4UjwIYzatoCRFKEL8sT"
616 data-exclude=1></script> 617 data-exclude=1></script>
617 -<script 618 + <script
618 src="http://api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.js" 619 src="http://api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.js"
619 data-exclude=1></script> 620 data-exclude=1></script>
620 -<script type="text/javascript" 621 + <script type="text/javascript"
621 src="http://api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.js" 622 src="http://api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.js"
622 data-exclude=1></script> 623 data-exclude=1></script>
623 -<script type="text/javascript" 624 + <script type="text/javascript"
624 src="http://api.map.baidu.com/library/RichMarker/1.2/src/RichMarker_min.js " 625 src="http://api.map.baidu.com/library/RichMarker/1.2/src/RichMarker_min.js "
625 data-exclude=1></script> 626 data-exclude=1></script>
626 -<script src="/assets/js/baidu/TextIconOverlay.js" data-exclude=1></script>  
627 -<script src="/assets/js/baidu//MarkerClusterer.js" data-exclude=1></script>  
628 -<!-- 高德 -->  
629 -<script 627 + <script src="/assets/js/baidu/TextIconOverlay.js" data-exclude=1></script>
  628 + <script src="/assets/js/baidu//MarkerClusterer.js" data-exclude=1></script>
  629 + <!-- 高德 -->
  630 + <script
630 src="http://webapi.amap.com/maps?v=1.3&key=16cb1c5043847e09ef9edafdd77befda" 631 src="http://webapi.amap.com/maps?v=1.3&key=16cb1c5043847e09ef9edafdd77befda"
631 data-exclude=1></script> 632 data-exclude=1></script>
  633 +
  634 + <script src="/real_control_v2/assets/plugins/perfect-scrollbar/perfect-scrollbar.jquery.js" merge="plugins"></script>
  635 +
632 </body> 636 </body>
633 </html> 637 </html>
634 \ No newline at end of file 638 \ No newline at end of file
src/main/resources/static/pages/electricity/list/list.html
@@ -190,7 +190,7 @@ @@ -190,7 +190,7 @@
190 190
191 </td> 191 </td>
192 <td> 192 <td>
193 - {{obj.jsy}} 193 + {{obj.jsy}}/{{obj.name}}
194 </td> 194 </td>
195 <td> 195 <td>
196 196
src/main/resources/static/pages/forms/mould/jobSummary.xls
No preview for this file type
src/main/resources/static/pages/forms/statement/jobSummary.html
@@ -121,69 +121,9 @@ @@ -121,69 +121,9 @@
121 <td colspan="3">6:31~8:30</td> 121 <td colspan="3">6:31~8:30</td>
122 <td colspan="3">16:01~18:00</td> 122 <td colspan="3">16:01~18:00</td>
123 </tr> 123 </tr>
124 - <tr>  
125 - <td colspan="2">班次</td>  
126 - <td><label id="jhbc"></label></td>  
127 - <td><label id="sjbc"></label></td>  
128 - <td colspan="3">&nbsp;</td>  
129 - <td colspan="3">&nbsp;</td>  
130 - </tr>  
131 - <tr>  
132 - <td colspan="2">公里</td>  
133 - <td><label id="jhgl"></label></td>  
134 - <td><label id="sjgl"></label></td>  
135 - <td colspan="3">&nbsp;</td>  
136 - <td colspan="3">&nbsp;</td>  
137 - </tr>  
138 - <tr>  
139 - <td colspan="2">临加</td>  
140 - <td>&nbsp;</td>  
141 - <td><label id="sjljgl"></label></td>  
142 - <td colspan="3">&nbsp;</td>  
143 - <td colspan="3">&nbsp;</td>  
144 - </tr>  
145 - <tr>  
146 - <td colspan="2">上行快误点</td>  
147 - <td>&nbsp;</td>  
148 - <td>&nbsp;</td>  
149 - <td colspan="3">&nbsp;</td>  
150 - <td colspan="3">&nbsp;</td>  
151 - </tr>  
152 - <tr>  
153 - <td colspan="2">上行慢误点</td>  
154 - <td>&nbsp;</td>  
155 - <td>&nbsp;</td>  
156 - <td colspan="3">&nbsp;</td>  
157 - <td colspan="3">&nbsp;</td>  
158 - </tr>  
159 - <tr>  
160 - <td colspan="2">下行快误点</td>  
161 - <td>&nbsp;</td>  
162 - <td>&nbsp;</td>  
163 - <td colspan="3">&nbsp;</td>  
164 - <td colspan="3">&nbsp;</td>  
165 - </tr>  
166 - <tr>  
167 - <td colspan="2">下行慢误点</td>  
168 - <td>&nbsp;</td>  
169 - <td>&nbsp;</td>  
170 - <td colspan="3">&nbsp;</td>  
171 - <td colspan="3">&nbsp;</td>  
172 - </tr>  
173 - <tr>  
174 - <td colspan="2">放班班次</td>  
175 - <td>&nbsp;</td>  
176 - <td>&nbsp;</td>  
177 - <td colspan="3">&nbsp;</td>  
178 - <td colspan="3">&nbsp;</td>  
179 - </tr>  
180 - <tr>  
181 - <td colspan="2">调头班次</td>  
182 - <td>&nbsp;</td>  
183 - <td>&nbsp;</td>  
184 - <td colspan="3">&nbsp;</td>  
185 - <td colspan="3">&nbsp;</td>  
186 - </tr> 124 + <tbody class="list_xxsj">
  125 +
  126 + </tbody>
187 </table> 127 </table>
188 </div> 128 </div>
189 </div> 129 </div>
@@ -327,25 +267,16 @@ @@ -327,25 +267,16 @@
327 }) 267 })
328 268
329 $get('/report/jobLjqk',{line:line,date:date},function(result){ 269 $get('/report/jobLjqk',{line:line,date:date},function(result){
330 - var list_lbqk = template('list_ljqk',{list:result}); 270 + var list_ljqk = template('list_ljqk',{list:result});
331 // 把渲染好的模版html文本追加到表格中 271 // 把渲染好的模版html文本追加到表格中
332 - $('#forms .list_ljqk').html(list_lbqk); 272 + $('#forms .list_ljqk').html(list_ljqk);
333 }) 273 })
334 274
335 $get('/report/jobHzxx',{line:line,date:date},function(result){ 275 $get('/report/jobHzxx',{line:line,date:date},function(result){
336 - $("#jhbc").html(result.jhbc);  
337 - $("#sjbc").html(result.sjbc)  
338 - $("#jhgl").html(result.jhgl);  
339 - $("#sjgl").html(result.sjgl)  
340 - $("#sjljgl").html(result.ljgl);  
341 -  
342 - //临加  
343 - $("#ljbcs").html(result.ljbc);  
344 - $("#ljgls").html(result.ljgl)  
345 -  
346 - //烂班  
347 - $("#lbbcs").html(result.lbbc);  
348 - $("#lbgls").html(result.lbgl) 276 + console
  277 + var list_xxsj=template('list_xxsj',result);
  278 + $('#forms .list_xxsj').html(list_xxsj);
  279 +
349 }) 280 })
350 281
351 } 282 }
@@ -413,3 +344,69 @@ @@ -413,3 +344,69 @@
413 </tr> 344 </tr>
414 {{/if}} 345 {{/if}}
415 </script> 346 </script>
  347 +
  348 +<script type="text/html" id="list_xxsj">
  349 + <tr>
  350 + <td colspan="2">班次</td>
  351 + <td>{{jhbc}}</td>
  352 + <td>{{sjbc}}</td>
  353 + <td colspan="3">{{sjbczgf}}</td>
  354 + <td colspan="3">{{sjbcwgf}}</td>
  355 + </tr>
  356 + <tr>
  357 + <td colspan="2">公里</td>
  358 + <td>{{jhgl}}</td>
  359 + <td>{{sjgl}}</td>
  360 + <td colspan="3">{{sjglzgf}}</td>
  361 + <td colspan="3">{{sjglwgf}}</td>
  362 + </tr>
  363 + <tr>
  364 + <td colspan="2">临加</td>
  365 + <td>&nbsp;</td>
  366 + <td>{{ljgl}}</td>
  367 + <td colspan="3">{{ljglzgf}}</td>
  368 + <td colspan="3">{{ljglwgf}}</td>
  369 + </tr>
  370 + <tr>
  371 + <td colspan="2">上行快误点</td>
  372 + <td>&nbsp;</td>
  373 + <td>{{sxk}}</td>
  374 + <td colspan="3">{{sxkzgf}}</td>
  375 + <td colspan="3">{{sxkwgf}}</td>
  376 + </tr>
  377 + <tr>
  378 + <td colspan="2">上行慢误点</td>
  379 + <td></td>
  380 + <td>{{sxm}}</td>
  381 + <td colspan="3">{{sxmzgf}}</td>
  382 + <td colspan="3">{{sxmwgf}}</td>
  383 + </tr>
  384 + <tr>
  385 + <td colspan="2">下行快误点</td>
  386 + <td>&nbsp;</td>
  387 + <td>{{xxk}}</td>
  388 + <td colspan="3">{{xxkzgf}}</td>
  389 + <td colspan="3">{{xxkwgf}}</td>
  390 + </tr>
  391 + <tr>
  392 + <td colspan="2">下行慢误点</td>
  393 + <td>&nbsp;</td>
  394 + <td>{{xxm}}</td>
  395 + <td colspan="3">{{xxmzgf}}</td>
  396 + <td colspan="3">{{xxmwgf}}</td>
  397 + </tr>
  398 + <tr>
  399 + <td colspan="2">放班班次</td>
  400 + <td>{{jhfbbc}}</td>
  401 + <td>{{sjfbbc}}</td>
  402 + <td colspan="3">{{sjfbbczgf}}</td>
  403 + <td colspan="3">{{sjfbbcwgf}}</td>
  404 + </tr>
  405 + <tr>
  406 + <td colspan="2">调头班次</td>
  407 + <td>{{jhdtbc}}</td>
  408 + <td>{{sjdtbc}}</td>
  409 + <td colspan="3">{{sjdtbczgf}}</td>
  410 + <td colspan="3">{{sjdtbcwgf}}</td>
  411 + </tr>
  412 +</script>
src/main/resources/static/pages/oil/list_ph.html
@@ -1049,8 +1049,7 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -1049,8 +1049,7 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
1049 } 1049 }
1050 function moveDown(){ 1050 function moveDown(){
1051 var row=mouseInfo["row"]; 1051 var row=mouseInfo["row"];
1052 - var col=mouseInfo["col"];  
1053 - 1052 + var col=mouseInfo["col"];
1054 var key=moveArray[parseInt(row)+1][col]; 1053 var key=moveArray[parseInt(row)+1][col];
1055 if(document.getElementById(key)!=undefined) 1054 if(document.getElementById(key)!=undefined)
1056 { 1055 {