Commit 92391cdecb0091e49f3be2533832195f94ccb15a
Merge branch 'minhang' of http://222.66.0.204:8090//panzhaov5/bsth_control into minhang
Showing
26 changed files
with
355 additions
and
168 deletions
src/main/java/com/bsth/common/Constants.java
| ... | ... | @@ -29,7 +29,7 @@ public class Constants { |
| 29 | 29 | //public static final String XD_TEMPS = "/pages/control/line/temps/**"; |
| 30 | 30 | |
| 31 | 31 | //车载网关上行接口 |
| 32 | - public static final String UPSTREAM_URL = "/control/upstream/"; | |
| 32 | + public static final String UPSTREAM_URL = "/control/upstream"; | |
| 33 | 33 | |
| 34 | 34 | public static final String SESSION_USERNAME = "sessionUserName"; |
| 35 | 35 | public static final String COMPANY_AUTHORITYS = "cmyAuths"; | ... | ... |
src/main/java/com/bsth/data/gpsdata/arrival/GeoCacheData.java
| ... | ... | @@ -242,7 +242,11 @@ public class GeoCacheData { |
| 242 | 242 | List<Map<String, Object>> speedMap = jdbcTemplate.queryForList(sql); |
| 243 | 243 | Map<String, Double> speedTempMap = new HashMap<>(); |
| 244 | 244 | for (Map<String, Object> tMap : speedMap) { |
| 245 | - speedTempMap.put(tMap.get("LINE_CODE").toString(), Double.parseDouble(tMap.get("SPEEDING").toString())); | |
| 245 | + try { | |
| 246 | + speedTempMap.put(tMap.get("LINE_CODE").toString(), Double.parseDouble(tMap.get("SPEEDING").toString())); | |
| 247 | + } catch (NumberFormatException e) { | |
| 248 | + logger.error("speeding is null..."); | |
| 249 | + } | |
| 246 | 250 | } |
| 247 | 251 | speedLimitMap = speedTempMap; |
| 248 | 252 | } | ... | ... |
src/main/java/com/bsth/data/gpsdata/arrival/handlers/InOutStationSignalHandle.java
| ... | ... | @@ -135,7 +135,7 @@ public class InOutStationSignalHandle extends SignalHandle{ |
| 135 | 135 | } |
| 136 | 136 | else if(sch.getBcType().equals("out")){ |
| 137 | 137 | ScheduleRealInfo next = dayOfSchedule.nextSame(sch); |
| 138 | - if(prev.getStopNo().equals(next.getQdzCode())){ | |
| 138 | + if(next != null && prev.getStopNo().equals(next.getQdzCode())){ | |
| 139 | 139 | //发下一个班次 |
| 140 | 140 | dayOfSchedule.addExecPlan(next); |
| 141 | 141 | outStation(gps, prev); | ... | ... |
src/main/java/com/bsth/entity/oil/Ylxxb.java
| ... | ... | @@ -35,11 +35,11 @@ public class Ylxxb { |
| 35 | 35 | private Date xgrq; |
| 36 | 36 | private String xgr; |
| 37 | 37 | private String fromgsdm; |
| 38 | - private int nylx; | |
| 38 | + private Integer nylx; | |
| 39 | 39 | @Transient |
| 40 | 40 | private String ldgh; |
| 41 | 41 | //0为接口数据,1为手工输入 |
| 42 | - private int jylx=0; | |
| 42 | + private Integer jylx=0; | |
| 43 | 43 | @Transient |
| 44 | 44 | private String gsname; |
| 45 | 45 | @Transient | ... | ... |
src/main/java/com/bsth/repository/oil/YlxxbRepository.java
| ... | ... | @@ -27,4 +27,12 @@ public interface YlxxbRepository extends BaseRepository<Ylxxb, Integer>{ |
| 27 | 27 | @Query(value="SELECT * FROM bsth_c_ylxxb where to_days(?1)=to_days(yyrq) and nbbm =?2 and jylx=1",nativeQuery=true) |
| 28 | 28 | List<Ylxxb> obtainYlxx2(String rq,String nbbm); |
| 29 | 29 | |
| 30 | + @Transactional | |
| 31 | + @Modifying | |
| 32 | + @Query(value="select * from bsth_c_ylxxb s where s.nbbm = ?1 and " | |
| 33 | + + "to_days(s.yyrq) = to_days(?2)",nativeQuery=true) | |
| 34 | + List<Ylxxb> queryListYlxxb(String clZbh,String date); | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 30 | 38 | } | ... | ... |
src/main/java/com/bsth/repository/realcontrol/ScheduleRealInfoRepository.java
| ... | ... | @@ -39,12 +39,12 @@ public interface ScheduleRealInfoRepository extends BaseRepository<ScheduleRealI |
| 39 | 39 | + " s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 group by clZbh,jGh,jName") |
| 40 | 40 | List<Map<String, Object>> dailyInfo(String line,String date); |
| 41 | 41 | |
| 42 | - @Query(value="select t.car_code,d.sender,d.txt_content,d.timestamp,0 as xlbm from (" | |
| 43 | - + " select equipment_code,car_code from bsth_c_cars where id in(" | |
| 42 | + @Query(value="select t.inside_code,d.sender,d.txt_content,d.timestamp,0 as xlbm from (" | |
| 43 | + + " select equipment_code,inside_code from bsth_c_cars where id in(" | |
| 44 | 44 | + " select cl from bsth_c_s_ccinfo where xl in ( " |
| 45 | 45 | + " select id from bsth_c_line where line_code=?1 ))) t" |
| 46 | 46 | + " left join bsth_v_directive_60 d on t.equipment_code=d.device_id " |
| 47 | - + " where d.timestamp >=?2 and d.timestamp <=?3 and t.car_code like %?4% ",nativeQuery=true) | |
| 47 | + + " where d.timestamp >=?2 and d.timestamp <=?3 and t.inside_code like %?4% ",nativeQuery=true) | |
| 48 | 48 | List<Object[]> historyMessage(String line,long d,long t,String code); |
| 49 | 49 | |
| 50 | 50 | @Query(value="SELECT r.xl_name,r.lp_name,r.cl_zbh,count(*) as cs " |
| ... | ... | @@ -74,7 +74,7 @@ public interface ScheduleRealInfoRepository extends BaseRepository<ScheduleRealI |
| 74 | 74 | @Query(value="select count(jName) from ScheduleRealInfo s where s.jName = ?1 and s.clZbh = ?2 and s.lpName = ?3 and sflj != 0") |
| 75 | 75 | int findLjbc(String jName,String clZbh,String lpName); |
| 76 | 76 | |
| 77 | - @Query(value="SELECT c.company,r.request_code,FROM_UNIXTIME(r.timestamp/1000,'%Y-%m-%d %T'),c.inside_code FROM bsth_v_report_80 r LEFT JOIN bsth_c_cars c ON c.equipment_code = r.device_id where FROM_UNIXTIME(r.timestamp/1000,'%Y-%m-%d') = ?2 and r.line_id = ?1 and c.inside_code = ?3",nativeQuery=true) | |
| 77 | + @Query(value="SELECT c.company,r.request_code,FROM_UNIXTIME(r.timestamp/1000,'%Y-%m-%d %T'),c.inside_code FROM bsth_v_report_80 r LEFT JOIN bsth_c_cars c ON c.equipment_code = r.device_id where FROM_UNIXTIME(r.timestamp/1000,'%Y-%m-%d') = ?2 and r.line_id = ?1 and c.inside_code like %?3%",nativeQuery=true) | |
| 78 | 78 | List<Object[]> account(String line,String date,String code); |
| 79 | 79 | |
| 80 | 80 | @Query(value="select s from ScheduleRealInfo s where s.xlBm = ?1 and s.scheduleDate >= str_to_date(?2,'%Y-%m-%d') " | ... | ... |
src/main/java/com/bsth/security/filter/LoginInterceptor.java
| ... | ... | @@ -8,10 +8,7 @@ import com.bsth.util.RequestUtils; |
| 8 | 8 | import org.springframework.security.core.Authentication; |
| 9 | 9 | import org.springframework.security.core.context.SecurityContextHolder; |
| 10 | 10 | |
| 11 | -import javax.servlet.FilterChain; | |
| 12 | -import javax.servlet.ServletException; | |
| 13 | -import javax.servlet.ServletRequest; | |
| 14 | -import javax.servlet.ServletResponse; | |
| 11 | +import javax.servlet.*; | |
| 15 | 12 | import javax.servlet.http.HttpServletRequest; |
| 16 | 13 | import javax.servlet.http.HttpServletResponse; |
| 17 | 14 | import java.io.IOException; |
| ... | ... | @@ -26,7 +23,7 @@ import java.util.Map; |
| 26 | 23 | * @date 2016年3月24日 上午11:49:20 |
| 27 | 24 | * |
| 28 | 25 | */ |
| 29 | -public class LoginInterceptor extends BaseFilter{ | |
| 26 | +public class LoginInterceptor extends BaseFilter { | |
| 30 | 27 | |
| 31 | 28 | @Override |
| 32 | 29 | public void destroy() { |
| ... | ... | @@ -34,16 +31,19 @@ public class LoginInterceptor extends BaseFilter{ |
| 34 | 31 | } |
| 35 | 32 | |
| 36 | 33 | @Override |
| 37 | - public void doFilter(ServletRequest arg0, ServletResponse arg1, | |
| 38 | - FilterChain arg2) throws IOException, ServletException { | |
| 39 | - | |
| 34 | + public void init(FilterConfig filterConfig) throws ServletException { | |
| 35 | + | |
| 36 | + } | |
| 37 | + | |
| 38 | + @Override | |
| 39 | + public void doFilter(HttpServletRequest request, | |
| 40 | + HttpServletResponse response, FilterChain chain) | |
| 41 | + throws IOException, ServletException { | |
| 40 | 42 | Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); |
| 41 | - | |
| 43 | + | |
| 42 | 44 | if(null == authentication){ |
| 43 | 45 | //没有登录 |
| 44 | - HttpServletRequest request = (HttpServletRequest)arg0; | |
| 45 | - HttpServletResponse response = ((HttpServletResponse)arg1); | |
| 46 | - | |
| 46 | + | |
| 47 | 47 | if(RequestUtils.isAjaxRequest(request)){ |
| 48 | 48 | Map<String, Object> map = new HashMap<>(); |
| 49 | 49 | map.put("status", |
| ... | ... | @@ -52,10 +52,11 @@ public class LoginInterceptor extends BaseFilter{ |
| 52 | 52 | } |
| 53 | 53 | else |
| 54 | 54 | response.sendRedirect(Constants.LOGIN_PAGE); |
| 55 | - | |
| 55 | + | |
| 56 | 56 | return; |
| 57 | 57 | } |
| 58 | - | |
| 59 | - arg2.doFilter(arg0, arg1); | |
| 58 | + | |
| 59 | + chain.doFilter(request, response); | |
| 60 | 60 | } |
| 61 | + | |
| 61 | 62 | } | ... | ... |
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
| ... | ... | @@ -15,6 +15,7 @@ import com.bsth.data.schedule.ScheduleComparator; |
| 15 | 15 | import com.bsth.entity.Cars; |
| 16 | 16 | import com.bsth.entity.Line; |
| 17 | 17 | import com.bsth.entity.Personnel; |
| 18 | +import com.bsth.entity.oil.Ylxxb; | |
| 18 | 19 | import com.bsth.entity.realcontrol.ChildTaskPlan; |
| 19 | 20 | import com.bsth.entity.realcontrol.LineConfig; |
| 20 | 21 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| ... | ... | @@ -25,6 +26,7 @@ import com.bsth.entity.schedule.GuideboardInfo; |
| 25 | 26 | import com.bsth.entity.sys.DutyEmployee; |
| 26 | 27 | import com.bsth.entity.sys.SysUser; |
| 27 | 28 | import com.bsth.repository.LineRepository; |
| 29 | +import com.bsth.repository.oil.YlxxbRepository; | |
| 28 | 30 | import com.bsth.repository.realcontrol.ChildTaskPlanRepository; |
| 29 | 31 | import com.bsth.repository.realcontrol.ScheduleRealInfoRepository; |
| 30 | 32 | import com.bsth.repository.realcontrol.SvgAttributeRepository; |
| ... | ... | @@ -99,6 +101,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 99 | 101 | |
| 100 | 102 | @Autowired |
| 101 | 103 | DutyEmployeeService dutyEmployeeService; |
| 104 | + | |
| 105 | + @Autowired | |
| 106 | + YlxxbRepository ylxxbRepository; | |
| 102 | 107 | |
| 103 | 108 | Logger logger = LoggerFactory.getLogger(this.getClass()); |
| 104 | 109 | |
| ... | ... | @@ -502,6 +507,8 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 502 | 507 | |
| 503 | 508 | map = new HashMap<String, Object>(); |
| 504 | 509 | try { |
| 510 | + scheduleRealInfo.setjName(scheduleRealInfo.getjGh()+scheduleRealInfo.getjName()); | |
| 511 | + scheduleRealInfo.setsName(scheduleRealInfo.getsGh()+scheduleRealInfo.getsName()); | |
| 505 | 512 | map = rru.getMapValue(scheduleRealInfo); |
| 506 | 513 | String zdsj = scheduleRealInfo.getZdsj(); |
| 507 | 514 | String zdsjActual = scheduleRealInfo.getZdsjActual(); |
| ... | ... | @@ -2433,6 +2440,25 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 2433 | 2440 | try { |
| 2434 | 2441 | scheduleRealInfo.setBcs(xyz); |
| 2435 | 2442 | xyz++; |
| 2443 | + Set<ChildTaskPlan> cs = scheduleRealInfo.getcTasks(); | |
| 2444 | + Double sjlc=0.0; | |
| 2445 | + if(!cs.isEmpty()){ | |
| 2446 | + Iterator<ChildTaskPlan> it = cs.iterator(); | |
| 2447 | + while(it.hasNext()){ | |
| 2448 | + ChildTaskPlan c = it.next(); | |
| 2449 | + if(!c.isDestroy()){ | |
| 2450 | + sjlc += c.getMileage()==null?0:c.getMileage(); | |
| 2451 | + } | |
| 2452 | + | |
| 2453 | + } | |
| 2454 | + }else{ | |
| 2455 | + if(scheduleRealInfo.getStatus() != -1){ | |
| 2456 | + sjlc =scheduleRealInfo.getJhlc(); | |
| 2457 | + } | |
| 2458 | + } | |
| 2459 | + scheduleRealInfo.setjName(scheduleRealInfo.getjGh()+scheduleRealInfo.getjName()); | |
| 2460 | + scheduleRealInfo.setsName(scheduleRealInfo.getsGh()+scheduleRealInfo.getsName()); | |
| 2461 | + scheduleRealInfo.setSjlc(format.format(sjlc)); | |
| 2436 | 2462 | map = rru.getMapValue(scheduleRealInfo); |
| 2437 | 2463 | String zdsj = scheduleRealInfo.getZdsj(); |
| 2438 | 2464 | String zdsjActual = scheduleRealInfo.getZdsjActual(); |
| ... | ... | @@ -2457,8 +2483,17 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 2457 | 2483 | } |
| 2458 | 2484 | } |
| 2459 | 2485 | |
| 2486 | + | |
| 2487 | + List<Ylxxb> listYlxxb=ylxxbRepository.queryListYlxxb( clZbh, date); | |
| 2488 | + Double jzl=0.0; | |
| 2489 | + for(int t=0;t<listYlxxb.size();t++){ | |
| 2490 | + Ylxxb y=listYlxxb.get(t); | |
| 2491 | + jzl += y.getJzl(); | |
| 2492 | + } | |
| 2493 | + | |
| 2460 | 2494 | //计算里程和班次数,并放入Map里 |
| 2461 | 2495 | map = new HashMap<String, Object>(); |
| 2496 | + map.put("jzl", jzl); | |
| 2462 | 2497 | map.put("jhlc", format.format(jhlc+jcclc)); |
| 2463 | 2498 | map.put("yygljh", format.format(jhlc)); |
| 2464 | 2499 | map.put("ssgl", format.format(remMileage)); |
| ... | ... | @@ -2632,7 +2667,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 2632 | 2667 | while(it.hasNext()){ |
| 2633 | 2668 | ChildTaskPlan c = it.next(); |
| 2634 | 2669 | if(c.getRemarks()!=null && c.getRemarks().length()>0){ |
| 2635 | - remarks += c.getRemarks(); | |
| 2670 | + if(remarks.indexOf(c.getRemarks())==-1){ | |
| 2671 | + remarks += c.getRemarks(); | |
| 2672 | + } | |
| 2636 | 2673 | } |
| 2637 | 2674 | |
| 2638 | 2675 | if(!c.isDestroy()){ |
| ... | ... | @@ -2664,7 +2701,13 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 2664 | 2701 | String xlbm=s.getXlBm(); |
| 2665 | 2702 | String fcrq=s.getScheduleDateStr(); |
| 2666 | 2703 | |
| 2667 | - | |
| 2704 | + List<Ylxxb> listYlxxb=ylxxbRepository.queryListYlxxb( s.getClZbh(), fcrq); | |
| 2705 | + Double jzl=0.0; | |
| 2706 | + for(int t=0;t<listYlxxb.size();t++){ | |
| 2707 | + Ylxxb y=listYlxxb.get(t); | |
| 2708 | + jzl += y.getJzl(); | |
| 2709 | + } | |
| 2710 | + map.put("jzl", jzl); | |
| 2668 | 2711 | map.put("xlName", s.getXlName()); |
| 2669 | 2712 | map.put("clZbh", s.getClZbh()); |
| 2670 | 2713 | map.put("fcsjActual", s.getFcsjActual()); | ... | ... |
src/main/resources/ms-jdbc.properties
| ... | ... | @@ -4,6 +4,6 @@ |
| 4 | 4 | #ms.mysql.password= 123456 |
| 5 | 5 | |
| 6 | 6 | ms.mysql.driver= com.mysql.jdbc.Driver |
| 7 | -ms.mysql.url= jdbc:mysql://192.168.168.117:3306/ms?useUnicode=true&characterEncoding=utf-8 | |
| 7 | +ms.mysql.url= jdbc:mysql://192.168.168.171:3306/ms?useUnicode=true&characterEncoding=utf-8 | |
| 8 | 8 | ms.mysql.username= root |
| 9 | -ms.mysql.password= root | |
| 10 | 9 | \ No newline at end of file |
| 10 | +ms.mysql.password= root2jsp | |
| 11 | 11 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/forms/mould/waybill_qingpu.xls
No preview for this file type
src/main/resources/static/pages/forms/statement/scheduleDaily.html
| ... | ... | @@ -158,31 +158,31 @@ |
| 158 | 158 | <td colspan="40"> </td> |
| 159 | 159 | </tr> --> |
| 160 | 160 | <tr> |
| 161 | - <td colspan="2">班序</td> | |
| 161 | + <td colspan="2">路牌</td> | |
| 162 | 162 | <td colspan="2">车号</td> |
| 163 | 163 | <td>司早</td> |
| 164 | 164 | <td>售早</td> |
| 165 | 165 | <td>司晚</td> |
| 166 | 166 | <td>售晚</td> |
| 167 | - <td colspan="2">班序</td> | |
| 167 | + <td colspan="2">路牌</td> | |
| 168 | 168 | <td colspan="2">车号</td> |
| 169 | 169 | <td>司早</td> |
| 170 | 170 | <td>售早</td> |
| 171 | 171 | <td>司晚</td> |
| 172 | 172 | <td>售晚</td> |
| 173 | - <td colspan="2">班序</td> | |
| 173 | + <td colspan="2">路牌</td> | |
| 174 | 174 | <td colspan="2">车号</td> |
| 175 | 175 | <td>司早</td> |
| 176 | 176 | <td>售早</td> |
| 177 | 177 | <td>司晚</td> |
| 178 | 178 | <td>售晚</td> |
| 179 | - <td colspan="2">班序</td> | |
| 179 | + <td colspan="2">路牌</td> | |
| 180 | 180 | <td colspan="2">车号</td> |
| 181 | 181 | <td>司早</td> |
| 182 | 182 | <td>售早</td> |
| 183 | 183 | <td>司晚</td> |
| 184 | 184 | <td>售晚</td> |
| 185 | - <td colspan="2">班序</td> | |
| 185 | + <td colspan="2">路牌</td> | |
| 186 | 186 | <td colspan="2">车号</td> |
| 187 | 187 | <td>司早</td> |
| 188 | 188 | <td>售早</td> | ... | ... |
src/main/resources/static/pages/forms/statement/waybill.html
| ... | ... | @@ -307,8 +307,8 @@ |
| 307 | 307 | {{each list as obj i}} |
| 308 | 308 | <tr> |
| 309 | 309 | <td>{{i+1}}</td> |
| 310 | - <td>{{obj.jName}}</td> | |
| 311 | - <td>{{obj.sName}}</td> | |
| 310 | + <td>{{obj.jGh}}{{obj.jName}}</td> | |
| 311 | + <td>{{obj.sGh}}{{obj.sName}}</td> | |
| 312 | 312 | <td> </td> |
| 313 | 313 | <td>{{obj.qdzName}}</td> |
| 314 | 314 | <td>{{obj.zdzName}}</td> | ... | ... |
src/main/resources/static/pages/forms/statement/waybillQp.html
| ... | ... | @@ -252,7 +252,7 @@ |
| 252 | 252 | </tr> |
| 253 | 253 | <tr> |
| 254 | 254 | <td colspan="2">出场存油 升</td> |
| 255 | - <td colspan="3">加注油量 升</td> | |
| 255 | + <td colspan="3">加注油量 {{map.jzl}}升</td> | |
| 256 | 256 | <td colspan="2">进场存油 升</td> |
| 257 | 257 | <td colspan="4">加注机油 升</td> |
| 258 | 258 | <td colspan="5">本日耗油 升</td> |
| ... | ... | @@ -298,8 +298,8 @@ |
| 298 | 298 | <tr> |
| 299 | 299 | <td>{{i+1}}</td> |
| 300 | 300 | <td>{{obj.lpName}}</td> |
| 301 | - <td>{{obj.jName}}</td> | |
| 302 | - <td>{{obj.sName}}</td> | |
| 301 | + <td>{{obj.jGh}}{{obj.jName}}</td> | |
| 302 | + <td>{{obj.sGh}}{{obj.sName}}</td> | |
| 303 | 303 | <td> </td> |
| 304 | 304 | <td>{{obj.qdzName}}</td> |
| 305 | 305 | <td>{{obj.zdzName}}</td> |
| ... | ... | @@ -350,8 +350,8 @@ |
| 350 | 350 | <td>{{map.ljgl}}</td> |
| 351 | 351 | <td colspan="2">损失班次</td> |
| 352 | 352 | <td colspan="1">{{map.ssbc}}</td> |
| 353 | - <td colspan="3">运送公里</td> | |
| 354 | - <td colspan="2">{{map.ysgl}}</td> | |
| 353 | + <td colspan="3"></td> | |
| 354 | + <td colspan="2"></td> | |
| 355 | 355 | </tr> |
| 356 | 356 | <tr> |
| 357 | 357 | ... | ... |
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/lj_zrw.html
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task/add_sub_task_range_turn.html
| ... | ... | @@ -2,14 +2,14 @@ |
| 2 | 2 | <div class="uk-modal-dialog" style="width: 1200px;"> |
| 3 | 3 | <a href="" class="uk-modal-close uk-close"></a> |
| 4 | 4 | <div class="uk-modal-header"> |
| 5 | - <h2>区间掉头子任务</h2></div> | |
| 5 | + <h2>区间调头子任务</h2></div> | |
| 6 | 6 | |
| 7 | 7 | <div style="width: 100%;padding-left: 1%;"> |
| 8 | 8 | <form class="uk-form uk-form-horizontal"> |
| 9 | 9 | <div class="uk-grid"> |
| 10 | 10 | <div class="uk-width-1-4"> |
| 11 | 11 | <div class="uk-form-row" style="margin-top: 20px;"> |
| 12 | - <label class="uk-form-label">掉头站点</label> | |
| 12 | + <label class="uk-form-label">调头站点</label> | |
| 13 | 13 | <div class="uk-form-controls"> |
| 14 | 14 | <select id="turnStationSelect"> |
| 15 | 15 | <option value="">请选择...</option> |
| ... | ... | @@ -19,7 +19,7 @@ |
| 19 | 19 | </div> |
| 20 | 20 | <div class="uk-width-1-4"> |
| 21 | 21 | <div class="uk-form-row" style="margin-top: 20px;"> |
| 22 | - <label class="uk-form-label">掉头原因</label> | |
| 22 | + <label class="uk-form-label">调头原因</label> | |
| 23 | 23 | <div class="uk-form-controls"> |
| 24 | 24 | <select id="turnReason" style="width: calc(100% - 9px);"> |
| 25 | 25 | <option value="">请选择...</option> |
| ... | ... | @@ -29,7 +29,7 @@ |
| 29 | 29 | </div> |
| 30 | 30 | <div class="uk-width-2-4" style="padding-left: 28px;"> |
| 31 | 31 | <h6 style="color: #a7a5a5;margin-top: 35px;"><i class="uk-icon-question-circle"> </i> |
| 32 | - 如果“掉头站点”在另一个走向不存在,你需要手动选择第二个营运起点</h6> | |
| 32 | + 如果“调头站点”在另一个走向不存在,你需要手动选择第二个营运起点</h6> | |
| 33 | 33 | </div> |
| 34 | 34 | </div> |
| 35 | 35 | </form> |
| ... | ... | @@ -343,7 +343,7 @@ |
| 343 | 343 | /** |
| 344 | 344 | * 为班次添加备注 |
| 345 | 345 | */ |
| 346 | - var remarks = '掉头' + $('[name=endDate]', csf).val() + ' 因 ' + $('#turnReason', modal).val() + '在' + $('[name=endStation] option:selected', csf).text() + '掉头'; | |
| 346 | + var remarks = '调头' + $('[name=endDate]', csf).val() + ' 因 ' + $('#turnReason', modal).val() + '在' + $('[name=endStation] option:selected', csf).text() + '调头'; | |
| 347 | 347 | gb_schedule_table.addRemarks([sch, nextSch], remarks); |
| 348 | 348 | UIkit.modal(modal).hide(); |
| 349 | 349 | $('#schedule-lj_zrw-modal .main-schedule-table').trigger('refresh', {sch: sch}); |
| ... | ... | @@ -368,7 +368,7 @@ |
| 368 | 368 | //submit |
| 369 | 369 | $('#submitChildTaskBtn', modal).on('click', function () { |
| 370 | 370 | if ($('#turnReason', modal).val() == '') { |
| 371 | - return notify_err('你必须选择掉头原因!'); | |
| 371 | + return notify_err('你必须选择调头原因!'); | |
| 372 | 372 | } |
| 373 | 373 | |
| 374 | 374 | $(this).addClass('disabled').attr('disabled', 'disabled'); |
| ... | ... | @@ -377,7 +377,7 @@ |
| 377 | 377 | fs.formValidation('validate'); |
| 378 | 378 | }); |
| 379 | 379 | |
| 380 | - //掉头站切换 | |
| 380 | + //调头站切换 | |
| 381 | 381 | $('#turnStationSelect', modal).on('change', function () { |
| 382 | 382 | turnStation = $(this).val(); |
| 383 | 383 | turnStationName = $('option:selected', this).text(); | ... | ... |
src/main/resources/static/real_control_v2/js/home/line_panel.js
src/main/resources/static/real_control_v2/js/main.js
| ... | ... | @@ -45,8 +45,10 @@ var gb_main_ep = new EventProxy(), |
| 45 | 45 | //初始化gps异常判定 |
| 46 | 46 | gb_gps_abnormal.initData(); |
| 47 | 47 | |
| 48 | - //嵌入地图页面 | |
| 49 | - $('li.map-panel', '#main-tab-content').load('/real_control_v2/mapmonitor/real.html'); | |
| 48 | + setTimeout(function () { | |
| 49 | + //嵌入地图页面 | |
| 50 | + $('li.map-panel', '#main-tab-content').load('/real_control_v2/mapmonitor/real.html'); | |
| 51 | + }, 1000); | |
| 50 | 52 | //弹出更新说明 |
| 51 | 53 | //showUpdateDescription(); |
| 52 | 54 | }); | ... | ... |
src/main/resources/static/real_control_v2/js/signal_state/signal_state.js
src/main/resources/static/real_control_v2/mapmonitor/css/real.css
| ... | ... | @@ -28,10 +28,10 @@ input[type=checkbox].disabled{ |
| 28 | 28 | overflow: hidden; |
| 29 | 29 | left: auto; |
| 30 | 30 | top: 3px; |
| 31 | - box-shadow: none; | |
| 32 | - border-radius: 5px 0 0 5px; | |
| 31 | + border-radius: 9px 0 0 9px; | |
| 33 | 32 | border: 1px solid #dedede; |
| 34 | 33 | border-right: none; |
| 34 | + box-shadow: none; | |
| 35 | 35 | } |
| 36 | 36 | |
| 37 | 37 | .map-system-msg.flex-left a:before{ |
| ... | ... | @@ -119,14 +119,16 @@ input[type=checkbox].disabled{ |
| 119 | 119 | .real_right_gps_panel>form{ |
| 120 | 120 | text-align: center; |
| 121 | 121 | margin-top: 20px; |
| 122 | + position: relative; | |
| 122 | 123 | } |
| 123 | 124 | |
| 124 | -.real_right_gps_panel>form>div.uk-form-icon{ | |
| 125 | - width: 88%; | |
| 125 | +.real_right_gps_panel>form div.uk-form-icon{ | |
| 126 | + width: 100%; | |
| 126 | 127 | } |
| 127 | 128 | |
| 128 | -.real_right_gps_panel>form>div.uk-form-icon input{ | |
| 129 | - width: 100%; | |
| 129 | +.real_right_gps_panel>form div.uk-form-icon input{ | |
| 130 | + width: calc(100% - 30px); | |
| 131 | + font-size: 12px; | |
| 130 | 132 | } |
| 131 | 133 | |
| 132 | 134 | .real_right_gps_panel>form>div.uk-form-icon input::-webkit-input-placeholder{ |
| ... | ... | @@ -134,22 +136,12 @@ input[type=checkbox].disabled{ |
| 134 | 136 | } |
| 135 | 137 | |
| 136 | 138 | .real_right_gps_panel .gps_tree_list{ |
| 137 | - height: calc(100% - 80px); | |
| 139 | + height: calc(100% - 70px); | |
| 138 | 140 | overflow: auto; |
| 139 | - padding: 20px 0 0 32px; | |
| 141 | + padding: 15px 0 0 32px; | |
| 140 | 142 | } |
| 141 | 143 | |
| 142 | -/*.real_bottom_panel{ | |
| 143 | - width: 100%; | |
| 144 | - background: red; | |
| 145 | - height: 100px; | |
| 146 | - position: fixed !important; | |
| 147 | - top: auto !important; | |
| 148 | - bottom: 0 !important; | |
| 149 | - left: 0; | |
| 150 | - right: 0; | |
| 151 | -} | |
| 152 | -*/ | |
| 144 | + | |
| 153 | 145 | .real_bottom_panel #handle{ |
| 154 | 146 | width: 100%; |
| 155 | 147 | height: 4px; |
| ... | ... | @@ -562,13 +554,47 @@ input[type=checkbox].disabled{ |
| 562 | 554 | margin-left: -5px; |
| 563 | 555 | } |
| 564 | 556 | |
| 565 | -/* | |
| 566 | -.pb_log_item>div{ | |
| 567 | - display: inline-block; | |
| 568 | -}*/ | |
| 557 | +.gps_tree_abnormal{ | |
| 558 | + font-size: 11px; | |
| 559 | + padding: 0 1px 0 2px; | |
| 560 | + border-radius: 3px; | |
| 561 | + margin-left: 2px; | |
| 562 | +} | |
| 569 | 563 | |
| 570 | -/* | |
| 571 | -.pb_tools_icon i:hover{ | |
| 572 | - color: #787676; | |
| 573 | - box-shadow: 1px 0px 5px 0 rgba(0,0,0,0.16), -1px 0px 10px 0 rgba(0,0,0,0.12); | |
| 574 | -}*/ | |
| 564 | +.gps_tree_abnormal.overspeed{ | |
| 565 | + background: #ff3232; | |
| 566 | + color: white; | |
| 567 | +} | |
| 568 | + | |
| 569 | +.gps_tree_abnormal.outBounds{ | |
| 570 | + background: #ffff00; | |
| 571 | + color: #787777; | |
| 572 | +} | |
| 573 | + | |
| 574 | +.gps_tree_abnormal.overspeed:hover{ | |
| 575 | + background: #e37878; | |
| 576 | + color: white; | |
| 577 | +} | |
| 578 | + | |
| 579 | +.gps_tree_abnormal.outBounds:hover{ | |
| 580 | + background:#fdfd00; | |
| 581 | + color: #595959; | |
| 582 | +} | |
| 583 | + | |
| 584 | +.real_right_gps_panel .ral-gps-autocom .uk-dropdown{ | |
| 585 | + margin-left: 15px; | |
| 586 | + width: 240px; | |
| 587 | + text-align: left; | |
| 588 | +} | |
| 589 | + | |
| 590 | +.uk-autocomplete-results.ral-gps-autocom-results{ | |
| 591 | + | |
| 592 | +} | |
| 593 | + | |
| 594 | +.uk-autocomplete-results.ral-gps-autocom-results .desc{ | |
| 595 | + color: #8e8e8e; | |
| 596 | +} | |
| 597 | + | |
| 598 | +.uk-nav-autocomplete>li.uk-active>a .desc{ | |
| 599 | + color: #fff; | |
| 600 | +} | |
| 575 | 601 | \ No newline at end of file | ... | ... |
src/main/resources/static/real_control_v2/mapmonitor/js/config.js
| ... | ... | @@ -142,7 +142,7 @@ var gb_map_config = (function () { |
| 142 | 142 | //标识角度 |
| 143 | 143 | function carIcon_angle(val) { |
| 144 | 144 | defaultConfig.carIcon.angle=this.checked; |
| 145 | - gb_map_overlay_mge.reDraw(); | |
| 145 | + gb_map_overlay_mge.reDrawGps(); | |
| 146 | 146 | } |
| 147 | 147 | |
| 148 | 148 | function recursion_get_attr(data, attr) { | ... | ... |
src/main/resources/static/real_control_v2/mapmonitor/js/gps_tree.js
| ... | ... | @@ -7,7 +7,9 @@ var gb_map_gps_tree = (function () { |
| 7 | 7 | var jstreeChanged = function (e, node, event) { |
| 8 | 8 | gb_map_overlay_mge.refresh(); |
| 9 | 9 | }; |
| 10 | - | |
| 10 | + | |
| 11 | + var readyStatus; | |
| 12 | + | |
| 11 | 13 | var init = function (cb) { |
| 12 | 14 | var allGps = gb_data_gps.allGps; |
| 13 | 15 | _devices = gb_common.get_keys(allGps); |
| ... | ... | @@ -16,7 +18,7 @@ var gb_map_gps_tree = (function () { |
| 16 | 18 | treeObj = $('.real_right_gps_panel .gps_tree_list') |
| 17 | 19 | //节点初始化完成 |
| 18 | 20 | .on('ready.jstree', function () { |
| 19 | - treeObj.jstree(true).open_all(); | |
| 21 | + //treeObj.jstree(true).open_all(); | |
| 20 | 22 | //删掉tree node a标签的 href值(避免鼠标悬停浏览器出现状态条) |
| 21 | 23 | $('.gps_tree_list .jstree-container-ul a.jstree-anchor').removeAttr('href'); |
| 22 | 24 | }) |
| ... | ... | @@ -24,6 +26,7 @@ var gb_map_gps_tree = (function () { |
| 24 | 26 | .on('state_ready.jstree', function () { |
| 25 | 27 | //绑定checkbox状态切换事件 |
| 26 | 28 | treeObj.on('check_node.jstree uncheck_node.jstree', jstreeChanged); |
| 29 | + readyStatus = true; | |
| 27 | 30 | cb && cb(); |
| 28 | 31 | }) |
| 29 | 32 | .on('activate_node.jstree', function (e, n) { |
| ... | ... | @@ -43,28 +46,12 @@ var gb_map_gps_tree = (function () { |
| 43 | 46 | 'keep_selected_style': false, |
| 44 | 47 | 'whole_node': false, |
| 45 | 48 | 'tie_selection': false |
| 46 | - }/*, | |
| 47 | - 'contextmenu': { | |
| 48 | - 'items': { | |
| 49 | - '轨迹回放': { | |
| 50 | - 'label': '轨迹回放', | |
| 51 | - 'action': function (data) { | |
| 52 | - console.log('action', data); | |
| 53 | - } | |
| 54 | - }, | |
| 55 | - '发送指令': { | |
| 56 | - 'label': '发送指令', | |
| 57 | - 'action': function (data) { | |
| 58 | - console.log('action', data); | |
| 59 | - } | |
| 60 | - } | |
| 61 | - } | |
| 62 | - }*/, | |
| 49 | + }, | |
| 63 | 50 | //local storage里的key |
| 64 | 51 | 'state': { |
| 65 | 52 | 'key': 'jstree_map_devices' |
| 66 | 53 | }, |
| 67 | - 'plugins': ['checkbox'/*, 'contextmenu'*/, 'state'] | |
| 54 | + 'plugins': ['checkbox', 'state'] | |
| 68 | 55 | }); |
| 69 | 56 | }; |
| 70 | 57 | |
| ... | ... | @@ -106,7 +93,7 @@ var gb_map_gps_tree = (function () { |
| 106 | 93 | }); |
| 107 | 94 | } |
| 108 | 95 | })(); |
| 109 | - } | |
| 96 | + }; | |
| 110 | 97 | |
| 111 | 98 | //创建线路和上下行节点 |
| 112 | 99 | var create_route_node = function (lineCode, cb) { |
| ... | ... | @@ -133,7 +120,7 @@ var gb_map_gps_tree = (function () { |
| 133 | 120 | } |
| 134 | 121 | }] |
| 135 | 122 | }, 'last', cb); |
| 136 | - } | |
| 123 | + }; | |
| 137 | 124 | |
| 138 | 125 | var appendDeviceNode = function (routeNode, gps, cb) { |
| 139 | 126 | if (!routeNode) { |
| ... | ... | @@ -150,16 +137,124 @@ var gb_map_gps_tree = (function () { |
| 150 | 137 | 'data': {lineId: gps.lineId, upDown: gps.upDown}, |
| 151 | 138 | 'icon': 'uk-icon-bus' |
| 152 | 139 | }, 'last', cb); |
| 153 | - } | |
| 140 | + }; | |
| 141 | + | |
| 142 | + /** | |
| 143 | + * 上下行改变 | |
| 144 | + * @param changeArray | |
| 145 | + */ | |
| 146 | + var changeUpDown = function (changeArray) { | |
| 147 | + console.log('changeUpDown', changeArray); | |
| 148 | + }; | |
| 149 | + | |
| 150 | + /** | |
| 151 | + * 更新节点 | |
| 152 | + */ | |
| 153 | + var abnormalsMapp = { | |
| 154 | + 'outBounds': '越界', | |
| 155 | + 'overspeed': '超速' | |
| 156 | + }; | |
| 157 | + var update_node = function (ups) { | |
| 158 | + var tree = treeObj.jstree(true) | |
| 159 | + ,node,suffix; | |
| 160 | + $.each(ups, function () { | |
| 161 | + node = tree.get_node('map_tree_device_' + this.nbbm); | |
| 162 | + suffix=abnormalsMapp[this['abnormalStatus']]; | |
| 163 | + suffix = suffix?'<a class="gps_tree_abnormal '+this['abnormalStatus']+'">'+suffix+'</a>':''; | |
| 164 | + tree.set_text(node, this.nbbm + suffix); | |
| 165 | + }); | |
| 166 | + }; | |
| 167 | + | |
| 168 | + | |
| 169 | + /** | |
| 170 | + * 搜索 | |
| 171 | + */ | |
| 172 | + var autocom = '.real_right_gps_panel .ral-gps-autocom' | |
| 173 | + ,_input = $('input', autocom); | |
| 174 | + | |
| 175 | + var autocomplete_source = function(release) { | |
| 176 | + var rs = [], | |
| 177 | + v = _input.val().toUpperCase(), count=0; | |
| 178 | + | |
| 179 | + $.each(gb_common.get_vals(gb_data_gps.allGps), function () { | |
| 180 | + if(this.nbbm.indexOf(v) != -1){ | |
| 181 | + rs.push({ | |
| 182 | + value: this.nbbm, | |
| 183 | + lineName: '青浦1路', | |
| 184 | + stationName: this.stationName?this.stationName:'', | |
| 185 | + dateStr: this.dateStr | |
| 186 | + }); | |
| 187 | + count++; | |
| 188 | + } | |
| 189 | + if(count > 11) | |
| 190 | + return false; | |
| 191 | + }); | |
| 192 | + release && release(rs); | |
| 193 | + }; | |
| 194 | + | |
| 195 | + var selectitem = function (event, data, acobject) { | |
| 196 | + //var deviceId = gb_data_basic.nbbm2deviceMap()[data.value]; | |
| 197 | + //gb_map_imap.call('drawRealGpsMarker', {gpsList: [gb_data_gps.findOne(deviceId)]}); | |
| 198 | + //地图定位 | |
| 199 | + //gb_map_overlay_mge._focus(gb_data_basic.nbbm2deviceMap()[data.value]); | |
| 200 | + | |
| 201 | + var tree = treeObj.jstree(true) | |
| 202 | + var deviceId = gb_data_basic.nbbm2deviceMap()[data.value] | |
| 203 | + ,gps = gb_data_gps.findOne(deviceId); | |
| 204 | + | |
| 205 | + //展开线路节点 | |
| 206 | + tree.open_node(tree.get_node('map_tree_line_' + gps.lineId), function () { | |
| 207 | + //展开走向节点 | |
| 208 | + tree.open_node(tree.get_node('map_tree_route_' + gps.lineId + '_' + gps.upDown), function () { | |
| 209 | + //选中车辆 | |
| 210 | + var id = 'map_tree_device_' + data.value; | |
| 211 | + var node = tree.get_node(id); | |
| 212 | + tree.check_node(node); | |
| 213 | + | |
| 214 | + var $e = $('#'+id); | |
| 215 | + treeObj.animate({ | |
| 216 | + scrollTop: $e.offset().top - treeObj.offset().top + treeObj.scrollTop() | |
| 217 | + }, 500); | |
| 218 | + //地图定位 | |
| 219 | + gb_map_overlay_mge._focus(gb_data_basic.nbbm2deviceMap()[data.value]); | |
| 220 | + }, false); | |
| 221 | + }); | |
| 222 | + }; | |
| 223 | + var result_template = '<script type="text/autocomplete">' + | |
| 224 | + ' <ul class="uk-nav uk-nav-autocomplete uk-autocomplete-results ral-gps-autocom-results">' + | |
| 225 | + ' {{~items}}' + | |
| 226 | + ' <li data-value="{{ $item.value }}">' + | |
| 227 | + ' <a>' + | |
| 228 | + ' {{ $item.value }} <small class="desc"> {{ $item.stationName }}</small>' + | |
| 229 | + ' <div class="desc"><span>{{$item.dateStr}}</span></div>' + | |
| 230 | + ' </a>' + | |
| 231 | + ' </li>' + | |
| 232 | + ' {{/items}}' + | |
| 233 | + ' </ul>' + | |
| 234 | + '</script>'; | |
| 235 | + | |
| 236 | + $(autocom).append(result_template); | |
| 237 | + UIkit.autocomplete(autocom, { | |
| 238 | + minLength: 1, | |
| 239 | + delay: 10, | |
| 240 | + source: autocomplete_source | |
| 241 | + }).on('selectitem.uk.autocomplete', selectitem); | |
| 242 | + | |
| 243 | + | |
| 154 | 244 | |
| 155 | 245 | return { |
| 156 | 246 | init: init, |
| 247 | + readyStatus: function () { | |
| 248 | + return readyStatus; | |
| 249 | + }, | |
| 157 | 250 | getChecked: function () { |
| 158 | 251 | return treeObj.jstree(true).get_checked(true); |
| 159 | 252 | }, |
| 160 | 253 | all_devices: function () { |
| 161 | 254 | return _devices; |
| 162 | 255 | }, |
| 163 | - create_node: create_node | |
| 256 | + create_node: create_node, | |
| 257 | + changeUpDown: changeUpDown, | |
| 258 | + update_node: update_node | |
| 164 | 259 | }; |
| 165 | 260 | })(); |
| 166 | 261 | \ No newline at end of file | ... | ... |
src/main/resources/static/real_control_v2/mapmonitor/js/map/iMap.js
| ... | ... | @@ -92,7 +92,7 @@ var gb_map_imap = (function () { |
| 92 | 92 | |
| 93 | 93 | var canvas = $('<canvas></canvas>')[0]; |
| 94 | 94 | canvas.width = w; |
| 95 | - canvas.height = 75; | |
| 95 | + canvas.height = 64; | |
| 96 | 96 | var ctx = canvas.getContext('2d'); |
| 97 | 97 | |
| 98 | 98 | var colours = color(gps); |
| ... | ... | @@ -101,13 +101,13 @@ var gb_map_imap = (function () { |
| 101 | 101 | //ctx.shadowBlur = 1; // 模糊尺寸 |
| 102 | 102 | //ctx.shadowColor = colours.shadow; // 颜色 |
| 103 | 103 | |
| 104 | - ctx.roundRect(0, 0, w, 24, 5).stroke(); | |
| 104 | + ctx.roundRect(0, 0, w, 19, 4).stroke(); | |
| 105 | 105 | ctx.fillStyle = colours.bgColor; |
| 106 | 106 | ctx.fill(); |
| 107 | 107 | //文字 |
| 108 | 108 | ctx.font = "14px arial"; |
| 109 | 109 | ctx.fillStyle = "#fff"; |
| 110 | - ctx.fillText(gps.nbbm, 2, 17); | |
| 110 | + ctx.fillText(gps.nbbm, 2, 14); | |
| 111 | 111 | |
| 112 | 112 | //角度图标 |
| 113 | 113 | var img = new Image(); | ... | ... |
src/main/resources/static/real_control_v2/mapmonitor/js/map/platform/baidu.js
| ... | ... | @@ -179,6 +179,12 @@ var gb_map_baidu = (function(){ |
| 179 | 179 | carparks = {}; |
| 180 | 180 | map.clearOverlays(); |
| 181 | 181 | }, |
| 182 | + clearAllGps: function () { | |
| 183 | + $.each(gb_common.get_vals(realMarkers), function () { | |
| 184 | + map.removeOverlay(this); | |
| 185 | + }); | |
| 186 | + realMarkers = {}; | |
| 187 | + }, | |
| 182 | 188 | showGpsMarker:function (opt) { |
| 183 | 189 | var chs = opt.chs; |
| 184 | 190 | for(var device in realMarkers){ |
| ... | ... | @@ -203,6 +209,8 @@ var gb_map_baidu = (function(){ |
| 203 | 209 | var deviceId = opts.deviceId |
| 204 | 210 | ,m = realMarkers[deviceId]; |
| 205 | 211 | if(m){ |
| 212 | + if(!m.isVisible()) | |
| 213 | + m.show(); | |
| 206 | 214 | map.panTo(m.point, {noAnimation: true}); |
| 207 | 215 | //setTop(m); |
| 208 | 216 | } |
| ... | ... | @@ -336,9 +344,9 @@ var gb_map_baidu = (function(){ |
| 336 | 344 | |
| 337 | 345 | //如果需要标识角度 |
| 338 | 346 | if(config.carIcon.angle) |
| 339 | - marker.setIcon(new BMap.Icon(gb_map_imap.createCarIconRotation(gpsData, w), new BMap.Size(w,75))); | |
| 347 | + marker.setIcon(new BMap.Icon(gb_map_imap.createCarIconRotation(gpsData, w), new BMap.Size(w,70))); | |
| 340 | 348 | else |
| 341 | - marker.setIcon(new BMap.Icon(gb_map_imap.createCarIcon(gpsData, w), new BMap.Size(w,25))); | |
| 349 | + marker.setIcon(new BMap.Icon(gb_map_imap.createCarIcon(gpsData, w), new BMap.Size(w,20))); | |
| 342 | 350 | } |
| 343 | 351 | |
| 344 | 352 | function createStationMark(statio) { |
| ... | ... | @@ -348,7 +356,7 @@ var gb_map_baidu = (function(){ |
| 348 | 356 | //根据站点名称 计算marker 宽度 |
| 349 | 357 | var w = statio.stationName.length * 12 + 4 |
| 350 | 358 | ,iw=w-2; |
| 351 | - var icon = new BMap.Icon(gb_map_imap.createStationIcon(statio, w), new BMap.Size(iw,20), {anchor: new BMap.Size(iw/2,20)}) | |
| 359 | + var icon = new BMap.Icon(gb_map_imap.createStationIcon(statio, w), new BMap.Size(iw,24), {anchor: new BMap.Size(iw/2,24)}) | |
| 352 | 360 | marker.setIcon(icon); |
| 353 | 361 | |
| 354 | 362 | //信息窗口 | ... | ... |
src/main/resources/static/real_control_v2/mapmonitor/js/map/platform/gaode.js
| ... | ... | @@ -63,6 +63,10 @@ var gb_map_gaode = (function() { |
| 63 | 63 | carparks={}; |
| 64 | 64 | map.clearMap(); |
| 65 | 65 | }, |
| 66 | + clearAllGps: function () { | |
| 67 | + map.remove(gb_common.get_vals(realMarkers)); | |
| 68 | + realMarkers = {}; | |
| 69 | + }, | |
| 66 | 70 | drawLine: function(opt){ |
| 67 | 71 | if(polylines[opt.id]) |
| 68 | 72 | return; |
| ... | ... | @@ -331,17 +335,17 @@ var gb_map_gaode = (function() { |
| 331 | 335 | //如果需要标识角度 |
| 332 | 336 | if(config.carIcon.angle) { |
| 333 | 337 | marker.setIcon(new AMap.Icon({ |
| 334 | - size: new AMap.Size(w, 75), //图标大小 | |
| 338 | + size: new AMap.Size(w, 70), //图标大小 | |
| 335 | 339 | image: gb_map_imap.createCarIconRotation(gps, w) |
| 336 | 340 | })); |
| 337 | 341 | marker.setOffset(new AMap.Pixel(-(w / 2), -35)); |
| 338 | 342 | } |
| 339 | 343 | else{ |
| 340 | 344 | marker.setIcon(new AMap.Icon({ |
| 341 | - size: new AMap.Size(w, 25), //图标大小 | |
| 345 | + size: new AMap.Size(w, 20), //图标大小 | |
| 342 | 346 | image: gb_map_imap.createCarIcon(gps, w) |
| 343 | 347 | })); |
| 344 | - marker.setOffset(new AMap.Pixel(-(w / 2), -12.5)); | |
| 348 | + marker.setOffset(new AMap.Pixel(-(w / 2), -10.5)); | |
| 345 | 349 | } |
| 346 | 350 | } |
| 347 | 351 | |
| ... | ... | @@ -354,10 +358,10 @@ var gb_map_gaode = (function() { |
| 354 | 358 | map: map, |
| 355 | 359 | position: [statio.gcj_lon, statio.gcj_lat], |
| 356 | 360 | icon: new AMap.Icon({ |
| 357 | - size: new AMap.Size(w, 20), //图标大小 | |
| 361 | + size: new AMap.Size(w, 24), //图标大小 | |
| 358 | 362 | image: gb_map_imap.createStationIcon(statio, w) |
| 359 | 363 | }), |
| 360 | - offset: new AMap.Pixel(-(w/2), -20) | |
| 364 | + offset: new AMap.Pixel(-(w/2), -24) | |
| 361 | 365 | }); |
| 362 | 366 | |
| 363 | 367 | //信息窗口 | ... | ... |
src/main/resources/static/real_control_v2/mapmonitor/js/map_overlay_manager.js
| ... | ... | @@ -11,25 +11,22 @@ var gb_map_overlay_mge = (function () { |
| 11 | 11 | //如果地图正在重绘,暂时不刷新GPS |
| 12 | 12 | if(reDrawing) |
| 13 | 13 | return; |
| 14 | - var all = addArr.concat(upArr).concat(upDownChange); | |
| 15 | - gpsRefreshAll(all); | |
| 14 | + //var all = addArr.concat(upArr).concat(upDownChange); | |
| 15 | + gpsRefreshAll(addArr, upArr, upDownChange); | |
| 16 | 16 | |
| 17 | 17 | }; |
| 18 | 18 | |
| 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 | - | |
| 27 | - gb_map_imap.call('drawRealGpsMarker', {gpsList: allList}); | |
| 28 | - | |
| 29 | - //有新设备上线 | |
| 30 | - if(newTreeNodes.length > 0){ | |
| 31 | - gb_map_gps_tree.create_node(newTreeNodes, showOverlayByChecks); | |
| 19 | + var gpsRefreshAll = function (addArr, upArr, upDownChange) { | |
| 20 | + //更新设备树菜单 | |
| 21 | + if(gb_map_gps_tree.readyStatus()){ | |
| 22 | + gb_map_gps_tree.create_node(addArr); | |
| 23 | + gb_map_gps_tree.update_node(upArr); | |
| 24 | + gb_map_gps_tree.changeUpDown(upDownChange); | |
| 32 | 25 | } |
| 26 | + | |
| 27 | + //更新地图 | |
| 28 | + var all = addArr.concat(upArr).concat(upDownChange); | |
| 29 | + gb_map_imap.call('drawRealGpsMarker', {gpsList: all}); | |
| 33 | 30 | }; |
| 34 | 31 | |
| 35 | 32 | var deviceFilter = function (node) { |
| ... | ... | @@ -83,15 +80,26 @@ var gb_map_overlay_mge = (function () { |
| 83 | 80 | gb_map_imap.call('clearAll'); |
| 84 | 81 | |
| 85 | 82 | drawAllSection(); |
| 86 | - //初始绘制 | |
| 87 | - gpsRefreshAll(gb_common.get_vals(gb_data_gps.allGps)); | |
| 83 | + //重绘GPS | |
| 84 | + gb_map_imap.call('drawRealGpsMarker', {gpsList: gb_common.get_vals(gb_data_gps.allGps)}); | |
| 88 | 85 | |
| 89 | 86 | showOverlayByChecks(); |
| 90 | 87 | //显示路段 |
| 91 | 88 | showSection(getCheckedDevice()); |
| 92 | 89 | |
| 93 | 90 | reDrawing = false; |
| 94 | - } | |
| 91 | + }; | |
| 92 | + | |
| 93 | + //重绘GPS | |
| 94 | + var reDrawGps = function () { | |
| 95 | + reDrawing = true; | |
| 96 | + gb_map_imap.call('clearAllGps'); | |
| 97 | + //重绘GPS | |
| 98 | + gb_map_imap.call('drawRealGpsMarker', {gpsList: gb_common.get_vals(gb_data_gps.allGps)}); | |
| 99 | + | |
| 100 | + showOverlayByChecks(); | |
| 101 | + reDrawing = false; | |
| 102 | + }; | |
| 95 | 103 | |
| 96 | 104 | var init = function () { |
| 97 | 105 | reDraw(); |
| ... | ... | @@ -102,7 +110,7 @@ var gb_map_overlay_mge = (function () { |
| 102 | 110 | centerToRational(); |
| 103 | 111 | }; |
| 104 | 112 | |
| 105 | - | |
| 113 | + | |
| 106 | 114 | var showOverlayByChecks = function () { |
| 107 | 115 | var chs = getCheckedDevice(),chsMap={}; |
| 108 | 116 | $.each(chs, function () { |
| ... | ... | @@ -115,7 +123,7 @@ var gb_map_overlay_mge = (function () { |
| 115 | 123 | showSection(chs); |
| 116 | 124 | |
| 117 | 125 | }; |
| 118 | - | |
| 126 | + | |
| 119 | 127 | var _focus = function (deviceId) { |
| 120 | 128 | gb_map_imap.call('goToMarker', {deviceId: deviceId}); |
| 121 | 129 | //打开信息窗口 |
| ... | ... | @@ -125,14 +133,14 @@ var gb_map_overlay_mge = (function () { |
| 125 | 133 | //站点获得焦点 |
| 126 | 134 | var _focus_station = function (station) { |
| 127 | 135 | gb_map_imap.call('goToStation', station.stationCode); |
| 128 | - } | |
| 136 | + }; | |
| 129 | 137 | |
| 130 | 138 | //停车场获得焦点 |
| 131 | 139 | var _focus_carpark = function (carpark) { |
| 132 | 140 | //console.log('_focus_carpark', carpark); |
| 133 | 141 | gb_map_imap.call('goToCarpark', carpark.parkCode); |
| 134 | - } | |
| 135 | - | |
| 142 | + }; | |
| 143 | + | |
| 136 | 144 | function getCheckedDevice() { |
| 137 | 145 | return gb_map_gps_tree.getChecked().filter(deviceFilter); |
| 138 | 146 | } |
| ... | ... | @@ -144,7 +152,7 @@ var gb_map_overlay_mge = (function () { |
| 144 | 152 | gb_map_imap.call('drawStationMarker', {list: list}); |
| 145 | 153 | //绘制电子围栏 |
| 146 | 154 | drawElectronicFence(list); |
| 147 | - } | |
| 155 | + }; | |
| 148 | 156 | |
| 149 | 157 | //绘制电子围栏 |
| 150 | 158 | var drawElectronicFence = function (list) { |
| ... | ... | @@ -162,13 +170,13 @@ var gb_map_overlay_mge = (function () { |
| 162 | 170 | fun=this.shapesType=='r'?drawCircle:drawPolygon; |
| 163 | 171 | fun(this); |
| 164 | 172 | }); |
| 165 | - } | |
| 173 | + }; | |
| 166 | 174 | |
| 167 | 175 | //绘制停车场 |
| 168 | 176 | var drawCarpark = function () { |
| 169 | 177 | var list = gb_map_spatial_data.gteCheckedCarpark(); |
| 170 | 178 | gb_map_imap.call('drawCarpark', {list: list}); |
| 171 | - } | |
| 179 | + }; | |
| 172 | 180 | |
| 173 | 181 | var drawCircle=function (data) { |
| 174 | 182 | var config = gb_map_config.getConfig().section.color; |
| ... | ... | @@ -185,7 +193,7 @@ var gb_map_overlay_mge = (function () { |
| 185 | 193 | }; |
| 186 | 194 | |
| 187 | 195 | gb_map_imap.call('drawCircle', opt); |
| 188 | - } | |
| 196 | + }; | |
| 189 | 197 | |
| 190 | 198 | var drawPolygon=function (data) { |
| 191 | 199 | var config = gb_map_config.getConfig().section.color; |
| ... | ... | @@ -199,7 +207,7 @@ var gb_map_overlay_mge = (function () { |
| 199 | 207 | }; |
| 200 | 208 | |
| 201 | 209 | gb_map_imap.call('drawPolygon', opt); |
| 202 | - } | |
| 210 | + }; | |
| 203 | 211 | |
| 204 | 212 | //地图居中至合理的位置 |
| 205 | 213 | var centerToRational=function () { |
| ... | ... | @@ -208,8 +216,8 @@ var gb_map_overlay_mge = (function () { |
| 208 | 216 | var id=chs[0].data.lineId+'_'+chs[0].data.upDown; |
| 209 | 217 | gb_map_imap.call('centerToLine', {id: id}); |
| 210 | 218 | } |
| 211 | - } | |
| 212 | - | |
| 219 | + }; | |
| 220 | + | |
| 213 | 221 | return { |
| 214 | 222 | init: init, |
| 215 | 223 | refresh: showOverlayByChecks, |
| ... | ... | @@ -226,6 +234,7 @@ var gb_map_overlay_mge = (function () { |
| 226 | 234 | return temps['map-win-carpark-detail-temp'](data); |
| 227 | 235 | }, |
| 228 | 236 | reDraw: reDraw, |
| 237 | + reDrawGps: reDrawGps, | |
| 229 | 238 | getCheckedDevice: getCheckedDevice, |
| 230 | 239 | drawStation: drawStation, |
| 231 | 240 | drawElectronicFence: drawElectronicFence, | ... | ... |
src/main/resources/static/real_control_v2/mapmonitor/real.html
| ... | ... | @@ -5,31 +5,18 @@ |
| 5 | 5 | <link rel="stylesheet" href="/real_control_v2/mapmonitor/css/real.css"/> |
| 6 | 6 | <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/progress.gradient.min.css"> |
| 7 | 7 | |
| 8 | -<div class="map-system-msg"> | |
| 9 | - <a class="z-depth-2" href="/pages/mapmonitor/alone/wrap.html" target="_blank"> | |
| 10 | - 当前地图模块正在维护升级中,请点这里打开原版地图 | |
| 11 | - | |
| 12 | - <i class="uk-icon-close map-system-msg-close"></i> | |
| 13 | - </a> | |
| 8 | +<div class="map-system-msg flex-left"> | |
| 9 | + <a class="z-depth-2" href="/pages/mapmonitor/alone/wrap.html" target="_blank"></a> | |
| 14 | 10 | </div> |
| 15 | -<script> | |
| 16 | - $('.map-system-msg-close').on('click', function (e) { | |
| 17 | - e.stopPropagation(); | |
| 18 | - $('.map-system-msg').addClass('flex-left'); | |
| 19 | - return false; | |
| 20 | - }); | |
| 21 | - | |
| 22 | - setTimeout(function () { | |
| 23 | - $('.map-system-msg-close').trigger('click'); | |
| 24 | - }, 2000); | |
| 25 | -</script> | |
| 26 | 11 | |
| 27 | 12 | <div id="real_map_container"></div> |
| 28 | 13 | <div class="real_right_gps_panel"> |
| 29 | - <form class="uk-form" data-uk-margin=""> | |
| 30 | - <div class="uk-form-icon"> | |
| 31 | - <i class="uk-icon-search"></i> | |
| 32 | - <input type="text" placeholder="搜索..." disabled> | |
| 14 | + <form class="uk-form" > | |
| 15 | + <div class="uk-autocomplete uk-form ral-gps-autocom" style="width: 100%;"> | |
| 16 | + <div class="uk-form-icon"> | |
| 17 | + <i class="uk-icon-search"></i> | |
| 18 | + <input type="text" placeholder="搜索..."> | |
| 19 | + </div> | |
| 33 | 20 | </div> |
| 34 | 21 | </form> |
| 35 | 22 | |
| ... | ... | @@ -40,7 +27,7 @@ |
| 40 | 27 | <!--<div id="handle" class="ui-resizable-handle ui-resizable-n"></div>--> |
| 41 | 28 | <div class="real_br_cont map_config_wrap"></div> |
| 42 | 29 | <div class="telescopic"> |
| 43 | - <i class="uk-icon-angle-double-up" ></i> | |
| 30 | + <i class="uk-icon-angle-double-up"></i> | |
| 44 | 31 | </div> |
| 45 | 32 | </div> |
| 46 | 33 | ... | ... |