Commit 06490394282534db7a3237240084b2adf9f1b5ef

Authored by 娄高锋
2 parents 95e66819 66e42e2a

Merge branch 'minhang' of 192.168.168.201:panzhaov5/bsth_control into minhang

Showing 56 changed files with 7784 additions and 6621 deletions
src/main/java/com/bsth/controller/report/ReportController.java
@@ -48,5 +48,25 @@ public class ReportController { @@ -48,5 +48,25 @@ public class ReportController {
48 @RequestParam String code) { 48 @RequestParam String code) {
49 return service.historyMessageCount(line, date, code); 49 return service.historyMessageCount(line, date, code);
50 } 50 }
  51 +
  52 + @RequestMapping(value = "/tbodyTime1", method = RequestMethod.GET)
  53 + public Map<String, Object> tbodyTime1(@RequestParam String line,@RequestParam String date) {
  54 + return service.tbodyTime1(line, date);
  55 + }
  56 +
  57 + @RequestMapping(value = "/tbodyTime2", method = RequestMethod.GET)
  58 + public Map<String, Object> tbodyTime2(@RequestParam String line,@RequestParam String date) {
  59 + return service.tbodyTime2(line, date);
  60 + }
  61 +
  62 + @RequestMapping(value = "/tbodyTime3", method = RequestMethod.GET)
  63 + public List<Map<String, Object>> tbodyTime3(@RequestParam String line,@RequestParam String date) {
  64 + return service.tbodyTime3(line, date);
  65 + }
  66 +
  67 + @RequestMapping(value = "/tbodyTime5", method = RequestMethod.GET)
  68 + public List<Map<String, Object>> tbodyTime5(@RequestParam String line,@RequestParam String date) {
  69 + return service.tbodyTime5(line, date);
  70 + }
51 71
52 } 72 }
src/main/java/com/bsth/controller/sys/UserController.java
@@ -73,9 +73,13 @@ public class UserController extends BaseController&lt;SysUser, Integer&gt; { @@ -73,9 +73,13 @@ public class UserController extends BaseController&lt;SysUser, Integer&gt; {
73 } 73 }
74 74
75 //解密RSA 75 //解密RSA
76 - userName = RSAUtils.decryptBase64(userName);  
77 - password = RSAUtils.decryptBase64(password);  
78 - 76 + try {
  77 + userName = RSAUtils.decryptBase64(userName);
  78 + password = RSAUtils.decryptBase64(password);
  79 + } catch (RuntimeException e) {
  80 + return put(rs, "msg", "decrypt RSA fail!可能页面已过期,尝试刷新页面。");
  81 + }
  82 +
79 SysUser user = sysUserService.findByUserName(userName); 83 SysUser user = sysUserService.findByUserName(userName);
80 if (null == user) 84 if (null == user)
81 return put(rs, "msg", "不存在的用户"); 85 return put(rs, "msg", "不存在的用户");
src/main/java/com/bsth/data/schedule/DayOfSchedule.java
@@ -472,7 +472,6 @@ public class DayOfSchedule implements CommandLineRunner { @@ -472,7 +472,6 @@ public class DayOfSchedule implements CommandLineRunner {
472 } 472 }
473 473
474 public void put(ScheduleRealInfo sch) { 474 public void put(ScheduleRealInfo sch) {
475 -  
476 schAttrCalculator 475 schAttrCalculator
477 .calcRealDate(sch) 476 .calcRealDate(sch)
478 .calcAllTimeByFcsj(sch); 477 .calcAllTimeByFcsj(sch);
src/main/java/com/bsth/data/schedule/SchAttrCalculator.java
1 package com.bsth.data.schedule; 1 package com.bsth.data.schedule;
2 2
3 -import java.text.ParseException;  
4 -import java.util.ArrayList;  
5 -import java.util.Collections;  
6 -import java.util.List;  
7 - 3 +import com.bsth.data.LineConfigData;
  4 +import com.bsth.entity.realcontrol.LineConfig;
  5 +import com.bsth.entity.realcontrol.ScheduleRealInfo;
8 import org.joda.time.format.DateTimeFormat; 6 import org.joda.time.format.DateTimeFormat;
9 import org.joda.time.format.DateTimeFormatter; 7 import org.joda.time.format.DateTimeFormatter;
10 import org.slf4j.Logger; 8 import org.slf4j.Logger;
@@ -12,9 +10,10 @@ import org.slf4j.LoggerFactory; @@ -12,9 +10,10 @@ import org.slf4j.LoggerFactory;
12 import org.springframework.beans.factory.annotation.Autowired; 10 import org.springframework.beans.factory.annotation.Autowired;
13 import org.springframework.stereotype.Component; 11 import org.springframework.stereotype.Component;
14 12
15 -import com.bsth.data.LineConfigData;  
16 -import com.bsth.entity.realcontrol.LineConfig;  
17 -import com.bsth.entity.realcontrol.ScheduleRealInfo; 13 +import java.text.ParseException;
  14 +import java.util.ArrayList;
  15 +import java.util.Collections;
  16 +import java.util.List;
18 17
19 /** 18 /**
20 * 19 *
@@ -49,11 +48,30 @@ public class SchAttrCalculator { @@ -49,11 +48,30 @@ public class SchAttrCalculator {
49 if (null == sch.getFcsjT()) 48 if (null == sch.getFcsjT())
50 calcFcsjTime(sch); 49 calcFcsjTime(sch);
51 50
52 - 51 + //計發時間
53 if(sch.getFcsj().compareTo(conf.getStartOpt()) < 0){ 52 if(sch.getFcsj().compareTo(conf.getStartOpt()) < 0){
54 sch.setFcsjAll(fmtyyyyMMddHHmm.parseMillis(sch.getScheduleDateStr()+sch.getFcsj()) + DAY_TIME); 53 sch.setFcsjAll(fmtyyyyMMddHHmm.parseMillis(sch.getScheduleDateStr()+sch.getFcsj()) + DAY_TIME);
55 } 54 }
56 - 55 +
  56 + //待發時間
  57 + if(sch.getDfsj().compareTo(conf.getStartOpt()) < 0){
  58 + sch.setDfsjAll(fmtyyyyMMddHHmm.parseMillis(sch.getScheduleDateStr()+sch.getDfsj()) + DAY_TIME);
  59 + }
  60 + else
  61 + sch.setDfsjAll(fmtyyyyMMddHHmm.parseMillis(sch.getScheduleDateStr()+sch.getDfsj()));
  62 +
  63 + //實發時間
  64 + if(sch.getFcsjActual() != null &&
  65 + sch.getFcsjActual().compareTo(conf.getStartOpt()) < 0){
  66 + sch.setFcsjActualAll(fmtyyyyMMddHHmm.parseMillis(sch.getScheduleDateStr()+sch.getFcsjActual()) + DAY_TIME);
  67 + }
  68 +
  69 + //實際終點時間
  70 + if(sch.getZdsjActual() != null &&
  71 + sch.getZdsjActual().compareTo(conf.getStartOpt()) < 0){
  72 + sch.setZdsjActualAll(fmtyyyyMMddHHmm.parseMillis(sch.getScheduleDateStr()+sch.getZdsjActual()) + DAY_TIME);
  73 + }
  74 +
57 sch.setRealExecDate(fmtyyyyMMdd.print(sch.getFcsjT())); 75 sch.setRealExecDate(fmtyyyyMMdd.print(sch.getFcsjT()));
58 } catch (Exception e) { 76 } catch (Exception e) {
59 logger.error("", e); 77 logger.error("", e);
src/main/java/com/bsth/service/oil/impl/YlbServiceImpl.java
@@ -373,7 +373,10 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -373,7 +373,10 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
373 if(t.getJcsx()==1){ 373 if(t.getJcsx()==1){
374 Double jcyl=t.getCzyl(); 374 Double jcyl=t.getCzyl();
375 zyl=jcyl+jzl-yl; 375 zyl=jcyl+jzl-yl;
376 - Double yh=Double.parseDouble(df.format(zyl*(t.getZlc()/zlc))); 376 + Double yh=0.0;
  377 + if(zlc>0&&t.getZlc()>0){
  378 + yh=Double.parseDouble(df.format(zyl*(t.getZlc()/zlc)));
  379 + }
377 t.setYh(yh); 380 t.setYh(yh);
378 nextJzyl=t.getJzl()+t.getCzyl()-yh; 381 nextJzyl=t.getJzl()+t.getCzyl()-yh;
379 t.setJzyl(Double.parseDouble(df.format(nextJzyl))); 382 t.setJzyl(Double.parseDouble(df.format(nextJzyl)));
src/main/java/com/bsth/service/realcontrol/impl/RealMapServiceImpl.java
@@ -40,7 +40,7 @@ public class RealMapServiceImpl implements RealMapService { @@ -40,7 +40,7 @@ public class RealMapServiceImpl implements RealMapService {
40 } 40 }
41 inStr = " (" + inStr.substring(1) + ")"; 41 inStr = " (" + inStr.substring(1) + ")";
42 42
43 - String sql = "select R.LINE_CODE,R.STATION_NAME,R.STATION_CODE,R.STATION_MARK,R.DIRECTIONS,R.DISTANCES,R.TO_TIME, R.VERSIONS,S.G_LONX,S.G_LATY,S.RADIUS,S.SHAPES_TYPE,ST_AsText(S.G_POLYGON_GRID) as G_POLYGON_GRID, R.STATION_ROUTE_CODE from bsth_c_stationroute r inner join bsth_c_station s on r.station=s.id where r.line_code in "+inStr+" and r.destroy=0"; 43 + String sql = "select r.LINE_CODE,r.STATION_NAME,r.STATION_CODE,r.STATION_MARK,r.DIRECTIONS,r.DISTANCES,r.TO_TIME, r.VERSIONS,s.G_LONX,s.G_LATY,s.RADIUS,s.SHAPES_TYPE,ST_AsText(s.G_POLYGON_GRID) as G_POLYGON_GRID, r.STATION_ROUTE_CODE from bsth_c_stationroute r inner join bsth_c_station s on r.station=s.id where r.line_code in "+inStr+" and r.destroy=0";
44 44
45 List<StationSpatialData> list = jdbcTemplate.query(sql,new BeanPropertyRowMapper(StationSpatialData.class)); 45 List<StationSpatialData> list = jdbcTemplate.query(sql,new BeanPropertyRowMapper(StationSpatialData.class));
46 rs.put("status", ResponseCode.SUCCESS); 46 rs.put("status", ResponseCode.SUCCESS);
@@ -59,7 +59,7 @@ public class RealMapServiceImpl implements RealMapService { @@ -59,7 +59,7 @@ public class RealMapServiceImpl implements RealMapService {
59 Map<String, Object> rs = new HashMap(); 59 Map<String, Object> rs = new HashMap();
60 60
61 try { 61 try {
62 - String sql = "select ID, AREA,PARK_CODE,PARK_NAME,ST_AsText(G_PARK_POINT) as G_PARK_POINT,G_CENTER_POINT,RADIUS,SHAPES_TYPE from bsth_c_car_park WHERE destroy=0"; 62 + String sql = "select ID, AREA,PARK_CODE,PARK_NAME,ST_AsText(G_PARK_POINT) as G_PARK_POINT,G_CENTER_POINT,RADIUS,SHAPES_TYPE from bsth_c_car_park WHERE destroy=0 and shapes_type='d'";
63 63
64 List<CarPark> list = jdbcTemplate.query(sql,new BeanPropertyRowMapper(CarPark.class)); 64 List<CarPark> list = jdbcTemplate.query(sql,new BeanPropertyRowMapper(CarPark.class));
65 rs.put("status", ResponseCode.SUCCESS); 65 rs.put("status", ResponseCode.SUCCESS);
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
@@ -1145,7 +1145,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -1145,7 +1145,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1145 || scheduleRealInfo.getBcType().equals("venting")){ 1145 || scheduleRealInfo.getBcType().equals("venting")){
1146 ksgl += tempJhlc; 1146 ksgl += tempJhlc;
1147 }else{ 1147 }else{
1148 - yygl += tempJhlc; 1148 + if(scheduleRealInfo.getStatus() != -1){
  1149 + yygl += tempJhlc;
  1150 + }
1149 } 1151 }
1150 }else{ 1152 }else{
1151 Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); 1153 Iterator<ChildTaskPlan> it = childTaskPlans.iterator();
@@ -1154,7 +1156,12 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf @@ -1154,7 +1156,12 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1154 if(childTaskPlan.getMileageType().equals("empty")){ 1156 if(childTaskPlan.getMileageType().equals("empty")){
1155 ksgl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); 1157 ksgl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage();
1156 }else{ 1158 }else{
1157 - yygl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage(); 1159 + if(childTaskPlan.isDestroy()){
  1160 + remMileage += tempJhlc;
  1161 + cjbc++;
  1162 + }else{
  1163 + yygl += childTaskPlan.getMileage()==null?0:childTaskPlan.getMileage();
  1164 + }
1158 } 1165 }
1159 } 1166 }
1160 } 1167 }
src/main/java/com/bsth/service/report/ReportService.java
@@ -18,4 +18,12 @@ public interface ReportService { @@ -18,4 +18,12 @@ public interface ReportService {
18 List<Map<String, String>> sreachZd(String line,int zdlx,String zd); 18 List<Map<String, String>> sreachZd(String line,int zdlx,String zd);
19 19
20 List<Object[]> historyMessageCount(String line, String date, String code); 20 List<Object[]> historyMessageCount(String line, String date, String code);
  21 +
  22 + Map<String, Object> tbodyTime1(String line ,String date);
  23 +
  24 + Map<String, Object> tbodyTime2(String line ,String date);
  25 +
  26 + List<Map<String, Object>> tbodyTime3(String line ,String date);
  27 + List<Map<String, Object>> tbodyTime5(String line ,String date);
  28 +
21 } 29 }
src/main/java/com/bsth/service/report/impl/ReportServiceImpl.java
@@ -3,6 +3,7 @@ import java.sql.Connection; @@ -3,6 +3,7 @@ import java.sql.Connection;
3 import java.sql.PreparedStatement; 3 import java.sql.PreparedStatement;
4 import java.sql.ResultSet; 4 import java.sql.ResultSet;
5 import java.sql.SQLException; 5 import java.sql.SQLException;
  6 +import java.text.DecimalFormat;
6 import java.text.ParseException; 7 import java.text.ParseException;
7 import java.text.SimpleDateFormat; 8 import java.text.SimpleDateFormat;
8 import java.util.ArrayList; 9 import java.util.ArrayList;
@@ -16,12 +17,15 @@ import org.slf4j.Logger; @@ -16,12 +17,15 @@ import org.slf4j.Logger;
16 import org.slf4j.LoggerFactory; 17 import org.slf4j.LoggerFactory;
17 import org.springframework.beans.factory.annotation.Autowired; 18 import org.springframework.beans.factory.annotation.Autowired;
18 import org.springframework.jdbc.core.JdbcTemplate; 19 import org.springframework.jdbc.core.JdbcTemplate;
  20 +import org.springframework.jdbc.core.RowMapper;
19 import org.springframework.stereotype.Service; 21 import org.springframework.stereotype.Service;
20 22
21 import com.bsth.data.BasicData; 23 import com.bsth.data.BasicData;
22 import com.bsth.entity.StationRoute; 24 import com.bsth.entity.StationRoute;
23 import com.bsth.entity.excep.ArrivalInfo; 25 import com.bsth.entity.excep.ArrivalInfo;
  26 +import com.bsth.entity.oil.Ylb;
24 import com.bsth.entity.realcontrol.ScheduleRealInfo; 27 import com.bsth.entity.realcontrol.ScheduleRealInfo;
  28 +import com.bsth.entity.schedule.SchedulePlanInfo;
25 import com.bsth.repository.StationRouteRepository; 29 import com.bsth.repository.StationRouteRepository;
26 import com.bsth.repository.realcontrol.ScheduleRealInfoRepository; 30 import com.bsth.repository.realcontrol.ScheduleRealInfoRepository;
27 import com.bsth.service.report.ReportService; 31 import com.bsth.service.report.ReportService;
@@ -252,5 +256,515 @@ public class ReportServiceImpl implements ReportService{ @@ -252,5 +256,515 @@ public class ReportServiceImpl implements ReportService{
252 List<Object[]> list = scheduleRealInfoRepository.historyMessageCount(line, date, code); 256 List<Object[]> list = scheduleRealInfoRepository.historyMessageCount(line, date, code);
253 return list; 257 return list;
254 } 258 }
  259 + @Override
  260 + public Map<String, Object> tbodyTime1(String line, String date) {
  261 + DecimalFormat df = new DecimalFormat("#0.00");
  262 + // TODO Auto-generated method stub
  263 + //查询配车
  264 + String sqlPc=" SELECT cl_zbh FROM bsth_c_s_sp_info "
  265 + +" where DATE_FORMAT(schedule_date,'%Y-%m-%d') ='"+date+"' "
  266 + + " and xl_bm='"+line+"' and bc_type='normal' "
  267 + + " group by cl_zbh ";
  268 + Map<String, Object> map=new HashMap<String,Object>();
  269 + List<Map<String, Object>> listPc= jdbcTemplate.query(sqlPc,
  270 + new RowMapper<Map<String, Object>>(){
  271 + @Override
  272 + public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
  273 + Map<String, Object> m=new HashMap<String,Object>();
  274 + m.put("zbh", rs.getString("cl_zbh"));
  275 + return m;
  276 + }
  277 + });
  278 + //配车
  279 + int pcs=listPc.size();
  280 +
  281 +
  282 + String sqlPlan="select jhlc, bc_type ,fcsj from bsth_c_s_sp_info "
  283 + + "where DATE_FORMAT(schedule_date,'%Y-%m-%d') ='"+date+"' and xl_bm='"+line+"'";
  284 +
  285 + //班次
  286 + int zgf_0 = 6*60+31,zgf_1 = 8*60+30,wgf_0 = 16*60+1,wgf_1 = 18*60;
  287 + int qcBc=0,qjBc=0,zqcBc=0,zqjBc=0,wqcBc=0,wqjBc=0;
  288 + double zlc = 0 , yylc = 0,kslc=0;
  289 + //查询班次
  290 + List<Map<String, Object>> listPlan= jdbcTemplate.query(sqlPlan,
  291 + new RowMapper<Map<String, Object>>(){
  292 + @Override
  293 + public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
  294 + Map<String, Object> m2=new HashMap<String,Object>();
  295 + m2.put("jhlc", rs.getDouble("jhlc"));
  296 + m2.put("bcType", rs.getString("bc_type"));
  297 + m2.put("fcsj", rs.getString("fcsj"));
  298 + return m2;
  299 + }
  300 + });
  301 +
  302 + for (int i = 0; i < listPlan.size(); i++) {
  303 + Map<String, Object> m=listPlan.get(i);
  304 + double jhlc=Double.parseDouble(m.get("jhlc").toString());
  305 + String bcType=m.get("bcType").toString();
  306 + String fcsjs[]=m.get("fcsj").toString().split(":");
  307 +
  308 + zlc +=jhlc;
  309 + if(bcType.equals("normal")){
  310 + qcBc ++;
  311 + if((Integer.parseInt(fcsjs[0])*60+Integer.parseInt(fcsjs[1])) > zgf_0
  312 + && (Integer.parseInt(fcsjs[0])*60+Integer.parseInt(fcsjs[1])) < zgf_1){
  313 + zqcBc++;
  314 + }else if((Integer.parseInt(fcsjs[0])*60+Integer.parseInt(fcsjs[1])) > wgf_0
  315 + && (Integer.parseInt(fcsjs[0])*60+Integer.parseInt(fcsjs[1])) < wgf_1){
  316 + wqcBc++;
  317 + }
  318 + yylc +=jhlc;
  319 + }else if(bcType.equals("region")){
  320 + qjBc++;
  321 + if((Integer.parseInt(fcsjs[0])*60+Integer.parseInt(fcsjs[1])) > zgf_0
  322 + && (Integer.parseInt(fcsjs[0])*60+Integer.parseInt(fcsjs[1])) < zgf_1){
  323 + zqjBc++;
  324 + }else if((Integer.parseInt(fcsjs[0])*60+Integer.parseInt(fcsjs[1])) > wgf_0
  325 + && (Integer.parseInt(fcsjs[0])*60+Integer.parseInt(fcsjs[1])) < wgf_1){
  326 + wqjBc++;
  327 + }
  328 +
  329 + yylc+=jhlc;
  330 + }else{
  331 + kslc+=jhlc;
  332 + }
  333 + }
  334 +
  335 + map.put("pcs", pcs);
  336 + map.put("qcbc", qcBc);
  337 + map.put("qjbc", qjBc);
  338 + map.put("zqcbc", zqcBc);
  339 + map.put("zqjbc", zqjBc);
  340 + map.put("wqcbc", wqcBc);
  341 + map.put("wqjbc", wqjBc);
  342 + map.put("zlc", df.format( zlc));
  343 + map.put("yylc", df.format(yylc));
  344 + map.put("kslc",df.format( kslc));
  345 + //查询里程
  346 + return map;
  347 + }
  348 + @Override
  349 + public Map<String, Object> tbodyTime2(String line, String date) {
  350 + DecimalFormat df = new DecimalFormat("#0.00");
  351 + // TODO Auto-generated method stub
  352 + //查询配车
  353 + String sqlPc=" SELECT sum(bcsj) as yysj ,sum(jhlc) as yygl FROM bsth_c_s_sp_info "
  354 + +" where DATE_FORMAT(schedule_date,'%Y-%m-%d') ='"+date+"' "
  355 + + " and xl_bm='"+line+"' and bc_type in ('normal' ,'region' )";
  356 + Map<String, Object> map=new HashMap<String,Object>();
  357 + List<Map<String, Object>> list= jdbcTemplate.query(sqlPc,
  358 + new RowMapper<Map<String, Object>>(){
  359 + @Override
  360 + public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
  361 + Map<String, Object> m=new HashMap<String,Object>();
  362 + m.put("yysj", rs.getInt("yysj"));
  363 + m.put("yygl", rs.getString("yygl")==null?"0":rs.getString("yygl"));
  364 + return m;
  365 + }
  366 + });
  367 + int yysj=0 ;
  368 + double yycs=0 ,yygl=0;
  369 + if(list.size()>0){
  370 + Map<String, Object> m=list.get(0);
  371 + yysj=Integer.parseInt((m.get("yysj").toString()));
  372 + yygl=Double.parseDouble(m.get("yygl").toString());
  373 + }
  374 + if(yysj>0){
  375 + yycs =yygl/(yysj*1.0/60);
  376 + }
  377 + int hh=yysj/60;
  378 + int mm=yysj%60;
  379 +
  380 + map.put("yysj", hh+":"+mm);
  381 + map.put("yycs", df.format(yycs)+"公里/小时");
  382 +// map.put(key, value)
  383 + return map;
  384 + }
255 385
  386 + public static void main(String[] args) {
  387 + System.out.println(609360/60);
  388 + System.out.println(609360%60);
  389 + }
  390 + @Override
  391 + public List<Map<String, Object>> tbodyTime3(String line, String date) {
  392 + // TODO Auto-generated method stub
  393 + List<Map<String, Object>> list=new ArrayList<Map<String,Object>>();
  394 + String sqlZd=" select qdz_name, count(cl_zbh) as cls , 'zqc' as lx from bsth_c_s_sp_info where "
  395 + + " DATE_FORMAT(schedule_date,'%Y-%m-%d') ='"+date+"' and xl_bm='"+line+"' and bc_type='normal' "
  396 + + " and fcsj>'06:31' and fcsj<'08:00' group by qdz_name union "
  397 + + " select qdz_name, count(cl_zbh) as cls , 'wqc' as lx from bsth_c_s_sp_info "
  398 + + " where DATE_FORMAT(schedule_date,'%Y-%m-%d') ='"+date+"' and xl_bm='"+line+"' "
  399 + + " and bc_type='normal' and fcsj>'16:01' and fcsj<'18:00' group by qdz_name union "
  400 + + " select qdz_name, count(cl_zbh) as cls , 'zqj' as lx from bsth_c_s_sp_info "
  401 + + " where DATE_FORMAT(schedule_date,'%Y-%m-%d') ='"+date+"' and xl_bm='"+line+"' "
  402 + + " and bc_type='region' and fcsj>'06:31' and fcsj<'08:00' group by qdz_name union "
  403 + + " select qdz_name, count(cl_zbh) as cls , 'wqj' as lx from bsth_c_s_sp_info "
  404 + + " where DATE_FORMAT(schedule_date,'%Y-%m-%d') ='"+date+"' and xl_bm='"+line+"' "
  405 + + " and bc_type='region' and fcsj>'16:01' and fcsj<'18:00'group by qdz_name";
  406 +
  407 + List<Map<String, Object>> lists= jdbcTemplate.query(sqlZd,
  408 + new RowMapper<Map<String, Object>>(){
  409 + @Override
  410 + public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
  411 + Map<String, Object> m=new HashMap<String,Object>();
  412 + m.put("zdm", rs.getString("qdz_name"));
  413 + m.put("cls", rs.getString("cls"));
  414 + m.put("lx", rs.getString("lx"));
  415 + return m;
  416 + }
  417 + });
  418 + int a=0;
  419 + int b=0;
  420 + int c=0;
  421 + int d=0;
  422 + for(int i=0;i<lists.size();i++){
  423 + boolean fage=true;
  424 + Map<String, Object> newMap= new HashMap<String, Object>();
  425 + list.add(newMap);
  426 + Map<String, Object> maps=lists.get(i);
  427 + if(maps.get("lx").equals("zqc")){
  428 + list.get(a).put("zqcZm", maps.get("zdm"));
  429 + list.get(a).put("zqcCls", maps.get("cls"));
  430 + a++;
  431 + fage=false;
  432 + }else if(maps.get("lx").equals("wqc")){
  433 + list.get(b).put("wqcZm", maps.get("zdm"));
  434 + list.get(b).put("wqcCls", maps.get("cls"));
  435 + b++;
  436 + fage=false;
  437 + }else if(maps.get("lx").equals("zqj")){
  438 + list.get(c).put("zqjZm", maps.get("zdm"));
  439 + list.get(c).put("zqjCls", maps.get("cls"));
  440 + c++;
  441 + fage=false;
  442 + }else if(maps.get("lx").equals("wqj")){
  443 + list.get(d).put("wqjZm", maps.get("zdm"));
  444 + list.get(d).put("wqjCls", maps.get("cls"));
  445 + d++;
  446 + fage=false;
  447 + }
  448 + if(fage){
  449 + break;
  450 + }
  451 + }
  452 + boolean status=true;
  453 + while (status) {
  454 + for (int i = 0; i < list.size(); i++) {
  455 + if(list.get(i).isEmpty()){
  456 + list.remove(i);
  457 + status=true;
  458 + }else{
  459 + status=false;
  460 + }
  461 + }
  462 +
  463 + }
  464 + return list;
  465 + }
  466 + @Override
  467 + public List<Map<String, Object>> tbodyTime5(String line, String date) {
  468 + // TODO Auto-generated method stub
  469 + String sql="select min(fcsj) as fcsj,'lx0' as lx from bsth_c_s_sp_info where "
  470 + + " DATE_FORMAT(schedule_date,'%Y-%m-%d') ='"+date+"' and xl_bm='"+line+"'"
  471 + + " and bc_type='out' and xl_dir=0 union "
  472 + + " select min(fcsj) as fcsj,'lx1' as lx from bsth_c_s_sp_info where "
  473 + + " DATE_FORMAT(schedule_date,'%Y-%m-%d') ='"+date+"' and xl_bm='"+line+"'"
  474 + + " and bc_type='out' and xl_dir=1";
  475 + List<Map<String, Object>> lists= jdbcTemplate.query(sql,
  476 + new RowMapper<Map<String, Object>>(){
  477 + @Override
  478 + public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
  479 + Map<String, Object> m=new HashMap<String,Object>();
  480 + m.put("lx", rs.getString("lx"));
  481 + m.put("fcsj", rs.getString("fcsj"));
  482 + return m;
  483 + }
  484 + });
  485 +
  486 + String sqlList="select * from bsth_c_s_sp_info where "
  487 + + "DATE_FORMAT(schedule_date,'%Y-%m-%d') ='"+date+"' and xl_bm='"+line+"'"
  488 + + " and bc_type='normal' order by fcsj";
  489 + List<SchedulePlanInfo> list= jdbcTemplate.query(sqlList,
  490 + new RowMapper<SchedulePlanInfo>(){
  491 + @Override
  492 + public SchedulePlanInfo mapRow(ResultSet rs, int rowNum) throws SQLException {
  493 + SchedulePlanInfo m=new SchedulePlanInfo();
  494 + m.setBcsj(rs.getInt("bcsj"));
  495 + m.setXlDir(rs.getString("xl_dir"));
  496 + m.setFcsj(rs.getString("fcsj"));
  497 + return m;
  498 + }
  499 + });
  500 + //上下行最早发车时间 (用于与夜班线 跨零点的班次进行比较)
  501 + String lx0="";
  502 + String lx1="";
  503 + for (int x = 0; x < lists.size(); x++) {
  504 + if(lists.get(x).get("lx").equals("lx0")){
  505 + lx0=lists.get(x).get("fcsj").toString();
  506 + }else{
  507 + lx1=lists.get(x).get("fcsj").toString();
  508 + }
  509 + }
  510 +
  511 + String[] lx0sj = lx0.split(":");
  512 + int sxFc=Integer.parseInt(lx0sj[0])*60+Integer.parseInt(lx0sj[1]);
  513 + String[] lx1sj = lx1.split(":");
  514 + int xxFc=Integer.parseInt(lx1sj[0])*60+Integer.parseInt(lx1sj[1]);
  515 + //班次
  516 + int sj_0 = 6*60+31,sj_1 = 8*60+30,sj_2 = 16*60+1,sj_3 = 18*60;
  517 +
  518 + //顺序 出场--早高峰---中午---晚高峰---进场
  519 + //实驶时间时间(分),0为上行,1为下行
  520 + int ccsj0=0,ccsj1=0,zgf0=0,zgf1=0,zw0=0,zw1=0,wgf0=0,wgf1=0,jcsj0=0,jcsj1=0;
  521 +
  522 + //记录上一个发车时间(方便记录间距)
  523 + int cfc0=0,cfc1=0,zfc0=0,zfc1=0,zwfc0=0,zwfc1=0,wfc0=0,wfc1=0,jcfc0Z=0,jcfc1Z=0,jcfc0W=0,jcfc1W=0;
  524 + //车距 (发车时间的间距) i--MIN a--MAX
  525 + int iC=999,aC=-1,iZg=999,aZg=-1,iZw=999,aZw=-1,iWg=999,aWg=-1,iJcZ=999,aJcZ=-1,iJcW=999,aJcW=-1;
  526 + int iC1=999,aC1=-1,iZg1=999,aZg1=-1,iZw1=999,aZw1=-1,iWg1=999,aWg1=-1,iJc1Z=999,aJc1Z=-1,iJc1W=999,aJc1W=-1;
  527 +// List<ScheduleRealInfo> list = scheduleRealInfoRepository.scheduleByDateAndLine(line, date);
  528 + for(int i=0;i<list.size();i++){
  529 + SchedulePlanInfo t=list.get(i);
  530 + String xlDir=t.getXlDir();
  531 + int bcsj=t.getBcsj();
  532 + String fcsj=t.getFcsj();
  533 + String[] fcsjs=fcsj.split(":");
  534 + int fcsjNum=Integer.parseInt(fcsjs[0])*60+Integer.parseInt(fcsjs[1]);
  535 +
  536 + if(xlDir.equals("0")){
  537 + if(fcsjNum>=sxFc && fcsjNum<sj_0){
  538 + ccsj0 +=bcsj;
  539 + if(aC<0){
  540 + cfc0 =fcsjNum;
  541 + aC=0;
  542 + }else{
  543 + if(fcsjNum-cfc0<iC){
  544 + iC=fcsjNum-cfc0;
  545 + }
  546 + if(fcsjNum-cfc0>aC){
  547 + aC=fcsjNum-cfc0;
  548 + }
  549 +
  550 + cfc0=fcsjNum;
  551 + }
  552 +
  553 + }else if(fcsjNum>=sj_0 && fcsjNum<=sj_1){
  554 + zgf0 +=bcsj;
  555 + if(aZg<0){
  556 + zfc0 =fcsjNum;
  557 + aZg=0;
  558 + }else{
  559 + if(fcsjNum-zfc0<iZg){
  560 + iZg=fcsjNum-zfc0;
  561 + }
  562 +
  563 + if(fcsjNum-zfc0>aZg){
  564 + aZg=fcsjNum-zfc0;
  565 + }
  566 +
  567 + zfc0=fcsjNum;
  568 + }
  569 + }else if(fcsjNum>sj_1 && fcsjNum<sj_2){
  570 + zw0 +=bcsj;
  571 + if(aZw<0){
  572 + zwfc0 =fcsjNum;
  573 + aZw=0;
  574 + }else{
  575 + if(fcsjNum-zwfc0<iZw){
  576 + iZw=fcsjNum-zwfc0;
  577 + }
  578 + if(fcsjNum-zwfc0>aZw){
  579 + aZw=fcsjNum-zwfc0;
  580 + }
  581 + zwfc0=fcsjNum;
  582 + }
  583 +
  584 + }else if(fcsjNum>=sj_2 && fcsjNum<=sj_3){
  585 + wgf0 +=bcsj;
  586 + if(aWg<0){
  587 + wfc0=fcsjNum;
  588 + aWg=0;
  589 + }else{
  590 + if(fcsjNum-wfc0<iWg){
  591 + iWg=fcsjNum-wfc0;
  592 + }
  593 + if(fcsjNum-wfc0>aWg){
  594 + aWg=fcsjNum-wfc0;
  595 + }
  596 + wfc0=fcsjNum;
  597 + }
  598 + }else if(fcsjNum>sj_3){
  599 + jcsj0 +=bcsj;
  600 + if(aJcW<0){
  601 + jcfc0W=fcsjNum;
  602 + aJcW=0;
  603 + }else{
  604 + if(fcsjNum-jcfc0W<iJcW){
  605 + iJcW=fcsjNum-jcfc0W;
  606 + }
  607 + if(fcsjNum-jcfc0W>aJcW){
  608 + aJcW=fcsjNum-jcfc0W;
  609 + }
  610 + jcfc0W=fcsjNum;
  611 + }
  612 + }else if(fcsjNum<sxFc){
  613 + jcsj0 +=bcsj;
  614 + if(aJcZ<0){
  615 + jcfc0Z=fcsjNum;
  616 + aJcZ=0;
  617 + }else{
  618 + if(fcsjNum-jcfc0Z<iJcZ){
  619 + iJcZ=fcsjNum-jcfc0Z;
  620 + }
  621 + if(fcsjNum-jcfc0Z>aJcZ){
  622 + aJcZ=fcsjNum-jcfc0Z;
  623 + }
  624 + jcfc0Z=fcsjNum;
  625 + }
  626 + }
  627 +
  628 +
  629 + }else{
  630 + if(fcsjNum>=xxFc && fcsjNum<sj_0){
  631 + ccsj1 +=bcsj;
  632 + if(aC1<0){
  633 + cfc1=fcsjNum;
  634 + aC1=0;
  635 + }else{
  636 + if(fcsjNum-cfc1<iC1){
  637 + iC1=fcsjNum-cfc1;
  638 + }
  639 + if(fcsjNum-cfc1>aC1){
  640 + aC1=fcsjNum-cfc1;
  641 + }
  642 + cfc1=fcsjNum;
  643 + }
  644 + }else if(fcsjNum>=sj_0 && fcsjNum<=sj_1){
  645 + zgf1 +=bcsj;
  646 + if(aZg1<0){
  647 + zfc1=fcsjNum;
  648 + aZg1=0;
  649 + }else{
  650 + if(fcsjNum-zfc1<iZg1){
  651 + iZg1=fcsjNum-zfc1;
  652 + }
  653 + if(fcsjNum-zfc1>aZg1){
  654 + aZg1=fcsjNum-zfc1;
  655 + }
  656 +
  657 + zfc1=fcsjNum;
  658 + }
  659 + }else if(fcsjNum>sj_1 && fcsjNum<sj_2){
  660 + zw1 +=bcsj;
  661 + if(aZw1<0){
  662 + zwfc1=fcsjNum;
  663 + aZw1=0;
  664 + }else{
  665 + if(fcsjNum-zwfc1<iZw1){
  666 + iZw1=fcsjNum-zwfc1;
  667 + }
  668 + if(fcsjNum-zwfc1>aZw1){
  669 + aZw1=fcsjNum-zwfc1;
  670 + }
  671 + zwfc1=fcsjNum;
  672 + }
  673 + }else if(fcsjNum>=sj_2 && fcsjNum<=sj_3){
  674 + wgf1 +=bcsj;
  675 + if(aWg1<0){
  676 + wfc1=fcsjNum;
  677 + aWg1=0;
  678 + }else{
  679 + if(fcsjNum-wfc1<iWg1){
  680 + iWg1=fcsjNum-wfc1;
  681 + }
  682 + if(fcsjNum-wfc1<aWg1){
  683 + aWg1=fcsjNum-wfc1;
  684 + }
  685 + wfc1=fcsjNum;
  686 + }
  687 + }else if(fcsjNum>sj_3){
  688 + jcsj1 +=bcsj;
  689 + if(aJc1W<0){
  690 + jcfc1W=fcsjNum;
  691 + aJc1W=0;
  692 + }else{
  693 + if(fcsjNum-jcfc1W<iJc1W){
  694 + aJc1W=fcsjNum-jcfc1W;
  695 + }
  696 + if(fcsjNum-jcfc1W>aJc1W){
  697 + aJc1W=fcsjNum-jcfc1W;
  698 + }
  699 +
  700 + jcfc1W=fcsjNum;
  701 + }
  702 + }else if(fcsjNum<xxFc){
  703 + jcsj1 +=bcsj;
  704 + if(aJc1Z<0){
  705 + jcfc1Z=fcsjNum;
  706 + aJc1Z=0;
  707 + }else{
  708 + if(fcsjNum-jcfc1Z<iJc1Z){
  709 + aJc1Z=fcsjNum-jcfc1Z;
  710 + }
  711 + if(fcsjNum-jcfc1Z>aJc1Z){
  712 + aJc1Z=fcsjNum-jcfc1Z;
  713 + }
  714 +
  715 + jcfc1Z=fcsjNum;
  716 + }
  717 + }
  718 + }
  719 +
  720 + }
  721 +
  722 +
  723 + List<Map<String, Object>> newList=new ArrayList<Map<String,Object>>();
  724 + Map<String, Object> newmap1=new HashMap<String,Object>();
  725 + Map<String, Object> newmap2=new HashMap<String,Object>();
  726 + Map<String, Object> newmap3=new HashMap<String,Object>();
  727 + Map<String, Object> newmap4=new HashMap<String,Object>();
  728 + Map<String, Object> newmap5=new HashMap<String,Object>();
  729 + newmap1.put("sjd", "(首)——6:30");
  730 + newmap1.put("sxsj", ccsj0);
  731 + newmap1.put("xxsj", ccsj1);
  732 + newmap1.put("fqsj", ccsj0+ccsj1);
  733 + newmap1.put("cj", (iC-iC1>0?iC1:iC)+"——"+(aC-aC1>0?aC:aC1));
  734 +
  735 + newmap2.put("sjd", "6:31——8:30");
  736 + newmap2.put("sxsj", zgf0);
  737 + newmap2.put("xxsj", zgf1);
  738 + newmap2.put("fqsj", zgf1+zgf0);
  739 + newmap2.put("cj", (iZg-iZg1>0?iZg1:iZg)+"——"+(aZg-aZg1>0?aZg:aZg1));
  740 +
  741 + newmap3.put("sjd", "8:30——16:00");
  742 + newmap3.put("sxsj", zw0);
  743 + newmap3.put("xxsj", zw1);
  744 + newmap3.put("fqsj", zw0+zw1);
  745 + newmap3.put("cj", (iZw-iZw1>0?iZw1:iZw)+"——"+(aZw-aZw1>0?aZw:aZw1));
  746 +
  747 + newmap4.put("sjd", "16:01——18:00");
  748 + newmap4.put("sxsj", wgf0);
  749 + newmap4.put("xxsj", wgf1);
  750 + newmap4.put("fqsj", wgf0+wgf1);
  751 + newmap4.put("cj", (iWg-iWg1>0?iWg1:iWg)+"——"+(aWg-aWg1>0?aWg:aWg1));
  752 +
  753 + newmap5.put("sjd", "18:00——(末)");
  754 + newmap5.put("sxsj", jcsj0);
  755 + newmap5.put("xxsj", jcsj1);
  756 + newmap5.put("fqsj", jcsj0+jcsj1);
  757 + int min0=iJcZ-iJcW>0?iJcW:iJcZ;
  758 + int max0=aJcZ-aJcW>0?aJcZ:aJcW;
  759 + int min1=iJc1Z-iJc1W>0?iJc1W:iJc1Z;
  760 + int max1=aJc1Z-aJc1W>0?aJc1Z:aJc1W;
  761 + newmap5.put("cj", (min0-min1>0?min1:min0)+"——"+(max0-max1>0?max0:max1));
  762 +
  763 + newList.add(newmap1);
  764 + newList.add(newmap2);
  765 + newList.add(newmap3);
  766 + newList.add(newmap4);
  767 + newList.add(newmap5);
  768 + return newList;
  769 + }
256 } 770 }
src/main/resources/application-dev.properties
@@ -8,7 +8,7 @@ spring.jpa.hibernate.naming_strategy= org.hibernate.cfg.ImprovedNamingStrategy @@ -8,7 +8,7 @@ spring.jpa.hibernate.naming_strategy= org.hibernate.cfg.ImprovedNamingStrategy
8 spring.jpa.database= MYSQL 8 spring.jpa.database= MYSQL
9 spring.jpa.show-sql= false 9 spring.jpa.show-sql= false
10 spring.datasource.driver-class-name= com.mysql.jdbc.Driver 10 spring.datasource.driver-class-name= com.mysql.jdbc.Driver
11 -spring.datasource.url= jdbc:mysql://192.168.168.201/control?useUnicode=true&characterEncoding=utf-8&useSSL=false 11 +spring.datasource.url= jdbc:mysql://192.168.168.201/mh_control?useUnicode=true&characterEncoding=utf-8&useSSL=false
12 spring.datasource.username= root 12 spring.datasource.username= root
13 spring.datasource.password= 123456 13 spring.datasource.password= 123456
14 #DATASOURCE 14 #DATASOURCE
src/main/resources/static/pages/forms/statement/changetochange.html
@@ -28,7 +28,7 @@ @@ -28,7 +28,7 @@
28 28
29 <div class="page-head"> 29 <div class="page-head">
30 <div class="page-title"> 30 <div class="page-title">
31 - <h1>换人换车情况统计表</h1> 31 + <h1>鎹汉鎹㈣溅鎯呭喌缁熻琛</h1>
32 </div> 32 </div>
33 </div> 33 </div>
34 34
@@ -38,28 +38,28 @@ @@ -38,28 +38,28 @@
38 <div class="portlet-title"> 38 <div class="portlet-title">
39 <form class="form-inline" action="" method="post"> 39 <form class="form-inline" action="" method="post">
40 <div style="display: inline-block;"> 40 <div style="display: inline-block;">
41 - <span class="item-label" style="width: 80px;">线路: </span> 41 + <span class="item-label" style="width: 80px;">绾胯矾: </span>
42 <select class="form-control" name="line" id="line" style="width: 120px;"></select> 42 <select class="form-control" name="line" id="line" style="width: 120px;"></select>
43 </div> 43 </div>
44 <div style="display: inline-block;margin-left: 15px;"> 44 <div style="display: inline-block;margin-left: 15px;">
45 - <span class="item-label" style="width: 80px;">开始时间: </span> 45 + <span class="item-label" style="width: 80px;">寮濮嬫椂闂: </span>
46 <input class="form-control" type="text" id="startDate" style="width: 120px;"/> 46 <input class="form-control" type="text" id="startDate" style="width: 120px;"/>
47 </div> 47 </div>
48 <div style="display: inline-block;margin-left: 15px;"> 48 <div style="display: inline-block;margin-left: 15px;">
49 - <span class="item-label" style="width: 80px;">结束时间: </span> 49 + <span class="item-label" style="width: 80px;">缁撴潫鏃堕棿: </span>
50 <input class="form-control" type="text" id="endDate" style="width: 120px;"/> 50 <input class="form-control" type="text" id="endDate" style="width: 120px;"/>
51 </div> 51 </div>
52 <div style="display: inline-block;"> 52 <div style="display: inline-block;">
53 - <span class="item-label" style="width: 120px;">类型: </span> 53 + <span class="item-label" style="width: 120px;">绫诲瀷: </span>
54 <select class="form-control" id="sel"> 54 <select class="form-control" id="sel">
55 - <option value="">请选择</option>  
56 - <option value="1">换人</option>  
57 - <option value="2">换车</option> 55 + <option value="">璇烽夋嫨</option>
  56 + <option value="1">鎹汉</option>
  57 + <option value="2">鎹㈣溅</option>
58 </select> 58 </select>
59 </div> 59 </div>
60 <div class="form-group"> 60 <div class="form-group">
61 - <input class="btn btn-default" type="button" id="query" value="筛选"/>  
62 - <input class="btn btn-default" type="button" id="export" value="导出"/> 61 + <input class="btn btn-default" type="button" id="query" value="绛涢"/>
  62 + <input class="btn btn-default" type="button" id="export" value="瀵煎嚭"/>
63 </div> 63 </div>
64 </form> 64 </form>
65 </div> 65 </div>
@@ -68,35 +68,35 @@ @@ -68,35 +68,35 @@
68 <table class="table table-bordered table-hover table-checkable" id="forms"> 68 <table class="table table-bordered table-hover table-checkable" id="forms">
69 <thead> 69 <thead>
70 <tr> 70 <tr>
71 - <th colspan="15">换人换车情况统计表</th> 71 + <th colspan="15">鎹汉鎹㈣溅鎯呭喌缁熻琛</th>
72 </tr> 72 </tr>
73 <tr> 73 <tr>
74 - <td rowspan="3" style=" padding-top: 50px;">日期</td>  
75 - <td rowspan="3" style=" padding-top: 50px;">公司</td>  
76 - <td rowspan="3" style=" padding-top: 50px;">分公司</td>  
77 - <td rowspan="3" style=" padding-top: 50px;">线路</td>  
78 - <td rowspan="3" style=" padding-top: 50px;">路牌</td>  
79 - <td rowspan="3" style=" padding-top: 50px;">发生时间</td>  
80 - <td rowspan="3" style=" padding-top: 50px;">修改时间</td>  
81 - <td colspan="2">配车</td>  
82 - <td colspan="4">人员</td>  
83 - <td rowspan="3" style=" padding-top: 50px;">原因</td>  
84 - <td rowspan="3" style=" padding-top: 50px;">修改人</td> 74 + <td rowspan="3" style=" padding-top: 50px;">鏃ユ湡</td>
  75 + <td rowspan="3" style=" padding-top: 50px;">鍏徃</td>
  76 + <td rowspan="3" style=" padding-top: 50px;">鍒嗗叕鍙</td>
  77 + <td rowspan="3" style=" padding-top: 50px;">绾胯矾</td>
  78 + <td rowspan="3" style=" padding-top: 50px;">璺墝</td>
  79 + <td rowspan="3" style=" padding-top: 50px;">鍙戠敓鏃堕棿</td>
  80 + <td rowspan="3" style=" padding-top: 50px;">淇敼鏃堕棿</td>
  81 + <td colspan="2">閰嶈溅</td>
  82 + <td colspan="4">浜哄憳</td>
  83 + <td rowspan="3" style=" padding-top: 50px;">鍘熷洜</td>
  84 + <td rowspan="3" style=" padding-top: 50px;">淇敼浜</td>
85 </tr> 85 </tr>
86 <tr> 86 <tr>
87 - <td>计划</td>  
88 - <td>实际</td>  
89 - <td colspan="2">计划</td>  
90 - <td colspan="2">实际</td> 87 + <td>璁″垝</td>
  88 + <td>瀹為檯</td>
  89 + <td colspan="2">璁″垝</td>
  90 + <td colspan="2">瀹為檯</td>
91 91
92 </tr> 92 </tr>
93 <tr> 93 <tr>
94 - <td>车号</td>  
95 - <td>车号</td>  
96 - <td>工号</td>  
97 - <td>人员</td>  
98 - <td>工号</td>  
99 - <td>人员</td> 94 + <td>杞﹀彿</td>
  95 + <td>杞﹀彿</td>
  96 + <td>宸ュ彿</td>
  97 + <td>浜哄憳</td>
  98 + <td>宸ュ彿</td>
  99 + <td>浜哄憳</td>
100 </tr> 100 </tr>
101 </thead> 101 </thead>
102 <tbody> 102 <tbody>
@@ -111,7 +111,7 @@ @@ -111,7 +111,7 @@
111 111
112 <script> 112 <script>
113 $(function(){ 113 $(function(){
114 - // 关闭左侧栏 114 + // 鍏抽棴宸︿晶鏍
115 if (!$('body').hasClass('page-sidebar-closed')) 115 if (!$('body').hasClass('page-sidebar-closed'))
116 $('.menu-toggler.sidebar-toggler').click(); 116 $('.menu-toggler.sidebar-toggler').click();
117 117
@@ -148,13 +148,13 @@ @@ -148,13 +148,13 @@
148 }, 148 },
149 language: { 149 language: {
150 noResults: function(){ 150 noResults: function(){
151 - return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>'; 151 + return '<span style="color:red;font-size: 12px;">娌℃湁鎼滅储鍒扮嚎璺紒</span>';
152 }, 152 },
153 inputTooShort : function(e) { 153 inputTooShort : function(e) {
154 - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>'; 154 + return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 杈撳叆绾胯矾鎼滅储绾胯矾</span>';
155 }, 155 },
156 searching : function() { 156 searching : function() {
157 - return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>'; 157 + return '<span style="color:gray;font-size: 12px;"> 姝e湪鎼滅储绾胯矾...</span>';
158 } 158 }
159 } 159 }
160 }); 160 });
@@ -182,20 +182,20 @@ @@ -182,20 +182,20 @@
182 } 182 }
183 obj.updateDate = moment(obj.startDate).format("YYYY-MM-DD HH:mm:ss"); 183 obj.updateDate = moment(obj.startDate).format("YYYY-MM-DD HH:mm:ss");
184 }); 184 });
185 - // 把数据填充到模版中 185 + // 鎶婃暟鎹~鍏呭埌妯$増涓
186 var tbodyHtml = template('changetochange',{list:result}); 186 var tbodyHtml = template('changetochange',{list:result});
187 - // 把渲染好的模版html文本追加到表格中 187 + // 鎶婃覆鏌撳ソ鐨勬ā鐗坔tml鏂囨湰杩藉姞鍒拌〃鏍间腑
188 $('#forms tbody').html(tbodyHtml); 188 $('#forms tbody').html(tbodyHtml);
189 }) 189 })
190 190
191 }else{ 191 }else{
192 - alert("请选择时间范围!"); 192 + alert("璇烽夋嫨鏃堕棿鑼冨洿!");
193 } 193 }
194 }); 194 });
195 195
196 $("#export").on("click",function(){ 196 $("#export").on("click",function(){
197 $post('/mcy_export/changetochangeExport',{startDate:startDate,endDate:endDate,type:'export'},function(result){ 197 $post('/mcy_export/changetochangeExport',{startDate:startDate,endDate:endDate,type:'export'},function(result){
198 - window.open("/downloadFile/download?fileName=换人换车情况日统计"+moment(startDate).format("YYYYMMDD")); 198 + window.open("/downloadFile/download?fileName=鎹汉鎹㈣溅鎯呭喌鏃ョ粺璁"+moment(startDate).format("YYYYMMDD"));
199 }); 199 });
200 }); 200 });
201 }); 201 });
@@ -222,7 +222,7 @@ @@ -222,7 +222,7 @@
222 {{/each}} 222 {{/each}}
223 {{if list.length == 0}} 223 {{if list.length == 0}}
224 <tr> 224 <tr>
225 - <td colspan="15"><h6 class="muted">没有找到相关数据</h6></td> 225 + <td colspan="15"><h6 class="muted">娌℃湁鎵惧埌鐩稿叧鏁版嵁</h6></td>
226 </tr> 226 </tr>
227 {{/if}} 227 {{/if}}
228 </script> 228 </script>
src/main/resources/static/pages/oil/list.html
1 <div class="page-head"> 1 <div class="page-head">
2 - <div class="page-title">  
3 - <h1>进出场存油量</h1>  
4 - </div> 2 + <div class="page-title">
  3 + <h1>进出场存油量</h1>
  4 + </div>
5 </div> 5 </div>
6 6
7 <ul class="page-breadcrumb breadcrumb"> 7 <ul class="page-breadcrumb breadcrumb">
8 - <li><a href="/pages/home.html" data-pjax>首页</a> <i class="fa fa-circle"></i></li>  
9 - <li><span class="active">用油管理</span> <i class="fa fa-circle"></i></li>  
10 - <li><span class="active">进出场存油量</span></li> 8 + <li><a href="/pages/home.html" data-pjax>首页</a> <i class="fa fa-circle"></i></li>
  9 + <li><span class="active">用油管理</span> <i class="fa fa-circle"></i></li>
  10 + <li><span class="active">进出场存油量</span></li>
11 </ul> 11 </ul>
12 12
13 -<div class="row">  
14 - <div class="col-md-12">  
15 - <!-- Begin: life time stats -->  
16 - <div class="portlet light portlet-fit portlet-datatable bordered">  
17 - <div class="portlet-title">  
18 - <div class="caption">  
19 - <i class="fa fa-fire-extinguisher"></i> <span  
20 - class="caption-subject font-dark sbold uppercase">进出场存油量表</span>  
21 - </div>  
22 - <div class="actions">  
23 - <a class="btn btn-circle blue" href="add.html" data-pjax><i class="fa fa-plus"></i> 添加</a>  
24 -<!-- <button type="button" class="btn btn-circle blue" id="removeButton"><i class="fa fa-trash-o"></i> 删除</button> -->  
25 - <button type="button" class="btn btn-circle blue" id="sortButton"><i class="fa fa-minus-square"></i> 拆分/保存</button>  
26 - <!-- <button type="button" class="btn btn-circle red" disabled="disabled" id="removeButton"><i class="fa fa-trash"></i> 删除用户</button> -->  
27 - <div class="btn-group">  
28 - <a class="btn red btn-outline btn-circle" href="javascript:;"  
29 - data-toggle="dropdown"> <i class="fa fa-share"></i> <span  
30 - class="hidden-xs"> 系统工具 </span> <i class="fa fa-angle-down"></i>  
31 - </a>  
32 - <ul class="dropdown-menu pull-right" id="datatable_ajax_tools">  
33 - <li><a href="javascript:;" data-action="0"  
34 - class="tool-action" id="obtain"> <i class="fa fa-hourglass-half"></i> 获取加/存油信息  
35 - </a></li>  
36 - <li><a href="javascript:;" data-action="1"  
37 - class="tool-action" id="outAndIn"> <i class="fa fa-pencil"></i> 油耗计算(进场=出场)  
38 - </a></li>  
39 - <li><a href="javascript:;" id="checkYl" data-action="3"  
40 - class="tool-action"> <i class="fa fa-gg-circle"></i>  
41 - 核对加注量(有加油无里程)  
42 - </a></li>  
43 - <li class="divider"></li>  
44 - <li><a href="javascript:;" data-action="3"  
45 - class="tool-action" id="export"> <i class="fa fa-file-excel-o"></i>  
46 - 导出Excel  
47 - </a></li>  
48 - </ul>  
49 - </div>  
50 - </div>  
51 - </div>  
52 - <div class="portlet-body">  
53 - <div class="table-container" style="margin-top: 10px">  
54 - <table  
55 - class="table table-striped table-bordered table-hover table-checkable"  
56 - id="datatable_ylb">  
57 - <thead>  
58 - <tr role="row" class="filter">  
59 - <td colspan="3">  
60 - <!-- 公司:  
61 - <select name="ssgsdm" id="ssgsdm">  
62 - <option value="">请选择...</option>  
63 - <option value="1">可用</option>  
64 - <option value="0">禁用</option>  
65 - </select> --> 13 +<div class="row" id="ll_oil_list">
  14 + <div class="col-md-12">
  15 + <!-- Begin: life time stats -->
  16 + <div class="portlet light portlet-fit portlet-datatable bordered">
  17 + <div class="portlet-title">
  18 + <div class="caption">
  19 + <i class="fa fa-fire-extinguisher"></i> <span
  20 + class="caption-subject font-dark sbold uppercase">进出场存油量表</span>
  21 + </div>
  22 + <div class="actions">
  23 + <a class="btn btn-circle blue" href="add.html" data-pjax><i class="fa fa-plus"></i> 添加</a>
  24 + <!-- <button type="button" class="btn btn-circle blue" id="removeButton"><i class="fa fa-trash-o"></i> 删除</button> -->
  25 + <button type="button" class="btn btn-circle blue" id="sortButton"><i class="fa fa-minus-square"></i>
  26 + 拆分/保存
  27 + </button>
  28 + <!-- <button type="button" class="btn btn-circle red" disabled="disabled" id="removeButton"><i class="fa fa-trash"></i> 删除用户</button> -->
  29 + <div class="btn-group">
  30 + <a class="btn red btn-outline btn-circle" href="javascript:;"
  31 + data-toggle="dropdown"> <i class="fa fa-share"></i> <span
  32 + class="hidden-xs"> 系统工具 </span> <i class="fa fa-angle-down"></i>
  33 + </a>
  34 + <ul class="dropdown-menu pull-right" id="datatable_ajax_tools">
  35 + <li><a href="javascript:;" data-action="0"
  36 + class="tool-action" id="obtain"> <i class="fa fa-hourglass-half"></i> 获取加/存油信息
  37 + </a></li>
  38 + <li><a href="javascript:;" data-action="1"
  39 + class="tool-action" id="outAndIn"> <i class="fa fa-pencil"></i> 油耗计算(进场=出场)
  40 + </a></li>
  41 + <li><a href="javascript:;" id="checkYl" data-action="3"
  42 + class="tool-action"> <i class="fa fa-gg-circle"></i>
  43 + 核对加注量(有加油无里程)
  44 + </a></li>
  45 + <li class="divider"></li>
  46 + <li><a href="javascript:;" data-action="3"
  47 + class="tool-action" id="export"> <i class="fa fa-file-excel-o"></i>
  48 + 导出Excel
  49 + </a></li>
  50 + </ul>
  51 + </div>
  52 + </div>
  53 + </div>
  54 + <div class="portlet-body">
  55 + <div class="table-container" style="margin-top: 10px">
  56 + <table
  57 + class="table table-striped table-bordered table-hover table-checkable"
  58 + id="datatable_ylb">
  59 + <thead>
  60 + <tr role="row" class="filter">
  61 + <td colspan="3">
  62 + <!-- 公司:
  63 + <select name="ssgsdm" id="ssgsdm">
  64 + <option value="">请选择...</option>
  65 + <option value="1">可用</option>
  66 + <option value="0">禁用</option>
  67 + </select> -->
66 </td> 68 </td>
67 - <td >  
68 -<!-- <select name="fgsdm"> -->  
69 -<!-- <option value="">请选择...</option> -->  
70 -<!-- <option value="1">可用</option> -->  
71 -<!-- <option value="0">禁用</option> -->  
72 -<!-- </select> -->  
73 -  
74 - 日期:  
75 - </td>  
76 - <td colspan="2">  
77 - <input type="text" style="width: 80px" name="rq" id="rq"/>  
78 - </td>  
79 - <td colspan="2">  
80 - 线路:  
81 - </td>  
82 - <td colspan="3">  
83 - <select class="form-control" name="xlbm_eq" id="xlbm" style="width: 120px;"></select>  
84 - &nbsp;  
85 - </td>  
86 - <td colspan="2">  
87 - 内部编码:  
88 - </td>  
89 - <td colspan="3">  
90 - <select class="form-control" name="nbbm_eq" id="nbbm" style="width: 120px;" ></select>  
91 - </td>  
92 - <td colspan="4">  
93 - <button class="btn btn-sm green btn-outline filter-submit margin-bottom" >  
94 - <i class="fa fa-search"></i> 搜索</button>  
95 -  
96 - <button class="btn btn-sm red btn-outline filter-cancel">  
97 - <i class="fa fa-times"></i> 重置</button>  
98 -  
99 - </td>  
100 - </tr>  
101 - <tr role="row" class="heading">  
102 - <th width="2%">#</th>  
103 - <th width="8%">日期</th>  
104 - <th width="5%">公司</th>  
105 - <th width="8%">线路</th>  
106 - <th width="5%">自编号</th>  
107 - <th width="6%">驾驶员</th>  
108 - <th width="4%">加油量</th>  
109 - <th width="5%">出场公里</th>  
110 - <th width="4%">进场公里</th>  
111 - <th width="4%">出场存油</th>  
112 - <th width="4%">进场存油</th>  
113 - <th width="5%">油耗</th>  
114 - <th width="5%">燃油类型</th>  
115 - <th width="4%">尿素</th>  
116 - <th width="5%">耗损原因</th>  
117 - <th width="5%">耗损油量</th>  
118 - <th width="5%">当日总里程</th>  
119 - <th width="5%">数据类型</th>  
120 - <th width="5%">百公里油耗</th>  
121 -<!-- <th width="5%">操作</th> -->  
122 - </tr>  
123 - </thead>  
124 - <tbody></tbody>  
125 - </table>  
126 - <div style="text-align: right;">  
127 - <ul id="pagination" class="pagination"></ul>  
128 - </div>  
129 - </div>  
130 - </div>  
131 - </div>  
132 - </div> 69 + <td>
  70 + <!-- <select name="fgsdm"> -->
  71 + <!-- <option value="">请选择...</option> -->
  72 + <!-- <option value="1">可用</option> -->
  73 + <!-- <option value="0">禁用</option> -->
  74 + <!-- </select> -->
  75 +
  76 + 日期:
  77 + </td>
  78 + <td colspan="2">
  79 + <input type="text" style="width: 80px" name="rq" id="rq"/>
  80 + </td>
  81 + <td colspan="2">
  82 + 线路:
  83 + </td>
  84 + <td colspan="3">
  85 + <select class="form-control" name="xlbm_eq" id="xlbm" style="width: 120px;"></select>
  86 + &nbsp;
  87 + </td>
  88 + <td colspan="2">
  89 + 内部编码:
  90 + </td>
  91 + <td colspan="3">
  92 + <select class="form-control" name="nbbm_eq" id="nbbm" style="width: 120px;"></select>
  93 + </td>
  94 + <td colspan="4">
  95 + <button class="btn btn-sm green btn-outline filter-submit margin-bottom">
  96 + <i class="fa fa-search"></i> 搜索
  97 + </button>
  98 +
  99 + <button class="btn btn-sm red btn-outline filter-cancel">
  100 + <i class="fa fa-times"></i> 重置
  101 + </button>
  102 +
  103 + </td>
  104 + </tr>
  105 + <tr role="row" class="heading">
  106 + <th width="2%">#</th>
  107 + <th width="8%">日期</th>
  108 + <th width="5%">公司</th>
  109 + <th width="8%">线路</th>
  110 + <th width="5%">自编号</th>
  111 + <th width="6%">驾驶员</th>
  112 + <th width="4%">加油量</th>
  113 + <th width="5%">出场公里</th>
  114 + <th width="4%">进场公里</th>
  115 + <th width="4%">出场存油</th>
  116 + <th width="4%">进场存油</th>
  117 + <th width="5%">油耗</th>
  118 + <th width="5%">燃油类型</th>
  119 + <th width="4%">尿素</th>
  120 + <th width="5%">耗损原因</th>
  121 + <th width="5%">耗损油量</th>
  122 + <th width="5%">当日总里程</th>
  123 + <th width="5%">数据类型</th>
  124 + <th width="5%">百公里油耗</th>
  125 + <!-- <th width="5%">操作</th> -->
  126 + </tr>
  127 + </thead>
  128 + <tbody></tbody>
  129 + </table>
  130 + <div style="text-align: right;">
  131 + <ul id="pagination" class="pagination"></ul>
  132 + </div>
  133 + </div>
  134 + </div>
  135 + </div>
  136 + </div>
133 </div> 137 </div>
134 138
135 <script id="ylb_list_temp" type="text/html"> 139 <script id="ylb_list_temp" type="text/html">
136 -{{each list as obj i}}  
137 -<tr>  
138 - <td style="vertical-align: middle;">  
139 - <input type="radio" name="id" class="group-checkable icheck" data-id="{{obj.id}}">  
140 - </td>  
141 -  
142 - <td>  
143 -{{obj.rq}}  
144 - </td>  
145 - <td>  
146 - {{obj.gsname}}  
147 - </td>  
148 - <td>  
149 - {{obj.xlname}}  
150 - </td>  
151 - <td>  
152 - {{obj.nbbm}}  
153 - </td>  
154 - <td>  
155 - {{obj.jsy}}  
156 - </td>  
157 - <td>  
158 - {{obj.jzl}}  
159 - </td>  
160 - <td>  
161 - {{obj.czlc}}  
162 - </td>  
163 - <td>  
164 - {{obj.jzlc}}  
165 - </td>  
166 - <td>  
167 - {{obj.czyl}}  
168 - </td>  
169 - <td>  
170 -<a href="javascript:startOptJzylLink('jzyl{{obj.id}}')" id="jzyl{{obj.id}}" >  
171 - {{obj.jzyl}}  
172 -</a>  
173 - </td>  
174 - <td>  
175 - {{obj.yh}}  
176 - </td>  
177 - <td>  
178 - {{obj.rylx}}  
179 - </td>  
180 - <td>  
181 - {{obj.ns}}  
182 - </td>  
183 - <td>  
184 - {{obj.shyy}}  
185 - </td>  
186 - <td>  
187 - {{obj.sh}}  
188 - </td>  
189 - <td>  
190 - {{obj.zlc}}  
191 - </td>  
192 - <td>  
193 - {{obj.yhlx}}  
194 - </td>  
195 - <td>  
196 - {{obj.bglyh}}  
197 - </td>  
198 - <td>  
199 - <!--<a class="btn btn-sm blue btn-outline" href="edit.html?no={{obj.id}}" data-pjax><i class="fa fa-edit"></i> 编辑</a>-->  
200 - </td>  
201 -</tr>  
202 -{{/each}}  
203 -{{if list.length == 0}}  
204 -<tr>  
205 - <td colspan=20><h6 class="muted">没有找到相关数据</h6></td>  
206 -</tr>  
207 -{{/if}} 140 + {{each list as obj i}}
  141 + <tr>
  142 + <td style="vertical-align: middle;">
  143 + <input type="radio" name="id" class="group-checkable icheck" data-id="{{obj.id}}">
  144 + </td>
  145 +
  146 + <td>
  147 + {{obj.rq}}
  148 + </td>
  149 + <td>
  150 + {{obj.gsname}}
  151 + </td>
  152 + <td>
  153 + {{obj.xlname}}
  154 + </td>
  155 + <td>
  156 + {{obj.nbbm}}
  157 + </td>
  158 + <td>
  159 + {{obj.jsy}}
  160 + </td>
  161 + <td>
  162 + {{obj.jzl}}
  163 + </td>
  164 + <td>
  165 + {{obj.czlc}}
  166 + </td>
  167 + <td>
  168 + {{obj.jzlc}}
  169 + </td>
  170 + <td>
  171 + {{obj.czyl}}
  172 + </td>
  173 + <td>
  174 + <a data-id="{{obj.id}}" href="javascript:;" class="in_carpark_jzyl">
  175 + {{obj.jzyl}}
  176 + </a>
  177 + </td>
  178 + <td>
  179 + {{obj.yh}}
  180 + </td>
  181 + <td>
  182 + {{obj.rylx}}
  183 + </td>
  184 + <td>
  185 + {{obj.ns}}
  186 + </td>
  187 + <td>
  188 + {{obj.shyy}}
  189 + </td>
  190 + <td>
  191 + {{obj.sh}}
  192 + </td>
  193 + <td>
  194 + {{obj.zlc}}
  195 + </td>
  196 + <td>
  197 + {{obj.yhlx}}
  198 + </td>
  199 + <td>
  200 + {{obj.bglyh}}
  201 + </td>
  202 + <td>
  203 + <!--<a class="btn btn-sm blue btn-outline" href="edit.html?no={{obj.id}}" data-pjax><i class="fa fa-edit"></i> 编辑</a>-->
  204 + </td>
  205 + </tr>
  206 + {{/each}}
  207 + {{if list.length == 0}}
  208 + <tr>
  209 + <td colspan=20><h6 class="muted">没有找到相关数据</h6></td>
  210 + </tr>
  211 + {{/if}}
208 </script> 212 </script>
209 213
210 <script> 214 <script>
211 -$(function(){  
212 - $("#checkYl").on('click',function(){  
213 - console.log("核对加注量");  
214 - if($("#rq").val()!=""){  
215 - var cells = $('tr.filter')[0].cells  
216 - ,params = {}  
217 - ,name;  
218 - $.each(cells, function(i, cell){  
219 - var items = $('input,select', cell);  
220 - for(var j = 0, item; item = items[j++];){  
221 - name = $(item).attr('name');  
222 - if(name){  
223 - params[name] = $(item).val();  
224 - }  
225 - }  
226 - });  
227 - $get('/ylb/checkYl', params, function(){  
228 - jsDoQuery(null,true);  
229 - });  
230 - }else{  
231 - layer.msg('请选择日期.');  
232 - }  
233 - })  
234 -  
235 - //进场等于出场  
236 - $("#outAndIn").on('click',function(){  
237 - console.log("进场油量等于出场油量");  
238 - if($("#rq").val()!=""){  
239 - var cells = $('tr.filter')[0].cells  
240 - ,params = {}  
241 - ,name;  
242 - $.each(cells, function(i, cell){  
243 - var items = $('input,select', cell);  
244 - for(var j = 0, item; item = items[j++];){  
245 - name = $(item).attr('name');  
246 - if(name){  
247 - params[name] = $(item).val();  
248 - }  
249 - }  
250 - });  
251 - $get('/ylb/outAndIn', params, function(){  
252 - jsDoQuery(null,true);  
253 - });  
254 - }else{  
255 - layer.msg('请选择日期.');  
256 - }  
257 - })  
258 - //拆分  
259 - $("#sortButton").on('click',function(){  
260 - console.log("拆分油量");  
261 - if($("#rq").val()!=""){  
262 - var id = $('input.icheck:checked').data('id');  
263 - if(typeof(id)=='undefined'){  
264 - layer.msg("请选择一行进行拆分");  
265 - }else{  
266 - //获取输入的进场存油  
267 - var jzyl=$("#jzyl"+id).html();  
268 - var params = {};  
269 - params['jzyl']=jzyl;  
270 - params['id']=id;  
271 - $get('/ylb/sort', params, function(){  
272 - jsDoQuery(null,true);  
273 - });  
274 -  
275 - }  
276 - }else{  
277 - layer.msg('请选择日期.');  
278 - }  
279 - })  
280 - //获取加存信息  
281 - $("#obtain").on('click', function(){  
282 - console.log("获取加存");  
283 - if($("#rq").val()!=""){  
284 - var cells = $('tr.filter')[0].cells  
285 - ,params = {}  
286 - ,name;  
287 - $.each(cells, function(i, cell){  
288 - var items = $('input,select', cell);  
289 - for(var j = 0, item; item = items[j++];){  
290 - name = $(item).attr('name');  
291 - if(name){  
292 - params[name] = $(item).val();  
293 - }  
294 - }  
295 - });  
296 - $get('/ylb/obtain', params, function(){  
297 - jsDoQuery(params,true);  
298 - });  
299 - }else{  
300 - layer.msg('请选择日期.');  
301 - }  
302 -  
303 - })  
304 - $("#rq").datetimepicker({  
305 - format : 'YYYY-MM-DD',  
306 - locale : 'zh-cn'  
307 - });  
308 -  
309 - if($("#rq").val()!=""){  
310 - jsDoQuery(null,true);  
311 - }  
312 - var page = 0, initPagination;  
313 - var icheckOptions = {  
314 - radioClass: 'iradio_square-blue icheck',  
315 - increaseArea: '20%'  
316 - }  
317 -  
318 - //重置  
319 - $('tr.filter .filter-cancel').on('click', function(){  
320 - $('tr.filter input, select').val('').change();  
321 - });  
322 -  
323 - //提交  
324 - $('tr.filter .filter-submit').on('click', function(){  
325 - if($("#rq").val()!=""){  
326 - var cells = $('tr.filter')[0].cells  
327 - ,params = {}  
328 - ,name;  
329 - $.each(cells, function(i, cell){  
330 - var items = $('input,select', cell);  
331 - for(var j = 0, item; item = items[j++];){  
332 - name = $(item).attr('name');  
333 - if(name){  
334 - params[name] = $(item).val();  
335 - }  
336 - }  
337 - });  
338 - page = 0;  
339 - jsDoQuery(params, true);  
340 - }else{  
341 - layer.msg('请选择日期.');  
342 - }  
343 - });  
344 -  
345 - /*  
346 - * 获取数据 p: 要提交的参数, pagination: 是否重新分页  
347 - */  
348 - function jsDoQuery(p, pagination){  
349 - var params = {};  
350 - if(p)  
351 - params = p;  
352 - //更新时间排序  
353 - console.log(params);  
354 - params['order'] = 'nbbm';  
355 - params['page'] = page;  
356 - params['rq']=$("#rq").val();  
357 - var i = layer.load(2);  
358 - console.log(params);  
359 - $get('/ylb' ,params, function(data){  
360 - $.each(data.content, function(i, obj) {  
361 - obj.rq = moment(obj.rq).format("YYYY-MM-DD"); 215 + $(function () {
  216 + //var id = 15;
  217 + //$('.in_carpark_jzyl[data-id='+id+']', '#ll_oil_list')
  218 +
  219 + $("#checkYl").on('click', function () {
  220 + console.log("核对加注量");
  221 + if ($("#rq").val() != "") {
  222 + var cells = $('tr.filter')[0].cells
  223 + , params = {}
  224 + , name;
  225 + $.each(cells, function (i, cell) {
  226 + var items = $('input,select', cell);
  227 + for (var j = 0, item; item = items[j++];) {
  228 + name = $(item).attr('name');
  229 + if (name) {
  230 + params[name] = $(item).val();
  231 + }
  232 + }
  233 + });
  234 + $get('/ylb/checkYl', params, function () {
  235 + jsDoQuery(null, true);
  236 + });
  237 + } else {
  238 + layer.msg('请选择日期.');
  239 + }
  240 + })
  241 +
  242 + //进场等于出场
  243 + $("#outAndIn").on('click', function () {
  244 + console.log("进场油量等于出场油量");
  245 + if ($("#rq").val() != "") {
  246 + var cells = $('tr.filter')[0].cells
  247 + , params = {}
  248 + , name;
  249 + $.each(cells, function (i, cell) {
  250 + var items = $('input,select', cell);
  251 + for (var j = 0, item; item = items[j++];) {
  252 + name = $(item).attr('name');
  253 + if (name) {
  254 + params[name] = $(item).val();
  255 + }
  256 + }
  257 + });
  258 + $get('/ylb/outAndIn', params, function () {
  259 + jsDoQuery(null, true);
  260 + });
  261 + } else {
  262 + layer.msg('请选择日期.');
  263 + }
  264 + })
  265 + //拆分
  266 + $("#sortButton").on('click', function () {
  267 + if ($("#rq").val() != "") {
  268 + var id = $('input.icheck:checked').data('id');
  269 +
  270 + if (typeof(id) == 'undefined') {
  271 + layer.msg("请选择一行进行拆分");
  272 + } else {
  273 + //获取输入的进场存油
  274 + var jzyl = $('.in_carpark_jzyl[data-id='+id+']', '#ll_oil_list').html();
  275 + // $("#jzyl" + id).html();
  276 + console.log(jzyl);
  277 + var params = {};
  278 + params['jzyl'] = jzyl;
  279 + params['id'] = id;
  280 + $get('/ylb/sort', params, function () {
  281 + jsDoQuery(null, true);
  282 + });
  283 +
  284 + }
  285 + } else {
  286 + layer.msg('请选择日期.');
  287 + }
  288 + })
  289 + //获取加存信息
  290 + $("#obtain").on('click', function () {
  291 + console.log("获取加存");
  292 + if ($("#rq").val() != "") {
  293 + var cells = $('tr.filter')[0].cells
  294 + , params = {}
  295 + , name;
  296 + $.each(cells, function (i, cell) {
  297 + var items = $('input,select', cell);
  298 + for (var j = 0, item; item = items[j++];) {
  299 + name = $(item).attr('name');
  300 + if (name) {
  301 + params[name] = $(item).val();
  302 + }
  303 + }
  304 + });
  305 + $get('/ylb/obtain', params, function () {
  306 + jsDoQuery(params, true);
  307 + });
  308 + } else {
  309 + layer.msg('请选择日期.');
  310 + }
  311 +
  312 + })
  313 + $("#rq").datetimepicker({
  314 + format: 'YYYY-MM-DD',
  315 + locale: 'zh-cn'
  316 + });
  317 +
  318 + if ($("#rq").val() != "") {
  319 + jsDoQuery(null, true);
  320 + }
  321 + var page = 0, initPagination;
  322 + var icheckOptions = {
  323 + radioClass: 'iradio_square-blue icheck',
  324 + increaseArea: '20%'
  325 + }
  326 +
  327 + //重置
  328 + $('tr.filter .filter-cancel').on('click', function () {
  329 + $('tr.filter input, select').val('').change();
  330 + });
  331 +
  332 + //提交
  333 + $('tr.filter .filter-submit').on('click', function () {
  334 + if ($("#rq").val() != "") {
  335 + var cells = $('tr.filter')[0].cells
  336 + , params = {}
  337 + , name;
  338 + $.each(cells, function (i, cell) {
  339 + var items = $('input,select', cell);
  340 + for (var j = 0, item; item = items[j++];) {
  341 + name = $(item).attr('name');
  342 + if (name) {
  343 + params[name] = $(item).val();
  344 + }
  345 + }
  346 + });
  347 + page = 0;
  348 + jsDoQuery(params, true);
  349 + } else {
  350 + layer.msg('请选择日期.');
  351 + }
  352 + });
  353 +
  354 + /*
  355 + * 获取数据 p: 要提交的参数, pagination: 是否重新分页
  356 + */
  357 + function jsDoQuery(p, pagination) {
  358 + var params = {};
  359 + if (p)
  360 + params = p;
  361 + //更新时间排序
  362 + params['order'] = 'nbbm';
  363 + params['page'] = page;
  364 + params['rq'] = $("#rq").val();
  365 + var i = layer.load(2);
  366 + $get('/ylb', params, function (data) {
  367 + $.each(data.content, function (i, obj) {
  368 + obj.rq = moment(obj.rq).format("YYYY-MM-DD");
  369 + });
  370 + var bodyHtm = template('ylb_list_temp', {list: data.content});
  371 +
  372 + $('#datatable_ylb tbody').html(bodyHtm)
  373 + .find('.icheck').iCheck(icheckOptions)
  374 + .on('ifChanged', iCheckChange);
  375 + if (pagination && data.content.length > 0) {
  376 + //重新分页
  377 + initPagination = true;
  378 + showPagination(data);
  379 + }
  380 + layer.close(i);
  381 +
  382 + startOptJzylLink($('#ll_oil_list .in_carpark_jzyl'));
  383 + });
  384 + }
  385 +
  386 + //改变状态
  387 + function startOptJzylLink(es) {
  388 + es.editable({
  389 + type: 'text',
  390 + placement: 'right',
  391 + width: 100,
  392 + display: false,
  393 + validate: function (value) {
  394 + if (!value)
  395 + return '值不能为空!';
  396 + if (isNaN(value))
  397 + return '只能为数字!';
  398 + if (value < 0)
  399 + return '值不能小于0!';
  400 + },
  401 + inputclass: 'form-control input-medium input-edtable-sm'
  402 + })
  403 + .on('save', function (e, params) {
  404 + $(this).text(params.newValue);
  405 + });
  406 + }
  407 +
  408 + function iCheckChange() {
  409 + var tr = $(this).parents('tr');
  410 + if (this.checked)
  411 + tr.addClass('row-active');
  412 + else
  413 + tr.removeClass('row-active');
  414 +
  415 + /* if($('#datatable_resource input.icheck:checked').length == 1)
  416 + $('#removeButton').removeAttr('disabled');
  417 + else
  418 + $('#removeButton').attr('disabled', 'disabled'); */
  419 + }
  420 +
  421 + function showPagination(data) {
  422 + //分页
  423 + $('#pagination').jqPaginator({
  424 + totalPages: data.totalPages,
  425 + visiblePages: 6,
  426 + currentPage: page + 1,
  427 + first: '<li class="first"><a href="javascript:void(0);">首页<\/a><\/li>',
  428 + prev: '<li class="prev"><a href="javascript:void(0);">上一页<\/a><\/li>',
  429 + next: '<li class="next"><a href="javascript:void(0);">下一页<\/a><\/li>',
  430 + last: '<li class="last"><a href="javascript:void(0);">尾页<\/a><\/li>',
  431 + page: '<li class="page"><a href="javascript:void(0);">{{page}}<\/a><\/li>',
  432 + onPageChange: function (num, type) {
  433 + if (initPagination) {
  434 + initPagination = false;
  435 + return;
  436 + }
  437 +
  438 + var cells = $('tr.filter')[0].cells
  439 + , params = {}
  440 + , name;
  441 + $.each(cells, function (i, cell) {
  442 + var items = $('input,select', cell);
  443 + for (var j = 0, item; item = items[j++];) {
  444 + name = $(item).attr('name');
  445 + if (name) {
  446 + params[name] = $(item).val();
  447 + }
  448 + }
  449 + });
  450 + page = num - 1;
  451 + jsDoQuery(params, true);
  452 + }
  453 + });
  454 + }
  455 +
  456 +
  457 + //删除
  458 + $('#removeButton').on('click', function () {
  459 + if ($(this).attr('disabled'))
  460 + return;
  461 +
  462 + var id = $('input.icheck:checked').data('id');
  463 + removeConfirm('确定要删除选中的数据?', '/resource/' + id, function () {
  464 + $('tr.filter .filter-submit').click();
362 }); 465 });
363 - var bodyHtm = template('ylb_list_temp', {list: data.content}); 466 + });
  467 +
  468 + //搜索线路
  469 + $.get('/basic/lineCode2Name',function(result){
  470 + var data=[];
364 471
365 - $('#datatable_ylb tbody').html(bodyHtm)  
366 - .find('.icheck').iCheck(icheckOptions)  
367 - .on('ifChanged', iCheckChange);  
368 - if(pagination && data.content.length > 0){  
369 - //重新分页  
370 - initPagination = true;  
371 - showPagination(data); 472 + for(var code in result){
  473 + data.push({id: code, text: result[code]});
372 } 474 }
373 - layer.close(i);  
374 - });  
375 - }  
376 -  
377 - function iCheckChange(){  
378 - var tr = $(this).parents('tr');  
379 - if(this.checked)  
380 - tr.addClass('row-active');  
381 - else  
382 - tr.removeClass('row-active');  
383 -  
384 - /* if($('#datatable_resource input.icheck:checked').length == 1)  
385 - $('#removeButton').removeAttr('disabled');  
386 - else  
387 - $('#removeButton').attr('disabled', 'disabled'); */  
388 - }  
389 -  
390 - function showPagination(data){  
391 - //分页  
392 - $('#pagination').jqPaginator({  
393 - totalPages: data.totalPages,  
394 - visiblePages: 6,  
395 - currentPage: page + 1,  
396 - first: '<li class="first"><a href="javascript:void(0);">首页<\/a><\/li>',  
397 - prev: '<li class="prev"><a href="javascript:void(0);">上一页<\/a><\/li>',  
398 - next: '<li class="next"><a href="javascript:void(0);">下一页<\/a><\/li>',  
399 - last: '<li class="last"><a href="javascript:void(0);">尾页<\/a><\/li>',  
400 - page: '<li class="page"><a href="javascript:void(0);">{{page}}<\/a><\/li>',  
401 - onPageChange: function (num, type) {  
402 - if(initPagination){  
403 - initPagination = false;  
404 - return;  
405 - }  
406 -  
407 - var cells = $('tr.filter')[0].cells  
408 - ,params = {}  
409 - ,name;  
410 - $.each(cells, function(i, cell){  
411 - var items = $('input,select', cell);  
412 - for(var j = 0, item; item = items[j++];){  
413 - name = $(item).attr('name');  
414 - if(name){  
415 - params[name] = $(item).val();  
416 - }  
417 - }  
418 - });  
419 - page = num - 1;  
420 - jsDoQuery(params, true);  
421 - }  
422 - });  
423 - }  
424 -  
425 -  
426 - //删除  
427 - $('#removeButton').on('click', function(){  
428 - if($(this).attr('disabled'))  
429 - return;  
430 -  
431 - var id = $('input.icheck:checked').data('id');  
432 - removeConfirm('确定要删除选中的数据?', '/resource/' + id ,function(){  
433 - $('tr.filter .filter-submit').click();  
434 - });  
435 - });  
436 -  
437 - //搜索线路  
438 - $('#xlbm').select2({  
439 - placeholder: '搜索线路...',  
440 - ajax: {  
441 - url: '/realSchedule/findLine',  
442 - type: 'post',  
443 - dataType: 'json',  
444 - delay: 150,  
445 - data: function(params){  
446 - return{line: params.term};  
447 - },  
448 - processResults: function (data) {  
449 - return {  
450 - results: data  
451 - };  
452 - },  
453 - cache: true  
454 - },  
455 - templateResult: function(repo){  
456 - if (repo.loading) return repo.text;  
457 - var h = '<span>'+repo.text+'</span>';  
458 - return h;  
459 - },  
460 - escapeMarkup: function (markup) { return markup; },  
461 - minimumInputLength: 1,  
462 - templateSelection: function(repo){  
463 - return repo.text;  
464 - },  
465 - language: {  
466 - noResults: function(){  
467 - return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>';  
468 - },  
469 - inputTooShort : function(e) {  
470 - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>';  
471 - },  
472 - searching : function() {  
473 - return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>';  
474 - }  
475 - }  
476 - });  
477 -  
478 - $('#nbbm').select2({  
479 - placeholder: '搜索车辆...',  
480 - ajax: {  
481 - url: '/realSchedule/sreachVehic',  
482 - dataType: 'json',  
483 - delay: 150,  
484 - data: function(params){  
485 - return{nbbm: params.term};  
486 - },  
487 - processResults: function (data) {  
488 - return {  
489 - results: data  
490 - };  
491 - },  
492 - cache: true  
493 - },  
494 - templateResult: function(repo){  
495 - if (repo.loading) return repo.text;  
496 - var h = '<span>'+repo.text+'</span>';  
497 - h += (repo.lineName?'&nbsp;<span class="select2-desc">'+repo.lineName+'</span>':'');  
498 - return h;  
499 - },  
500 - escapeMarkup: function (markup) { return markup; },  
501 - minimumInputLength: 1,  
502 - templateSelection: function(repo){  
503 - return repo.text;  
504 - },  
505 - language: {  
506 - noResults: function(){  
507 - return '<span style="color:red;font-size: 12px;">没有搜索到车辆!</span>';  
508 - },  
509 - inputTooShort : function(e) {  
510 - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入自编号搜索车辆</span>';  
511 - },  
512 - searching : function() {  
513 - return '<span style="color:gray;font-size: 12px;"> 正在搜索车辆...</span>';  
514 - }  
515 - }  
516 - })  
517 -  
518 - 475 + console.log(data);
  476 + initPinYinSelect2('#xlbm',data,'');
  477 +
  478 + })
  479 +
  480 + $('#nbbm').select2({
  481 + placeholder: '搜索车辆...',
  482 + ajax: {
  483 + url: '/realSchedule/sreachVehic',
  484 + dataType: 'json',
  485 + delay: 150,
  486 + data: function (params) {
  487 + return {nbbm: params.term};
  488 + },
  489 + processResults: function (data) {
  490 + return {
  491 + results: data
  492 + };
  493 + },
  494 + cache: true
  495 + },
  496 + templateResult: function (repo) {
  497 + if (repo.loading) return repo.text;
  498 + var h = '<span>' + repo.text + '</span>';
  499 + h += (repo.lineName ? '&nbsp;<span class="select2-desc">' + repo.lineName + '</span>' : '');
  500 + return h;
  501 + },
  502 + escapeMarkup: function (markup) {
  503 + return markup;
  504 + },
  505 + minimumInputLength: 1,
  506 + templateSelection: function (repo) {
  507 + return repo.text;
  508 + },
  509 + language: {
  510 + noResults: function () {
  511 + return '<span style="color:red;font-size: 12px;">没有搜索到车辆!</span>';
  512 + },
  513 + inputTooShort: function (e) {
  514 + return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入自编号搜索车辆</span>';
  515 + },
  516 + searching: function () {
  517 + return '<span style="color:gray;font-size: 12px;"> 正在搜索车辆...</span>';
  518 + }
  519 + }
  520 + })
  521 +
  522 +
519 //导出 523 //导出
520 -  
521 - $("#export").on("click",function(){  
522 - if($("#rq").val()!=""){  
523 - var cells = $('tr.filter')[0].cells  
524 - ,params = {}  
525 - ,name;  
526 - $.each(cells, function(i, cell){  
527 - var items = $('input,select', cell);  
528 - for(var j = 0, item; item = items[j++];){  
529 - name = $(item).attr('name');  
530 - if(name){  
531 - params[name] = $(item).val();  
532 - }  
533 - }  
534 - });  
535 - console.log(params);  
536 - $post('/ylb/listExport',params,function(result){  
537 - console.log(result);  
538 - window.open("/downloadFile/download?fileName=进出场存油量"+moment($("#rq").val()).format("YYYYMMDD"));  
539 - });  
540 - }else{  
541 - layer.msg('请选择日期.');  
542 - }  
543 - });  
544 -  
545 -});  
546 -//改变状态  
547 -function startOptJzylLink(id){  
548 - $('#'+id).editable({  
549 - type: 'text',  
550 - placement: 'right',  
551 - width:100,  
552 - display: false,  
553 - validate: function(value){  
554 - if(!value)  
555 - return '值不能为空!';  
556 - if(isNaN(value))  
557 - return '只能为数字!';  
558 - if(value<0)  
559 - return '值不能小于0!';  
560 - },  
561 - inputclass: 'form-control input-medium input-edtable-sm'  
562 - })  
563 - .on('save', function(e, params) {  
564 - $('#'+id).text(params.newValue);  
565 - });  
566 -  
567 -  
568 -  
569 -} 524 +
  525 + $("#export").on("click", function () {
  526 + if ($("#rq").val() != "") {
  527 + var cells = $('tr.filter')[0].cells
  528 + , params = {}
  529 + , name;
  530 + $.each(cells, function (i, cell) {
  531 + var items = $('input,select', cell);
  532 + for (var j = 0, item; item = items[j++];) {
  533 + name = $(item).attr('name');
  534 + if (name) {
  535 + params[name] = $(item).val();
  536 + }
  537 + }
  538 + });
  539 + console.log(params);
  540 + $post('/ylb/listExport', params, function (result) {
  541 + console.log(result);
  542 + window.open("/downloadFile/download?fileName=进出场存油量" + moment($("#rq").val()).format("YYYYMMDD"));
  543 + });
  544 + } else {
  545 + layer.msg('请选择日期.');
  546 + }
  547 + });
  548 +
  549 + });
570 </script> 550 </script>
571 \ No newline at end of file 551 \ No newline at end of file
src/main/resources/static/pages/report/timetable/timetable.html 0 → 100644
  1 +<style type="text/css">
  2 + .table-bordered {
  3 + border: 1px solid; }
  4 + .table-bordered > thead > tr > th,
  5 + .table-bordered > thead > tr > td,
  6 + .table-bordered > tbody > tr > th,
  7 + .table-bordered > tbody > tr > td,
  8 + .table-bordered > tfoot > tr > th,
  9 + .table-bordered > tfoot > tr > td {
  10 + border: 1px solid; }
  11 + .table-bordered > thead > tr > th,
  12 + .table-bordered > thead > tr > td {
  13 + border-bottom-width: 2px; }
  14 +
  15 + .table > tbody + tbody {
  16 + border-top: 1px solid; }
  17 +</style>
  18 +
  19 +<div class="page-head">
  20 + <div class="page-title">
  21 + <h1>行车时刻表统计表</h1>
  22 + </div>
  23 +</div>
  24 +
  25 +<div class="row">
  26 + <div class="col-md-12">
  27 + <div class="portlet light porttlet-fit bordered">
  28 + <div class="portlet-title">
  29 + <form class="form-inline" action="">
  30 + <div style="display: inline-block;">
  31 + <span class="item-label" style="width: 80px;">线路: </span>
  32 + <select class="form-control" name="line" id="line" style="width: 180px;"></select>
  33 + </div>
  34 + <div style="display: inline-block;margin-left: 15px;">
  35 + <span class="item-label" style="width: 80px;">时间: </span>
  36 + <input class="form-control" type="text" id="date" style="width: 180px;"/>
  37 + </div>
  38 + <div class="form-group">
  39 + <input class="btn btn-default" type="button" id="query" value="查询"/>
  40 + <input class="btn btn-default" type="button" id="export" value="导出"/>
  41 + </div>
  42 + </form>
  43 + </div>
  44 + <div class="portlet-body">
  45 + <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px">
  46 + <label id="xlxq"></label>
  47 + <table class="table table-bordered table-hover table-checkable" style="margin-bottom:5p" id="formsTime1">
  48 + <thead>
  49 + <tr>
  50 + <th colspan="10">行车时刻表统计表</th>
  51 + </tr>
  52 + <tr>
  53 + <td align="center">配车</td>
  54 + <td colspan="6" align="center">全日班次</td>
  55 + <td colspan="3" align="center">计划里程</td>
  56 + </tr>
  57 + <tr>
  58 + <td rowspan="2" style="text-align:center;vertical-align:middle;">合计</td>
  59 + <td rowspan="2" style="text-align:center;vertical-align:middle;">全程 班次</td>
  60 + <td rowspan="2" style="text-align:center;vertical-align:middle;">区间 班次</td>
  61 + <td colspan="2" align="center">6:31-8:30</td>
  62 + <td colspan="2" align="center">16:01-18:00</td>
  63 + <td rowspan="2" style="text-align:center;vertical-align:middle;">总里程</td>
  64 + <td rowspan="2" style="text-align:center;vertical-align:middle;">营业里程</td>
  65 + <td rowspan="2" style="text-align:center;vertical-align:middle;">空驶里程</td>
  66 + </tr>
  67 + <tr>
  68 + <td >全程</td>
  69 + <td >区间</td>
  70 + <td >全程</td>
  71 + <td >区间</td>
  72 + </tr>
  73 + </thead>
  74 +
  75 + <tbody class="tbody_time_1">
  76 +
  77 + </tbody>
  78 + </table>
  79 +
  80 + <div class="portlet-body">
  81 + <div class="row">
  82 + <div class="col-md-4" id="divTime2">
  83 + <table class="table table-bordered table-hover table-checkable pre-scrollable" id="formsTime2">
  84 + <tr>
  85 + <td colspan="2"> 营运车时 (计划班次的营运时间/公里)</td>
  86 + </tr>
  87 + <tr>
  88 + <td colspan="2">营业里程/营运时间(小时)</td>
  89 +
  90 + </tr>
  91 + <tr>
  92 + <td align="center" width="50%">
  93 + 营运时间(时:分)
  94 + </td>
  95 + <td align="center">
  96 + 营运车速
  97 + </td>
  98 + </tr>
  99 + <tbody class="tbody_time_2">
  100 +
  101 + </tbody>
  102 + </table>
  103 +
  104 + </div>
  105 +
  106 + <div class="col-md-8" id="divTime3" >
  107 + <table class="table table-bordered table-checkable" id="formsTime3">
  108 + <tr>
  109 + <td colspan="8">站点配车</td>
  110 + </tr>
  111 + <tr>
  112 + <td colspan="4" align="center">6:31—8:30</td>
  113 + <td colspan="4" align="center">16:01—18:00</td>
  114 + </tr>
  115 + <tr>
  116 + <td width="18%">全程站名</td>
  117 + <td>配车</td>
  118 + <td width="18%">区间站名</td>
  119 + <td>配车</td>
  120 + <td width="18%">全程站名</td>
  121 + <td>配车</td>
  122 + <td width="18%">区间站名</td>
  123 + <td>配车</td>
  124 + </tr>
  125 + <tbody class="tbody_time_3">
  126 +
  127 + </tbody>
  128 + </table>
  129 + </div>
  130 +
  131 + </div>
  132 + </div>
  133 + <div class="portlet-body">
  134 + <div class="row">
  135 + <div class="col-md-6" >
  136 + <table class="table table-bordered table-checkable">
  137 + <tr>
  138 + <td colspan="6">调度形式</td>
  139 + </tr>
  140 + <tr>
  141 + <td colspan="3" align="center">上行向()站</td>
  142 + <td colspan="3" align="center">下行向()站</td>
  143 + </tr>
  144 + <tr>
  145 + <td>起讫站</td>
  146 + <td>起讫时间</td>
  147 + <td>班次</td>
  148 + <td>起讫站</td>
  149 + <td>起讫时间</td>
  150 + <td>班次</td>
  151 + </tr>
  152 + <tbody class="tbody_time_4">
  153 +
  154 + </tbody>
  155 + </table>
  156 + </div>
  157 + <div class="col-md-6" >
  158 + <table class="table table-bordered table-checkable" id="formsTime5">
  159 + <tr>
  160 + <td colspan="5">全日分组行驶时间(区间除外)</td>
  161 + </tr>
  162 + <tr>
  163 + <td width="25%" rowspan="2" style="text-align:center;vertical-align:middle;w">分组 时间</td>
  164 + <td width="30%" colspan="2" style="text-align:center;vertical-align:middle;">实驶(分)</td>
  165 + <td width="20%" rowspan="2" style="text-align:center;vertical-align:middle;">分圈 时间</td>
  166 + <td width="25%" rowspan="2" style="text-align:center;vertical-align:middle;">车距</td>
  167 + </tr>
  168 + <tr>
  169 + <td>上行</td>
  170 + <td>下行</td>
  171 + </tr>
  172 + <tbody class="tbody_time_5">
  173 +
  174 + </tbody>
  175 + </table>
  176 + </div>
  177 + </div>
  178 + </div>
  179 + </div>
  180 + </div>
  181 + </div>
  182 + </div>
  183 +</div>
  184 +
  185 +<script>
  186 + $(function(){
  187 + // 关闭左侧栏
  188 + if (!$('body').hasClass('page-sidebar-closed'))
  189 + $('.menu-toggler.sidebar-toggler').click();
  190 +
  191 + $("#date").datetimepicker({
  192 + format : 'YYYY-MM-DD',
  193 + locale : 'zh-cn'
  194 + });
  195 +
  196 +
  197 +
  198 + $.get('/basic/lineCode2Name',function(result){
  199 + var data=[];
  200 +
  201 + for(var code in result){
  202 + data.push({id: code, text: result[code]});
  203 + }
  204 + initPinYinSelect2('#line',data,'');
  205 +
  206 + })
  207 + //查询
  208 + $("#query").on('click',function(){
  209 + var line = $("#line").val();
  210 + var xlName = $("#select2-line-container").html();
  211 + var date = $("#date").val();
  212 + if(date==null|| date==""){
  213 + layer.msg('请选择日期.');
  214 + }else if(line==null || line ==""){
  215 + layer.msg('请选择线路.');
  216 + }else{
  217 + $get('/report/tbodyTime1',{line:line,date:date},function(result){
  218 + var tbodyTime1 = template('tbodyTime1',{result});
  219 + $('#formsTime1 .tbody_time_1').html(tbodyTime1);
  220 + });
  221 + $.get('/report/tbodyTime2',{line:line,date:date},function(result){
  222 + var tbodyTime2 = template('tbodyTime2',{result});
  223 + $('#formsTime2 .tbody_time_2').html(tbodyTime2);
  224 + });
  225 + $.get('/report/tbodyTime3',{line:line,date:date},function(result){
  226 +
  227 + var tbodyTime3 = template('tbodyTime3',{list:result});
  228 + $('#formsTime3 .tbody_time_3').html(tbodyTime3);
  229 + var divTime3 = window.document.getElementById('formsTime3');
  230 + var divTime2 = window.document.getElementById('formsTime2');
  231 + console.log(divTime3.offsetHeight);
  232 + divTime2.style.height=divTime3.offsetHeight+"px";
  233 + });/*
  234 + $.get('/report/tbodyTime4',{line:line,date:date},function(result){
  235 + var scheduleDaily_3 = template('scheduleDaily_3',{list:result});
  236 + $('#forms .scheduleDaily_3').html(scheduleDaily_3);
  237 + });*/
  238 + $.get('/report/tbodyTime5',{line:line,date:date},function(result){
  239 + var tbodyTime5 = template('tbodyTime5',{list:result});
  240 + $('#formsTime5 .tbody_time_5').html(tbodyTime5);
  241 + });
  242 + }
  243 +
  244 +
  245 + });
  246 + });
  247 +</script>
  248 +<script type="text/html" id="tbodyTime1">
  249 + <tr>
  250 + <td>{{result.pcs}}</td>
  251 + <td>{{result.qcbc}}</td>
  252 + <td>{{result.qjbc}}</td>
  253 + <td>{{result.zqcbc}}</td>
  254 + <td>{{result.zqjbc}}</td>
  255 + <td>{{result.wqcbc}}</td>
  256 + <td>{{result.wqjbc}}</td>
  257 + <td>{{result.zlc}}</td>
  258 + <td>{{result.yylc}}</td>
  259 + <td>{{result.kslc}}</td>
  260 + </tr>
  261 +</script>
  262 +
  263 +<script type="text/html" id="tbodyTime2">
  264 + <tr>
  265 + <td align="center">{{result.yysj}}</td>
  266 + <td align="center">{{result.yycs}}</td>
  267 + </tr>
  268 +</script>
  269 +
  270 +<script type="text/html" id="tbodyTime3">
  271 +{{each list as result i}}
  272 + <tr>
  273 + <td align="center">{{result.zqcZm}}</td>
  274 + <td align="center">{{result.zqcCls}}</td>
  275 + <td align="center">{{result.zqjZm}}</td>
  276 + <td align="center">{{result.zqjCls}}</td>
  277 + <td align="center">{{result.wqcZm}}</td>
  278 + <td align="center">{{result.wqcCls}}</td>
  279 + <td align="center">{{result.wqjZm}}</td>
  280 + <td align="center">{{result.wqjCls}}</td>
  281 + </tr>
  282 +{{/each}}
  283 +{{if list.length == 0}}
  284 + <tr>
  285 + <td colspan="8"><h6 class="muted">没有找到相关数据</h6></td>
  286 + </tr>
  287 + {{/if}}
  288 +</script>
  289 +
  290 +
  291 +<script type="text/html" id="tbodyTime5">
  292 +{{each list as result i}}
  293 + <tr>
  294 + <td align="center">{{result.sjd}}</td>
  295 + <td align="center">{{result.sxsj}}</td>
  296 + <td align="center">{{result.xxsj}}</td>
  297 + <td align="center">{{result.fqsj}}</td>
  298 + <td align="center">{{result.cj}}</td>
  299 + </tr>
  300 +{{/each}}
  301 +{{if list.length == 0}}
  302 + <tr>
  303 + <td colspan="5"><h6 class="muted">没有找到相关数据</h6></td>
  304 + </tr>
  305 + {{/if}}
  306 +</script>
src/main/resources/static/pages/scheduleApp/module/basicInfo/busInfoManage/module.js
1 -// 车辆基础信息维护 service controller等写在一起  
2 -  
3 -angular.module('ScheduleApp').factory('BusInfoManageService', ['BusInfoManageService_g', function(service) {  
4 -  
5 - /** 当前的查询条件信息 */  
6 - var currentSearchCondition = {  
7 - "carCode_like" : "",  
8 - "insideCode_like" : "",  
9 - "equipmentCode_like" : "",  
10 - "carPlate_like" : ""  
11 - };  
12 -  
13 - /** 当前第几页 */  
14 - var currentPageNo = 1;  
15 - return {  
16 - /**  
17 - * 获取查询条件信息,  
18 - * 用于给controller用来和页面数据绑定。  
19 - */  
20 - getSearchCondition: function() {  
21 - return currentSearchCondition;  
22 - },  
23 - /**  
24 - * 重置查询条件信息。  
25 - */  
26 - resetSearchCondition: function() {  
27 - var key;  
28 - for (key in currentSearchCondition) {  
29 - currentSearchCondition[key] = undefined;  
30 - }  
31 - currentPageNo = 1;  
32 - },  
33 - /**  
34 - * 设置当前页码。  
35 - * @param cpn 从1开始,后台是从0开始的  
36 - */  
37 - setCurrentPageNo: function(cpn) {  
38 - currentPageNo = cpn;  
39 - },  
40 - /**  
41 - * 组装查询参数,返回一个promise查询结果。  
42 - * @param params 查询参数  
43 - * @return 返回一个 promise  
44 - */  
45 - getPage: function() {  
46 - var params = currentSearchCondition; // 查询条件  
47 - params.page = currentPageNo - 1; // 服务端页码从0开始  
48 - return service.rest.list(params).$promise;  
49 - },  
50 - /**  
51 - * 获取明细信息。  
52 - * @param id 车辆id  
53 - * @return 返回一个 promise  
54 - */  
55 - getDetail: function(id) {  
56 - var params = {id: id};  
57 - return service.rest.get(params).$promise;  
58 - },  
59 - /**  
60 - * 保存信息。  
61 - * @param obj 车辆详细信息  
62 - * @return 返回一个 promise  
63 - */  
64 - saveDetail: function(obj) {  
65 - return service.rest.save(obj).$promise;  
66 - },  
67 - /**  
68 - * 数据导出。  
69 - * @returns {*|Function|promise|n}  
70 - */  
71 - dataExport: function() {  
72 - return service.dataTools.dataExport().$promise;  
73 - }  
74 - };  
75 -}]);  
76 -  
77 -angular.module('ScheduleApp').controller('BusInfoManageCtrl', [  
78 - 'BusInfoManageService','$state', '$uibModal', 'FileDownload_g',  
79 - function(busInfoManageService, $state, $uibModal, fileDownload) {  
80 - var self = this;  
81 -  
82 - // 切换到form状态  
83 - self.goForm = function() {  
84 - //alert("切换");  
85 - $state.go("busInfoManage_form");  
86 - };  
87 -  
88 - // 导入excel  
89 - self.importData = function() {  
90 - // large方式弹出模态对话框  
91 - var modalInstance = $uibModal.open({  
92 - templateUrl: '/pages/scheduleApp/module/basicInfo/busInfoManage/dataImport.html',  
93 - size: "lg",  
94 - animation: true,  
95 - backdrop: 'static',  
96 - resolve: {  
97 - // 可以传值给controller  
98 - },  
99 - windowClass: 'center-modal',  
100 - controller: "BusInfoManageToolsCtrl",  
101 - controllerAs: "ctrl",  
102 - bindToController: true  
103 - });  
104 - modalInstance.result.then(  
105 - function() {  
106 - console.log("dataImport.html打开");  
107 - },  
108 - function() {  
109 - console.log("dataImport.html消失");  
110 - }  
111 - );  
112 - };  
113 -  
114 - // 导出excel  
115 - self.exportData = function() {  
116 - busInfoManageService.dataExport().then(  
117 - function(result) {  
118 - fileDownload.downloadFile(result.data, "application/octet-stream", "车辆基础信息.xls");  
119 - },  
120 - function(result) {  
121 - console.log("exportData failed:" + result);  
122 - }  
123 - );  
124 - };  
125 - }]);  
126 -  
127 -angular.module('ScheduleApp').controller('BusInfoManageToolsCtrl', ['$modalInstance', 'FileUploader', function($modalInstance, FileUploader) {  
128 - var self = this;  
129 - self.data = "TODO";  
130 -  
131 - // 关闭窗口  
132 - self.close = function() {  
133 - $modalInstance.dismiss("cancel");  
134 - };  
135 -  
136 - self.clearInputFile = function() {  
137 - angular.element("input[type='file']").val(null);  
138 - };  
139 -  
140 - // 上传文件组件  
141 - self.uploader = new FileUploader({  
142 - url: "/cars/dataImport",  
143 - filters: [] // 用于过滤文件,比如只允许导入excel  
144 - });  
145 - self.uploader.onAfterAddingFile = function(fileItem)  
146 - {  
147 - console.info('onAfterAddingFile', fileItem);  
148 - console.log(self.uploader.queue.length);  
149 - if (self.uploader.queue.length > 1)  
150 - self.uploader.removeFromQueue(0);  
151 - };  
152 - self.uploader.onSuccessItem = function(fileItem, response, status, headers)  
153 - {  
154 - console.info('onSuccessItem', fileItem, response, status, headers);  
155 - };  
156 - self.uploader.onErrorItem = function(fileItem, response, status, headers)  
157 - {  
158 - console.info('onErrorItem', fileItem, response, status, headers);  
159 - };  
160 -  
161 -}]);  
162 -  
163 -  
164 -angular.module('ScheduleApp').controller('BusInfoManageListCtrl', ['BusInfoManageService','$scope', function(busInfoManageService, $scope) {  
165 - var self = this;  
166 - self.pageInfo = {  
167 - totalItems : 0,  
168 - currentPage : 1,  
169 - infos: []  
170 - };  
171 -  
172 - // 初始创建的时候,获取一次列表数据  
173 - busInfoManageService.getPage().then(  
174 - function(result) {  
175 - self.pageInfo.totalItems = result.totalElements;  
176 - self.pageInfo.currentPage = result.number + 1;  
177 - self.pageInfo.infos = result.content;  
178 - busInfoManageService.setCurrentPageNo(result.number + 1);  
179 - },  
180 - function(result) {  
181 - alert("出错啦!");  
182 - }  
183 - );  
184 -  
185 - //$scope.$watch("ctrl.pageInfo.currentPage", function() {  
186 - // alert("dfdfdf");  
187 - //});  
188 -  
189 - // 翻页的时候调用  
190 - self.pageChanaged = function() {  
191 - busInfoManageService.setCurrentPageNo(self.pageInfo.currentPage);  
192 - busInfoManageService.getPage().then(  
193 - function(result) {  
194 - self.pageInfo.totalItems = result.totalElements;  
195 - self.pageInfo.currentPage = result.number + 1;  
196 - self.pageInfo.infos = result.content;  
197 - busInfoManageService.setCurrentPageNo(result.number + 1);  
198 - },  
199 - function(result) {  
200 - alert("出错啦!");  
201 - }  
202 - );  
203 - };  
204 - // 获取查询条件数据  
205 - self.searchCondition = function() {  
206 - return busInfoManageService.getSearchCondition();  
207 - };  
208 - // 重置查询条件  
209 - self.resetSearchCondition = function() {  
210 - busInfoManageService.resetSearchCondition();  
211 - self.pageInfo.currentPage = 1;  
212 - self.pageChanaged();  
213 - };  
214 -}]);  
215 -  
216 -angular.module('ScheduleApp').controller('BusInfoManageFormCtrl', ['BusInfoManageService', '$stateParams', '$state', function(busInfoManageService, $stateParams, $state) {  
217 - var self = this;  
218 -  
219 - // 报废日期 日期控件开关  
220 - self.scrapDateOpen = false;  
221 - self.scrapDate_open = function() {  
222 - self.scrapDateOpen = true;  
223 - };  
224 -  
225 - // 启用日期 日期控件开关  
226 - self.openDateOpen = false;  
227 - self.openDate_open = function() {  
228 - self.openDateOpen = true;  
229 - };  
230 - // 取消日期 日期控件开关  
231 - self.closeDateOpen = false;  
232 - self.closeDate_open = function() {  
233 - self.closeDateOpen = true;  
234 - };  
235 -  
236 - // 欲保存的busInfo信息,绑定  
237 - self.busInfoForSave = {};  
238 -  
239 - // 获取传过来的id,有的话就是修改,获取一遍数据  
240 - var id = $stateParams.id;  
241 - if (id) {  
242 - self.busInfoForSave.id = id;  
243 - busInfoManageService.getDetail(id).then(  
244 - function(result) {  
245 - var key;  
246 - for (key in result) {  
247 - self.busInfoForSave[key] = result[key];  
248 - }  
249 - },  
250 - function(result) {  
251 - alert("出错啦!");  
252 - }  
253 - );  
254 - }  
255 -  
256 - // 提交方法  
257 - self.submit = function() {  
258 - console.log(self.busInfoForSave);  
259 - //if (self.busInfoForSave) {  
260 - // delete $stateParams.id;  
261 - //}  
262 - busInfoManageService.saveDetail(self.busInfoForSave).then(  
263 - function(result) {  
264 - // TODO:弹出框方式以后改  
265 - if (result.status == 'SUCCESS') {  
266 - alert("保存成功!");  
267 - $state.go("busInfoManage");  
268 - } else {  
269 - alert("保存异常!");  
270 - }  
271 - },  
272 - function(result) {  
273 - // TODO:弹出框方式以后改  
274 - alert("出错啦!");  
275 - }  
276 - );  
277 - };  
278 -  
279 -}]);  
280 -  
281 -angular.module('ScheduleApp').controller('BusInfoManageDetailCtrl', ['BusInfoManageService', '$stateParams', function(busInfoManageService, $stateParams) {  
282 - var self = this;  
283 - self.title = "";  
284 - self.busInfoForDetail = {};  
285 - self.busInfoForDetail.id = $stateParams.id;  
286 -  
287 - // 当转向到此页面时,就获取明细信息并绑定  
288 - busInfoManageService.getDetail($stateParams.id).then(  
289 - function(result) {  
290 - var key;  
291 - for (key in result) {  
292 - self.busInfoForDetail[key] = result[key];  
293 - }  
294 -  
295 - self.title = "车辆 " + self.busInfoForDetail.insideCode + " 详细信息";  
296 - },  
297 - function(result) {  
298 - // TODO:弹出框方式以后改  
299 - alert("出错啦!");  
300 - }  
301 - ); 1 +// 车辆基础信息维护 service controller等写在一起
  2 +
  3 +angular.module('ScheduleApp').factory('BusInfoManageService', ['BusInfoManageService_g', function(service) {
  4 +
  5 + /** 当前的查询条件信息 */
  6 + var currentSearchCondition = {
  7 + "carCode_like" : "",
  8 + "insideCode_like" : "",
  9 + "equipmentCode_like" : "",
  10 + "carPlate_like" : ""
  11 + };
  12 +
  13 + /** 当前第几页 */
  14 + var currentPageNo = 1;
  15 + return {
  16 + /**
  17 + * 获取查询条件信息,
  18 + * 用于给controller用来和页面数据绑定。
  19 + */
  20 + getSearchCondition: function() {
  21 + return currentSearchCondition;
  22 + },
  23 + /**
  24 + * 重置查询条件信息。
  25 + */
  26 + resetSearchCondition: function() {
  27 + var key;
  28 + for (key in currentSearchCondition) {
  29 + currentSearchCondition[key] = undefined;
  30 + }
  31 + currentPageNo = 1;
  32 + },
  33 + /**
  34 + * 设置当前页码。
  35 + * @param cpn 从1开始,后台是从0开始的
  36 + */
  37 + setCurrentPageNo: function(cpn) {
  38 + currentPageNo = cpn;
  39 + },
  40 + /**
  41 + * 组装查询参数,返回一个promise查询结果。
  42 + * @param params 查询参数
  43 + * @return 返回一个 promise
  44 + */
  45 + getPage: function() {
  46 + var params = currentSearchCondition; // 查询条件
  47 + params.page = currentPageNo - 1; // 服务端页码从0开始
  48 + return service.rest.list(params).$promise;
  49 + },
  50 + /**
  51 + * 获取明细信息。
  52 + * @param id 车辆id
  53 + * @return 返回一个 promise
  54 + */
  55 + getDetail: function(id) {
  56 + var params = {id: id};
  57 + return service.rest.get(params).$promise;
  58 + },
  59 + /**
  60 + * 保存信息。
  61 + * @param obj 车辆详细信息
  62 + * @return 返回一个 promise
  63 + */
  64 + saveDetail: function(obj) {
  65 + return service.rest.save(obj).$promise;
  66 + },
  67 + /**
  68 + * 数据导出。
  69 + * @returns {*|Function|promise|n}
  70 + */
  71 + dataExport: function() {
  72 + return service.dataTools.dataExport().$promise;
  73 + }
  74 + };
  75 +}]);
  76 +
  77 +angular.module('ScheduleApp').controller('BusInfoManageCtrl', [
  78 + 'BusInfoManageService','$state', '$uibModal', 'FileDownload_g',
  79 + function(busInfoManageService, $state, $uibModal, fileDownload) {
  80 + var self = this;
  81 +
  82 + // 切换到form状态
  83 + self.goForm = function() {
  84 + //alert("切换");
  85 + $state.go("busInfoManage_form");
  86 + };
  87 +
  88 + // 导入excel
  89 + self.importData = function() {
  90 + // large方式弹出模态对话框
  91 + var modalInstance = $uibModal.open({
  92 + templateUrl: '/pages/scheduleApp/module/basicInfo/busInfoManage/dataImport.html',
  93 + size: "lg",
  94 + animation: true,
  95 + backdrop: 'static',
  96 + resolve: {
  97 + // 可以传值给controller
  98 + },
  99 + windowClass: 'center-modal',
  100 + controller: "BusInfoManageToolsCtrl",
  101 + controllerAs: "ctrl",
  102 + bindToController: true
  103 + });
  104 + modalInstance.result.then(
  105 + function() {
  106 + console.log("dataImport.html打开");
  107 + },
  108 + function() {
  109 + console.log("dataImport.html消失");
  110 + }
  111 + );
  112 + };
  113 +
  114 + // 导出excel
  115 + self.exportData = function() {
  116 + busInfoManageService.dataExport().then(
  117 + function(result) {
  118 + fileDownload.downloadFile(result.data, "application/octet-stream", "车辆基础信息.xls");
  119 + },
  120 + function(result) {
  121 + console.log("exportData failed:" + result);
  122 + }
  123 + );
  124 + };
  125 + }]);
  126 +
  127 +angular.module('ScheduleApp').controller('BusInfoManageToolsCtrl', ['$modalInstance', 'FileUploader', function($modalInstance, FileUploader) {
  128 + var self = this;
  129 + self.data = "TODO";
  130 +
  131 + // 关闭窗口
  132 + self.close = function() {
  133 + $modalInstance.dismiss("cancel");
  134 + };
  135 +
  136 + self.clearInputFile = function() {
  137 + angular.element("input[type='file']").val(null);
  138 + };
  139 +
  140 + // 上传文件组件
  141 + self.uploader = new FileUploader({
  142 + url: "/cars/dataImport",
  143 + filters: [] // 用于过滤文件,比如只允许导入excel
  144 + });
  145 + self.uploader.onAfterAddingFile = function(fileItem)
  146 + {
  147 + console.info('onAfterAddingFile', fileItem);
  148 + console.log(self.uploader.queue.length);
  149 + if (self.uploader.queue.length > 1)
  150 + self.uploader.removeFromQueue(0);
  151 + };
  152 + self.uploader.onSuccessItem = function(fileItem, response, status, headers)
  153 + {
  154 + console.info('onSuccessItem', fileItem, response, status, headers);
  155 + };
  156 + self.uploader.onErrorItem = function(fileItem, response, status, headers)
  157 + {
  158 + console.info('onErrorItem', fileItem, response, status, headers);
  159 + };
  160 +
  161 +}]);
  162 +
  163 +
  164 +angular.module('ScheduleApp').controller('BusInfoManageListCtrl', ['BusInfoManageService','$scope', function(busInfoManageService, $scope) {
  165 + var self = this;
  166 + self.pageInfo = {
  167 + totalItems : 0,
  168 + currentPage : 1,
  169 + infos: []
  170 + };
  171 +
  172 + // 初始创建的时候,获取一次列表数据
  173 + busInfoManageService.getPage().then(
  174 + function(result) {
  175 + self.pageInfo.totalItems = result.totalElements;
  176 + self.pageInfo.currentPage = result.number + 1;
  177 + self.pageInfo.infos = result.content;
  178 + busInfoManageService.setCurrentPageNo(result.number + 1);
  179 + },
  180 + function(result) {
  181 + alert("出错啦!");
  182 + }
  183 + );
  184 +
  185 + //$scope.$watch("ctrl.pageInfo.currentPage", function() {
  186 + // alert("dfdfdf");
  187 + //});
  188 +
  189 + // 翻页的时候调用
  190 + self.pageChanaged = function() {
  191 + busInfoManageService.setCurrentPageNo(self.pageInfo.currentPage);
  192 + busInfoManageService.getPage().then(
  193 + function(result) {
  194 + self.pageInfo.totalItems = result.totalElements;
  195 + self.pageInfo.currentPage = result.number + 1;
  196 + self.pageInfo.infos = result.content;
  197 + busInfoManageService.setCurrentPageNo(result.number + 1);
  198 + },
  199 + function(result) {
  200 + alert("出错啦!");
  201 + }
  202 + );
  203 + };
  204 + // 获取查询条件数据
  205 + self.searchCondition = function() {
  206 + return busInfoManageService.getSearchCondition();
  207 + };
  208 + // 重置查询条件
  209 + self.resetSearchCondition = function() {
  210 + busInfoManageService.resetSearchCondition();
  211 + self.pageInfo.currentPage = 1;
  212 + self.pageChanaged();
  213 + };
  214 +}]);
  215 +
  216 +angular.module('ScheduleApp').controller('BusInfoManageFormCtrl', ['BusInfoManageService', '$stateParams', '$state', function(busInfoManageService, $stateParams, $state) {
  217 + var self = this;
  218 +
  219 + // 报废日期 日期控件开关
  220 + self.scrapDateOpen = false;
  221 + self.scrapDate_open = function() {
  222 + self.scrapDateOpen = true;
  223 + };
  224 +
  225 + // 启用日期 日期控件开关
  226 + self.openDateOpen = false;
  227 + self.openDate_open = function() {
  228 + self.openDateOpen = true;
  229 + };
  230 + // 取消日期 日期控件开关
  231 + self.closeDateOpen = false;
  232 + self.closeDate_open = function() {
  233 + self.closeDateOpen = true;
  234 + };
  235 +
  236 + // 欲保存的busInfo信息,绑定
  237 + self.busInfoForSave = {};
  238 +
  239 + // 获取传过来的id,有的话就是修改,获取一遍数据
  240 + var id = $stateParams.id;
  241 + if (id) {
  242 + self.busInfoForSave.id = id;
  243 + busInfoManageService.getDetail(id).then(
  244 + function(result) {
  245 + var key;
  246 + for (key in result) {
  247 + self.busInfoForSave[key] = result[key];
  248 + }
  249 + },
  250 + function(result) {
  251 + alert("出错啦!");
  252 + }
  253 + );
  254 + }
  255 +
  256 + // 提交方法
  257 + self.submit = function() {
  258 + console.log(self.busInfoForSave);
  259 + //if (self.busInfoForSave) {
  260 + // delete $stateParams.id;
  261 + //}
  262 + busInfoManageService.saveDetail(self.busInfoForSave).then(
  263 + function(result) {
  264 + // TODO:弹出框方式以后改
  265 + if (result.status == 'SUCCESS') {
  266 + alert("保存成功!");
  267 + $state.go("busInfoManage");
  268 + } else {
  269 + alert("保存异常!");
  270 + }
  271 + },
  272 + function(result) {
  273 + // TODO:弹出框方式以后改
  274 + alert("出错啦!");
  275 + }
  276 + );
  277 + };
  278 +
  279 +}]);
  280 +
  281 +angular.module('ScheduleApp').controller('BusInfoManageDetailCtrl', ['BusInfoManageService', '$stateParams', function(busInfoManageService, $stateParams) {
  282 + var self = this;
  283 + self.title = "";
  284 + self.busInfoForDetail = {};
  285 + self.busInfoForDetail.id = $stateParams.id;
  286 +
  287 + // 当转向到此页面时,就获取明细信息并绑定
  288 + busInfoManageService.getDetail($stateParams.id).then(
  289 + function(result) {
  290 + var key;
  291 + for (key in result) {
  292 + self.busInfoForDetail[key] = result[key];
  293 + }
  294 +
  295 + self.title = "车辆 " + self.busInfoForDetail.insideCode + " 详细信息";
  296 + },
  297 + function(result) {
  298 + // TODO:弹出框方式以后改
  299 + alert("出错啦!");
  300 + }
  301 + );
302 }]); 302 }]);
303 \ No newline at end of file 303 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/basicInfo/busInfoManage/route.js
1 -// ui route 配置  
2 -  
3 -/** 车辆基础信息模块配置route */  
4 -ScheduleApp.config([  
5 - '$stateProvider',  
6 - '$urlRouterProvider',  
7 - function($stateProvider, $urlRouterProvider) {  
8 - // 默认路由  
9 - //$urlRouterProvider.otherwise('/busConfig.html');  
10 -  
11 - $stateProvider  
12 - .state("busInfoManage", { // index页面  
13 - url: '/busInfoManage',  
14 - views: {  
15 - "": {  
16 - templateUrl: 'pages/scheduleApp/module/basicInfo/busInfoManage/index.html'  
17 - },  
18 - "busInfoManage_list@busInfoManage": {  
19 - templateUrl: 'pages/scheduleApp/module/basicInfo/busInfoManage/list.html'  
20 - }  
21 - },  
22 -  
23 - resolve: {  
24 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
25 - return $ocLazyLoad.load({  
26 - name: 'busInfoManage_module',  
27 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
28 - files: [  
29 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
30 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
31 - "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",  
32 - "pages/scheduleApp/module/basicInfo/busInfoManage/module.js"  
33 - ]  
34 - });  
35 - }]  
36 - }  
37 - })  
38 - .state("busInfoManage_form", { // 添加车辆form  
39 - url: '/busInfoManage_form',  
40 - views: {  
41 - "": {templateUrl: 'pages/scheduleApp/module/basicInfo/busInfoManage/form.html'}  
42 - },  
43 - resolve: {  
44 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
45 - return $ocLazyLoad.load({  
46 - name: 'busInfoManage_form_module',  
47 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
48 - files: [  
49 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
50 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
51 - "pages/scheduleApp/module/basicInfo/busInfoManage/module.js"  
52 - ]  
53 - });  
54 - }]  
55 - }  
56 - })  
57 - .state("busInfoManage_edit", { // 修改车辆form  
58 - url: '/busInfoManage_edit/:id',  
59 - views: {  
60 - "": {templateUrl: 'pages/scheduleApp/module/basicInfo/busInfoManage/edit.html'}  
61 - },  
62 - resolve: {  
63 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
64 - return $ocLazyLoad.load({  
65 - name: 'busInfoManage_edit_module',  
66 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
67 - files: [  
68 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
69 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
70 - "pages/scheduleApp/module/basicInfo/busInfoManage/module.js"  
71 - ]  
72 - });  
73 - }]  
74 - }  
75 - })  
76 - .state("busInfoManage_detail", { // 车辆详细信息  
77 - url: '/busInfoManage_detail/:id',  
78 - views: {  
79 - "": {templateUrl: 'pages/scheduleApp/module/basicInfo/busInfoManage/detail.html'}  
80 - },  
81 - resolve: {  
82 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
83 - return $ocLazyLoad.load({  
84 - name: 'busInfoManage_detail_module',  
85 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
86 - files: [  
87 - "pages/scheduleApp/module/basicInfo/busInfoManage/module.js"  
88 - ]  
89 - });  
90 - }]  
91 - }  
92 - })  
93 - } 1 +// ui route 配置
  2 +
  3 +/** 车辆基础信息模块配置route */
  4 +ScheduleApp.config([
  5 + '$stateProvider',
  6 + '$urlRouterProvider',
  7 + function($stateProvider, $urlRouterProvider) {
  8 + // 默认路由
  9 + //$urlRouterProvider.otherwise('/busConfig.html');
  10 +
  11 + $stateProvider
  12 + .state("busInfoManage", { // index页面
  13 + url: '/busInfoManage',
  14 + views: {
  15 + "": {
  16 + templateUrl: 'pages/scheduleApp/module/basicInfo/busInfoManage/index.html'
  17 + },
  18 + "busInfoManage_list@busInfoManage": {
  19 + templateUrl: 'pages/scheduleApp/module/basicInfo/busInfoManage/list.html'
  20 + }
  21 + },
  22 +
  23 + resolve: {
  24 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  25 + return $ocLazyLoad.load({
  26 + name: 'busInfoManage_module',
  27 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  28 + files: [
  29 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  30 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  31 + "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",
  32 + "pages/scheduleApp/module/basicInfo/busInfoManage/module.js"
  33 + ]
  34 + });
  35 + }]
  36 + }
  37 + })
  38 + .state("busInfoManage_form", { // 添加车辆form
  39 + url: '/busInfoManage_form',
  40 + views: {
  41 + "": {templateUrl: 'pages/scheduleApp/module/basicInfo/busInfoManage/form.html'}
  42 + },
  43 + resolve: {
  44 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  45 + return $ocLazyLoad.load({
  46 + name: 'busInfoManage_form_module',
  47 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  48 + files: [
  49 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  50 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  51 + "pages/scheduleApp/module/basicInfo/busInfoManage/module.js"
  52 + ]
  53 + });
  54 + }]
  55 + }
  56 + })
  57 + .state("busInfoManage_edit", { // 修改车辆form
  58 + url: '/busInfoManage_edit/:id',
  59 + views: {
  60 + "": {templateUrl: 'pages/scheduleApp/module/basicInfo/busInfoManage/edit.html'}
  61 + },
  62 + resolve: {
  63 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  64 + return $ocLazyLoad.load({
  65 + name: 'busInfoManage_edit_module',
  66 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  67 + files: [
  68 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  69 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  70 + "pages/scheduleApp/module/basicInfo/busInfoManage/module.js"
  71 + ]
  72 + });
  73 + }]
  74 + }
  75 + })
  76 + .state("busInfoManage_detail", { // 车辆详细信息
  77 + url: '/busInfoManage_detail/:id',
  78 + views: {
  79 + "": {templateUrl: 'pages/scheduleApp/module/basicInfo/busInfoManage/detail.html'}
  80 + },
  81 + resolve: {
  82 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  83 + return $ocLazyLoad.load({
  84 + name: 'busInfoManage_detail_module',
  85 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  86 + files: [
  87 + "pages/scheduleApp/module/basicInfo/busInfoManage/module.js"
  88 + ]
  89 + });
  90 + }]
  91 + }
  92 + })
  93 + }
94 ]); 94 ]);
95 \ No newline at end of file 95 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/basicInfo/deviceInfoManage/module.js
1 -// 设备信息维护 service controller 等写在一起  
2 -  
3 -angular.module('ScheduleApp').factory('DeviceInfoManageService', ['DeviceInfoManageService_g', function(service) {  
4 - /** 当前的查询条件信息 */  
5 - var currentSearchCondition = {};  
6 -  
7 - /** 当前第几页 */  
8 - var currentPageNo = 1;  
9 -  
10 - return {  
11 - /**  
12 - * 获取查询条件信息,  
13 - * 用于给controller用来和页面数据绑定。  
14 - */  
15 - getSearchCondition: function() {  
16 - return currentSearchCondition;  
17 - },  
18 - /**  
19 - * 重置查询条件信息。  
20 - */  
21 - resetSearchCondition: function() {  
22 - var key;  
23 - for (key in currentSearchCondition) {  
24 - currentSearchCondition[key] = "";  
25 - }  
26 - },  
27 - /**  
28 - * 设置当前页码。  
29 - * @param cpn 从1开始,后台是从0开始的  
30 - */  
31 - setCurrentPageNo: function(cpn) {  
32 - currentPageNo = cpn;  
33 - },  
34 - /**  
35 - * 组装查询参数,返回一个promise查询结果。  
36 - * @param params 查询参数  
37 - * @return 返回一个 promise  
38 - */  
39 - getPage: function() {  
40 - var params = currentSearchCondition; // 查询条件  
41 - params.page = currentPageNo - 1; // 服务端页码从0开始  
42 - return service.list(params).$promise;  
43 - },  
44 - /**  
45 - * 获取明细信息。  
46 - * @param id 车辆id  
47 - * @return 返回一个 promise  
48 - */  
49 - getDetail: function(id) {  
50 - var params = {id: id};  
51 - return service.get(params).$promise;  
52 - },  
53 - /**  
54 - * 保存信息。  
55 - * @param obj 车辆详细信息  
56 - * @return 返回一个 promise  
57 - */  
58 - saveDetail: function(obj) {  
59 - return service.save(obj).$promise;  
60 - },  
61 - /**  
62 - * 删除信息。  
63 - * @param id 主键id  
64 - * @returns {*|Function|promise|n}  
65 - */  
66 - deleteDetail: function(id) {  
67 - return service.delete({id: id}).$promise;  
68 - }  
69 - };  
70 -  
71 -}]);  
72 -  
73 -angular.module('ScheduleApp').controller('DeviceInfoManageCtrl', ['DeviceInfoManageService', '$state', function(deviceInfoManageService, $state) {  
74 - var self = this;  
75 -  
76 - // 切换到form状态  
77 - self.goForm = function() {  
78 - //alert("切换");  
79 - $state.go("deviceInfoManage_form");  
80 - }  
81 -  
82 -  
83 -}]);  
84 -  
85 -angular.module('ScheduleApp').controller('DeviceInfoManageListCtrl', ['DeviceInfoManageService', function(deviceInfoManageService) {  
86 - var self = this;  
87 - self.pageInfo = {  
88 - totalItems : 0,  
89 - currentPage : 1,  
90 - infos: []  
91 - };  
92 -  
93 - // 初始创建的时候,获取一次列表数据  
94 - deviceInfoManageService.getPage().then(  
95 - function(result) {  
96 - self.pageInfo.totalItems = result.totalElements;  
97 - self.pageInfo.currentPage = result.number + 1;  
98 - self.pageInfo.infos = result.content;  
99 - deviceInfoManageService.setCurrentPageNo(result.number + 1);  
100 - },  
101 - function(result) {  
102 - alert("出错啦!");  
103 - }  
104 - );  
105 -  
106 - // 翻页的时候调用  
107 - self.pageChanaged = function() {  
108 - deviceInfoManageService.setCurrentPageNo(self.pageInfo.currentPage);  
109 - deviceInfoManageService.getPage().then(  
110 - function(result) {  
111 - self.pageInfo.totalItems = result.totalElements;  
112 - self.pageInfo.currentPage = result.number + 1;  
113 - self.pageInfo.infos = result.content;  
114 - deviceInfoManageService.setCurrentPageNo(result.number + 1);  
115 - },  
116 - function(result) {  
117 - alert("出错啦!");  
118 - }  
119 - );  
120 - };  
121 - // 获取查询条件数据  
122 - self.searchCondition = function() {  
123 - return deviceInfoManageService.getSearchCondition();  
124 - };  
125 - // 重置查询条件  
126 - self.resetSearchCondition = function() {  
127 - deviceInfoManageService.resetSearchCondition();  
128 - self.pageInfo.currentPage = 1;  
129 - self.pageChanaged();  
130 - };  
131 -  
132 - // 作废/撤销  
133 - self.toggleCde = function(id) {  
134 - // TODO:  
135 - deviceInfoManageService.deleteDetail(id).then(  
136 - function(result) {  
137 - if (result.message) { // 暂时这样做,之后全局拦截  
138 - alert("失败:" + result.message);  
139 - } else {  
140 - alert("成功!");  
141 -  
142 - deviceInfoManageService.getPage().then(  
143 - function(result) {  
144 - self.pageInfo.totalItems = result.totalElements;  
145 - self.pageInfo.currentPage = result.number + 1;  
146 - self.pageInfo.infos = result.content;  
147 - deviceInfoManageService.setCurrentPageNo(result.number + 1);  
148 - },  
149 - function(result) {  
150 - alert("出错啦!");  
151 - }  
152 - );  
153 - }  
154 -  
155 - },  
156 - function(result) {  
157 - alert("出错啦!" + result);  
158 - }  
159 - );  
160 - };  
161 -  
162 -}]);  
163 -  
164 -angular.module('ScheduleApp').controller('DeviceInfoManageFormCtrl', ['DeviceInfoManageService', '$stateParams', '$state', function(deviceInfoManageService, $stateParams, $state) {  
165 - var self = this;  
166 -  
167 - // 启用日期 日期控件开关  
168 - self.qyrqOpen = false;  
169 - self.qyrq_open = function() {  
170 - self.qyrqOpen = true;  
171 - };  
172 -  
173 - // 欲保存的busInfo信息,绑定  
174 - self.deviceInfoForSave = {};  
175 -  
176 - // 获取传过来的id,有的话就是修改,获取一遍数据  
177 - var id = $stateParams.id;  
178 - if (id) {  
179 - self.deviceInfoForSave.id = id;  
180 - deviceInfoManageService.getDetail(id).then(  
181 - function(result) {  
182 - var key;  
183 - for (key in result) {  
184 - self.deviceInfoForSave[key] = result[key];  
185 - }  
186 - // 填写所有的 select 控件选中框数据  
187 - // 公司字典  
188 - if (self.deviceInfoForSave.gsName) {  
189 - angular.forEach(self.gses, function(data) {  
190 - if (self.deviceInfoForSave.gsName == data.gsmc) {  
191 - self.deviceInfoForSave.gs_selected = data;  
192 - }  
193 - });  
194 - }  
195 - },  
196 - function(result) {  
197 - alert("出错啦!");  
198 - }  
199 - );  
200 - }  
201 -  
202 - // 提交方法  
203 - self.submit = function() {  
204 - console.log(self.deviceInfoForSave);  
205 - deviceInfoManageService.saveDetail(self.deviceInfoForSave).then(  
206 - function(result) {  
207 - // TODO:弹出框方式以后改  
208 - if (result.status == 'SUCCESS') {  
209 - alert("保存成功!");  
210 - $state.go("deviceInfoManage");  
211 - } else {  
212 - alert("保存异常!");  
213 - }  
214 - },  
215 - function(result) {  
216 - // TODO:弹出框方式以后改  
217 - alert("出错啦!");  
218 - }  
219 - );  
220 - };  
221 -  
222 -}]);  
223 -  
224 -angular.module('ScheduleApp').controller('DeviceInfoManageDetailCtrl', ['DeviceInfoManageService', '$stateParams', function(deviceInfoManageService, $stateParams) {  
225 - var self = this;  
226 - self.title = "";  
227 - self.deviceInfoForDetail = {};  
228 - self.deviceInfoForDetail.id = $stateParams.id;  
229 -  
230 - // 当转向到此页面时,就获取明细信息并绑定  
231 - deviceInfoManageService.getDetail($stateParams.id).then(  
232 - function(result) {  
233 - var key;  
234 - for (key in result) {  
235 - self.deviceInfoForDetail[key] = result[key];  
236 - }  
237 -  
238 - self.title = "车辆 " + self.deviceInfoForDetail.clZbh + "设备信息";  
239 - },  
240 - function(result) {  
241 - // TODO:弹出框方式以后改  
242 - alert("出错啦!");  
243 - }  
244 - ); 1 +// 设备信息维护 service controller 等写在一起
  2 +
  3 +angular.module('ScheduleApp').factory('DeviceInfoManageService', ['DeviceInfoManageService_g', function(service) {
  4 + /** 当前的查询条件信息 */
  5 + var currentSearchCondition = {};
  6 +
  7 + /** 当前第几页 */
  8 + var currentPageNo = 1;
  9 +
  10 + return {
  11 + /**
  12 + * 获取查询条件信息,
  13 + * 用于给controller用来和页面数据绑定。
  14 + */
  15 + getSearchCondition: function() {
  16 + return currentSearchCondition;
  17 + },
  18 + /**
  19 + * 重置查询条件信息。
  20 + */
  21 + resetSearchCondition: function() {
  22 + var key;
  23 + for (key in currentSearchCondition) {
  24 + currentSearchCondition[key] = "";
  25 + }
  26 + },
  27 + /**
  28 + * 设置当前页码。
  29 + * @param cpn 从1开始,后台是从0开始的
  30 + */
  31 + setCurrentPageNo: function(cpn) {
  32 + currentPageNo = cpn;
  33 + },
  34 + /**
  35 + * 组装查询参数,返回一个promise查询结果。
  36 + * @param params 查询参数
  37 + * @return 返回一个 promise
  38 + */
  39 + getPage: function() {
  40 + var params = currentSearchCondition; // 查询条件
  41 + params.page = currentPageNo - 1; // 服务端页码从0开始
  42 + return service.list(params).$promise;
  43 + },
  44 + /**
  45 + * 获取明细信息。
  46 + * @param id 车辆id
  47 + * @return 返回一个 promise
  48 + */
  49 + getDetail: function(id) {
  50 + var params = {id: id};
  51 + return service.get(params).$promise;
  52 + },
  53 + /**
  54 + * 保存信息。
  55 + * @param obj 车辆详细信息
  56 + * @return 返回一个 promise
  57 + */
  58 + saveDetail: function(obj) {
  59 + return service.save(obj).$promise;
  60 + },
  61 + /**
  62 + * 删除信息。
  63 + * @param id 主键id
  64 + * @returns {*|Function|promise|n}
  65 + */
  66 + deleteDetail: function(id) {
  67 + return service.delete({id: id}).$promise;
  68 + }
  69 + };
  70 +
  71 +}]);
  72 +
  73 +angular.module('ScheduleApp').controller('DeviceInfoManageCtrl', ['DeviceInfoManageService', '$state', function(deviceInfoManageService, $state) {
  74 + var self = this;
  75 +
  76 + // 切换到form状态
  77 + self.goForm = function() {
  78 + //alert("切换");
  79 + $state.go("deviceInfoManage_form");
  80 + }
  81 +
  82 +
  83 +}]);
  84 +
  85 +angular.module('ScheduleApp').controller('DeviceInfoManageListCtrl', ['DeviceInfoManageService', function(deviceInfoManageService) {
  86 + var self = this;
  87 + self.pageInfo = {
  88 + totalItems : 0,
  89 + currentPage : 1,
  90 + infos: []
  91 + };
  92 +
  93 + // 初始创建的时候,获取一次列表数据
  94 + deviceInfoManageService.getPage().then(
  95 + function(result) {
  96 + self.pageInfo.totalItems = result.totalElements;
  97 + self.pageInfo.currentPage = result.number + 1;
  98 + self.pageInfo.infos = result.content;
  99 + deviceInfoManageService.setCurrentPageNo(result.number + 1);
  100 + },
  101 + function(result) {
  102 + alert("出错啦!");
  103 + }
  104 + );
  105 +
  106 + // 翻页的时候调用
  107 + self.pageChanaged = function() {
  108 + deviceInfoManageService.setCurrentPageNo(self.pageInfo.currentPage);
  109 + deviceInfoManageService.getPage().then(
  110 + function(result) {
  111 + self.pageInfo.totalItems = result.totalElements;
  112 + self.pageInfo.currentPage = result.number + 1;
  113 + self.pageInfo.infos = result.content;
  114 + deviceInfoManageService.setCurrentPageNo(result.number + 1);
  115 + },
  116 + function(result) {
  117 + alert("出错啦!");
  118 + }
  119 + );
  120 + };
  121 + // 获取查询条件数据
  122 + self.searchCondition = function() {
  123 + return deviceInfoManageService.getSearchCondition();
  124 + };
  125 + // 重置查询条件
  126 + self.resetSearchCondition = function() {
  127 + deviceInfoManageService.resetSearchCondition();
  128 + self.pageInfo.currentPage = 1;
  129 + self.pageChanaged();
  130 + };
  131 +
  132 + // 作废/撤销
  133 + self.toggleCde = function(id) {
  134 + // TODO:
  135 + deviceInfoManageService.deleteDetail(id).then(
  136 + function(result) {
  137 + if (result.message) { // 暂时这样做,之后全局拦截
  138 + alert("失败:" + result.message);
  139 + } else {
  140 + alert("成功!");
  141 +
  142 + deviceInfoManageService.getPage().then(
  143 + function(result) {
  144 + self.pageInfo.totalItems = result.totalElements;
  145 + self.pageInfo.currentPage = result.number + 1;
  146 + self.pageInfo.infos = result.content;
  147 + deviceInfoManageService.setCurrentPageNo(result.number + 1);
  148 + },
  149 + function(result) {
  150 + alert("出错啦!");
  151 + }
  152 + );
  153 + }
  154 +
  155 + },
  156 + function(result) {
  157 + alert("出错啦!" + result);
  158 + }
  159 + );
  160 + };
  161 +
  162 +}]);
  163 +
  164 +angular.module('ScheduleApp').controller('DeviceInfoManageFormCtrl', ['DeviceInfoManageService', '$stateParams', '$state', function(deviceInfoManageService, $stateParams, $state) {
  165 + var self = this;
  166 +
  167 + // 启用日期 日期控件开关
  168 + self.qyrqOpen = false;
  169 + self.qyrq_open = function() {
  170 + self.qyrqOpen = true;
  171 + };
  172 +
  173 + // 欲保存的busInfo信息,绑定
  174 + self.deviceInfoForSave = {};
  175 +
  176 + // 获取传过来的id,有的话就是修改,获取一遍数据
  177 + var id = $stateParams.id;
  178 + if (id) {
  179 + self.deviceInfoForSave.id = id;
  180 + deviceInfoManageService.getDetail(id).then(
  181 + function(result) {
  182 + var key;
  183 + for (key in result) {
  184 + self.deviceInfoForSave[key] = result[key];
  185 + }
  186 + // 填写所有的 select 控件选中框数据
  187 + // 公司字典
  188 + if (self.deviceInfoForSave.gsName) {
  189 + angular.forEach(self.gses, function(data) {
  190 + if (self.deviceInfoForSave.gsName == data.gsmc) {
  191 + self.deviceInfoForSave.gs_selected = data;
  192 + }
  193 + });
  194 + }
  195 + },
  196 + function(result) {
  197 + alert("出错啦!");
  198 + }
  199 + );
  200 + }
  201 +
  202 + // 提交方法
  203 + self.submit = function() {
  204 + console.log(self.deviceInfoForSave);
  205 + deviceInfoManageService.saveDetail(self.deviceInfoForSave).then(
  206 + function(result) {
  207 + // TODO:弹出框方式以后改
  208 + if (result.status == 'SUCCESS') {
  209 + alert("保存成功!");
  210 + $state.go("deviceInfoManage");
  211 + } else {
  212 + alert("保存异常!");
  213 + }
  214 + },
  215 + function(result) {
  216 + // TODO:弹出框方式以后改
  217 + alert("出错啦!");
  218 + }
  219 + );
  220 + };
  221 +
  222 +}]);
  223 +
  224 +angular.module('ScheduleApp').controller('DeviceInfoManageDetailCtrl', ['DeviceInfoManageService', '$stateParams', function(deviceInfoManageService, $stateParams) {
  225 + var self = this;
  226 + self.title = "";
  227 + self.deviceInfoForDetail = {};
  228 + self.deviceInfoForDetail.id = $stateParams.id;
  229 +
  230 + // 当转向到此页面时,就获取明细信息并绑定
  231 + deviceInfoManageService.getDetail($stateParams.id).then(
  232 + function(result) {
  233 + var key;
  234 + for (key in result) {
  235 + self.deviceInfoForDetail[key] = result[key];
  236 + }
  237 +
  238 + self.title = "车辆 " + self.deviceInfoForDetail.clZbh + "设备信息";
  239 + },
  240 + function(result) {
  241 + // TODO:弹出框方式以后改
  242 + alert("出错啦!");
  243 + }
  244 + );
245 }]); 245 }]);
246 \ No newline at end of file 246 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/basicInfo/deviceInfoManage/route.js
1 -// ui route 配置  
2 -  
3 -/** 车辆设备信息模块配置route */  
4 -ScheduleApp.config([  
5 - '$stateProvider',  
6 - '$urlRouterProvider',  
7 - function($stateProvider, $urlRouterProvider) {  
8 - // 默认路由  
9 - //$urlRouterProvider.otherwise('/busConfig.html');  
10 -  
11 - $stateProvider  
12 - .state("deviceInfoManage", { // index页面  
13 - url: '/deviceInfoManage',  
14 - views: {  
15 - "": {  
16 - templateUrl: 'pages/scheduleApp/module/basicInfo/deviceInfoManage/index.html'  
17 - },  
18 - "deviceInfoManage_list@deviceInfoManage": {  
19 - templateUrl: 'pages/scheduleApp/module/basicInfo/deviceInfoManage/list.html'  
20 - }  
21 - },  
22 -  
23 - resolve: {  
24 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
25 - return $ocLazyLoad.load({  
26 - name: 'deviceInfoManage_module',  
27 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
28 - files: [  
29 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
30 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
31 - "pages/scheduleApp/module/basicInfo/deviceInfoManage/module.js"  
32 - ]  
33 - });  
34 - }]  
35 - }  
36 - })  
37 - .state("deviceInfoManage_form", { // 添加设备信息form  
38 - url: '/deviceInfoManage_form',  
39 - views: {  
40 - "": {templateUrl: 'pages/scheduleApp/module/basicInfo/deviceInfoManage/form.html'}  
41 - },  
42 - resolve: {  
43 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
44 - return $ocLazyLoad.load({  
45 - name: 'deviceInfoManage_form_module',  
46 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
47 - files: [  
48 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
49 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
50 - "pages/scheduleApp/module/basicInfo/deviceInfoManage/module.js"  
51 - ]  
52 - });  
53 - }]  
54 - }  
55 - })  
56 - .state("deviceInfoManage_edit", { // 修改设备信息form  
57 - url: '/deviceInfoManage_edit/:id',  
58 - views: {  
59 - "": {templateUrl: 'pages/scheduleApp/module/basicInfo/deviceInfoManage/edit.html'}  
60 - },  
61 - resolve: {  
62 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
63 - return $ocLazyLoad.load({  
64 - name: 'deviceInfoManage_edit_module',  
65 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
66 - files: [  
67 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
68 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
69 - "pages/scheduleApp/module/basicInfo/deviceInfoManage/module.js"  
70 - ]  
71 - });  
72 - }]  
73 - }  
74 - })  
75 - .state("deviceInfoManage_detail", { // 详细信息页面  
76 - url: '/deviceInfoManage_detail/:id',  
77 - views: {  
78 - "": {templateUrl: 'pages/scheduleApp/module/basicInfo/deviceInfoManage/detail.html'}  
79 - },  
80 - resolve: {  
81 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
82 - return $ocLazyLoad.load({  
83 - name: 'deviceInfoManage_detail_module',  
84 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
85 - files: [  
86 - "pages/scheduleApp/module/basicInfo/deviceInfoManage/module.js"  
87 - ]  
88 - });  
89 - }]  
90 - }  
91 - })  
92 -  
93 - } 1 +// ui route 配置
  2 +
  3 +/** 车辆设备信息模块配置route */
  4 +ScheduleApp.config([
  5 + '$stateProvider',
  6 + '$urlRouterProvider',
  7 + function($stateProvider, $urlRouterProvider) {
  8 + // 默认路由
  9 + //$urlRouterProvider.otherwise('/busConfig.html');
  10 +
  11 + $stateProvider
  12 + .state("deviceInfoManage", { // index页面
  13 + url: '/deviceInfoManage',
  14 + views: {
  15 + "": {
  16 + templateUrl: 'pages/scheduleApp/module/basicInfo/deviceInfoManage/index.html'
  17 + },
  18 + "deviceInfoManage_list@deviceInfoManage": {
  19 + templateUrl: 'pages/scheduleApp/module/basicInfo/deviceInfoManage/list.html'
  20 + }
  21 + },
  22 +
  23 + resolve: {
  24 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  25 + return $ocLazyLoad.load({
  26 + name: 'deviceInfoManage_module',
  27 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  28 + files: [
  29 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  30 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  31 + "pages/scheduleApp/module/basicInfo/deviceInfoManage/module.js"
  32 + ]
  33 + });
  34 + }]
  35 + }
  36 + })
  37 + .state("deviceInfoManage_form", { // 添加设备信息form
  38 + url: '/deviceInfoManage_form',
  39 + views: {
  40 + "": {templateUrl: 'pages/scheduleApp/module/basicInfo/deviceInfoManage/form.html'}
  41 + },
  42 + resolve: {
  43 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  44 + return $ocLazyLoad.load({
  45 + name: 'deviceInfoManage_form_module',
  46 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  47 + files: [
  48 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  49 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  50 + "pages/scheduleApp/module/basicInfo/deviceInfoManage/module.js"
  51 + ]
  52 + });
  53 + }]
  54 + }
  55 + })
  56 + .state("deviceInfoManage_edit", { // 修改设备信息form
  57 + url: '/deviceInfoManage_edit/:id',
  58 + views: {
  59 + "": {templateUrl: 'pages/scheduleApp/module/basicInfo/deviceInfoManage/edit.html'}
  60 + },
  61 + resolve: {
  62 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  63 + return $ocLazyLoad.load({
  64 + name: 'deviceInfoManage_edit_module',
  65 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  66 + files: [
  67 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  68 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  69 + "pages/scheduleApp/module/basicInfo/deviceInfoManage/module.js"
  70 + ]
  71 + });
  72 + }]
  73 + }
  74 + })
  75 + .state("deviceInfoManage_detail", { // 详细信息页面
  76 + url: '/deviceInfoManage_detail/:id',
  77 + views: {
  78 + "": {templateUrl: 'pages/scheduleApp/module/basicInfo/deviceInfoManage/detail.html'}
  79 + },
  80 + resolve: {
  81 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  82 + return $ocLazyLoad.load({
  83 + name: 'deviceInfoManage_detail_module',
  84 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  85 + files: [
  86 + "pages/scheduleApp/module/basicInfo/deviceInfoManage/module.js"
  87 + ]
  88 + });
  89 + }]
  90 + }
  91 + })
  92 +
  93 + }
94 ]); 94 ]);
95 \ No newline at end of file 95 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/basicInfo/employeeInfoManage/module.js
1 -// 人员信息管理 service controller等写在一起  
2 -  
3 -angular.module('ScheduleApp').factory('EmployeeInfoManageService', ['EmployeeInfoManageService_g', function(service) {  
4 -  
5 - /** 当前的查询条件信息 */  
6 - var currentSearchCondition = {  
7 - //"carCode_like" : "",  
8 - //"insideCode_like" : "",  
9 - //"equipmentCode_like" : "",  
10 - //"carPlate_like" : ""  
11 - };  
12 -  
13 - /** 当前第几页 */  
14 - var currentPageNo = 1;  
15 -  
16 - return {  
17 - /**  
18 - * 获取查询条件信息,  
19 - * 用于给controller用来和页面数据绑定。  
20 - */  
21 - getSearchCondition: function() {  
22 - return currentSearchCondition;  
23 - },  
24 - /**  
25 - * 重置查询条件信息。  
26 - */  
27 - resetSearchCondition: function() {  
28 - var key;  
29 - for (key in currentSearchCondition) {  
30 - currentSearchCondition[key] = undefined;  
31 - }  
32 - currentPageNo = 1;  
33 - },  
34 - /**  
35 - * 设置当前页码。  
36 - * @param cpn 从1开始,后台是从0开始的  
37 - */  
38 - setCurrentPageNo: function(cpn) {  
39 - currentPageNo = cpn;  
40 - },  
41 - /**  
42 - * 组装查询参数,返回一个promise查询结果。  
43 - * @param params 查询参数  
44 - * @return 返回一个 promise  
45 - */  
46 - getPage: function() {  
47 - var params = currentSearchCondition; // 查询条件  
48 - params.page = currentPageNo - 1; // 服务端页码从0开始  
49 - return service.rest.list(params).$promise;  
50 - },  
51 - /**  
52 - * 获取明细信息。  
53 - * @param id 车辆id  
54 - * @return 返回一个 promise  
55 - */  
56 - getDetail: function(id) {  
57 - var params = {id: id};  
58 - return service.rest.get(params).$promise;  
59 - },  
60 - /**  
61 - * 保存信息。  
62 - * @param obj 车辆详细信息  
63 - * @return 返回一个 promise  
64 - */  
65 - saveDetail: function(obj) {  
66 - return service.rest.save(obj).$promise;  
67 - },  
68 - /**  
69 - * 数据导出。  
70 - * @returns {*|Function|promise|n}  
71 - */  
72 - dataExport: function() {  
73 - return service.dataTools.dataExport().$promise;  
74 - }  
75 - }  
76 -  
77 -}]);  
78 -  
79 -angular.module('ScheduleApp').controller('EmployeeInfoManageCtrl', [  
80 - 'EmployeeInfoManageService', '$state', '$uibModal', 'FileDownload_g',  
81 - function(employeeInfoManageService, $state, $uibModal, fileDownload) {  
82 - var self = this;  
83 -  
84 - // 切换到form状态  
85 - self.goForm = function() {  
86 - //alert("切换");  
87 - $state.go("employeeInfoManage_form");  
88 - }  
89 -  
90 - // 导入excel  
91 - self.importData = function() {  
92 - // large方式弹出模态对话框  
93 - var modalInstance = $uibModal.open({  
94 - templateUrl: '/pages/scheduleApp/module/basicInfo/employeeInfoManage/dataImport.html',  
95 - size: "lg",  
96 - animation: true,  
97 - backdrop: 'static',  
98 - resolve: {  
99 - // 可以传值给controller  
100 - },  
101 - windowClass: 'center-modal',  
102 - controller: "EmployInfoManageToolsCtrl",  
103 - controllerAs: "ctrl",  
104 - bindToController: true  
105 - });  
106 - modalInstance.result.then(  
107 - function() {  
108 - console.log("dataImport.html打开");  
109 - },  
110 - function() {  
111 - console.log("dataImport.html消失");  
112 - }  
113 - );  
114 - };  
115 -  
116 - // 导出excel  
117 - self.exportData = function() {  
118 - employeeInfoManageService.dataExport().then(  
119 - function(result) {  
120 - fileDownload.downloadFile(result.data, "application/octet-stream", "人员基础信息.xls");  
121 - },  
122 - function(result) {  
123 - console.log("exportData failed:" + result);  
124 - }  
125 - );  
126 - };  
127 - }]);  
128 -  
129 -angular.module('ScheduleApp').controller('EmployInfoManageToolsCtrl', ['$modalInstance', 'FileUploader', function($modalInstance, FileUploader) {  
130 - var self = this;  
131 -  
132 - // 关闭窗口  
133 - self.close = function() {  
134 - $modalInstance.dismiss("cancel");  
135 - };  
136 -  
137 - self.clearInputFile = function() {  
138 - angular.element("input[type='file']").val(null);  
139 - };  
140 -  
141 - // 上传文件组件  
142 - self.uploader = new FileUploader({  
143 - url: "/personnel/dataImport",  
144 - filters: [] // 用于过滤文件,比如只允许导入excel  
145 - });  
146 - self.uploader.onAfterAddingFile = function(fileItem)  
147 - {  
148 - console.info('onAfterAddingFile', fileItem);  
149 - console.log(self.uploader.queue.length);  
150 - if (self.uploader.queue.length > 1)  
151 - self.uploader.removeFromQueue(0);  
152 - };  
153 - self.uploader.onSuccessItem = function(fileItem, response, status, headers)  
154 - {  
155 - console.info('onSuccessItem', fileItem, response, status, headers);  
156 - };  
157 - self.uploader.onErrorItem = function(fileItem, response, status, headers)  
158 - {  
159 - console.info('onErrorItem', fileItem, response, status, headers);  
160 - };  
161 -  
162 -}]);  
163 -  
164 -angular.module('ScheduleApp').controller('EmployeeInfoManageListCtrl', ['EmployeeInfoManageService', function(employeeInfoManageService) {  
165 - var self = this;  
166 - self.pageInfo = {  
167 - totalItems : 0,  
168 - currentPage : 1,  
169 - infos: []  
170 - };  
171 -  
172 - // 初始创建的时候,获取一次列表数据  
173 - employeeInfoManageService.getPage().then(  
174 - function(result) {  
175 - self.pageInfo.totalItems = result.totalElements;  
176 - self.pageInfo.currentPage = result.number + 1;  
177 - self.pageInfo.infos = result.content;  
178 - employeeInfoManageService.setCurrentPageNo(result.number + 1);  
179 - },  
180 - function(result) {  
181 - alert("出错啦!");  
182 - }  
183 - );  
184 -  
185 - //$scope.$watch("ctrl.pageInfo.currentPage", function() {  
186 - // alert("dfdfdf");  
187 - //});  
188 -  
189 - // 翻页的时候调用  
190 - self.pageChanaged = function() {  
191 - employeeInfoManageService.setCurrentPageNo(self.pageInfo.currentPage);  
192 - employeeInfoManageService.getPage().then(  
193 - function(result) {  
194 - self.pageInfo.totalItems = result.totalElements;  
195 - self.pageInfo.currentPage = result.number + 1;  
196 - self.pageInfo.infos = result.content;  
197 - employeeInfoManageService.setCurrentPageNo(result.number + 1);  
198 - },  
199 - function(result) {  
200 - alert("出错啦!");  
201 - }  
202 - );  
203 - };  
204 - // 获取查询条件数据  
205 - self.searchCondition = function() {  
206 - return employeeInfoManageService.getSearchCondition();  
207 - };  
208 - // 重置查询条件  
209 - self.resetSearchCondition = function() {  
210 - employeeInfoManageService.resetSearchCondition();  
211 - self.pageInfo.currentPage = 1;  
212 - self.pageChanaged();  
213 - };  
214 -}]);  
215 -  
216 -angular.module('ScheduleApp').controller('EmployeeInfoManageFormCtrl', ['EmployeeInfoManageService', '$stateParams', '$state', function(employeeInfoManageService, $stateParams, $state) {  
217 - var self = this;  
218 -  
219 - // 欲保存的busInfo信息,绑定  
220 - self.employeeInfoForSave = {};  
221 -  
222 - // 获取传过来的id,有的话就是修改,获取一遍数据  
223 - var id = $stateParams.id;  
224 - if (id) {  
225 - self.employeeInfoForSave.id = id;  
226 - employeeInfoManageService.getDetail(id).then(  
227 - function(result) {  
228 - var key;  
229 - for (key in result) {  
230 - self.employeeInfoForSave[key] = result[key];  
231 - }  
232 - },  
233 - function(result) {  
234 - alert("出错啦!");  
235 - }  
236 - );  
237 - }  
238 -  
239 - // 提交方法  
240 - self.submit = function() {  
241 - console.log(self.employeeInfoForSave);  
242 - employeeInfoManageService.saveDetail(self.employeeInfoForSave).then(  
243 - function(result) {  
244 - // TODO:弹出框方式以后改  
245 - if (result.status == 'SUCCESS') {  
246 - alert("保存成功!");  
247 - $state.go("employeeInfoManage");  
248 - } else {  
249 - alert("保存异常!");  
250 - }  
251 - },  
252 - function(result) {  
253 - // TODO:弹出框方式以后改  
254 - alert("出错啦!");  
255 - }  
256 - );  
257 - };  
258 -  
259 -  
260 -}]);  
261 -  
262 -angular.module('ScheduleApp').controller('EmployeeInfoManageDetailCtrl', ['EmployeeInfoManageService', '$stateParams', function(employeeInfoManageService, $stateParams) {  
263 - var self = this;  
264 - self.title = "";  
265 - self.employeeInfoForDetail = {};  
266 - self.employeeInfoForDetail.id = $stateParams.id;  
267 -  
268 - // 当转向到此页面时,就获取明细信息并绑定  
269 - employeeInfoManageService.getDetail($stateParams.id).then(  
270 - function(result) {  
271 - var key;  
272 - for (key in result) {  
273 - self.employeeInfoForDetail[key] = result[key];  
274 - }  
275 -  
276 - self.title = "员工 " + self.employeeInfoForDetail.personnelName + " 详细信息";  
277 - },  
278 - function(result) {  
279 - // TODO:弹出框方式以后改  
280 - alert("出错啦!");  
281 - }  
282 - );  
283 -}]);  
284 - 1 +// 人员信息管理 service controller等写在一起
  2 +
  3 +angular.module('ScheduleApp').factory('EmployeeInfoManageService', ['EmployeeInfoManageService_g', function(service) {
  4 +
  5 + /** 当前的查询条件信息 */
  6 + var currentSearchCondition = {
  7 + //"carCode_like" : "",
  8 + //"insideCode_like" : "",
  9 + //"equipmentCode_like" : "",
  10 + //"carPlate_like" : ""
  11 + };
  12 +
  13 + /** 当前第几页 */
  14 + var currentPageNo = 1;
  15 +
  16 + return {
  17 + /**
  18 + * 获取查询条件信息,
  19 + * 用于给controller用来和页面数据绑定。
  20 + */
  21 + getSearchCondition: function() {
  22 + return currentSearchCondition;
  23 + },
  24 + /**
  25 + * 重置查询条件信息。
  26 + */
  27 + resetSearchCondition: function() {
  28 + var key;
  29 + for (key in currentSearchCondition) {
  30 + currentSearchCondition[key] = undefined;
  31 + }
  32 + currentPageNo = 1;
  33 + },
  34 + /**
  35 + * 设置当前页码。
  36 + * @param cpn 从1开始,后台是从0开始的
  37 + */
  38 + setCurrentPageNo: function(cpn) {
  39 + currentPageNo = cpn;
  40 + },
  41 + /**
  42 + * 组装查询参数,返回一个promise查询结果。
  43 + * @param params 查询参数
  44 + * @return 返回一个 promise
  45 + */
  46 + getPage: function() {
  47 + var params = currentSearchCondition; // 查询条件
  48 + params.page = currentPageNo - 1; // 服务端页码从0开始
  49 + return service.rest.list(params).$promise;
  50 + },
  51 + /**
  52 + * 获取明细信息。
  53 + * @param id 车辆id
  54 + * @return 返回一个 promise
  55 + */
  56 + getDetail: function(id) {
  57 + var params = {id: id};
  58 + return service.rest.get(params).$promise;
  59 + },
  60 + /**
  61 + * 保存信息。
  62 + * @param obj 车辆详细信息
  63 + * @return 返回一个 promise
  64 + */
  65 + saveDetail: function(obj) {
  66 + return service.rest.save(obj).$promise;
  67 + },
  68 + /**
  69 + * 数据导出。
  70 + * @returns {*|Function|promise|n}
  71 + */
  72 + dataExport: function() {
  73 + return service.dataTools.dataExport().$promise;
  74 + }
  75 + }
  76 +
  77 +}]);
  78 +
  79 +angular.module('ScheduleApp').controller('EmployeeInfoManageCtrl', [
  80 + 'EmployeeInfoManageService', '$state', '$uibModal', 'FileDownload_g',
  81 + function(employeeInfoManageService, $state, $uibModal, fileDownload) {
  82 + var self = this;
  83 +
  84 + // 切换到form状态
  85 + self.goForm = function() {
  86 + //alert("切换");
  87 + $state.go("employeeInfoManage_form");
  88 + }
  89 +
  90 + // 导入excel
  91 + self.importData = function() {
  92 + // large方式弹出模态对话框
  93 + var modalInstance = $uibModal.open({
  94 + templateUrl: '/pages/scheduleApp/module/basicInfo/employeeInfoManage/dataImport.html',
  95 + size: "lg",
  96 + animation: true,
  97 + backdrop: 'static',
  98 + resolve: {
  99 + // 可以传值给controller
  100 + },
  101 + windowClass: 'center-modal',
  102 + controller: "EmployInfoManageToolsCtrl",
  103 + controllerAs: "ctrl",
  104 + bindToController: true
  105 + });
  106 + modalInstance.result.then(
  107 + function() {
  108 + console.log("dataImport.html打开");
  109 + },
  110 + function() {
  111 + console.log("dataImport.html消失");
  112 + }
  113 + );
  114 + };
  115 +
  116 + // 导出excel
  117 + self.exportData = function() {
  118 + employeeInfoManageService.dataExport().then(
  119 + function(result) {
  120 + fileDownload.downloadFile(result.data, "application/octet-stream", "人员基础信息.xls");
  121 + },
  122 + function(result) {
  123 + console.log("exportData failed:" + result);
  124 + }
  125 + );
  126 + };
  127 + }]);
  128 +
  129 +angular.module('ScheduleApp').controller('EmployInfoManageToolsCtrl', ['$modalInstance', 'FileUploader', function($modalInstance, FileUploader) {
  130 + var self = this;
  131 +
  132 + // 关闭窗口
  133 + self.close = function() {
  134 + $modalInstance.dismiss("cancel");
  135 + };
  136 +
  137 + self.clearInputFile = function() {
  138 + angular.element("input[type='file']").val(null);
  139 + };
  140 +
  141 + // 上传文件组件
  142 + self.uploader = new FileUploader({
  143 + url: "/personnel/dataImport",
  144 + filters: [] // 用于过滤文件,比如只允许导入excel
  145 + });
  146 + self.uploader.onAfterAddingFile = function(fileItem)
  147 + {
  148 + console.info('onAfterAddingFile', fileItem);
  149 + console.log(self.uploader.queue.length);
  150 + if (self.uploader.queue.length > 1)
  151 + self.uploader.removeFromQueue(0);
  152 + };
  153 + self.uploader.onSuccessItem = function(fileItem, response, status, headers)
  154 + {
  155 + console.info('onSuccessItem', fileItem, response, status, headers);
  156 + };
  157 + self.uploader.onErrorItem = function(fileItem, response, status, headers)
  158 + {
  159 + console.info('onErrorItem', fileItem, response, status, headers);
  160 + };
  161 +
  162 +}]);
  163 +
  164 +angular.module('ScheduleApp').controller('EmployeeInfoManageListCtrl', ['EmployeeInfoManageService', function(employeeInfoManageService) {
  165 + var self = this;
  166 + self.pageInfo = {
  167 + totalItems : 0,
  168 + currentPage : 1,
  169 + infos: []
  170 + };
  171 +
  172 + // 初始创建的时候,获取一次列表数据
  173 + employeeInfoManageService.getPage().then(
  174 + function(result) {
  175 + self.pageInfo.totalItems = result.totalElements;
  176 + self.pageInfo.currentPage = result.number + 1;
  177 + self.pageInfo.infos = result.content;
  178 + employeeInfoManageService.setCurrentPageNo(result.number + 1);
  179 + },
  180 + function(result) {
  181 + alert("出错啦!");
  182 + }
  183 + );
  184 +
  185 + //$scope.$watch("ctrl.pageInfo.currentPage", function() {
  186 + // alert("dfdfdf");
  187 + //});
  188 +
  189 + // 翻页的时候调用
  190 + self.pageChanaged = function() {
  191 + employeeInfoManageService.setCurrentPageNo(self.pageInfo.currentPage);
  192 + employeeInfoManageService.getPage().then(
  193 + function(result) {
  194 + self.pageInfo.totalItems = result.totalElements;
  195 + self.pageInfo.currentPage = result.number + 1;
  196 + self.pageInfo.infos = result.content;
  197 + employeeInfoManageService.setCurrentPageNo(result.number + 1);
  198 + },
  199 + function(result) {
  200 + alert("出错啦!");
  201 + }
  202 + );
  203 + };
  204 + // 获取查询条件数据
  205 + self.searchCondition = function() {
  206 + return employeeInfoManageService.getSearchCondition();
  207 + };
  208 + // 重置查询条件
  209 + self.resetSearchCondition = function() {
  210 + employeeInfoManageService.resetSearchCondition();
  211 + self.pageInfo.currentPage = 1;
  212 + self.pageChanaged();
  213 + };
  214 +}]);
  215 +
  216 +angular.module('ScheduleApp').controller('EmployeeInfoManageFormCtrl', ['EmployeeInfoManageService', '$stateParams', '$state', function(employeeInfoManageService, $stateParams, $state) {
  217 + var self = this;
  218 +
  219 + // 欲保存的busInfo信息,绑定
  220 + self.employeeInfoForSave = {};
  221 +
  222 + // 获取传过来的id,有的话就是修改,获取一遍数据
  223 + var id = $stateParams.id;
  224 + if (id) {
  225 + self.employeeInfoForSave.id = id;
  226 + employeeInfoManageService.getDetail(id).then(
  227 + function(result) {
  228 + var key;
  229 + for (key in result) {
  230 + self.employeeInfoForSave[key] = result[key];
  231 + }
  232 + },
  233 + function(result) {
  234 + alert("出错啦!");
  235 + }
  236 + );
  237 + }
  238 +
  239 + // 提交方法
  240 + self.submit = function() {
  241 + console.log(self.employeeInfoForSave);
  242 + employeeInfoManageService.saveDetail(self.employeeInfoForSave).then(
  243 + function(result) {
  244 + // TODO:弹出框方式以后改
  245 + if (result.status == 'SUCCESS') {
  246 + alert("保存成功!");
  247 + $state.go("employeeInfoManage");
  248 + } else {
  249 + alert("保存异常!");
  250 + }
  251 + },
  252 + function(result) {
  253 + // TODO:弹出框方式以后改
  254 + alert("出错啦!");
  255 + }
  256 + );
  257 + };
  258 +
  259 +
  260 +}]);
  261 +
  262 +angular.module('ScheduleApp').controller('EmployeeInfoManageDetailCtrl', ['EmployeeInfoManageService', '$stateParams', function(employeeInfoManageService, $stateParams) {
  263 + var self = this;
  264 + self.title = "";
  265 + self.employeeInfoForDetail = {};
  266 + self.employeeInfoForDetail.id = $stateParams.id;
  267 +
  268 + // 当转向到此页面时,就获取明细信息并绑定
  269 + employeeInfoManageService.getDetail($stateParams.id).then(
  270 + function(result) {
  271 + var key;
  272 + for (key in result) {
  273 + self.employeeInfoForDetail[key] = result[key];
  274 + }
  275 +
  276 + self.title = "员工 " + self.employeeInfoForDetail.personnelName + " 详细信息";
  277 + },
  278 + function(result) {
  279 + // TODO:弹出框方式以后改
  280 + alert("出错啦!");
  281 + }
  282 + );
  283 +}]);
  284 +
src/main/resources/static/pages/scheduleApp/module/basicInfo/employeeInfoManage/route.js
1 -// ui route 配置  
2 -  
3 -/** 人员基础信息模块配置route */  
4 -ScheduleApp.config([  
5 - '$stateProvider',  
6 - '$urlRouterProvider',  
7 - function($stateProvider, $urlRouterProvider) {  
8 - // 默认路由  
9 - //$urlRouterProvider.otherwise('/busConfig.html');  
10 -  
11 - $stateProvider  
12 - .state("employeeInfoManage", { // index页面  
13 - url: '/employeeInfoManage',  
14 - views: {  
15 - "": {  
16 - templateUrl: 'pages/scheduleApp/module/basicInfo/employeeInfoManage/index.html'  
17 - },  
18 - "employeeInfoManage_list@employeeInfoManage": {  
19 - templateUrl: 'pages/scheduleApp/module/basicInfo/employeeInfoManage/list.html'  
20 - }  
21 - },  
22 -  
23 - resolve: {  
24 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
25 - return $ocLazyLoad.load({  
26 - name: 'employeeInfoManage_module',  
27 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
28 - files: [  
29 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
30 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
31 - "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",  
32 - "pages/scheduleApp/module/basicInfo/employeeInfoManage/module.js"  
33 - ]  
34 - });  
35 - }]  
36 - }  
37 - })  
38 - .state("employeeInfoManage_form", { // 添加人员信息form  
39 - url: '/employeeInfoManage_form',  
40 - views: {  
41 - "": {templateUrl: 'pages/scheduleApp/module/basicInfo/employeeInfoManage/form.html'}  
42 - },  
43 - resolve: {  
44 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
45 - return $ocLazyLoad.load({  
46 - name: 'employeeInfoManage_form_module',  
47 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
48 - files: [  
49 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
50 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
51 - "pages/scheduleApp/module/basicInfo/employeeInfoManage/module.js"  
52 - ]  
53 - });  
54 - }]  
55 - }  
56 - })  
57 - .state("employeeInfoManage_edit", { // 修改人员信息form  
58 - url: '/employeeInfoManage_edit/:id',  
59 - views: {  
60 - "": {templateUrl: 'pages/scheduleApp/module/basicInfo/employeeInfoManage/edit.html'}  
61 - },  
62 - resolve: {  
63 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
64 - return $ocLazyLoad.load({  
65 - name: 'employeeInfoManage_edit_module',  
66 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
67 - files: [  
68 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
69 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
70 - "pages/scheduleApp/module/basicInfo/employeeInfoManage/module.js"  
71 - ]  
72 - });  
73 - }]  
74 - }  
75 - })  
76 - .state("employeeInfoManage_detail", { // 详细信息页面  
77 - url: '/employeeInfoManage_detail/:id',  
78 - views: {  
79 - "": {templateUrl: 'pages/scheduleApp/module/basicInfo/employeeInfoManage/detail.html'}  
80 - },  
81 - resolve: {  
82 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
83 - return $ocLazyLoad.load({  
84 - name: 'employeeInfoManage_detail_module',  
85 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
86 - files: [  
87 - "pages/scheduleApp/module/basicInfo/employeeInfoManage/module.js"  
88 - ]  
89 - });  
90 - }]  
91 - }  
92 - })  
93 - 1 +// ui route 配置
  2 +
  3 +/** 人员基础信息模块配置route */
  4 +ScheduleApp.config([
  5 + '$stateProvider',
  6 + '$urlRouterProvider',
  7 + function($stateProvider, $urlRouterProvider) {
  8 + // 默认路由
  9 + //$urlRouterProvider.otherwise('/busConfig.html');
  10 +
  11 + $stateProvider
  12 + .state("employeeInfoManage", { // index页面
  13 + url: '/employeeInfoManage',
  14 + views: {
  15 + "": {
  16 + templateUrl: 'pages/scheduleApp/module/basicInfo/employeeInfoManage/index.html'
  17 + },
  18 + "employeeInfoManage_list@employeeInfoManage": {
  19 + templateUrl: 'pages/scheduleApp/module/basicInfo/employeeInfoManage/list.html'
  20 + }
  21 + },
  22 +
  23 + resolve: {
  24 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  25 + return $ocLazyLoad.load({
  26 + name: 'employeeInfoManage_module',
  27 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  28 + files: [
  29 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  30 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  31 + "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",
  32 + "pages/scheduleApp/module/basicInfo/employeeInfoManage/module.js"
  33 + ]
  34 + });
  35 + }]
  36 + }
  37 + })
  38 + .state("employeeInfoManage_form", { // 添加人员信息form
  39 + url: '/employeeInfoManage_form',
  40 + views: {
  41 + "": {templateUrl: 'pages/scheduleApp/module/basicInfo/employeeInfoManage/form.html'}
  42 + },
  43 + resolve: {
  44 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  45 + return $ocLazyLoad.load({
  46 + name: 'employeeInfoManage_form_module',
  47 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  48 + files: [
  49 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  50 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  51 + "pages/scheduleApp/module/basicInfo/employeeInfoManage/module.js"
  52 + ]
  53 + });
  54 + }]
  55 + }
  56 + })
  57 + .state("employeeInfoManage_edit", { // 修改人员信息form
  58 + url: '/employeeInfoManage_edit/:id',
  59 + views: {
  60 + "": {templateUrl: 'pages/scheduleApp/module/basicInfo/employeeInfoManage/edit.html'}
  61 + },
  62 + resolve: {
  63 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  64 + return $ocLazyLoad.load({
  65 + name: 'employeeInfoManage_edit_module',
  66 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  67 + files: [
  68 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  69 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  70 + "pages/scheduleApp/module/basicInfo/employeeInfoManage/module.js"
  71 + ]
  72 + });
  73 + }]
  74 + }
  75 + })
  76 + .state("employeeInfoManage_detail", { // 详细信息页面
  77 + url: '/employeeInfoManage_detail/:id',
  78 + views: {
  79 + "": {templateUrl: 'pages/scheduleApp/module/basicInfo/employeeInfoManage/detail.html'}
  80 + },
  81 + resolve: {
  82 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  83 + return $ocLazyLoad.load({
  84 + name: 'employeeInfoManage_detail_module',
  85 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  86 + files: [
  87 + "pages/scheduleApp/module/basicInfo/employeeInfoManage/module.js"
  88 + ]
  89 + });
  90 + }]
  91 + }
  92 + })
  93 +
94 }]); 94 }]);
95 \ No newline at end of file 95 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/common/prj-common-ui-route-state.js
1 -//所有模块ui route 配置// ui route 配置  
2 -  
3 -/** 车辆基础信息模块配置route */  
4 -ScheduleApp.config([  
5 - '$stateProvider',  
6 - '$urlRouterProvider',  
7 - function($stateProvider, $urlRouterProvider) {  
8 - // 默认路由  
9 - //$urlRouterProvider.otherwise('/busConfig.html');  
10 -  
11 - $stateProvider  
12 - .state("busInfoManage", { // index页面  
13 - url: '/busInfoManage',  
14 - views: {  
15 - "": {  
16 - templateUrl: 'pages/scheduleApp/module/basicInfo/busInfoManage/index.html'  
17 - },  
18 - "busInfoManage_list@busInfoManage": {  
19 - templateUrl: 'pages/scheduleApp/module/basicInfo/busInfoManage/list.html'  
20 - }  
21 - },  
22 -  
23 - resolve: {  
24 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
25 - return $ocLazyLoad.load({  
26 - name: 'busInfoManage_module',  
27 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
28 - files: [  
29 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
30 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
31 - "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",  
32 - "pages/scheduleApp/module/basicInfo/busInfoManage/module.js"  
33 - ]  
34 - });  
35 - }]  
36 - }  
37 - })  
38 - .state("busInfoManage_form", { // 添加车辆form  
39 - url: '/busInfoManage_form',  
40 - views: {  
41 - "": {templateUrl: 'pages/scheduleApp/module/basicInfo/busInfoManage/form.html'}  
42 - },  
43 - resolve: {  
44 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
45 - return $ocLazyLoad.load({  
46 - name: 'busInfoManage_form_module',  
47 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
48 - files: [  
49 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
50 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
51 - "pages/scheduleApp/module/basicInfo/busInfoManage/module.js"  
52 - ]  
53 - });  
54 - }]  
55 - }  
56 - })  
57 - .state("busInfoManage_edit", { // 修改车辆form  
58 - url: '/busInfoManage_edit/:id',  
59 - views: {  
60 - "": {templateUrl: 'pages/scheduleApp/module/basicInfo/busInfoManage/edit.html'}  
61 - },  
62 - resolve: {  
63 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
64 - return $ocLazyLoad.load({  
65 - name: 'busInfoManage_edit_module',  
66 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
67 - files: [  
68 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
69 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
70 - "pages/scheduleApp/module/basicInfo/busInfoManage/module.js"  
71 - ]  
72 - });  
73 - }]  
74 - }  
75 - })  
76 - .state("busInfoManage_detail", { // 车辆详细信息  
77 - url: '/busInfoManage_detail/:id',  
78 - views: {  
79 - "": {templateUrl: 'pages/scheduleApp/module/basicInfo/busInfoManage/detail.html'}  
80 - },  
81 - resolve: {  
82 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
83 - return $ocLazyLoad.load({  
84 - name: 'busInfoManage_detail_module',  
85 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
86 - files: [  
87 - "pages/scheduleApp/module/basicInfo/busInfoManage/module.js"  
88 - ]  
89 - });  
90 - }]  
91 - }  
92 - })  
93 - }  
94 -]);  
95 -// ui route 配置  
96 -  
97 -/** 车辆设备信息模块配置route */  
98 -ScheduleApp.config([  
99 - '$stateProvider',  
100 - '$urlRouterProvider',  
101 - function($stateProvider, $urlRouterProvider) {  
102 - // 默认路由  
103 - //$urlRouterProvider.otherwise('/busConfig.html');  
104 -  
105 - $stateProvider  
106 - .state("deviceInfoManage", { // index页面  
107 - url: '/deviceInfoManage',  
108 - views: {  
109 - "": {  
110 - templateUrl: 'pages/scheduleApp/module/basicInfo/deviceInfoManage/index.html'  
111 - },  
112 - "deviceInfoManage_list@deviceInfoManage": {  
113 - templateUrl: 'pages/scheduleApp/module/basicInfo/deviceInfoManage/list.html'  
114 - }  
115 - },  
116 -  
117 - resolve: {  
118 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
119 - return $ocLazyLoad.load({  
120 - name: 'deviceInfoManage_module',  
121 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
122 - files: [  
123 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
124 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
125 - "pages/scheduleApp/module/basicInfo/deviceInfoManage/module.js"  
126 - ]  
127 - });  
128 - }]  
129 - }  
130 - })  
131 - .state("deviceInfoManage_form", { // 添加设备信息form  
132 - url: '/deviceInfoManage_form',  
133 - views: {  
134 - "": {templateUrl: 'pages/scheduleApp/module/basicInfo/deviceInfoManage/form.html'}  
135 - },  
136 - resolve: {  
137 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
138 - return $ocLazyLoad.load({  
139 - name: 'deviceInfoManage_form_module',  
140 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
141 - files: [  
142 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
143 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
144 - "pages/scheduleApp/module/basicInfo/deviceInfoManage/module.js"  
145 - ]  
146 - });  
147 - }]  
148 - }  
149 - })  
150 - .state("deviceInfoManage_edit", { // 修改设备信息form  
151 - url: '/deviceInfoManage_edit/:id',  
152 - views: {  
153 - "": {templateUrl: 'pages/scheduleApp/module/basicInfo/deviceInfoManage/edit.html'}  
154 - },  
155 - resolve: {  
156 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
157 - return $ocLazyLoad.load({  
158 - name: 'deviceInfoManage_edit_module',  
159 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
160 - files: [  
161 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
162 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
163 - "pages/scheduleApp/module/basicInfo/deviceInfoManage/module.js"  
164 - ]  
165 - });  
166 - }]  
167 - }  
168 - })  
169 - .state("deviceInfoManage_detail", { // 详细信息页面  
170 - url: '/deviceInfoManage_detail/:id',  
171 - views: {  
172 - "": {templateUrl: 'pages/scheduleApp/module/basicInfo/deviceInfoManage/detail.html'}  
173 - },  
174 - resolve: {  
175 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
176 - return $ocLazyLoad.load({  
177 - name: 'deviceInfoManage_detail_module',  
178 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
179 - files: [  
180 - "pages/scheduleApp/module/basicInfo/deviceInfoManage/module.js"  
181 - ]  
182 - });  
183 - }]  
184 - }  
185 - })  
186 -  
187 - }  
188 -]);  
189 -// ui route 配置  
190 -  
191 -/** 人员基础信息模块配置route */  
192 -ScheduleApp.config([  
193 - '$stateProvider',  
194 - '$urlRouterProvider',  
195 - function($stateProvider, $urlRouterProvider) {  
196 - // 默认路由  
197 - //$urlRouterProvider.otherwise('/busConfig.html');  
198 -  
199 - $stateProvider  
200 - .state("employeeInfoManage", { // index页面  
201 - url: '/employeeInfoManage',  
202 - views: {  
203 - "": {  
204 - templateUrl: 'pages/scheduleApp/module/basicInfo/employeeInfoManage/index.html'  
205 - },  
206 - "employeeInfoManage_list@employeeInfoManage": {  
207 - templateUrl: 'pages/scheduleApp/module/basicInfo/employeeInfoManage/list.html'  
208 - }  
209 - },  
210 -  
211 - resolve: {  
212 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
213 - return $ocLazyLoad.load({  
214 - name: 'employeeInfoManage_module',  
215 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
216 - files: [  
217 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
218 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
219 - "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",  
220 - "pages/scheduleApp/module/basicInfo/employeeInfoManage/module.js"  
221 - ]  
222 - });  
223 - }]  
224 - }  
225 - })  
226 - .state("employeeInfoManage_form", { // 添加人员信息form  
227 - url: '/employeeInfoManage_form',  
228 - views: {  
229 - "": {templateUrl: 'pages/scheduleApp/module/basicInfo/employeeInfoManage/form.html'}  
230 - },  
231 - resolve: {  
232 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
233 - return $ocLazyLoad.load({  
234 - name: 'employeeInfoManage_form_module',  
235 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
236 - files: [  
237 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
238 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
239 - "pages/scheduleApp/module/basicInfo/employeeInfoManage/module.js"  
240 - ]  
241 - });  
242 - }]  
243 - }  
244 - })  
245 - .state("employeeInfoManage_edit", { // 修改人员信息form  
246 - url: '/employeeInfoManage_edit/:id',  
247 - views: {  
248 - "": {templateUrl: 'pages/scheduleApp/module/basicInfo/employeeInfoManage/edit.html'}  
249 - },  
250 - resolve: {  
251 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
252 - return $ocLazyLoad.load({  
253 - name: 'employeeInfoManage_edit_module',  
254 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
255 - files: [  
256 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
257 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
258 - "pages/scheduleApp/module/basicInfo/employeeInfoManage/module.js"  
259 - ]  
260 - });  
261 - }]  
262 - }  
263 - })  
264 - .state("employeeInfoManage_detail", { // 详细信息页面  
265 - url: '/employeeInfoManage_detail/:id',  
266 - views: {  
267 - "": {templateUrl: 'pages/scheduleApp/module/basicInfo/employeeInfoManage/detail.html'}  
268 - },  
269 - resolve: {  
270 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
271 - return $ocLazyLoad.load({  
272 - name: 'employeeInfoManage_detail_module',  
273 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
274 - files: [  
275 - "pages/scheduleApp/module/basicInfo/employeeInfoManage/module.js"  
276 - ]  
277 - });  
278 - }]  
279 - }  
280 - })  
281 -  
282 -}]);  
283 -// ui route 配置  
284 -  
285 -/** 车辆配置模块页面route */  
286 -ScheduleApp.config([  
287 - '$stateProvider',  
288 - '$urlRouterProvider',  
289 - function($stateProvider, $urlRouterProvider) {  
290 - // 默认路由  
291 - //$urlRouterProvider.otherwise('/busConfig.html');  
292 -  
293 - $stateProvider  
294 - .state("busConfig", { // index主页面  
295 - url: '/busConfig',  
296 - views: {  
297 - "": {  
298 - templateUrl: 'pages/scheduleApp/module/core/busConfig/index.html'  
299 - },  
300 - "busConfig_list@busConfig": {  
301 - templateUrl: 'pages/scheduleApp/module/core/busConfig/list.html'  
302 - }  
303 - },  
304 -  
305 - resolve: {  
306 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
307 - return $ocLazyLoad.load({  
308 - name: 'busConfig_module',  
309 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
310 - files: [  
311 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
312 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
313 - "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",  
314 - "pages/scheduleApp/module/core/busConfig/module.js"  
315 - ]  
316 - });  
317 - }]  
318 - }  
319 - })  
320 - .state("busConfig_form", { // 添加页面  
321 - url: '/busConfig_form',  
322 - views: {  
323 - "": {templateUrl: 'pages/scheduleApp/module/core/busConfig/form.html'}  
324 - },  
325 - resolve: {  
326 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
327 - return $ocLazyLoad.load({  
328 - name: 'busConfig_form_module',  
329 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
330 - files: [  
331 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
332 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
333 - "pages/scheduleApp/module/core/busConfig/module.js"  
334 - ]  
335 - });  
336 - }]  
337 - }  
338 - })  
339 - .state("busConfig_edit", { // 修改页面  
340 - url: '/busConfig_edit/:id',  
341 - views: {  
342 - "": {templateUrl: 'pages/scheduleApp/module/core/busConfig/edit.html'}  
343 - },  
344 - resolve: {  
345 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
346 - return $ocLazyLoad.load({  
347 - name: 'busConfig_edit_module',  
348 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
349 - files: [  
350 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
351 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
352 - "pages/scheduleApp/module/core/busConfig/module.js"  
353 - ]  
354 - });  
355 - }]  
356 - }  
357 - })  
358 - .state("busConfig_detail", { // 详细信息页面  
359 - url: '/busConfig_detail/:id',  
360 - views: {  
361 - "": {templateUrl: 'pages/scheduleApp/module/core/busConfig/detail.html'}  
362 - },  
363 - resolve: {  
364 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
365 - return $ocLazyLoad.load({  
366 - name: 'busConfig_detail_module',  
367 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
368 - files: [  
369 - "pages/scheduleApp/module/core/busConfig/module.js"  
370 - ]  
371 - });  
372 - }]  
373 - }  
374 - });  
375 - }  
376 -]);  
377 -  
378 -  
379 -  
380 -// ui route 配置  
381 -  
382 -/** 线路运营概览配置route */  
383 -ScheduleApp.config([  
384 - '$stateProvider',  
385 - '$urlRouterProvider',  
386 - function($stateProvider, $urlRouterProvider) {  
387 - // 默认路由  
388 - //$urlRouterProvider.otherwise('/busConfig.html');  
389 -  
390 - $stateProvider  
391 - .state("busLineInfoStat", { // index页面  
392 - url: '/busLineInfoStat',  
393 - views: {  
394 - "": {  
395 - templateUrl: 'pages/scheduleApp/module/core/busLineInfoStat/index.html'  
396 - },  
397 - "busLineInfoStat_list@busLineInfoStat": {  
398 - templateUrl: 'pages/scheduleApp/module/core/busLineInfoStat/list.html'  
399 - }  
400 - },  
401 -  
402 - resolve: {  
403 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
404 - return $ocLazyLoad.load({  
405 - name: 'busLineInfoStat_module',  
406 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
407 - files: [  
408 - "pages/scheduleApp/module/core/busLineInfoStat/module.js"  
409 - ]  
410 - });  
411 - }]  
412 - }  
413 - });  
414 -  
415 - }  
416 -]);  
417 -// ui route 配置  
418 -  
419 -/** 人员配置模块页面route */  
420 -ScheduleApp.config([  
421 - '$stateProvider',  
422 - '$urlRouterProvider',  
423 - function($stateProvider, $urlRouterProvider) {  
424 - // 默认路由  
425 - //$urlRouterProvider.otherwise('/busConfig.html');  
426 -  
427 - $stateProvider  
428 - .state("employeeConfig", { // index页面  
429 - url: '/employeeConfig',  
430 - views: {  
431 - "": {  
432 - templateUrl: 'pages/scheduleApp/module/core/employeeConfig/index.html'  
433 - },  
434 - "employeeConfig_list@employeeConfig": {  
435 - templateUrl: 'pages/scheduleApp/module/core/employeeConfig/list.html'  
436 - }  
437 - },  
438 -  
439 - resolve: {  
440 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
441 - return $ocLazyLoad.load({  
442 - name: 'employeeConfig_module',  
443 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
444 - files: [  
445 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
446 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
447 - "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",  
448 - "pages/scheduleApp/module/core/employeeConfig/module.js"  
449 - ]  
450 - });  
451 - }]  
452 - }  
453 - })  
454 - .state("employeeConfig_form", { // 添加人员配置form  
455 - url: '/employeeConfig_form',  
456 - views: {  
457 - "": {templateUrl: 'pages/scheduleApp/module/core/employeeConfig/form.html'}  
458 - },  
459 - resolve: {  
460 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
461 - return $ocLazyLoad.load({  
462 - name: 'employeeConfig_form_module',  
463 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
464 - files: [  
465 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
466 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
467 - "pages/scheduleApp/module/core/employeeConfig/module.js"  
468 - ]  
469 - });  
470 - }]  
471 - }  
472 - })  
473 - .state("employeeConfig_edit", { // 修改人员配置form  
474 - url: '/employeeConfig_edit/:id',  
475 - views: {  
476 - "": {templateUrl: 'pages/scheduleApp/module/core/employeeConfig/edit.html'}  
477 - },  
478 - resolve: {  
479 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
480 - return $ocLazyLoad.load({  
481 - name: 'employeeConfig_edit_module',  
482 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
483 - files: [  
484 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
485 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
486 - "pages/scheduleApp/module/core/employeeConfig/module.js"  
487 - ]  
488 - });  
489 - }]  
490 - }  
491 - })  
492 - .state("employeeConfig_detail", { // 详细信息页面  
493 - url: '/employeeConfig_detail/:id',  
494 - views: {  
495 - "": {templateUrl: 'pages/scheduleApp/module/core/employeeConfig/detail.html'}  
496 - },  
497 - resolve: {  
498 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
499 - return $ocLazyLoad.load({  
500 - name: 'employeeConfig_detail_module',  
501 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
502 - files: [  
503 - "pages/scheduleApp/module/core/employeeConfig/module.js"  
504 - ]  
505 - });  
506 - }]  
507 - }  
508 - })  
509 -  
510 - }  
511 -]);  
512 -// ui route 配置  
513 -  
514 -/** 路牌管理配置所有模块页面route */  
515 -ScheduleApp.config([  
516 - '$stateProvider',  
517 - '$urlRouterProvider',  
518 - function($stateProvider, $urlRouterProvider) {  
519 - // 默认路由  
520 - //$urlRouterProvider.otherwise('/busConfig.html');  
521 -  
522 - $stateProvider  
523 - .state("guideboardManage", { // index页面  
524 - url: '/guideboardManage',  
525 - views: {  
526 - "": {  
527 - templateUrl: 'pages/scheduleApp/module/core/guideboardManage/index.html'  
528 - },  
529 - "guideboardManage_list@guideboardManage": {  
530 - templateUrl: 'pages/scheduleApp/module/core/guideboardManage/list.html'  
531 - }  
532 - },  
533 -  
534 - resolve: {  
535 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
536 - return $ocLazyLoad.load({  
537 - name: 'guideboardManage_module',  
538 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
539 - files: [  
540 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
541 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
542 - "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",  
543 - "pages/scheduleApp/module/core/guideboardManage/module.js"  
544 - ]  
545 - });  
546 - }]  
547 - }  
548 - })  
549 - .state("guideboardManage_detail", { // 详细信息页面  
550 - url: '/guideboardManage_detail/:id',  
551 - views: {  
552 - "": {templateUrl: 'pages/scheduleApp/module/core/guideboardManage/detail.html'}  
553 - },  
554 - resolve: {  
555 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
556 - return $ocLazyLoad.load({  
557 - name: 'guideboardManage_detail_module',  
558 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
559 - files: [  
560 - "pages/scheduleApp/module/core/guideboardManage/module.js"  
561 - ]  
562 - });  
563 - }]  
564 - }  
565 - })  
566 -  
567 -}]);  
568 -// ui route 配置  
569 -  
570 -/** 套跑管理模块配置页面route */  
571 -ScheduleApp.config([  
572 - '$stateProvider',  
573 - '$urlRouterProvider',  
574 - function($stateProvider, $urlRouterProvider) {  
575 - // 默认路由  
576 - //$urlRouterProvider.otherwise('/busConfig.html');  
577 -  
578 - $stateProvider  
579 - .state("rerunManage", { // index页面  
580 - url: '/rerunManage',  
581 - views: {  
582 - "": {  
583 - templateUrl: 'pages/scheduleApp/module/core/rerunManage/index.html'  
584 - },  
585 - "rerunManage_list@rerunManage": {  
586 - templateUrl: 'pages/scheduleApp/module/core/rerunManage/list.html'  
587 - }  
588 - },  
589 -  
590 - resolve: {  
591 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
592 - return $ocLazyLoad.load({  
593 - name: 'rerunManage_module',  
594 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
595 - files: [  
596 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
597 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
598 - "pages/scheduleApp/module/core/rerunManage/module.js"  
599 - ]  
600 - });  
601 - }]  
602 - }  
603 - })  
604 - .state("rerunManage_form", { // 添加套跑form  
605 - url: '/rerunManage_form',  
606 - views: {  
607 - "": {templateUrl: 'pages/scheduleApp/module/core/rerunManage/form.html'}  
608 - },  
609 - resolve: {  
610 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
611 - return $ocLazyLoad.load({  
612 - name: 'rerunManage_form_module',  
613 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
614 - files: [  
615 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
616 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
617 - "pages/scheduleApp/module/core/rerunManage/module.js"  
618 - ]  
619 - });  
620 - }]  
621 - }  
622 - })  
623 - .state("rerunManage_edit", { // 修改套跑form  
624 - url: '/rerunManage_edit/:id',  
625 - views: {  
626 - "": {templateUrl: 'pages/scheduleApp/module/core/rerunManage/edit.html'}  
627 - },  
628 - resolve: {  
629 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
630 - return $ocLazyLoad.load({  
631 - name: 'rerunManage_edit_module',  
632 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
633 - files: [  
634 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
635 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
636 - "pages/scheduleApp/module/core/rerunManage/module.js"  
637 - ]  
638 - });  
639 - }]  
640 - }  
641 - })  
642 - .state("rerunManage_detail", { // 详细信息页面  
643 - url: '/rerunManage_detail/:id',  
644 - views: {  
645 - "": {templateUrl: 'pages/scheduleApp/module/core/rerunManage/detail.html'}  
646 - },  
647 - resolve: {  
648 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
649 - return $ocLazyLoad.load({  
650 - name: 'rerunManage_detail_module',  
651 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
652 - files: [  
653 - "pages/scheduleApp/module/core/rerunManage/module.js"  
654 - ]  
655 - });  
656 - }]  
657 - }  
658 - })  
659 - }  
660 -]);  
661 -// ui route 配置  
662 -  
663 -/** 排班计划管理配置route */  
664 -ScheduleApp.config([  
665 - '$stateProvider',  
666 - '$urlRouterProvider',  
667 - function($stateProvider, $urlRouterProvider) {  
668 - // 默认路由  
669 - //$urlRouterProvider.otherwise('/busConfig.html');  
670 -  
671 - $stateProvider  
672 - .state("schedulePlanManage", { // index页面  
673 - url: '/schedulePlanManage',  
674 - views: {  
675 - "": {  
676 - templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/index.html'  
677 - },  
678 - "schedulePlanManage_list@schedulePlanManage": {  
679 - templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/list.html'  
680 - }  
681 - },  
682 -  
683 - resolve: {  
684 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
685 - return $ocLazyLoad.load({  
686 - name: 'schedulePlanManage_module',  
687 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
688 - files: [  
689 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
690 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
691 - "pages/scheduleApp/module/core/schedulePlanManage/module.js"  
692 - ]  
693 - });  
694 - }]  
695 - }  
696 - })  
697 - .state("schedulePlanManage_form", { // 添加排班计划form  
698 - url: '/schedulePlanManage_form',  
699 - views: {  
700 - "": {  
701 - templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/form.html'  
702 - }  
703 - },  
704 -  
705 - resolve: {  
706 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
707 - return $ocLazyLoad.load({  
708 - name: 'schedulePlanManage_form_module',  
709 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
710 - files: [  
711 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
712 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
713 - "pages/scheduleApp/module/core/schedulePlanManage/module.js"  
714 - ]  
715 - });  
716 - }]  
717 - }  
718 - })  
719 -  
720 -  
721 - }  
722 -]);  
723 -// ui route 配置  
724 -  
725 -/** 排班计划明细配置route */  
726 -ScheduleApp.config([  
727 - '$stateProvider',  
728 - '$urlRouterProvider',  
729 - function($stateProvider, $urlRouterProvider) {  
730 - // 默认路由  
731 - //$urlRouterProvider.otherwise('/busConfig.html');  
732 -  
733 - $stateProvider  
734 - // 排班计划明细管理模块  
735 - .state("schedulePlanInfoManage", {  
736 - url: '/schedulePlanInfoManage/:spid/:xlname/:ttname/:stime/:etime',  
737 - views: {  
738 - "": {  
739 - templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/info/index_info.html'  
740 - },  
741 - "schedulePlanInfoManage_list@schedulePlanInfoManage": {  
742 - templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/info/list_info.html'  
743 - }  
744 - },  
745 -  
746 - resolve: {  
747 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
748 - return $ocLazyLoad.load({  
749 - name: 'schedulePlanInfoManage_module',  
750 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
751 - files: [  
752 - "pages/scheduleApp/module/core/schedulePlanManage/info/module.js"  
753 - ]  
754 - });  
755 - }]  
756 - }  
757 - });  
758 -  
759 - }  
760 -]);  
761 -// ui route 配置  
762 -  
763 -/** 排班调度值勤日报配置route */  
764 -ScheduleApp.config([  
765 - '$stateProvider',  
766 - '$urlRouterProvider',  
767 - function($stateProvider, $urlRouterProvider) {  
768 - // 默认路由  
769 - //$urlRouterProvider.otherwise('/busConfig.html');  
770 -  
771 - $stateProvider  
772 - .state("schedulePlanReportManage", {  
773 - url: '/schedulePlanReportManage',  
774 - views: {  
775 - "": {  
776 - templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/report/index_report.html'  
777 - },  
778 - "schedulePlanReportManage_list@schedulePlanReportManage": {  
779 - templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/report/list_report.html'  
780 - }  
781 - },  
782 -  
783 - resolve: {  
784 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
785 - return $ocLazyLoad.load({  
786 - name: 'schedulePlanManage_module',  
787 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
788 - files: [  
789 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
790 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
791 - "pages/scheduleApp/module/core/schedulePlanManage/report/module.js"  
792 - ]  
793 - });  
794 - }]  
795 - }  
796 - })  
797 - .state("schedulePlanReportManage_edit", {  
798 - url: '/schedulePlanReportManage_edit',  
799 - params: {type: 0, groupInfo: null},  
800 - views: {  
801 - "": {  
802 - templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/report/edit_report.html'  
803 - }  
804 - },  
805 -  
806 - resolve: {  
807 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
808 - return $ocLazyLoad.load({  
809 - name: 'schedulePlanReportManage_edit_module',  
810 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
811 - files: [  
812 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
813 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
814 - "pages/scheduleApp/module/core/schedulePlanManage/report/module.js"  
815 - ]  
816 - });  
817 - }]  
818 - }  
819 - });  
820 -  
821 - }  
822 -]);  
823 -// ui route 配置  
824 -  
825 -/** 排班规则模块配置route */  
826 -ScheduleApp.config([  
827 - '$stateProvider',  
828 - '$urlRouterProvider',  
829 - function($stateProvider, $urlRouterProvider) {  
830 - // 默认路由  
831 - //$urlRouterProvider.otherwise('/busConfig.html');  
832 -  
833 - $stateProvider  
834 - .state("scheduleRuleManage", { // index页面  
835 - url: '/scheduleRuleManage',  
836 - views: {  
837 - "": {  
838 - templateUrl: 'pages/scheduleApp/module/core/scheduleRuleManage/index.html'  
839 - },  
840 - "scheduleRuleManage_list@scheduleRuleManage": {  
841 - templateUrl: 'pages/scheduleApp/module/core/scheduleRuleManage/list.html'  
842 - }  
843 - },  
844 -  
845 - resolve: {  
846 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
847 - return $ocLazyLoad.load({  
848 - name: 'scheduleRuleManage_module',  
849 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
850 - files: [  
851 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
852 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
853 - "pages/scheduleApp/module/core/scheduleRuleManage/module.js"  
854 - ]  
855 - });  
856 - }]  
857 - }  
858 - })  
859 - .state("scheduleRuleManage_form", { // 添加排班规则form  
860 - url: '/scheduleRuleManage_form',  
861 - views: {  
862 - "": {templateUrl: 'pages/scheduleApp/module/core/scheduleRuleManage/form.html'}  
863 - },  
864 - resolve: {  
865 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
866 - return $ocLazyLoad.load({  
867 - name: 'scheduleRuleManage_form_module',  
868 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
869 - files: [  
870 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
871 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
872 - "pages/scheduleApp/module/core/scheduleRuleManage/module.js"  
873 - ]  
874 - });  
875 - }]  
876 - }  
877 - })  
878 - .state("scheduleRuleManage_edit", { // 修改排班规则form  
879 - url: '/scheduleRuleManage_edit/:id',  
880 - views: {  
881 - "": {templateUrl: 'pages/scheduleApp/module/core/scheduleRuleManage/edit.html'}  
882 - },  
883 - resolve: {  
884 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
885 - return $ocLazyLoad.load({  
886 - name: 'scheduleRuleManage_edit_module',  
887 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
888 - files: [  
889 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
890 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
891 - "pages/scheduleApp/module/core/scheduleRuleManage/module.js"  
892 - ]  
893 - });  
894 - }]  
895 - }  
896 - })  
897 - .state("scheduleRuleManage_detail", { // 详细信息  
898 - url: '/scheduleRuleManage_detail/:id',  
899 - views: {  
900 - "": {templateUrl: 'pages/scheduleApp/module/core/scheduleRuleManage/detail.html'}  
901 - },  
902 - resolve: {  
903 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
904 - return $ocLazyLoad.load({  
905 - name: 'scheduleRuleManage_detail_module',  
906 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
907 - files: [  
908 - "pages/scheduleApp/module/core/scheduleRuleManage/module.js"  
909 - ]  
910 - });  
911 - }]  
912 - }  
913 - })  
914 - }  
915 -]);  
916 -// ui route 配置  
917 -  
918 -/** 时刻表管理配置route */  
919 -ScheduleApp.config([  
920 - '$stateProvider',  
921 - '$urlRouterProvider',  
922 - function($stateProvider, $urlRouterProvider) {  
923 - // 默认路由  
924 - //$urlRouterProvider.otherwise('/busConfig.html');  
925 -  
926 - $stateProvider  
927 - .state("ttInfoManage", { // index页面  
928 - url: '/ttInfoManage',  
929 - views: {  
930 - "": {  
931 - templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/index.html'  
932 - },  
933 - "ttInfoManage_list@ttInfoManage": {  
934 - templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/list.html'  
935 - }  
936 - },  
937 -  
938 - resolve: {  
939 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
940 - return $ocLazyLoad.load({  
941 - name: 'ttInfoManage_module',  
942 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
943 - files: [  
944 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
945 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
946 - "pages/scheduleApp/module/core/ttInfoManage/module.js"  
947 - ]  
948 - });  
949 - }]  
950 - }  
951 - })  
952 - .state("ttInfoManage_form", { // 添加时刻表信息form  
953 - url: '/ttInfoManage_form',  
954 - views: {  
955 - "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/form.html'}  
956 - },  
957 - resolve: {  
958 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
959 - return $ocLazyLoad.load({  
960 - name: 'ttInfoManage_form_module',  
961 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
962 - files: [  
963 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
964 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
965 - "pages/scheduleApp/module/core/ttInfoManage/module.js"  
966 - ]  
967 - });  
968 - }]  
969 - }  
970 - })  
971 - .state("ttInfoManage_edit", { // 修改时刻表信息form  
972 - url: '/ttInfoManage_edit/:id',  
973 - views: {  
974 - "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/edit.html'}  
975 - },  
976 - resolve: {  
977 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
978 - return $ocLazyLoad.load({  
979 - name: 'ttInfoManage_edit_module',  
980 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
981 - files: [  
982 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
983 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
984 - "pages/scheduleApp/module/core/ttInfoManage/module.js"  
985 - ]  
986 - });  
987 - }]  
988 - }  
989 - })  
990 - .state("ttInfoManage_detail", { // 时刻表详细信息  
991 - url: '/ttInfoManage_detail/:id',  
992 - views: {  
993 - "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detail.html'}  
994 - },  
995 - resolve: {  
996 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
997 - return $ocLazyLoad.load({  
998 - name: 'ttInfoManage_detail_module',  
999 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
1000 - files: [  
1001 - "pages/scheduleApp/module/core/ttInfoManage/module.js"  
1002 - ]  
1003 - });  
1004 - }]  
1005 - }  
1006 - });  
1007 -  
1008 -  
1009 - }  
1010 -]);  
1011 -// ui route 配置  
1012 -  
1013 -/** 时刻表编辑管理配置route */  
1014 -ScheduleApp.config([  
1015 - '$stateProvider',  
1016 - '$urlRouterProvider',  
1017 - function($stateProvider, $urlRouterProvider) {  
1018 - // 默认路由  
1019 - //$urlRouterProvider.otherwise('/busConfig.html');  
1020 -  
1021 - $stateProvider  
1022 - .state("ttInfoDetailManage_form", { // 时刻表明细导入  
1023 - url: '/ttInfoDetailManage_form/:xlid/:ttid/:xlname/:ttname',  
1024 - views: {  
1025 - "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/form.html'}  
1026 - },  
1027 - resolve: {  
1028 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
1029 - return $ocLazyLoad.load({  
1030 - name: 'ttInfoDetailManage_form_module',  
1031 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
1032 - files: [  
1033 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
1034 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
1035 - "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",  
1036 - "pages/scheduleApp/module/core/ttInfoManage/detailedit/module.js"  
1037 - ]  
1038 - });  
1039 - }]  
1040 - }  
1041 - })  
1042 - .state("ttInfoDetailManage_edit", { // 时刻表详细信息编辑  
1043 - url: '/ttInfoDetailManage_edit/:xlid/:ttid/:xlname/:ttname',  
1044 - views: {  
1045 - "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit.html'}  
1046 - },  
1047 - resolve: {  
1048 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
1049 - return $ocLazyLoad.load({  
1050 - name: 'ttInfoDetailManage_edit_module',  
1051 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
1052 - files: [  
1053 - "pages/scheduleApp/module/core/ttInfoManage/detailedit/timeTableDetailManage_old.js"  
1054 - ]  
1055 - });  
1056 - }]  
1057 - }  
1058 - })  
1059 - .state("ttInfoDetailManage_detail_edit", { // 时刻表详细信息单元格编辑  
1060 - url: '/ttInfoDetailManage_detail_edit/:id/:xlid/:ttid/:xlname/:ttname',  
1061 - views: {  
1062 - "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail.html'}  
1063 - },  
1064 - resolve: {  
1065 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
1066 - return $ocLazyLoad.load({  
1067 - name: 'ttInfoDetailManage_detail_edit_module',  
1068 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
1069 - files: [  
1070 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
1071 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
1072 - "pages/scheduleApp/module/core/ttInfoManage/detailedit/timeTableDetailManage_old.js"  
1073 - ]  
1074 - });  
1075 - }]  
1076 - }  
1077 - });  
1078 -  
1079 - } 1 +//所有模块ui route 配置// ui route 配置
  2 +
  3 +/** 车辆基础信息模块配置route */
  4 +ScheduleApp.config([
  5 + '$stateProvider',
  6 + '$urlRouterProvider',
  7 + function($stateProvider, $urlRouterProvider) {
  8 + // 默认路由
  9 + //$urlRouterProvider.otherwise('/busConfig.html');
  10 +
  11 + $stateProvider
  12 + .state("busInfoManage", { // index页面
  13 + url: '/busInfoManage',
  14 + views: {
  15 + "": {
  16 + templateUrl: 'pages/scheduleApp/module/basicInfo/busInfoManage/index.html'
  17 + },
  18 + "busInfoManage_list@busInfoManage": {
  19 + templateUrl: 'pages/scheduleApp/module/basicInfo/busInfoManage/list.html'
  20 + }
  21 + },
  22 +
  23 + resolve: {
  24 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  25 + return $ocLazyLoad.load({
  26 + name: 'busInfoManage_module',
  27 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  28 + files: [
  29 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  30 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  31 + "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",
  32 + "pages/scheduleApp/module/basicInfo/busInfoManage/module.js"
  33 + ]
  34 + });
  35 + }]
  36 + }
  37 + })
  38 + .state("busInfoManage_form", { // 添加车辆form
  39 + url: '/busInfoManage_form',
  40 + views: {
  41 + "": {templateUrl: 'pages/scheduleApp/module/basicInfo/busInfoManage/form.html'}
  42 + },
  43 + resolve: {
  44 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  45 + return $ocLazyLoad.load({
  46 + name: 'busInfoManage_form_module',
  47 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  48 + files: [
  49 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  50 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  51 + "pages/scheduleApp/module/basicInfo/busInfoManage/module.js"
  52 + ]
  53 + });
  54 + }]
  55 + }
  56 + })
  57 + .state("busInfoManage_edit", { // 修改车辆form
  58 + url: '/busInfoManage_edit/:id',
  59 + views: {
  60 + "": {templateUrl: 'pages/scheduleApp/module/basicInfo/busInfoManage/edit.html'}
  61 + },
  62 + resolve: {
  63 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  64 + return $ocLazyLoad.load({
  65 + name: 'busInfoManage_edit_module',
  66 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  67 + files: [
  68 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  69 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  70 + "pages/scheduleApp/module/basicInfo/busInfoManage/module.js"
  71 + ]
  72 + });
  73 + }]
  74 + }
  75 + })
  76 + .state("busInfoManage_detail", { // 车辆详细信息
  77 + url: '/busInfoManage_detail/:id',
  78 + views: {
  79 + "": {templateUrl: 'pages/scheduleApp/module/basicInfo/busInfoManage/detail.html'}
  80 + },
  81 + resolve: {
  82 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  83 + return $ocLazyLoad.load({
  84 + name: 'busInfoManage_detail_module',
  85 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  86 + files: [
  87 + "pages/scheduleApp/module/basicInfo/busInfoManage/module.js"
  88 + ]
  89 + });
  90 + }]
  91 + }
  92 + })
  93 + }
  94 +]);
  95 +// ui route 配置
  96 +
  97 +/** 车辆设备信息模块配置route */
  98 +ScheduleApp.config([
  99 + '$stateProvider',
  100 + '$urlRouterProvider',
  101 + function($stateProvider, $urlRouterProvider) {
  102 + // 默认路由
  103 + //$urlRouterProvider.otherwise('/busConfig.html');
  104 +
  105 + $stateProvider
  106 + .state("deviceInfoManage", { // index页面
  107 + url: '/deviceInfoManage',
  108 + views: {
  109 + "": {
  110 + templateUrl: 'pages/scheduleApp/module/basicInfo/deviceInfoManage/index.html'
  111 + },
  112 + "deviceInfoManage_list@deviceInfoManage": {
  113 + templateUrl: 'pages/scheduleApp/module/basicInfo/deviceInfoManage/list.html'
  114 + }
  115 + },
  116 +
  117 + resolve: {
  118 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  119 + return $ocLazyLoad.load({
  120 + name: 'deviceInfoManage_module',
  121 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  122 + files: [
  123 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  124 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  125 + "pages/scheduleApp/module/basicInfo/deviceInfoManage/module.js"
  126 + ]
  127 + });
  128 + }]
  129 + }
  130 + })
  131 + .state("deviceInfoManage_form", { // 添加设备信息form
  132 + url: '/deviceInfoManage_form',
  133 + views: {
  134 + "": {templateUrl: 'pages/scheduleApp/module/basicInfo/deviceInfoManage/form.html'}
  135 + },
  136 + resolve: {
  137 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  138 + return $ocLazyLoad.load({
  139 + name: 'deviceInfoManage_form_module',
  140 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  141 + files: [
  142 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  143 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  144 + "pages/scheduleApp/module/basicInfo/deviceInfoManage/module.js"
  145 + ]
  146 + });
  147 + }]
  148 + }
  149 + })
  150 + .state("deviceInfoManage_edit", { // 修改设备信息form
  151 + url: '/deviceInfoManage_edit/:id',
  152 + views: {
  153 + "": {templateUrl: 'pages/scheduleApp/module/basicInfo/deviceInfoManage/edit.html'}
  154 + },
  155 + resolve: {
  156 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  157 + return $ocLazyLoad.load({
  158 + name: 'deviceInfoManage_edit_module',
  159 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  160 + files: [
  161 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  162 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  163 + "pages/scheduleApp/module/basicInfo/deviceInfoManage/module.js"
  164 + ]
  165 + });
  166 + }]
  167 + }
  168 + })
  169 + .state("deviceInfoManage_detail", { // 详细信息页面
  170 + url: '/deviceInfoManage_detail/:id',
  171 + views: {
  172 + "": {templateUrl: 'pages/scheduleApp/module/basicInfo/deviceInfoManage/detail.html'}
  173 + },
  174 + resolve: {
  175 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  176 + return $ocLazyLoad.load({
  177 + name: 'deviceInfoManage_detail_module',
  178 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  179 + files: [
  180 + "pages/scheduleApp/module/basicInfo/deviceInfoManage/module.js"
  181 + ]
  182 + });
  183 + }]
  184 + }
  185 + })
  186 +
  187 + }
  188 +]);
  189 +// ui route 配置
  190 +
  191 +/** 人员基础信息模块配置route */
  192 +ScheduleApp.config([
  193 + '$stateProvider',
  194 + '$urlRouterProvider',
  195 + function($stateProvider, $urlRouterProvider) {
  196 + // 默认路由
  197 + //$urlRouterProvider.otherwise('/busConfig.html');
  198 +
  199 + $stateProvider
  200 + .state("employeeInfoManage", { // index页面
  201 + url: '/employeeInfoManage',
  202 + views: {
  203 + "": {
  204 + templateUrl: 'pages/scheduleApp/module/basicInfo/employeeInfoManage/index.html'
  205 + },
  206 + "employeeInfoManage_list@employeeInfoManage": {
  207 + templateUrl: 'pages/scheduleApp/module/basicInfo/employeeInfoManage/list.html'
  208 + }
  209 + },
  210 +
  211 + resolve: {
  212 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  213 + return $ocLazyLoad.load({
  214 + name: 'employeeInfoManage_module',
  215 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  216 + files: [
  217 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  218 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  219 + "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",
  220 + "pages/scheduleApp/module/basicInfo/employeeInfoManage/module.js"
  221 + ]
  222 + });
  223 + }]
  224 + }
  225 + })
  226 + .state("employeeInfoManage_form", { // 添加人员信息form
  227 + url: '/employeeInfoManage_form',
  228 + views: {
  229 + "": {templateUrl: 'pages/scheduleApp/module/basicInfo/employeeInfoManage/form.html'}
  230 + },
  231 + resolve: {
  232 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  233 + return $ocLazyLoad.load({
  234 + name: 'employeeInfoManage_form_module',
  235 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  236 + files: [
  237 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  238 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  239 + "pages/scheduleApp/module/basicInfo/employeeInfoManage/module.js"
  240 + ]
  241 + });
  242 + }]
  243 + }
  244 + })
  245 + .state("employeeInfoManage_edit", { // 修改人员信息form
  246 + url: '/employeeInfoManage_edit/:id',
  247 + views: {
  248 + "": {templateUrl: 'pages/scheduleApp/module/basicInfo/employeeInfoManage/edit.html'}
  249 + },
  250 + resolve: {
  251 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  252 + return $ocLazyLoad.load({
  253 + name: 'employeeInfoManage_edit_module',
  254 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  255 + files: [
  256 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  257 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  258 + "pages/scheduleApp/module/basicInfo/employeeInfoManage/module.js"
  259 + ]
  260 + });
  261 + }]
  262 + }
  263 + })
  264 + .state("employeeInfoManage_detail", { // 详细信息页面
  265 + url: '/employeeInfoManage_detail/:id',
  266 + views: {
  267 + "": {templateUrl: 'pages/scheduleApp/module/basicInfo/employeeInfoManage/detail.html'}
  268 + },
  269 + resolve: {
  270 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  271 + return $ocLazyLoad.load({
  272 + name: 'employeeInfoManage_detail_module',
  273 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  274 + files: [
  275 + "pages/scheduleApp/module/basicInfo/employeeInfoManage/module.js"
  276 + ]
  277 + });
  278 + }]
  279 + }
  280 + })
  281 +
  282 +}]);
  283 +// ui route 配置
  284 +
  285 +/** 车辆配置模块页面route */
  286 +ScheduleApp.config([
  287 + '$stateProvider',
  288 + '$urlRouterProvider',
  289 + function($stateProvider, $urlRouterProvider) {
  290 + // 默认路由
  291 + //$urlRouterProvider.otherwise('/busConfig.html');
  292 +
  293 + $stateProvider
  294 + .state("busConfig", { // index主页面
  295 + url: '/busConfig',
  296 + views: {
  297 + "": {
  298 + templateUrl: 'pages/scheduleApp/module/core/busConfig/index.html'
  299 + },
  300 + "busConfig_list@busConfig": {
  301 + templateUrl: 'pages/scheduleApp/module/core/busConfig/list.html'
  302 + }
  303 + },
  304 +
  305 + resolve: {
  306 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  307 + return $ocLazyLoad.load({
  308 + name: 'busConfig_module',
  309 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  310 + files: [
  311 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  312 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  313 + "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",
  314 + "pages/scheduleApp/module/core/busConfig/module.js"
  315 + ]
  316 + });
  317 + }]
  318 + }
  319 + })
  320 + .state("busConfig_form", { // 添加页面
  321 + url: '/busConfig_form',
  322 + views: {
  323 + "": {templateUrl: 'pages/scheduleApp/module/core/busConfig/form.html'}
  324 + },
  325 + resolve: {
  326 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  327 + return $ocLazyLoad.load({
  328 + name: 'busConfig_form_module',
  329 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  330 + files: [
  331 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  332 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  333 + "pages/scheduleApp/module/core/busConfig/module.js"
  334 + ]
  335 + });
  336 + }]
  337 + }
  338 + })
  339 + .state("busConfig_edit", { // 修改页面
  340 + url: '/busConfig_edit/:id',
  341 + views: {
  342 + "": {templateUrl: 'pages/scheduleApp/module/core/busConfig/edit.html'}
  343 + },
  344 + resolve: {
  345 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  346 + return $ocLazyLoad.load({
  347 + name: 'busConfig_edit_module',
  348 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  349 + files: [
  350 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  351 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  352 + "pages/scheduleApp/module/core/busConfig/module.js"
  353 + ]
  354 + });
  355 + }]
  356 + }
  357 + })
  358 + .state("busConfig_detail", { // 详细信息页面
  359 + url: '/busConfig_detail/:id',
  360 + views: {
  361 + "": {templateUrl: 'pages/scheduleApp/module/core/busConfig/detail.html'}
  362 + },
  363 + resolve: {
  364 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  365 + return $ocLazyLoad.load({
  366 + name: 'busConfig_detail_module',
  367 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  368 + files: [
  369 + "pages/scheduleApp/module/core/busConfig/module.js"
  370 + ]
  371 + });
  372 + }]
  373 + }
  374 + });
  375 + }
  376 +]);
  377 +
  378 +
  379 +
  380 +// ui route 配置
  381 +
  382 +/** 线路运营概览配置route */
  383 +ScheduleApp.config([
  384 + '$stateProvider',
  385 + '$urlRouterProvider',
  386 + function($stateProvider, $urlRouterProvider) {
  387 + // 默认路由
  388 + //$urlRouterProvider.otherwise('/busConfig.html');
  389 +
  390 + $stateProvider
  391 + .state("busLineInfoStat", { // index页面
  392 + url: '/busLineInfoStat',
  393 + views: {
  394 + "": {
  395 + templateUrl: 'pages/scheduleApp/module/core/busLineInfoStat/index.html'
  396 + },
  397 + "busLineInfoStat_list@busLineInfoStat": {
  398 + templateUrl: 'pages/scheduleApp/module/core/busLineInfoStat/list.html'
  399 + }
  400 + },
  401 +
  402 + resolve: {
  403 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  404 + return $ocLazyLoad.load({
  405 + name: 'busLineInfoStat_module',
  406 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  407 + files: [
  408 + "pages/scheduleApp/module/core/busLineInfoStat/module.js"
  409 + ]
  410 + });
  411 + }]
  412 + }
  413 + });
  414 +
  415 + }
  416 +]);
  417 +// ui route 配置
  418 +
  419 +/** 人员配置模块页面route */
  420 +ScheduleApp.config([
  421 + '$stateProvider',
  422 + '$urlRouterProvider',
  423 + function($stateProvider, $urlRouterProvider) {
  424 + // 默认路由
  425 + //$urlRouterProvider.otherwise('/busConfig.html');
  426 +
  427 + $stateProvider
  428 + .state("employeeConfig", { // index页面
  429 + url: '/employeeConfig',
  430 + views: {
  431 + "": {
  432 + templateUrl: 'pages/scheduleApp/module/core/employeeConfig/index.html'
  433 + },
  434 + "employeeConfig_list@employeeConfig": {
  435 + templateUrl: 'pages/scheduleApp/module/core/employeeConfig/list.html'
  436 + }
  437 + },
  438 +
  439 + resolve: {
  440 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  441 + return $ocLazyLoad.load({
  442 + name: 'employeeConfig_module',
  443 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  444 + files: [
  445 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  446 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  447 + "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",
  448 + "pages/scheduleApp/module/core/employeeConfig/module.js"
  449 + ]
  450 + });
  451 + }]
  452 + }
  453 + })
  454 + .state("employeeConfig_form", { // 添加人员配置form
  455 + url: '/employeeConfig_form',
  456 + views: {
  457 + "": {templateUrl: 'pages/scheduleApp/module/core/employeeConfig/form.html'}
  458 + },
  459 + resolve: {
  460 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  461 + return $ocLazyLoad.load({
  462 + name: 'employeeConfig_form_module',
  463 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  464 + files: [
  465 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  466 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  467 + "pages/scheduleApp/module/core/employeeConfig/module.js"
  468 + ]
  469 + });
  470 + }]
  471 + }
  472 + })
  473 + .state("employeeConfig_edit", { // 修改人员配置form
  474 + url: '/employeeConfig_edit/:id',
  475 + views: {
  476 + "": {templateUrl: 'pages/scheduleApp/module/core/employeeConfig/edit.html'}
  477 + },
  478 + resolve: {
  479 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  480 + return $ocLazyLoad.load({
  481 + name: 'employeeConfig_edit_module',
  482 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  483 + files: [
  484 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  485 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  486 + "pages/scheduleApp/module/core/employeeConfig/module.js"
  487 + ]
  488 + });
  489 + }]
  490 + }
  491 + })
  492 + .state("employeeConfig_detail", { // 详细信息页面
  493 + url: '/employeeConfig_detail/:id',
  494 + views: {
  495 + "": {templateUrl: 'pages/scheduleApp/module/core/employeeConfig/detail.html'}
  496 + },
  497 + resolve: {
  498 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  499 + return $ocLazyLoad.load({
  500 + name: 'employeeConfig_detail_module',
  501 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  502 + files: [
  503 + "pages/scheduleApp/module/core/employeeConfig/module.js"
  504 + ]
  505 + });
  506 + }]
  507 + }
  508 + })
  509 +
  510 + }
  511 +]);
  512 +// ui route 配置
  513 +
  514 +/** 路牌管理配置所有模块页面route */
  515 +ScheduleApp.config([
  516 + '$stateProvider',
  517 + '$urlRouterProvider',
  518 + function($stateProvider, $urlRouterProvider) {
  519 + // 默认路由
  520 + //$urlRouterProvider.otherwise('/busConfig.html');
  521 +
  522 + $stateProvider
  523 + .state("guideboardManage", { // index页面
  524 + url: '/guideboardManage',
  525 + views: {
  526 + "": {
  527 + templateUrl: 'pages/scheduleApp/module/core/guideboardManage/index.html'
  528 + },
  529 + "guideboardManage_list@guideboardManage": {
  530 + templateUrl: 'pages/scheduleApp/module/core/guideboardManage/list.html'
  531 + }
  532 + },
  533 +
  534 + resolve: {
  535 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  536 + return $ocLazyLoad.load({
  537 + name: 'guideboardManage_module',
  538 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  539 + files: [
  540 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  541 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  542 + "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",
  543 + "pages/scheduleApp/module/core/guideboardManage/module.js"
  544 + ]
  545 + });
  546 + }]
  547 + }
  548 + })
  549 + .state("guideboardManage_detail", { // 详细信息页面
  550 + url: '/guideboardManage_detail/:id',
  551 + views: {
  552 + "": {templateUrl: 'pages/scheduleApp/module/core/guideboardManage/detail.html'}
  553 + },
  554 + resolve: {
  555 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  556 + return $ocLazyLoad.load({
  557 + name: 'guideboardManage_detail_module',
  558 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  559 + files: [
  560 + "pages/scheduleApp/module/core/guideboardManage/module.js"
  561 + ]
  562 + });
  563 + }]
  564 + }
  565 + })
  566 +
  567 +}]);
  568 +// ui route 配置
  569 +
  570 +/** 套跑管理模块配置页面route */
  571 +ScheduleApp.config([
  572 + '$stateProvider',
  573 + '$urlRouterProvider',
  574 + function($stateProvider, $urlRouterProvider) {
  575 + // 默认路由
  576 + //$urlRouterProvider.otherwise('/busConfig.html');
  577 +
  578 + $stateProvider
  579 + .state("rerunManage", { // index页面
  580 + url: '/rerunManage',
  581 + views: {
  582 + "": {
  583 + templateUrl: 'pages/scheduleApp/module/core/rerunManage/index.html'
  584 + },
  585 + "rerunManage_list@rerunManage": {
  586 + templateUrl: 'pages/scheduleApp/module/core/rerunManage/list.html'
  587 + }
  588 + },
  589 +
  590 + resolve: {
  591 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  592 + return $ocLazyLoad.load({
  593 + name: 'rerunManage_module',
  594 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  595 + files: [
  596 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  597 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  598 + "pages/scheduleApp/module/core/rerunManage/module.js"
  599 + ]
  600 + });
  601 + }]
  602 + }
  603 + })
  604 + .state("rerunManage_form", { // 添加套跑form
  605 + url: '/rerunManage_form',
  606 + views: {
  607 + "": {templateUrl: 'pages/scheduleApp/module/core/rerunManage/form.html'}
  608 + },
  609 + resolve: {
  610 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  611 + return $ocLazyLoad.load({
  612 + name: 'rerunManage_form_module',
  613 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  614 + files: [
  615 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  616 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  617 + "pages/scheduleApp/module/core/rerunManage/module.js"
  618 + ]
  619 + });
  620 + }]
  621 + }
  622 + })
  623 + .state("rerunManage_edit", { // 修改套跑form
  624 + url: '/rerunManage_edit/:id',
  625 + views: {
  626 + "": {templateUrl: 'pages/scheduleApp/module/core/rerunManage/edit.html'}
  627 + },
  628 + resolve: {
  629 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  630 + return $ocLazyLoad.load({
  631 + name: 'rerunManage_edit_module',
  632 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  633 + files: [
  634 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  635 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  636 + "pages/scheduleApp/module/core/rerunManage/module.js"
  637 + ]
  638 + });
  639 + }]
  640 + }
  641 + })
  642 + .state("rerunManage_detail", { // 详细信息页面
  643 + url: '/rerunManage_detail/:id',
  644 + views: {
  645 + "": {templateUrl: 'pages/scheduleApp/module/core/rerunManage/detail.html'}
  646 + },
  647 + resolve: {
  648 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  649 + return $ocLazyLoad.load({
  650 + name: 'rerunManage_detail_module',
  651 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  652 + files: [
  653 + "pages/scheduleApp/module/core/rerunManage/module.js"
  654 + ]
  655 + });
  656 + }]
  657 + }
  658 + })
  659 + }
  660 +]);
  661 +// ui route 配置
  662 +
  663 +/** 排班计划管理配置route */
  664 +ScheduleApp.config([
  665 + '$stateProvider',
  666 + '$urlRouterProvider',
  667 + function($stateProvider, $urlRouterProvider) {
  668 + // 默认路由
  669 + //$urlRouterProvider.otherwise('/busConfig.html');
  670 +
  671 + $stateProvider
  672 + .state("schedulePlanManage", { // index页面
  673 + url: '/schedulePlanManage',
  674 + views: {
  675 + "": {
  676 + templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/index.html'
  677 + },
  678 + "schedulePlanManage_list@schedulePlanManage": {
  679 + templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/list.html'
  680 + }
  681 + },
  682 +
  683 + resolve: {
  684 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  685 + return $ocLazyLoad.load({
  686 + name: 'schedulePlanManage_module',
  687 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  688 + files: [
  689 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  690 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  691 + "pages/scheduleApp/module/core/schedulePlanManage/module.js"
  692 + ]
  693 + });
  694 + }]
  695 + }
  696 + })
  697 + .state("schedulePlanManage_form", { // 添加排班计划form
  698 + url: '/schedulePlanManage_form',
  699 + views: {
  700 + "": {
  701 + templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/form.html'
  702 + }
  703 + },
  704 +
  705 + resolve: {
  706 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  707 + return $ocLazyLoad.load({
  708 + name: 'schedulePlanManage_form_module',
  709 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  710 + files: [
  711 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  712 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  713 + "pages/scheduleApp/module/core/schedulePlanManage/module.js"
  714 + ]
  715 + });
  716 + }]
  717 + }
  718 + })
  719 +
  720 +
  721 + }
  722 +]);
  723 +// ui route 配置
  724 +
  725 +/** 排班计划明细配置route */
  726 +ScheduleApp.config([
  727 + '$stateProvider',
  728 + '$urlRouterProvider',
  729 + function($stateProvider, $urlRouterProvider) {
  730 + // 默认路由
  731 + //$urlRouterProvider.otherwise('/busConfig.html');
  732 +
  733 + $stateProvider
  734 + // 排班计划明细管理模块
  735 + .state("schedulePlanInfoManage", {
  736 + url: '/schedulePlanInfoManage/:spid/:xlname/:ttname/:stime/:etime',
  737 + views: {
  738 + "": {
  739 + templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/info/index_info.html'
  740 + },
  741 + "schedulePlanInfoManage_list@schedulePlanInfoManage": {
  742 + templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/info/list_info.html'
  743 + }
  744 + },
  745 +
  746 + resolve: {
  747 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  748 + return $ocLazyLoad.load({
  749 + name: 'schedulePlanInfoManage_module',
  750 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  751 + files: [
  752 + "pages/scheduleApp/module/core/schedulePlanManage/info/module.js"
  753 + ]
  754 + });
  755 + }]
  756 + }
  757 + });
  758 +
  759 + }
  760 +]);
  761 +// ui route 配置
  762 +
  763 +/** 排班调度值勤日报配置route */
  764 +ScheduleApp.config([
  765 + '$stateProvider',
  766 + '$urlRouterProvider',
  767 + function($stateProvider, $urlRouterProvider) {
  768 + // 默认路由
  769 + //$urlRouterProvider.otherwise('/busConfig.html');
  770 +
  771 + $stateProvider
  772 + .state("schedulePlanReportManage", {
  773 + url: '/schedulePlanReportManage',
  774 + views: {
  775 + "": {
  776 + templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/report/index_report.html'
  777 + },
  778 + "schedulePlanReportManage_list@schedulePlanReportManage": {
  779 + templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/report/list_report.html'
  780 + }
  781 + },
  782 +
  783 + resolve: {
  784 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  785 + return $ocLazyLoad.load({
  786 + name: 'schedulePlanManage_module',
  787 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  788 + files: [
  789 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  790 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  791 + "pages/scheduleApp/module/core/schedulePlanManage/report/module.js"
  792 + ]
  793 + });
  794 + }]
  795 + }
  796 + })
  797 + .state("schedulePlanReportManage_edit", {
  798 + url: '/schedulePlanReportManage_edit',
  799 + params: {type: 0, groupInfo: null},
  800 + views: {
  801 + "": {
  802 + templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/report/edit_report.html'
  803 + }
  804 + },
  805 +
  806 + resolve: {
  807 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  808 + return $ocLazyLoad.load({
  809 + name: 'schedulePlanReportManage_edit_module',
  810 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  811 + files: [
  812 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  813 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  814 + "pages/scheduleApp/module/core/schedulePlanManage/report/module.js"
  815 + ]
  816 + });
  817 + }]
  818 + }
  819 + });
  820 +
  821 + }
  822 +]);
  823 +// ui route 配置
  824 +
  825 +/** 排班规则模块配置route */
  826 +ScheduleApp.config([
  827 + '$stateProvider',
  828 + '$urlRouterProvider',
  829 + function($stateProvider, $urlRouterProvider) {
  830 + // 默认路由
  831 + //$urlRouterProvider.otherwise('/busConfig.html');
  832 +
  833 + $stateProvider
  834 + .state("scheduleRuleManage", { // index页面
  835 + url: '/scheduleRuleManage',
  836 + views: {
  837 + "": {
  838 + templateUrl: 'pages/scheduleApp/module/core/scheduleRuleManage/index.html'
  839 + },
  840 + "scheduleRuleManage_list@scheduleRuleManage": {
  841 + templateUrl: 'pages/scheduleApp/module/core/scheduleRuleManage/list.html'
  842 + }
  843 + },
  844 +
  845 + resolve: {
  846 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  847 + return $ocLazyLoad.load({
  848 + name: 'scheduleRuleManage_module',
  849 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  850 + files: [
  851 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  852 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  853 + "pages/scheduleApp/module/core/scheduleRuleManage/module.js"
  854 + ]
  855 + });
  856 + }]
  857 + }
  858 + })
  859 + .state("scheduleRuleManage_form", { // 添加排班规则form
  860 + url: '/scheduleRuleManage_form',
  861 + views: {
  862 + "": {templateUrl: 'pages/scheduleApp/module/core/scheduleRuleManage/form.html'}
  863 + },
  864 + resolve: {
  865 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  866 + return $ocLazyLoad.load({
  867 + name: 'scheduleRuleManage_form_module',
  868 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  869 + files: [
  870 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  871 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  872 + "pages/scheduleApp/module/core/scheduleRuleManage/module.js"
  873 + ]
  874 + });
  875 + }]
  876 + }
  877 + })
  878 + .state("scheduleRuleManage_edit", { // 修改排班规则form
  879 + url: '/scheduleRuleManage_edit/:id',
  880 + views: {
  881 + "": {templateUrl: 'pages/scheduleApp/module/core/scheduleRuleManage/edit.html'}
  882 + },
  883 + resolve: {
  884 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  885 + return $ocLazyLoad.load({
  886 + name: 'scheduleRuleManage_edit_module',
  887 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  888 + files: [
  889 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  890 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  891 + "pages/scheduleApp/module/core/scheduleRuleManage/module.js"
  892 + ]
  893 + });
  894 + }]
  895 + }
  896 + })
  897 + .state("scheduleRuleManage_detail", { // 详细信息
  898 + url: '/scheduleRuleManage_detail/:id',
  899 + views: {
  900 + "": {templateUrl: 'pages/scheduleApp/module/core/scheduleRuleManage/detail.html'}
  901 + },
  902 + resolve: {
  903 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  904 + return $ocLazyLoad.load({
  905 + name: 'scheduleRuleManage_detail_module',
  906 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  907 + files: [
  908 + "pages/scheduleApp/module/core/scheduleRuleManage/module.js"
  909 + ]
  910 + });
  911 + }]
  912 + }
  913 + })
  914 + }
  915 +]);
  916 +// ui route 配置
  917 +
  918 +/** 时刻表管理配置route */
  919 +ScheduleApp.config([
  920 + '$stateProvider',
  921 + '$urlRouterProvider',
  922 + function($stateProvider, $urlRouterProvider) {
  923 + // 默认路由
  924 + //$urlRouterProvider.otherwise('/busConfig.html');
  925 +
  926 + $stateProvider
  927 + .state("ttInfoManage", { // index页面
  928 + url: '/ttInfoManage',
  929 + views: {
  930 + "": {
  931 + templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/index.html'
  932 + },
  933 + "ttInfoManage_list@ttInfoManage": {
  934 + templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/list.html'
  935 + }
  936 + },
  937 +
  938 + resolve: {
  939 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  940 + return $ocLazyLoad.load({
  941 + name: 'ttInfoManage_module',
  942 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  943 + files: [
  944 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  945 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  946 + "pages/scheduleApp/module/core/ttInfoManage/module.js"
  947 + ]
  948 + });
  949 + }]
  950 + }
  951 + })
  952 + .state("ttInfoManage_form", { // 添加时刻表信息form
  953 + url: '/ttInfoManage_form',
  954 + views: {
  955 + "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/form.html'}
  956 + },
  957 + resolve: {
  958 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  959 + return $ocLazyLoad.load({
  960 + name: 'ttInfoManage_form_module',
  961 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  962 + files: [
  963 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  964 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  965 + "pages/scheduleApp/module/core/ttInfoManage/module.js"
  966 + ]
  967 + });
  968 + }]
  969 + }
  970 + })
  971 + .state("ttInfoManage_edit", { // 修改时刻表信息form
  972 + url: '/ttInfoManage_edit/:id',
  973 + views: {
  974 + "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/edit.html'}
  975 + },
  976 + resolve: {
  977 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  978 + return $ocLazyLoad.load({
  979 + name: 'ttInfoManage_edit_module',
  980 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  981 + files: [
  982 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  983 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  984 + "pages/scheduleApp/module/core/ttInfoManage/module.js"
  985 + ]
  986 + });
  987 + }]
  988 + }
  989 + })
  990 + .state("ttInfoManage_detail", { // 时刻表详细信息
  991 + url: '/ttInfoManage_detail/:id',
  992 + views: {
  993 + "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detail.html'}
  994 + },
  995 + resolve: {
  996 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  997 + return $ocLazyLoad.load({
  998 + name: 'ttInfoManage_detail_module',
  999 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  1000 + files: [
  1001 + "pages/scheduleApp/module/core/ttInfoManage/module.js"
  1002 + ]
  1003 + });
  1004 + }]
  1005 + }
  1006 + });
  1007 +
  1008 +
  1009 + }
  1010 +]);
  1011 +// ui route 配置
  1012 +
  1013 +/** 时刻表编辑管理配置route */
  1014 +ScheduleApp.config([
  1015 + '$stateProvider',
  1016 + '$urlRouterProvider',
  1017 + function($stateProvider, $urlRouterProvider) {
  1018 + // 默认路由
  1019 + //$urlRouterProvider.otherwise('/busConfig.html');
  1020 +
  1021 + $stateProvider
  1022 + .state("ttInfoDetailManage_form", { // 时刻表明细导入
  1023 + url: '/ttInfoDetailManage_form/:xlid/:ttid/:xlname/:ttname',
  1024 + views: {
  1025 + "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/form.html'}
  1026 + },
  1027 + resolve: {
  1028 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  1029 + return $ocLazyLoad.load({
  1030 + name: 'ttInfoDetailManage_form_module',
  1031 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  1032 + files: [
  1033 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  1034 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  1035 + "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",
  1036 + "pages/scheduleApp/module/core/ttInfoManage/detailedit/module.js"
  1037 + ]
  1038 + });
  1039 + }]
  1040 + }
  1041 + })
  1042 + .state("ttInfoDetailManage_edit", { // 时刻表详细信息编辑
  1043 + url: '/ttInfoDetailManage_edit/:xlid/:ttid/:xlname/:ttname',
  1044 + views: {
  1045 + "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit.html'}
  1046 + },
  1047 + resolve: {
  1048 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  1049 + return $ocLazyLoad.load({
  1050 + name: 'ttInfoDetailManage_edit_module',
  1051 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  1052 + files: [
  1053 + "pages/scheduleApp/module/core/ttInfoManage/detailedit/timeTableDetailManage_old.js"
  1054 + ]
  1055 + });
  1056 + }]
  1057 + }
  1058 + })
  1059 + .state("ttInfoDetailManage_detail_edit", { // 时刻表详细信息单元格编辑
  1060 + url: '/ttInfoDetailManage_detail_edit/:id/:xlid/:ttid/:xlname/:ttname',
  1061 + views: {
  1062 + "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail.html'}
  1063 + },
  1064 + resolve: {
  1065 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  1066 + return $ocLazyLoad.load({
  1067 + name: 'ttInfoDetailManage_detail_edit_module',
  1068 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  1069 + files: [
  1070 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  1071 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  1072 + "pages/scheduleApp/module/core/ttInfoManage/detailedit/timeTableDetailManage_old.js"
  1073 + ]
  1074 + });
  1075 + }]
  1076 + }
  1077 + });
  1078 +
  1079 + }
1080 ]); 1080 ]);
1081 \ No newline at end of file 1081 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/busConfig/module.js
1 -// 车辆配置管理 service controller 等写在一起  
2 -angular.module('ScheduleApp').factory('BusConfigService', ['BusConfigService_g', function(service) {  
3 - /** 当前的查询条件信息 */  
4 - var currentSearchCondition = {'isCancel_eq': false};  
5 -  
6 - /** 当前第几页 */  
7 - var currentPageNo = 1;  
8 -  
9 - return {  
10 - /**  
11 - * 获取查询条件信息,  
12 - * 用于给controller用来和页面数据绑定。  
13 - */  
14 - getSearchCondition: function() {  
15 - return currentSearchCondition;  
16 - },  
17 - /**  
18 - * 重置查询条件信息。  
19 - */  
20 - resetSearchCondition: function() {  
21 - var key;  
22 - for (key in currentSearchCondition) {  
23 - currentSearchCondition[key] = undefined;  
24 - }  
25 - currentSearchCondition['isCancel_eq'] = false;  
26 - },  
27 - /**  
28 - * 设置当前页码。  
29 - * @param cpn 从1开始,后台是从0开始的  
30 - */  
31 - setCurrentPageNo: function(cpn) {  
32 - currentPageNo = cpn;  
33 - },  
34 - /**  
35 - * 组装查询参数,返回一个promise查询结果。  
36 - * @param params 查询参数  
37 - * @return 返回一个 promise  
38 - */  
39 - getPage: function() {  
40 - var params = currentSearchCondition; // 查询条件  
41 - params.page = currentPageNo - 1; // 服务端页码从0开始  
42 - return service.rest.list(params).$promise;  
43 - },  
44 - /**  
45 - * 获取明细信息。  
46 - * @param id 车辆id  
47 - * @return 返回一个 promise  
48 - */  
49 - getDetail: function(id) {  
50 - var params = {id: id};  
51 - return service.rest.get(params).$promise;  
52 - },  
53 - /**  
54 - * 保存信息。  
55 - * @param obj 车辆详细信息  
56 - * @return 返回一个 promise  
57 - */  
58 - saveDetail: function(obj) {  
59 - return service.rest.save(obj).$promise;  
60 - },  
61 - /**  
62 - * 删除信息。  
63 - * @param id 主键id  
64 - * @returns {*|Function|promise|n}  
65 - */  
66 - deleteDetail: function(id) {  
67 - return service.rest.delete({id: id}).$promise;  
68 - }  
69 - };  
70 -  
71 -}]);  
72 -  
73 -angular.module('ScheduleApp').controller('BusConfigCtrl', ['BusConfigService', '$state', '$uibModal', function(busConfigService, $state, $uibModal) {  
74 - var self = this;  
75 -  
76 - // 切换到form状态  
77 - self.goForm = function() {  
78 - //alert("切换");  
79 - $state.go("busConfig_form");  
80 - };  
81 -  
82 - // 导入excel  
83 - self.importData = function() {  
84 - // large方式弹出模态对话框  
85 - var modalInstance = $uibModal.open({  
86 - templateUrl: '/pages/scheduleApp/module/core/busConfig/dataImport.html',  
87 - size: "lg",  
88 - animation: true,  
89 - backdrop: 'static',  
90 - resolve: {  
91 - // 可以传值给controller  
92 - },  
93 - windowClass: 'center-modal',  
94 - controller: "BusConfigToolsCtrl",  
95 - controllerAs: "ctrl",  
96 - bindToController: true  
97 - });  
98 - modalInstance.result.then(  
99 - function() {  
100 - console.log("dataImport.html打开");  
101 - },  
102 - function() {  
103 - console.log("dataImport.html消失");  
104 - }  
105 - );  
106 - };  
107 -}]);  
108 -  
109 -angular.module('ScheduleApp').controller('BusConfigToolsCtrl', ['$modalInstance', 'FileUploader', function($modalInstance, FileUploader) {  
110 - var self = this;  
111 - self.data = "TODO";  
112 -  
113 - // 关闭窗口  
114 - self.close = function() {  
115 - $modalInstance.dismiss("cancel");  
116 - };  
117 -  
118 - self.clearInputFile = function() {  
119 - angular.element("input[type='file']").val(null);  
120 - };  
121 -  
122 - // 上传文件组件  
123 - self.uploader = new FileUploader({  
124 - url: "/cci/dataImport",  
125 - filters: [] // 用于过滤文件,比如只允许导入excel  
126 - });  
127 - self.uploader.onAfterAddingFile = function(fileItem)  
128 - {  
129 - console.info('onAfterAddingFile', fileItem);  
130 - console.log(self.uploader.queue.length);  
131 - if (self.uploader.queue.length > 1)  
132 - self.uploader.removeFromQueue(0);  
133 - };  
134 - self.uploader.onSuccessItem = function(fileItem, response, status, headers)  
135 - {  
136 - console.info('onSuccessItem', fileItem, response, status, headers);  
137 - };  
138 - self.uploader.onErrorItem = function(fileItem, response, status, headers)  
139 - {  
140 - console.info('onErrorItem', fileItem, response, status, headers);  
141 - };  
142 -  
143 -}]);  
144 -  
145 -angular.module('ScheduleApp').controller('BusConfigListCtrl', ['BusConfigService', function(busConfigService) {  
146 - var self = this;  
147 - self.pageInfo = {  
148 - totalItems : 0,  
149 - currentPage : 1,  
150 - infos: []  
151 - };  
152 -  
153 - // 初始创建的时候,获取一次列表数据  
154 - busConfigService.getPage().then(  
155 - function(result) {  
156 - self.pageInfo.totalItems = result.totalElements;  
157 - self.pageInfo.currentPage = result.number + 1;  
158 - self.pageInfo.infos = result.content;  
159 - busConfigService.setCurrentPageNo(result.number + 1);  
160 - },  
161 - function(result) {  
162 - alert("出错啦!");  
163 - }  
164 - );  
165 -  
166 - //$scope.$watch("ctrl.pageInfo.currentPage", function() {  
167 - // alert("dfdfdf");  
168 - //});  
169 -  
170 - // 翻页的时候调用  
171 - self.pageChanaged = function() {  
172 - busConfigService.setCurrentPageNo(self.pageInfo.currentPage);  
173 - busConfigService.getPage().then(  
174 - function(result) {  
175 - self.pageInfo.totalItems = result.totalElements;  
176 - self.pageInfo.currentPage = result.number + 1;  
177 - self.pageInfo.infos = result.content;  
178 - busConfigService.setCurrentPageNo(result.number + 1);  
179 - },  
180 - function(result) {  
181 - alert("出错啦!");  
182 - }  
183 - );  
184 - };  
185 - // 获取查询条件数据  
186 - self.searchCondition = function() {  
187 - return busConfigService.getSearchCondition();  
188 - };  
189 - // 重置查询条件  
190 - self.resetSearchCondition = function() {  
191 - busConfigService.resetSearchCondition();  
192 - self.pageInfo.currentPage = 1;  
193 - self.pageChanaged();  
194 - };  
195 -  
196 - // 删除时刻表  
197 - self.deleteEci = function(id) {  
198 - // TODO:  
199 - busConfigService.deleteDetail(id).then(  
200 - function(result) {  
201 - if (result.message) { // 暂时这样做,之后全局拦截  
202 - alert("失败:" + result.message);  
203 - } else {  
204 - alert("作废成功!");  
205 -  
206 - busConfigService.getPage().then(  
207 - function(result) {  
208 - self.pageInfo.totalItems = result.totalElements;  
209 - self.pageInfo.currentPage = result.number + 1;  
210 - self.pageInfo.infos = result.content;  
211 - busConfigService.setCurrentPageNo(result.number + 1);  
212 - },  
213 - function(result) {  
214 - alert("出错啦!");  
215 - }  
216 - );  
217 - }  
218 -  
219 - },  
220 - function(result) {  
221 - alert("出错啦!" + result);  
222 - }  
223 - );  
224 - };  
225 -  
226 - // 撤销修改  
227 - self.redoDeleteEci = function(id) {  
228 - busConfigService.getDetail(id).then(  
229 - function(result) {  
230 - result.isCancel = 'false';  
231 - busConfigService.saveDetail(result).then(  
232 - function(result) {  
233 - if (result.message) { // 暂时这样做,之后全局拦截  
234 - alert("失败:" + result.message);  
235 - } else {  
236 - alert("撤销成功!");  
237 -  
238 - busConfigService.getPage().then(  
239 - function(result) {  
240 - self.pageInfo.totalItems = result.totalElements;  
241 - self.pageInfo.currentPage = result.number + 1;  
242 - self.pageInfo.infos = result.content;  
243 - busConfigService.setCurrentPageNo(result.number + 1);  
244 - },  
245 - function(result) {  
246 - alert("出错啦!");  
247 - }  
248 - );  
249 - }  
250 - },  
251 - function(result) {  
252 - // TODO:弹出框方式以后改  
253 - alert("出错啦!");  
254 - }  
255 - );  
256 - },  
257 - function(result) {  
258 - // TODO:弹出框方式以后改  
259 - alert("出错啦!");  
260 - }  
261 - );  
262 - };  
263 -  
264 -}]);  
265 -  
266 -angular.module('ScheduleApp').controller('BusConfigFormCtrl', ['BusConfigService', '$stateParams', '$state', '$scope', function(busConfigService, $stateParams, $state, $scope) {  
267 - var self = this;  
268 -  
269 - // 启用日期 日期控件开关  
270 - self.qyrqOpen = false;  
271 - self.qyrq_open = function() {  
272 - self.qyrqOpen = true;  
273 - };  
274 -  
275 - // 终止日期 日期控件开关  
276 - self.zzrqOpen = false;  
277 - self.zzrq_open = function() {  
278 - self.zzrqOpen = true;  
279 - };  
280 -  
281 - // 欲保存的busInfo信息,绑定  
282 - self.busConfigForSave = {xl:{}, cl:{}};  
283 -  
284 - // 获取传过来的id,有的话就是修改,获取一遍数据  
285 - var id = $stateParams.id;  
286 - if (id) {  
287 - self.busConfigForSave.id = id;  
288 - busConfigService.getDetail(id).then(  
289 - function(result) {  
290 - var key;  
291 - for (key in result) {  
292 - self.busConfigForSave[key] = result[key];  
293 - }  
294 - },  
295 - function(result) {  
296 - alert("出错啦!");  
297 - }  
298 - );  
299 - }  
300 -  
301 - // 提交方法  
302 - self.submit = function() {  
303 - console.log(self.busConfigForSave);  
304 - busConfigService.saveDetail(self.busConfigForSave).then(  
305 - function(result) {  
306 - // TODO:弹出框方式以后改  
307 - if (result.status == 'SUCCESS') {  
308 - alert("保存成功!");  
309 - $state.go("busConfig");  
310 - } else {  
311 - alert("保存异常!");  
312 - }  
313 - },  
314 - function(result) {  
315 - // TODO:弹出框方式以后改  
316 - alert("出错啦!");  
317 - }  
318 - );  
319 - };  
320 -}]);  
321 -  
322 -angular.module('ScheduleApp').controller('BusConfigDetailCtrl', ['BusConfigService', '$stateParams', function(busConfigService, $stateParams) {  
323 - var self = this;  
324 - self.title = "";  
325 - self.busConfigForDetail = {};  
326 - self.busConfigForDetail.id = $stateParams.id;  
327 -  
328 - // 当转向到此页面时,就获取明细信息并绑定  
329 - busConfigService.getDetail($stateParams.id).then(  
330 - function(result) {  
331 - var key;  
332 - for (key in result) {  
333 - self.busConfigForDetail[key] = result[key];  
334 - }  
335 -  
336 - self.title = "车辆 " + self.busConfigForDetail.cl.insideCode + " 配置详细信息";  
337 - },  
338 - function(result) {  
339 - // TODO:弹出框方式以后改  
340 - alert("出错啦!");  
341 - }  
342 - );  
343 -}]);  
344 -  
345 -  
346 - 1 +// 车辆配置管理 service controller 等写在一起
  2 +angular.module('ScheduleApp').factory('BusConfigService', ['BusConfigService_g', function(service) {
  3 + /** 当前的查询条件信息 */
  4 + var currentSearchCondition = {'isCancel_eq': false};
  5 +
  6 + /** 当前第几页 */
  7 + var currentPageNo = 1;
  8 +
  9 + return {
  10 + /**
  11 + * 获取查询条件信息,
  12 + * 用于给controller用来和页面数据绑定。
  13 + */
  14 + getSearchCondition: function() {
  15 + return currentSearchCondition;
  16 + },
  17 + /**
  18 + * 重置查询条件信息。
  19 + */
  20 + resetSearchCondition: function() {
  21 + var key;
  22 + for (key in currentSearchCondition) {
  23 + currentSearchCondition[key] = undefined;
  24 + }
  25 + currentSearchCondition['isCancel_eq'] = false;
  26 + },
  27 + /**
  28 + * 设置当前页码。
  29 + * @param cpn 从1开始,后台是从0开始的
  30 + */
  31 + setCurrentPageNo: function(cpn) {
  32 + currentPageNo = cpn;
  33 + },
  34 + /**
  35 + * 组装查询参数,返回一个promise查询结果。
  36 + * @param params 查询参数
  37 + * @return 返回一个 promise
  38 + */
  39 + getPage: function() {
  40 + var params = currentSearchCondition; // 查询条件
  41 + params.page = currentPageNo - 1; // 服务端页码从0开始
  42 + return service.rest.list(params).$promise;
  43 + },
  44 + /**
  45 + * 获取明细信息。
  46 + * @param id 车辆id
  47 + * @return 返回一个 promise
  48 + */
  49 + getDetail: function(id) {
  50 + var params = {id: id};
  51 + return service.rest.get(params).$promise;
  52 + },
  53 + /**
  54 + * 保存信息。
  55 + * @param obj 车辆详细信息
  56 + * @return 返回一个 promise
  57 + */
  58 + saveDetail: function(obj) {
  59 + return service.rest.save(obj).$promise;
  60 + },
  61 + /**
  62 + * 删除信息。
  63 + * @param id 主键id
  64 + * @returns {*|Function|promise|n}
  65 + */
  66 + deleteDetail: function(id) {
  67 + return service.rest.delete({id: id}).$promise;
  68 + }
  69 + };
  70 +
  71 +}]);
  72 +
  73 +angular.module('ScheduleApp').controller('BusConfigCtrl', ['BusConfigService', '$state', '$uibModal', function(busConfigService, $state, $uibModal) {
  74 + var self = this;
  75 +
  76 + // 切换到form状态
  77 + self.goForm = function() {
  78 + //alert("切换");
  79 + $state.go("busConfig_form");
  80 + };
  81 +
  82 + // 导入excel
  83 + self.importData = function() {
  84 + // large方式弹出模态对话框
  85 + var modalInstance = $uibModal.open({
  86 + templateUrl: '/pages/scheduleApp/module/core/busConfig/dataImport.html',
  87 + size: "lg",
  88 + animation: true,
  89 + backdrop: 'static',
  90 + resolve: {
  91 + // 可以传值给controller
  92 + },
  93 + windowClass: 'center-modal',
  94 + controller: "BusConfigToolsCtrl",
  95 + controllerAs: "ctrl",
  96 + bindToController: true
  97 + });
  98 + modalInstance.result.then(
  99 + function() {
  100 + console.log("dataImport.html打开");
  101 + },
  102 + function() {
  103 + console.log("dataImport.html消失");
  104 + }
  105 + );
  106 + };
  107 +}]);
  108 +
  109 +angular.module('ScheduleApp').controller('BusConfigToolsCtrl', ['$modalInstance', 'FileUploader', function($modalInstance, FileUploader) {
  110 + var self = this;
  111 + self.data = "TODO";
  112 +
  113 + // 关闭窗口
  114 + self.close = function() {
  115 + $modalInstance.dismiss("cancel");
  116 + };
  117 +
  118 + self.clearInputFile = function() {
  119 + angular.element("input[type='file']").val(null);
  120 + };
  121 +
  122 + // 上传文件组件
  123 + self.uploader = new FileUploader({
  124 + url: "/cci/dataImport",
  125 + filters: [] // 用于过滤文件,比如只允许导入excel
  126 + });
  127 + self.uploader.onAfterAddingFile = function(fileItem)
  128 + {
  129 + console.info('onAfterAddingFile', fileItem);
  130 + console.log(self.uploader.queue.length);
  131 + if (self.uploader.queue.length > 1)
  132 + self.uploader.removeFromQueue(0);
  133 + };
  134 + self.uploader.onSuccessItem = function(fileItem, response, status, headers)
  135 + {
  136 + console.info('onSuccessItem', fileItem, response, status, headers);
  137 + };
  138 + self.uploader.onErrorItem = function(fileItem, response, status, headers)
  139 + {
  140 + console.info('onErrorItem', fileItem, response, status, headers);
  141 + };
  142 +
  143 +}]);
  144 +
  145 +angular.module('ScheduleApp').controller('BusConfigListCtrl', ['BusConfigService', function(busConfigService) {
  146 + var self = this;
  147 + self.pageInfo = {
  148 + totalItems : 0,
  149 + currentPage : 1,
  150 + infos: []
  151 + };
  152 +
  153 + // 初始创建的时候,获取一次列表数据
  154 + busConfigService.getPage().then(
  155 + function(result) {
  156 + self.pageInfo.totalItems = result.totalElements;
  157 + self.pageInfo.currentPage = result.number + 1;
  158 + self.pageInfo.infos = result.content;
  159 + busConfigService.setCurrentPageNo(result.number + 1);
  160 + },
  161 + function(result) {
  162 + alert("出错啦!");
  163 + }
  164 + );
  165 +
  166 + //$scope.$watch("ctrl.pageInfo.currentPage", function() {
  167 + // alert("dfdfdf");
  168 + //});
  169 +
  170 + // 翻页的时候调用
  171 + self.pageChanaged = function() {
  172 + busConfigService.setCurrentPageNo(self.pageInfo.currentPage);
  173 + busConfigService.getPage().then(
  174 + function(result) {
  175 + self.pageInfo.totalItems = result.totalElements;
  176 + self.pageInfo.currentPage = result.number + 1;
  177 + self.pageInfo.infos = result.content;
  178 + busConfigService.setCurrentPageNo(result.number + 1);
  179 + },
  180 + function(result) {
  181 + alert("出错啦!");
  182 + }
  183 + );
  184 + };
  185 + // 获取查询条件数据
  186 + self.searchCondition = function() {
  187 + return busConfigService.getSearchCondition();
  188 + };
  189 + // 重置查询条件
  190 + self.resetSearchCondition = function() {
  191 + busConfigService.resetSearchCondition();
  192 + self.pageInfo.currentPage = 1;
  193 + self.pageChanaged();
  194 + };
  195 +
  196 + // 删除时刻表
  197 + self.deleteEci = function(id) {
  198 + // TODO:
  199 + busConfigService.deleteDetail(id).then(
  200 + function(result) {
  201 + if (result.message) { // 暂时这样做,之后全局拦截
  202 + alert("失败:" + result.message);
  203 + } else {
  204 + alert("作废成功!");
  205 +
  206 + busConfigService.getPage().then(
  207 + function(result) {
  208 + self.pageInfo.totalItems = result.totalElements;
  209 + self.pageInfo.currentPage = result.number + 1;
  210 + self.pageInfo.infos = result.content;
  211 + busConfigService.setCurrentPageNo(result.number + 1);
  212 + },
  213 + function(result) {
  214 + alert("出错啦!");
  215 + }
  216 + );
  217 + }
  218 +
  219 + },
  220 + function(result) {
  221 + alert("出错啦!" + result);
  222 + }
  223 + );
  224 + };
  225 +
  226 + // 撤销修改
  227 + self.redoDeleteEci = function(id) {
  228 + busConfigService.getDetail(id).then(
  229 + function(result) {
  230 + result.isCancel = 'false';
  231 + busConfigService.saveDetail(result).then(
  232 + function(result) {
  233 + if (result.message) { // 暂时这样做,之后全局拦截
  234 + alert("失败:" + result.message);
  235 + } else {
  236 + alert("撤销成功!");
  237 +
  238 + busConfigService.getPage().then(
  239 + function(result) {
  240 + self.pageInfo.totalItems = result.totalElements;
  241 + self.pageInfo.currentPage = result.number + 1;
  242 + self.pageInfo.infos = result.content;
  243 + busConfigService.setCurrentPageNo(result.number + 1);
  244 + },
  245 + function(result) {
  246 + alert("出错啦!");
  247 + }
  248 + );
  249 + }
  250 + },
  251 + function(result) {
  252 + // TODO:弹出框方式以后改
  253 + alert("出错啦!");
  254 + }
  255 + );
  256 + },
  257 + function(result) {
  258 + // TODO:弹出框方式以后改
  259 + alert("出错啦!");
  260 + }
  261 + );
  262 + };
  263 +
  264 +}]);
  265 +
  266 +angular.module('ScheduleApp').controller('BusConfigFormCtrl', ['BusConfigService', '$stateParams', '$state', '$scope', function(busConfigService, $stateParams, $state, $scope) {
  267 + var self = this;
  268 +
  269 + // 启用日期 日期控件开关
  270 + self.qyrqOpen = false;
  271 + self.qyrq_open = function() {
  272 + self.qyrqOpen = true;
  273 + };
  274 +
  275 + // 终止日期 日期控件开关
  276 + self.zzrqOpen = false;
  277 + self.zzrq_open = function() {
  278 + self.zzrqOpen = true;
  279 + };
  280 +
  281 + // 欲保存的busInfo信息,绑定
  282 + self.busConfigForSave = {xl:{}, cl:{}};
  283 +
  284 + // 获取传过来的id,有的话就是修改,获取一遍数据
  285 + var id = $stateParams.id;
  286 + if (id) {
  287 + self.busConfigForSave.id = id;
  288 + busConfigService.getDetail(id).then(
  289 + function(result) {
  290 + var key;
  291 + for (key in result) {
  292 + self.busConfigForSave[key] = result[key];
  293 + }
  294 + },
  295 + function(result) {
  296 + alert("出错啦!");
  297 + }
  298 + );
  299 + }
  300 +
  301 + // 提交方法
  302 + self.submit = function() {
  303 + console.log(self.busConfigForSave);
  304 + busConfigService.saveDetail(self.busConfigForSave).then(
  305 + function(result) {
  306 + // TODO:弹出框方式以后改
  307 + if (result.status == 'SUCCESS') {
  308 + alert("保存成功!");
  309 + $state.go("busConfig");
  310 + } else {
  311 + alert("保存异常!");
  312 + }
  313 + },
  314 + function(result) {
  315 + // TODO:弹出框方式以后改
  316 + alert("出错啦!");
  317 + }
  318 + );
  319 + };
  320 +}]);
  321 +
  322 +angular.module('ScheduleApp').controller('BusConfigDetailCtrl', ['BusConfigService', '$stateParams', function(busConfigService, $stateParams) {
  323 + var self = this;
  324 + self.title = "";
  325 + self.busConfigForDetail = {};
  326 + self.busConfigForDetail.id = $stateParams.id;
  327 +
  328 + // 当转向到此页面时,就获取明细信息并绑定
  329 + busConfigService.getDetail($stateParams.id).then(
  330 + function(result) {
  331 + var key;
  332 + for (key in result) {
  333 + self.busConfigForDetail[key] = result[key];
  334 + }
  335 +
  336 + self.title = "车辆 " + self.busConfigForDetail.cl.insideCode + " 配置详细信息";
  337 + },
  338 + function(result) {
  339 + // TODO:弹出框方式以后改
  340 + alert("出错啦!");
  341 + }
  342 + );
  343 +}]);
  344 +
  345 +
  346 +
src/main/resources/static/pages/scheduleApp/module/core/busConfig/route.js
1 -// ui route 配置  
2 -  
3 -/** 车辆配置模块页面route */  
4 -ScheduleApp.config([  
5 - '$stateProvider',  
6 - '$urlRouterProvider',  
7 - function($stateProvider, $urlRouterProvider) {  
8 - // 默认路由  
9 - //$urlRouterProvider.otherwise('/busConfig.html');  
10 -  
11 - $stateProvider  
12 - .state("busConfig", { // index主页面  
13 - url: '/busConfig',  
14 - views: {  
15 - "": {  
16 - templateUrl: 'pages/scheduleApp/module/core/busConfig/index.html'  
17 - },  
18 - "busConfig_list@busConfig": {  
19 - templateUrl: 'pages/scheduleApp/module/core/busConfig/list.html'  
20 - }  
21 - },  
22 -  
23 - resolve: {  
24 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
25 - return $ocLazyLoad.load({  
26 - name: 'busConfig_module',  
27 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
28 - files: [  
29 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
30 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
31 - "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",  
32 - "pages/scheduleApp/module/core/busConfig/module.js"  
33 - ]  
34 - });  
35 - }]  
36 - }  
37 - })  
38 - .state("busConfig_form", { // 添加页面  
39 - url: '/busConfig_form',  
40 - views: {  
41 - "": {templateUrl: 'pages/scheduleApp/module/core/busConfig/form.html'}  
42 - },  
43 - resolve: {  
44 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
45 - return $ocLazyLoad.load({  
46 - name: 'busConfig_form_module',  
47 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
48 - files: [  
49 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
50 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
51 - "pages/scheduleApp/module/core/busConfig/module.js"  
52 - ]  
53 - });  
54 - }]  
55 - }  
56 - })  
57 - .state("busConfig_edit", { // 修改页面  
58 - url: '/busConfig_edit/:id',  
59 - views: {  
60 - "": {templateUrl: 'pages/scheduleApp/module/core/busConfig/edit.html'}  
61 - },  
62 - resolve: {  
63 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
64 - return $ocLazyLoad.load({  
65 - name: 'busConfig_edit_module',  
66 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
67 - files: [  
68 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
69 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
70 - "pages/scheduleApp/module/core/busConfig/module.js"  
71 - ]  
72 - });  
73 - }]  
74 - }  
75 - })  
76 - .state("busConfig_detail", { // 详细信息页面  
77 - url: '/busConfig_detail/:id',  
78 - views: {  
79 - "": {templateUrl: 'pages/scheduleApp/module/core/busConfig/detail.html'}  
80 - },  
81 - resolve: {  
82 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
83 - return $ocLazyLoad.load({  
84 - name: 'busConfig_detail_module',  
85 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
86 - files: [  
87 - "pages/scheduleApp/module/core/busConfig/module.js"  
88 - ]  
89 - });  
90 - }]  
91 - }  
92 - });  
93 - }  
94 -]);  
95 -  
96 - 1 +// ui route 配置
  2 +
  3 +/** 车辆配置模块页面route */
  4 +ScheduleApp.config([
  5 + '$stateProvider',
  6 + '$urlRouterProvider',
  7 + function($stateProvider, $urlRouterProvider) {
  8 + // 默认路由
  9 + //$urlRouterProvider.otherwise('/busConfig.html');
  10 +
  11 + $stateProvider
  12 + .state("busConfig", { // index主页面
  13 + url: '/busConfig',
  14 + views: {
  15 + "": {
  16 + templateUrl: 'pages/scheduleApp/module/core/busConfig/index.html'
  17 + },
  18 + "busConfig_list@busConfig": {
  19 + templateUrl: 'pages/scheduleApp/module/core/busConfig/list.html'
  20 + }
  21 + },
  22 +
  23 + resolve: {
  24 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  25 + return $ocLazyLoad.load({
  26 + name: 'busConfig_module',
  27 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  28 + files: [
  29 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  30 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  31 + "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",
  32 + "pages/scheduleApp/module/core/busConfig/module.js"
  33 + ]
  34 + });
  35 + }]
  36 + }
  37 + })
  38 + .state("busConfig_form", { // 添加页面
  39 + url: '/busConfig_form',
  40 + views: {
  41 + "": {templateUrl: 'pages/scheduleApp/module/core/busConfig/form.html'}
  42 + },
  43 + resolve: {
  44 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  45 + return $ocLazyLoad.load({
  46 + name: 'busConfig_form_module',
  47 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  48 + files: [
  49 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  50 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  51 + "pages/scheduleApp/module/core/busConfig/module.js"
  52 + ]
  53 + });
  54 + }]
  55 + }
  56 + })
  57 + .state("busConfig_edit", { // 修改页面
  58 + url: '/busConfig_edit/:id',
  59 + views: {
  60 + "": {templateUrl: 'pages/scheduleApp/module/core/busConfig/edit.html'}
  61 + },
  62 + resolve: {
  63 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  64 + return $ocLazyLoad.load({
  65 + name: 'busConfig_edit_module',
  66 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  67 + files: [
  68 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  69 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  70 + "pages/scheduleApp/module/core/busConfig/module.js"
  71 + ]
  72 + });
  73 + }]
  74 + }
  75 + })
  76 + .state("busConfig_detail", { // 详细信息页面
  77 + url: '/busConfig_detail/:id',
  78 + views: {
  79 + "": {templateUrl: 'pages/scheduleApp/module/core/busConfig/detail.html'}
  80 + },
  81 + resolve: {
  82 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  83 + return $ocLazyLoad.load({
  84 + name: 'busConfig_detail_module',
  85 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  86 + files: [
  87 + "pages/scheduleApp/module/core/busConfig/module.js"
  88 + ]
  89 + });
  90 + }]
  91 + }
  92 + });
  93 + }
  94 +]);
  95 +
  96 +
src/main/resources/static/pages/scheduleApp/module/core/busLineInfoStat/module.js
1 -// 车辆配置管理 service controller 等写在一起  
2 -angular.module('ScheduleApp').factory('BusLineInfoStatService', ['BusLineInfoStatService_g', function(service) {  
3 - /** 当前的查询条件信息 */  
4 - var currentSearchCondition = {};  
5 -  
6 - /** 当前第几页 */  
7 - var currentPageNo = 1;  
8 -  
9 - return {  
10 - /**  
11 - * 获取查询条件信息,  
12 - * 用于给controller用来和页面数据绑定。  
13 - */  
14 - getSearchCondition: function() {  
15 - return currentSearchCondition;  
16 - },  
17 - /**  
18 - * 重置查询条件信息。  
19 - */  
20 - resetSearchCondition: function() {  
21 - var key;  
22 - for (key in currentSearchCondition) {  
23 - currentSearchCondition[key] = "";  
24 - }  
25 - },  
26 - /**  
27 - * 设置当前页码。  
28 - * @param cpn 从1开始,后台是从0开始的  
29 - */  
30 - setCurrentPageNo: function(cpn) {  
31 - currentPageNo = cpn;  
32 - },  
33 - /**  
34 - * 组装查询参数,返回一个promise查询结果。  
35 - * @param params 查询参数  
36 - * @return 返回一个 promise  
37 - */  
38 - getPage: function() {  
39 - var params = currentSearchCondition; // 查询条件  
40 - params.page = currentPageNo - 1; // 服务端页码从0开始  
41 - return service.list(params).$promise;  
42 - },  
43 - /**  
44 - * 获取明细信息。  
45 - * @param id 车辆id  
46 - * @return 返回一个 promise  
47 - */  
48 - getDetail: function(id) {  
49 - var params = {id: id};  
50 - return service.get(params).$promise;  
51 - },  
52 - /**  
53 - * 保存信息。  
54 - * @param obj 车辆详细信息  
55 - * @return 返回一个 promise  
56 - */  
57 - saveDetail: function(obj) {  
58 - return service.save(obj).$promise;  
59 - }  
60 - };  
61 -  
62 -}]);  
63 -  
64 -angular.module('ScheduleApp').controller('BusLineInfoStatCtrl', ['BusLineInfoStatService', '$state', function(busLineInfoStatService, $state) {  
65 - var self = this;  
66 -  
67 - // 切换到form状态  
68 - self.goForm = function() {  
69 - alert("切换");  
70 - }  
71 -}]);  
72 -  
73 -angular.module('ScheduleApp').controller('BusLineInfoStatListCtrl', ['BusLineInfoStatService', function(busLineInfoStatService) {  
74 - var self = this;  
75 - self.pageInfo = {  
76 - totalItems : 0,  
77 - currentPage : 1,  
78 - infos: []  
79 - };  
80 -  
81 - // 初始创建的时候,获取一次列表数据  
82 - busLineInfoStatService.getPage().then(  
83 - function(result) {  
84 - self.pageInfo.totalItems = result.totalElements;  
85 - self.pageInfo.currentPage = result.number + 1;  
86 - self.pageInfo.infos = result.content;  
87 - busLineInfoStatService.setCurrentPageNo(result.number + 1);  
88 - },  
89 - function(result) {  
90 - alert("出错啦!");  
91 - }  
92 - );  
93 -  
94 - //$scope.$watch("ctrl.pageInfo.currentPage", function() {  
95 - // alert("dfdfdf");  
96 - //});  
97 -  
98 - // 翻页的时候调用  
99 - self.pageChanaged = function() {  
100 - busLineInfoStatService.setCurrentPageNo(self.pageInfo.currentPage);  
101 - busLineInfoStatService.getPage().then(  
102 - function(result) {  
103 - self.pageInfo.totalItems = result.totalElements;  
104 - self.pageInfo.currentPage = result.number + 1;  
105 - self.pageInfo.infos = result.content;  
106 - busLineInfoStatService.setCurrentPageNo(result.number + 1);  
107 - },  
108 - function(result) {  
109 - alert("出错啦!");  
110 - }  
111 - );  
112 - };  
113 - // 获取查询条件数据  
114 - self.searchCondition = function() {  
115 - return busLineInfoStatService.getSearchCondition();  
116 - };  
117 - // 重置查询条件  
118 - self.resetSearchCondition = function() {  
119 - return busLineInfoStatService.resetSearchCondition();  
120 - };  
121 -  
122 -}]);  
123 -  
124 -angular.module('ScheduleApp').controller('BusLineInfoStatFormCtrl', ['BusLineInfoStatService', '$stateParams', '$state', function(busLineInfoStatService, $stateParams, $state) {  
125 - // TODO:  
126 -}]);  
127 -  
128 -angular.module('ScheduleApp').controller('BusLineInfoStatDetailCtrl', ['BusLineInfoStatService', '$stateParams', function(busLineInfoStatService, $stateParams) {  
129 - // TODO:  
130 -}]);  
131 -  
132 -  
133 - 1 +// 车辆配置管理 service controller 等写在一起
  2 +angular.module('ScheduleApp').factory('BusLineInfoStatService', ['BusLineInfoStatService_g', function(service) {
  3 + /** 当前的查询条件信息 */
  4 + var currentSearchCondition = {};
  5 +
  6 + /** 当前第几页 */
  7 + var currentPageNo = 1;
  8 +
  9 + return {
  10 + /**
  11 + * 获取查询条件信息,
  12 + * 用于给controller用来和页面数据绑定。
  13 + */
  14 + getSearchCondition: function() {
  15 + return currentSearchCondition;
  16 + },
  17 + /**
  18 + * 重置查询条件信息。
  19 + */
  20 + resetSearchCondition: function() {
  21 + var key;
  22 + for (key in currentSearchCondition) {
  23 + currentSearchCondition[key] = "";
  24 + }
  25 + },
  26 + /**
  27 + * 设置当前页码。
  28 + * @param cpn 从1开始,后台是从0开始的
  29 + */
  30 + setCurrentPageNo: function(cpn) {
  31 + currentPageNo = cpn;
  32 + },
  33 + /**
  34 + * 组装查询参数,返回一个promise查询结果。
  35 + * @param params 查询参数
  36 + * @return 返回一个 promise
  37 + */
  38 + getPage: function() {
  39 + var params = currentSearchCondition; // 查询条件
  40 + params.page = currentPageNo - 1; // 服务端页码从0开始
  41 + return service.list(params).$promise;
  42 + },
  43 + /**
  44 + * 获取明细信息。
  45 + * @param id 车辆id
  46 + * @return 返回一个 promise
  47 + */
  48 + getDetail: function(id) {
  49 + var params = {id: id};
  50 + return service.get(params).$promise;
  51 + },
  52 + /**
  53 + * 保存信息。
  54 + * @param obj 车辆详细信息
  55 + * @return 返回一个 promise
  56 + */
  57 + saveDetail: function(obj) {
  58 + return service.save(obj).$promise;
  59 + }
  60 + };
  61 +
  62 +}]);
  63 +
  64 +angular.module('ScheduleApp').controller('BusLineInfoStatCtrl', ['BusLineInfoStatService', '$state', function(busLineInfoStatService, $state) {
  65 + var self = this;
  66 +
  67 + // 切换到form状态
  68 + self.goForm = function() {
  69 + alert("切换");
  70 + }
  71 +}]);
  72 +
  73 +angular.module('ScheduleApp').controller('BusLineInfoStatListCtrl', ['BusLineInfoStatService', function(busLineInfoStatService) {
  74 + var self = this;
  75 + self.pageInfo = {
  76 + totalItems : 0,
  77 + currentPage : 1,
  78 + infos: []
  79 + };
  80 +
  81 + // 初始创建的时候,获取一次列表数据
  82 + busLineInfoStatService.getPage().then(
  83 + function(result) {
  84 + self.pageInfo.totalItems = result.totalElements;
  85 + self.pageInfo.currentPage = result.number + 1;
  86 + self.pageInfo.infos = result.content;
  87 + busLineInfoStatService.setCurrentPageNo(result.number + 1);
  88 + },
  89 + function(result) {
  90 + alert("出错啦!");
  91 + }
  92 + );
  93 +
  94 + //$scope.$watch("ctrl.pageInfo.currentPage", function() {
  95 + // alert("dfdfdf");
  96 + //});
  97 +
  98 + // 翻页的时候调用
  99 + self.pageChanaged = function() {
  100 + busLineInfoStatService.setCurrentPageNo(self.pageInfo.currentPage);
  101 + busLineInfoStatService.getPage().then(
  102 + function(result) {
  103 + self.pageInfo.totalItems = result.totalElements;
  104 + self.pageInfo.currentPage = result.number + 1;
  105 + self.pageInfo.infos = result.content;
  106 + busLineInfoStatService.setCurrentPageNo(result.number + 1);
  107 + },
  108 + function(result) {
  109 + alert("出错啦!");
  110 + }
  111 + );
  112 + };
  113 + // 获取查询条件数据
  114 + self.searchCondition = function() {
  115 + return busLineInfoStatService.getSearchCondition();
  116 + };
  117 + // 重置查询条件
  118 + self.resetSearchCondition = function() {
  119 + return busLineInfoStatService.resetSearchCondition();
  120 + };
  121 +
  122 +}]);
  123 +
  124 +angular.module('ScheduleApp').controller('BusLineInfoStatFormCtrl', ['BusLineInfoStatService', '$stateParams', '$state', function(busLineInfoStatService, $stateParams, $state) {
  125 + // TODO:
  126 +}]);
  127 +
  128 +angular.module('ScheduleApp').controller('BusLineInfoStatDetailCtrl', ['BusLineInfoStatService', '$stateParams', function(busLineInfoStatService, $stateParams) {
  129 + // TODO:
  130 +}]);
  131 +
  132 +
  133 +
src/main/resources/static/pages/scheduleApp/module/core/busLineInfoStat/route.js
1 -// ui route 配置  
2 -  
3 -/** 线路运营概览配置route */  
4 -ScheduleApp.config([  
5 - '$stateProvider',  
6 - '$urlRouterProvider',  
7 - function($stateProvider, $urlRouterProvider) {  
8 - // 默认路由  
9 - //$urlRouterProvider.otherwise('/busConfig.html');  
10 -  
11 - $stateProvider  
12 - .state("busLineInfoStat", { // index页面  
13 - url: '/busLineInfoStat',  
14 - views: {  
15 - "": {  
16 - templateUrl: 'pages/scheduleApp/module/core/busLineInfoStat/index.html'  
17 - },  
18 - "busLineInfoStat_list@busLineInfoStat": {  
19 - templateUrl: 'pages/scheduleApp/module/core/busLineInfoStat/list.html'  
20 - }  
21 - },  
22 -  
23 - resolve: {  
24 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
25 - return $ocLazyLoad.load({  
26 - name: 'busLineInfoStat_module',  
27 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
28 - files: [  
29 - "pages/scheduleApp/module/core/busLineInfoStat/module.js"  
30 - ]  
31 - });  
32 - }]  
33 - }  
34 - });  
35 -  
36 - } 1 +// ui route 配置
  2 +
  3 +/** 线路运营概览配置route */
  4 +ScheduleApp.config([
  5 + '$stateProvider',
  6 + '$urlRouterProvider',
  7 + function($stateProvider, $urlRouterProvider) {
  8 + // 默认路由
  9 + //$urlRouterProvider.otherwise('/busConfig.html');
  10 +
  11 + $stateProvider
  12 + .state("busLineInfoStat", { // index页面
  13 + url: '/busLineInfoStat',
  14 + views: {
  15 + "": {
  16 + templateUrl: 'pages/scheduleApp/module/core/busLineInfoStat/index.html'
  17 + },
  18 + "busLineInfoStat_list@busLineInfoStat": {
  19 + templateUrl: 'pages/scheduleApp/module/core/busLineInfoStat/list.html'
  20 + }
  21 + },
  22 +
  23 + resolve: {
  24 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  25 + return $ocLazyLoad.load({
  26 + name: 'busLineInfoStat_module',
  27 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  28 + files: [
  29 + "pages/scheduleApp/module/core/busLineInfoStat/module.js"
  30 + ]
  31 + });
  32 + }]
  33 + }
  34 + });
  35 +
  36 + }
37 ]); 37 ]);
38 \ No newline at end of file 38 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/employeeConfig/module.js
1 -// 人员配置管理 service controller 等写在一起  
2 -  
3 -angular.module('ScheduleApp').factory('EmployeeConfigService', ['EmployeeConfigService_g', function(service) {  
4 - /** 当前的查询条件信息 */  
5 - var currentSearchCondition = {'isCancel_eq': false};  
6 -  
7 - /** 当前第几页 */  
8 - var currentPageNo = 1;  
9 -  
10 - return {  
11 - /**  
12 - * 获取查询条件信息,  
13 - * 用于给controller用来和页面数据绑定。  
14 - */  
15 - getSearchCondition: function() {  
16 - return currentSearchCondition;  
17 - },  
18 - /**  
19 - * 重置查询条件信息。  
20 - */  
21 - resetSearchCondition: function() {  
22 - var key;  
23 - for (key in currentSearchCondition) {  
24 - currentSearchCondition[key] = undefined;  
25 - }  
26 - currentSearchCondition['isCancel_eq'] = false;  
27 - },  
28 - /**  
29 - * 设置当前页码。  
30 - * @param cpn 从1开始,后台是从0开始的  
31 - */  
32 - setCurrentPageNo: function(cpn) {  
33 - currentPageNo = cpn;  
34 - },  
35 - /**  
36 - * 组装查询参数,返回一个promise查询结果。  
37 - * @param params 查询参数  
38 - * @return 返回一个 promise  
39 - */  
40 - getPage: function() {  
41 - var params = currentSearchCondition; // 查询条件  
42 - params.page = currentPageNo - 1; // 服务端页码从0开始  
43 - return service.rest.list(params).$promise;  
44 - },  
45 - /**  
46 - * 获取明细信息。  
47 - * @param id 车辆id  
48 - * @return 返回一个 promise  
49 - */  
50 - getDetail: function(id) {  
51 - var params = {id: id};  
52 - return service.rest.get(params).$promise;  
53 - },  
54 - /**  
55 - * 保存信息。  
56 - * @param obj 车辆详细信息  
57 - * @return 返回一个 promise  
58 - */  
59 - saveDetail: function(obj) {  
60 - return service.rest.save(obj).$promise;  
61 - },  
62 - /**  
63 - * 删除信息。  
64 - * @param id 主键id  
65 - * @returns {*|Function|promise|n}  
66 - */  
67 - deleteDetail: function(id) {  
68 - return service.rest.delete({id: id}).$promise;  
69 - }  
70 - };  
71 -}]);  
72 -  
73 -angular.module('ScheduleApp').controller('EmployeeConfigCtrl', ['EmployeeConfigService', '$state', '$uibModal', function(employeeConfigService, $state, $uibModal) {  
74 - var self = this;  
75 -  
76 - // 切换到form状态  
77 - self.goForm = function() {  
78 - //alert("切换");  
79 - $state.go("employeeConfig_form");  
80 - };  
81 -  
82 - // 导入excel  
83 - self.importData = function() {  
84 - // large方式弹出模态对话框  
85 - var modalInstance = $uibModal.open({  
86 - templateUrl: '/pages/scheduleApp/module/core/employeeConfig/dataImport.html',  
87 - size: "lg",  
88 - animation: true,  
89 - backdrop: 'static',  
90 - resolve: {  
91 - // 可以传值给controller  
92 - },  
93 - windowClass: 'center-modal',  
94 - controller: "EmployeeConfigToolsCtrl",  
95 - controllerAs: "ctrl",  
96 - bindToController: true  
97 - });  
98 - modalInstance.result.then(  
99 - function() {  
100 - console.log("dataImport.html打开");  
101 - },  
102 - function() {  
103 - console.log("dataImport.html消失");  
104 - }  
105 - );  
106 - };  
107 -}]);  
108 -  
109 -angular.module('ScheduleApp').controller('EmployeeConfigToolsCtrl', ['$modalInstance', 'FileUploader', function($modalInstance, FileUploader) {  
110 - var self = this;  
111 - self.data = "TODO";  
112 -  
113 - // 关闭窗口  
114 - self.close = function() {  
115 - $modalInstance.dismiss("cancel");  
116 - };  
117 -  
118 - self.clearInputFile = function() {  
119 - angular.element("input[type='file']").val(null);  
120 - };  
121 -  
122 - // 上传文件组件  
123 - self.uploader = new FileUploader({  
124 - url: "/eci/dataImport",  
125 - filters: [] // 用于过滤文件,比如只允许导入excel  
126 - });  
127 - self.uploader.onAfterAddingFile = function(fileItem)  
128 - {  
129 - console.info('onAfterAddingFile', fileItem);  
130 - console.log(self.uploader.queue.length);  
131 - if (self.uploader.queue.length > 1)  
132 - self.uploader.removeFromQueue(0);  
133 - };  
134 - self.uploader.onSuccessItem = function(fileItem, response, status, headers)  
135 - {  
136 - console.info('onSuccessItem', fileItem, response, status, headers);  
137 - };  
138 - self.uploader.onErrorItem = function(fileItem, response, status, headers)  
139 - {  
140 - console.info('onErrorItem', fileItem, response, status, headers);  
141 - };  
142 -  
143 -}]);  
144 -  
145 -angular.module('ScheduleApp').controller('EmployeeConfigListCtrl', ['EmployeeConfigService', function(employeeConfigService) {  
146 - var self = this;  
147 - self.pageInfo = {  
148 - totalItems : 0,  
149 - currentPage : 1,  
150 - infos: []  
151 - };  
152 -  
153 - // 初始创建的时候,获取一次列表数据  
154 - employeeConfigService.getPage().then(  
155 - function(result) {  
156 - self.pageInfo.totalItems = result.totalElements;  
157 - self.pageInfo.currentPage = result.number + 1;  
158 - self.pageInfo.infos = result.content;  
159 - employeeConfigService.setCurrentPageNo(result.number + 1);  
160 - },  
161 - function(result) {  
162 - alert("出错啦!");  
163 - }  
164 - );  
165 -  
166 - //$scope.$watch("ctrl.pageInfo.currentPage", function() {  
167 - // alert("dfdfdf");  
168 - //});  
169 -  
170 - // 翻页的时候调用  
171 - self.pageChanaged = function() {  
172 - employeeConfigService.setCurrentPageNo(self.pageInfo.currentPage);  
173 - employeeConfigService.getPage().then(  
174 - function(result) {  
175 - self.pageInfo.totalItems = result.totalElements;  
176 - self.pageInfo.currentPage = result.number + 1;  
177 - self.pageInfo.infos = result.content;  
178 - employeeConfigService.setCurrentPageNo(result.number + 1);  
179 - },  
180 - function(result) {  
181 - alert("出错啦!");  
182 - }  
183 - );  
184 - };  
185 - // 获取查询条件数据  
186 - self.searchCondition = function() {  
187 - return employeeConfigService.getSearchCondition();  
188 - };  
189 - // 重置查询条件  
190 - self.resetSearchCondition = function() {  
191 - employeeConfigService.resetSearchCondition();  
192 - self.pageInfo.currentPage = 1;  
193 - self.pageChanaged();  
194 - };  
195 -  
196 - // 删除时刻表  
197 - self.deleteEci = function(id) {  
198 - // TODO:  
199 - employeeConfigService.deleteDetail(id).then(  
200 - function(result) {  
201 - if (result.message) { // 暂时这样做,之后全局拦截  
202 - alert("失败:" + result.message);  
203 - } else {  
204 - alert("作废成功!");  
205 -  
206 - employeeConfigService.getPage().then(  
207 - function(result) {  
208 - self.pageInfo.totalItems = result.totalElements;  
209 - self.pageInfo.currentPage = result.number + 1;  
210 - self.pageInfo.infos = result.content;  
211 - employeeConfigService.setCurrentPageNo(result.number + 1);  
212 - },  
213 - function(result) {  
214 - alert("出错啦!");  
215 - }  
216 - );  
217 - }  
218 -  
219 - },  
220 - function(result) {  
221 - alert("出错啦!" + result);  
222 - }  
223 - );  
224 - };  
225 -  
226 - // 撤销修改  
227 - self.redoDeleteEci = function(id) {  
228 - employeeConfigService.getDetail(id).then(  
229 - function(result) {  
230 - result.isCancel = 'false';  
231 - employeeConfigService.saveDetail(result).then(  
232 - function(result) {  
233 - if (result.message) { // 暂时这样做,之后全局拦截  
234 - alert("失败:" + result.message);  
235 - } else {  
236 - alert("撤销成功!");  
237 -  
238 - employeeConfigService.getPage().then(  
239 - function(result) {  
240 - self.pageInfo.totalItems = result.totalElements;  
241 - self.pageInfo.currentPage = result.number + 1;  
242 - self.pageInfo.infos = result.content;  
243 - employeeConfigService.setCurrentPageNo(result.number + 1);  
244 - },  
245 - function(result) {  
246 - alert("出错啦!");  
247 - }  
248 - );  
249 - }  
250 - },  
251 - function(result) {  
252 - // TODO:弹出框方式以后改  
253 - alert("出错啦!");  
254 - }  
255 - );  
256 - },  
257 - function(result) {  
258 - // TODO:弹出框方式以后改  
259 - alert("出错啦!");  
260 - }  
261 - );  
262 - };  
263 -  
264 -}]);  
265 -  
266 -angular.module('ScheduleApp').controller('EmployeeConfigFormCtrl', ['EmployeeConfigService', '$stateParams', '$state', function(employeeConfigService, $stateParams, $state) {  
267 - var self = this;  
268 -  
269 - // 欲保存的busInfo信息,绑定  
270 - self.employeeConfigForSave = {xl:{}, jsy:{}, spy:{}};  
271 -  
272 - // 获取传过来的id,有的话就是修改,获取一遍数据  
273 - var id = $stateParams.id;  
274 - if (id) {  
275 - self.employeeConfigForSave.id = id;  
276 - employeeConfigService.getDetail(id).then(  
277 - function(result) {  
278 - var key;  
279 - for (key in result) {  
280 - self.employeeConfigForSave[key] = result[key];  
281 - }  
282 -  
283 - if (!self.employeeConfigForSave.spy) {  
284 - self.employeeConfigForSave.spy = {};  
285 - }  
286 -  
287 - },  
288 - function(result) {  
289 - alert("出错啦!");  
290 - }  
291 - );  
292 - }  
293 -  
294 - // 提交方法  
295 - self.submit = function() {  
296 - console.log(self.employeeConfigForSave);  
297 -  
298 - // 如果自对象没id值,设置成null  
299 - if (self.employeeConfigForSave.spy && !self.employeeConfigForSave.spy.id) {  
300 - self.employeeConfigForSave.spy = null;  
301 - }  
302 -  
303 - employeeConfigService.saveDetail(self.employeeConfigForSave).then(  
304 - function(result) {  
305 - // TODO:弹出框方式以后改  
306 - if (result.status == 'SUCCESS') {  
307 - alert("保存成功!");  
308 - $state.go("employeeConfig");  
309 - } else {  
310 - alert("保存异常!");  
311 - }  
312 - },  
313 - function(result) {  
314 - // TODO:弹出框方式以后改  
315 - alert("出错啦!");  
316 - }  
317 - );  
318 - };  
319 -}]);  
320 -  
321 -angular.module('ScheduleApp').controller('EmployeeConfigDetailCtrl', ['EmployeeConfigService', '$stateParams', function(employeeConfigService, $stateParams) {  
322 - var self = this;  
323 - self.title = "";  
324 - self.employeeConfigForDetail = {};  
325 - self.employeeConfigForDetail.id = $stateParams.id;  
326 -  
327 - // 当转向到此页面时,就获取明细信息并绑定  
328 - employeeConfigService.getDetail($stateParams.id).then(  
329 - function(result) {  
330 - var key;  
331 - for (key in result) {  
332 - self.employeeConfigForDetail[key] = result[key];  
333 - }  
334 -  
335 - self.title = "驾驶员 " + self.employeeConfigForDetail.jsy.personnelName + " 配置详细信息";  
336 - },  
337 - function(result) {  
338 - // TODO:弹出框方式以后改  
339 - alert("出错啦!");  
340 - }  
341 - );  
342 -}]);  
343 - 1 +// 人员配置管理 service controller 等写在一起
  2 +
  3 +angular.module('ScheduleApp').factory('EmployeeConfigService', ['EmployeeConfigService_g', function(service) {
  4 + /** 当前的查询条件信息 */
  5 + var currentSearchCondition = {'isCancel_eq': false};
  6 +
  7 + /** 当前第几页 */
  8 + var currentPageNo = 1;
  9 +
  10 + return {
  11 + /**
  12 + * 获取查询条件信息,
  13 + * 用于给controller用来和页面数据绑定。
  14 + */
  15 + getSearchCondition: function() {
  16 + return currentSearchCondition;
  17 + },
  18 + /**
  19 + * 重置查询条件信息。
  20 + */
  21 + resetSearchCondition: function() {
  22 + var key;
  23 + for (key in currentSearchCondition) {
  24 + currentSearchCondition[key] = undefined;
  25 + }
  26 + currentSearchCondition['isCancel_eq'] = false;
  27 + },
  28 + /**
  29 + * 设置当前页码。
  30 + * @param cpn 从1开始,后台是从0开始的
  31 + */
  32 + setCurrentPageNo: function(cpn) {
  33 + currentPageNo = cpn;
  34 + },
  35 + /**
  36 + * 组装查询参数,返回一个promise查询结果。
  37 + * @param params 查询参数
  38 + * @return 返回一个 promise
  39 + */
  40 + getPage: function() {
  41 + var params = currentSearchCondition; // 查询条件
  42 + params.page = currentPageNo - 1; // 服务端页码从0开始
  43 + return service.rest.list(params).$promise;
  44 + },
  45 + /**
  46 + * 获取明细信息。
  47 + * @param id 车辆id
  48 + * @return 返回一个 promise
  49 + */
  50 + getDetail: function(id) {
  51 + var params = {id: id};
  52 + return service.rest.get(params).$promise;
  53 + },
  54 + /**
  55 + * 保存信息。
  56 + * @param obj 车辆详细信息
  57 + * @return 返回一个 promise
  58 + */
  59 + saveDetail: function(obj) {
  60 + return service.rest.save(obj).$promise;
  61 + },
  62 + /**
  63 + * 删除信息。
  64 + * @param id 主键id
  65 + * @returns {*|Function|promise|n}
  66 + */
  67 + deleteDetail: function(id) {
  68 + return service.rest.delete({id: id}).$promise;
  69 + }
  70 + };
  71 +}]);
  72 +
  73 +angular.module('ScheduleApp').controller('EmployeeConfigCtrl', ['EmployeeConfigService', '$state', '$uibModal', function(employeeConfigService, $state, $uibModal) {
  74 + var self = this;
  75 +
  76 + // 切换到form状态
  77 + self.goForm = function() {
  78 + //alert("切换");
  79 + $state.go("employeeConfig_form");
  80 + };
  81 +
  82 + // 导入excel
  83 + self.importData = function() {
  84 + // large方式弹出模态对话框
  85 + var modalInstance = $uibModal.open({
  86 + templateUrl: '/pages/scheduleApp/module/core/employeeConfig/dataImport.html',
  87 + size: "lg",
  88 + animation: true,
  89 + backdrop: 'static',
  90 + resolve: {
  91 + // 可以传值给controller
  92 + },
  93 + windowClass: 'center-modal',
  94 + controller: "EmployeeConfigToolsCtrl",
  95 + controllerAs: "ctrl",
  96 + bindToController: true
  97 + });
  98 + modalInstance.result.then(
  99 + function() {
  100 + console.log("dataImport.html打开");
  101 + },
  102 + function() {
  103 + console.log("dataImport.html消失");
  104 + }
  105 + );
  106 + };
  107 +}]);
  108 +
  109 +angular.module('ScheduleApp').controller('EmployeeConfigToolsCtrl', ['$modalInstance', 'FileUploader', function($modalInstance, FileUploader) {
  110 + var self = this;
  111 + self.data = "TODO";
  112 +
  113 + // 关闭窗口
  114 + self.close = function() {
  115 + $modalInstance.dismiss("cancel");
  116 + };
  117 +
  118 + self.clearInputFile = function() {
  119 + angular.element("input[type='file']").val(null);
  120 + };
  121 +
  122 + // 上传文件组件
  123 + self.uploader = new FileUploader({
  124 + url: "/eci/dataImport",
  125 + filters: [] // 用于过滤文件,比如只允许导入excel
  126 + });
  127 + self.uploader.onAfterAddingFile = function(fileItem)
  128 + {
  129 + console.info('onAfterAddingFile', fileItem);
  130 + console.log(self.uploader.queue.length);
  131 + if (self.uploader.queue.length > 1)
  132 + self.uploader.removeFromQueue(0);
  133 + };
  134 + self.uploader.onSuccessItem = function(fileItem, response, status, headers)
  135 + {
  136 + console.info('onSuccessItem', fileItem, response, status, headers);
  137 + };
  138 + self.uploader.onErrorItem = function(fileItem, response, status, headers)
  139 + {
  140 + console.info('onErrorItem', fileItem, response, status, headers);
  141 + };
  142 +
  143 +}]);
  144 +
  145 +angular.module('ScheduleApp').controller('EmployeeConfigListCtrl', ['EmployeeConfigService', function(employeeConfigService) {
  146 + var self = this;
  147 + self.pageInfo = {
  148 + totalItems : 0,
  149 + currentPage : 1,
  150 + infos: []
  151 + };
  152 +
  153 + // 初始创建的时候,获取一次列表数据
  154 + employeeConfigService.getPage().then(
  155 + function(result) {
  156 + self.pageInfo.totalItems = result.totalElements;
  157 + self.pageInfo.currentPage = result.number + 1;
  158 + self.pageInfo.infos = result.content;
  159 + employeeConfigService.setCurrentPageNo(result.number + 1);
  160 + },
  161 + function(result) {
  162 + alert("出错啦!");
  163 + }
  164 + );
  165 +
  166 + //$scope.$watch("ctrl.pageInfo.currentPage", function() {
  167 + // alert("dfdfdf");
  168 + //});
  169 +
  170 + // 翻页的时候调用
  171 + self.pageChanaged = function() {
  172 + employeeConfigService.setCurrentPageNo(self.pageInfo.currentPage);
  173 + employeeConfigService.getPage().then(
  174 + function(result) {
  175 + self.pageInfo.totalItems = result.totalElements;
  176 + self.pageInfo.currentPage = result.number + 1;
  177 + self.pageInfo.infos = result.content;
  178 + employeeConfigService.setCurrentPageNo(result.number + 1);
  179 + },
  180 + function(result) {
  181 + alert("出错啦!");
  182 + }
  183 + );
  184 + };
  185 + // 获取查询条件数据
  186 + self.searchCondition = function() {
  187 + return employeeConfigService.getSearchCondition();
  188 + };
  189 + // 重置查询条件
  190 + self.resetSearchCondition = function() {
  191 + employeeConfigService.resetSearchCondition();
  192 + self.pageInfo.currentPage = 1;
  193 + self.pageChanaged();
  194 + };
  195 +
  196 + // 删除时刻表
  197 + self.deleteEci = function(id) {
  198 + // TODO:
  199 + employeeConfigService.deleteDetail(id).then(
  200 + function(result) {
  201 + if (result.message) { // 暂时这样做,之后全局拦截
  202 + alert("失败:" + result.message);
  203 + } else {
  204 + alert("作废成功!");
  205 +
  206 + employeeConfigService.getPage().then(
  207 + function(result) {
  208 + self.pageInfo.totalItems = result.totalElements;
  209 + self.pageInfo.currentPage = result.number + 1;
  210 + self.pageInfo.infos = result.content;
  211 + employeeConfigService.setCurrentPageNo(result.number + 1);
  212 + },
  213 + function(result) {
  214 + alert("出错啦!");
  215 + }
  216 + );
  217 + }
  218 +
  219 + },
  220 + function(result) {
  221 + alert("出错啦!" + result);
  222 + }
  223 + );
  224 + };
  225 +
  226 + // 撤销修改
  227 + self.redoDeleteEci = function(id) {
  228 + employeeConfigService.getDetail(id).then(
  229 + function(result) {
  230 + result.isCancel = 'false';
  231 + employeeConfigService.saveDetail(result).then(
  232 + function(result) {
  233 + if (result.message) { // 暂时这样做,之后全局拦截
  234 + alert("失败:" + result.message);
  235 + } else {
  236 + alert("撤销成功!");
  237 +
  238 + employeeConfigService.getPage().then(
  239 + function(result) {
  240 + self.pageInfo.totalItems = result.totalElements;
  241 + self.pageInfo.currentPage = result.number + 1;
  242 + self.pageInfo.infos = result.content;
  243 + employeeConfigService.setCurrentPageNo(result.number + 1);
  244 + },
  245 + function(result) {
  246 + alert("出错啦!");
  247 + }
  248 + );
  249 + }
  250 + },
  251 + function(result) {
  252 + // TODO:弹出框方式以后改
  253 + alert("出错啦!");
  254 + }
  255 + );
  256 + },
  257 + function(result) {
  258 + // TODO:弹出框方式以后改
  259 + alert("出错啦!");
  260 + }
  261 + );
  262 + };
  263 +
  264 +}]);
  265 +
  266 +angular.module('ScheduleApp').controller('EmployeeConfigFormCtrl', ['EmployeeConfigService', '$stateParams', '$state', function(employeeConfigService, $stateParams, $state) {
  267 + var self = this;
  268 +
  269 + // 欲保存的busInfo信息,绑定
  270 + self.employeeConfigForSave = {xl:{}, jsy:{}, spy:{}};
  271 +
  272 + // 获取传过来的id,有的话就是修改,获取一遍数据
  273 + var id = $stateParams.id;
  274 + if (id) {
  275 + self.employeeConfigForSave.id = id;
  276 + employeeConfigService.getDetail(id).then(
  277 + function(result) {
  278 + var key;
  279 + for (key in result) {
  280 + self.employeeConfigForSave[key] = result[key];
  281 + }
  282 +
  283 + if (!self.employeeConfigForSave.spy) {
  284 + self.employeeConfigForSave.spy = {};
  285 + }
  286 +
  287 + },
  288 + function(result) {
  289 + alert("出错啦!");
  290 + }
  291 + );
  292 + }
  293 +
  294 + // 提交方法
  295 + self.submit = function() {
  296 + console.log(self.employeeConfigForSave);
  297 +
  298 + // 如果自对象没id值,设置成null
  299 + if (self.employeeConfigForSave.spy && !self.employeeConfigForSave.spy.id) {
  300 + self.employeeConfigForSave.spy = null;
  301 + }
  302 +
  303 + employeeConfigService.saveDetail(self.employeeConfigForSave).then(
  304 + function(result) {
  305 + // TODO:弹出框方式以后改
  306 + if (result.status == 'SUCCESS') {
  307 + alert("保存成功!");
  308 + $state.go("employeeConfig");
  309 + } else {
  310 + alert("保存异常!");
  311 + }
  312 + },
  313 + function(result) {
  314 + // TODO:弹出框方式以后改
  315 + alert("出错啦!");
  316 + }
  317 + );
  318 + };
  319 +}]);
  320 +
  321 +angular.module('ScheduleApp').controller('EmployeeConfigDetailCtrl', ['EmployeeConfigService', '$stateParams', function(employeeConfigService, $stateParams) {
  322 + var self = this;
  323 + self.title = "";
  324 + self.employeeConfigForDetail = {};
  325 + self.employeeConfigForDetail.id = $stateParams.id;
  326 +
  327 + // 当转向到此页面时,就获取明细信息并绑定
  328 + employeeConfigService.getDetail($stateParams.id).then(
  329 + function(result) {
  330 + var key;
  331 + for (key in result) {
  332 + self.employeeConfigForDetail[key] = result[key];
  333 + }
  334 +
  335 + self.title = "驾驶员 " + self.employeeConfigForDetail.jsy.personnelName + " 配置详细信息";
  336 + },
  337 + function(result) {
  338 + // TODO:弹出框方式以后改
  339 + alert("出错啦!");
  340 + }
  341 + );
  342 +}]);
  343 +
src/main/resources/static/pages/scheduleApp/module/core/employeeConfig/route.js
1 -// ui route 配置  
2 -  
3 -/** 人员配置模块页面route */  
4 -ScheduleApp.config([  
5 - '$stateProvider',  
6 - '$urlRouterProvider',  
7 - function($stateProvider, $urlRouterProvider) {  
8 - // 默认路由  
9 - //$urlRouterProvider.otherwise('/busConfig.html');  
10 -  
11 - $stateProvider  
12 - .state("employeeConfig", { // index页面  
13 - url: '/employeeConfig',  
14 - views: {  
15 - "": {  
16 - templateUrl: 'pages/scheduleApp/module/core/employeeConfig/index.html'  
17 - },  
18 - "employeeConfig_list@employeeConfig": {  
19 - templateUrl: 'pages/scheduleApp/module/core/employeeConfig/list.html'  
20 - }  
21 - },  
22 -  
23 - resolve: {  
24 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
25 - return $ocLazyLoad.load({  
26 - name: 'employeeConfig_module',  
27 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
28 - files: [  
29 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
30 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
31 - "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",  
32 - "pages/scheduleApp/module/core/employeeConfig/module.js"  
33 - ]  
34 - });  
35 - }]  
36 - }  
37 - })  
38 - .state("employeeConfig_form", { // 添加人员配置form  
39 - url: '/employeeConfig_form',  
40 - views: {  
41 - "": {templateUrl: 'pages/scheduleApp/module/core/employeeConfig/form.html'}  
42 - },  
43 - resolve: {  
44 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
45 - return $ocLazyLoad.load({  
46 - name: 'employeeConfig_form_module',  
47 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
48 - files: [  
49 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
50 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
51 - "pages/scheduleApp/module/core/employeeConfig/module.js"  
52 - ]  
53 - });  
54 - }]  
55 - }  
56 - })  
57 - .state("employeeConfig_edit", { // 修改人员配置form  
58 - url: '/employeeConfig_edit/:id',  
59 - views: {  
60 - "": {templateUrl: 'pages/scheduleApp/module/core/employeeConfig/edit.html'}  
61 - },  
62 - resolve: {  
63 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
64 - return $ocLazyLoad.load({  
65 - name: 'employeeConfig_edit_module',  
66 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
67 - files: [  
68 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
69 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
70 - "pages/scheduleApp/module/core/employeeConfig/module.js"  
71 - ]  
72 - });  
73 - }]  
74 - }  
75 - })  
76 - .state("employeeConfig_detail", { // 详细信息页面  
77 - url: '/employeeConfig_detail/:id',  
78 - views: {  
79 - "": {templateUrl: 'pages/scheduleApp/module/core/employeeConfig/detail.html'}  
80 - },  
81 - resolve: {  
82 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
83 - return $ocLazyLoad.load({  
84 - name: 'employeeConfig_detail_module',  
85 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
86 - files: [  
87 - "pages/scheduleApp/module/core/employeeConfig/module.js"  
88 - ]  
89 - });  
90 - }]  
91 - }  
92 - })  
93 -  
94 - } 1 +// ui route 配置
  2 +
  3 +/** 人员配置模块页面route */
  4 +ScheduleApp.config([
  5 + '$stateProvider',
  6 + '$urlRouterProvider',
  7 + function($stateProvider, $urlRouterProvider) {
  8 + // 默认路由
  9 + //$urlRouterProvider.otherwise('/busConfig.html');
  10 +
  11 + $stateProvider
  12 + .state("employeeConfig", { // index页面
  13 + url: '/employeeConfig',
  14 + views: {
  15 + "": {
  16 + templateUrl: 'pages/scheduleApp/module/core/employeeConfig/index.html'
  17 + },
  18 + "employeeConfig_list@employeeConfig": {
  19 + templateUrl: 'pages/scheduleApp/module/core/employeeConfig/list.html'
  20 + }
  21 + },
  22 +
  23 + resolve: {
  24 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  25 + return $ocLazyLoad.load({
  26 + name: 'employeeConfig_module',
  27 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  28 + files: [
  29 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  30 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  31 + "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",
  32 + "pages/scheduleApp/module/core/employeeConfig/module.js"
  33 + ]
  34 + });
  35 + }]
  36 + }
  37 + })
  38 + .state("employeeConfig_form", { // 添加人员配置form
  39 + url: '/employeeConfig_form',
  40 + views: {
  41 + "": {templateUrl: 'pages/scheduleApp/module/core/employeeConfig/form.html'}
  42 + },
  43 + resolve: {
  44 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  45 + return $ocLazyLoad.load({
  46 + name: 'employeeConfig_form_module',
  47 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  48 + files: [
  49 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  50 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  51 + "pages/scheduleApp/module/core/employeeConfig/module.js"
  52 + ]
  53 + });
  54 + }]
  55 + }
  56 + })
  57 + .state("employeeConfig_edit", { // 修改人员配置form
  58 + url: '/employeeConfig_edit/:id',
  59 + views: {
  60 + "": {templateUrl: 'pages/scheduleApp/module/core/employeeConfig/edit.html'}
  61 + },
  62 + resolve: {
  63 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  64 + return $ocLazyLoad.load({
  65 + name: 'employeeConfig_edit_module',
  66 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  67 + files: [
  68 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  69 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  70 + "pages/scheduleApp/module/core/employeeConfig/module.js"
  71 + ]
  72 + });
  73 + }]
  74 + }
  75 + })
  76 + .state("employeeConfig_detail", { // 详细信息页面
  77 + url: '/employeeConfig_detail/:id',
  78 + views: {
  79 + "": {templateUrl: 'pages/scheduleApp/module/core/employeeConfig/detail.html'}
  80 + },
  81 + resolve: {
  82 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  83 + return $ocLazyLoad.load({
  84 + name: 'employeeConfig_detail_module',
  85 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  86 + files: [
  87 + "pages/scheduleApp/module/core/employeeConfig/module.js"
  88 + ]
  89 + });
  90 + }]
  91 + }
  92 + })
  93 +
  94 + }
95 ]); 95 ]);
96 \ No newline at end of file 96 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/guideboardManage/module.js
1 -// 路牌管理 service controller 等写在一起  
2 -  
3 -angular.module('ScheduleApp').factory('GuideboardManageService', ['GuideboardManageService_g', function(service) {  
4 - /** 当前的查询条件信息 */  
5 - var currentSearchCondition = {};  
6 -  
7 - /** 当前第几页 */  
8 - var currentPageNo = 1;  
9 -  
10 - return {  
11 - /**  
12 - * 获取查询条件信息,  
13 - * 用于给controller用来和页面数据绑定。  
14 - */  
15 - getSearchCondition: function() {  
16 - return currentSearchCondition;  
17 - },  
18 - /**  
19 - * 重置查询条件信息。  
20 - */  
21 - resetSearchCondition: function() {  
22 - var key;  
23 - for (key in currentSearchCondition) {  
24 - currentSearchCondition[key] = undefined;  
25 - }  
26 - },  
27 - /**  
28 - * 设置当前页码。  
29 - * @param cpn 从1开始,后台是从0开始的  
30 - */  
31 - setCurrentPageNo: function(cpn) {  
32 - currentPageNo = cpn;  
33 - },  
34 - /**  
35 - * 组装查询参数,返回一个promise查询结果。  
36 - * @param params 查询参数  
37 - * @return 返回一个 promise  
38 - */  
39 - getPage: function() {  
40 - var params = currentSearchCondition; // 查询条件  
41 - params.page = currentPageNo - 1; // 服务端页码从0开始  
42 - return service.rest.list(params).$promise;  
43 - },  
44 - /**  
45 - * 获取明细信息。  
46 - * @param id 车辆id  
47 - * @return 返回一个 promise  
48 - */  
49 - getDetail: function(id) {  
50 - var params = {id: id};  
51 - return service.rest.get(params).$promise;  
52 - },  
53 - /**  
54 - * 保存信息。  
55 - * @param obj 车辆详细信息  
56 - * @return 返回一个 promise  
57 - */  
58 - saveDetail: function(obj) {  
59 - return service.rest.save(obj).$promise;  
60 - }  
61 - };  
62 -}]);  
63 -  
64 -angular.module('ScheduleApp').controller('GuideboardManageCtrl', ['GuideboardManageService', '$state', '$uibModal', function(guideboardManageService, $state, $uibModal) {  
65 - var self = this;  
66 -  
67 - // 切换到form状态  
68 - self.goForm = function() {  
69 - alert("切换添加");  
70 - };  
71 -  
72 - // 导入excel  
73 - self.importData = function() {  
74 - // large方式弹出模态对话框  
75 - var modalInstance = $uibModal.open({  
76 - templateUrl: '/pages/scheduleApp/module/core/guideboardManage/dataImport.html',  
77 - size: "lg",  
78 - animation: true,  
79 - backdrop: 'static',  
80 - resolve: {  
81 - // 可以传值给controller  
82 - },  
83 - windowClass: 'center-modal',  
84 - controller: "GuideboardManageToolsCtrl",  
85 - controllerAs: "ctrl",  
86 - bindToController: true  
87 - });  
88 - modalInstance.result.then(  
89 - function() {  
90 - console.log("dataImport.html打开");  
91 - },  
92 - function() {  
93 - console.log("dataImport.html消失");  
94 - }  
95 - );  
96 - };  
97 -}]);  
98 -  
99 -angular.module('ScheduleApp').controller('GuideboardManageToolsCtrl', ['$modalInstance', 'FileUploader', function($modalInstance, FileUploader) {  
100 - var self = this;  
101 - self.data = "TODO";  
102 -  
103 - // 关闭窗口  
104 - self.close = function() {  
105 - $modalInstance.dismiss("cancel");  
106 - };  
107 -  
108 - self.clearInputFile = function() {  
109 - angular.element("input[type='file']").val(null);  
110 - };  
111 -  
112 - // 上传文件组件  
113 - self.uploader = new FileUploader({  
114 - url: "/gic/dataImport",  
115 - filters: [] // 用于过滤文件,比如只允许导入excel  
116 - });  
117 - self.uploader.onAfterAddingFile = function(fileItem)  
118 - {  
119 - console.info('onAfterAddingFile', fileItem);  
120 - console.log(self.uploader.queue.length);  
121 - if (self.uploader.queue.length > 1)  
122 - self.uploader.removeFromQueue(0);  
123 - };  
124 - self.uploader.onSuccessItem = function(fileItem, response, status, headers)  
125 - {  
126 - console.info('onSuccessItem', fileItem, response, status, headers);  
127 - };  
128 - self.uploader.onErrorItem = function(fileItem, response, status, headers)  
129 - {  
130 - console.info('onErrorItem', fileItem, response, status, headers);  
131 - };  
132 -  
133 -}]);  
134 -  
135 -angular.module('ScheduleApp').controller('GuideboardManageListCtrl', ['GuideboardManageService', function(guideboardManageService) {  
136 - var self = this;  
137 - self.pageInfo = {  
138 - totalItems : 0,  
139 - currentPage : 1,  
140 - infos: []  
141 - };  
142 -  
143 - // 初始创建的时候,获取一次列表数据  
144 - guideboardManageService.getPage().then(  
145 - function(result) {  
146 - self.pageInfo.totalItems = result.totalElements;  
147 - self.pageInfo.currentPage = result.number + 1;  
148 - self.pageInfo.infos = result.content;  
149 - guideboardManageService.setCurrentPageNo(result.number + 1);  
150 - },  
151 - function(result) {  
152 - alert("出错啦!");  
153 - }  
154 - );  
155 -  
156 - //$scope.$watch("ctrl.pageInfo.currentPage", function() {  
157 - // alert("dfdfdf");  
158 - //});  
159 -  
160 - // 翻页的时候调用  
161 - self.pageChanaged = function() {  
162 - guideboardManageService.setCurrentPageNo(self.pageInfo.currentPage);  
163 - guideboardManageService.getPage().then(  
164 - function(result) {  
165 - self.pageInfo.totalItems = result.totalElements;  
166 - self.pageInfo.currentPage = result.number + 1;  
167 - self.pageInfo.infos = result.content;  
168 - guideboardManageService.setCurrentPageNo(result.number + 1);  
169 - },  
170 - function(result) {  
171 - alert("出错啦!");  
172 - }  
173 - );  
174 - };  
175 - // 获取查询条件数据  
176 - self.searchCondition = function() {  
177 - return guideboardManageService.getSearchCondition();  
178 - };  
179 - // 重置查询条件  
180 - self.resetSearchCondition = function() {  
181 - guideboardManageService.resetSearchCondition();  
182 - self.pageInfo.currentPage = 1;  
183 - self.pageChanaged();  
184 - };  
185 -  
186 -}]);  
187 -  
188 -angular.module('ScheduleApp').controller('GuideboardManageFormCtrl', ['GuideboardManageService', '$stateParams', '$state', function(guideboardManageService, $stateParams, $state) {  
189 - // TODO:  
190 -}]);  
191 -  
192 -angular.module('ScheduleApp').controller('GuideboardManageDetailCtrl', ['GuideboardManageService', '$stateParams', function(guideboardManageService, $stateParams) {  
193 - var self = this;  
194 - self.title = "";  
195 - self.guideboardForDetail = {};  
196 - self.guideboardForDetail.id = $stateParams.id;  
197 -  
198 - // 当转向到此页面时,就获取明细信息并绑定  
199 - guideboardManageService.getDetail($stateParams.id).then(  
200 - function(result) {  
201 - var key;  
202 - for (key in result) {  
203 - self.guideboardForDetail[key] = result[key];  
204 - }  
205 -  
206 - self.title = "路牌 " + self.guideboardForDetail.lpName + " 详细信息";  
207 - },  
208 - function(result) {  
209 - // TODO:弹出框方式以后改  
210 - alert("出错啦!");  
211 - }  
212 - );  
213 -}]);  
214 -  
215 - 1 +// 路牌管理 service controller 等写在一起
  2 +
  3 +angular.module('ScheduleApp').factory('GuideboardManageService', ['GuideboardManageService_g', function(service) {
  4 + /** 当前的查询条件信息 */
  5 + var currentSearchCondition = {};
  6 +
  7 + /** 当前第几页 */
  8 + var currentPageNo = 1;
  9 +
  10 + return {
  11 + /**
  12 + * 获取查询条件信息,
  13 + * 用于给controller用来和页面数据绑定。
  14 + */
  15 + getSearchCondition: function() {
  16 + return currentSearchCondition;
  17 + },
  18 + /**
  19 + * 重置查询条件信息。
  20 + */
  21 + resetSearchCondition: function() {
  22 + var key;
  23 + for (key in currentSearchCondition) {
  24 + currentSearchCondition[key] = undefined;
  25 + }
  26 + },
  27 + /**
  28 + * 设置当前页码。
  29 + * @param cpn 从1开始,后台是从0开始的
  30 + */
  31 + setCurrentPageNo: function(cpn) {
  32 + currentPageNo = cpn;
  33 + },
  34 + /**
  35 + * 组装查询参数,返回一个promise查询结果。
  36 + * @param params 查询参数
  37 + * @return 返回一个 promise
  38 + */
  39 + getPage: function() {
  40 + var params = currentSearchCondition; // 查询条件
  41 + params.page = currentPageNo - 1; // 服务端页码从0开始
  42 + return service.rest.list(params).$promise;
  43 + },
  44 + /**
  45 + * 获取明细信息。
  46 + * @param id 车辆id
  47 + * @return 返回一个 promise
  48 + */
  49 + getDetail: function(id) {
  50 + var params = {id: id};
  51 + return service.rest.get(params).$promise;
  52 + },
  53 + /**
  54 + * 保存信息。
  55 + * @param obj 车辆详细信息
  56 + * @return 返回一个 promise
  57 + */
  58 + saveDetail: function(obj) {
  59 + return service.rest.save(obj).$promise;
  60 + }
  61 + };
  62 +}]);
  63 +
  64 +angular.module('ScheduleApp').controller('GuideboardManageCtrl', ['GuideboardManageService', '$state', '$uibModal', function(guideboardManageService, $state, $uibModal) {
  65 + var self = this;
  66 +
  67 + // 切换到form状态
  68 + self.goForm = function() {
  69 + alert("切换添加");
  70 + };
  71 +
  72 + // 导入excel
  73 + self.importData = function() {
  74 + // large方式弹出模态对话框
  75 + var modalInstance = $uibModal.open({
  76 + templateUrl: '/pages/scheduleApp/module/core/guideboardManage/dataImport.html',
  77 + size: "lg",
  78 + animation: true,
  79 + backdrop: 'static',
  80 + resolve: {
  81 + // 可以传值给controller
  82 + },
  83 + windowClass: 'center-modal',
  84 + controller: "GuideboardManageToolsCtrl",
  85 + controllerAs: "ctrl",
  86 + bindToController: true
  87 + });
  88 + modalInstance.result.then(
  89 + function() {
  90 + console.log("dataImport.html打开");
  91 + },
  92 + function() {
  93 + console.log("dataImport.html消失");
  94 + }
  95 + );
  96 + };
  97 +}]);
  98 +
  99 +angular.module('ScheduleApp').controller('GuideboardManageToolsCtrl', ['$modalInstance', 'FileUploader', function($modalInstance, FileUploader) {
  100 + var self = this;
  101 + self.data = "TODO";
  102 +
  103 + // 关闭窗口
  104 + self.close = function() {
  105 + $modalInstance.dismiss("cancel");
  106 + };
  107 +
  108 + self.clearInputFile = function() {
  109 + angular.element("input[type='file']").val(null);
  110 + };
  111 +
  112 + // 上传文件组件
  113 + self.uploader = new FileUploader({
  114 + url: "/gic/dataImport",
  115 + filters: [] // 用于过滤文件,比如只允许导入excel
  116 + });
  117 + self.uploader.onAfterAddingFile = function(fileItem)
  118 + {
  119 + console.info('onAfterAddingFile', fileItem);
  120 + console.log(self.uploader.queue.length);
  121 + if (self.uploader.queue.length > 1)
  122 + self.uploader.removeFromQueue(0);
  123 + };
  124 + self.uploader.onSuccessItem = function(fileItem, response, status, headers)
  125 + {
  126 + console.info('onSuccessItem', fileItem, response, status, headers);
  127 + };
  128 + self.uploader.onErrorItem = function(fileItem, response, status, headers)
  129 + {
  130 + console.info('onErrorItem', fileItem, response, status, headers);
  131 + };
  132 +
  133 +}]);
  134 +
  135 +angular.module('ScheduleApp').controller('GuideboardManageListCtrl', ['GuideboardManageService', function(guideboardManageService) {
  136 + var self = this;
  137 + self.pageInfo = {
  138 + totalItems : 0,
  139 + currentPage : 1,
  140 + infos: []
  141 + };
  142 +
  143 + // 初始创建的时候,获取一次列表数据
  144 + guideboardManageService.getPage().then(
  145 + function(result) {
  146 + self.pageInfo.totalItems = result.totalElements;
  147 + self.pageInfo.currentPage = result.number + 1;
  148 + self.pageInfo.infos = result.content;
  149 + guideboardManageService.setCurrentPageNo(result.number + 1);
  150 + },
  151 + function(result) {
  152 + alert("出错啦!");
  153 + }
  154 + );
  155 +
  156 + //$scope.$watch("ctrl.pageInfo.currentPage", function() {
  157 + // alert("dfdfdf");
  158 + //});
  159 +
  160 + // 翻页的时候调用
  161 + self.pageChanaged = function() {
  162 + guideboardManageService.setCurrentPageNo(self.pageInfo.currentPage);
  163 + guideboardManageService.getPage().then(
  164 + function(result) {
  165 + self.pageInfo.totalItems = result.totalElements;
  166 + self.pageInfo.currentPage = result.number + 1;
  167 + self.pageInfo.infos = result.content;
  168 + guideboardManageService.setCurrentPageNo(result.number + 1);
  169 + },
  170 + function(result) {
  171 + alert("出错啦!");
  172 + }
  173 + );
  174 + };
  175 + // 获取查询条件数据
  176 + self.searchCondition = function() {
  177 + return guideboardManageService.getSearchCondition();
  178 + };
  179 + // 重置查询条件
  180 + self.resetSearchCondition = function() {
  181 + guideboardManageService.resetSearchCondition();
  182 + self.pageInfo.currentPage = 1;
  183 + self.pageChanaged();
  184 + };
  185 +
  186 +}]);
  187 +
  188 +angular.module('ScheduleApp').controller('GuideboardManageFormCtrl', ['GuideboardManageService', '$stateParams', '$state', function(guideboardManageService, $stateParams, $state) {
  189 + // TODO:
  190 +}]);
  191 +
  192 +angular.module('ScheduleApp').controller('GuideboardManageDetailCtrl', ['GuideboardManageService', '$stateParams', function(guideboardManageService, $stateParams) {
  193 + var self = this;
  194 + self.title = "";
  195 + self.guideboardForDetail = {};
  196 + self.guideboardForDetail.id = $stateParams.id;
  197 +
  198 + // 当转向到此页面时,就获取明细信息并绑定
  199 + guideboardManageService.getDetail($stateParams.id).then(
  200 + function(result) {
  201 + var key;
  202 + for (key in result) {
  203 + self.guideboardForDetail[key] = result[key];
  204 + }
  205 +
  206 + self.title = "路牌 " + self.guideboardForDetail.lpName + " 详细信息";
  207 + },
  208 + function(result) {
  209 + // TODO:弹出框方式以后改
  210 + alert("出错啦!");
  211 + }
  212 + );
  213 +}]);
  214 +
  215 +
src/main/resources/static/pages/scheduleApp/module/core/guideboardManage/route.js
1 -// ui route 配置  
2 -  
3 -/** 路牌管理配置所有模块页面route */  
4 -ScheduleApp.config([  
5 - '$stateProvider',  
6 - '$urlRouterProvider',  
7 - function($stateProvider, $urlRouterProvider) {  
8 - // 默认路由  
9 - //$urlRouterProvider.otherwise('/busConfig.html');  
10 -  
11 - $stateProvider  
12 - .state("guideboardManage", { // index页面  
13 - url: '/guideboardManage',  
14 - views: {  
15 - "": {  
16 - templateUrl: 'pages/scheduleApp/module/core/guideboardManage/index.html'  
17 - },  
18 - "guideboardManage_list@guideboardManage": {  
19 - templateUrl: 'pages/scheduleApp/module/core/guideboardManage/list.html'  
20 - }  
21 - },  
22 -  
23 - resolve: {  
24 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
25 - return $ocLazyLoad.load({  
26 - name: 'guideboardManage_module',  
27 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
28 - files: [  
29 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
30 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
31 - "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",  
32 - "pages/scheduleApp/module/core/guideboardManage/module.js"  
33 - ]  
34 - });  
35 - }]  
36 - }  
37 - })  
38 - .state("guideboardManage_detail", { // 详细信息页面  
39 - url: '/guideboardManage_detail/:id',  
40 - views: {  
41 - "": {templateUrl: 'pages/scheduleApp/module/core/guideboardManage/detail.html'}  
42 - },  
43 - resolve: {  
44 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
45 - return $ocLazyLoad.load({  
46 - name: 'guideboardManage_detail_module',  
47 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
48 - files: [  
49 - "pages/scheduleApp/module/core/guideboardManage/module.js"  
50 - ]  
51 - });  
52 - }]  
53 - }  
54 - })  
55 - 1 +// ui route 配置
  2 +
  3 +/** 路牌管理配置所有模块页面route */
  4 +ScheduleApp.config([
  5 + '$stateProvider',
  6 + '$urlRouterProvider',
  7 + function($stateProvider, $urlRouterProvider) {
  8 + // 默认路由
  9 + //$urlRouterProvider.otherwise('/busConfig.html');
  10 +
  11 + $stateProvider
  12 + .state("guideboardManage", { // index页面
  13 + url: '/guideboardManage',
  14 + views: {
  15 + "": {
  16 + templateUrl: 'pages/scheduleApp/module/core/guideboardManage/index.html'
  17 + },
  18 + "guideboardManage_list@guideboardManage": {
  19 + templateUrl: 'pages/scheduleApp/module/core/guideboardManage/list.html'
  20 + }
  21 + },
  22 +
  23 + resolve: {
  24 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  25 + return $ocLazyLoad.load({
  26 + name: 'guideboardManage_module',
  27 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  28 + files: [
  29 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  30 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  31 + "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",
  32 + "pages/scheduleApp/module/core/guideboardManage/module.js"
  33 + ]
  34 + });
  35 + }]
  36 + }
  37 + })
  38 + .state("guideboardManage_detail", { // 详细信息页面
  39 + url: '/guideboardManage_detail/:id',
  40 + views: {
  41 + "": {templateUrl: 'pages/scheduleApp/module/core/guideboardManage/detail.html'}
  42 + },
  43 + resolve: {
  44 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  45 + return $ocLazyLoad.load({
  46 + name: 'guideboardManage_detail_module',
  47 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  48 + files: [
  49 + "pages/scheduleApp/module/core/guideboardManage/module.js"
  50 + ]
  51 + });
  52 + }]
  53 + }
  54 + })
  55 +
56 }]); 56 }]);
57 \ No newline at end of file 57 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/rerunManage/module.js
1 -// 规则配置管理 service controller 等写在一起  
2 -angular.module('ScheduleApp').factory('RerunManageService', ['rerunManageService_g', function(service) {  
3 - /** 当前的查询条件信息 */  
4 - var currentSearchCondition = {'isCancel_eq': false};  
5 -  
6 - /** 当前第几页 */  
7 - var currentPageNo = 1;  
8 -  
9 - return {  
10 - /**  
11 - * 获取查询条件信息,  
12 - * 用于给controller用来和页面数据绑定。  
13 - */  
14 - getSearchCondition: function() {  
15 - return currentSearchCondition;  
16 - },  
17 - /**  
18 - * 重置查询条件信息。  
19 - */  
20 - resetSearchCondition: function() {  
21 - var key;  
22 - for (key in currentSearchCondition) {  
23 - currentSearchCondition[key] = undefined;  
24 - }  
25 - currentSearchCondition['isCancel_eq'] = false;  
26 - },  
27 - /**  
28 - * 设置当前页码。  
29 - * @param cpn 从1开始,后台是从0开始的  
30 - */  
31 - setCurrentPageNo: function(cpn) {  
32 - currentPageNo = cpn;  
33 - },  
34 - /**  
35 - * 组装查询参数,返回一个promise查询结果。  
36 - * @param params 查询参数  
37 - * @return 返回一个 promise  
38 - */  
39 - getPage: function() {  
40 - var params = currentSearchCondition; // 查询条件  
41 - params.page = currentPageNo - 1; // 服务端页码从0开始  
42 - return service.rest.list(params).$promise;  
43 - },  
44 - /**  
45 - * 获取明细信息。  
46 - * @param id 车辆id  
47 - * @return 返回一个 promise  
48 - */  
49 - getDetail: function(id) {  
50 - var params = {id: id};  
51 - return service.rest.get(params).$promise;  
52 - },  
53 - /**  
54 - * 保存信息。  
55 - * @param obj 车辆详细信息  
56 - * @return 返回一个 promise  
57 - */  
58 - saveDetail: function(obj) {  
59 - return service.rest.save(obj).$promise;  
60 - },  
61 - /**  
62 - * 删除信息。  
63 - * @param id 主键id  
64 - * @returns {*|Function|promise|n}  
65 - */  
66 - deleteDetail: function(id) {  
67 - return service.rest.delete({id: id}).$promise;  
68 - }  
69 - };  
70 -  
71 -}]);  
72 -  
73 -angular.module('ScheduleApp').controller('RerunManageCtrl', ['RerunManageService', '$state', function(rerunManageService, $state) {  
74 - var self = this;  
75 -  
76 - // 切换到form状态  
77 - self.goForm = function() {  
78 - //alert("切换");  
79 - $state.go("rerunManage_form");  
80 - };  
81 -  
82 -}]);  
83 -  
84 -angular.module('ScheduleApp').controller('RerunManageListCtrl', ['RerunManageService', function(rerunManageService) {  
85 - var self = this;  
86 - self.pageInfo = {  
87 - totalItems : 0,  
88 - currentPage : 1,  
89 - infos: []  
90 - };  
91 -  
92 - // 初始创建的时候,获取一次列表数据  
93 - rerunManageService.getPage().then(  
94 - function(result) {  
95 - self.pageInfo.totalItems = result.totalElements;  
96 - self.pageInfo.currentPage = result.number + 1;  
97 - self.pageInfo.infos = result.content;  
98 - rerunManageService.setCurrentPageNo(result.number + 1);  
99 - },  
100 - function(result) {  
101 - alert("出错啦!");  
102 - }  
103 - );  
104 -  
105 - //$scope.$watch("ctrl.pageInfo.currentPage", function() {  
106 - // alert("dfdfdf");  
107 - //});  
108 -  
109 - // 翻页的时候调用  
110 - self.pageChanaged = function() {  
111 - rerunManageService.setCurrentPageNo(self.pageInfo.currentPage);  
112 - rerunManageService.getPage().then(  
113 - function(result) {  
114 - self.pageInfo.totalItems = result.totalElements;  
115 - self.pageInfo.currentPage = result.number + 1;  
116 - self.pageInfo.infos = result.content;  
117 - rerunManageService.setCurrentPageNo(result.number + 1);  
118 - },  
119 - function(result) {  
120 - alert("出错啦!");  
121 - }  
122 - );  
123 - };  
124 - // 获取查询条件数据  
125 - self.searchCondition = function() {  
126 - return rerunManageService.getSearchCondition();  
127 - };  
128 - // 重置查询条件  
129 - self.resetSearchCondition = function() {  
130 - rerunManageService.resetSearchCondition();  
131 - self.pageInfo.currentPage = 1;  
132 - self.pageChanaged();  
133 - };  
134 -  
135 - // 作废/撤销  
136 - self.toggleRerun = function(id) {  
137 - // TODO:  
138 - rerunManageService.deleteDetail(id).then(  
139 - function(result) {  
140 - if (result.message) { // 暂时这样做,之后全局拦截  
141 - alert("失败:" + result.message);  
142 - } else {  
143 - alert("成功!");  
144 -  
145 - rerunManageService.getPage().then(  
146 - function(result) {  
147 - self.pageInfo.totalItems = result.totalElements;  
148 - self.pageInfo.currentPage = result.number + 1;  
149 - self.pageInfo.infos = result.content;  
150 - rerunManageService.setCurrentPageNo(result.number + 1);  
151 - },  
152 - function(result) {  
153 - alert("出错啦!");  
154 - }  
155 - );  
156 - }  
157 -  
158 - },  
159 - function(result) {  
160 - alert("出错啦!" + result);  
161 - }  
162 - );  
163 - };  
164 -  
165 -}]);  
166 -  
167 -angular.module('ScheduleApp').controller('RerunManageFormCtrl', ['RerunManageService', '$stateParams', '$state', '$scope', function(rerunManageService, $stateParams, $state, $scope) {  
168 - var self = this;  
169 -  
170 - // 启用日期 日期控件开关  
171 - self.qyrqOpen = false;  
172 - self.qyrq_open = function() {  
173 - self.qyrqOpen = true;  
174 - };  
175 -  
176 - // 欲保存的busInfo信息,绑定  
177 - self.rerunManageForSave = {rerunXl: {}, rerunTtinfo: {}, rerunLp: {}, rerunType: "dylp", useXl: {}, useLp: {}, useCarConfig: {}, useEmployeeConfig: {}};  
178 -  
179 - // 获取传过来的id,有的话就是修改,获取一遍数据  
180 - var id = $stateParams.id;  
181 - if (id) {  
182 - self.rerunManageForSave.id = id;  
183 - rerunManageService.getDetail(id).then(  
184 - function(result) {  
185 - var key;  
186 - for (key in result) {  
187 - if (result[key]) {  
188 - self.rerunManageForSave[key] = result[key];  
189 -  
190 - if (self.rerunManageForSave.rerunType == 'dylp') {  
191 - self.rerunManageForSave.useCarConfig = {};  
192 - self.rerunManageForSave.useEmployeeConfig = {};  
193 - } else if (self.rerunManageForSave.rerunType == 'dybc') {  
194 - self.rerunManageForSave.useXl = {};  
195 - self.rerunManageForSave.useLp = {};  
196 - } else {  
197 -  
198 - }  
199 - }  
200 - }  
201 - },  
202 - function(result) {  
203 - alert("出错啦!");  
204 - }  
205 - );  
206 - }  
207 -  
208 - // 提交方法  
209 - self.submit = function() {  
210 - if (self.rerunManageForSave.rerunType == 'dylp') {  
211 - delete self.rerunManageForSave.useCarConfig;  
212 - delete self.rerunManageForSave.useEmployeeConfig;  
213 -  
214 - // 关联对象只取id  
215 - self.rerunManageForSave.useXl = {id: self.rerunManageForSave.useXl.id};  
216 - self.rerunManageForSave.useLp = {id: self.rerunManageForSave.useLp.id}  
217 - } else if (self.rerunManageForSave.rerunType == 'dybc') {  
218 - delete self.rerunManageForSave.useXl;  
219 - delete self.rerunManageForSave.useLp;  
220 -  
221 - // 关联对象只取id  
222 - self.rerunManageForSave.useCarConfig = {id: self.rerunManageForSave.useCarConfig.id};  
223 - self.rerunManageForSave.useEmployeeConfig = {id: self.rerunManageForSave.useEmployeeConfig.id};  
224 - } else {  
225 - return;  
226 - }  
227 -  
228 - rerunManageService.saveDetail(self.rerunManageForSave).then(  
229 - function(result) {  
230 - // TODO:弹出框方式以后改  
231 - if (result.status == 'SUCCESS') {  
232 - alert("保存成功!");  
233 - $state.go("rerunManage");  
234 - } else {  
235 - alert("保存异常!");  
236 - }  
237 - },  
238 - function(result) {  
239 - // TODO:弹出框方式以后改  
240 - alert("出错啦!");  
241 - }  
242 - );  
243 - };  
244 -}]);  
245 -  
246 -angular.module('ScheduleApp').controller('RerunManageDetailCtrl', ['RerunManageService', '$stateParams', function(rerunManageService, $stateParams) {  
247 - var self = this;  
248 - self.title = "";  
249 - self.rerunManageForDetail = {};  
250 - self.rerunManageForDetail.id = $stateParams.id;  
251 -  
252 - // 当转向到此页面时,就获取明细信息并绑定  
253 - rerunManageService.getDetail($stateParams.id).then(  
254 - function(result) {  
255 - var key;  
256 - for (key in result) {  
257 - self.rerunManageForDetail[key] = result[key];  
258 - }  
259 -  
260 - self.title = "规则配置详细信息";  
261 - },  
262 - function(result) {  
263 - // TODO:弹出框方式以后改  
264 - alert("出错啦!");  
265 - }  
266 - );  
267 -}]);  
268 -  
269 -  
270 - 1 +// 规则配置管理 service controller 等写在一起
  2 +angular.module('ScheduleApp').factory('RerunManageService', ['rerunManageService_g', function(service) {
  3 + /** 当前的查询条件信息 */
  4 + var currentSearchCondition = {'isCancel_eq': false};
  5 +
  6 + /** 当前第几页 */
  7 + var currentPageNo = 1;
  8 +
  9 + return {
  10 + /**
  11 + * 获取查询条件信息,
  12 + * 用于给controller用来和页面数据绑定。
  13 + */
  14 + getSearchCondition: function() {
  15 + return currentSearchCondition;
  16 + },
  17 + /**
  18 + * 重置查询条件信息。
  19 + */
  20 + resetSearchCondition: function() {
  21 + var key;
  22 + for (key in currentSearchCondition) {
  23 + currentSearchCondition[key] = undefined;
  24 + }
  25 + currentSearchCondition['isCancel_eq'] = false;
  26 + },
  27 + /**
  28 + * 设置当前页码。
  29 + * @param cpn 从1开始,后台是从0开始的
  30 + */
  31 + setCurrentPageNo: function(cpn) {
  32 + currentPageNo = cpn;
  33 + },
  34 + /**
  35 + * 组装查询参数,返回一个promise查询结果。
  36 + * @param params 查询参数
  37 + * @return 返回一个 promise
  38 + */
  39 + getPage: function() {
  40 + var params = currentSearchCondition; // 查询条件
  41 + params.page = currentPageNo - 1; // 服务端页码从0开始
  42 + return service.rest.list(params).$promise;
  43 + },
  44 + /**
  45 + * 获取明细信息。
  46 + * @param id 车辆id
  47 + * @return 返回一个 promise
  48 + */
  49 + getDetail: function(id) {
  50 + var params = {id: id};
  51 + return service.rest.get(params).$promise;
  52 + },
  53 + /**
  54 + * 保存信息。
  55 + * @param obj 车辆详细信息
  56 + * @return 返回一个 promise
  57 + */
  58 + saveDetail: function(obj) {
  59 + return service.rest.save(obj).$promise;
  60 + },
  61 + /**
  62 + * 删除信息。
  63 + * @param id 主键id
  64 + * @returns {*|Function|promise|n}
  65 + */
  66 + deleteDetail: function(id) {
  67 + return service.rest.delete({id: id}).$promise;
  68 + }
  69 + };
  70 +
  71 +}]);
  72 +
  73 +angular.module('ScheduleApp').controller('RerunManageCtrl', ['RerunManageService', '$state', function(rerunManageService, $state) {
  74 + var self = this;
  75 +
  76 + // 切换到form状态
  77 + self.goForm = function() {
  78 + //alert("切换");
  79 + $state.go("rerunManage_form");
  80 + };
  81 +
  82 +}]);
  83 +
  84 +angular.module('ScheduleApp').controller('RerunManageListCtrl', ['RerunManageService', function(rerunManageService) {
  85 + var self = this;
  86 + self.pageInfo = {
  87 + totalItems : 0,
  88 + currentPage : 1,
  89 + infos: []
  90 + };
  91 +
  92 + // 初始创建的时候,获取一次列表数据
  93 + rerunManageService.getPage().then(
  94 + function(result) {
  95 + self.pageInfo.totalItems = result.totalElements;
  96 + self.pageInfo.currentPage = result.number + 1;
  97 + self.pageInfo.infos = result.content;
  98 + rerunManageService.setCurrentPageNo(result.number + 1);
  99 + },
  100 + function(result) {
  101 + alert("出错啦!");
  102 + }
  103 + );
  104 +
  105 + //$scope.$watch("ctrl.pageInfo.currentPage", function() {
  106 + // alert("dfdfdf");
  107 + //});
  108 +
  109 + // 翻页的时候调用
  110 + self.pageChanaged = function() {
  111 + rerunManageService.setCurrentPageNo(self.pageInfo.currentPage);
  112 + rerunManageService.getPage().then(
  113 + function(result) {
  114 + self.pageInfo.totalItems = result.totalElements;
  115 + self.pageInfo.currentPage = result.number + 1;
  116 + self.pageInfo.infos = result.content;
  117 + rerunManageService.setCurrentPageNo(result.number + 1);
  118 + },
  119 + function(result) {
  120 + alert("出错啦!");
  121 + }
  122 + );
  123 + };
  124 + // 获取查询条件数据
  125 + self.searchCondition = function() {
  126 + return rerunManageService.getSearchCondition();
  127 + };
  128 + // 重置查询条件
  129 + self.resetSearchCondition = function() {
  130 + rerunManageService.resetSearchCondition();
  131 + self.pageInfo.currentPage = 1;
  132 + self.pageChanaged();
  133 + };
  134 +
  135 + // 作废/撤销
  136 + self.toggleRerun = function(id) {
  137 + // TODO:
  138 + rerunManageService.deleteDetail(id).then(
  139 + function(result) {
  140 + if (result.message) { // 暂时这样做,之后全局拦截
  141 + alert("失败:" + result.message);
  142 + } else {
  143 + alert("成功!");
  144 +
  145 + rerunManageService.getPage().then(
  146 + function(result) {
  147 + self.pageInfo.totalItems = result.totalElements;
  148 + self.pageInfo.currentPage = result.number + 1;
  149 + self.pageInfo.infos = result.content;
  150 + rerunManageService.setCurrentPageNo(result.number + 1);
  151 + },
  152 + function(result) {
  153 + alert("出错啦!");
  154 + }
  155 + );
  156 + }
  157 +
  158 + },
  159 + function(result) {
  160 + alert("出错啦!" + result);
  161 + }
  162 + );
  163 + };
  164 +
  165 +}]);
  166 +
  167 +angular.module('ScheduleApp').controller('RerunManageFormCtrl', ['RerunManageService', '$stateParams', '$state', '$scope', function(rerunManageService, $stateParams, $state, $scope) {
  168 + var self = this;
  169 +
  170 + // 启用日期 日期控件开关
  171 + self.qyrqOpen = false;
  172 + self.qyrq_open = function() {
  173 + self.qyrqOpen = true;
  174 + };
  175 +
  176 + // 欲保存的busInfo信息,绑定
  177 + self.rerunManageForSave = {rerunXl: {}, rerunTtinfo: {}, rerunLp: {}, rerunType: "dylp", useXl: {}, useLp: {}, useCarConfig: {}, useEmployeeConfig: {}};
  178 +
  179 + // 获取传过来的id,有的话就是修改,获取一遍数据
  180 + var id = $stateParams.id;
  181 + if (id) {
  182 + self.rerunManageForSave.id = id;
  183 + rerunManageService.getDetail(id).then(
  184 + function(result) {
  185 + var key;
  186 + for (key in result) {
  187 + if (result[key]) {
  188 + self.rerunManageForSave[key] = result[key];
  189 +
  190 + if (self.rerunManageForSave.rerunType == 'dylp') {
  191 + self.rerunManageForSave.useCarConfig = {};
  192 + self.rerunManageForSave.useEmployeeConfig = {};
  193 + } else if (self.rerunManageForSave.rerunType == 'dybc') {
  194 + self.rerunManageForSave.useXl = {};
  195 + self.rerunManageForSave.useLp = {};
  196 + } else {
  197 +
  198 + }
  199 + }
  200 + }
  201 + },
  202 + function(result) {
  203 + alert("出错啦!");
  204 + }
  205 + );
  206 + }
  207 +
  208 + // 提交方法
  209 + self.submit = function() {
  210 + if (self.rerunManageForSave.rerunType == 'dylp') {
  211 + delete self.rerunManageForSave.useCarConfig;
  212 + delete self.rerunManageForSave.useEmployeeConfig;
  213 +
  214 + // 关联对象只取id
  215 + self.rerunManageForSave.useXl = {id: self.rerunManageForSave.useXl.id};
  216 + self.rerunManageForSave.useLp = {id: self.rerunManageForSave.useLp.id}
  217 + } else if (self.rerunManageForSave.rerunType == 'dybc') {
  218 + delete self.rerunManageForSave.useXl;
  219 + delete self.rerunManageForSave.useLp;
  220 +
  221 + // 关联对象只取id
  222 + self.rerunManageForSave.useCarConfig = {id: self.rerunManageForSave.useCarConfig.id};
  223 + self.rerunManageForSave.useEmployeeConfig = {id: self.rerunManageForSave.useEmployeeConfig.id};
  224 + } else {
  225 + return;
  226 + }
  227 +
  228 + rerunManageService.saveDetail(self.rerunManageForSave).then(
  229 + function(result) {
  230 + // TODO:弹出框方式以后改
  231 + if (result.status == 'SUCCESS') {
  232 + alert("保存成功!");
  233 + $state.go("rerunManage");
  234 + } else {
  235 + alert("保存异常!");
  236 + }
  237 + },
  238 + function(result) {
  239 + // TODO:弹出框方式以后改
  240 + alert("出错啦!");
  241 + }
  242 + );
  243 + };
  244 +}]);
  245 +
  246 +angular.module('ScheduleApp').controller('RerunManageDetailCtrl', ['RerunManageService', '$stateParams', function(rerunManageService, $stateParams) {
  247 + var self = this;
  248 + self.title = "";
  249 + self.rerunManageForDetail = {};
  250 + self.rerunManageForDetail.id = $stateParams.id;
  251 +
  252 + // 当转向到此页面时,就获取明细信息并绑定
  253 + rerunManageService.getDetail($stateParams.id).then(
  254 + function(result) {
  255 + var key;
  256 + for (key in result) {
  257 + self.rerunManageForDetail[key] = result[key];
  258 + }
  259 +
  260 + self.title = "规则配置详细信息";
  261 + },
  262 + function(result) {
  263 + // TODO:弹出框方式以后改
  264 + alert("出错啦!");
  265 + }
  266 + );
  267 +}]);
  268 +
  269 +
  270 +
src/main/resources/static/pages/scheduleApp/module/core/rerunManage/route.js
1 -// ui route 配置  
2 -  
3 -/** 套跑管理模块配置页面route */  
4 -ScheduleApp.config([  
5 - '$stateProvider',  
6 - '$urlRouterProvider',  
7 - function($stateProvider, $urlRouterProvider) {  
8 - // 默认路由  
9 - //$urlRouterProvider.otherwise('/busConfig.html');  
10 -  
11 - $stateProvider  
12 - .state("rerunManage", { // index页面  
13 - url: '/rerunManage',  
14 - views: {  
15 - "": {  
16 - templateUrl: 'pages/scheduleApp/module/core/rerunManage/index.html'  
17 - },  
18 - "rerunManage_list@rerunManage": {  
19 - templateUrl: 'pages/scheduleApp/module/core/rerunManage/list.html'  
20 - }  
21 - },  
22 -  
23 - resolve: {  
24 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
25 - return $ocLazyLoad.load({  
26 - name: 'rerunManage_module',  
27 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
28 - files: [  
29 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
30 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
31 - "pages/scheduleApp/module/core/rerunManage/module.js"  
32 - ]  
33 - });  
34 - }]  
35 - }  
36 - })  
37 - .state("rerunManage_form", { // 添加套跑form  
38 - url: '/rerunManage_form',  
39 - views: {  
40 - "": {templateUrl: 'pages/scheduleApp/module/core/rerunManage/form.html'}  
41 - },  
42 - resolve: {  
43 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
44 - return $ocLazyLoad.load({  
45 - name: 'rerunManage_form_module',  
46 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
47 - files: [  
48 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
49 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
50 - "pages/scheduleApp/module/core/rerunManage/module.js"  
51 - ]  
52 - });  
53 - }]  
54 - }  
55 - })  
56 - .state("rerunManage_edit", { // 修改套跑form  
57 - url: '/rerunManage_edit/:id',  
58 - views: {  
59 - "": {templateUrl: 'pages/scheduleApp/module/core/rerunManage/edit.html'}  
60 - },  
61 - resolve: {  
62 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
63 - return $ocLazyLoad.load({  
64 - name: 'rerunManage_edit_module',  
65 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
66 - files: [  
67 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
68 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
69 - "pages/scheduleApp/module/core/rerunManage/module.js"  
70 - ]  
71 - });  
72 - }]  
73 - }  
74 - })  
75 - .state("rerunManage_detail", { // 详细信息页面  
76 - url: '/rerunManage_detail/:id',  
77 - views: {  
78 - "": {templateUrl: 'pages/scheduleApp/module/core/rerunManage/detail.html'}  
79 - },  
80 - resolve: {  
81 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
82 - return $ocLazyLoad.load({  
83 - name: 'rerunManage_detail_module',  
84 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
85 - files: [  
86 - "pages/scheduleApp/module/core/rerunManage/module.js"  
87 - ]  
88 - });  
89 - }]  
90 - }  
91 - })  
92 - } 1 +// ui route 配置
  2 +
  3 +/** 套跑管理模块配置页面route */
  4 +ScheduleApp.config([
  5 + '$stateProvider',
  6 + '$urlRouterProvider',
  7 + function($stateProvider, $urlRouterProvider) {
  8 + // 默认路由
  9 + //$urlRouterProvider.otherwise('/busConfig.html');
  10 +
  11 + $stateProvider
  12 + .state("rerunManage", { // index页面
  13 + url: '/rerunManage',
  14 + views: {
  15 + "": {
  16 + templateUrl: 'pages/scheduleApp/module/core/rerunManage/index.html'
  17 + },
  18 + "rerunManage_list@rerunManage": {
  19 + templateUrl: 'pages/scheduleApp/module/core/rerunManage/list.html'
  20 + }
  21 + },
  22 +
  23 + resolve: {
  24 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  25 + return $ocLazyLoad.load({
  26 + name: 'rerunManage_module',
  27 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  28 + files: [
  29 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  30 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  31 + "pages/scheduleApp/module/core/rerunManage/module.js"
  32 + ]
  33 + });
  34 + }]
  35 + }
  36 + })
  37 + .state("rerunManage_form", { // 添加套跑form
  38 + url: '/rerunManage_form',
  39 + views: {
  40 + "": {templateUrl: 'pages/scheduleApp/module/core/rerunManage/form.html'}
  41 + },
  42 + resolve: {
  43 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  44 + return $ocLazyLoad.load({
  45 + name: 'rerunManage_form_module',
  46 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  47 + files: [
  48 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  49 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  50 + "pages/scheduleApp/module/core/rerunManage/module.js"
  51 + ]
  52 + });
  53 + }]
  54 + }
  55 + })
  56 + .state("rerunManage_edit", { // 修改套跑form
  57 + url: '/rerunManage_edit/:id',
  58 + views: {
  59 + "": {templateUrl: 'pages/scheduleApp/module/core/rerunManage/edit.html'}
  60 + },
  61 + resolve: {
  62 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  63 + return $ocLazyLoad.load({
  64 + name: 'rerunManage_edit_module',
  65 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  66 + files: [
  67 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  68 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  69 + "pages/scheduleApp/module/core/rerunManage/module.js"
  70 + ]
  71 + });
  72 + }]
  73 + }
  74 + })
  75 + .state("rerunManage_detail", { // 详细信息页面
  76 + url: '/rerunManage_detail/:id',
  77 + views: {
  78 + "": {templateUrl: 'pages/scheduleApp/module/core/rerunManage/detail.html'}
  79 + },
  80 + resolve: {
  81 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  82 + return $ocLazyLoad.load({
  83 + name: 'rerunManage_detail_module',
  84 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  85 + files: [
  86 + "pages/scheduleApp/module/core/rerunManage/module.js"
  87 + ]
  88 + });
  89 + }]
  90 + }
  91 + })
  92 + }
93 ]); 93 ]);
94 \ No newline at end of file 94 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/schedulePlanManage/info/module.js
1 -// 车辆配置管理 service controller 等写在一起  
2 -angular.module('ScheduleApp').factory('SchedulePlanInfoManageService', ['SchedulePlanInfoManageService_g', function(service) {  
3 - /** 当前的查询条件信息 */  
4 - var currentSearchCondition = {};  
5 -  
6 - /** 当前第几页 */  
7 - var currentPageNo = 1;  
8 -  
9 - return {  
10 - /**  
11 - * 获取查询条件信息,  
12 - * 用于给controller用来和页面数据绑定。  
13 - */  
14 - getSearchCondition: function() {  
15 - return currentSearchCondition;  
16 - },  
17 - /**  
18 - * 重置查询条件信息。  
19 - */  
20 - resetSearchCondition: function() {  
21 - var key;  
22 - for (key in currentSearchCondition) {  
23 - currentSearchCondition[key] = undefined;  
24 - }  
25 - },  
26 - /**  
27 - * 设置当前页码。  
28 - * @param cpn 从1开始,后台是从0开始的  
29 - */  
30 - setCurrentPageNo: function(cpn) {  
31 - currentPageNo = cpn;  
32 - },  
33 - /**  
34 - * 组装查询参数,返回一个promise查询结果。  
35 - * @param params 查询参数  
36 - * @return 返回一个 promise  
37 - */  
38 - getPage: function(spid) {  
39 - var params = currentSearchCondition; // 查询条件  
40 - params.page = currentPageNo - 1; // 服务端页码从0开始  
41 - params["schedulePlan.id_eq"] = spid; // 排班id  
42 - return service.rest.list(params).$promise;  
43 - }  
44 -  
45 - };  
46 -  
47 -}]);  
48 -  
49 -angular.module('ScheduleApp').controller('SchedulePlanInfoManageCtrl', ['SchedulePlanInfoManageService', '$state', '$stateParams', '$scope', function(schedulePlanInfoManageService, $state, $stateParams, $scope) {  
50 - var self = this;  
51 - var spid = $stateParams.spid; // 排班规则id  
52 - var xlname = $stateParams.xlname; // 线路名字  
53 - var ttname = $stateParams.ttname; // 时刻表名字  
54 - var stime = $stateParams.stime; // 开始时间  
55 - var etime = $stateParams.etime; // 结束时间  
56 -  
57 - $scope.spid = spid;  
58 - $scope.xlname = xlname;  
59 - $scope.ttname = ttname;  
60 - $scope.stime = stime;  
61 - $scope.etime = etime;  
62 -  
63 - // 切换到form状态  
64 - self.goForm = function() {  
65 - alert("等待生成");  
66 -  
67 - }  
68 -}]);  
69 -  
70 -angular.module('ScheduleApp').controller('SchedulePlanInfoManageListCtrl', ['SchedulePlanInfoManageService', '$scope', function(schedulePlanInfoManageService, $scope) {  
71 - var self = this;  
72 - self.pageInfo = {  
73 - totalItems : 0,  
74 - currentPage : 1,  
75 - infos: []  
76 - };  
77 -  
78 - // 日期 日期控件开关  
79 - self.scheduleDate = false;  
80 - self.scheduleDate_open = function() {  
81 - self.scheduleDate = true;  
82 - };  
83 -  
84 - var spid = $scope.spid;  
85 -  
86 - // 初始创建的时候,获取一次列表数据  
87 - schedulePlanInfoManageService.getPage(spid).then(  
88 - function(result) {  
89 - self.pageInfo.totalItems = result.totalElements;  
90 - self.pageInfo.currentPage = result.number + 1;  
91 - self.pageInfo.infos = result.content;  
92 - schedulePlanInfoManageService.setCurrentPageNo(result.number + 1);  
93 - },  
94 - function(result) {  
95 - alert("出错啦!");  
96 - }  
97 - );  
98 -  
99 - //$scope.$watch("ctrl.pageInfo.currentPage", function() {  
100 - // alert("dfdfdf");  
101 - //});  
102 -  
103 - // 翻页的时候调用  
104 - self.pageChanaged = function() {  
105 - schedulePlanInfoManageService.setCurrentPageNo(self.pageInfo.currentPage);  
106 - schedulePlanInfoManageService.getPage(spid).then(  
107 - function(result) {  
108 - self.pageInfo.totalItems = result.totalElements;  
109 - self.pageInfo.currentPage = result.number + 1;  
110 - self.pageInfo.infos = result.content;  
111 - schedulePlanInfoManageService.setCurrentPageNo(result.number + 1);  
112 - },  
113 - function(result) {  
114 - alert("出错啦!");  
115 - }  
116 - );  
117 - };  
118 - // 获取查询条件数据  
119 - self.searchCondition = function() {  
120 - return schedulePlanInfoManageService.getSearchCondition();  
121 - };  
122 - // 重置查询条件  
123 - self.resetSearchCondition = function() {  
124 - return schedulePlanInfoManageService.resetSearchCondition();  
125 - };  
126 -  
127 - $scope.$watch(  
128 - function() {  
129 - return self.searchCondition()['scheduleDate_eq'];  
130 - },  
131 - function(newValue, oldValue) {  
132 - if (newValue == undefined && oldValue == undefined) {  
133 -  
134 - } else {  
135 - self.pageChanaged();  
136 - }  
137 - });  
138 -  
139 -}]);  
140 -  
141 -  
142 -  
143 - 1 +// 车辆配置管理 service controller 等写在一起
  2 +angular.module('ScheduleApp').factory('SchedulePlanInfoManageService', ['SchedulePlanInfoManageService_g', function(service) {
  3 + /** 当前的查询条件信息 */
  4 + var currentSearchCondition = {};
  5 +
  6 + /** 当前第几页 */
  7 + var currentPageNo = 1;
  8 +
  9 + return {
  10 + /**
  11 + * 获取查询条件信息,
  12 + * 用于给controller用来和页面数据绑定。
  13 + */
  14 + getSearchCondition: function() {
  15 + return currentSearchCondition;
  16 + },
  17 + /**
  18 + * 重置查询条件信息。
  19 + */
  20 + resetSearchCondition: function() {
  21 + var key;
  22 + for (key in currentSearchCondition) {
  23 + currentSearchCondition[key] = undefined;
  24 + }
  25 + },
  26 + /**
  27 + * 设置当前页码。
  28 + * @param cpn 从1开始,后台是从0开始的
  29 + */
  30 + setCurrentPageNo: function(cpn) {
  31 + currentPageNo = cpn;
  32 + },
  33 + /**
  34 + * 组装查询参数,返回一个promise查询结果。
  35 + * @param params 查询参数
  36 + * @return 返回一个 promise
  37 + */
  38 + getPage: function(spid) {
  39 + var params = currentSearchCondition; // 查询条件
  40 + params.page = currentPageNo - 1; // 服务端页码从0开始
  41 + params["schedulePlan.id_eq"] = spid; // 排班id
  42 + return service.rest.list(params).$promise;
  43 + }
  44 +
  45 + };
  46 +
  47 +}]);
  48 +
  49 +angular.module('ScheduleApp').controller('SchedulePlanInfoManageCtrl', ['SchedulePlanInfoManageService', '$state', '$stateParams', '$scope', function(schedulePlanInfoManageService, $state, $stateParams, $scope) {
  50 + var self = this;
  51 + var spid = $stateParams.spid; // 排班规则id
  52 + var xlname = $stateParams.xlname; // 线路名字
  53 + var ttname = $stateParams.ttname; // 时刻表名字
  54 + var stime = $stateParams.stime; // 开始时间
  55 + var etime = $stateParams.etime; // 结束时间
  56 +
  57 + $scope.spid = spid;
  58 + $scope.xlname = xlname;
  59 + $scope.ttname = ttname;
  60 + $scope.stime = stime;
  61 + $scope.etime = etime;
  62 +
  63 + // 切换到form状态
  64 + self.goForm = function() {
  65 + alert("等待生成");
  66 +
  67 + }
  68 +}]);
  69 +
  70 +angular.module('ScheduleApp').controller('SchedulePlanInfoManageListCtrl', ['SchedulePlanInfoManageService', '$scope', function(schedulePlanInfoManageService, $scope) {
  71 + var self = this;
  72 + self.pageInfo = {
  73 + totalItems : 0,
  74 + currentPage : 1,
  75 + infos: []
  76 + };
  77 +
  78 + // 日期 日期控件开关
  79 + self.scheduleDate = false;
  80 + self.scheduleDate_open = function() {
  81 + self.scheduleDate = true;
  82 + };
  83 +
  84 + var spid = $scope.spid;
  85 +
  86 + // 初始创建的时候,获取一次列表数据
  87 + schedulePlanInfoManageService.getPage(spid).then(
  88 + function(result) {
  89 + self.pageInfo.totalItems = result.totalElements;
  90 + self.pageInfo.currentPage = result.number + 1;
  91 + self.pageInfo.infos = result.content;
  92 + schedulePlanInfoManageService.setCurrentPageNo(result.number + 1);
  93 + },
  94 + function(result) {
  95 + alert("出错啦!");
  96 + }
  97 + );
  98 +
  99 + //$scope.$watch("ctrl.pageInfo.currentPage", function() {
  100 + // alert("dfdfdf");
  101 + //});
  102 +
  103 + // 翻页的时候调用
  104 + self.pageChanaged = function() {
  105 + schedulePlanInfoManageService.setCurrentPageNo(self.pageInfo.currentPage);
  106 + schedulePlanInfoManageService.getPage(spid).then(
  107 + function(result) {
  108 + self.pageInfo.totalItems = result.totalElements;
  109 + self.pageInfo.currentPage = result.number + 1;
  110 + self.pageInfo.infos = result.content;
  111 + schedulePlanInfoManageService.setCurrentPageNo(result.number + 1);
  112 + },
  113 + function(result) {
  114 + alert("出错啦!");
  115 + }
  116 + );
  117 + };
  118 + // 获取查询条件数据
  119 + self.searchCondition = function() {
  120 + return schedulePlanInfoManageService.getSearchCondition();
  121 + };
  122 + // 重置查询条件
  123 + self.resetSearchCondition = function() {
  124 + return schedulePlanInfoManageService.resetSearchCondition();
  125 + };
  126 +
  127 + $scope.$watch(
  128 + function() {
  129 + return self.searchCondition()['scheduleDate_eq'];
  130 + },
  131 + function(newValue, oldValue) {
  132 + if (newValue == undefined && oldValue == undefined) {
  133 +
  134 + } else {
  135 + self.pageChanaged();
  136 + }
  137 + });
  138 +
  139 +}]);
  140 +
  141 +
  142 +
  143 +
src/main/resources/static/pages/scheduleApp/module/core/schedulePlanManage/info/route.js
1 -// ui route 配置  
2 -  
3 -/** 排班计划明细配置route */  
4 -ScheduleApp.config([  
5 - '$stateProvider',  
6 - '$urlRouterProvider',  
7 - function($stateProvider, $urlRouterProvider) {  
8 - // 默认路由  
9 - //$urlRouterProvider.otherwise('/busConfig.html');  
10 -  
11 - $stateProvider  
12 - // 排班计划明细管理模块  
13 - .state("schedulePlanInfoManage", {  
14 - url: '/schedulePlanInfoManage/:spid/:xlname/:ttname/:stime/:etime',  
15 - views: {  
16 - "": {  
17 - templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/info/index_info.html'  
18 - },  
19 - "schedulePlanInfoManage_list@schedulePlanInfoManage": {  
20 - templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/info/list_info.html'  
21 - }  
22 - },  
23 -  
24 - resolve: {  
25 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
26 - return $ocLazyLoad.load({  
27 - name: 'schedulePlanInfoManage_module',  
28 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
29 - files: [  
30 - "pages/scheduleApp/module/core/schedulePlanManage/info/module.js"  
31 - ]  
32 - });  
33 - }]  
34 - }  
35 - });  
36 -  
37 - } 1 +// ui route 配置
  2 +
  3 +/** 排班计划明细配置route */
  4 +ScheduleApp.config([
  5 + '$stateProvider',
  6 + '$urlRouterProvider',
  7 + function($stateProvider, $urlRouterProvider) {
  8 + // 默认路由
  9 + //$urlRouterProvider.otherwise('/busConfig.html');
  10 +
  11 + $stateProvider
  12 + // 排班计划明细管理模块
  13 + .state("schedulePlanInfoManage", {
  14 + url: '/schedulePlanInfoManage/:spid/:xlname/:ttname/:stime/:etime',
  15 + views: {
  16 + "": {
  17 + templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/info/index_info.html'
  18 + },
  19 + "schedulePlanInfoManage_list@schedulePlanInfoManage": {
  20 + templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/info/list_info.html'
  21 + }
  22 + },
  23 +
  24 + resolve: {
  25 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  26 + return $ocLazyLoad.load({
  27 + name: 'schedulePlanInfoManage_module',
  28 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  29 + files: [
  30 + "pages/scheduleApp/module/core/schedulePlanManage/info/module.js"
  31 + ]
  32 + });
  33 + }]
  34 + }
  35 + });
  36 +
  37 + }
38 ]); 38 ]);
39 \ No newline at end of file 39 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/schedulePlanManage/module.js
1 -// 车辆配置管理 service controller 等写在一起  
2 -angular.module('ScheduleApp').factory('SchedulePlanManageService', ['SchedulePlanManageService_g', function(service) {  
3 - /** 当前的查询条件信息 */  
4 - var currentSearchCondition = {};  
5 -  
6 - /** 当前第几页 */  
7 - var currentPageNo = 1;  
8 -  
9 - return {  
10 - /**  
11 - * 获取查询条件信息,  
12 - * 用于给controller用来和页面数据绑定。  
13 - */  
14 - getSearchCondition: function() {  
15 - return currentSearchCondition;  
16 - },  
17 - /**  
18 - * 重置查询条件信息。  
19 - */  
20 - resetSearchCondition: function() {  
21 - var key;  
22 - for (key in currentSearchCondition) {  
23 - currentSearchCondition[key] = undefined;  
24 - }  
25 - },  
26 - /**  
27 - * 设置当前页码。  
28 - * @param cpn 从1开始,后台是从0开始的  
29 - */  
30 - setCurrentPageNo: function(cpn) {  
31 - currentPageNo = cpn;  
32 - },  
33 - /**  
34 - * 组装查询参数,返回一个promise查询结果。  
35 - * @param params 查询参数  
36 - * @return 返回一个 promise  
37 - */  
38 - getPage: function() {  
39 - var params = currentSearchCondition; // 查询条件  
40 - params.page = currentPageNo - 1; // 服务端页码从0开始  
41 - return service.rest.list(params).$promise;  
42 - },  
43 - /**  
44 - * 保存信息。  
45 - * @param obj 车辆详细信息  
46 - * @return 返回一个 promise  
47 - */  
48 - saveDetail: function(obj) {  
49 - return service.rest.save(obj).$promise;  
50 - },  
51 - /**  
52 - * 删除信息。  
53 - * @param id 主键id  
54 - * @returns {*|Function|promise|n}  
55 - */  
56 - deleteDetail: function(id) {  
57 - return service.rest.delete({id: id}).$promise;  
58 - }  
59 -  
60 - };  
61 -  
62 -}]);  
63 -  
64 -angular.module('ScheduleApp').controller('SchedulePlanManageCtrl', ['SchedulePlanManageService', '$state', function(schedulePlanManageService, $state) {  
65 - var self = this;  
66 -  
67 - // 切换到form状态  
68 - self.goForm = function() {  
69 - $state.go("schedulePlanManage_form");  
70 - }  
71 -}]);  
72 -  
73 -angular.module('ScheduleApp').controller('SchedulePlanManageListCtrl', ['SchedulePlanManageService', function(schedulePlanManageService) {  
74 - var self = this;  
75 - self.pageInfo = {  
76 - totalItems : 0,  
77 - currentPage : 1,  
78 - infos: []  
79 - };  
80 -  
81 - // 日期 日期控件开关  
82 - self.scheduleFromTime = false;  
83 - self.scheduleFromTime_open = function() {  
84 - self.scheduleFromTime = true;  
85 - };  
86 - self.scheduleToTime = false;  
87 - self.scheduleToTime_open = function() {  
88 - self.scheduleToTime = true;  
89 - };  
90 -  
91 - // 初始创建的时候,获取一次列表数据  
92 - schedulePlanManageService.getPage().then(  
93 - function(result) {  
94 - self.pageInfo.totalItems = result.totalElements;  
95 - self.pageInfo.currentPage = result.number + 1;  
96 - self.pageInfo.infos = result.content;  
97 - schedulePlanManageService.setCurrentPageNo(result.number + 1);  
98 - },  
99 - function(result) {  
100 - alert("出错啦!");  
101 - }  
102 - );  
103 -  
104 - //$scope.$watch("ctrl.pageInfo.currentPage", function() {  
105 - // alert("dfdfdf");  
106 - //});  
107 -  
108 - // 翻页的时候调用  
109 - self.pageChanaged = function() {  
110 - schedulePlanManageService.setCurrentPageNo(self.pageInfo.currentPage);  
111 - schedulePlanManageService.getPage().then(  
112 - function(result) {  
113 - self.pageInfo.totalItems = result.totalElements;  
114 - self.pageInfo.currentPage = result.number + 1;  
115 - self.pageInfo.infos = result.content;  
116 - schedulePlanManageService.setCurrentPageNo(result.number + 1);  
117 - },  
118 - function(result) {  
119 - alert("出错啦!");  
120 - }  
121 - );  
122 - };  
123 - // 获取查询条件数据  
124 - self.searchCondition = function() {  
125 - return schedulePlanManageService.getSearchCondition();  
126 - };  
127 - // 重置查询条件  
128 - self.resetSearchCondition = function() {  
129 - schedulePlanManageService.resetSearchCondition();  
130 - self.pageInfo.currentPage = 1;  
131 - self.pageChanaged();  
132 - };  
133 -  
134 - // 删除排班(整个删除)  
135 - self.deletePlan = function(id) {  
136 - schedulePlanManageService.deleteDetail(id).then(  
137 - function(result) {  
138 - alert("删除成功!");  
139 -  
140 - schedulePlanManageService.getPage().then(  
141 - function(result) {  
142 - self.pageInfo.totalItems = result.totalElements;  
143 - self.pageInfo.currentPage = result.number + 1;  
144 - self.pageInfo.infos = result.content;  
145 - schedulePlanManageService.setCurrentPageNo(result.number + 1);  
146 - },  
147 - function(result) {  
148 - alert("出错啦!");  
149 - }  
150 - );  
151 - },  
152 - function(result) {  
153 - alert("出错啦!");  
154 - }  
155 - );  
156 - }  
157 -  
158 -}]);  
159 -  
160 -  
161 -angular.module('ScheduleApp').controller('SchedulePlanManageFormCtrl', ['SchedulePlanManageService', '$stateParams', '$state', '$scope', function(schedulePlanManageService, $stateParams, $state, $scope) {  
162 - var self = this;  
163 -  
164 - // 开始日期 日期控件开关  
165 - self.scheduleFromTimeOpen = false;  
166 - self.scheduleFromTime_open = function() {  
167 - self.scheduleFromTimeOpen = true;  
168 - };  
169 -  
170 - // 结束日期 日期控件开关  
171 - self.scheduleToTimeOpen = false;  
172 - self.scheduleToTime_open = function() {  
173 - self.scheduleToTimeOpen = true;  
174 - };  
175 -  
176 - // 欲保存的busInfo信息,绑定  
177 - self.schedulePlanManageForSave = {xl: {}};  
178 -  
179 - // 提交方法  
180 - self.submit = function() {  
181 - console.log(self.schedulePlanManageForSave);  
182 -  
183 - schedulePlanManageService.saveDetail(self.schedulePlanManageForSave).then(  
184 - function(result) {  
185 - // TODO:弹出框方式以后改  
186 - if (result.status == 'SUCCESS') {  
187 - alert("保存成功!");  
188 - $state.go("schedulePlanManage");  
189 - } else {  
190 - alert("保存异常!");  
191 - }  
192 - },  
193 - function(result) {  
194 - // TODO:弹出框方式以后改  
195 - alert("出错啦!");  
196 - }  
197 - );  
198 - };  
199 -}]);  
200 - 1 +// 车辆配置管理 service controller 等写在一起
  2 +angular.module('ScheduleApp').factory('SchedulePlanManageService', ['SchedulePlanManageService_g', function(service) {
  3 + /** 当前的查询条件信息 */
  4 + var currentSearchCondition = {};
  5 +
  6 + /** 当前第几页 */
  7 + var currentPageNo = 1;
  8 +
  9 + return {
  10 + /**
  11 + * 获取查询条件信息,
  12 + * 用于给controller用来和页面数据绑定。
  13 + */
  14 + getSearchCondition: function() {
  15 + return currentSearchCondition;
  16 + },
  17 + /**
  18 + * 重置查询条件信息。
  19 + */
  20 + resetSearchCondition: function() {
  21 + var key;
  22 + for (key in currentSearchCondition) {
  23 + currentSearchCondition[key] = undefined;
  24 + }
  25 + },
  26 + /**
  27 + * 设置当前页码。
  28 + * @param cpn 从1开始,后台是从0开始的
  29 + */
  30 + setCurrentPageNo: function(cpn) {
  31 + currentPageNo = cpn;
  32 + },
  33 + /**
  34 + * 组装查询参数,返回一个promise查询结果。
  35 + * @param params 查询参数
  36 + * @return 返回一个 promise
  37 + */
  38 + getPage: function() {
  39 + var params = currentSearchCondition; // 查询条件
  40 + params.page = currentPageNo - 1; // 服务端页码从0开始
  41 + return service.rest.list(params).$promise;
  42 + },
  43 + /**
  44 + * 保存信息。
  45 + * @param obj 车辆详细信息
  46 + * @return 返回一个 promise
  47 + */
  48 + saveDetail: function(obj) {
  49 + return service.rest.save(obj).$promise;
  50 + },
  51 + /**
  52 + * 删除信息。
  53 + * @param id 主键id
  54 + * @returns {*|Function|promise|n}
  55 + */
  56 + deleteDetail: function(id) {
  57 + return service.rest.delete({id: id}).$promise;
  58 + }
  59 +
  60 + };
  61 +
  62 +}]);
  63 +
  64 +angular.module('ScheduleApp').controller('SchedulePlanManageCtrl', ['SchedulePlanManageService', '$state', function(schedulePlanManageService, $state) {
  65 + var self = this;
  66 +
  67 + // 切换到form状态
  68 + self.goForm = function() {
  69 + $state.go("schedulePlanManage_form");
  70 + }
  71 +}]);
  72 +
  73 +angular.module('ScheduleApp').controller('SchedulePlanManageListCtrl', ['SchedulePlanManageService', function(schedulePlanManageService) {
  74 + var self = this;
  75 + self.pageInfo = {
  76 + totalItems : 0,
  77 + currentPage : 1,
  78 + infos: []
  79 + };
  80 +
  81 + // 日期 日期控件开关
  82 + self.scheduleFromTime = false;
  83 + self.scheduleFromTime_open = function() {
  84 + self.scheduleFromTime = true;
  85 + };
  86 + self.scheduleToTime = false;
  87 + self.scheduleToTime_open = function() {
  88 + self.scheduleToTime = true;
  89 + };
  90 +
  91 + // 初始创建的时候,获取一次列表数据
  92 + schedulePlanManageService.getPage().then(
  93 + function(result) {
  94 + self.pageInfo.totalItems = result.totalElements;
  95 + self.pageInfo.currentPage = result.number + 1;
  96 + self.pageInfo.infos = result.content;
  97 + schedulePlanManageService.setCurrentPageNo(result.number + 1);
  98 + },
  99 + function(result) {
  100 + alert("出错啦!");
  101 + }
  102 + );
  103 +
  104 + //$scope.$watch("ctrl.pageInfo.currentPage", function() {
  105 + // alert("dfdfdf");
  106 + //});
  107 +
  108 + // 翻页的时候调用
  109 + self.pageChanaged = function() {
  110 + schedulePlanManageService.setCurrentPageNo(self.pageInfo.currentPage);
  111 + schedulePlanManageService.getPage().then(
  112 + function(result) {
  113 + self.pageInfo.totalItems = result.totalElements;
  114 + self.pageInfo.currentPage = result.number + 1;
  115 + self.pageInfo.infos = result.content;
  116 + schedulePlanManageService.setCurrentPageNo(result.number + 1);
  117 + },
  118 + function(result) {
  119 + alert("出错啦!");
  120 + }
  121 + );
  122 + };
  123 + // 获取查询条件数据
  124 + self.searchCondition = function() {
  125 + return schedulePlanManageService.getSearchCondition();
  126 + };
  127 + // 重置查询条件
  128 + self.resetSearchCondition = function() {
  129 + schedulePlanManageService.resetSearchCondition();
  130 + self.pageInfo.currentPage = 1;
  131 + self.pageChanaged();
  132 + };
  133 +
  134 + // 删除排班(整个删除)
  135 + self.deletePlan = function(id) {
  136 + schedulePlanManageService.deleteDetail(id).then(
  137 + function(result) {
  138 + alert("删除成功!");
  139 +
  140 + schedulePlanManageService.getPage().then(
  141 + function(result) {
  142 + self.pageInfo.totalItems = result.totalElements;
  143 + self.pageInfo.currentPage = result.number + 1;
  144 + self.pageInfo.infos = result.content;
  145 + schedulePlanManageService.setCurrentPageNo(result.number + 1);
  146 + },
  147 + function(result) {
  148 + alert("出错啦!");
  149 + }
  150 + );
  151 + },
  152 + function(result) {
  153 + alert("出错啦!");
  154 + }
  155 + );
  156 + }
  157 +
  158 +}]);
  159 +
  160 +
  161 +angular.module('ScheduleApp').controller('SchedulePlanManageFormCtrl', ['SchedulePlanManageService', '$stateParams', '$state', '$scope', function(schedulePlanManageService, $stateParams, $state, $scope) {
  162 + var self = this;
  163 +
  164 + // 开始日期 日期控件开关
  165 + self.scheduleFromTimeOpen = false;
  166 + self.scheduleFromTime_open = function() {
  167 + self.scheduleFromTimeOpen = true;
  168 + };
  169 +
  170 + // 结束日期 日期控件开关
  171 + self.scheduleToTimeOpen = false;
  172 + self.scheduleToTime_open = function() {
  173 + self.scheduleToTimeOpen = true;
  174 + };
  175 +
  176 + // 欲保存的busInfo信息,绑定
  177 + self.schedulePlanManageForSave = {xl: {}};
  178 +
  179 + // 提交方法
  180 + self.submit = function() {
  181 + console.log(self.schedulePlanManageForSave);
  182 +
  183 + schedulePlanManageService.saveDetail(self.schedulePlanManageForSave).then(
  184 + function(result) {
  185 + // TODO:弹出框方式以后改
  186 + if (result.status == 'SUCCESS') {
  187 + alert("保存成功!");
  188 + $state.go("schedulePlanManage");
  189 + } else {
  190 + alert("保存异常!");
  191 + }
  192 + },
  193 + function(result) {
  194 + // TODO:弹出框方式以后改
  195 + alert("出错啦!");
  196 + }
  197 + );
  198 + };
  199 +}]);
  200 +
src/main/resources/static/pages/scheduleApp/module/core/schedulePlanManage/report/module.js
1 -// 调度值勤日报管理 service controller 等写在一起  
2 -// TODO:使用的global服务需要修正  
3 -angular.module('ScheduleApp').factory('SchedulePlanReportManageService', [  
4 - 'SchedulePlanInfoManageService_g', 'SchedulePlanManageService_g', '$q',  
5 - function(service, service2, $q) {  
6 - /** 当前的查询条件信息 */  
7 - var currentSearchCondition = {};  
8 -  
9 - return {  
10 - /**  
11 - * 获取查询条件信息,  
12 - * 用于给controller用来和页面数据绑定。  
13 - */  
14 - getSearchCondition: function() {  
15 - return currentSearchCondition;  
16 - },  
17 - /**  
18 - * 重置查询条件信息。  
19 - */  
20 - resetSearchCondition: function() {  
21 - var key;  
22 - for (key in currentSearchCondition) {  
23 - currentSearchCondition[key] = undefined;  
24 - }  
25 - },  
26 - /**  
27 - * 组装查询参数,返回一个promise查询结果。  
28 - * @param params 查询参数  
29 - * @return 返回一个 promise  
30 - */  
31 - getPage: function() {  
32 - var params = currentSearchCondition; // 查询条件  
33 -  
34 - // promise  
35 - var deferred = $q.defer();  
36 -  
37 - // 如果线路id和日期都没有,从后台获取一组参数,如果还没有,就设定死一组参数  
38 - if (!params.xlid && !params.sdate) {  
39 - service2.tommorw.list().$promise.then(  
40 - function(result) {  
41 - if (result) {  
42 - // 线路id  
43 - params.xlid = result.xl.id;  
44 - // 时间  
45 - var dd = new Date();  
46 - dd.setHours(0);  
47 - dd.setMinutes(0);  
48 - dd.setSeconds(0);  
49 - dd.setMilliseconds(0);  
50 - dd.setTime(dd.getTime() + 24 * 3600 * 1000);  
51 - params.sdate = dd;  
52 - } else {  
53 - // 如果没有选中线路、日期,默认选中一个  
54 - params.xlid = 2;  
55 - params.sdate = new Date();  
56 - params.sdate.setTime(1472140800000);  
57 - }  
58 -  
59 - // 调用方法  
60 - service.groupinfo.list(params).$promise.then(  
61 - function(result_internal) {  
62 - deferred.resolve(result_internal);  
63 - },  
64 - function(result_internal_error) {  
65 - deferred.reject(result_internal_error);  
66 - }  
67 - );  
68 -  
69 - },  
70 - function(result_error) {  
71 - // 如果没有选中线路、日期,默认选中一个  
72 - params.xlid = 2;  
73 - params.sdate = new Date();  
74 - params.sdate.setTime(1472140800000);  
75 -  
76 - // 调用方法  
77 - service.groupinfo.list(params).$promise.then(  
78 - function(result_internal) {  
79 - deferred.resolve(result_internal);  
80 - },  
81 - function(result_internal_error) {  
82 - deferred.reject(result_internal_error);  
83 - }  
84 - );  
85 - }  
86 - );  
87 - } else {  
88 - // 调用方法  
89 - service.groupinfo.list(params).$promise.then(  
90 - function(result_internal) {  
91 - deferred.resolve(result_internal);  
92 - },  
93 - function(result_internal_error) {  
94 - deferred.reject(result_internal_error);  
95 - }  
96 - );  
97 - }  
98 -  
99 - return deferred.promise;  
100 -  
101 - },  
102 - /**  
103 - * 获取明细信息。  
104 - * @param id 车辆id  
105 - * @return 返回一个 promise  
106 - */  
107 - getDetail: function(id) {  
108 - var params = {id: id};  
109 - return service.get(params).$promise;  
110 - },  
111 - /**  
112 - * 保存信息。  
113 - * @param obj 车辆详细信息  
114 - * @return 返回一个 promise  
115 - */  
116 - saveDetail: function(obj) {  
117 - return service.save(obj).$promise;  
118 - },  
119 - /**  
120 - * 更新分组信息。  
121 - * @param obj  
122 - * @returns {*|Function|promise|n}  
123 - */  
124 - updateDetail: function(obj) {  
125 - return service.updateGroupInfo.update(obj).$promise;  
126 - }  
127 - };  
128 -  
129 - }]);  
130 -  
131 -angular.module('ScheduleApp').controller('SchedulePlanReportManageCtrl', [  
132 - 'SchedulePlanReportManageService', '$state',  
133 - function(schedulePlanReportManageService, $state) {  
134 - var self = this;  
135 -  
136 - // 切换到form状态  
137 - self.goForm = function() {  
138 - alert("切换");  
139 - }  
140 - }  
141 -]);  
142 -  
143 -angular.module('ScheduleApp').controller('SchedulePlanReportManageListCtrl', [  
144 - 'SchedulePlanReportManageService', '$scope', '$state',  
145 - function(schedulePlanReportManageService, $scope, $state) {  
146 -  
147 - var self = this;  
148 - self.pageInfo = {  
149 - infos: []  
150 - };  
151 -  
152 - // 日期 日期控件开关  
153 - self.scheduleDateOpen = false;  
154 - self.scheduleDate_open = function() {  
155 - self.scheduleDateOpen = true;  
156 - };  
157 -  
158 - // 翻页的时候调用  
159 - self.pageChanaged = function() {  
160 - schedulePlanReportManageService.getPage().then(  
161 - function(result) {  
162 - self.pageInfo.infos = result;  
163 - },  
164 - function(result) {  
165 - alert("出错啦!");  
166 - }  
167 - );  
168 - };  
169 - // 获取查询条件数据  
170 - self.searchCondition = function() {  
171 - return schedulePlanReportManageService.getSearchCondition();  
172 - };  
173 - // 重置查询条件  
174 - self.resetSearchCondition = function() {  
175 - return schedulePlanReportManageService.resetSearchCondition();  
176 - };  
177 -  
178 - // 监控条件变化,触发查询  
179 - $scope.$watch(  
180 - function() {  
181 - return schedulePlanReportManageService.getSearchCondition();  
182 - },  
183 - function(newValue, oldValue) {  
184 - if (newValue) {  
185 - if (newValue.xlid && newValue.sdate) {  
186 - self.pageChanaged();  
187 - }  
188 - }  
189 - },  
190 - true  
191 - );  
192 -  
193 - /**  
194 - * ui-route中param不定义在template-url后,定义在params参数对象中  
195 - * 参数说明,type=更新方式,groupInfo=分组排班信息  
196 - * @param type 1=替换车辆,2=修改出场班次1,3=替换分组人员(驾驶员1和售票员1)  
197 - // 有分班的话,4=修改出场班次2,5=修改分组人员(驾驶员2和售票员2)  
198 - * @param groupInfo 列表单条数据,表示每条线路,每天,每个路牌谁跑的  
199 - */  
200 - self.goEditForm = function(type, groupInfo) {  
201 - $state.go("schedulePlanReportManage_edit", {  
202 - type: type,  
203 - groupInfo: groupInfo  
204 - });  
205 - };  
206 -  
207 -  
208 - // 初始创建的时候,获取一次列表数据  
209 - self.pageChanaged();  
210 -  
211 - }  
212 -]);  
213 -  
214 -angular.module('ScheduleApp').controller('SchedulePlanReportManageFormCtrl', [  
215 - 'SchedulePlanReportManageService',  
216 - '$stateParams',  
217 - '$state',  
218 - '$scope',  
219 - function(schedulePlanReportManageService, $stateParams, $state, $scope) {  
220 - var self = this;  
221 -  
222 - // 传过来的值  
223 - var type_src = $stateParams.type;  
224 - var groupInfo_src = $stateParams.groupInfo;  
225 -  
226 - // 时间正则表达式(格式hh:mm,如:06:39)  
227 - self.time_regex = /^(([0-1]\d)|(2[0-4])):[0-5]\d$/;  
228 -  
229 - // 欲修改的groupInfo值  
230 - self.groupInfo_src = groupInfo_src;  
231 - self.groupInfo = {};  
232 - self.type = type_src;  
233 - angular.copy(groupInfo_src, self.groupInfo);  
234 -  
235 - // 提交方法  
236 - self.submit = function() {  
237 - var param = {  
238 - type: self.type,  
239 - src: self.groupInfo_src,  
240 - update: self.groupInfo  
241 - };  
242 -  
243 - //console.log($scope);  
244 - //console.log(param);  
245 - schedulePlanReportManageService.updateDetail(param).then(  
246 - function(result) {  
247 - $state.go("schedulePlanReportManage");  
248 - },  
249 - function(result) {  
250 - alert("出错啦!");  
251 - }  
252 - );  
253 - }  
254 -  
255 - }  
256 -]);  
257 -  
258 -angular.module('ScheduleApp').controller('SchedulePlanReportManageDetailCtrl', ['SchedulePlanReportManageService', '$stateParams', function(schedulePlanReportManageService, $stateParams) {  
259 - // TODO:  
260 -}]);  
261 -  
262 - 1 +// 调度值勤日报管理 service controller 等写在一起
  2 +// TODO:使用的global服务需要修正
  3 +angular.module('ScheduleApp').factory('SchedulePlanReportManageService', [
  4 + 'SchedulePlanInfoManageService_g', 'SchedulePlanManageService_g', '$q',
  5 + function(service, service2, $q) {
  6 + /** 当前的查询条件信息 */
  7 + var currentSearchCondition = {};
  8 +
  9 + return {
  10 + /**
  11 + * 获取查询条件信息,
  12 + * 用于给controller用来和页面数据绑定。
  13 + */
  14 + getSearchCondition: function() {
  15 + return currentSearchCondition;
  16 + },
  17 + /**
  18 + * 重置查询条件信息。
  19 + */
  20 + resetSearchCondition: function() {
  21 + var key;
  22 + for (key in currentSearchCondition) {
  23 + currentSearchCondition[key] = undefined;
  24 + }
  25 + },
  26 + /**
  27 + * 组装查询参数,返回一个promise查询结果。
  28 + * @param params 查询参数
  29 + * @return 返回一个 promise
  30 + */
  31 + getPage: function() {
  32 + var params = currentSearchCondition; // 查询条件
  33 +
  34 + // promise
  35 + var deferred = $q.defer();
  36 +
  37 + // 如果线路id和日期都没有,从后台获取一组参数,如果还没有,就设定死一组参数
  38 + if (!params.xlid && !params.sdate) {
  39 + service2.tommorw.list().$promise.then(
  40 + function(result) {
  41 + if (result) {
  42 + // 线路id
  43 + params.xlid = result.xl.id;
  44 + // 时间
  45 + var dd = new Date();
  46 + dd.setHours(0);
  47 + dd.setMinutes(0);
  48 + dd.setSeconds(0);
  49 + dd.setMilliseconds(0);
  50 + dd.setTime(dd.getTime() + 24 * 3600 * 1000);
  51 + params.sdate = dd;
  52 + } else {
  53 + // 如果没有选中线路、日期,默认选中一个
  54 + params.xlid = 2;
  55 + params.sdate = new Date();
  56 + params.sdate.setTime(1472140800000);
  57 + }
  58 +
  59 + // 调用方法
  60 + service.groupinfo.list(params).$promise.then(
  61 + function(result_internal) {
  62 + deferred.resolve(result_internal);
  63 + },
  64 + function(result_internal_error) {
  65 + deferred.reject(result_internal_error);
  66 + }
  67 + );
  68 +
  69 + },
  70 + function(result_error) {
  71 + // 如果没有选中线路、日期,默认选中一个
  72 + params.xlid = 2;
  73 + params.sdate = new Date();
  74 + params.sdate.setTime(1472140800000);
  75 +
  76 + // 调用方法
  77 + service.groupinfo.list(params).$promise.then(
  78 + function(result_internal) {
  79 + deferred.resolve(result_internal);
  80 + },
  81 + function(result_internal_error) {
  82 + deferred.reject(result_internal_error);
  83 + }
  84 + );
  85 + }
  86 + );
  87 + } else {
  88 + // 调用方法
  89 + service.groupinfo.list(params).$promise.then(
  90 + function(result_internal) {
  91 + deferred.resolve(result_internal);
  92 + },
  93 + function(result_internal_error) {
  94 + deferred.reject(result_internal_error);
  95 + }
  96 + );
  97 + }
  98 +
  99 + return deferred.promise;
  100 +
  101 + },
  102 + /**
  103 + * 获取明细信息。
  104 + * @param id 车辆id
  105 + * @return 返回一个 promise
  106 + */
  107 + getDetail: function(id) {
  108 + var params = {id: id};
  109 + return service.get(params).$promise;
  110 + },
  111 + /**
  112 + * 保存信息。
  113 + * @param obj 车辆详细信息
  114 + * @return 返回一个 promise
  115 + */
  116 + saveDetail: function(obj) {
  117 + return service.save(obj).$promise;
  118 + },
  119 + /**
  120 + * 更新分组信息。
  121 + * @param obj
  122 + * @returns {*|Function|promise|n}
  123 + */
  124 + updateDetail: function(obj) {
  125 + return service.updateGroupInfo.update(obj).$promise;
  126 + }
  127 + };
  128 +
  129 + }]);
  130 +
  131 +angular.module('ScheduleApp').controller('SchedulePlanReportManageCtrl', [
  132 + 'SchedulePlanReportManageService', '$state',
  133 + function(schedulePlanReportManageService, $state) {
  134 + var self = this;
  135 +
  136 + // 切换到form状态
  137 + self.goForm = function() {
  138 + alert("切换");
  139 + }
  140 + }
  141 +]);
  142 +
  143 +angular.module('ScheduleApp').controller('SchedulePlanReportManageListCtrl', [
  144 + 'SchedulePlanReportManageService', '$scope', '$state',
  145 + function(schedulePlanReportManageService, $scope, $state) {
  146 +
  147 + var self = this;
  148 + self.pageInfo = {
  149 + infos: []
  150 + };
  151 +
  152 + // 日期 日期控件开关
  153 + self.scheduleDateOpen = false;
  154 + self.scheduleDate_open = function() {
  155 + self.scheduleDateOpen = true;
  156 + };
  157 +
  158 + // 翻页的时候调用
  159 + self.pageChanaged = function() {
  160 + schedulePlanReportManageService.getPage().then(
  161 + function(result) {
  162 + self.pageInfo.infos = result;
  163 + },
  164 + function(result) {
  165 + alert("出错啦!");
  166 + }
  167 + );
  168 + };
  169 + // 获取查询条件数据
  170 + self.searchCondition = function() {
  171 + return schedulePlanReportManageService.getSearchCondition();
  172 + };
  173 + // 重置查询条件
  174 + self.resetSearchCondition = function() {
  175 + return schedulePlanReportManageService.resetSearchCondition();
  176 + };
  177 +
  178 + // 监控条件变化,触发查询
  179 + $scope.$watch(
  180 + function() {
  181 + return schedulePlanReportManageService.getSearchCondition();
  182 + },
  183 + function(newValue, oldValue) {
  184 + if (newValue) {
  185 + if (newValue.xlid && newValue.sdate) {
  186 + self.pageChanaged();
  187 + }
  188 + }
  189 + },
  190 + true
  191 + );
  192 +
  193 + /**
  194 + * ui-route中param不定义在template-url后,定义在params参数对象中
  195 + * 参数说明,type=更新方式,groupInfo=分组排班信息
  196 + * @param type 1=替换车辆,2=修改出场班次1,3=替换分组人员(驾驶员1和售票员1)
  197 + // 有分班的话,4=修改出场班次2,5=修改分组人员(驾驶员2和售票员2)
  198 + * @param groupInfo 列表单条数据,表示每条线路,每天,每个路牌谁跑的
  199 + */
  200 + self.goEditForm = function(type, groupInfo) {
  201 + $state.go("schedulePlanReportManage_edit", {
  202 + type: type,
  203 + groupInfo: groupInfo
  204 + });
  205 + };
  206 +
  207 +
  208 + // 初始创建的时候,获取一次列表数据
  209 + self.pageChanaged();
  210 +
  211 + }
  212 +]);
  213 +
  214 +angular.module('ScheduleApp').controller('SchedulePlanReportManageFormCtrl', [
  215 + 'SchedulePlanReportManageService',
  216 + '$stateParams',
  217 + '$state',
  218 + '$scope',
  219 + function(schedulePlanReportManageService, $stateParams, $state, $scope) {
  220 + var self = this;
  221 +
  222 + // 传过来的值
  223 + var type_src = $stateParams.type;
  224 + var groupInfo_src = $stateParams.groupInfo;
  225 +
  226 + // 时间正则表达式(格式hh:mm,如:06:39)
  227 + self.time_regex = /^(([0-1]\d)|(2[0-4])):[0-5]\d$/;
  228 +
  229 + // 欲修改的groupInfo值
  230 + self.groupInfo_src = groupInfo_src;
  231 + self.groupInfo = {};
  232 + self.type = type_src;
  233 + angular.copy(groupInfo_src, self.groupInfo);
  234 +
  235 + // 提交方法
  236 + self.submit = function() {
  237 + var param = {
  238 + type: self.type,
  239 + src: self.groupInfo_src,
  240 + update: self.groupInfo
  241 + };
  242 +
  243 + //console.log($scope);
  244 + //console.log(param);
  245 + schedulePlanReportManageService.updateDetail(param).then(
  246 + function(result) {
  247 + $state.go("schedulePlanReportManage");
  248 + },
  249 + function(result) {
  250 + alert("出错啦!");
  251 + }
  252 + );
  253 + }
  254 +
  255 + }
  256 +]);
  257 +
  258 +angular.module('ScheduleApp').controller('SchedulePlanReportManageDetailCtrl', ['SchedulePlanReportManageService', '$stateParams', function(schedulePlanReportManageService, $stateParams) {
  259 + // TODO:
  260 +}]);
  261 +
  262 +
src/main/resources/static/pages/scheduleApp/module/core/schedulePlanManage/report/route.js
1 -// ui route 配置  
2 -  
3 -/** 排班调度值勤日报配置route */  
4 -ScheduleApp.config([  
5 - '$stateProvider',  
6 - '$urlRouterProvider',  
7 - function($stateProvider, $urlRouterProvider) {  
8 - // 默认路由  
9 - //$urlRouterProvider.otherwise('/busConfig.html');  
10 -  
11 - $stateProvider  
12 - .state("schedulePlanReportManage", {  
13 - url: '/schedulePlanReportManage',  
14 - views: {  
15 - "": {  
16 - templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/report/index_report.html'  
17 - },  
18 - "schedulePlanReportManage_list@schedulePlanReportManage": {  
19 - templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/report/list_report.html'  
20 - }  
21 - },  
22 -  
23 - resolve: {  
24 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
25 - return $ocLazyLoad.load({  
26 - name: 'schedulePlanManage_module',  
27 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
28 - files: [  
29 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
30 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
31 - "pages/scheduleApp/module/core/schedulePlanManage/report/module.js"  
32 - ]  
33 - });  
34 - }]  
35 - }  
36 - })  
37 - .state("schedulePlanReportManage_edit", {  
38 - url: '/schedulePlanReportManage_edit',  
39 - params: {type: 0, groupInfo: null},  
40 - views: {  
41 - "": {  
42 - templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/report/edit_report.html'  
43 - }  
44 - },  
45 -  
46 - resolve: {  
47 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
48 - return $ocLazyLoad.load({  
49 - name: 'schedulePlanReportManage_edit_module',  
50 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
51 - files: [  
52 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
53 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
54 - "pages/scheduleApp/module/core/schedulePlanManage/report/module.js"  
55 - ]  
56 - });  
57 - }]  
58 - }  
59 - });  
60 -  
61 - } 1 +// ui route 配置
  2 +
  3 +/** 排班调度值勤日报配置route */
  4 +ScheduleApp.config([
  5 + '$stateProvider',
  6 + '$urlRouterProvider',
  7 + function($stateProvider, $urlRouterProvider) {
  8 + // 默认路由
  9 + //$urlRouterProvider.otherwise('/busConfig.html');
  10 +
  11 + $stateProvider
  12 + .state("schedulePlanReportManage", {
  13 + url: '/schedulePlanReportManage',
  14 + views: {
  15 + "": {
  16 + templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/report/index_report.html'
  17 + },
  18 + "schedulePlanReportManage_list@schedulePlanReportManage": {
  19 + templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/report/list_report.html'
  20 + }
  21 + },
  22 +
  23 + resolve: {
  24 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  25 + return $ocLazyLoad.load({
  26 + name: 'schedulePlanManage_module',
  27 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  28 + files: [
  29 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  30 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  31 + "pages/scheduleApp/module/core/schedulePlanManage/report/module.js"
  32 + ]
  33 + });
  34 + }]
  35 + }
  36 + })
  37 + .state("schedulePlanReportManage_edit", {
  38 + url: '/schedulePlanReportManage_edit',
  39 + params: {type: 0, groupInfo: null},
  40 + views: {
  41 + "": {
  42 + templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/report/edit_report.html'
  43 + }
  44 + },
  45 +
  46 + resolve: {
  47 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  48 + return $ocLazyLoad.load({
  49 + name: 'schedulePlanReportManage_edit_module',
  50 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  51 + files: [
  52 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  53 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  54 + "pages/scheduleApp/module/core/schedulePlanManage/report/module.js"
  55 + ]
  56 + });
  57 + }]
  58 + }
  59 + });
  60 +
  61 + }
62 ]); 62 ]);
63 \ No newline at end of file 63 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/schedulePlanManage/route.js
1 -// ui route 配置  
2 -  
3 -/** 排班计划管理配置route */  
4 -ScheduleApp.config([  
5 - '$stateProvider',  
6 - '$urlRouterProvider',  
7 - function($stateProvider, $urlRouterProvider) {  
8 - // 默认路由  
9 - //$urlRouterProvider.otherwise('/busConfig.html');  
10 -  
11 - $stateProvider  
12 - .state("schedulePlanManage", { // index页面  
13 - url: '/schedulePlanManage',  
14 - views: {  
15 - "": {  
16 - templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/index.html'  
17 - },  
18 - "schedulePlanManage_list@schedulePlanManage": {  
19 - templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/list.html'  
20 - }  
21 - },  
22 -  
23 - resolve: {  
24 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
25 - return $ocLazyLoad.load({  
26 - name: 'schedulePlanManage_module',  
27 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
28 - files: [  
29 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
30 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
31 - "pages/scheduleApp/module/core/schedulePlanManage/module.js"  
32 - ]  
33 - });  
34 - }]  
35 - }  
36 - })  
37 - .state("schedulePlanManage_form", { // 添加排班计划form  
38 - url: '/schedulePlanManage_form',  
39 - views: {  
40 - "": {  
41 - templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/form.html'  
42 - }  
43 - },  
44 -  
45 - resolve: {  
46 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
47 - return $ocLazyLoad.load({  
48 - name: 'schedulePlanManage_form_module',  
49 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
50 - files: [  
51 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
52 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
53 - "pages/scheduleApp/module/core/schedulePlanManage/module.js"  
54 - ]  
55 - });  
56 - }]  
57 - }  
58 - })  
59 -  
60 -  
61 - } 1 +// ui route 配置
  2 +
  3 +/** 排班计划管理配置route */
  4 +ScheduleApp.config([
  5 + '$stateProvider',
  6 + '$urlRouterProvider',
  7 + function($stateProvider, $urlRouterProvider) {
  8 + // 默认路由
  9 + //$urlRouterProvider.otherwise('/busConfig.html');
  10 +
  11 + $stateProvider
  12 + .state("schedulePlanManage", { // index页面
  13 + url: '/schedulePlanManage',
  14 + views: {
  15 + "": {
  16 + templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/index.html'
  17 + },
  18 + "schedulePlanManage_list@schedulePlanManage": {
  19 + templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/list.html'
  20 + }
  21 + },
  22 +
  23 + resolve: {
  24 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  25 + return $ocLazyLoad.load({
  26 + name: 'schedulePlanManage_module',
  27 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  28 + files: [
  29 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  30 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  31 + "pages/scheduleApp/module/core/schedulePlanManage/module.js"
  32 + ]
  33 + });
  34 + }]
  35 + }
  36 + })
  37 + .state("schedulePlanManage_form", { // 添加排班计划form
  38 + url: '/schedulePlanManage_form',
  39 + views: {
  40 + "": {
  41 + templateUrl: 'pages/scheduleApp/module/core/schedulePlanManage/form.html'
  42 + }
  43 + },
  44 +
  45 + resolve: {
  46 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  47 + return $ocLazyLoad.load({
  48 + name: 'schedulePlanManage_form_module',
  49 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  50 + files: [
  51 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  52 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  53 + "pages/scheduleApp/module/core/schedulePlanManage/module.js"
  54 + ]
  55 + });
  56 + }]
  57 + }
  58 + })
  59 +
  60 +
  61 + }
62 ]); 62 ]);
63 \ No newline at end of file 63 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/scheduleRuleManage/module.js
1 -// 规则配置管理 service controller 等写在一起  
2 -angular.module('ScheduleApp').factory('ScheduleRuleManageService', ['ScheduleRuleManageService_g', function(service) {  
3 - /** 当前的查询条件信息 */  
4 - var currentSearchCondition = {};  
5 -  
6 - /** 当前第几页 */  
7 - var currentPageNo = 1;  
8 -  
9 - return {  
10 - /**  
11 - * 获取查询条件信息,  
12 - * 用于给controller用来和页面数据绑定。  
13 - */  
14 - getSearchCondition: function() {  
15 - return currentSearchCondition;  
16 - },  
17 - /**  
18 - * 重置查询条件信息。  
19 - */  
20 - resetSearchCondition: function() {  
21 - var key;  
22 - for (key in currentSearchCondition) {  
23 - currentSearchCondition[key] = undefined;  
24 - }  
25 - },  
26 - /**  
27 - * 设置当前页码。  
28 - * @param cpn 从1开始,后台是从0开始的  
29 - */  
30 - setCurrentPageNo: function(cpn) {  
31 - currentPageNo = cpn;  
32 - },  
33 - /**  
34 - * 组装查询参数,返回一个promise查询结果。  
35 - * @param params 查询参数  
36 - * @return 返回一个 promise  
37 - */  
38 - getPage: function() {  
39 - var params = currentSearchCondition; // 查询条件  
40 - params.page = currentPageNo - 1; // 服务端页码从0开始  
41 - return service.rest.list(params).$promise;  
42 - },  
43 - /**  
44 - * 获取明细信息。  
45 - * @param id 车辆id  
46 - * @return 返回一个 promise  
47 - */  
48 - getDetail: function(id) {  
49 - var params = {id: id};  
50 - return service.rest.get(params).$promise;  
51 - },  
52 - /**  
53 - * 保存信息。  
54 - * @param obj 车辆详细信息  
55 - * @return 返回一个 promise  
56 - */  
57 - saveDetail: function(obj) {  
58 - return service.rest.save(obj).$promise;  
59 - },  
60 - /**  
61 - * 删除信息。  
62 - * @param id 主键id  
63 - * @returns {*|Function|promise|n}  
64 - */  
65 - deleteDetail: function(id) {  
66 - return service.rest.delete({id: id}).$promise;  
67 - }  
68 - };  
69 -  
70 -}]);  
71 -  
72 -angular.module('ScheduleApp').controller('ScheduleRuleManageCtrl', ['ScheduleRuleManageService', '$state', function(busConfigService, $state) {  
73 - var self = this;  
74 -  
75 - // 切换到form状态  
76 - self.goForm = function() {  
77 - //alert("切换");  
78 - $state.go("scheduleRuleManage_form");  
79 - };  
80 -  
81 -}]);  
82 -  
83 -angular.module('ScheduleApp').controller('ScheduleRuleManageListCtrl', ['ScheduleRuleManageService', function(scheduleRuleManageService) {  
84 - var self = this;  
85 - self.pageInfo = {  
86 - totalItems : 0,  
87 - currentPage : 1,  
88 - infos: []  
89 - };  
90 -  
91 - // 初始创建的时候,获取一次列表数据  
92 - scheduleRuleManageService.getPage().then(  
93 - function(result) {  
94 - self.pageInfo.totalItems = result.totalElements;  
95 - self.pageInfo.currentPage = result.number + 1;  
96 - self.pageInfo.infos = result.content;  
97 - scheduleRuleManageService.setCurrentPageNo(result.number + 1);  
98 - },  
99 - function(result) {  
100 - alert("出错啦!");  
101 - }  
102 - );  
103 -  
104 - //$scope.$watch("ctrl.pageInfo.currentPage", function() {  
105 - // alert("dfdfdf");  
106 - //});  
107 -  
108 - // 翻页的时候调用  
109 - self.pageChanaged = function() {  
110 - scheduleRuleManageService.setCurrentPageNo(self.pageInfo.currentPage);  
111 - scheduleRuleManageService.getPage().then(  
112 - function(result) {  
113 - self.pageInfo.totalItems = result.totalElements;  
114 - self.pageInfo.currentPage = result.number + 1;  
115 - self.pageInfo.infos = result.content;  
116 - scheduleRuleManageService.setCurrentPageNo(result.number + 1);  
117 - },  
118 - function(result) {  
119 - alert("出错啦!");  
120 - }  
121 - );  
122 - };  
123 - // 获取查询条件数据  
124 - self.searchCondition = function() {  
125 - return scheduleRuleManageService.getSearchCondition();  
126 - };  
127 - // 重置查询条件  
128 - self.resetSearchCondition = function() {  
129 - scheduleRuleManageService.resetSearchCondition();  
130 - self.pageInfo.currentPage = 1;  
131 - self.pageChanaged();  
132 - };  
133 -  
134 - // 删除规则  
135 - self.deleteRule = function(id) {  
136 - scheduleRuleManageService.deleteDetail(id).then(  
137 - function(result) {  
138 - alert("删除成功!");  
139 -  
140 - scheduleRuleManageService.getPage().then(  
141 - function(result) {  
142 - self.pageInfo.totalItems = result.totalElements;  
143 - self.pageInfo.currentPage = result.number + 1;  
144 - self.pageInfo.infos = result.content;  
145 - scheduleRuleManageService.setCurrentPageNo(result.number + 1);  
146 - },  
147 - function(result) {  
148 - alert("出错啦!");  
149 - }  
150 - );  
151 - },  
152 - function(result) {  
153 - alert("出错啦!");  
154 - }  
155 - );  
156 - }  
157 -  
158 -}]);  
159 -  
160 -angular.module('ScheduleApp').controller('ScheduleRuleManageFormCtrl', ['ScheduleRuleManageService', '$stateParams', '$state', '$scope', function(scheduleRuleManageService, $stateParams, $state, $scope) {  
161 - var self = this;  
162 -  
163 - // 启用日期 日期控件开关  
164 - self.qyrqOpen = false;  
165 - self.qyrq_open = function() {  
166 - self.qyrqOpen = true;  
167 - };  
168 -  
169 - // 欲保存的busInfo信息,绑定  
170 - self.scheduleRuleManageForSave = {xl: {}, carConfigInfo: {}};  
171 -  
172 - // 获取传过来的id,有的话就是修改,获取一遍数据  
173 - var id = $stateParams.id;  
174 - if (id) {  
175 - self.scheduleRuleManageForSave.id = id;  
176 - scheduleRuleManageService.getDetail(id).then(  
177 - function(result) {  
178 - var key;  
179 - for (key in result) {  
180 - self.scheduleRuleManageForSave[key] = result[key];  
181 - }  
182 - },  
183 - function(result) {  
184 - alert("出错啦!");  
185 - }  
186 - );  
187 - }  
188 -  
189 - // 提交方法  
190 - self.submit = function() {  
191 - console.log(self.scheduleRuleManageForSave);  
192 -  
193 - scheduleRuleManageService.saveDetail(self.scheduleRuleManageForSave).then(  
194 - function(result) {  
195 - // TODO:弹出框方式以后改  
196 - if (result.status == 'SUCCESS') {  
197 - alert("保存成功!");  
198 - $state.go("scheduleRuleManage");  
199 - } else {  
200 - alert("保存异常!");  
201 - }  
202 - },  
203 - function(result) {  
204 - // TODO:弹出框方式以后改  
205 - alert("出错啦!");  
206 - }  
207 - );  
208 - };  
209 -}]);  
210 -  
211 -angular.module('ScheduleApp').controller('ScheduleRuleManageDetailCtrl', ['ScheduleRuleManageService', '$stateParams', function(scheduleRuleManageService, $stateParams) {  
212 - var self = this;  
213 - self.title = "";  
214 - self.scheduleRuleManageForDetail = {};  
215 - self.scheduleRuleManageForDetail.id = $stateParams.id;  
216 -  
217 - // 当转向到此页面时,就获取明细信息并绑定  
218 - scheduleRuleManageService.getDetail($stateParams.id).then(  
219 - function(result) {  
220 - var key;  
221 - for (key in result) {  
222 - self.scheduleRuleManageForDetail[key] = result[key];  
223 - }  
224 -  
225 - self.title = "规则配置详细信息";  
226 - },  
227 - function(result) {  
228 - // TODO:弹出框方式以后改  
229 - alert("出错啦!");  
230 - }  
231 - );  
232 -}]);  
233 -  
234 -  
235 - 1 +// 规则配置管理 service controller 等写在一起
  2 +angular.module('ScheduleApp').factory('ScheduleRuleManageService', ['ScheduleRuleManageService_g', function(service) {
  3 + /** 当前的查询条件信息 */
  4 + var currentSearchCondition = {};
  5 +
  6 + /** 当前第几页 */
  7 + var currentPageNo = 1;
  8 +
  9 + return {
  10 + /**
  11 + * 获取查询条件信息,
  12 + * 用于给controller用来和页面数据绑定。
  13 + */
  14 + getSearchCondition: function() {
  15 + return currentSearchCondition;
  16 + },
  17 + /**
  18 + * 重置查询条件信息。
  19 + */
  20 + resetSearchCondition: function() {
  21 + var key;
  22 + for (key in currentSearchCondition) {
  23 + currentSearchCondition[key] = undefined;
  24 + }
  25 + },
  26 + /**
  27 + * 设置当前页码。
  28 + * @param cpn 从1开始,后台是从0开始的
  29 + */
  30 + setCurrentPageNo: function(cpn) {
  31 + currentPageNo = cpn;
  32 + },
  33 + /**
  34 + * 组装查询参数,返回一个promise查询结果。
  35 + * @param params 查询参数
  36 + * @return 返回一个 promise
  37 + */
  38 + getPage: function() {
  39 + var params = currentSearchCondition; // 查询条件
  40 + params.page = currentPageNo - 1; // 服务端页码从0开始
  41 + return service.rest.list(params).$promise;
  42 + },
  43 + /**
  44 + * 获取明细信息。
  45 + * @param id 车辆id
  46 + * @return 返回一个 promise
  47 + */
  48 + getDetail: function(id) {
  49 + var params = {id: id};
  50 + return service.rest.get(params).$promise;
  51 + },
  52 + /**
  53 + * 保存信息。
  54 + * @param obj 车辆详细信息
  55 + * @return 返回一个 promise
  56 + */
  57 + saveDetail: function(obj) {
  58 + return service.rest.save(obj).$promise;
  59 + },
  60 + /**
  61 + * 删除信息。
  62 + * @param id 主键id
  63 + * @returns {*|Function|promise|n}
  64 + */
  65 + deleteDetail: function(id) {
  66 + return service.rest.delete({id: id}).$promise;
  67 + }
  68 + };
  69 +
  70 +}]);
  71 +
  72 +angular.module('ScheduleApp').controller('ScheduleRuleManageCtrl', ['ScheduleRuleManageService', '$state', function(busConfigService, $state) {
  73 + var self = this;
  74 +
  75 + // 切换到form状态
  76 + self.goForm = function() {
  77 + //alert("切换");
  78 + $state.go("scheduleRuleManage_form");
  79 + };
  80 +
  81 +}]);
  82 +
  83 +angular.module('ScheduleApp').controller('ScheduleRuleManageListCtrl', ['ScheduleRuleManageService', function(scheduleRuleManageService) {
  84 + var self = this;
  85 + self.pageInfo = {
  86 + totalItems : 0,
  87 + currentPage : 1,
  88 + infos: []
  89 + };
  90 +
  91 + // 初始创建的时候,获取一次列表数据
  92 + scheduleRuleManageService.getPage().then(
  93 + function(result) {
  94 + self.pageInfo.totalItems = result.totalElements;
  95 + self.pageInfo.currentPage = result.number + 1;
  96 + self.pageInfo.infos = result.content;
  97 + scheduleRuleManageService.setCurrentPageNo(result.number + 1);
  98 + },
  99 + function(result) {
  100 + alert("出错啦!");
  101 + }
  102 + );
  103 +
  104 + //$scope.$watch("ctrl.pageInfo.currentPage", function() {
  105 + // alert("dfdfdf");
  106 + //});
  107 +
  108 + // 翻页的时候调用
  109 + self.pageChanaged = function() {
  110 + scheduleRuleManageService.setCurrentPageNo(self.pageInfo.currentPage);
  111 + scheduleRuleManageService.getPage().then(
  112 + function(result) {
  113 + self.pageInfo.totalItems = result.totalElements;
  114 + self.pageInfo.currentPage = result.number + 1;
  115 + self.pageInfo.infos = result.content;
  116 + scheduleRuleManageService.setCurrentPageNo(result.number + 1);
  117 + },
  118 + function(result) {
  119 + alert("出错啦!");
  120 + }
  121 + );
  122 + };
  123 + // 获取查询条件数据
  124 + self.searchCondition = function() {
  125 + return scheduleRuleManageService.getSearchCondition();
  126 + };
  127 + // 重置查询条件
  128 + self.resetSearchCondition = function() {
  129 + scheduleRuleManageService.resetSearchCondition();
  130 + self.pageInfo.currentPage = 1;
  131 + self.pageChanaged();
  132 + };
  133 +
  134 + // 删除规则
  135 + self.deleteRule = function(id) {
  136 + scheduleRuleManageService.deleteDetail(id).then(
  137 + function(result) {
  138 + alert("删除成功!");
  139 +
  140 + scheduleRuleManageService.getPage().then(
  141 + function(result) {
  142 + self.pageInfo.totalItems = result.totalElements;
  143 + self.pageInfo.currentPage = result.number + 1;
  144 + self.pageInfo.infos = result.content;
  145 + scheduleRuleManageService.setCurrentPageNo(result.number + 1);
  146 + },
  147 + function(result) {
  148 + alert("出错啦!");
  149 + }
  150 + );
  151 + },
  152 + function(result) {
  153 + alert("出错啦!");
  154 + }
  155 + );
  156 + }
  157 +
  158 +}]);
  159 +
  160 +angular.module('ScheduleApp').controller('ScheduleRuleManageFormCtrl', ['ScheduleRuleManageService', '$stateParams', '$state', '$scope', function(scheduleRuleManageService, $stateParams, $state, $scope) {
  161 + var self = this;
  162 +
  163 + // 启用日期 日期控件开关
  164 + self.qyrqOpen = false;
  165 + self.qyrq_open = function() {
  166 + self.qyrqOpen = true;
  167 + };
  168 +
  169 + // 欲保存的busInfo信息,绑定
  170 + self.scheduleRuleManageForSave = {xl: {}, carConfigInfo: {}};
  171 +
  172 + // 获取传过来的id,有的话就是修改,获取一遍数据
  173 + var id = $stateParams.id;
  174 + if (id) {
  175 + self.scheduleRuleManageForSave.id = id;
  176 + scheduleRuleManageService.getDetail(id).then(
  177 + function(result) {
  178 + var key;
  179 + for (key in result) {
  180 + self.scheduleRuleManageForSave[key] = result[key];
  181 + }
  182 + },
  183 + function(result) {
  184 + alert("出错啦!");
  185 + }
  186 + );
  187 + }
  188 +
  189 + // 提交方法
  190 + self.submit = function() {
  191 + console.log(self.scheduleRuleManageForSave);
  192 +
  193 + scheduleRuleManageService.saveDetail(self.scheduleRuleManageForSave).then(
  194 + function(result) {
  195 + // TODO:弹出框方式以后改
  196 + if (result.status == 'SUCCESS') {
  197 + alert("保存成功!");
  198 + $state.go("scheduleRuleManage");
  199 + } else {
  200 + alert("保存异常!");
  201 + }
  202 + },
  203 + function(result) {
  204 + // TODO:弹出框方式以后改
  205 + alert("出错啦!");
  206 + }
  207 + );
  208 + };
  209 +}]);
  210 +
  211 +angular.module('ScheduleApp').controller('ScheduleRuleManageDetailCtrl', ['ScheduleRuleManageService', '$stateParams', function(scheduleRuleManageService, $stateParams) {
  212 + var self = this;
  213 + self.title = "";
  214 + self.scheduleRuleManageForDetail = {};
  215 + self.scheduleRuleManageForDetail.id = $stateParams.id;
  216 +
  217 + // 当转向到此页面时,就获取明细信息并绑定
  218 + scheduleRuleManageService.getDetail($stateParams.id).then(
  219 + function(result) {
  220 + var key;
  221 + for (key in result) {
  222 + self.scheduleRuleManageForDetail[key] = result[key];
  223 + }
  224 +
  225 + self.title = "规则配置详细信息";
  226 + },
  227 + function(result) {
  228 + // TODO:弹出框方式以后改
  229 + alert("出错啦!");
  230 + }
  231 + );
  232 +}]);
  233 +
  234 +
  235 +
src/main/resources/static/pages/scheduleApp/module/core/scheduleRuleManage/route.js
1 -// ui route 配置  
2 -  
3 -/** 排班规则模块配置route */  
4 -ScheduleApp.config([  
5 - '$stateProvider',  
6 - '$urlRouterProvider',  
7 - function($stateProvider, $urlRouterProvider) {  
8 - // 默认路由  
9 - //$urlRouterProvider.otherwise('/busConfig.html');  
10 -  
11 - $stateProvider  
12 - .state("scheduleRuleManage", { // index页面  
13 - url: '/scheduleRuleManage',  
14 - views: {  
15 - "": {  
16 - templateUrl: 'pages/scheduleApp/module/core/scheduleRuleManage/index.html'  
17 - },  
18 - "scheduleRuleManage_list@scheduleRuleManage": {  
19 - templateUrl: 'pages/scheduleApp/module/core/scheduleRuleManage/list.html'  
20 - }  
21 - },  
22 -  
23 - resolve: {  
24 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
25 - return $ocLazyLoad.load({  
26 - name: 'scheduleRuleManage_module',  
27 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
28 - files: [  
29 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
30 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
31 - "pages/scheduleApp/module/core/scheduleRuleManage/module.js"  
32 - ]  
33 - });  
34 - }]  
35 - }  
36 - })  
37 - .state("scheduleRuleManage_form", { // 添加排班规则form  
38 - url: '/scheduleRuleManage_form',  
39 - views: {  
40 - "": {templateUrl: 'pages/scheduleApp/module/core/scheduleRuleManage/form.html'}  
41 - },  
42 - resolve: {  
43 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
44 - return $ocLazyLoad.load({  
45 - name: 'scheduleRuleManage_form_module',  
46 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
47 - files: [  
48 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
49 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
50 - "pages/scheduleApp/module/core/scheduleRuleManage/module.js"  
51 - ]  
52 - });  
53 - }]  
54 - }  
55 - })  
56 - .state("scheduleRuleManage_edit", { // 修改排班规则form  
57 - url: '/scheduleRuleManage_edit/:id',  
58 - views: {  
59 - "": {templateUrl: 'pages/scheduleApp/module/core/scheduleRuleManage/edit.html'}  
60 - },  
61 - resolve: {  
62 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
63 - return $ocLazyLoad.load({  
64 - name: 'scheduleRuleManage_edit_module',  
65 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
66 - files: [  
67 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
68 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
69 - "pages/scheduleApp/module/core/scheduleRuleManage/module.js"  
70 - ]  
71 - });  
72 - }]  
73 - }  
74 - })  
75 - .state("scheduleRuleManage_detail", { // 详细信息  
76 - url: '/scheduleRuleManage_detail/:id',  
77 - views: {  
78 - "": {templateUrl: 'pages/scheduleApp/module/core/scheduleRuleManage/detail.html'}  
79 - },  
80 - resolve: {  
81 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
82 - return $ocLazyLoad.load({  
83 - name: 'scheduleRuleManage_detail_module',  
84 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
85 - files: [  
86 - "pages/scheduleApp/module/core/scheduleRuleManage/module.js"  
87 - ]  
88 - });  
89 - }]  
90 - }  
91 - })  
92 - } 1 +// ui route 配置
  2 +
  3 +/** 排班规则模块配置route */
  4 +ScheduleApp.config([
  5 + '$stateProvider',
  6 + '$urlRouterProvider',
  7 + function($stateProvider, $urlRouterProvider) {
  8 + // 默认路由
  9 + //$urlRouterProvider.otherwise('/busConfig.html');
  10 +
  11 + $stateProvider
  12 + .state("scheduleRuleManage", { // index页面
  13 + url: '/scheduleRuleManage',
  14 + views: {
  15 + "": {
  16 + templateUrl: 'pages/scheduleApp/module/core/scheduleRuleManage/index.html'
  17 + },
  18 + "scheduleRuleManage_list@scheduleRuleManage": {
  19 + templateUrl: 'pages/scheduleApp/module/core/scheduleRuleManage/list.html'
  20 + }
  21 + },
  22 +
  23 + resolve: {
  24 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  25 + return $ocLazyLoad.load({
  26 + name: 'scheduleRuleManage_module',
  27 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  28 + files: [
  29 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  30 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  31 + "pages/scheduleApp/module/core/scheduleRuleManage/module.js"
  32 + ]
  33 + });
  34 + }]
  35 + }
  36 + })
  37 + .state("scheduleRuleManage_form", { // 添加排班规则form
  38 + url: '/scheduleRuleManage_form',
  39 + views: {
  40 + "": {templateUrl: 'pages/scheduleApp/module/core/scheduleRuleManage/form.html'}
  41 + },
  42 + resolve: {
  43 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  44 + return $ocLazyLoad.load({
  45 + name: 'scheduleRuleManage_form_module',
  46 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  47 + files: [
  48 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  49 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  50 + "pages/scheduleApp/module/core/scheduleRuleManage/module.js"
  51 + ]
  52 + });
  53 + }]
  54 + }
  55 + })
  56 + .state("scheduleRuleManage_edit", { // 修改排班规则form
  57 + url: '/scheduleRuleManage_edit/:id',
  58 + views: {
  59 + "": {templateUrl: 'pages/scheduleApp/module/core/scheduleRuleManage/edit.html'}
  60 + },
  61 + resolve: {
  62 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  63 + return $ocLazyLoad.load({
  64 + name: 'scheduleRuleManage_edit_module',
  65 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  66 + files: [
  67 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  68 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  69 + "pages/scheduleApp/module/core/scheduleRuleManage/module.js"
  70 + ]
  71 + });
  72 + }]
  73 + }
  74 + })
  75 + .state("scheduleRuleManage_detail", { // 详细信息
  76 + url: '/scheduleRuleManage_detail/:id',
  77 + views: {
  78 + "": {templateUrl: 'pages/scheduleApp/module/core/scheduleRuleManage/detail.html'}
  79 + },
  80 + resolve: {
  81 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  82 + return $ocLazyLoad.load({
  83 + name: 'scheduleRuleManage_detail_module',
  84 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  85 + files: [
  86 + "pages/scheduleApp/module/core/scheduleRuleManage/module.js"
  87 + ]
  88 + });
  89 + }]
  90 + }
  91 + })
  92 + }
93 ]); 93 ]);
94 \ No newline at end of file 94 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/module.js
1 -// 时刻表明晰管理service,包装外部定义的globalservice,并保存一定的操作状态  
2 -angular.module('ScheduleApp').factory(  
3 - 'TtInfoDetailManageService',  
4 - [  
5 - 'TimeTableDetailManageService_g',  
6 - function(service) {  
7 - // TODO:  
8 -  
9 - return {  
10 - importDetail: function(param) {  
11 - return service.import.do(param).$promise;  
12 - },  
13 - /**  
14 - * 获取编辑用的时刻表明细数据。  
15 - * @param ttid 时刻表id  
16 - */  
17 - getEditInfo: function(xlid, ttid) {  
18 - var params = {xlid : xlid, ttid : ttid};  
19 - return service.edit.list(params).$promise;  
20 - }  
21 - };  
22 - }  
23 - ]  
24 -);  
25 -  
26 -// form.html控制器  
27 -angular.module('ScheduleApp').controller(  
28 - 'TtInfoDetailManageFormCtrl',  
29 - [  
30 - 'TtInfoDetailManageService',  
31 - 'FileUploader',  
32 - '$stateParams',  
33 - '$state',  
34 - function(service, FileUploader, $stateParams, $state) {  
35 - var self = this;  
36 - var xlid = $stateParams.xlid;  
37 - var ttid = $stateParams.ttid;  
38 - var xlname = $stateParams.xlname;  
39 - var ttname = $stateParams.ttname;  
40 -  
41 - self.title = xlname + '(' + ttname + ')' + '时刻表明细信息excel数据导入';  
42 -  
43 - // 欲保存的表单信息,双向绑定  
44 - self.ttInfoDetailManageForForm = {  
45 - xlid: xlid, // 线路id  
46 - ttid: ttid, // 时刻表id  
47 - xlname: xlname, // 线路名称  
48 - ttname: ttname, // 时刻表名称  
49 - filename: undefined, // 上传后的文件名  
50 - sheetname: undefined, // sheet名字  
51 - sheetvaliddesc: undefined, // sheet验证描述返回  
52 - lineinfo: undefined, // 线路标准id  
53 - lineinfovaliddesc: undefined // 线路标准验证描述返回  
54 - };  
55 - self.sheetnames = [  
56 - //{name: '工作表1'}, {name: '工作表2'} // sheet名字列表  
57 - ];  
58 -  
59 - //--------------- 上传文件功能 ---------------//  
60 -  
61 - self.clearInputFile = function() {  
62 - angular.element("input[type='file']").val(null);  
63 - };  
64 - self.removeItem = function(item) {  
65 - item.remove();  
66 - self.ttInfoDetailManageForForm.sheetname = undefined;  
67 - self.sheetnames = [];  
68 - };  
69 -  
70 - // 上传文件组件  
71 - self.uploader = new FileUploader({  
72 - url: "/tidc/uploadFile",  
73 - filters: [], // 用于过滤文件,比如只允许导入excel,  
74 - formData: [  
75 - {  
76 - xlmc: self.xlmc,  
77 - ttinfoname: self.ttinfoname  
78 - }  
79 - ]  
80 - });  
81 - self.uploader.onAfterAddingFile = function(fileItem)  
82 - {  
83 - console.info('onAfterAddingFile', fileItem);  
84 - console.log(self.uploader.queue.length);  
85 - if (self.uploader.queue.length > 1)  
86 - self.uploader.removeFromQueue(0);  
87 - self.ttInfoDetailManageForForm.sheetname = undefined;  
88 - self.sheetnames = [];  
89 - };  
90 - self.uploader.onSuccessItem = function(fileItem, response, status, headers)  
91 - {  
92 - self.sheetnames = response.sheetnames;  
93 - self.ttInfoDetailManageForForm.filename = response.fileName;  
94 - console.info('onSuccessItem', fileItem, response, status, headers);  
95 - };  
96 - self.uploader.onErrorItem = function(fileItem, response, status, headers)  
97 - {  
98 - alert("error");  
99 - self.sheetnames = [];  
100 - console.info('onErrorItem', fileItem, response, status, headers);  
101 - };  
102 -  
103 -  
104 - // form提交方法  
105 - self.submit = function() {  
106 - service.importDetail(self.ttInfoDetailManageForForm).then(  
107 - function(result) {  
108 - $state.go("ttInfoManage");  
109 - },  
110 - function(result) {  
111 - alert("出错啦!");  
112 - }  
113 - );  
114 - };  
115 -  
116 -  
117 - // TODO:edit操作暂时使用旧版本的js文件  
118 -  
119 -  
120 - }  
121 - ] 1 +// 时刻表明晰管理service,包装外部定义的globalservice,并保存一定的操作状态
  2 +angular.module('ScheduleApp').factory(
  3 + 'TtInfoDetailManageService',
  4 + [
  5 + 'TimeTableDetailManageService_g',
  6 + function(service) {
  7 + // TODO:
  8 +
  9 + return {
  10 + importDetail: function(param) {
  11 + return service.import.do(param).$promise;
  12 + },
  13 + /**
  14 + * 获取编辑用的时刻表明细数据。
  15 + * @param ttid 时刻表id
  16 + */
  17 + getEditInfo: function(xlid, ttid) {
  18 + var params = {xlid : xlid, ttid : ttid};
  19 + return service.edit.list(params).$promise;
  20 + }
  21 + };
  22 + }
  23 + ]
  24 +);
  25 +
  26 +// form.html控制器
  27 +angular.module('ScheduleApp').controller(
  28 + 'TtInfoDetailManageFormCtrl',
  29 + [
  30 + 'TtInfoDetailManageService',
  31 + 'FileUploader',
  32 + '$stateParams',
  33 + '$state',
  34 + function(service, FileUploader, $stateParams, $state) {
  35 + var self = this;
  36 + var xlid = $stateParams.xlid;
  37 + var ttid = $stateParams.ttid;
  38 + var xlname = $stateParams.xlname;
  39 + var ttname = $stateParams.ttname;
  40 +
  41 + self.title = xlname + '(' + ttname + ')' + '时刻表明细信息excel数据导入';
  42 +
  43 + // 欲保存的表单信息,双向绑定
  44 + self.ttInfoDetailManageForForm = {
  45 + xlid: xlid, // 线路id
  46 + ttid: ttid, // 时刻表id
  47 + xlname: xlname, // 线路名称
  48 + ttname: ttname, // 时刻表名称
  49 + filename: undefined, // 上传后的文件名
  50 + sheetname: undefined, // sheet名字
  51 + sheetvaliddesc: undefined, // sheet验证描述返回
  52 + lineinfo: undefined, // 线路标准id
  53 + lineinfovaliddesc: undefined // 线路标准验证描述返回
  54 + };
  55 + self.sheetnames = [
  56 + //{name: '工作表1'}, {name: '工作表2'} // sheet名字列表
  57 + ];
  58 +
  59 + //--------------- 上传文件功能 ---------------//
  60 +
  61 + self.clearInputFile = function() {
  62 + angular.element("input[type='file']").val(null);
  63 + };
  64 + self.removeItem = function(item) {
  65 + item.remove();
  66 + self.ttInfoDetailManageForForm.sheetname = undefined;
  67 + self.sheetnames = [];
  68 + };
  69 +
  70 + // 上传文件组件
  71 + self.uploader = new FileUploader({
  72 + url: "/tidc/uploadFile",
  73 + filters: [], // 用于过滤文件,比如只允许导入excel,
  74 + formData: [
  75 + {
  76 + xlmc: self.xlmc,
  77 + ttinfoname: self.ttinfoname
  78 + }
  79 + ]
  80 + });
  81 + self.uploader.onAfterAddingFile = function(fileItem)
  82 + {
  83 + console.info('onAfterAddingFile', fileItem);
  84 + console.log(self.uploader.queue.length);
  85 + if (self.uploader.queue.length > 1)
  86 + self.uploader.removeFromQueue(0);
  87 + self.ttInfoDetailManageForForm.sheetname = undefined;
  88 + self.sheetnames = [];
  89 + };
  90 + self.uploader.onSuccessItem = function(fileItem, response, status, headers)
  91 + {
  92 + self.sheetnames = response.sheetnames;
  93 + self.ttInfoDetailManageForForm.filename = response.fileName;
  94 + console.info('onSuccessItem', fileItem, response, status, headers);
  95 + };
  96 + self.uploader.onErrorItem = function(fileItem, response, status, headers)
  97 + {
  98 + alert("error");
  99 + self.sheetnames = [];
  100 + console.info('onErrorItem', fileItem, response, status, headers);
  101 + };
  102 +
  103 +
  104 + // form提交方法
  105 + self.submit = function() {
  106 + service.importDetail(self.ttInfoDetailManageForForm).then(
  107 + function(result) {
  108 + $state.go("ttInfoManage");
  109 + },
  110 + function(result) {
  111 + alert("出错啦!");
  112 + }
  113 + );
  114 + };
  115 +
  116 +
  117 + // TODO:edit操作暂时使用旧版本的js文件
  118 +
  119 +
  120 + }
  121 + ]
122 ); 122 );
123 \ No newline at end of file 123 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/route.js
1 -// ui route 配置  
2 -  
3 -/** 时刻表编辑管理配置route */  
4 -ScheduleApp.config([  
5 - '$stateProvider',  
6 - '$urlRouterProvider',  
7 - function($stateProvider, $urlRouterProvider) {  
8 - // 默认路由  
9 - //$urlRouterProvider.otherwise('/busConfig.html');  
10 -  
11 - $stateProvider  
12 - .state("ttInfoDetailManage_form", { // 时刻表明细导入  
13 - url: '/ttInfoDetailManage_form/:xlid/:ttid/:xlname/:ttname',  
14 - views: {  
15 - "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/form.html'}  
16 - },  
17 - resolve: {  
18 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
19 - return $ocLazyLoad.load({  
20 - name: 'ttInfoDetailManage_form_module',  
21 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
22 - files: [  
23 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
24 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
25 - "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",  
26 - "pages/scheduleApp/module/core/ttInfoManage/detailedit/module.js"  
27 - ]  
28 - });  
29 - }]  
30 - }  
31 - })  
32 - .state("ttInfoDetailManage_edit", { // 时刻表详细信息编辑  
33 - url: '/ttInfoDetailManage_edit/:xlid/:ttid/:xlname/:ttname',  
34 - views: {  
35 - "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit.html'}  
36 - },  
37 - resolve: {  
38 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
39 - return $ocLazyLoad.load({  
40 - name: 'ttInfoDetailManage_edit_module',  
41 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
42 - files: [  
43 - "pages/scheduleApp/module/core/ttInfoManage/detailedit/timeTableDetailManage_old.js"  
44 - ]  
45 - });  
46 - }]  
47 - }  
48 - })  
49 - .state("ttInfoDetailManage_detail_edit", { // 时刻表详细信息单元格编辑  
50 - url: '/ttInfoDetailManage_detail_edit/:id/:xlid/:ttid/:xlname/:ttname',  
51 - views: {  
52 - "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail.html'}  
53 - },  
54 - resolve: {  
55 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
56 - return $ocLazyLoad.load({  
57 - name: 'ttInfoDetailManage_detail_edit_module',  
58 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
59 - files: [  
60 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
61 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
62 - "pages/scheduleApp/module/core/ttInfoManage/detailedit/timeTableDetailManage_old.js"  
63 - ]  
64 - });  
65 - }]  
66 - }  
67 - });  
68 -  
69 - } 1 +// ui route 配置
  2 +
  3 +/** 时刻表编辑管理配置route */
  4 +ScheduleApp.config([
  5 + '$stateProvider',
  6 + '$urlRouterProvider',
  7 + function($stateProvider, $urlRouterProvider) {
  8 + // 默认路由
  9 + //$urlRouterProvider.otherwise('/busConfig.html');
  10 +
  11 + $stateProvider
  12 + .state("ttInfoDetailManage_form", { // 时刻表明细导入
  13 + url: '/ttInfoDetailManage_form/:xlid/:ttid/:xlname/:ttname',
  14 + views: {
  15 + "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/form.html'}
  16 + },
  17 + resolve: {
  18 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  19 + return $ocLazyLoad.load({
  20 + name: 'ttInfoDetailManage_form_module',
  21 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  22 + files: [
  23 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  24 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  25 + "assets/bower_components/angular-file-upload/dist/angular-file-upload.min.js",
  26 + "pages/scheduleApp/module/core/ttInfoManage/detailedit/module.js"
  27 + ]
  28 + });
  29 + }]
  30 + }
  31 + })
  32 + .state("ttInfoDetailManage_edit", { // 时刻表详细信息编辑
  33 + url: '/ttInfoDetailManage_edit/:xlid/:ttid/:xlname/:ttname',
  34 + views: {
  35 + "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit.html'}
  36 + },
  37 + resolve: {
  38 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  39 + return $ocLazyLoad.load({
  40 + name: 'ttInfoDetailManage_edit_module',
  41 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  42 + files: [
  43 + "pages/scheduleApp/module/core/ttInfoManage/detailedit/timeTableDetailManage_old.js"
  44 + ]
  45 + });
  46 + }]
  47 + }
  48 + })
  49 + .state("ttInfoDetailManage_detail_edit", { // 时刻表详细信息单元格编辑
  50 + url: '/ttInfoDetailManage_detail_edit/:id/:xlid/:ttid/:xlname/:ttname',
  51 + views: {
  52 + "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detailedit/edit-detail.html'}
  53 + },
  54 + resolve: {
  55 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  56 + return $ocLazyLoad.load({
  57 + name: 'ttInfoDetailManage_detail_edit_module',
  58 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  59 + files: [
  60 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  61 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  62 + "pages/scheduleApp/module/core/ttInfoManage/detailedit/timeTableDetailManage_old.js"
  63 + ]
  64 + });
  65 + }]
  66 + }
  67 + });
  68 +
  69 + }
70 ]); 70 ]);
71 \ No newline at end of file 71 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/module.js
1 -// 时刻表管理service,包装外部定义的globalservice,并保存一定的操作状态  
2 -angular.module('ScheduleApp').factory(  
3 - 'TtInfoManageService',  
4 - [  
5 - 'TimeTableManageService_g',  
6 - 'TimeTableDetailManageService_g',  
7 - function(service, dservice) {  
8 - // 当前查询的内容条件搜索对象  
9 - var currentSearchCondition = {page: 0, 'isCancel_eq': false};  
10 - // 当前查询返回的信息  
11 - var currentPage = { // 后台spring data返回的格式  
12 - totalElements: 0,  
13 - number: 0, // 后台返回的页码,spring返回从0开始  
14 - content: [],  
15 -  
16 - uiNumber: 1 // 页面绑定的页码  
17 - };  
18 -  
19 - // 查询对象类  
20 - var queryClass = service.rest;  
21 -  
22 - return {  
23 - getTtInfoQueryClass: function() {  
24 - return queryClass;  
25 - },  
26 - getSearchCondition: function() {  
27 - currentSearchCondition.page = currentPage.uiNumber - 1;  
28 - return currentSearchCondition;  
29 - },  
30 - getPage: function(page) {  
31 - if (page) {  
32 - currentPage.totalElements = page.totalElements;  
33 - currentPage.number = page.number;  
34 - currentPage.content = page.content;  
35 - }  
36 - return currentPage;  
37 - },  
38 - resetStatus: function() {  
39 - currentSearchCondition = {page: 0, 'isCancel_eq': false};  
40 - currentPage = {  
41 - totalElements: 0,  
42 - number: 0,  
43 - content: [],  
44 - uiNumber: 1  
45 - };  
46 - },  
47 - /**  
48 - * 数据导出。  
49 - * @returns {*|Function|promise|n}  
50 - */  
51 - dataExport: function(ttinfoid) {  
52 - var param = {};  
53 - param.type = 'dataExportExt';  
54 - param.ttinfoid = ttinfoid;  
55 - return dservice.dataTools.dataExport(param).$promise;  
56 - }  
57 -  
58 -  
59 -  
60 - // TODO:  
61 - }  
62 - }  
63 - ]  
64 -);  
65 -  
66 -// index.html控制器  
67 -angular.module('ScheduleApp').controller(  
68 - 'TtInfoManageIndexCtrl',  
69 - [  
70 - '$state',  
71 - function($state) {  
72 - var self = this;  
73 -  
74 - // 切换到时刻表form界面  
75 - self.toTtInfoManageForm = function() {  
76 - $state.go('ttInfoManage_form');  
77 - }  
78 - }  
79 - ]  
80 -);  
81 -  
82 -// list.html控制器  
83 -angular.module('ScheduleApp').controller(  
84 - 'TtInfoManageListCtrl',  
85 - [  
86 - 'TtInfoManageService',  
87 - 'FileDownload_g',  
88 - function(service, fileDownload) {  
89 - var self = this;  
90 - var TtInfo = service.getTtInfoQueryClass();  
91 -  
92 - self.page = function() {  
93 - return service.getPage();  
94 - };  
95 -  
96 - self.searchCondition = function() {  
97 - return service.getSearchCondition();  
98 - };  
99 -  
100 - self.doPage = function() {  
101 - var page = TtInfo.list(self.searchCondition(), function() {  
102 - service.getPage(page);  
103 - });  
104 - };  
105 - self.reset = function() {  
106 - service.resetStatus();  
107 - var page = TtInfo.list(self.searchCondition(), function() {  
108 - service.getPage(page);  
109 - });  
110 - };  
111 - self.toggleTtinfo = function(id) {  
112 - TtInfo.delete({id: id}, function(result) {  
113 - if (result.message) { // 暂时这样做,之后全局拦截  
114 - alert("失败:" + result.message);  
115 - } else {  
116 - self.doPage();  
117 - }  
118 - });  
119 - };  
120 - // 导出excel  
121 - self.exportData = function(ttinfoid) {  
122 - service.dataExport(ttinfoid).then(  
123 - function(result) {  
124 - fileDownload.downloadFile(result.data, "application/octet-stream", "时刻表.xls");  
125 - },  
126 - function(result) {  
127 - console.log("exportData failed:" + result);  
128 - }  
129 - );  
130 - };  
131 -  
132 - self.doPage();  
133 -  
134 - // 自动生成时刻表  
135 - self.toTtInfoDetailAuto = function() {  
136 - showPjax();  
137 - $.pjax({url: 'pages/base/timesmodel/index.html', container: pjaxContainer});  
138 - };  
139 -  
140 - // TODO:  
141 - }  
142 - ]  
143 -);  
144 -  
145 -// form.html控制器  
146 -angular.module('ScheduleApp').controller(  
147 - 'TtInfoManageFormCtrl',  
148 - [  
149 - 'TtInfoManageService',  
150 - '$stateParams',  
151 - '$state',  
152 - function(service, $stateParams, $state) {  
153 - var self = this;  
154 - var TtInfo = service.getTtInfoQueryClass();  
155 -  
156 - // 启用日期 日期控件开关  
157 - self.qyrqOpen = false;  
158 - self.qyrq_open = function() {  
159 - self.qyrqOpen = true;  
160 - };  
161 -  
162 - // 欲保存的表单信息,双向绑定  
163 - self.ttInfoManageForForm = new TtInfo;  
164 - self.ttInfoManageForForm.xl = {};  
165 -  
166 - // 如果是修改,获取传过来的id,从后台获取一份数据,用于绑定页面form值  
167 - var id = $stateParams.id;  
168 - if (id) {  
169 - TtInfo.get({id: id}, function(value) {  
170 - self.ttInfoManageForForm = value;  
171 - });  
172 - }  
173 - // form提交方法  
174 - self.submit = function() {  
175 - self.ttInfoManageForForm.$save(function() {  
176 - $state.go("ttInfoManage");  
177 - });  
178 - };  
179 - }  
180 - ]  
181 -);  
182 -  
183 -// detail.html控制器  
184 -angular.module('ScheduleApp').controller(  
185 - 'TtInfoManageDetailCtrl',  
186 - [  
187 - 'TtInfoManageService',  
188 - '$stateParams',  
189 - function(service, $stateParams) {  
190 - var self = this;  
191 - var TtInfo = service.getTtInfoQueryClass();  
192 - var id = $stateParams.id;  
193 -  
194 - self.title = "";  
195 - self.ttInfoManageForDetail = {};  
196 -  
197 - TtInfo.get({id: id}, function(value) {  
198 - self.ttInfoManageForDetail = value;  
199 - self.title = self.ttInfoManageForDetail.xl.name +  
200 - "(" +  
201 - self.ttInfoManageForDetail.name +  
202 - ")" +  
203 - "时刻表基础信息";  
204 - });  
205 - }  
206 - ] 1 +// 时刻表管理service,包装外部定义的globalservice,并保存一定的操作状态
  2 +angular.module('ScheduleApp').factory(
  3 + 'TtInfoManageService',
  4 + [
  5 + 'TimeTableManageService_g',
  6 + 'TimeTableDetailManageService_g',
  7 + function(service, dservice) {
  8 + // 当前查询的内容条件搜索对象
  9 + var currentSearchCondition = {page: 0, 'isCancel_eq': false};
  10 + // 当前查询返回的信息
  11 + var currentPage = { // 后台spring data返回的格式
  12 + totalElements: 0,
  13 + number: 0, // 后台返回的页码,spring返回从0开始
  14 + content: [],
  15 +
  16 + uiNumber: 1 // 页面绑定的页码
  17 + };
  18 +
  19 + // 查询对象类
  20 + var queryClass = service.rest;
  21 +
  22 + return {
  23 + getTtInfoQueryClass: function() {
  24 + return queryClass;
  25 + },
  26 + getSearchCondition: function() {
  27 + currentSearchCondition.page = currentPage.uiNumber - 1;
  28 + return currentSearchCondition;
  29 + },
  30 + getPage: function(page) {
  31 + if (page) {
  32 + currentPage.totalElements = page.totalElements;
  33 + currentPage.number = page.number;
  34 + currentPage.content = page.content;
  35 + }
  36 + return currentPage;
  37 + },
  38 + resetStatus: function() {
  39 + currentSearchCondition = {page: 0, 'isCancel_eq': false};
  40 + currentPage = {
  41 + totalElements: 0,
  42 + number: 0,
  43 + content: [],
  44 + uiNumber: 1
  45 + };
  46 + },
  47 + /**
  48 + * 数据导出。
  49 + * @returns {*|Function|promise|n}
  50 + */
  51 + dataExport: function(ttinfoid) {
  52 + var param = {};
  53 + param.type = 'dataExportExt';
  54 + param.ttinfoid = ttinfoid;
  55 + return dservice.dataTools.dataExport(param).$promise;
  56 + }
  57 +
  58 +
  59 +
  60 + // TODO:
  61 + }
  62 + }
  63 + ]
  64 +);
  65 +
  66 +// index.html控制器
  67 +angular.module('ScheduleApp').controller(
  68 + 'TtInfoManageIndexCtrl',
  69 + [
  70 + '$state',
  71 + function($state) {
  72 + var self = this;
  73 +
  74 + // 切换到时刻表form界面
  75 + self.toTtInfoManageForm = function() {
  76 + $state.go('ttInfoManage_form');
  77 + }
  78 + }
  79 + ]
  80 +);
  81 +
  82 +// list.html控制器
  83 +angular.module('ScheduleApp').controller(
  84 + 'TtInfoManageListCtrl',
  85 + [
  86 + 'TtInfoManageService',
  87 + 'FileDownload_g',
  88 + function(service, fileDownload) {
  89 + var self = this;
  90 + var TtInfo = service.getTtInfoQueryClass();
  91 +
  92 + self.page = function() {
  93 + return service.getPage();
  94 + };
  95 +
  96 + self.searchCondition = function() {
  97 + return service.getSearchCondition();
  98 + };
  99 +
  100 + self.doPage = function() {
  101 + var page = TtInfo.list(self.searchCondition(), function() {
  102 + service.getPage(page);
  103 + });
  104 + };
  105 + self.reset = function() {
  106 + service.resetStatus();
  107 + var page = TtInfo.list(self.searchCondition(), function() {
  108 + service.getPage(page);
  109 + });
  110 + };
  111 + self.toggleTtinfo = function(id) {
  112 + TtInfo.delete({id: id}, function(result) {
  113 + if (result.message) { // 暂时这样做,之后全局拦截
  114 + alert("失败:" + result.message);
  115 + } else {
  116 + self.doPage();
  117 + }
  118 + });
  119 + };
  120 + // 导出excel
  121 + self.exportData = function(ttinfoid) {
  122 + service.dataExport(ttinfoid).then(
  123 + function(result) {
  124 + fileDownload.downloadFile(result.data, "application/octet-stream", "时刻表.xls");
  125 + },
  126 + function(result) {
  127 + console.log("exportData failed:" + result);
  128 + }
  129 + );
  130 + };
  131 +
  132 + self.doPage();
  133 +
  134 + // 自动生成时刻表
  135 + self.toTtInfoDetailAuto = function() {
  136 + showPjax();
  137 + $.pjax({url: 'pages/base/timesmodel/index.html', container: pjaxContainer});
  138 + };
  139 +
  140 + // TODO:
  141 + }
  142 + ]
  143 +);
  144 +
  145 +// form.html控制器
  146 +angular.module('ScheduleApp').controller(
  147 + 'TtInfoManageFormCtrl',
  148 + [
  149 + 'TtInfoManageService',
  150 + '$stateParams',
  151 + '$state',
  152 + function(service, $stateParams, $state) {
  153 + var self = this;
  154 + var TtInfo = service.getTtInfoQueryClass();
  155 +
  156 + // 启用日期 日期控件开关
  157 + self.qyrqOpen = false;
  158 + self.qyrq_open = function() {
  159 + self.qyrqOpen = true;
  160 + };
  161 +
  162 + // 欲保存的表单信息,双向绑定
  163 + self.ttInfoManageForForm = new TtInfo;
  164 + self.ttInfoManageForForm.xl = {};
  165 +
  166 + // 如果是修改,获取传过来的id,从后台获取一份数据,用于绑定页面form值
  167 + var id = $stateParams.id;
  168 + if (id) {
  169 + TtInfo.get({id: id}, function(value) {
  170 + self.ttInfoManageForForm = value;
  171 + });
  172 + }
  173 + // form提交方法
  174 + self.submit = function() {
  175 + self.ttInfoManageForForm.$save(function() {
  176 + $state.go("ttInfoManage");
  177 + });
  178 + };
  179 + }
  180 + ]
  181 +);
  182 +
  183 +// detail.html控制器
  184 +angular.module('ScheduleApp').controller(
  185 + 'TtInfoManageDetailCtrl',
  186 + [
  187 + 'TtInfoManageService',
  188 + '$stateParams',
  189 + function(service, $stateParams) {
  190 + var self = this;
  191 + var TtInfo = service.getTtInfoQueryClass();
  192 + var id = $stateParams.id;
  193 +
  194 + self.title = "";
  195 + self.ttInfoManageForDetail = {};
  196 +
  197 + TtInfo.get({id: id}, function(value) {
  198 + self.ttInfoManageForDetail = value;
  199 + self.title = self.ttInfoManageForDetail.xl.name +
  200 + "(" +
  201 + self.ttInfoManageForDetail.name +
  202 + ")" +
  203 + "时刻表基础信息";
  204 + });
  205 + }
  206 + ]
207 ); 207 );
208 \ No newline at end of file 208 \ No newline at end of file
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/route.js
1 -// ui route 配置  
2 -  
3 -/** 时刻表管理配置route */  
4 -ScheduleApp.config([  
5 - '$stateProvider',  
6 - '$urlRouterProvider',  
7 - function($stateProvider, $urlRouterProvider) {  
8 - // 默认路由  
9 - //$urlRouterProvider.otherwise('/busConfig.html');  
10 -  
11 - $stateProvider  
12 - .state("ttInfoManage", { // index页面  
13 - url: '/ttInfoManage',  
14 - views: {  
15 - "": {  
16 - templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/index.html'  
17 - },  
18 - "ttInfoManage_list@ttInfoManage": {  
19 - templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/list.html'  
20 - }  
21 - },  
22 -  
23 - resolve: {  
24 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
25 - return $ocLazyLoad.load({  
26 - name: 'ttInfoManage_module',  
27 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
28 - files: [  
29 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
30 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
31 - "pages/scheduleApp/module/core/ttInfoManage/module.js"  
32 - ]  
33 - });  
34 - }]  
35 - }  
36 - })  
37 - .state("ttInfoManage_form", { // 添加时刻表信息form  
38 - url: '/ttInfoManage_form',  
39 - views: {  
40 - "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/form.html'}  
41 - },  
42 - resolve: {  
43 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
44 - return $ocLazyLoad.load({  
45 - name: 'ttInfoManage_form_module',  
46 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
47 - files: [  
48 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
49 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
50 - "pages/scheduleApp/module/core/ttInfoManage/module.js"  
51 - ]  
52 - });  
53 - }]  
54 - }  
55 - })  
56 - .state("ttInfoManage_edit", { // 修改时刻表信息form  
57 - url: '/ttInfoManage_edit/:id',  
58 - views: {  
59 - "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/edit.html'}  
60 - },  
61 - resolve: {  
62 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
63 - return $ocLazyLoad.load({  
64 - name: 'ttInfoManage_edit_module',  
65 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
66 - files: [  
67 - "assets/bower_components/angular-ui-select/dist/select.min.css",  
68 - "assets/bower_components/angular-ui-select/dist/select.min.js",  
69 - "pages/scheduleApp/module/core/ttInfoManage/module.js"  
70 - ]  
71 - });  
72 - }]  
73 - }  
74 - })  
75 - .state("ttInfoManage_detail", { // 时刻表详细信息  
76 - url: '/ttInfoManage_detail/:id',  
77 - views: {  
78 - "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detail.html'}  
79 - },  
80 - resolve: {  
81 - deps: ['$ocLazyLoad', function($ocLazyLoad) {  
82 - return $ocLazyLoad.load({  
83 - name: 'ttInfoManage_detail_module',  
84 - insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置  
85 - files: [  
86 - "pages/scheduleApp/module/core/ttInfoManage/module.js"  
87 - ]  
88 - });  
89 - }]  
90 - }  
91 - });  
92 -  
93 -  
94 - } 1 +// ui route 配置
  2 +
  3 +/** 时刻表管理配置route */
  4 +ScheduleApp.config([
  5 + '$stateProvider',
  6 + '$urlRouterProvider',
  7 + function($stateProvider, $urlRouterProvider) {
  8 + // 默认路由
  9 + //$urlRouterProvider.otherwise('/busConfig.html');
  10 +
  11 + $stateProvider
  12 + .state("ttInfoManage", { // index页面
  13 + url: '/ttInfoManage',
  14 + views: {
  15 + "": {
  16 + templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/index.html'
  17 + },
  18 + "ttInfoManage_list@ttInfoManage": {
  19 + templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/list.html'
  20 + }
  21 + },
  22 +
  23 + resolve: {
  24 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  25 + return $ocLazyLoad.load({
  26 + name: 'ttInfoManage_module',
  27 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  28 + files: [
  29 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  30 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  31 + "pages/scheduleApp/module/core/ttInfoManage/module.js"
  32 + ]
  33 + });
  34 + }]
  35 + }
  36 + })
  37 + .state("ttInfoManage_form", { // 添加时刻表信息form
  38 + url: '/ttInfoManage_form',
  39 + views: {
  40 + "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/form.html'}
  41 + },
  42 + resolve: {
  43 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  44 + return $ocLazyLoad.load({
  45 + name: 'ttInfoManage_form_module',
  46 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  47 + files: [
  48 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  49 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  50 + "pages/scheduleApp/module/core/ttInfoManage/module.js"
  51 + ]
  52 + });
  53 + }]
  54 + }
  55 + })
  56 + .state("ttInfoManage_edit", { // 修改时刻表信息form
  57 + url: '/ttInfoManage_edit/:id',
  58 + views: {
  59 + "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/edit.html'}
  60 + },
  61 + resolve: {
  62 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  63 + return $ocLazyLoad.load({
  64 + name: 'ttInfoManage_edit_module',
  65 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  66 + files: [
  67 + "assets/bower_components/angular-ui-select/dist/select.min.css",
  68 + "assets/bower_components/angular-ui-select/dist/select.min.js",
  69 + "pages/scheduleApp/module/core/ttInfoManage/module.js"
  70 + ]
  71 + });
  72 + }]
  73 + }
  74 + })
  75 + .state("ttInfoManage_detail", { // 时刻表详细信息
  76 + url: '/ttInfoManage_detail/:id',
  77 + views: {
  78 + "": {templateUrl: 'pages/scheduleApp/module/core/ttInfoManage/detail.html'}
  79 + },
  80 + resolve: {
  81 + deps: ['$ocLazyLoad', function($ocLazyLoad) {
  82 + return $ocLazyLoad.load({
  83 + name: 'ttInfoManage_detail_module',
  84 + insertBefore: '#ng_load_plugins_before', // 动态载入模块时放置的位置
  85 + files: [
  86 + "pages/scheduleApp/module/core/ttInfoManage/module.js"
  87 + ]
  88 + });
  89 + }]
  90 + }
  91 + });
  92 +
  93 +
  94 + }
95 ]); 95 ]);
96 \ No newline at end of file 96 \ No newline at end of file
src/main/resources/static/real_control_v2/fragments/north/tabs.html
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 <script id="north-tabs-temp" type="text/html"> 2 <script id="north-tabs-temp" type="text/html">
3 <ul class="uk-tab" data-uk-tab="{connect:'#main-tab-content'}"> 3 <ul class="uk-tab" data-uk-tab="{connect:'#main-tab-content'}">
4 <li class="uk-active" ><a>主页</a></li> 4 <li class="uk-active" ><a>主页</a></li>
5 - <li class=""><a>地图</a></li> 5 + <li id="north_tabs_map_btn"><a>地图</a></li>
6 {{each list as line i}} 6 {{each list as line i}}
7 <li class="tab-line"><a>{{line.name}}(<span id="badge_untreated_num_{{line.lineCode}}">0</span>, <span id="badge_yfwf_num_{{line.lineCode}}">0</span>)</a></li> 7 <li class="tab-line"><a>{{line.name}}(<span id="badge_untreated_num_{{line.lineCode}}">0</span>, <span id="badge_yfwf_num_{{line.lineCode}}">0</span>)</a></li>
8 {{/each}} 8 {{/each}}
@@ -12,9 +12,9 @@ @@ -12,9 +12,9 @@
12 <script id="north-tab-content-temp" type="text/html"> 12 <script id="north-tab-content-temp" type="text/html">
13 <ul id="main-tab-content" class="uk-switcher uk-margin "> 13 <ul id="main-tab-content" class="uk-switcher uk-margin ">
14 <li class="uk-active home-panel">主页</li> 14 <li class="uk-active home-panel">主页</li>
15 - <li class="map-panel">地图</li> 15 + <li class="map-panel">地图未渲染</li>
16 {{each list as line i}} 16 {{each list as line i}}
17 - <li class="line_schedule" data-id="{{line.lineCode}}">{{line.name}}</li> 17 + <li class="line_schedule" data-id="{{line.lineCode}}">{{line.name}} 未渲染</li>
18 {{/each}} 18 {{/each}}
19 </ul> 19 </ul>
20 </script> 20 </script>
src/main/resources/static/real_control_v2/js/common.js
1 -var gb_common = (function() { 1 +var gb_common = (function () {
2 2
3 - var reqCode80 = {0xA1: '请求恢复运营', 0xA2: '申请调档', 0xA3: '出场请求', 0xA5: '进场请求', 0xA7: '加油请求', 0x50: '车辆故障', 0x70: '路阻报告', 0x60: '事故报告', 0x11: '扣证纠纷', 0x12 : '报警'}; 3 + var reqCode80 = {
  4 + 0xA1: '请求恢复运营',
  5 + 0xA2: '申请调档',
  6 + 0xA3: '出场请求',
  7 + 0xA5: '进场请求',
  8 + 0xA7: '加油请求',
  9 + 0x50: '车辆故障',
  10 + 0x70: '路阻报告',
  11 + 0x60: '事故报告',
  12 + 0x11: '扣证纠纷',
  13 + 0x12: '报警'
  14 + };
4 15
5 - var groupBy = function(list, field) { 16 + var groupBy = function (list, field) {
6 var rs = {}, 17 var rs = {},
7 key; 18 key;
8 - $.each(list, function() { 19 + $.each(list, function () {
9 key = this[field]; 20 key = this[field];
10 if (!rs[key]) 21 if (!rs[key])
11 rs[key] = []; 22 rs[key] = [];
@@ -16,10 +27,10 @@ var gb_common = (function() { @@ -16,10 +27,10 @@ var gb_common = (function() {
16 return rs; 27 return rs;
17 } 28 }
18 29
19 - var compileTempByDom = function(dom, opts) { 30 + var compileTempByDom = function (dom, opts) {
20 var tps = {}, 31 var tps = {},
21 id; 32 id;
22 - $('script[type="text/html"]', dom).each(function() { 33 + $('script[type="text/html"]', dom).each(function () {
23 id = $(this).attr('id'); 34 id = $(this).attr('id');
24 if (id) 35 if (id)
25 tps[id] = template.compile($(this).html(), opts); 36 tps[id] = template.compile($(this).html(), opts);
@@ -27,46 +38,47 @@ var gb_common = (function() { @@ -27,46 +38,47 @@ var gb_common = (function() {
27 return tps; 38 return tps;
28 } 39 }
29 40
30 - var $get = function(url, data, successFun) { 41 + var $get = function (url, data, successFun) {
31 $.ajax({ 42 $.ajax({
32 url: url, 43 url: url,
33 data: data, 44 data: data,
34 - complete: function(xhr, ts) { 45 + complete: function (xhr, ts) {
35 ajaxComplete(xhr, ts, successFun); 46 ajaxComplete(xhr, ts, successFun);
36 } 47 }
37 }); 48 });
38 } 49 }
39 50
40 - var $post = function(url, data, successFun) { 51 + var $post = function (url, data, successFun) {
41 $.ajax({ 52 $.ajax({
42 url: url, 53 url: url,
43 method: 'POST', 54 method: 'POST',
44 data: data, 55 data: data,
45 - complete: function(xhr, ts) { 56 + complete: function (xhr, ts) {
46 ajaxComplete(xhr, ts, successFun); 57 ajaxComplete(xhr, ts, successFun);
47 } 58 }
48 }); 59 });
49 } 60 }
50 61
51 - var $post_arr = function(url, data, successFun) { 62 + var $post_arr = function (url, data, successFun) {
52 $.ajax({ 63 $.ajax({
53 url: url, 64 url: url,
54 method: 'POST', 65 method: 'POST',
55 traditional: true, 66 traditional: true,
56 data: data, 67 data: data,
57 - complete: function(xhr, ts) { 68 + complete: function (xhr, ts) {
58 ajaxComplete(xhr, ts, successFun); 69 ajaxComplete(xhr, ts, successFun);
59 } 70 }
60 }); 71 });
61 } 72 }
62 73
63 - var $del = function(url, successFun){  
64 - $post(url, {'_method': 'delete'},function(rs){  
65 - successFun && successFun(rs);  
66 - }); 74 + var $del = function (url, successFun) {
  75 + $post(url, {'_method': 'delete'}, function (rs) {
  76 + successFun && successFun(rs);
  77 + });
67 } 78 }
68 79
69 - var errorHead='<span style="color:red;">服务器出现异常:</span>'; 80 + var errorHead = '<span style="color:red;">服务器出现异常:</span>';
  81 +
70 function successHandle(json, handle) { 82 function successHandle(json, handle) {
71 var status = json.status; 83 var status = json.status;
72 if (status == 407) { 84 if (status == 407) {
@@ -81,7 +93,7 @@ var gb_common = (function() { @@ -81,7 +93,7 @@ var gb_common = (function() {
81 } 93 }
82 94
83 if (status == 'ERROR') 95 if (status == 'ERROR')
84 - UIkit.modal.alert(errorHead+ (json.msg ? json.msg : '未知异常'), {labels:{Ok: '确定'}}); 96 + UIkit.modal.alert(errorHead + (json.msg ? json.msg : '未知异常'), {labels: {Ok: '确定'}});
85 else 97 else
86 handle && handle(json); 98 handle && handle(json);
87 } 99 }
@@ -90,11 +102,11 @@ var gb_common = (function() { @@ -90,11 +102,11 @@ var gb_common = (function() {
90 if (ts == 'success') { 102 if (ts == 'success') {
91 successHandle(JSON.parse(xhr.responseText), succ); 103 successHandle(JSON.parse(xhr.responseText), succ);
92 } else if (ts == 'error') { 104 } else if (ts == 'error') {
93 - UIkit.modal.alert(errorHead + xhr.responseText, {labels:{Ok: '确定'}}); 105 + UIkit.modal.alert(errorHead + xhr.responseText, {labels: {Ok: '确定'}});
94 } 106 }
95 } 107 }
96 108
97 - var get_vals = function(json) { 109 + var get_vals = function (json) {
98 var array = []; 110 var array = [];
99 for (var key in json) { 111 for (var key in json) {
100 array.push(json[key]); 112 array.push(json[key]);
@@ -103,7 +115,7 @@ var gb_common = (function() { @@ -103,7 +115,7 @@ var gb_common = (function() {
103 return array; 115 return array;
104 } 116 }
105 117
106 - var get_keys = function(json) { 118 + var get_keys = function (json) {
107 var array = []; 119 var array = [];
108 for (var key in json) { 120 for (var key in json) {
109 array.push(key); 121 array.push(key);
@@ -111,29 +123,34 @@ var gb_common = (function() { @@ -111,29 +123,34 @@ var gb_common = (function() {
111 return array; 123 return array;
112 } 124 }
113 125
114 - var get_device_tree_data = function() { 126 + var get_device_tree_data = function (allGps, idBefore) {
  127 + if(!idBefore)
  128 + idBefore='';
115 var treeData = []; 129 var treeData = [];
116 - var data = groupBy(get_vals(gb_data_gps.allGps), 'lineId'); 130 + //var data = groupBy(get_vals(gb_data_gps.allGps), 'lineId');
  131 + var data = groupBy(get_vals(allGps), 'lineId');
117 var name; 132 var name;
118 for (var code in data) { 133 for (var code in data) {
119 name = gb_data_basic.codeToLine[code].name; 134 name = gb_data_basic.codeToLine[code].name;
120 data[name] = groupBy(data[code], 'upDown'); 135 data[name] = groupBy(data[code], 'upDown');
121 treeData.push({ 136 treeData.push({
122 'text': name, 137 'text': name,
123 - 'a_attr':{'type': 'line'}, 138 + 'a_attr': {'type': 'line', 'id': idBefore+'line_'+code},
124 'children': [{ 139 'children': [{
125 'text': '上行', 140 'text': '上行',
126 'children': grabs(data[name][0]), 141 'children': grabs(data[name][0]),
127 'a_attr': { 142 'a_attr': {
128 - 'type': 'route',  
129 - 'route': code+'_0' 143 + 'type': 'route',
  144 + 'route': code + '_0',
  145 + 'id': idBefore+'route_' + code + '_0'
130 } 146 }
131 }, { 147 }, {
132 'text': '下行', 148 'text': '下行',
133 'children': grabs(data[name][1]), 149 'children': grabs(data[name][1]),
134 'a_attr': { 150 'a_attr': {
135 - 'type': 'route',  
136 - 'route': code+'_1' 151 + 'type': 'route',
  152 + 'route': code + '_1',
  153 + 'id': idBefore+'route_' + code + '_1'
137 } 154 }
138 }] 155 }]
139 }); 156 });
@@ -143,7 +160,7 @@ var gb_common = (function() { @@ -143,7 +160,7 @@ var gb_common = (function() {
143 if (!array) 160 if (!array)
144 return; 161 return;
145 var rs = []; 162 var rs = [];
146 - $.each(array, function() { 163 + $.each(array, function () {
147 rs.push({ 164 rs.push({
148 'text': this.nbbm, 165 'text': this.nbbm,
149 'a_attr': { 166 'a_attr': {
@@ -160,7 +177,7 @@ var gb_common = (function() { @@ -160,7 +177,7 @@ var gb_common = (function() {
160 return treeData; 177 return treeData;
161 }; 178 };
162 179
163 - var lineAutocomplete = function(element) { 180 + var lineAutocomplete = function (element) {
164 //construction data 181 //construction data
165 var data = [], 182 var data = [],
166 code2Name = gb_data_basic.lineCode2NameAll(), 183 code2Name = gb_data_basic.lineCode2NameAll(),
@@ -177,42 +194,42 @@ var gb_common = (function() { @@ -177,42 +194,42 @@ var gb_common = (function() {
177 init_autocom_pinyin(element, data); 194 init_autocom_pinyin(element, data);
178 }; 195 };
179 196
180 - var personAutocomplete = function(element, personMaps) { 197 + var personAutocomplete = function (element, personMaps) {
181 /*var data = [],name; 198 /*var data = [],name;
182 - for(var jobCode in personMaps){  
183 - name=personMaps[jobCode];  
184 - data.push({  
185 - value: jobCode+'/'+name,  
186 - fullChars: pinyin.getFullChars(name).toUpperCase(),  
187 - camelChars: pinyin.getCamelChars(name)  
188 - });  
189 - }*/ 199 + for(var jobCode in personMaps){
  200 + name=personMaps[jobCode];
  201 + data.push({
  202 + value: jobCode+'/'+name,
  203 + fullChars: pinyin.getFullChars(name).toUpperCase(),
  204 + camelChars: pinyin.getCamelChars(name)
  205 + });
  206 + }*/
190 //init_autocom_pinyin(element, data); 207 //init_autocom_pinyin(element, data);
191 init_autocom_pinyin(element, gb_data_basic.allPersonnel()); 208 init_autocom_pinyin(element, gb_data_basic.allPersonnel());
192 }; 209 };
193 210
194 - var carAutocomplete=function(element, list){  
195 - var data = [];  
196 - $.each(list, function(){  
197 - data.push({value: this});  
198 - });  
199 - init_autocomplete(element, data); 211 + var carAutocomplete = function (element, list) {
  212 + var data = [];
  213 + $.each(list, function () {
  214 + data.push({value: this});
  215 + });
  216 + init_autocomplete(element, data);
200 } 217 }
201 218
202 - var init_autocom_pinyin=function(element, data){ 219 + var init_autocom_pinyin = function (element, data) {
203 // init autocomplete 220 // init autocomplete
204 var autocomplete = UIkit.autocomplete(element, { 221 var autocomplete = UIkit.autocomplete(element, {
205 minLength: 1, 222 minLength: 1,
206 delay: 50, 223 delay: 50,
207 - source: function(release) { 224 + source: function (release) {
208 var q = $('input', element).val().toUpperCase(), 225 var q = $('input', element).val().toUpperCase(),
209 rs = [], 226 rs = [],
210 count = 0; 227 count = 0;
211 228
212 - $.each(data, function() {  
213 - if (this.value.indexOf(q) != -1 || this.fullChars.indexOf(q) != -1 || this.camelChars.indexOf(q) != -1){  
214 - rs.push(this);  
215 - count++; 229 + $.each(data, function () {
  230 + if (this.value.indexOf(q) != -1 || this.fullChars.indexOf(q) != -1 || this.camelChars.indexOf(q) != -1) {
  231 + rs.push(this);
  232 + count++;
216 } 233 }
217 234
218 if (count >= 10) 235 if (count >= 10)
@@ -224,26 +241,26 @@ var gb_common = (function() { @@ -224,26 +241,26 @@ var gb_common = (function() {
224 }); 241 });
225 } 242 }
226 243
227 - var init_autocomplete=function(element, data){  
228 - var autocomplete = UIkit.autocomplete(element, {  
229 - minLength: 1,  
230 - delay: 50,  
231 - source: function(release) {  
232 - var q = $('input', element).val().toUpperCase(),  
233 - rs = [],  
234 - count = 0;  
235 -  
236 - $.each(data, function() {  
237 - if (this.value.indexOf(q) != -1){  
238 - rs.push(this);  
239 - count++;  
240 - }  
241 - if (count >= 10)  
242 - return false;  
243 - });  
244 - release && release(rs);  
245 - }  
246 - }); 244 + var init_autocomplete = function (element, data) {
  245 + var autocomplete = UIkit.autocomplete(element, {
  246 + minLength: 1,
  247 + delay: 50,
  248 + source: function (release) {
  249 + var q = $('input', element).val().toUpperCase(),
  250 + rs = [],
  251 + count = 0;
  252 +
  253 + $.each(data, function () {
  254 + if (this.value.indexOf(q) != -1) {
  255 + rs.push(this);
  256 + count++;
  257 + }
  258 + if (count >= 10)
  259 + return false;
  260 + });
  261 + release && release(rs);
  262 + }
  263 + });
247 } 264 }
248 265
249 // function whichTransitionEvent() { 266 // function whichTransitionEvent() {
src/main/resources/static/real_control_v2/js/data/data_gps.js
@@ -12,7 +12,7 @@ var gb_data_gps = (function() { @@ -12,7 +12,7 @@ var gb_data_gps = (function() {
12 var registerCallback = function(cb) { 12 var registerCallback = function(cb) {
13 if (cb) 13 if (cb)
14 refreshEventCallbacks.push(cb); 14 refreshEventCallbacks.push(cb);
15 - } 15 + };
16 16
17 var refresh = function(cb) { 17 var refresh = function(cb) {
18 $.get('/gps/real/line', { 18 $.get('/gps/real/line', {
src/main/resources/static/real_control_v2/js/home/context_menu.js
@@ -68,7 +68,7 @@ var gb_home_context_menu = (function() { @@ -68,7 +68,7 @@ var gb_home_context_menu = (function() {
68 // show modal 68 // show modal
69 var elem = show_modal(modal, dom); 69 var elem = show_modal(modal, dom);
70 //create tree 70 //create tree
71 - var treeData = gb_common.get_device_tree_data(); 71 + var treeData = gb_common.get_device_tree_data(gb_data_gps.allGps);
72 var treeObj = $('.device-tree', modal).jstree({ 72 var treeObj = $('.device-tree', modal).jstree({
73 'core': { 73 'core': {
74 'data': treeData 74 'data': treeData
src/main/resources/static/real_control_v2/js/north/tabs.js
@@ -17,9 +17,16 @@ var gb_tabs = (function() { @@ -17,9 +17,16 @@ var gb_tabs = (function() {
17 $('.north-tabs').html(tabHtmlStr); 17 $('.north-tabs').html(tabHtmlStr);
18 $('.main-container').html(tabContentHtmlStr); 18 $('.main-container').html(tabContentHtmlStr);
19 19
  20 + //地图选项卡初始点击
  21 + $('#north_tabs_map_btn').one('click', function () {
  22 + if(typeof(gb_map_overlay_mge)!="undefined"){
  23 + gb_map_overlay_mge.centerToRational();
  24 + }
  25 + });
  26 +
20 cb && cb(); 27 cb && cb();
21 }); 28 });
22 - } 29 + };
23 30
24 //文件载入完毕 31 //文件载入完毕
25 res_load_ep.emitLater('load_tab'); 32 res_load_ep.emitLater('load_tab');
src/main/resources/static/real_control_v2/mapmonitor/css/real.css
@@ -8,13 +8,61 @@ @@ -8,13 +8,61 @@
8 top: 20px; 8 top: 20px;
9 background: red; 9 background: red;
10 color: white; 10 color: white;
11 - padding: 7px;  
12 - left: calc(50% - 250px); 11 + padding: 7px 25px 7px 7px;
  12 + right: calc(50% - 250px);
13 border-radius: 5px; 13 border-radius: 5px;
14 font-size: 20px; 14 font-size: 20px;
15 cursor: pointer; 15 cursor: pointer;
16 } 16 }
17 17
  18 +.map-system-msg.flex-left a{
  19 + transition: all .3s ease;
  20 + right: 325px;
  21 + width: 45px;
  22 + height: 10px;
  23 + overflow: hidden;
  24 + left: auto;
  25 + top: 3px;
  26 + box-shadow: none;
  27 + border-radius: 5px 0 0 5px;
  28 + border: 1px solid #dedede;
  29 + border-right: none;
  30 +}
  31 +
  32 +.map-system-msg.flex-left a:before{
  33 + content: '老版本地图';
  34 + position: absolute;
  35 + width: 100%;
  36 + z-index: 2;
  37 + height: 100%;
  38 + background: #ffffff;
  39 + top: 0;
  40 + left: 0;
  41 + text-align: center;
  42 + font-size: 12px;
  43 + line-height: 24px;
  44 + color: #969696;
  45 +}
  46 +
  47 +.map-system-msg a:hover{
  48 + text-decoration: none;
  49 +}
  50 +
  51 +.map-system-msg i.uk-icon-close{
  52 + position: absolute;
  53 + top: 10px;
  54 + right: 6px;
  55 + font-size: 12px;
  56 + color: #ff0000;
  57 + background: #fcf6f6;
  58 + padding: 1px 2px;
  59 + border-radius: 10px;
  60 +}
  61 +
  62 +.map-system-msg i.uk-icon-close:hover{
  63 + color: #a75c5c;
  64 +}
  65 +
18 #real_map_container{ 66 #real_map_container{
19 width: 100%; 67 width: 100%;
20 height: 100%; 68 height: 100%;
@@ -41,7 +89,7 @@ @@ -41,7 +89,7 @@
41 89
42 /**/ 90 /**/
43 .real_bottom_panel{ 91 .real_bottom_panel{
44 - position: absolute !important; 92 +/* position: absolute !important;
45 height: 180px; 93 height: 180px;
46 width: 100%; 94 width: 100%;
47 width: calc(100% - 342px); 95 width: calc(100% - 342px);
@@ -49,8 +97,17 @@ @@ -49,8 +97,17 @@
49 left: 0px !important; 97 left: 0px !important;
50 background: #fff; 98 background: #fff;
51 box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); 99 box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
52 - /* border-radius: 0 60px 0 0;*/ 100 + border: 1px solid #bfbcbc;*/
  101 +
  102 + position: absolute !important;
  103 + height: 180px;
  104 + bottom: 2px !important;
  105 + background: #fff;
  106 + box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
53 border: 1px solid #bfbcbc; 107 border: 1px solid #bfbcbc;
  108 + width: 240px;
  109 + right: 327px;
  110 + padding-left: 20px;
54 } 111 }
55 112
56 113
@@ -90,8 +147,8 @@ @@ -90,8 +147,8 @@
90 */ 147 */
91 .real_bottom_panel #handle{ 148 .real_bottom_panel #handle{
92 width: 100%; 149 width: 100%;
93 - height: 4px;  
94 - top: -4px; 150 + height: 3px;
  151 + top: -3px;
95 background-color: rgba(136, 137, 138, 0.49); 152 background-color: rgba(136, 137, 138, 0.49);
96 cursor: row-resize; 153 cursor: row-resize;
97 } 154 }
@@ -105,13 +162,22 @@ @@ -105,13 +162,22 @@
105 } 162 }
106 163
107 .real_bottom_panel .real_br_cont{ 164 .real_bottom_panel .real_br_cont{
108 - display: inline-block; 165 +/* display: inline-block;
109 width: 232px; 166 width: 232px;
110 height: 100%; 167 height: 100%;
111 height: calc(100% - 7px); 168 height: calc(100% - 7px);
112 overflow: auto; 169 overflow: auto;
113 padding-top: 7px; 170 padding-top: 7px;
114 font-size: 13px; 171 font-size: 13px;
  172 + position: relative;*/
  173 +
  174 + display: inline-block;
  175 + width: 100%;
  176 + height: 100%;
  177 + height: calc(100% - 7px);
  178 + overflow: auto;
  179 + padding-top: 7px;
  180 + font-size: 13px;
115 position: relative; 181 position: relative;
116 } 182 }
117 183
src/main/resources/static/real_control_v2/mapmonitor/fragments/map_infowindow.html
@@ -27,13 +27,6 @@ @@ -27,13 +27,6 @@
27 <script id="map-win-station-detail-temp" type="text/html"> 27 <script id="map-win-station-detail-temp" type="text/html">
28 <div class="gps_info_win"> 28 <div class="gps_info_win">
29 <h4>{{stationName}}</h4> 29 <h4>{{stationName}}</h4>
30 - <p>方向:  
31 - {{if directions==0}}  
32 - 上行  
33 - {{else if directions==1}}  
34 - 下行  
35 - {{/if}}  
36 - </p>  
37 <p>站点编码: {{stationCode}}</p> 30 <p>站点编码: {{stationCode}}</p>
38 <p>站点类型: 31 <p>站点类型:
39 {{if stationMark=='B'}} 32 {{if stationMark=='B'}}
src/main/resources/static/real_control_v2/mapmonitor/js/config.js
@@ -14,8 +14,8 @@ var gb_map_config = (function () { @@ -14,8 +14,8 @@ var gb_map_config = (function () {
14 carPark: false 14 carPark: false
15 }, 15 },
16 abnormalPrint: { 16 abnormalPrint: {
17 - speeding: true,  
18 - outBounds: true, 17 + speeding: false,
  18 + outBounds: false,
19 largeMargin: false 19 largeMargin: false
20 }, 20 },
21 carIcon: { 21 carIcon: {
@@ -102,6 +102,7 @@ var gb_map_config = (function () { @@ -102,6 +102,7 @@ var gb_map_config = (function () {
102 if (defaultConfig.traffic) 102 if (defaultConfig.traffic)
103 gb_map_imap.call('traffic', true); 103 gb_map_imap.call('traffic', true);
104 }, 1000); 104 }, 1000);
  105 + gb_map_overlay_mge.centerToRational();
105 }); 106 });
106 } 107 }
107 108
src/main/resources/static/real_control_v2/mapmonitor/js/gps_tree.js
1 var gb_map_gps_tree = (function () { 1 var gb_map_gps_tree = (function () {
2 2
  3 + var idBefore = 'map_tree_';
  4 + var _devices;
3 5
4 var treeObj; 6 var treeObj;
5 -  
6 var jstreeChanged = function (e, node, event) { 7 var jstreeChanged = function (e, node, event) {
7 gb_map_overlay_mge.refresh(); 8 gb_map_overlay_mge.refresh();
8 }; 9 };
9 10
10 var init = function (cb) { 11 var init = function (cb) {
  12 + var allGps = gb_data_gps.allGps;
  13 + _devices = gb_common.get_keys(allGps);
11 //设备树 14 //设备树
12 - var treeData = gb_common.get_device_tree_data(); 15 + var treeData = gb_common.get_device_tree_data(allGps, idBefore);
13 treeObj = $('.real_right_gps_panel .gps_tree_list') 16 treeObj = $('.real_right_gps_panel .gps_tree_list')
14 - //节点初始化完成 17 + //节点初始化完成
15 .on('ready.jstree', function () { 18 .on('ready.jstree', function () {
16 treeObj.jstree(true).open_all(); 19 treeObj.jstree(true).open_all();
17 //删掉tree node a标签的 href值(避免鼠标悬停浏览器出现状态条) 20 //删掉tree node a标签的 href值(避免鼠标悬停浏览器出现状态条)
@@ -26,14 +29,15 @@ var gb_map_gps_tree = (function () { @@ -26,14 +29,15 @@ var gb_map_gps_tree = (function () {
26 .on('activate_node.jstree', function (e, n) { 29 .on('activate_node.jstree', function (e, n) {
27 //console.log('activate_node.jstree', e, n); 30 //console.log('activate_node.jstree', e, n);
28 var node = n.node; 31 var node = n.node;
29 - if(node.a_attr && node.a_attr.type=='device' && node.state.checked){ 32 + if (node.a_attr && node.a_attr.type == 'device' && node.state.checked) {
30 var device = node.a_attr.device; 33 var device = node.a_attr.device;
31 gb_map_overlay_mge._focus(device); 34 gb_map_overlay_mge._focus(device);
32 } 35 }
33 }) 36 })
34 .jstree({ 37 .jstree({
35 'core': { 38 'core': {
36 - 'data': treeData 39 + 'data': treeData,
  40 + 'check_callback': true
37 }, 41 },
38 'checkbox': { 42 'checkbox': {
39 'keep_selected_style': false, 43 'keep_selected_style': false,
@@ -57,17 +61,105 @@ var gb_map_gps_tree = (function () { @@ -57,17 +61,105 @@ var gb_map_gps_tree = (function () {
57 } 61 }
58 }, 62 },
59 //local storage里的key 63 //local storage里的key
60 - 'state':{ 64 + 'state': {
61 'key': 'jstree_map_devices' 65 'key': 'jstree_map_devices'
62 }, 66 },
63 'plugins': ['checkbox', 'contextmenu', 'state'] 67 'plugins': ['checkbox', 'contextmenu', 'state']
64 }); 68 });
65 }; 69 };
66 70
  71 + //創建新節點
  72 + var create_node = function (array, create_end_cb) {
  73 + if (!isArray(array))
  74 + array = [array];
  75 +
  76 + var jstreeInts = treeObj.jstree(true);
  77 + var len = array.length, i = 0;
  78 + (function () {
  79 + var f = arguments.callee;
  80 + if (i >= len) {
  81 + create_end_cb && create_end_cb();
  82 + return;
  83 + }
  84 +
  85 + var gps = array[i],
  86 + pId = idBefore + 'route_' + gps.lineId + '_' + gps.upDown;
  87 + //上下行节点
  88 + var routeNode = jstreeInts.get_node(pId);
  89 + if (!routeNode) {
  90 + //父节点不存在
  91 + create_route_node(gps.lineId, function () {
  92 + //重新获取上下行节点
  93 + routeNode = jstreeInts.get_node(pId);
  94 + appendDeviceNode(routeNode, gps, function () {
  95 + _devices.push(gps.deviceId);
  96 + i++;
  97 + f();
  98 + });
  99 + });
  100 + }
  101 + else {
  102 + appendDeviceNode(routeNode, gps, function () {
  103 + _devices.push(gps.deviceId);
  104 + i++;
  105 + f();
  106 + });
  107 + }
  108 + })();
  109 + }
  110 +
  111 + //创建线路和上下行节点
  112 + var create_route_node = function (lineCode, cb) {
  113 + var lineName = gb_data_basic.codeToLine[lineCode].name;
  114 + var id = treeObj.jstree(true).create_node('#', {
  115 + 'text': lineName,
  116 + 'a_attr': {'type': 'line', 'id': idBefore + 'line_' + lineCode},
  117 + 'state': {'opened': true},
  118 + 'children': [{
  119 + 'text': '上行',
  120 + 'a_attr': {
  121 + 'type': 'route',
  122 + 'route': lineCode + '_0',
  123 + 'id': idBefore + 'route_' + lineCode + '_0',
  124 + 'state': {'opened': true}
  125 + }
  126 + }, {
  127 + 'text': '下行',
  128 + 'a_attr': {
  129 + 'type': 'route',
  130 + 'route': lineCode + '_1',
  131 + 'id': idBefore + 'route_' + lineCode + '_1',
  132 + 'state': {'opened': true}
  133 + }
  134 + }]
  135 + }, 'last', cb);
  136 + }
  137 +
  138 + var appendDeviceNode = function (routeNode, gps, cb) {
  139 + if (!routeNode) {
  140 + return;
  141 + }
  142 +
  143 + //添加車輛節點
  144 + treeObj.jstree(true).create_node(routeNode, {
  145 + 'text': gps.nbbm,
  146 + 'a_attr': {
  147 + 'type': 'device',
  148 + 'device': gps.deviceId
  149 + },
  150 + 'data': {lineId: gps.lineId, upDown: gps.upDown},
  151 + 'icon': 'uk-icon-bus'
  152 + }, 'last', cb);
  153 + }
  154 +
67 return { 155 return {
68 init: init, 156 init: init,
69 getChecked: function () { 157 getChecked: function () {
70 return treeObj.jstree(true).get_checked(true); 158 return treeObj.jstree(true).get_checked(true);
71 - } 159 + },
  160 + all_devices: function () {
  161 + return _devices;
  162 + },
  163 + create_node: create_node
72 }; 164 };
73 })(); 165 })();
74 \ No newline at end of file 166 \ No newline at end of file
src/main/resources/static/real_control_v2/mapmonitor/js/map/platform/baidu.js
@@ -88,7 +88,7 @@ var gb_map_baidu = (function(){ @@ -88,7 +88,7 @@ var gb_map_baidu = (function(){
88 map.addOverlay(polyline); 88 map.addOverlay(polyline);
89 89
90 //延迟居中,避免多次调用时抖动 90 //延迟居中,避免多次调用时抖动
91 - delayToCenter(pos[parseInt(pos.length / 2)]); 91 + //delayToCenter(pos[parseInt(pos.length / 2)]);
92 //map.panTo(pos[parseInt(pos.length / 2)]); 92 //map.panTo(pos[parseInt(pos.length / 2)]);
93 }, 93 },
94 traffic: function (enable) { 94 traffic: function (enable) {
@@ -110,8 +110,7 @@ var gb_map_baidu = (function(){ @@ -110,8 +110,7 @@ var gb_map_baidu = (function(){
110 //定位到线路中间点 110 //定位到线路中间点
111 centerToLine: function (opt) { 111 centerToLine: function (opt) {
112 var pos=polylines[opt.id].getPath(); 112 var pos=polylines[opt.id].getPath();
113 - console.log('定位到中心,,,', pos[parseInt(pos.length / 2)]);  
114 - map.setCenter(pos[parseInt(pos.length / 2)]); 113 + delayToCenter(pos[parseInt(pos.length / 2)]);
115 }, 114 },
116 //绘制GPS信号 115 //绘制GPS信号
117 drawRealGpsMarker: function(opts){ 116 drawRealGpsMarker: function(opts){
@@ -134,6 +133,12 @@ var gb_map_baidu = (function(){ @@ -134,6 +133,12 @@ var gb_map_baidu = (function(){
134 map.addOverlay(marker); 133 map.addOverlay(marker);
135 //设备号和marker映射 134 //设备号和marker映射
136 realMarkers[gps.deviceId] = marker; 135 realMarkers[gps.deviceId] = marker;
  136 + /*//新上线的设备,默认隐藏
  137 + if(gps.newNodeHide){
  138 + marker.hide();
  139 + gps.newNodeHide=null;
  140 + delete gps.newNodeHide;
  141 + }*/
137 } 142 }
138 } 143 }
139 }); 144 });
@@ -186,7 +191,6 @@ var gb_map_baidu = (function(){ @@ -186,7 +191,6 @@ var gb_map_baidu = (function(){
186 //info window 191 //info window
187 polygon.infoWin = new BMap.InfoWindow(gb_map_overlay_mge.map_carpark_win_temp(this), {}); 192 polygon.infoWin = new BMap.InfoWindow(gb_map_overlay_mge.map_carpark_win_temp(this), {});
188 polygon.addEventListener('click', function(){ 193 polygon.addEventListener('click', function(){
189 - console.log('aaa', this);  
190 map.openInfoWindow(this.infoWin, this._centerPoint); 194 map.openInfoWindow(this.infoWin, this._centerPoint);
191 }); 195 });
192 }); 196 });
@@ -291,18 +295,6 @@ var gb_map_baidu = (function(){ @@ -291,18 +295,6 @@ var gb_map_baidu = (function(){
291 var polygon = new BMap.Polygon(station.bdPoints, {strokeColor: opt.color, strokeWeight: opt.weight}); 295 var polygon = new BMap.Polygon(station.bdPoints, {strokeColor: opt.color, strokeWeight: opt.weight});
292 map.addOverlay(polygon); 296 map.addOverlay(polygon);
293 electronicFences[code]=polygon; 297 electronicFences[code]=polygon;
294 -  
295 -/*  
296 - //计算多边形面积  
297 - var area=BMapLib.GeoUtils.getPolygonArea(polygon);  
298 - if(!isNaN(area))  
299 - polygon._polygonArea=area+'米';  
300 - else  
301 - polygon._polygonArea='计算失败';  
302 -  
303 - polygon.addEventListener('click', function(){  
304 - map.openInfoWindow(this.infoWin, marker.point);  
305 - });*/  
306 }, 298 },
307 //删除缓冲区 299 //删除缓冲区
308 clearBuffArea: function(code){ 300 clearBuffArea: function(code){
@@ -407,15 +399,12 @@ var gb_map_baidu = (function(){ @@ -407,15 +399,12 @@ var gb_map_baidu = (function(){
407 return marker; 399 return marker;
408 } 400 }
409 401
410 - //为每个数字定义宽度  
411 -/* var icon_num_width=[  
412 - 7,6,7,7,7,7,7,7,7,7  
413 - ];*/ 402 +
414 function calcGpsMarkerWidth(nbbm) { 403 function calcGpsMarkerWidth(nbbm) {
415 var width=0; 404 var width=0;
416 $.each(nbbm.split(''), function () { 405 $.each(nbbm.split(''), function () {
417 if(!isNaN(this)) 406 if(!isNaN(this))
418 - width += 7;//icon_num_width[this]; 407 + width += 7;
419 else if(this=='-') 408 else if(this=='-')
420 width += 10; 409 width += 10;
421 else 410 else
@@ -428,7 +417,7 @@ var gb_map_baidu = (function(){ @@ -428,7 +417,7 @@ var gb_map_baidu = (function(){
428 var point = new BMap.Point(statio.bd_lon, statio.bd_lat); 417 var point = new BMap.Point(statio.bd_lon, statio.bd_lat);
429 var marker = new BMap.Marker(point); 418 var marker = new BMap.Marker(point);
430 419
431 - //根据编码长度 计算marker 宽度 420 + //根据站点名称 计算marker 宽度
432 var w = statio.stationName.length * 12 + 4 421 var w = statio.stationName.length * 12 + 4
433 ,iw=w-2; 422 ,iw=w-2;
434 var icon = new BMap.Icon(gb_map_imap.createStationIcon(statio, w), new BMap.Size(iw,24), {anchor: new BMap.Size(iw/2,24)}) 423 var icon = new BMap.Icon(gb_map_imap.createStationIcon(statio, w), new BMap.Size(iw,24), {anchor: new BMap.Size(iw/2,24)})
@@ -450,34 +439,6 @@ var gb_map_baidu = (function(){ @@ -450,34 +439,6 @@ var gb_map_baidu = (function(){
450 return marker; 439 return marker;
451 } 440 }
452 441
453 - //隐藏线路线条  
454 -/* function hideLinePolyline(){  
455 - if(!linePolyline || linePolyline.length == 0)  
456 - return;  
457 -  
458 - layer.msg('隐藏线路图层',{offset: 'ct', shift : 5});  
459 - $.each(linePolyline, function(){  
460 - this.setStrokeOpacity(0.1);  
461 - });  
462 - }  
463 -  
464 - //显示线路线条  
465 - function showLinePolyline(){  
466 - if(!linePolyline || linePolyline.length == 0)  
467 - return;  
468 -  
469 - layer.msg('显示线路图层',{offset: 'ct', shift : 5});  
470 - $.each(linePolyline, function(){  
471 - this.setStrokeOpacity(0.5);  
472 - });  
473 - }*/  
474 -  
475 -/* function refreshStation() {  
476 - //console.log('refreshStation', map.getZoom());  
477 - var zoom=map.getZoom();  
478 -  
479 - }*/  
480 -  
481 function moveMarker(m, gps){ 442 function moveMarker(m, gps){
482 m.setPosition(new BMap.Point(gps.bd_lon, gps.bd_lat)); 443 m.setPosition(new BMap.Point(gps.bd_lon, gps.bd_lat));
483 m.gpsData = gps; 444 m.gpsData = gps;
src/main/resources/static/real_control_v2/mapmonitor/js/map/platform/gaode.js
@@ -13,13 +13,16 @@ var gb_map_gaode = (function() { @@ -13,13 +13,16 @@ var gb_map_gaode = (function() {
13 + '<div class="sk-cube sk-cube9"></div>' + '</div>'; 13 + '<div class="sk-cube sk-cube9"></div>' + '</div>';
14 14
15 var map; 15 var map;
16 - var topMarkr; 16 + //var topMarkr;
17 var realMarkers = {}; 17 var realMarkers = {};
18 //线路路由线条 18 //线路路由线条
19 var polylines={}; 19 var polylines={};
  20 + var stationMarkers={};
  21 + var electronicFences={};
  22 + var carparks={};
20 //实时路况是否显示 23 //实时路况是否显示
21 - var traffVisible;  
22 - var trafficLayer; 24 + //var traffVisible;
  25 + //var trafficLayer;
23 var gaodeInstance = { 26 var gaodeInstance = {
24 init : function(cb) { 27 init : function(cb) {
25 var $mapCon = $(gb_map_consts.mapContainer); 28 var $mapCon = $(gb_map_consts.mapContainer);
@@ -78,12 +81,7 @@ var gb_map_gaode = (function() { @@ -78,12 +81,7 @@ var gb_map_gaode = (function() {
78 realMarkers = {}; 81 realMarkers = {};
79 polylines={}; 82 polylines={};
80 map.clearMap(); 83 map.clearMap();
81 - }  
82 - /*clear: function(){  
83 - realMarkers = {};  
84 - map.clearMap();  
85 - linePolyline = [];  
86 - }*/, 84 + },
87 drawLine: function(opt){ 85 drawLine: function(opt){
88 //linePolyline = []; 86 //linePolyline = [];
89 var pos = [], temps; 87 var pos = [], temps;
@@ -102,9 +100,11 @@ var gb_map_gaode = (function() { @@ -102,9 +100,11 @@ var gb_map_gaode = (function() {
102 polyline.hide(); 100 polyline.hide();
103 101
104 polyline.setMap(map); 102 polyline.setMap(map);
105 - 103 + },
  104 + //定位到线路中间点
  105 + centerToLine: function (opt) {
  106 + var pos=polylines[opt.id].getPath();
106 map.setCenter(pos[parseInt(pos.length / 2)]); 107 map.setCenter(pos[parseInt(pos.length / 2)]);
107 -  
108 }, 108 },
109 //根据id 显示polyline 109 //根据id 显示polyline
110 refreshPolyline: function (opt) { 110 refreshPolyline: function (opt) {
@@ -116,6 +116,131 @@ var gb_map_gaode = (function() { @@ -116,6 +116,131 @@ var gb_map_gaode = (function() {
116 polylines[id].hide(); 116 polylines[id].hide();
117 } 117 }
118 }, 118 },
  119 + drawStationMarker: function (opt) {
  120 + this.hideAllStationMarker();
  121 +
  122 + var array=opt.list, marker;
  123 + $.each(array, function () {
  124 + if(stationMarkers[this.stationCode]){
  125 + stationMarkers[this.stationCode].show();
  126 + return true;
  127 + }
  128 +
  129 + transCoord(this);
  130 + marker=createStationMark(this);
  131 + stationMarkers[this.stationCode]=marker;
  132 + });
  133 + },
  134 + hideAllStationMarker: function () {
  135 + for(var code in stationMarkers){
  136 + stationMarkers[code].hide();
  137 + }
  138 + },
  139 + //绘制圆形
  140 + drawCircle: function(opt){
  141 + if(electronicFences[opt.id]){
  142 + electronicFences[opt.id].show();
  143 + return;
  144 + }
  145 +
  146 + var coord = TransGPS.transformFromWGSToGCJ(opt.lat, opt.lon);
  147 +
  148 + var circle = new AMap.Circle({
  149 + center: [coord.lng, coord.lat],// 圆心位置
  150 + radius: opt.radius, //半径
  151 + strokeColor: opt.color, //线颜色
  152 + strokeWeight: opt.weight, //线粗细度
  153 + fillColor: '#fff', //填充颜色
  154 + fillOpacity: 0.5
  155 + });
  156 + circle.setMap(map);
  157 + electronicFences[opt.id] = circle;
  158 + },
  159 + //绘制多边形
  160 + drawPolygon: function(opt){
  161 + var station = opt.station
  162 + ,code = station.stationCode;
  163 + if(electronicFences[code]){
  164 + electronicFences[code].show();
  165 + return;
  166 + }
  167 +
  168 + transMultiWGSToGCJ(station);
  169 + var polygon=new AMap.Polygon({
  170 + map: map,
  171 + path: station.gcjPoints,
  172 + strokeColor: opt.color,
  173 + strokeWeight: opt.weight,
  174 + fillColor: '#fff',
  175 + fillOpacity: 0.5
  176 + });
  177 +
  178 + electronicFences[code]=polygon;
  179 + },
  180 + //绘制停车场
  181 + drawCarpark: function (opt) {
  182 + var list = opt.list;
  183 + var config = gb_map_config.getConfig()
  184 + ,color = config.section.color.up;
  185 +
  186 + this.hideDrawCarpark();
  187 + $.each(list, function () {
  188 + if(carparks[this.parkCode]){
  189 + carparks[this.parkCode].show();
  190 + return true;
  191 + }
  192 +
  193 + transMultiWGSToGCJ(this);
  194 + var polygon=new AMap.Polygon({
  195 + map: map,
  196 + path: this.gcjPoints,
  197 + strokeColor: color,
  198 + strokeWeight: 1,
  199 + fillColor: '#fff',
  200 + fillOpacity: 0.5
  201 + });
  202 + carparks[this.parkCode]=polygon;
  203 + //中心点
  204 + var ts = this.gCenterPoint.split(' ')
  205 + ,coord = TransGPS.transformFromWGSToGCJ(parseFloat(ts[1]), parseFloat(ts[0]));
  206 + polygon._centerPoint = [coord.lng, coord.lat];
  207 + //info window
  208 + polygon.infoWin = new AMap.InfoWindow({
  209 + content: gb_map_overlay_mge.map_carpark_win_temp(this),
  210 + size: new AMap.Size(228, 146)
  211 + });
  212 + polygon.on('click', function () {
  213 + this.infoWin.open(map, this._centerPoint);
  214 + });
  215 + });
  216 + },
  217 + //隐藏停车场
  218 + hideDrawCarpark: function () {
  219 + for(var code in carparks){
  220 + carparks[code].hide();
  221 + }
  222 + },
  223 + hideAllCircles: function () {
  224 + for(var code in electronicFences){
  225 + electronicFences[code].hide();
  226 + }
  227 + },
  228 + //定位到站点
  229 + goToStation: function (stationCode) {
  230 + var m = stationMarkers[stationCode];
  231 + if(m){
  232 + map.setCenter(m.getPosition());
  233 + m.infoWindow.open(map, m.getPosition());
  234 + }
  235 + },
  236 + //定位到停车场
  237 + goToCarpark: function (parkCode) {
  238 + var polygon = carparks[parkCode];
  239 + if(polygon){
  240 + map.setCenter(polygon._centerPoint);
  241 + polygon.infoWin.open(map, polygon._centerPoint);
  242 + }
  243 + },
119 drawRealGpsMarker: function(opts){ 244 drawRealGpsMarker: function(opts){
120 gpsArray = opts.gpsList; 245 gpsArray = opts.gpsList;
121 var coord; 246 var coord;
@@ -136,45 +261,7 @@ var gb_map_gaode = (function() { @@ -136,45 +261,7 @@ var gb_map_gaode = (function() {
136 realMarkers[gps.deviceId] = marker 261 realMarkers[gps.deviceId] = marker
137 } 262 }
138 } 263 }
139 -  
140 - /*coord = TransGPS.transformFromWGSToGCJ(gps.lat, gps.lon);  
141 - gps.gcj_lat = coord.lat;  
142 - gps.gcj_lon = coord.lng;  
143 -  
144 - marker = realMarkers[gps.deviceId];  
145 - if(marker){  
146 - if(gps.timestamp == marker.gpsData.timestamp)  
147 - return;  
148 - else  
149 - moveMarker(marker, gps);//移动marker  
150 - }  
151 - else{  
152 - var marker = createGDMarkerByGps(gps);  
153 - realMarkers[gps.deviceId] = marker  
154 - }*/  
155 }); 264 });
156 -  
157 - /*var gpsArray = opts.gpsList;  
158 - var coord;  
159 - $.each(gpsArray, function(i, gps){  
160 - if(opts.coordTransform){  
161 - coord = TransGPS.transformFromWGSToGCJ(gps.lat, gps.lon);  
162 - gps.gcj_lat = coord.lat;  
163 - gps.gcj_lon = coord.lng;  
164 - }  
165 -  
166 - marker = realMarkers[gps.deviceId];  
167 - if(marker){  
168 - if(gps.timestamp == marker.gpsData.timestamp)  
169 - return;  
170 - else  
171 - moveMarker(marker, gps);//移动marker  
172 - }  
173 - else{  
174 - var marker = createGDMarkerByGps(gps);  
175 - realMarkers[gps.deviceId] = marker  
176 - }  
177 - });*/  
178 }, 265 },
179 showGpsMarker: function (opt) { 266 showGpsMarker: function (opt) {
180 var chs = opt.chs; 267 var chs = opt.chs;
@@ -190,7 +277,7 @@ var gb_map_gaode = (function() { @@ -190,7 +277,7 @@ var gb_map_gaode = (function() {
190 ,m = realMarkers[deviceId]; 277 ,m = realMarkers[deviceId];
191 if(m){ 278 if(m){
192 map.setCenter(m.getPosition()); 279 map.setCenter(m.getPosition());
193 - setTop(m); 280 + //setTop(m);
194 } 281 }
195 }, 282 },
196 openWindow: function(opts){ 283 openWindow: function(opts){
@@ -208,7 +295,7 @@ var gb_map_gaode = (function() { @@ -208,7 +295,7 @@ var gb_map_gaode = (function() {
208 295
209 function createGDMarkerByGps(gps){ 296 function createGDMarkerByGps(gps){
210 //根据编码长度 计算marker 宽度 297 //根据编码长度 计算marker 宽度
211 - var w = gps.nbbm.length * 10; 298 + var w = calcGpsMarkerWidth(gps.nbbm);
212 299
213 var marker = new AMap.Marker({ 300 var marker = new AMap.Marker({
214 map: map, 301 map: map,
@@ -217,15 +304,20 @@ var gb_map_gaode = (function() { @@ -217,15 +304,20 @@ var gb_map_gaode = (function() {
217 size: new AMap.Size(w, 25), //图标大小 304 size: new AMap.Size(w, 25), //图标大小
218 image: gb_map_imap.createCarIcon(gps, w) 305 image: gb_map_imap.createCarIcon(gps, w)
219 }), 306 }),
220 - offset: new AMap.Pixel(-35, -12) 307 + offset: new AMap.Pixel(-(w/2), -12)
221 }); 308 });
222 309
  310 + marker._icon_width=w;
223 //绑定数据 311 //绑定数据
224 marker.gpsData = gps; 312 marker.gpsData = gps;
225 marker.infoWindow = new AMap.InfoWindow(); 313 marker.infoWindow = new AMap.InfoWindow();
226 314
  315 + marker.setzIndex(2);
227 marker.on('mouseover', function(){ 316 marker.on('mouseover', function(){
228 - setTop(this); 317 + this.setzIndex(3);
  318 + });
  319 + marker.on('mouseout', function () {
  320 + this.setzIndex(2);
229 }); 321 });
230 //点击事件 322 //点击事件
231 marker.on('click', function(){ 323 marker.on('click', function(){
@@ -235,12 +327,49 @@ var gb_map_gaode = (function() { @@ -235,12 +327,49 @@ var gb_map_gaode = (function() {
235 return marker; 327 return marker;
236 } 328 }
237 329
  330 + //创建站点marker
  331 + function createStationMark(statio) {
  332 + //根据编码长度 计算marker 宽度
  333 + var w = statio.stationName.length * 12 + 4;
  334 +
  335 + var marker = new AMap.Marker({
  336 + map: map,
  337 + position: [statio.gcj_lon, statio.gcj_lat],
  338 + icon: new AMap.Icon({
  339 + size: new AMap.Size(w, 24), //图标大小
  340 + image: gb_map_imap.createStationIcon(statio, w)
  341 + }),
  342 + offset: new AMap.Pixel(-(w/2), -24)
  343 + });
  344 +
  345 + //信息窗口
  346 + marker.infoWindow = new AMap.InfoWindow({
  347 + content:gb_map_overlay_mge.map_station_win_temp(statio),
  348 + size: new AMap.Size(178, 240)
  349 + });
  350 +
  351 + //mouseover
  352 + marker.setzIndex(1);
  353 + marker.on('mouseover', function(){
  354 + this.setzIndex(3);
  355 + });
  356 + marker.on('mouseout', function () {
  357 + this.setzIndex(1);
  358 + });
  359 +
  360 + //点击事件
  361 + marker.on('click', function(){
  362 + this.infoWindow.open(map, this.getPosition());
  363 + });
  364 + return marker;
  365 + }
  366 +
238 function moveMarker(m, gps){ 367 function moveMarker(m, gps){
239 m.setPosition(new AMap.LngLat(gps.gcj_lon, gps.gcj_lat)); 368 m.setPosition(new AMap.LngLat(gps.gcj_lon, gps.gcj_lat));
240 m.gpsData = gps; 369 m.gpsData = gps;
  370 +
241 //重新设置icon 371 //重新设置icon
242 - //根据编码长度 计算marker 宽度  
243 - var w = gps.nbbm.length * 10; 372 + var w = m._icon_width;
244 m.setIcon(new AMap.Icon({ 373 m.setIcon(new AMap.Icon({
245 size: new AMap.Size(w, 25), 374 size: new AMap.Size(w, 25),
246 image: gb_map_imap.createCarIcon(gps, w) 375 image: gb_map_imap.createCarIcon(gps, w)
@@ -250,26 +379,31 @@ var gb_map_gaode = (function() { @@ -250,26 +379,31 @@ var gb_map_gaode = (function() {
250 openWindow(m); 379 openWindow(m);
251 } 380 }
252 381
253 -/* //隐藏线路线条  
254 - function hideLinePolyline(){  
255 - if(!linePolyline || linePolyline.length == 0)  
256 - return;  
257 - layer.msg('隐藏线路图层',{offset: 'ct', shift : 5});  
258 - $.each(linePolyline, function(){  
259 - this.setOptions({strokeOpacity: 0}); 382 + function calcGpsMarkerWidth(nbbm) {
  383 + var width=0;
  384 + $.each(nbbm.split(''), function () {
  385 + if(!isNaN(this))
  386 + width += 7;//icon_num_width[this];
  387 + else if(this=='-')
  388 + width += 10;
  389 + else
  390 + width += 16;
260 }); 391 });
261 - }*/  
262 -  
263 -/* //显示线路线条  
264 - function showLinePolyline(){  
265 - if(!linePolyline || linePolyline.length == 0) 392 + return width;
  393 + }
  394 +
  395 + function transMultiWGSToGCJ(obj) {
  396 + if(!obj._gPoints)
266 return; 397 return;
  398 + var gcjPoints=[],coord;
267 399
268 - layer.msg('显示线路图层',{offset: 'ct', shift : 5});  
269 - $.each(linePolyline, function(){  
270 - this.setOptions({strokeOpacity: 0.5}); 400 + $.each(obj._gPoints, function () {
  401 + coord = TransGPS.transformFromWGSToGCJ(this.lat, this.lng);
  402 + gcjPoints.push([coord.lng, coord.lat]);
271 }); 403 });
272 - }*/ 404 +
  405 + obj.gcjPoints=gcjPoints;
  406 + }
273 407
274 function openWindow(marker){ 408 function openWindow(marker){
275 var gps = marker.gpsData; 409 var gps = marker.gpsData;
@@ -282,12 +416,12 @@ var gb_map_gaode = (function() { @@ -282,12 +416,12 @@ var gb_map_gaode = (function() {
282 marker.infoWindow.open(map, marker.getPosition()); 416 marker.infoWindow.open(map, marker.getPosition());
283 } 417 }
284 418
285 - function setTop(marker){ 419 +/* function setTop(marker, index){
286 if(topMarkr) 420 if(topMarkr)
287 topMarkr.setzIndex(1); 421 topMarkr.setzIndex(1);
288 marker.setzIndex(2); 422 marker.setzIndex(2);
289 topMarkr = marker; 423 topMarkr = marker;
290 - } 424 + }*/
291 425
292 //文件载入完毕 426 //文件载入完毕
293 mapmonitor_load_ep.emitLater('load_gaode'); 427 mapmonitor_load_ep.emitLater('load_gaode');
src/main/resources/static/real_control_v2/mapmonitor/js/map_overlay_manager.js
@@ -17,7 +17,19 @@ var gb_map_overlay_mge = (function () { @@ -17,7 +17,19 @@ var gb_map_overlay_mge = (function () {
17 }; 17 };
18 18
19 var gpsRefreshAll = function (allList) { 19 var gpsRefreshAll = function (allList) {
  20 + //是否需要添加樹節點
  21 + var newTreeNodes=[], currArray=gb_map_gps_tree.all_devices();
  22 + $.each(allList, function () {
  23 + if(currArray.indexOf(this.deviceId) == -1)
  24 + newTreeNodes.push(this);
  25 + });
  26 +
20 gb_map_imap.call('drawRealGpsMarker', {gpsList: allList}); 27 gb_map_imap.call('drawRealGpsMarker', {gpsList: allList});
  28 +
  29 + //有新设备上线
  30 + if(newTreeNodes.length > 0){
  31 + gb_map_gps_tree.create_node(newTreeNodes, showOverlayByChecks);
  32 + }
21 }; 33 };
22 34
23 var deviceFilter = function (node) { 35 var deviceFilter = function (node) {
@@ -85,6 +97,9 @@ var gb_map_overlay_mge = (function () { @@ -85,6 +97,9 @@ var gb_map_overlay_mge = (function () {
85 reDraw(); 97 reDraw();
86 //注册GPS刷新事件 98 //注册GPS刷新事件
87 gb_data_gps.registerCallback(gpsRefresh); 99 gb_data_gps.registerCallback(gpsRefresh);
  100 +
  101 +
  102 + centerToRational();
88 }; 103 };
89 104
90 105
@@ -185,6 +200,15 @@ var gb_map_overlay_mge = (function () { @@ -185,6 +200,15 @@ var gb_map_overlay_mge = (function () {
185 200
186 gb_map_imap.call('drawPolygon', opt); 201 gb_map_imap.call('drawPolygon', opt);
187 } 202 }
  203 +
  204 + //地图居中至合理的位置
  205 + var centerToRational=function () {
  206 + var chs=gb_map_gps_tree.getChecked();
  207 + if(chs && chs.length > 0){
  208 + var id=chs[0].data.lineId+'_'+chs[0].data.upDown;
  209 + gb_map_imap.call('centerToLine', {id: id});
  210 + }
  211 + }
188 212
189 return { 213 return {
190 init: init, 214 init: init,
@@ -205,6 +229,7 @@ var gb_map_overlay_mge = (function () { @@ -205,6 +229,7 @@ var gb_map_overlay_mge = (function () {
205 getCheckedDevice: getCheckedDevice, 229 getCheckedDevice: getCheckedDevice,
206 drawStation: drawStation, 230 drawStation: drawStation,
207 drawElectronicFence: drawElectronicFence, 231 drawElectronicFence: drawElectronicFence,
208 - drawCarpark: drawCarpark 232 + drawCarpark: drawCarpark,
  233 + centerToRational:centerToRational
209 }; 234 };
210 })(); 235 })();
211 \ No newline at end of file 236 \ No newline at end of file
src/main/resources/static/real_control_v2/mapmonitor/js/spatial_data.js
1 -/** 空间数据 */  
2 -  
3 -var gb_map_spatial_data = (function () {  
4 -  
5 - var storage = window.localStorage;  
6 -  
7 - var activeLines = JSON.parse(storage.getItem('lineControlItems'));  
8 - var line_idx = (function () {  
9 - var str = '';  
10 - for (var i = 0, item; item = activeLines[i++];) {  
11 - str += (',' + item.lineCode);  
12 - }  
13 - return str.substr(1);  
14 - })();  
15 -  
16 - var cont = '#spatial-tree-content';  
17 - //线路站点路由数据  
18 - var lineStationArr;  
19 -  
20 - //停车场数据  
21 - var carparkArr;  
22 -  
23 - var init = function () {  
24 - //加载站点路由数据  
25 - gb_common.$get('/realMap/stationSpatialData', {idx: line_idx}, function (rs) {  
26 - var list = rs.list;  
27 - $.each(list, function () {  
28 - this.lat = this.gLaty;  
29 - this.lon = this.gLonx;  
30 - delete this.gLaty;  
31 - delete this.gLonx;  
32 - if(this.shapesType=='d'){  
33 - var calcRs = calcPolygonArea(this.gPolygonGrid);  
34 - this._polygonArea = calcRs._polygonArea;  
35 - this._gPoints = calcRs._gPoints;  
36 - }  
37 - });  
38 - //排序  
39 - list.sort(function (a, b) {  
40 - return a.stationRouteCode - b.stationRouteCode;  
41 - });  
42 - //按线路分组  
43 - lineStationArr = gb_common.groupBy(list, 'lineCode');  
44 - //再按上下行分组  
45 - for (var lineCode in lineStationArr) {  
46 - lineStationArr[lineCode] = gb_common.groupBy(lineStationArr[lineCode], 'directions');  
47 - }  
48 -  
49 - ep.emitLater('station');  
50 - });  
51 -  
52 - //加载停车场数据  
53 - gb_common.$get('/realMap/carParkSpatialData', {}, function (rs) {  
54 - carparkArr = rs.list;  
55 - $.each(carparkArr, function () {  
56 - if(this.shapesType=='d'){  
57 - var calcRs = calcPolygonArea(this.gParkPoint);  
58 - this._polygonArea = calcRs._polygonArea;  
59 - this._gPoints = calcRs._gPoints;  
60 - }  
61 - });  
62 - ep.emitLater('carpark');  
63 - });  
64 -  
65 - var ep = EventProxy.create('station', 'carpark', function () {  
66 - $(".real_spatial_panel").resizable({  
67 - maxHeight: '100%',  
68 - minHeight: 18  
69 - });  
70 -  
71 - //绘制站点路由树  
72 - $('.station-route-tree', cont)  
73 - //state插件 状态恢复完成  
74 - .on('state_ready.jstree', function () {  
75 - //绑定checkbox状态切换事件  
76 - $(this).on('check_node.jstree uncheck_node.jstree', gb_map_overlay_mge.drawStation);  
77 - })  
78 - .on('activate_node.jstree', function (e, n) {  
79 - var node = n.node;  
80 - if(node.state.checked)  
81 - gb_map_overlay_mge._focus_station(node.data);  
82 - })  
83 - .jstree({  
84 - 'core': {  
85 - 'data': get_st_route_tree_data()  
86 - },  
87 - 'checkbox': {  
88 - 'keep_selected_style': false,  
89 - 'whole_node': false,  
90 - 'tie_selection': false  
91 - },  
92 - //local storage里的key  
93 - 'state': {  
94 - 'key': 'jstree_map_station_route'  
95 - },  
96 - 'plugins': ['checkbox', 'state']  
97 - });  
98 -  
99 -  
100 - //停车场  
101 - $('.carpark-panel', cont)  
102 - .on('state_ready.jstree', function () {  
103 - //绑定checkbox状态切换事件  
104 - $(this).on('check_node.jstree uncheck_node.jstree', gb_map_overlay_mge.drawCarpark);  
105 - })  
106 - .on('activate_node.jstree', function (e, n) {  
107 - var node = n.node;  
108 - if(node.state.checked)  
109 - gb_map_overlay_mge._focus_carpark(node.data);  
110 - })  
111 - .jstree({  
112 - 'core': {  
113 - 'data': get_st_carpark_tree_data()  
114 - },  
115 - 'checkbox': {  
116 - 'keep_selected_style': false,  
117 - 'whole_node': false,  
118 - 'tie_selection': false  
119 - },  
120 - //local storage里的key  
121 - 'state': {  
122 - 'key': 'jstree_map_carpark'  
123 - },  
124 - 'plugins': ['checkbox', 'state']  
125 - });  
126 -  
127 - refresh();  
128 - });  
129 - }  
130 -  
131 - //计算多边形面积  
132 - function calcPolygonArea(polygonStr) {  
133 - var pStr = polygonStr.substring(9, polygonStr.length - 2);  
134 - var array = pStr.split(',');  
135 - var newArr=[];  
136 -  
137 - //递归去掉闭合的尾  
138 - (function () {  
139 - var f = arguments.callee;  
140 - var end=array.length - 1;  
141 - if(array.length > 1 && array[0] == array[end]){  
142 - array = array.slice(0, end);  
143 - f();  
144 - }  
145 - })();  
146 -  
147 - //去掉连续的重复点  
148 - var last;  
149 - $.each(array, function (i, str) {  
150 - if(last){  
151 - if(last != str)  
152 - newArr.push(str);  
153 - }  
154 - else  
155 - newArr.push(str);  
156 - last = str;  
157 - });  
158 -  
159 - var gPoints=[],ts;  
160 - $.each(newArr, function (i, c) {  
161 - ts=c.split(' ');  
162 - gPoints.push({  
163 - lat: parseFloat(ts[1]),  
164 - lng: parseFloat(ts[0])  
165 - });  
166 - });  
167 -  
168 - //用百度geo工具库计算面积  
169 - var _polygonArea = BMapLib.GeoUtils.getPolygonArea(gPoints);  
170 - return {_polygonArea: _polygonArea.toFixed(2), _gPoints: gPoints};  
171 - }  
172 -  
173 - var refresh = function (type, checked) {  
174 - if (!triggerElem())  
175 - return;  
176 -  
177 - if ((type == 'carPark' && checked) || (type == 'station' && !checked)) {  
178 - //显示停车场面板  
179 - $('.car-park-item', cont).addClass('uk-active');  
180 - $('li.cp-tab-btn', '.real_spatial_panel').addClass('uk-active');  
181 - $('.carpark-panel', cont).jstree(true).check_all();  
182 -  
183 - //绘制停车场  
184 - gb_map_overlay_mge.drawCarpark();  
185 - }  
186 - else {  
187 - //显示站点路由面板  
188 - $('.station-route-item', cont).addClass('uk-active');  
189 - $('li.sr-tab-btn', '.real_spatial_panel').addClass('uk-active');  
190 -  
191 - //选中相关站点路由树  
192 - var chs = gb_map_overlay_mge.getCheckedDevice();  
193 - var idx = {};  
194 - $.each(chs, function () {  
195 - idx[this.data.lineId + '_' + this.data.upDown] = 1;  
196 - });  
197 -  
198 - var treeObj = $('.station-route-tree', cont).jstree(true);  
199 - for (var id in idx) {  
200 - treeObj.check_node(treeObj.get_node(id + '_st'));  
201 - }  
202 -  
203 - //drawStation();  
204 - gb_map_overlay_mge.drawStation();  
205 - }  
206 - }  
207 -  
208 - var triggerElem = function () {  
209 - var config = gb_map_config.getConfig().spatialData;  
210 -  
211 - if(config.station || config.carPark){  
212 - showPanel();  
213 - return true;  
214 - }  
215 - hidePanel();  
216 - gb_map_imap.call('hideAllStationMarker');  
217 - gb_map_imap.call('hideDrawCarpark');  
218 - return false;  
219 - }  
220 -  
221 - var animationend = 'webkitAnimationEnd animationend';  
222 - var showPanel = function () {  
223 - var elem = $('.real_spatial_panel');  
224 - var config = gb_map_config.getConfig().spatialData;  
225 -  
226 - if (config.station && config.carPark) {  
227 - anim_show($('.uk-subnav', elem), 'uk-animation-scale-up');  
228 - $('.real_spatial_body', elem).addClass('show-tab');  
229 - }  
230 - else {  
231 - $('.uk-subnav', elem).hide();  
232 - $('.real_spatial_body', elem).removeClass('show-tab');  
233 - }  
234 -  
235 - $('li.uk-active', elem).removeClass('uk-active');  
236 -  
237 - if (!elem.is(":hidden"))  
238 - return;  
239 -  
240 - anim_show(elem, 'uk-animation-slide-left');  
241 - }  
242 -  
243 - var hidePanel = function () {  
244 - var elem = $('.real_spatial_panel');  
245 - elem.hide();  
246 - }  
247 -  
248 - function anim_show(e, anim) {  
249 - e.addClass(anim).show().one(animationend, function () {  
250 - $(this).removeClass(anim);  
251 - });  
252 - }  
253 -  
254 - function getCheckedStation() {  
255 - var list = [];  
256 - var chs = $('.station-route-tree', cont).jstree(true).get_checked(true);  
257 - chs = chs.filter(function (item) {  
258 - return item.data;  
259 - });  
260 - $.each(chs, function () {  
261 - list.push(this.data);  
262 - });  
263 - return list;  
264 - }  
265 -  
266 - function gteCheckedCarpark() {  
267 - var list = [];  
268 - var chs = $('.carpark-panel', cont).jstree(true).get_checked(true);  
269 - $.each(chs, function () {  
270 - list.push(this.data);  
271 - });  
272 - return list;  
273 - }  
274 -  
275 - var get_st_route_tree_data = function () {  
276 - var treeData = [];  
277 -  
278 - for (var lineCode in lineStationArr) {  
279 - name = gb_data_basic.codeToLine[lineCode].name;  
280 - treeData.push({  
281 - 'text': name,  
282 - 'open': true,  
283 - 'children': [  
284 - {  
285 - 'text': '上行',  
286 - 'children': grabs(lineStationArr[lineCode][0]),  
287 - 'id': lineCode + '_0_st'  
288 - },  
289 - {  
290 - 'text': '下行',  
291 - 'children': grabs(lineStationArr[lineCode][1]),  
292 - 'id': lineCode + '_1_st'  
293 - }  
294 - ]  
295 - })  
296 - }  
297 - return treeData;  
298 - };  
299 -  
300 - var get_st_carpark_tree_data = function () {  
301 - var treeData = [];  
302 -  
303 - $.each(carparkArr, function () {  
304 - treeData.push({  
305 - 'text': this.parkName,  
306 - 'data': this  
307 - });  
308 - });  
309 -  
310 - return treeData;  
311 - }  
312 -  
313 - var grabs = function (array) {  
314 - if (!array)  
315 - return;  
316 - var rs = [];  
317 - $.each(array, function () {  
318 - rs.push({  
319 - 'text': this.stationName,  
320 - 'data': this,  
321 - 'icon': false  
322 - });  
323 - });  
324 - return rs;  
325 - }  
326 -  
327 - return {  
328 - refresh: refresh,  
329 - init: init,  
330 - getCheckedStation:getCheckedStation,  
331 - gteCheckedCarpark: gteCheckedCarpark  
332 - }; 1 +/** 空间数据 */
  2 +
  3 +var gb_map_spatial_data = (function () {
  4 +
  5 + var storage = window.localStorage;
  6 +
  7 + var activeLines = JSON.parse(storage.getItem('lineControlItems'));
  8 + var line_idx = (function () {
  9 + var str = '';
  10 + for (var i = 0, item; item = activeLines[i++];) {
  11 + str += (',' + item.lineCode);
  12 + }
  13 + return str.substr(1);
  14 + })();
  15 +
  16 + var cont = '#spatial-tree-content';
  17 + //线路站点路由数据
  18 + var lineStationArr;
  19 +
  20 + //停车场数据
  21 + var carparkArr;
  22 +
  23 + var init = function () {
  24 + //加载站点路由数据
  25 + gb_common.$get('/realMap/stationSpatialData', {idx: line_idx}, function (rs) {
  26 + var list = rs.list;
  27 + $.each(list, function () {
  28 + this.lat = this.gLaty;
  29 + this.lon = this.gLonx;
  30 + delete this.gLaty;
  31 + delete this.gLonx;
  32 + if(this.shapesType=='d'){
  33 + var calcRs = calcPolygonArea(this.gPolygonGrid);
  34 + this._polygonArea = calcRs._polygonArea;
  35 + this._gPoints = calcRs._gPoints;
  36 + }
  37 + });
  38 + //排序
  39 + list.sort(function (a, b) {
  40 + return a.stationRouteCode - b.stationRouteCode;
  41 + });
  42 + //按线路分组
  43 + lineStationArr = gb_common.groupBy(list, 'lineCode');
  44 + //再按上下行分组
  45 + for (var lineCode in lineStationArr) {
  46 + lineStationArr[lineCode] = gb_common.groupBy(lineStationArr[lineCode], 'directions');
  47 + }
  48 +
  49 + ep.emitLater('station');
  50 + });
  51 +
  52 + //加载停车场数据
  53 + gb_common.$get('/realMap/carParkSpatialData', {}, function (rs) {
  54 + carparkArr = rs.list;
  55 + $.each(carparkArr, function () {
  56 + if(this.shapesType=='d'){
  57 + var calcRs = calcPolygonArea(this.gParkPoint);
  58 + this._polygonArea = calcRs._polygonArea;
  59 + this._gPoints = calcRs._gPoints;
  60 + }
  61 + });
  62 + ep.emitLater('carpark');
  63 + });
  64 +
  65 + var ep = EventProxy.create('station', 'carpark', function () {
  66 + $(".real_spatial_panel").resizable({
  67 + maxHeight: '100%',
  68 + minHeight: 18
  69 + });
  70 +
  71 + //绘制站点路由树
  72 + $('.station-route-tree', cont)
  73 + //state插件 状态恢复完成
  74 + .on('state_ready.jstree', function () {
  75 + //绑定checkbox状态切换事件
  76 + $(this).on('check_node.jstree uncheck_node.jstree', gb_map_overlay_mge.drawStation);
  77 + })
  78 + .on('activate_node.jstree', function (e, n) {
  79 + var node = n.node;
  80 + if(node.state.checked)
  81 + gb_map_overlay_mge._focus_station(node.data);
  82 + })
  83 + .jstree({
  84 + 'core': {
  85 + 'data': get_st_route_tree_data()
  86 + },
  87 + 'checkbox': {
  88 + 'keep_selected_style': false,
  89 + 'whole_node': false,
  90 + 'tie_selection': false
  91 + },
  92 + //local storage里的key
  93 + 'state': {
  94 + 'key': 'jstree_map_station_route'
  95 + },
  96 + 'plugins': ['checkbox', 'state']
  97 + });
  98 +
  99 +
  100 + //停车场
  101 + $('.carpark-panel', cont)
  102 + .on('state_ready.jstree', function () {
  103 + //绑定checkbox状态切换事件
  104 + $(this).on('check_node.jstree uncheck_node.jstree', gb_map_overlay_mge.drawCarpark);
  105 + })
  106 + .on('activate_node.jstree', function (e, n) {
  107 + var node = n.node;
  108 + if(node.state.checked)
  109 + gb_map_overlay_mge._focus_carpark(node.data);
  110 + })
  111 + .jstree({
  112 + 'core': {
  113 + 'data': get_st_carpark_tree_data()
  114 + },
  115 + 'checkbox': {
  116 + 'keep_selected_style': false,
  117 + 'whole_node': false,
  118 + 'tie_selection': false
  119 + },
  120 + //local storage里的key
  121 + 'state': {
  122 + 'key': 'jstree_map_carpark'
  123 + },
  124 + 'plugins': ['checkbox', 'state']
  125 + });
  126 +
  127 + refresh();
  128 + });
  129 + }
  130 +
  131 + //计算多边形面积
  132 + function calcPolygonArea(polygonStr) {
  133 + var pStr = polygonStr.substring(9, polygonStr.length - 2);
  134 + var array = pStr.split(',');
  135 + var newArr=[];
  136 +
  137 + //递归去掉闭合的尾
  138 + (function () {
  139 + var f = arguments.callee;
  140 + var end=array.length - 1;
  141 + if(array.length > 1 && array[0] == array[end]){
  142 + array = array.slice(0, end);
  143 + f();
  144 + }
  145 + })();
  146 +
  147 + //去掉连续的重复点
  148 + var last;
  149 + $.each(array, function (i, str) {
  150 + if(last){
  151 + if(last != str)
  152 + newArr.push(str);
  153 + }
  154 + else
  155 + newArr.push(str);
  156 + last = str;
  157 + });
  158 +
  159 + var gPoints=[],ts;
  160 + $.each(newArr, function (i, c) {
  161 + ts=c.split(' ');
  162 + gPoints.push({
  163 + lat: parseFloat(ts[1]),
  164 + lng: parseFloat(ts[0])
  165 + });
  166 + });
  167 +
  168 + //用百度geo工具库计算面积
  169 + var _polygonArea = BMapLib.GeoUtils.getPolygonArea(gPoints);
  170 + return {_polygonArea: _polygonArea.toFixed(2), _gPoints: gPoints};
  171 + }
  172 +
  173 + var refresh = function (type, checked) {
  174 + if (!triggerElem())
  175 + return;
  176 +
  177 + if ((type == 'carPark' && checked) || (type == 'station' && !checked)) {
  178 + //显示停车场面板
  179 + $('.car-park-item', cont).addClass('uk-active');
  180 + $('li.cp-tab-btn', '.real_spatial_panel').addClass('uk-active');
  181 + $('.carpark-panel', cont).jstree(true).check_all();
  182 +
  183 + //绘制停车场
  184 + gb_map_overlay_mge.drawCarpark();
  185 + }
  186 + else {
  187 + //显示站点路由面板
  188 + $('.station-route-item', cont).addClass('uk-active');
  189 + $('li.sr-tab-btn', '.real_spatial_panel').addClass('uk-active');
  190 +
  191 + //选中相关站点路由树
  192 + var chs = gb_map_overlay_mge.getCheckedDevice();
  193 + var idx = {};
  194 + $.each(chs, function () {
  195 + idx[this.data.lineId + '_' + this.data.upDown] = 1;
  196 + });
  197 +
  198 + var treeObj = $('.station-route-tree', cont).jstree(true);
  199 + for (var id in idx) {
  200 + treeObj.check_node(treeObj.get_node(id + '_st'));
  201 + }
  202 +
  203 + //drawStation();
  204 + gb_map_overlay_mge.drawStation();
  205 + }
  206 + }
  207 +
  208 + var triggerElem = function () {
  209 + var config = gb_map_config.getConfig().spatialData;
  210 +
  211 + if(config.station || config.carPark){
  212 + showPanel();
  213 + return true;
  214 + }
  215 + hidePanel();
  216 + //gb_map_imap.call('hideAllStationMarker');
  217 + //gb_map_imap.call('hideDrawCarpark');
  218 + return false;
  219 + }
  220 +
  221 + var animationend = 'webkitAnimationEnd animationend';
  222 + var showPanel = function () {
  223 + var elem = $('.real_spatial_panel');
  224 + var config = gb_map_config.getConfig().spatialData;
  225 +
  226 + if (config.station && config.carPark) {
  227 + anim_show($('.uk-subnav', elem), 'uk-animation-scale-up');
  228 + $('.real_spatial_body', elem).addClass('show-tab');
  229 + }
  230 + else {
  231 + $('.uk-subnav', elem).hide();
  232 + $('.real_spatial_body', elem).removeClass('show-tab');
  233 + }
  234 +
  235 + $('li.uk-active', elem).removeClass('uk-active');
  236 +
  237 + if (!elem.is(":hidden"))
  238 + return;
  239 +
  240 + anim_show(elem, 'uk-animation-slide-left');
  241 + }
  242 +
  243 + var hidePanel = function () {
  244 + var elem = $('.real_spatial_panel');
  245 + elem.hide();
  246 + }
  247 +
  248 + function anim_show(e, anim) {
  249 + e.addClass(anim).show().one(animationend, function () {
  250 + $(this).removeClass(anim);
  251 + });
  252 + }
  253 +
  254 + function getCheckedStation() {
  255 + var list = [];
  256 + var chs = $('.station-route-tree', cont).jstree(true).get_checked(true);
  257 + chs = chs.filter(function (item) {
  258 + return item.data;
  259 + });
  260 + $.each(chs, function () {
  261 + list.push(this.data);
  262 + });
  263 + return list;
  264 + }
  265 +
  266 + function gteCheckedCarpark() {
  267 + var list = [];
  268 + var chs = $('.carpark-panel', cont).jstree(true).get_checked(true);
  269 + $.each(chs, function () {
  270 + list.push(this.data);
  271 + });
  272 + return list;
  273 + }
  274 +
  275 + var get_st_route_tree_data = function () {
  276 + var treeData = [];
  277 +
  278 + for (var lineCode in lineStationArr) {
  279 + name = gb_data_basic.codeToLine[lineCode].name;
  280 + treeData.push({
  281 + 'text': name,
  282 + 'open': true,
  283 + 'children': [
  284 + {
  285 + 'text': '上行',
  286 + 'children': grabs(lineStationArr[lineCode][0]),
  287 + 'id': lineCode + '_0_st'
  288 + },
  289 + {
  290 + 'text': '下行',
  291 + 'children': grabs(lineStationArr[lineCode][1]),
  292 + 'id': lineCode + '_1_st'
  293 + }
  294 + ]
  295 + })
  296 + }
  297 + return treeData;
  298 + };
  299 +
  300 + var get_st_carpark_tree_data = function () {
  301 + var treeData = [];
  302 +
  303 + $.each(carparkArr, function () {
  304 + treeData.push({
  305 + 'text': this.parkName,
  306 + 'data': this
  307 + });
  308 + });
  309 +
  310 + return treeData;
  311 + }
  312 +
  313 + var grabs = function (array) {
  314 + if (!array)
  315 + return;
  316 + var rs = [];
  317 + $.each(array, function () {
  318 + rs.push({
  319 + 'text': this.stationName,
  320 + 'data': this,
  321 + 'icon': false
  322 + });
  323 + });
  324 + return rs;
  325 + }
  326 +
  327 + return {
  328 + refresh: refresh,
  329 + init: init,
  330 + getCheckedStation:getCheckedStation,
  331 + gteCheckedCarpark: gteCheckedCarpark
  332 + };
333 })(); 333 })();
334 \ No newline at end of file 334 \ No newline at end of file
src/main/resources/static/real_control_v2/mapmonitor/real.html
@@ -5,8 +5,19 @@ @@ -5,8 +5,19 @@
5 <link rel="stylesheet" href="/real_control_v2/mapmonitor/css/real.css"/> 5 <link rel="stylesheet" href="/real_control_v2/mapmonitor/css/real.css"/>
6 6
7 <div class="map-system-msg"> 7 <div class="map-system-msg">
8 - <a class="z-depth-2" href="/pages/mapmonitor/alone/wrap.html" target="_blank"><i style="transform: rotate(90deg);" class="uk-icon-hand-pointer-o"></i> 当前地图模块正在维护升级中,请点这里打开原版地图。</a> 8 + <a class="z-depth-2" href="/pages/mapmonitor/alone/wrap.html" target="_blank">
  9 + 当前地图模块正在维护升级中,请点这里打开原版地图
  10 +
  11 + <i class="uk-icon-close map-system-msg-close"></i>
  12 + </a>
9 </div> 13 </div>
  14 +<script>
  15 + $('.map-system-msg-close').on('click', function (e) {
  16 + e.stopPropagation();
  17 + $('.map-system-msg').addClass('flex-left');
  18 + return false;
  19 + });
  20 +</script>
10 21
11 <div id="real_map_container"></div> 22 <div id="real_map_container"></div>
12 <div class="real_right_gps_panel"> 23 <div class="real_right_gps_panel">
@@ -22,9 +33,6 @@ @@ -22,9 +33,6 @@
22 33
23 <div class="real_bottom_panel"> 34 <div class="real_bottom_panel">
24 <div id="handle" class="ui-resizable-handle ui-resizable-n"></div> 35 <div id="handle" class="ui-resizable-handle ui-resizable-n"></div>
25 - <div class="real_bl_cont">  
26 -  
27 - </div>  
28 <div class="real_br_cont map_config_wrap"></div> 36 <div class="real_br_cont map_config_wrap"></div>
29 </div> 37 </div>
30 38