Commit 3420201950b2003b844a8dc3dbf4976501ff521b
Merge branch 'minhang' into qingpu
Showing
53 changed files
with
1978 additions
and
1304 deletions
src/main/java/com/bsth/common/Constants.java
src/main/java/com/bsth/controller/forms/ExportController.java
| ... | ... | @@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.RequestMethod; |
| 13 | 13 | import org.springframework.web.bind.annotation.RequestParam; |
| 14 | 14 | import org.springframework.web.bind.annotation.RestController; |
| 15 | 15 | |
| 16 | +import com.bsth.entity.mcy_forms.Changetochange; | |
| 16 | 17 | import com.bsth.entity.mcy_forms.Linepasswengerflow; |
| 17 | 18 | import com.bsth.entity.mcy_forms.Operationservice; |
| 18 | 19 | import com.bsth.entity.mcy_forms.Shifday; |
| ... | ... | @@ -274,7 +275,48 @@ public class ExportController { |
| 274 | 275 | return resList; |
| 275 | 276 | } |
| 276 | 277 | |
| 277 | - | |
| 278 | + | |
| 279 | + //换人换车情况日统计 | |
| 280 | + @RequestMapping(value = "/changetochangeExport",method = RequestMethod.POST) | |
| 281 | + public List<Map<String, Object>> changetochangeExport(@RequestParam Map<String, Object> map){ | |
| 282 | + SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), | |
| 283 | + sdfSimple = new SimpleDateFormat("yyyyMMdd"); | |
| 284 | + List<Iterator<?>> listI = new ArrayList<Iterator<?>>(); | |
| 285 | + ReportUtils ee = new ReportUtils(); | |
| 286 | + List<Changetochange> changetochange = formsService.changetochange(map); | |
| 287 | + List<Map<String, Object>> resList = new ArrayList<Map<String, Object>>(); | |
| 288 | + for(Changetochange l : changetochange){ | |
| 289 | + Map<String, Object> m = new HashMap<String, Object>(); | |
| 290 | + m.put("rq",l.getRq()); | |
| 291 | + m.put("gs",l.getGs()); | |
| 292 | + m.put("fgs",l.getFgs()); | |
| 293 | + m.put("xl",l.getXl()); | |
| 294 | + m.put("lp",l.getLp()); | |
| 295 | + m.put("fssj",l.getFssj()); | |
| 296 | + m.put("xgsj",l.getXgsj()); | |
| 297 | + m.put("pcch",l.getPcch()); | |
| 298 | + m.put("pcry",l.getPcry()); | |
| 299 | + m.put("jhch",l.getJhch()); | |
| 300 | + m.put("jhgh",l.getJhgh()); | |
| 301 | + m.put("sjch",l.getSjch()); | |
| 302 | + m.put("sjgh",l.getSjgh()); | |
| 303 | + m.put("yy",l.getYy()); | |
| 304 | + m.put("xgr",l.getXgr()); | |
| 305 | + resList.add(m); | |
| 306 | + } | |
| 307 | + | |
| 308 | + try { | |
| 309 | + listI.add(resList.iterator()); | |
| 310 | + String path = this.getClass().getResource("/").getPath()+"static\\pages\\forms\\"; | |
| 311 | + ee.excelReplace(listI, new Object[] { map }, path+"mould\\changetochange.xls", | |
| 312 | + path+"export\\换人换车情况日统计" + sdfSimple.format(sdfMonth.parse(map.get("startDate").toString())) + ".xls"); | |
| 313 | + } catch (Exception e) { | |
| 314 | + e.printStackTrace(); | |
| 315 | + } | |
| 316 | + return resList; | |
| 317 | + } | |
| 318 | + | |
| 319 | + | |
| 278 | 320 | |
| 279 | 321 | |
| 280 | 322 | ... | ... |
src/main/java/com/bsth/controller/oil/YlbController.java
| ... | ... | @@ -49,8 +49,7 @@ public class YlbController extends BaseController<Ylb, Integer>{ |
| 49 | 49 | */ |
| 50 | 50 | @RequestMapping(value = "/obtain",method = RequestMethod.GET) |
| 51 | 51 | public Map<String, Object> obtain(@RequestParam Map<String, Object> map){ |
| 52 | - String rq=map.get("rq").toString(); | |
| 53 | - Map<String, Object> list=yblService.obtain(rq); | |
| 52 | + Map<String, Object> list=yblService.obtain(map); | |
| 54 | 53 | System.out.println(); |
| 55 | 54 | return list; |
| 56 | 55 | } | ... | ... |
src/main/java/com/bsth/controller/sys/CompanyAuthorityController.java
0 → 100644
| 1 | +package com.bsth.controller.sys; | |
| 2 | + | |
| 3 | +import com.alibaba.fastjson.JSONArray; | |
| 4 | +import com.bsth.controller.BaseController; | |
| 5 | +import com.bsth.entity.sys.CompanyAuthority; | |
| 6 | +import com.bsth.service.sys.CompanyAuthorityService; | |
| 7 | +import org.apache.commons.lang3.StringEscapeUtils; | |
| 8 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 9 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 10 | +import org.springframework.web.bind.annotation.RequestParam; | |
| 11 | +import org.springframework.web.bind.annotation.RestController; | |
| 12 | + | |
| 13 | +import java.util.List; | |
| 14 | +import java.util.Map; | |
| 15 | + | |
| 16 | +/** | |
| 17 | + * Created by panzhao on 2016/11/22. | |
| 18 | + */ | |
| 19 | +@RestController | |
| 20 | +@RequestMapping("companyAuthority") | |
| 21 | +public class CompanyAuthorityController extends BaseController<CompanyAuthority, Integer>{ | |
| 22 | + | |
| 23 | + @Autowired | |
| 24 | + CompanyAuthorityService companyAuthorityService; | |
| 25 | + | |
| 26 | + @RequestMapping(value = "save") | |
| 27 | + public Map<String, Object> save(@RequestParam Integer roleId, @RequestParam String authJsonStr){ | |
| 28 | + authJsonStr = StringEscapeUtils.unescapeHtml4(authJsonStr); | |
| 29 | + System.out.println(authJsonStr); | |
| 30 | + List<CompanyAuthority> list = JSONArray.parseArray(authJsonStr, CompanyAuthority.class); | |
| 31 | + return companyAuthorityService.save(roleId, list); | |
| 32 | + } | |
| 33 | +} | ... | ... |
src/main/java/com/bsth/controller/sys/UserController.java
| 1 | 1 | package com.bsth.controller.sys; |
| 2 | 2 | |
| 3 | -import java.util.HashMap; | |
| 4 | -import java.util.Map; | |
| 5 | - | |
| 6 | -import javax.servlet.http.HttpServletRequest; | |
| 7 | -import javax.servlet.http.HttpSession; | |
| 8 | - | |
| 3 | +import com.bsth.common.Constants; | |
| 4 | +import com.bsth.common.ResponseCode; | |
| 5 | +import com.bsth.controller.BaseController; | |
| 6 | +import com.bsth.controller.sys.dto.CompanyData; | |
| 7 | +import com.bsth.controller.sys.util.RSAUtils; | |
| 8 | +import com.bsth.entity.sys.CompanyAuthority; | |
| 9 | +import com.bsth.entity.sys.SysUser; | |
| 10 | +import com.bsth.security.util.SecurityUtils; | |
| 11 | +import com.bsth.service.sys.CompanyAuthorityService; | |
| 12 | +import com.bsth.service.sys.SysUserService; | |
| 13 | +import com.google.common.collect.ArrayListMultimap; | |
| 9 | 14 | import org.apache.commons.lang3.StringUtils; |
| 10 | 15 | import org.slf4j.Logger; |
| 11 | 16 | import org.slf4j.LoggerFactory; |
| ... | ... | @@ -18,13 +23,9 @@ import org.springframework.web.bind.annotation.RequestMethod; |
| 18 | 23 | import org.springframework.web.bind.annotation.RequestParam; |
| 19 | 24 | import org.springframework.web.bind.annotation.RestController; |
| 20 | 25 | |
| 21 | -import com.bsth.common.Constants; | |
| 22 | -import com.bsth.common.ResponseCode; | |
| 23 | -import com.bsth.controller.BaseController; | |
| 24 | -import com.bsth.controller.sys.util.RSAUtils; | |
| 25 | -import com.bsth.entity.sys.SysUser; | |
| 26 | -import com.bsth.security.util.SecurityUtils; | |
| 27 | -import com.bsth.service.sys.SysUserService; | |
| 26 | +import javax.servlet.http.HttpServletRequest; | |
| 27 | +import javax.servlet.http.HttpSession; | |
| 28 | +import java.util.*; | |
| 28 | 29 | |
| 29 | 30 | @RestController |
| 30 | 31 | @RequestMapping("user") |
| ... | ... | @@ -34,6 +35,9 @@ public class UserController extends BaseController<SysUser, Integer> { |
| 34 | 35 | |
| 35 | 36 | @Autowired |
| 36 | 37 | SysUserService sysUserService; |
| 38 | + | |
| 39 | + @Autowired | |
| 40 | + CompanyAuthorityService companyAuthorityService; | |
| 37 | 41 | |
| 38 | 42 | @RequestMapping(value = "/login/jCryptionKey") |
| 39 | 43 | public Map<String, Object> jCryptionKey(HttpServletRequest request){ |
| ... | ... | @@ -97,7 +101,11 @@ public class UserController extends BaseController<SysUser, Integer> { |
| 97 | 101 | SecurityUtils.login(user, request); |
| 98 | 102 | //session里写入用户名,webSocket连接时标识身份用 |
| 99 | 103 | session.setAttribute(Constants.SESSION_USERNAME, user.getUserName()); |
| 100 | - | |
| 104 | + | |
| 105 | + //获取公司权限数据 | |
| 106 | + List<CompanyAuthority> cmyAuths=companyAuthorityService.findByUser(user); | |
| 107 | + session.setAttribute(Constants.COMPANY_AUTHORITYS, cmyAuths); | |
| 108 | + | |
| 101 | 109 | captchaMap.remove(userName); |
| 102 | 110 | rs.put("status", ResponseCode.SUCCESS); |
| 103 | 111 | } catch (Exception e) { |
| ... | ... | @@ -106,6 +114,43 @@ public class UserController extends BaseController<SysUser, Integer> { |
| 106 | 114 | } |
| 107 | 115 | return rs; |
| 108 | 116 | } |
| 117 | + | |
| 118 | + /** | |
| 119 | + * 返回当前用户的公司权限数据,用于构建页面级联下拉框 | |
| 120 | + * @return | |
| 121 | + */ | |
| 122 | + @RequestMapping("companyData") | |
| 123 | + public List<CompanyData> companyData(HttpServletRequest request){ | |
| 124 | + List<CompanyData> rs = new ArrayList<>(); | |
| 125 | + CompanyData companyData; | |
| 126 | + | |
| 127 | + ArrayListMultimap<String, CompanyAuthority> map = ArrayListMultimap.create(); | |
| 128 | + List<CompanyAuthority> cmyAuths = (List<CompanyAuthority>) request.getSession().getAttribute(Constants.COMPANY_AUTHORITYS); | |
| 129 | + | |
| 130 | + for(CompanyAuthority cAuth : cmyAuths){ | |
| 131 | + map.put(cAuth.getCompanyCode()+"_"+cAuth.getCompanyName(), cAuth); | |
| 132 | + } | |
| 133 | + | |
| 134 | + Set<String> keys = map.keySet(); | |
| 135 | + String[] temps; | |
| 136 | + for(String k : keys){ | |
| 137 | + temps = k.split("_"); | |
| 138 | + | |
| 139 | + companyData = new CompanyData(); | |
| 140 | + companyData.setCompanyCode(temps[0]); | |
| 141 | + companyData.setCompanyName(temps[1]); | |
| 142 | + companyData.setChildren(new ArrayList<CompanyData.ChildrenCompany>()); | |
| 143 | + | |
| 144 | + cmyAuths = map.get(k); | |
| 145 | + for(CompanyAuthority c : cmyAuths){ | |
| 146 | + companyData.getChildren().add(new CompanyData.ChildrenCompany(c.getSubCompanyCode(), c.getSubCompanyName())); | |
| 147 | + } | |
| 148 | + | |
| 149 | + rs.add(companyData); | |
| 150 | + } | |
| 151 | + | |
| 152 | + return rs; | |
| 153 | + } | |
| 109 | 154 | |
| 110 | 155 | @RequestMapping(value = "/login/captchaStatus") |
| 111 | 156 | public int captchaStatus(String userName){ |
| ... | ... | @@ -162,7 +207,7 @@ public class UserController extends BaseController<SysUser, Integer> { |
| 162 | 207 | * @Description: TODO(修改密码) |
| 163 | 208 | * @param oldPWD |
| 164 | 209 | * 原始密码 |
| 165 | - * @param newwPWD | |
| 210 | + * @param newPWD | |
| 166 | 211 | * 新密码 |
| 167 | 212 | * @param cnewPWD |
| 168 | 213 | * 确认新密码 | ... | ... |
src/main/java/com/bsth/controller/sys/dto/CompanyData.java
0 → 100644
| 1 | +package com.bsth.controller.sys.dto; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * Created by panzhao on 2016/11/22. | |
| 7 | + */ | |
| 8 | +public class CompanyData { | |
| 9 | + | |
| 10 | + private String companyCode; | |
| 11 | + | |
| 12 | + private String companyName; | |
| 13 | + | |
| 14 | + private List<ChildrenCompany> children; | |
| 15 | + | |
| 16 | + public String getCompanyCode() { | |
| 17 | + return companyCode; | |
| 18 | + } | |
| 19 | + | |
| 20 | + public void setCompanyCode(String companyCode) { | |
| 21 | + this.companyCode = companyCode; | |
| 22 | + } | |
| 23 | + | |
| 24 | + public String getCompanyName() { | |
| 25 | + return companyName; | |
| 26 | + } | |
| 27 | + | |
| 28 | + public void setCompanyName(String companyName) { | |
| 29 | + this.companyName = companyName; | |
| 30 | + } | |
| 31 | + | |
| 32 | + public List<ChildrenCompany> getChildren() { | |
| 33 | + return children; | |
| 34 | + } | |
| 35 | + | |
| 36 | + public void setChildren(List<ChildrenCompany> children) { | |
| 37 | + this.children = children; | |
| 38 | + } | |
| 39 | + | |
| 40 | + public static class ChildrenCompany { | |
| 41 | + private String code; | |
| 42 | + | |
| 43 | + private String name; | |
| 44 | + | |
| 45 | + public ChildrenCompany(String code, String name){ | |
| 46 | + this.code = code; | |
| 47 | + this.name = name; | |
| 48 | + } | |
| 49 | + | |
| 50 | + public String getName() { | |
| 51 | + return name; | |
| 52 | + } | |
| 53 | + | |
| 54 | + public void setName(String name) { | |
| 55 | + this.name = name; | |
| 56 | + } | |
| 57 | + | |
| 58 | + public String getCode() { | |
| 59 | + return code; | |
| 60 | + } | |
| 61 | + | |
| 62 | + public void setCode(String code) { | |
| 63 | + this.code = code; | |
| 64 | + } | |
| 65 | + } | |
| 66 | +} | ... | ... |
src/main/java/com/bsth/data/schedule/thread/SchedulePstThread.java
| 1 | 1 | package com.bsth.data.schedule.thread; |
| 2 | 2 | |
| 3 | -import java.util.LinkedList; | |
| 4 | - | |
| 5 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 6 | -import org.springframework.stereotype.Component; | |
| 7 | - | |
| 8 | 3 | import com.bsth.data.schedule.DayOfSchedule; |
| 9 | 4 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 10 | 5 | import com.bsth.repository.realcontrol.ScheduleRealInfoRepository; |
| 6 | +import org.slf4j.Logger; | |
| 7 | +import org.slf4j.LoggerFactory; | |
| 8 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 9 | +import org.springframework.orm.jpa.JpaObjectRetrievalFailureException; | |
| 10 | +import org.springframework.stereotype.Component; | |
| 11 | + | |
| 12 | +import javax.persistence.EntityNotFoundException; | |
| 13 | +import java.util.LinkedList; | |
| 11 | 14 | |
| 12 | 15 | /** |
| 13 | - * | |
| 14 | - * @ClassName: SchedulePstThread | |
| 15 | - * @Description: TODO(班次异步持久化) | |
| 16 | - * @author PanZhao | |
| 17 | - * @date 2016年8月24日 上午1:47:05 | |
| 18 | - * | |
| 16 | + * @author PanZhao | |
| 17 | + * @ClassName: SchedulePstThread | |
| 18 | + * @Description: TODO(班次异步持久化) | |
| 19 | + * @date 2016年8月24日 上午1:47:05 | |
| 19 | 20 | */ |
| 20 | 21 | @Component |
| 21 | -public class SchedulePstThread extends Thread{ | |
| 22 | - | |
| 23 | - @Autowired | |
| 24 | - ScheduleRealInfoRepository scheduleRepository; | |
| 25 | - | |
| 26 | - @Override | |
| 27 | - public void run() { | |
| 28 | - LinkedList<ScheduleRealInfo> list = DayOfSchedule.pstBuffer; | |
| 29 | - | |
| 30 | - ScheduleRealInfo schedule; | |
| 31 | - for (int i = 0; i < 1000; i++) { | |
| 32 | - schedule = list.poll(); | |
| 33 | - if (null == schedule) | |
| 34 | - break; | |
| 35 | - | |
| 36 | - scheduleRepository.save(schedule); | |
| 37 | - } | |
| 38 | - } | |
| 22 | +public class SchedulePstThread extends Thread { | |
| 23 | + | |
| 24 | + @Autowired | |
| 25 | + ScheduleRealInfoRepository scheduleRepository; | |
| 26 | + | |
| 27 | + Logger logger = LoggerFactory.getLogger(this.getClass()); | |
| 28 | + | |
| 29 | + @Override | |
| 30 | + public void run() { | |
| 31 | + | |
| 32 | + LinkedList<ScheduleRealInfo> list = DayOfSchedule.pstBuffer; | |
| 33 | + | |
| 34 | + ScheduleRealInfo schedule; | |
| 35 | + for (int i = 0; i < 1000; i++) { | |
| 36 | + schedule = list.poll(); | |
| 37 | + if (null == schedule) | |
| 38 | + break; | |
| 39 | + | |
| 40 | + try { | |
| 41 | + scheduleRepository.save(schedule); | |
| 42 | + } | |
| 43 | + catch (JpaObjectRetrievalFailureException e1){ | |
| 44 | + logger.error("JpaObjectRetrievalFailureException error.... 可忽略"); | |
| 45 | + } | |
| 46 | + catch(EntityNotFoundException e2){ | |
| 47 | + logger.error("EntityNotFoundException error.... 可忽略"); | |
| 48 | + } | |
| 49 | + catch (Exception e) { | |
| 50 | + logger.error("", e); | |
| 51 | + } | |
| 52 | + } | |
| 53 | + } | |
| 39 | 54 | } | ... | ... |
src/main/java/com/bsth/entity/mcy_forms/Changetochange.java
| 1 | 1 | package com.bsth.entity.mcy_forms; |
| 2 | 2 | |
| 3 | +import java.util.Date; | |
| 4 | + | |
| 5 | +import javax.persistence.Entity; | |
| 6 | +import javax.persistence.GeneratedValue; | |
| 7 | +import javax.persistence.Id; | |
| 8 | +import javax.persistence.Table; | |
| 9 | + | |
| 10 | +@Entity | |
| 11 | +@Table(name = "bsth_c_chtoch") | |
| 3 | 12 | public class Changetochange { |
| 13 | + @Id | |
| 14 | + @GeneratedValue | |
| 15 | + private Integer id; | |
| 16 | + | |
| 17 | + private String rq;//日期 | |
| 18 | + | |
| 19 | + private String gs;//公司 | |
| 20 | + | |
| 21 | + private String fgs;//分公司 | |
| 22 | + | |
| 23 | + private String xl;//线路 | |
| 24 | + | |
| 25 | + private String lp;//路牌 | |
| 26 | + | |
| 27 | + private String fssj;//发生时间 | |
| 28 | + | |
| 29 | + private String xgsj;//修改时间 | |
| 30 | + | |
| 31 | + private String pcch;//配车车号 | |
| 32 | + | |
| 33 | + private String pcry;//配车人员 | |
| 34 | + | |
| 35 | + private String jhch;//计划车号 | |
| 36 | + | |
| 37 | + private String jhgh;//计划工号 | |
| 38 | + | |
| 39 | + private String sjch;//实际车号 | |
| 40 | + | |
| 41 | + private String sjgh;//实际工号 | |
| 42 | + | |
| 43 | + private String yy;//原因 | |
| 44 | + | |
| 45 | + private String xgr;//修改人 | |
| 46 | + | |
| 47 | + | |
| 48 | + public Integer getId() { | |
| 49 | + return id; | |
| 50 | + } | |
| 51 | + | |
| 52 | + public void setId(Integer id) { | |
| 53 | + this.id = id; | |
| 54 | + } | |
| 55 | + | |
| 56 | + public String getRq() { | |
| 57 | + return rq; | |
| 58 | + } | |
| 59 | + | |
| 60 | + public void setRq(String rq) { | |
| 61 | + this.rq = rq; | |
| 62 | + } | |
| 63 | + | |
| 64 | + public String getGs() { | |
| 65 | + return gs; | |
| 66 | + } | |
| 67 | + | |
| 68 | + public void setGs(String gs) { | |
| 69 | + this.gs = gs; | |
| 70 | + } | |
| 71 | + | |
| 72 | + public String getFgs() { | |
| 73 | + return fgs; | |
| 74 | + } | |
| 75 | + | |
| 76 | + public void setFgs(String fgs) { | |
| 77 | + this.fgs = fgs; | |
| 78 | + } | |
| 79 | + | |
| 80 | + public String getXl() { | |
| 81 | + return xl; | |
| 82 | + } | |
| 83 | + | |
| 84 | + public void setXl(String xl) { | |
| 85 | + this.xl = xl; | |
| 86 | + } | |
| 87 | + | |
| 88 | + public String getLp() { | |
| 89 | + return lp; | |
| 90 | + } | |
| 91 | + | |
| 92 | + public void setLp(String lp) { | |
| 93 | + this.lp = lp; | |
| 94 | + } | |
| 95 | + | |
| 96 | + public String getFssj() { | |
| 97 | + return fssj; | |
| 98 | + } | |
| 99 | + | |
| 100 | + public void setFssj(String fssj) { | |
| 101 | + this.fssj = fssj; | |
| 102 | + } | |
| 103 | + | |
| 104 | + public String getXgsj() { | |
| 105 | + return xgsj; | |
| 106 | + } | |
| 107 | + | |
| 108 | + public void setXgsj(String xgsj) { | |
| 109 | + this.xgsj = xgsj; | |
| 110 | + } | |
| 111 | + | |
| 112 | + public String getPcch() { | |
| 113 | + return pcch; | |
| 114 | + } | |
| 115 | + | |
| 116 | + public void setPcch(String pcch) { | |
| 117 | + this.pcch = pcch; | |
| 118 | + } | |
| 119 | + | |
| 120 | + public String getPcry() { | |
| 121 | + return pcry; | |
| 122 | + } | |
| 123 | + | |
| 124 | + public void setPcry(String pcry) { | |
| 125 | + this.pcry = pcry; | |
| 126 | + } | |
| 127 | + | |
| 128 | + | |
| 129 | + public String getJhch() { | |
| 130 | + return jhch; | |
| 131 | + } | |
| 132 | + | |
| 133 | + public void setJhch(String jhch) { | |
| 134 | + this.jhch = jhch; | |
| 135 | + } | |
| 136 | + | |
| 137 | + public String getJhgh() { | |
| 138 | + return jhgh; | |
| 139 | + } | |
| 140 | + | |
| 141 | + public void setJhgh(String jhgh) { | |
| 142 | + this.jhgh = jhgh; | |
| 143 | + } | |
| 144 | + | |
| 145 | + public String getSjch() { | |
| 146 | + return sjch; | |
| 147 | + } | |
| 148 | + | |
| 149 | + public void setSjch(String sjch) { | |
| 150 | + this.sjch = sjch; | |
| 151 | + } | |
| 152 | + | |
| 153 | + public String getSjgh() { | |
| 154 | + return sjgh; | |
| 155 | + } | |
| 156 | + | |
| 157 | + public void setSjgh(String sjgh) { | |
| 158 | + this.sjgh = sjgh; | |
| 159 | + } | |
| 160 | + | |
| 161 | + public String getYy() { | |
| 162 | + return yy; | |
| 163 | + } | |
| 164 | + | |
| 165 | + public void setYy(String yy) { | |
| 166 | + this.yy = yy; | |
| 167 | + } | |
| 168 | + | |
| 169 | + public String getXgr() { | |
| 170 | + return xgr; | |
| 171 | + } | |
| 172 | + | |
| 173 | + public void setXgr(String xgr) { | |
| 174 | + this.xgr = xgr; | |
| 175 | + } | |
| 176 | + | |
| 4 | 177 | |
| 5 | 178 | |
| 6 | 179 | } | ... | ... |
src/main/java/com/bsth/entity/sys/CompanyAuthority.java
0 → 100644
| 1 | +package com.bsth.entity.sys; | |
| 2 | + | |
| 3 | +import javax.persistence.*; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * Created by panzhao on 2016/11/22. | |
| 7 | + */ | |
| 8 | +@Entity | |
| 9 | +@Table(name = "bsth_c_sys_company_auth") | |
| 10 | +public class CompanyAuthority { | |
| 11 | + | |
| 12 | + @Id | |
| 13 | + @GeneratedValue(strategy = GenerationType.IDENTITY) | |
| 14 | + private Integer id; | |
| 15 | + | |
| 16 | + /** 公司代码 */ | |
| 17 | + private String companyCode; | |
| 18 | + | |
| 19 | + /** 公司名称 */ | |
| 20 | + private String companyName; | |
| 21 | + | |
| 22 | + /** 分公司代码 */ | |
| 23 | + private String subCompanyCode; | |
| 24 | + | |
| 25 | + /** 分公司代码 */ | |
| 26 | + private String subCompanyName; | |
| 27 | + | |
| 28 | + private Integer roleId; | |
| 29 | + | |
| 30 | + public String getSubCompanyName() { | |
| 31 | + return subCompanyName; | |
| 32 | + } | |
| 33 | + | |
| 34 | + public void setSubCompanyName(String subCompanyName) { | |
| 35 | + this.subCompanyName = subCompanyName; | |
| 36 | + } | |
| 37 | + | |
| 38 | + public String getSubCompanyCode() { | |
| 39 | + return subCompanyCode; | |
| 40 | + } | |
| 41 | + | |
| 42 | + public void setSubCompanyCode(String subCompanyCode) { | |
| 43 | + this.subCompanyCode = subCompanyCode; | |
| 44 | + } | |
| 45 | + | |
| 46 | + public String getCompanyName() { | |
| 47 | + return companyName; | |
| 48 | + } | |
| 49 | + | |
| 50 | + public void setCompanyName(String companyName) { | |
| 51 | + this.companyName = companyName; | |
| 52 | + } | |
| 53 | + | |
| 54 | + public String getCompanyCode() { | |
| 55 | + return companyCode; | |
| 56 | + } | |
| 57 | + | |
| 58 | + public void setCompanyCode(String companyCode) { | |
| 59 | + this.companyCode = companyCode; | |
| 60 | + } | |
| 61 | + | |
| 62 | + public Integer getId() { | |
| 63 | + return id; | |
| 64 | + } | |
| 65 | + | |
| 66 | + public void setId(Integer id) { | |
| 67 | + this.id = id; | |
| 68 | + } | |
| 69 | + | |
| 70 | + public Integer getRoleId() { | |
| 71 | + return roleId; | |
| 72 | + } | |
| 73 | + | |
| 74 | + public void setRoleId(Integer roleId) { | |
| 75 | + this.roleId = roleId; | |
| 76 | + } | |
| 77 | +} | ... | ... |
src/main/java/com/bsth/repository/realcontrol/ScheduleRealInfoRepository.java
| ... | ... | @@ -37,14 +37,14 @@ public interface ScheduleRealInfoRepository extends BaseRepository<ScheduleRealI |
| 37 | 37 | @Query(value="SELECT r.xl_name,r.lp_name,r.cl_zbh,d.sender,d.timestamp," |
| 38 | 38 | + " d.txt_content FROM bsth_c_s_sp_info_real r RIGHT JOIN bsth_v_directive_60 " |
| 39 | 39 | + "d ON r.id = d.sch WHERE d.is_dispatch = 1 AND r.xl_bm like %?1% AND " |
| 40 | - + "r.schedule_date like %?2% and r.cl_zbh like %?3% order by d.timestamp",nativeQuery=true) | |
| 40 | + + " DATE_FORMAT(r.schedule_date,'%Y-%m-%d') = ?2 and r.cl_zbh like %?3% order by d.timestamp",nativeQuery=true) | |
| 41 | 41 | List<Object[]> historyMessage(String line,String date,String code); |
| 42 | 42 | |
| 43 | 43 | @Query(value="SELECT r.xl_name,r.lp_name,r.cl_zbh,count(*) as cs " |
| 44 | 44 | + " FROM bsth_c_s_sp_info_real r RIGHT JOIN bsth_v_directive_60 d " |
| 45 | 45 | + " ON r.id = d.sch WHERE d.is_dispatch = 1 AND r.xl_bm like %?1% AND " |
| 46 | - + " r.schedule_date like %?2% and r.cl_zbh like %?3% group by " | |
| 47 | - + " lp_name,xl_name,cl_zbh order by d.timestamp",nativeQuery=true) | |
| 46 | + + " DATE_FORMAT(r.schedule_date,'%Y-%m-%d') = ?2 and r.cl_zbh like %?3% group by " | |
| 47 | + + " lp_name,xl_name,cl_zbh",nativeQuery=true) | |
| 48 | 48 | List<Object[]> historyMessageCount(String line,String date,String code); |
| 49 | 49 | |
| 50 | 50 | @Query(value = "select max(id) from ScheduleRealInfo") |
| ... | ... | @@ -100,10 +100,10 @@ public interface ScheduleRealInfoRepository extends BaseRepository<ScheduleRealI |
| 100 | 100 | void deleteByLineCodeAndDate(String xlBm, String schDate); |
| 101 | 101 | |
| 102 | 102 | //去掉了 xlBm is not null |
| 103 | - @Query(value="select s from ScheduleRealInfo s where (s.xlBm = ?1 or s.xlBm is not null) and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2") | |
| 103 | + @Query(value="select s from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2") | |
| 104 | 104 | List<ScheduleRealInfo> scheduleByDateAndLine(String line,String date); |
| 105 | 105 | |
| 106 | - @Query(value="select new map(s.scheduleDate as scheduleDate,s.xlBm as xlBm,s.clZbh as clZbh,s.jGh as jGh) from ScheduleRealInfo s where (s.xlBm = ?1 or s.xlBm is not null) and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY xlBm,clZbh,jGh,scheduleDate,jGh ORDER BY xlBm,clZbh") | |
| 106 | + @Query(value="select new map(s.scheduleDate as scheduleDate,s.xlBm as xlBm,s.clZbh as clZbh,s.jGh as jGh) from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY xlBm,clZbh,jGh,scheduleDate,jGh ORDER BY xlBm,clZbh") | |
| 107 | 107 | List<Map<String,Object>> yesterdayDataList(String line,String date); |
| 108 | 108 | |
| 109 | 109 | @Query(value="select s from ScheduleRealInfo s where DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?1 ORDER BY xlBm,lpName,clZbh,xlDir") | ... | ... |
src/main/java/com/bsth/repository/sys/CompanyAuthorityRepository.java
0 → 100644
| 1 | +package com.bsth.repository.sys; | |
| 2 | + | |
| 3 | +import com.bsth.entity.sys.CompanyAuthority; | |
| 4 | +import com.bsth.repository.BaseRepository; | |
| 5 | +import org.springframework.data.jpa.repository.Modifying; | |
| 6 | +import org.springframework.data.jpa.repository.Query; | |
| 7 | +import org.springframework.stereotype.Repository; | |
| 8 | + | |
| 9 | +import java.util.List; | |
| 10 | + | |
| 11 | +/** | |
| 12 | + * Created by panzhao on 2016/11/22. | |
| 13 | + */ | |
| 14 | +@Repository | |
| 15 | +public interface CompanyAuthorityRepository extends BaseRepository<CompanyAuthority, Integer>{ | |
| 16 | + | |
| 17 | + @Modifying | |
| 18 | + @Query(value="DELETE FROM CompanyAuthority WHERE roleId = ?1") | |
| 19 | + void deleteByRoleId(Integer roleId); | |
| 20 | + | |
| 21 | + @Query(value = "select ca from CompanyAuthority ca where ca.roleId in ?1") | |
| 22 | + List<CompanyAuthority> findByRoles(List<Integer> idx); | |
| 23 | +} | ... | ... |
src/main/java/com/bsth/repository/sys/ModuleRepository.java
| 1 | 1 | package com.bsth.repository.sys; |
| 2 | 2 | |
| 3 | -import java.util.List; | |
| 4 | -import java.util.Set; | |
| 5 | - | |
| 3 | +import com.bsth.entity.sys.Module; | |
| 4 | +import com.bsth.repository.BaseRepository; | |
| 6 | 5 | import org.springframework.data.jpa.domain.Specification; |
| 7 | -import org.springframework.data.jpa.repository.EntityGraph; | |
| 8 | 6 | import org.springframework.data.jpa.repository.Query; |
| 9 | 7 | import org.springframework.stereotype.Repository; |
| 10 | 8 | |
| 11 | -import com.bsth.entity.sys.Module; | |
| 12 | -import com.bsth.repository.BaseRepository; | |
| 9 | +import java.util.List; | |
| 10 | +import java.util.Set; | |
| 13 | 11 | |
| 14 | 12 | @Repository |
| 15 | -public interface ModuleRepository extends BaseRepository<Module, Integer>{ | |
| 16 | - | |
| 17 | - @Query("select m from Module m where m.groupType in ?1") | |
| 18 | - List<Module> findByGroupType(String[] groupType); | |
| 19 | - | |
| 20 | - List<Module> findByPId(Integer pId); | |
| 21 | - | |
| 22 | - @Query("select m from Module m where m.id in ?1") | |
| 23 | - Set<Module> findByIds(List<Integer> ids); | |
| 24 | - | |
| 25 | - @Override | |
| 26 | - List<Module> findAll(Specification<Module> spec); | |
| 13 | +public interface ModuleRepository extends BaseRepository<Module, Integer> { | |
| 14 | + | |
| 15 | + @Query("select m from Module m where m.groupType in ?1") | |
| 16 | + List<Module> findByGroupType(String[] groupType); | |
| 17 | + | |
| 18 | + List<Module> findByPId(Integer pId); | |
| 19 | + | |
| 20 | + @Query("select m from Module m where m.id in ?1") | |
| 21 | + Set<Module> findByIds(List<Integer> ids); | |
| 22 | + | |
| 23 | + @Override | |
| 24 | + List<Module> findAll(Specification<Module> spec); | |
| 25 | + | |
| 27 | 26 | } | ... | ... |
src/main/java/com/bsth/service/forms/impl/FormsServiceImpl.java
| ... | ... | @@ -3,8 +3,10 @@ package com.bsth.service.forms.impl; |
| 3 | 3 | import java.sql.ResultSet; |
| 4 | 4 | import java.sql.SQLException; |
| 5 | 5 | import java.text.DecimalFormat; |
| 6 | +import java.text.ParseException; | |
| 6 | 7 | import java.text.SimpleDateFormat; |
| 7 | 8 | import java.util.ArrayList; |
| 9 | +import java.util.Date; | |
| 8 | 10 | import java.util.HashMap; |
| 9 | 11 | import java.util.Iterator; |
| 10 | 12 | import java.util.List; |
| ... | ... | @@ -226,11 +228,66 @@ public class FormsServiceImpl implements FormsService{ |
| 226 | 228 | } |
| 227 | 229 | |
| 228 | 230 | //换人换车情况日统计 |
| 229 | - @Override | |
| 230 | - public List<Changetochange> changetochange(Map<String, Object> map) { | |
| 231 | - | |
| 232 | - return null; | |
| 233 | - } | |
| 231 | + String rq; | |
| 232 | + @Override | |
| 233 | + public List<Changetochange> changetochange(Map<String, Object> map) { | |
| 234 | + | |
| 235 | + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd") ; | |
| 236 | + SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日") ; | |
| 237 | + Date d = null ; | |
| 238 | + Date d1 = null ; | |
| 239 | + try { | |
| 240 | + d = sdf.parse(map.get("startDate").toString()); | |
| 241 | + d1 = sdf.parse(map.get("endDate").toString()); | |
| 242 | + } catch (ParseException e) { | |
| 243 | + | |
| 244 | + e.printStackTrace(); | |
| 245 | + } | |
| 246 | + String rq2=sdf1.format(d); | |
| 247 | + String rq3=sdf1.format(d1); | |
| 248 | + | |
| 249 | + rq=rq2+"-"+ rq3; | |
| 250 | + | |
| 251 | + String sql=" select c.*,l.line_code from bsth_c_chtoch c LEFT JOIN bsth_c_line l on c.xl=l.name WHERE 1=1 "; | |
| 252 | + if(!map.get("startDate").toString().equals(" ")&&!map.get("endDate").toString().equals(" ")){ | |
| 253 | + sql+= "and DATE_FORMAT( c.rq,'%Y-%m-%d') BETWEEN '"+map.get("startDate").toString()+"' and '"+map.get("endDate").toString()+"'"; | |
| 254 | + } | |
| 255 | + if(!map.get("line").equals("")){ | |
| 256 | + sql+="and line_code='"+map.get("line")+"'"; | |
| 257 | + } | |
| 258 | + if(map.get("sel").equals("2")){ | |
| 259 | + sql+=" and c.pcch!=c.pcry"; | |
| 260 | + }else if(map.get("sel").equals("1")){ | |
| 261 | + sql+=" and c.jhgh!=c.sjgh"; | |
| 262 | + } | |
| 263 | + | |
| 264 | + | |
| 265 | + List<Changetochange> list = jdbcTemplate.query(sql, new RowMapper<Changetochange>() { | |
| 266 | + | |
| 267 | + @Override | |
| 268 | + public Changetochange mapRow(ResultSet arg0, int arg1) throws SQLException { | |
| 269 | + Changetochange chan= new Changetochange(); | |
| 270 | + | |
| 271 | + chan.setRq(rq); | |
| 272 | + chan.setGs(arg0.getString("gs").toString()); | |
| 273 | + chan.setFgs(arg0.getString("fgs").toString()); | |
| 274 | + chan.setXl(arg0.getString("xl").toString()); | |
| 275 | + chan.setLp(arg0.getString("lp").toString()); | |
| 276 | + chan.setFssj(arg0.getString("fssj").toString()); | |
| 277 | + chan.setXgsj(arg0.getString("xgsj").toString()); | |
| 278 | + chan.setPcch(arg0.getString("pcch").toString()); | |
| 279 | + chan.setPcry(arg0.getString("pcry").toString()); | |
| 280 | + chan.setJhch(arg0.getString("jhch").toString()); | |
| 281 | + chan.setJhgh(arg0.getString("jhgh").toString()); | |
| 282 | + chan.setSjch(arg0.getString("sjch").toString()); | |
| 283 | + chan.setSjgh(arg0.getString("sjgh").toString()); | |
| 284 | + chan.setYy(arg0.getString("yy").toString()); | |
| 285 | + chan.setXgr(arg0.getString("xgr").toString()); | |
| 286 | + return chan; | |
| 287 | + } | |
| 288 | + }); | |
| 289 | + return list; | |
| 290 | + } | |
| 234 | 291 | |
| 235 | 292 | |
| 236 | 293 | //路单数据 | ... | ... |
src/main/java/com/bsth/service/oil/YlbService.java
| ... | ... | @@ -7,7 +7,7 @@ import com.bsth.entity.oil.Ylb; |
| 7 | 7 | import com.bsth.service.BaseService; |
| 8 | 8 | |
| 9 | 9 | public interface YlbService extends BaseService<Ylb, Integer>{ |
| 10 | - Map<String, Object> obtain(String rq); | |
| 10 | + Map<String, Object> obtain(Map<String, Object> map); | |
| 11 | 11 | String obtainDsq(); |
| 12 | 12 | Map<String, Object> sort(Map<String, Object> map); |
| 13 | 13 | ... | ... |
src/main/java/com/bsth/service/oil/impl/YlbServiceImpl.java
| ... | ... | @@ -85,7 +85,7 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS |
| 85 | 85 | //前一天所有车辆最后进场班次信息 |
| 86 | 86 | List<Ylb> ylListBe=repository.obtainYlbefore(rq); |
| 87 | 87 | //从排班表中计算出行驶的总里程 |
| 88 | - List<Map<String,Object>> listpb=scheduleRealInfoService.yesterdayDataList("1024",rq); | |
| 88 | + List<Map<String,Object>> listpb=scheduleRealInfoService.yesterdayDataList("",rq); | |
| 89 | 89 | |
| 90 | 90 | for(int x=0;x<listpb.size();x++){ |
| 91 | 91 | |
| ... | ... | @@ -151,7 +151,13 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS |
| 151 | 151 | */ |
| 152 | 152 | @Transactional |
| 153 | 153 | @Override |
| 154 | - public Map<String, Object> obtain(String rq) { | |
| 154 | + public Map<String, Object> obtain(Map<String, Object> map2) { | |
| 155 | + String rq=map2.get("rq").toString(); | |
| 156 | + String line=""; | |
| 157 | + if(map2.get("xlbm_eq")!=null){ | |
| 158 | + line=map2.get("xlbm_eq").toString(); | |
| 159 | + } | |
| 160 | + | |
| 155 | 161 | SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); |
| 156 | 162 | //保留两位小数 |
| 157 | 163 | DecimalFormat df = new DecimalFormat("#.00"); |
| ... | ... | @@ -164,7 +170,7 @@ public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbS |
| 164 | 170 | //前一天所有车辆最后进场班次信息 |
| 165 | 171 | List<Ylb> ylListBe=repository.obtainYlbefore(rq); |
| 166 | 172 | //从排班表中计算出行驶的总里程 |
| 167 | - List<Map<String,Object>> listpb=scheduleRealInfoService.yesterdayDataList("1024",rq); | |
| 173 | + List<Map<String,Object>> listpb=scheduleRealInfoService.yesterdayDataList(line,rq); | |
| 168 | 174 | |
| 169 | 175 | for(int x=0;x<listpb.size();x++){ |
| 170 | 176 | ... | ... |
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
| ... | ... | @@ -1129,8 +1129,10 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 1129 | 1129 | addMileage += tempJhlc; |
| 1130 | 1130 | ljbc++; |
| 1131 | 1131 | }else{ |
| 1132 | + if(scheduleRealInfo.getBcType().equals("normal")){ | |
| 1133 | + jhbc++; | |
| 1134 | + } | |
| 1132 | 1135 | jhlc += tempJhlc; |
| 1133 | - jhbc++; | |
| 1134 | 1136 | if(scheduleRealInfo.getStatus() == -1){ |
| 1135 | 1137 | remMileage += tempJhlc; |
| 1136 | 1138 | cjbc++; |
| ... | ... | @@ -1279,6 +1281,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 1279 | 1281 | if(scheduleRealInfo.isSflj()){ |
| 1280 | 1282 | ljgl += tempJhlc; |
| 1281 | 1283 | } |
| 1284 | + }else{ | |
| 1285 | + ssgl += tempJhlc; | |
| 1286 | + ssgl_other += tempJhlc; | |
| 1282 | 1287 | } |
| 1283 | 1288 | }else{ |
| 1284 | 1289 | Iterator<ChildTaskPlan> it = childTaskPlans.iterator(); |
| ... | ... | @@ -1516,7 +1521,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 1516 | 1521 | if(scheduleRealInfo.getXlBm().equals(yesterdayDataList.get(i).get("xlBm")) && scheduleRealInfo.getClZbh().equals(yesterdayDataList.get(i).get("clZbh")) |
| 1517 | 1522 | && scheduleRealInfo.getjGh().equals(yesterdayDataList.get(i).get("jGh"))){ |
| 1518 | 1523 | //根据线路代码获取公司 |
| 1519 | - Line li = lineRepository.findByLineCode(line); | |
| 1524 | + Line li = lineRepository.findByLineCode(scheduleRealInfo.getXlBm()); | |
| 1520 | 1525 | yesterdayDataList.get(i).put("company", li.getCompany()); |
| 1521 | 1526 | //计算总公里 |
| 1522 | 1527 | Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks(); | ... | ... |
src/main/java/com/bsth/service/sys/CompanyAuthorityService.java
0 → 100644
| 1 | +package com.bsth.service.sys; | |
| 2 | + | |
| 3 | +import com.bsth.entity.sys.CompanyAuthority; | |
| 4 | +import com.bsth.entity.sys.SysUser; | |
| 5 | +import com.bsth.service.BaseService; | |
| 6 | + | |
| 7 | +import java.util.List; | |
| 8 | +import java.util.Map; | |
| 9 | + | |
| 10 | +/** | |
| 11 | + * Created by panzhao on 2016/11/22. | |
| 12 | + */ | |
| 13 | +public interface CompanyAuthorityService extends BaseService<CompanyAuthority, Integer> { | |
| 14 | + Map<String,Object> save(Integer roleId, List<CompanyAuthority> list); | |
| 15 | + | |
| 16 | + List<CompanyAuthority> findByUser(SysUser user); | |
| 17 | +} | ... | ... |
src/main/java/com/bsth/service/sys/impl/CompanyAuthorityServiceImpl.java
0 → 100644
| 1 | +package com.bsth.service.sys.impl; | |
| 2 | + | |
| 3 | +import com.bsth.common.ResponseCode; | |
| 4 | +import com.bsth.entity.sys.CompanyAuthority; | |
| 5 | +import com.bsth.entity.sys.Role; | |
| 6 | +import com.bsth.entity.sys.SysUser; | |
| 7 | +import com.bsth.repository.sys.CompanyAuthorityRepository; | |
| 8 | +import com.bsth.service.impl.BaseServiceImpl; | |
| 9 | +import com.bsth.service.sys.CompanyAuthorityService; | |
| 10 | +import org.slf4j.Logger; | |
| 11 | +import org.slf4j.LoggerFactory; | |
| 12 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 13 | +import org.springframework.stereotype.Service; | |
| 14 | +import org.springframework.transaction.annotation.Transactional; | |
| 15 | + | |
| 16 | +import java.util.*; | |
| 17 | + | |
| 18 | +/** | |
| 19 | + * Created by panzhao on 2016/11/22. | |
| 20 | + */ | |
| 21 | +@Service | |
| 22 | +public class CompanyAuthorityServiceImpl extends BaseServiceImpl<CompanyAuthority, Integer> implements CompanyAuthorityService { | |
| 23 | + | |
| 24 | + @Autowired | |
| 25 | + CompanyAuthorityRepository companyAuthorityRepository; | |
| 26 | + | |
| 27 | + Logger logger = LoggerFactory.getLogger(this.getClass()); | |
| 28 | + | |
| 29 | + @Transactional | |
| 30 | + @Override | |
| 31 | + public Map<String, Object> save(Integer roleId, List<CompanyAuthority> list) { | |
| 32 | + Map<String, Object> rs = new HashMap(); | |
| 33 | + | |
| 34 | + try { | |
| 35 | + for(CompanyAuthority cauth : list){ | |
| 36 | + cauth.setRoleId(roleId); | |
| 37 | + } | |
| 38 | + | |
| 39 | + //删除原数据 | |
| 40 | + companyAuthorityRepository.deleteByRoleId(roleId); | |
| 41 | + | |
| 42 | + //重新写入数据 | |
| 43 | + companyAuthorityRepository.save(list); | |
| 44 | + | |
| 45 | + rs.put("status", ResponseCode.SUCCESS); | |
| 46 | + } catch (Exception e) { | |
| 47 | + logger.error("", e); | |
| 48 | + rs.put("status", ResponseCode.ERROR); | |
| 49 | + } | |
| 50 | + | |
| 51 | + return rs; | |
| 52 | + } | |
| 53 | + | |
| 54 | + @Override | |
| 55 | + public List<CompanyAuthority> findByUser(SysUser user) { | |
| 56 | + Set<Role> roles = user.getRoles(); | |
| 57 | + if(roles == null || roles.size() == 0) | |
| 58 | + return null; | |
| 59 | + | |
| 60 | + List<Integer> idx = new ArrayList<>(); | |
| 61 | + for(Role r : roles) | |
| 62 | + idx.add(r.getId()); | |
| 63 | + | |
| 64 | + List<CompanyAuthority> cAuths = companyAuthorityRepository.findByRoles(idx); | |
| 65 | + return cAuths; | |
| 66 | + } | |
| 67 | +} | ... | ... |
src/main/java/com/bsth/service/sys/impl/ModuleServiceImpl.java
| 1 | 1 | package com.bsth.service.sys.impl; |
| 2 | 2 | |
| 3 | -import java.util.ArrayList; | |
| 4 | -import java.util.HashMap; | |
| 5 | -import java.util.HashSet; | |
| 6 | -import java.util.List; | |
| 7 | -import java.util.Map; | |
| 8 | -import java.util.Set; | |
| 9 | - | |
| 10 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 11 | -import org.springframework.data.domain.Sort; | |
| 12 | -import org.springframework.data.domain.Sort.Direction; | |
| 13 | -import org.springframework.stereotype.Service; | |
| 14 | - | |
| 15 | 3 | import com.bsth.common.ResponseCode; |
| 16 | 4 | import com.bsth.entity.sys.Module; |
| 17 | 5 | import com.bsth.entity.sys.Role; |
| ... | ... | @@ -20,12 +8,23 @@ import com.bsth.repository.sys.ModuleRepository; |
| 20 | 8 | import com.bsth.security.util.SecurityUtils; |
| 21 | 9 | import com.bsth.service.impl.BaseServiceImpl; |
| 22 | 10 | import com.bsth.service.sys.ModuleService; |
| 11 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 12 | +import org.springframework.jdbc.core.JdbcTemplate; | |
| 13 | +import org.springframework.jdbc.core.RowMapper; | |
| 14 | +import org.springframework.stereotype.Service; | |
| 15 | + | |
| 16 | +import java.sql.ResultSet; | |
| 17 | +import java.sql.SQLException; | |
| 18 | +import java.util.*; | |
| 23 | 19 | |
| 24 | 20 | @Service |
| 25 | 21 | public class ModuleServiceImpl extends BaseServiceImpl<Module, Integer> implements ModuleService{ |
| 26 | 22 | |
| 27 | 23 | @Autowired |
| 28 | 24 | ModuleRepository moduleRepository; |
| 25 | + | |
| 26 | + @Autowired | |
| 27 | + JdbcTemplate jdbcTemplate; | |
| 29 | 28 | |
| 30 | 29 | @Override |
| 31 | 30 | public List<Module> findByGroupType(String group) { |
| ... | ... | @@ -62,26 +61,38 @@ public class ModuleServiceImpl extends BaseServiceImpl<Module, Integer> implemen |
| 62 | 61 | SysUser user = SecurityUtils.getCurrentUser(); |
| 63 | 62 | Set<Role> roles = user.getRoles(); |
| 64 | 63 | |
| 65 | - List<Module> all = (List<Module>) moduleRepository.findAll(new Sort(Direction.ASC, "id")) | |
| 66 | - ,results = new ArrayList<>(); | |
| 67 | - | |
| 64 | + String inCond = ""; | |
| 65 | + for(Role r : roles) | |
| 66 | + inCond += ("," + r.getId()); | |
| 67 | + | |
| 68 | + inCond = "(" + inCond.substring(1) + ")"; | |
| 69 | + | |
| 70 | + String sql = "select ID,CREATE_DATE,`ENABLE`,GROUP_TYPE,ICON,MAPP_SYMBOL,NAME,P_ID,PATH,UPDATE_DATE,CONTAINER from bsth_c_sys_module m where id in (select modules from bsth_c_sys_role_modules where roles in "+inCond+") or group_type != 3"; | |
| 71 | + List<Module> all = jdbcTemplate.query(sql, new ModuleRowMapper()) | |
| 72 | + ,rs = new ArrayList<>(); | |
| 73 | + | |
| 68 | 74 | Map<Integer, Module> map = new HashMap<>(); |
| 69 | 75 | for(Module m : all){ |
| 70 | 76 | map.put(m.getId(), m); |
| 71 | - for(Role r : roles){ | |
| 72 | - if(m.getRoles().contains(r)) | |
| 73 | - results.add(m); | |
| 74 | - } | |
| 77 | + if(m.getGroupType().equals("3")) | |
| 78 | + rs.add(m); | |
| 75 | 79 | } |
| 76 | 80 | |
| 77 | 81 | //上层目录和组节点 |
| 78 | 82 | Set<Module> pSet = new HashSet<>(); |
| 79 | - for(Module m : results){ | |
| 83 | + for(Module m : rs){ | |
| 80 | 84 | searchParentNode(m, map, pSet); |
| 81 | 85 | } |
| 82 | - results.addAll(pSet); | |
| 83 | - | |
| 84 | - return results; | |
| 86 | + rs.addAll(pSet); | |
| 87 | + | |
| 88 | + //排序 | |
| 89 | + Collections.sort(rs, new Comparator<Module>() { | |
| 90 | + @Override | |
| 91 | + public int compare(Module o1, Module o2) { | |
| 92 | + return o1.getId() - o2.getId(); | |
| 93 | + } | |
| 94 | + }); | |
| 95 | + return rs; | |
| 85 | 96 | } |
| 86 | 97 | |
| 87 | 98 | /** |
| ... | ... | @@ -105,4 +116,24 @@ public class ModuleServiceImpl extends BaseServiceImpl<Module, Integer> implemen |
| 105 | 116 | searchParentNode(pModule, idMap, pSet); |
| 106 | 117 | } |
| 107 | 118 | } |
| 119 | + | |
| 120 | + public class ModuleRowMapper implements RowMapper<Module>{ | |
| 121 | + | |
| 122 | + @Override | |
| 123 | + public Module mapRow(ResultSet rs, int rowNum) throws SQLException { | |
| 124 | + Module module = new Module(); | |
| 125 | + module.setId(rs.getInt("ID")); | |
| 126 | + module.setCreateDate(rs.getDate("CREATE_DATE")); | |
| 127 | + module.setEnable(rs.getBoolean("ENABLE")); | |
| 128 | + module.setGroupType(rs.getString("GROUP_TYPE")); | |
| 129 | + module.setIcon(rs.getString("ICON")); | |
| 130 | + module.setMappSymbol(rs.getString("MAPP_SYMBOL")); | |
| 131 | + module.setName(rs.getString("NAME")); | |
| 132 | + module.setpId(rs.getInt("P_ID")); | |
| 133 | + module.setPath(rs.getString("PATH")); | |
| 134 | + module.setUpdateDate(rs.getDate("UPDATE_DATE")); | |
| 135 | + module.setContainer(rs.getString("CONTAINER")); | |
| 136 | + return module; | |
| 137 | + } | |
| 138 | + } | |
| 108 | 139 | } | ... | ... |
src/main/resources/static/pages/forms/mould/changetochange.xls
0 → 100644
No preview for this file type
src/main/resources/static/pages/forms/statement/account.html
| ... | ... | @@ -80,44 +80,18 @@ |
| 80 | 80 | locale : 'zh-cn' |
| 81 | 81 | }); |
| 82 | 82 | |
| 83 | - $('#line').select2({ | |
| 84 | - ajax: { | |
| 85 | - url: '/realSchedule/findLine', | |
| 86 | - type: 'post', | |
| 87 | - dataType: 'json', | |
| 88 | - delay: 150, | |
| 89 | - data: function(params){ | |
| 90 | - return{line: params.term}; | |
| 91 | - }, | |
| 92 | - processResults: function (data) { | |
| 93 | - return { | |
| 94 | - results: data | |
| 95 | - }; | |
| 96 | - }, | |
| 97 | - cache: true | |
| 98 | - }, | |
| 99 | - templateResult: function(repo){ | |
| 100 | - if (repo.loading) return repo.text; | |
| 101 | - var h = '<span>'+repo.text+'</span>'; | |
| 102 | - return h; | |
| 103 | - }, | |
| 104 | - escapeMarkup: function (markup) { return markup; }, | |
| 105 | - minimumInputLength: 1, | |
| 106 | - templateSelection: function(repo){ | |
| 107 | - return repo.text; | |
| 108 | - }, | |
| 109 | - language: { | |
| 110 | - noResults: function(){ | |
| 111 | - return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>'; | |
| 112 | - }, | |
| 113 | - inputTooShort : function(e) { | |
| 114 | - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>'; | |
| 115 | - }, | |
| 116 | - searching : function() { | |
| 117 | - return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>'; | |
| 118 | - } | |
| 119 | - } | |
| 120 | - }); | |
| 83 | + $.get('/basic/lineCode2Name',function(result){ | |
| 84 | + var data=[]; | |
| 85 | + | |
| 86 | + for(var code in result){ | |
| 87 | + data.push({id: code, text: result[code]}); | |
| 88 | + } | |
| 89 | + console.log(data); | |
| 90 | + initPinYinSelect2('#line',data,''); | |
| 91 | + | |
| 92 | + }) | |
| 93 | + | |
| 94 | + | |
| 121 | 95 | $('#code').select2({ |
| 122 | 96 | ajax: { |
| 123 | 97 | url: '/realSchedule/sreachVehic', | ... | ... |
src/main/resources/static/pages/forms/statement/changetochange.html
| ... | ... | @@ -10,63 +10,98 @@ |
| 10 | 10 | border: 1px solid; } |
| 11 | 11 | .table-bordered > thead > tr > th, |
| 12 | 12 | .table-bordered > thead > tr > td { |
| 13 | - border-bottom-width: 2px; } | |
| 13 | + border-bottom-width: 2px; | |
| 14 | + text-align: center;} | |
| 14 | 15 | |
| 15 | 16 | .table > tbody + tbody { |
| 16 | 17 | border-top: 1px solid; } |
| 18 | + .table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th{ text-align: center; } | |
| 19 | +.table-checkable tr > th:first-child, .table-checkable tr > td:first-child { | |
| 20 | + text-align: center; | |
| 21 | + max-width: initial; | |
| 22 | + min-width: 40px; | |
| 23 | + padding-left: 0; | |
| 24 | + padding-right: 0; | |
| 25 | +} | |
| 26 | + | |
| 17 | 27 | </style> |
| 18 | 28 | |
| 19 | 29 | <div class="page-head"> |
| 20 | 30 | <div class="page-title"> |
| 21 | - <h1>鎹汉鎹㈣溅鎯呭喌缁熻琛</h1> | |
| 31 | + <h1>换人换车情况统计表</h1> | |
| 22 | 32 | </div> |
| 23 | 33 | </div> |
| 24 | 34 | |
| 25 | 35 | <div class="row"> |
| 26 | 36 | <div class="col-md-12"> |
| 27 | 37 | <div class="portlet light porttlet-fit bordered"> |
| 38 | + <div class="portlet-title"> | |
| 39 | + <form class="form-inline" action="" method="post"> | |
| 40 | + <div style="display: inline-block;"> | |
| 41 | + <span class="item-label" style="width: 80px;">线路: </span> | |
| 42 | + <select class="form-control" name="line" id="line" style="width: 120px;"></select> | |
| 43 | + </div> | |
| 44 | + <div style="display: inline-block;margin-left: 15px;"> | |
| 45 | + <span class="item-label" style="width: 80px;">开始时间: </span> | |
| 46 | + <input class="form-control" type="text" id="startDate" style="width: 120px;"/> | |
| 47 | + </div> | |
| 48 | + <div style="display: inline-block;margin-left: 15px;"> | |
| 49 | + <span class="item-label" style="width: 80px;">结束时间: </span> | |
| 50 | + <input class="form-control" type="text" id="endDate" style="width: 120px;"/> | |
| 51 | + </div> | |
| 52 | + <div style="display: inline-block;"> | |
| 53 | + <span class="item-label" style="width: 120px;">类型: </span> | |
| 54 | + <select class="form-control" id="sel"> | |
| 55 | + <option value="">请选择</option> | |
| 56 | + <option value="1">换人</option> | |
| 57 | + <option value="2">换车</option> | |
| 58 | + </select> | |
| 59 | + </div> | |
| 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="导出"/> | |
| 63 | + </div> | |
| 64 | + </form> | |
| 65 | + </div> | |
| 28 | 66 | <div class="portlet-body"> |
| 29 | - <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> | |
| 67 | + <div class="table-container" style="margin-top: 20px;overflow:auto;min-width: 1000px"> | |
| 30 | 68 | <table class="table table-bordered table-hover table-checkable" id="forms"> |
| 31 | 69 | <thead> |
| 32 | 70 | <tr> |
| 33 | - <th colspan="13">鎹汉鎹㈣溅鎯呭喌缁熻琛</th> | |
| 71 | + <th colspan="15">换人换车情况统计表</th> | |
| 34 | 72 | </tr> |
| 35 | - <!-- <tr> | |
| 36 | - <td colspan="12">杞﹂槦 绔 <span id="sDate"></span>鑷<span id="eDate"></span></td> | |
| 37 | - </tr> --> | |
| 38 | 73 | <tr> |
| 39 | - <td rowspan="3">鏃ユ湡</td> | |
| 40 | - <td rowspan="3">鍏徃</td> | |
| 41 | - <td rowspan="3">鍒嗗叕鍙</td> | |
| 42 | - <td rowspan="3">绾胯矾</td> | |
| 43 | - <td rowspan="3">璺墝</td> | |
| 44 | - <td rowspan="3">鍙戠敓鏃堕棿</td> | |
| 45 | - <td rowspan="3">淇敼鏃堕棿</td> | |
| 46 | - <td colspan="3">閰嶈溅</td> | |
| 47 | - <td colspan="3">浜哄憳</td> | |
| 48 | - <td rowspan="3">鍘熷洜</td> | |
| 49 | - <td rowspan="3">淇敼浜</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> | |
| 50 | 85 | </tr> |
| 51 | 86 | <tr> |
| 52 | - <td>璁″垝</td> | |
| 53 | - <td>瀹為檯</td> | |
| 54 | - <td>璁″垝</td> | |
| 55 | - <td>瀹為檯</td> | |
| 87 | + <td>计划</td> | |
| 88 | + <td>实际</td> | |
| 89 | + <td colspan="2">计划</td> | |
| 90 | + <td colspan="2">实际</td> | |
| 91 | + | |
| 56 | 92 | </tr> |
| 57 | 93 | <tr> |
| 58 | - <td>璁″垝</td> | |
| 59 | - <td>瀹為檯</td> | |
| 60 | - <td>璁″垝</td> | |
| 61 | - <td>瀹為檯</td> | |
| 94 | + <td>车号</td> | |
| 95 | + <td>车号</td> | |
| 96 | + <td>工号</td> | |
| 97 | + <td>人员</td> | |
| 98 | + <td>工号</td> | |
| 99 | + <td>人员</td> | |
| 62 | 100 | </tr> |
| 63 | 101 | </thead> |
| 64 | - <tbody class="list_correctForm"> | |
| 102 | + <tbody> | |
| 65 | 103 | |
| 66 | 104 | </tbody> |
| 67 | - <tbody class="list_correctForm_statistics"> | |
| 68 | - | |
| 69 | - </tbody> | |
| 70 | 105 | </table> |
| 71 | 106 | </div> |
| 72 | 107 | </div> |
| ... | ... | @@ -76,7 +111,7 @@ |
| 76 | 111 | |
| 77 | 112 | <script> |
| 78 | 113 | $(function(){ |
| 79 | - // 鍏抽棴宸︿晶鏍 | |
| 114 | + // 关闭左侧栏 | |
| 80 | 115 | if (!$('body').hasClass('page-sidebar-closed')) |
| 81 | 116 | $('.menu-toggler.sidebar-toggler').click(); |
| 82 | 117 | |
| ... | ... | @@ -113,162 +148,81 @@ |
| 113 | 148 | }, |
| 114 | 149 | language: { |
| 115 | 150 | noResults: function(){ |
| 116 | - return '<span style="color:red;font-size: 12px;">娌℃湁鎼滅储鍒扮嚎璺紒</span>'; | |
| 117 | - }, | |
| 118 | - inputTooShort : function(e) { | |
| 119 | - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 杈撳叆绾胯矾鎼滅储绾胯矾</span>'; | |
| 120 | - }, | |
| 121 | - searching : function() { | |
| 122 | - return '<span style="color:gray;font-size: 12px;"> 姝e湪鎼滅储绾胯矾...</span>'; | |
| 123 | - } | |
| 124 | - } | |
| 125 | - }); | |
| 126 | - $('#lpName').select2({ | |
| 127 | - ajax: { | |
| 128 | - url: '/realSchedule/findLpName', | |
| 129 | - type: 'post', | |
| 130 | - dataType: 'json', | |
| 131 | - delay: 150, | |
| 132 | - data: function(params){ | |
| 133 | - return{lpName: params.term}; | |
| 134 | - }, | |
| 135 | - processResults: function (data) { | |
| 136 | - return { | |
| 137 | - results: data | |
| 138 | - }; | |
| 139 | - }, | |
| 140 | - cache: true | |
| 141 | - }, | |
| 142 | - templateResult: function(repo){ | |
| 143 | - if (repo.loading) return repo.text; | |
| 144 | - var h = '<span>'+repo.text+'</span>'; | |
| 145 | - return h; | |
| 146 | - }, | |
| 147 | - escapeMarkup: function (markup) { return markup; }, | |
| 148 | - minimumInputLength: 1, | |
| 149 | - templateSelection: function(repo){ | |
| 150 | - return repo.text; | |
| 151 | - }, | |
| 152 | - language: { | |
| 153 | - noResults: function(){ | |
| 154 | - return '<span style="color:red;font-size: 12px;">娌℃湁鎼滅储鍒拌矾鐗岋紒</span>'; | |
| 151 | + return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>'; | |
| 155 | 152 | }, |
| 156 | 153 | inputTooShort : function(e) { |
| 157 | - 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>'; | |
| 158 | 155 | }, |
| 159 | 156 | searching : function() { |
| 160 | - return '<span style="color:gray;font-size: 12px;"> 姝e湪鎼滅储璺墝...</span>'; | |
| 157 | + return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>'; | |
| 161 | 158 | } |
| 162 | 159 | } |
| 163 | 160 | }); |
| 164 | - $('#code').select2({ | |
| 165 | - ajax: { | |
| 166 | - url: '/realSchedule/sreachVehic', | |
| 167 | - dataType: 'json', | |
| 168 | - delay: 150, | |
| 169 | - data: function(params){ | |
| 170 | - return{nbbm: params.term}; | |
| 171 | - }, | |
| 172 | - processResults: function (data) { | |
| 173 | - return { | |
| 174 | - results: data | |
| 175 | - }; | |
| 176 | - }, | |
| 177 | - cache: true | |
| 178 | - }, | |
| 179 | - templateResult: function(repo){ | |
| 180 | - if (repo.loading) return repo.text; | |
| 181 | - var h = '<span>'+repo.text+'</span>'; | |
| 182 | - h += (repo.lineName?' <span class="select2-desc">'+repo.lineName+'</span>':''); | |
| 183 | - return h; | |
| 184 | - }, | |
| 185 | - escapeMarkup: function (markup) { return markup; }, | |
| 186 | - minimumInputLength: 1, | |
| 187 | - templateSelection: function(repo){ | |
| 188 | - return repo.text; | |
| 189 | - }, | |
| 190 | - language: { | |
| 191 | - noResults: function(){ | |
| 192 | - return '<span style="color:red;font-size: 12px;">娌℃湁鎼滅储鍒拌溅杈嗭紒</span>'; | |
| 193 | - }, | |
| 194 | - inputTooShort : function(e) { | |
| 195 | - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 杈撳叆鑷紪鍙锋悳绱㈣溅杈</span>'; | |
| 196 | - }, | |
| 197 | - searching : function() { | |
| 198 | - return '<span style="color:gray;font-size: 12px;"> 姝e湪鎼滅储杞﹁締...</span>'; | |
| 199 | - } | |
| 200 | - } | |
| 201 | - }); | |
| 202 | - | |
| 161 | + var line; | |
| 162 | + var startDate; | |
| 163 | + var endDate; | |
| 203 | 164 | $("#query").on("click",function(){ |
| 204 | - var line = $("#line").val(); | |
| 205 | - var startDate = $("#startDate").val(); | |
| 206 | - var endDate = $("#endDate").val(); | |
| 207 | - var lpName = $("#lpName").val(); | |
| 208 | - var code = $("#code").val(); | |
| 209 | - $post("/realSchedule/correctForm",{line:line,startDate:startDate,endDate:endDate,lpName:lpName,code:code},function(result){ | |
| 210 | - $("#sDate").text(startDate); | |
| 211 | - $("#eDate").text(endDate); | |
| 212 | - var temp = {}; | |
| 213 | - var today_account = 0; | |
| 214 | - temp["line"] = $("#line").text() ; | |
| 215 | - temp["totalAdjustment"] = result.length; | |
| 216 | - | |
| 217 | - $.each(result, function(i, obj) { | |
| 218 | - if(moment(obj.scheduleDate).format("YYYY-MM-DD") == moment(obj.updateDate).format("YYYY-MM-DD")){ | |
| 219 | - today_account++; | |
| 220 | - } | |
| 221 | - obj.updateDate = moment(obj.updateDate).format("YYYY-MM-DD HH:mm:ss"); | |
| 222 | - }); | |
| 223 | - | |
| 224 | - temp["todayAdjustment"] = today_account; | |
| 225 | - temp["beforeAdjustment"] = result.length-today_account; | |
| 226 | - temp["historyAdjustment"] = 0; | |
| 227 | - | |
| 228 | - var list_correctForm = template('list_correctForm',{list:result}); | |
| 229 | - // 鎶婃覆鏌撳ソ鐨勬ā鐗坔tml鏂囨湰杩藉姞鍒拌〃鏍间腑 | |
| 230 | - $('#forms .list_correctForm').html(list_correctForm); | |
| 231 | - | |
| 232 | - var list_correctForm_statistics = template('list_correctForm_statistics',temp); | |
| 233 | - $('#forms .list_correctForm_statistics').html(list_correctForm_statistics); | |
| 234 | - }); | |
| 165 | + line = $("#line").val(); | |
| 166 | + sel = $("#sel").val(); | |
| 167 | + var startDate1=$("#startDate").val(); | |
| 168 | + var endDate1=$("#endDate").val(); | |
| 169 | + | |
| 170 | + if(startDate1!=''&&endDate1!=''){ | |
| 171 | + $post('/mcy_forms/changetochange',{sel:sel,line:line,startDate:$("#startDate").val(),endDate:$("#endDate").val(),type:'query'},function(result){ | |
| 172 | + startDate = $("#startDate").val(); | |
| 173 | + endDate = $("#endDate").val(); | |
| 174 | + $("#sDate").text(startDate); | |
| 175 | + $("#eDate").text(endDate); | |
| 176 | + var temp = {}; | |
| 177 | + var today_account = 0; | |
| 178 | + temp["line"] = $("#line").text(); | |
| 179 | + $.each(result, function(i, obj) { | |
| 180 | + if(moment(obj.schedule_date_str).format("YYYY-MM-DD") == moment(obj.startDate).format("YYYY-MM-DD")){ | |
| 181 | + today_account++; | |
| 182 | + } | |
| 183 | + obj.updateDate = moment(obj.startDate).format("YYYY-MM-DD HH:mm:ss"); | |
| 184 | + }); | |
| 185 | + // 把数据填充到模版中 | |
| 186 | + var tbodyHtml = template('changetochange',{list:result}); | |
| 187 | + // 把渲染好的模版html文本追加到表格中 | |
| 188 | + $('#forms tbody').html(tbodyHtml); | |
| 189 | + }) | |
| 190 | + | |
| 191 | + }else{ | |
| 192 | + alert("请选择时间范围!"); | |
| 193 | + } | |
| 194 | + }); | |
| 195 | + | |
| 196 | + $("#export").on("click",function(){ | |
| 197 | + $post('/mcy_export/changetochangeExport',{startDate:startDate,endDate:endDate,type:'export'},function(result){ | |
| 198 | + window.open("/downloadFile/download?fileName=换人换车情况日统计"+moment(startDate).format("YYYYMMDD")); | |
| 235 | 199 | }); |
| 236 | 200 | }); |
| 201 | + }); | |
| 237 | 202 | </script> |
| 238 | -<script type="text/html" id="list_correctForm"> | |
| 203 | +<script type="text/html" id="changetochange"> | |
| 239 | 204 | {{each list as obj i}} |
| 240 | 205 | <tr> |
| 241 | - <td>{{obj.xlName}}</td> | |
| 242 | - <td>{{obj.lpName}}</td> | |
| 243 | - <td>{{obj.clZbh}}</td> | |
| 244 | - <td>{{obj.jName}}</td> | |
| 245 | - <td>{{obj.sName}}</td> | |
| 246 | - <td>{{obj.fcsj}}</td> | |
| 247 | - <td>{{obj.fcsjActual}}</td> | |
| 248 | - <td>{{obj.zdsj}}</td> | |
| 249 | - <td>{{obj.zdsjActual}}</td> | |
| 250 | - <td>{{obj.updateBy}}</td> | |
| 251 | - <td>{{obj.updateDate}}</td> | |
| 252 | - <td>{{obj.remarks}}</td> | |
| 206 | + <td>{{obj.rq}}</td> | |
| 207 | + <td>{{obj.gs}}</td> | |
| 208 | + <td>{{obj.fgs}}</td> | |
| 209 | + <td>{{obj.xl}}</td> | |
| 210 | + <td>{{obj.lp}}</td> | |
| 211 | + <td>{{obj.fssj}}</td> | |
| 212 | + <td>{{obj.xgsj}}</td> | |
| 213 | + <td>{{obj.pcch}}</td> | |
| 214 | + <td>{{obj.pcry}}</td> | |
| 215 | + <td>{{obj.jhgh}}</td> | |
| 216 | + <td>{{obj.jhch}}</td> | |
| 217 | + <td>{{obj.sjgh}}</td> | |
| 218 | + <td>{{obj.sjch}}</td> | |
| 219 | + <td>{{obj.yy}}</td> | |
| 220 | + <td>{{obj.xgr}}</td> | |
| 253 | 221 | </tr> |
| 254 | 222 | {{/each}} |
| 255 | 223 | {{if list.length == 0}} |
| 256 | 224 | <tr> |
| 257 | - <td colspan="12"><h6 class="muted">娌℃湁鎵惧埌鐩稿叧鏁版嵁</h6></td> | |
| 225 | + <td colspan="15"><h6 class="muted">没有找到相关数据</h6></td> | |
| 258 | 226 | </tr> |
| 259 | 227 | {{/if}} |
| 260 | 228 | </script> |
| 261 | -<script type="text/html" id="list_correctForm_statistics"> | |
| 262 | - <tr> | |
| 263 | - <td colspan="2">绾胯矾:</td> | |
| 264 | - <td>{{line}}</td> | |
| 265 | - <td>璋冩暣鎬绘暟</td> | |
| 266 | - <td>{{totalAdjustment}}</td> | |
| 267 | - <td>浜嬪厛璋冩暣</td> | |
| 268 | - <td>{{beforeAdjustment}}</td> | |
| 269 | - <td>褰撴棩璋冩暣</td> | |
| 270 | - <td>{{todayAdjustment}}</td> | |
| 271 | - <td>鍘嗗彶璋冩暣</td> | |
| 272 | - <td colspan="2">{{historyAdjustment}}</td> | |
| 273 | - </tr> | |
| 274 | -</script> | |
| 275 | 229 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/forms/statement/correctForm.html
| ... | ... | @@ -107,44 +107,19 @@ |
| 107 | 107 | locale : 'zh-cn' |
| 108 | 108 | }); |
| 109 | 109 | |
| 110 | - $('#line').select2({ | |
| 111 | - ajax: { | |
| 112 | - url: '/realSchedule/findLine', | |
| 113 | - type: 'post', | |
| 114 | - dataType: 'json', | |
| 115 | - delay: 150, | |
| 116 | - data: function(params){ | |
| 117 | - return{line: params.term}; | |
| 118 | - }, | |
| 119 | - processResults: function (data) { | |
| 120 | - return { | |
| 121 | - results: data | |
| 122 | - }; | |
| 123 | - }, | |
| 124 | - cache: true | |
| 125 | - }, | |
| 126 | - templateResult: function(repo){ | |
| 127 | - if (repo.loading) return repo.text; | |
| 128 | - var h = '<span>'+repo.text+'</span>'; | |
| 129 | - return h; | |
| 130 | - }, | |
| 131 | - escapeMarkup: function (markup) { return markup; }, | |
| 132 | - minimumInputLength: 1, | |
| 133 | - templateSelection: function(repo){ | |
| 134 | - return repo.text; | |
| 135 | - }, | |
| 136 | - language: { | |
| 137 | - noResults: function(){ | |
| 138 | - return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>'; | |
| 139 | - }, | |
| 140 | - inputTooShort : function(e) { | |
| 141 | - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>'; | |
| 142 | - }, | |
| 143 | - searching : function() { | |
| 144 | - return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>'; | |
| 145 | - } | |
| 146 | - } | |
| 147 | - }); | |
| 110 | + | |
| 111 | + $.get('/basic/lineCode2Name',function(result){ | |
| 112 | + var data=[]; | |
| 113 | + | |
| 114 | + for(var code in result){ | |
| 115 | + data.push({id: code, text: result[code]}); | |
| 116 | + } | |
| 117 | + console.log(data); | |
| 118 | + initPinYinSelect2('#line',data,''); | |
| 119 | + | |
| 120 | + }) | |
| 121 | + | |
| 122 | + | |
| 148 | 123 | $('#lpName').select2({ |
| 149 | 124 | ajax: { |
| 150 | 125 | url: '/realSchedule/findLpName', | ... | ... |
src/main/resources/static/pages/forms/statement/daily.html
| ... | ... | @@ -92,45 +92,16 @@ |
| 92 | 92 | locale : 'zh-cn' |
| 93 | 93 | }); |
| 94 | 94 | |
| 95 | - $('#line').select2({ | |
| 96 | - ajax: { | |
| 97 | - url: '/realSchedule/findLine', | |
| 98 | - type: 'post', | |
| 99 | - dataType: 'json', | |
| 100 | - delay: 150, | |
| 101 | - data: function(params){ | |
| 102 | - return{line: params.term}; | |
| 103 | - }, | |
| 104 | - processResults: function (data) { | |
| 105 | - return { | |
| 106 | - results: data | |
| 107 | - }; | |
| 108 | - }, | |
| 109 | - cache: true | |
| 110 | - }, | |
| 111 | - templateResult: function(repo){ | |
| 112 | - if (repo.loading) return repo.text; | |
| 113 | - var h = '<span>'+repo.text+'</span>'; | |
| 114 | - return h; | |
| 115 | - }, | |
| 116 | - escapeMarkup: function (markup) { return markup; }, | |
| 117 | - minimumInputLength: 1, | |
| 118 | - templateSelection: function(repo){ | |
| 119 | - return repo.text; | |
| 120 | - }, | |
| 121 | - language: { | |
| 122 | - noResults: function(){ | |
| 123 | - return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>'; | |
| 124 | - }, | |
| 125 | - inputTooShort : function(e) { | |
| 126 | - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>'; | |
| 127 | - }, | |
| 128 | - searching : function() { | |
| 129 | - return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>'; | |
| 130 | - } | |
| 131 | - } | |
| 132 | - }); | |
| 133 | - | |
| 95 | + $.get('/basic/lineCode2Name',function(result){ | |
| 96 | + var data=[]; | |
| 97 | + | |
| 98 | + for(var code in result){ | |
| 99 | + data.push({id: code, text: result[code]}); | |
| 100 | + } | |
| 101 | + console.log(data); | |
| 102 | + initPinYinSelect2('#line',data,''); | |
| 103 | + | |
| 104 | + }) | |
| 134 | 105 | var line; |
| 135 | 106 | var date; |
| 136 | 107 | $("#query").on("click",function(){ | ... | ... |
src/main/resources/static/pages/forms/statement/historyMessage.html
| ... | ... | @@ -80,44 +80,16 @@ |
| 80 | 80 | locale : 'zh-cn' |
| 81 | 81 | }); |
| 82 | 82 | |
| 83 | - $('#line').select2({ | |
| 84 | - ajax: { | |
| 85 | - url: '/realSchedule/findLine', | |
| 86 | - type: 'post', | |
| 87 | - dataType: 'json', | |
| 88 | - delay: 150, | |
| 89 | - data: function(params){ | |
| 90 | - return{line: params.term}; | |
| 91 | - }, | |
| 92 | - processResults: function (data) { | |
| 93 | - return { | |
| 94 | - results: data | |
| 95 | - }; | |
| 96 | - }, | |
| 97 | - cache: true | |
| 98 | - }, | |
| 99 | - templateResult: function(repo){ | |
| 100 | - if (repo.loading) return repo.text; | |
| 101 | - var h = '<span>'+repo.text+'</span>'; | |
| 102 | - return h; | |
| 103 | - }, | |
| 104 | - escapeMarkup: function (markup) { return markup; }, | |
| 105 | - minimumInputLength: 1, | |
| 106 | - templateSelection: function(repo){ | |
| 107 | - return repo.text; | |
| 108 | - }, | |
| 109 | - language: { | |
| 110 | - noResults: function(){ | |
| 111 | - return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>'; | |
| 112 | - }, | |
| 113 | - inputTooShort : function(e) { | |
| 114 | - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>'; | |
| 115 | - }, | |
| 116 | - searching : function() { | |
| 117 | - return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>'; | |
| 118 | - } | |
| 83 | + $.get('/basic/lineCode2Name',function(result){ | |
| 84 | + var data=[]; | |
| 85 | + | |
| 86 | + for(var code in result){ | |
| 87 | + data.push({id: code, text: result[code]}); | |
| 119 | 88 | } |
| 120 | - }); | |
| 89 | + console.log(data); | |
| 90 | + initPinYinSelect2('#line',data,''); | |
| 91 | + | |
| 92 | + }) | |
| 121 | 93 | $('#code').select2({ |
| 122 | 94 | ajax: { |
| 123 | 95 | url: '/realSchedule/sreachVehic', | ... | ... |
src/main/resources/static/pages/forms/statement/jobSummary.html
| ... | ... | @@ -194,43 +194,17 @@ |
| 194 | 194 | locale : 'zh-cn' |
| 195 | 195 | }); |
| 196 | 196 | |
| 197 | - $('#line').select2({ | |
| 198 | - ajax: { | |
| 199 | - url: '/realSchedule/findLine', | |
| 200 | - dataType: 'json', | |
| 201 | - delay: 150, | |
| 202 | - data: function(params){ | |
| 203 | - return{line: params.term}; | |
| 204 | - }, | |
| 205 | - processResults: function (data) { | |
| 206 | - return { | |
| 207 | - results: data | |
| 208 | - }; | |
| 209 | - }, | |
| 210 | - cache: true | |
| 211 | - }, | |
| 212 | - templateResult: function(repo){ | |
| 213 | - if (repo.loading) return repo.text; | |
| 214 | - var h = '<span>'+repo.text+'</span>'; | |
| 215 | - return h; | |
| 216 | - }, | |
| 217 | - escapeMarkup: function (markup) { return markup; }, | |
| 218 | - minimumInputLength: 1, | |
| 219 | - templateSelection: function(repo){ | |
| 220 | - return repo.text; | |
| 221 | - }, | |
| 222 | - language: { | |
| 223 | - noResults: function(){ | |
| 224 | - return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>'; | |
| 225 | - }, | |
| 226 | - inputTooShort : function(e) { | |
| 227 | - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>'; | |
| 228 | - }, | |
| 229 | - searching : function() { | |
| 230 | - return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>'; | |
| 231 | - } | |
| 232 | - } | |
| 233 | - }); | |
| 197 | + $.get('/basic/lineCode2Name',function(result){ | |
| 198 | + var data=[]; | |
| 199 | + | |
| 200 | + for(var code in result){ | |
| 201 | + data.push({id: code, text: result[code]}); | |
| 202 | + } | |
| 203 | + console.log(data); | |
| 204 | + initPinYinSelect2('#line',data,''); | |
| 205 | + | |
| 206 | + }) | |
| 207 | + | |
| 234 | 208 | }); |
| 235 | 209 | </script> |
| 236 | 210 | <script type="text/html" id="list_forms"> | ... | ... |
src/main/resources/static/pages/forms/statement/linepassengerflow.html
| ... | ... | @@ -21,12 +21,12 @@ |
| 21 | 21 | <h1>线路客流量报表</h1> |
| 22 | 22 | </div> |
| 23 | 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=""> | |
| 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 | 30 | <div style="display: inline-block;"> |
| 31 | 31 | <span class="item-label" style="width: 80px;">线路: </span> |
| 32 | 32 | <select class="form-control" name="line" id="line" style="width: 180px;"></select> |
| ... | ... | @@ -38,10 +38,10 @@ |
| 38 | 38 | <div class="form-group"> |
| 39 | 39 | <input class="btn btn-default" type="button" id="query" value="筛选"/> |
| 40 | 40 | <input class="btn btn-default" type="button" id="export" value="导出"/> |
| 41 | - </div> | |
| 42 | - </form> | |
| 43 | - </div> | |
| 44 | - <div class="portlet-body"> | |
| 41 | + </div> | |
| 42 | + </form> | |
| 43 | + </div> | |
| 44 | + <div class="portlet-body"> | |
| 45 | 45 | <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> |
| 46 | 46 | <table class="table table-bordered table-hover table-checkable" id="forms"> |
| 47 | 47 | <thead> |
| ... | ... | @@ -56,63 +56,34 @@ |
| 56 | 56 | |
| 57 | 57 | </tbody> |
| 58 | 58 | </table> |
| 59 | - </div> | |
| 60 | - </div> | |
| 61 | - </div> | |
| 62 | - </div> | |
| 63 | -</div> | |
| 64 | - | |
| 65 | -<script> | |
| 59 | + </div> | |
| 60 | + </div> | |
| 61 | + </div> | |
| 62 | + </div> | |
| 63 | +</div> | |
| 64 | + | |
| 65 | +<script> | |
| 66 | 66 | $(function(){ |
| 67 | - var reqCodeMap = {"0xA1": '请求恢复运营', "0xA2": '申请调档', "0xA3": '出场请求', "0xA5": '进场请求', "0xA7": '加油请求', "0x50": '车辆故障', "0x70": '路阻报告', "0x60": '事故报告', "0x11": '扣证纠纷', "0x12" : '报警'}; | |
| 68 | - // 关闭左侧栏 | |
| 69 | - if (!$('body').hasClass('page-sidebar-closed')) | |
| 67 | + var reqCodeMap = {"0xA1": '请求恢复运营', "0xA2": '申请调档', "0xA3": '出场请求', "0xA5": '进场请求', "0xA7": '加油请求', "0x50": '车辆故障', "0x70": '路阻报告', "0x60": '事故报告', "0x11": '扣证纠纷', "0x12" : '报警'}; | |
| 68 | + // 关闭左侧栏 | |
| 69 | + if (!$('body').hasClass('page-sidebar-closed')) | |
| 70 | 70 | $('.menu-toggler.sidebar-toggler').click(); |
| 71 | - | |
| 72 | - $("#date").datetimepicker({ | |
| 73 | - format : 'YYYY-MM-DD', | |
| 74 | - locale : 'zh-cn' | |
| 71 | + | |
| 72 | + $("#date").datetimepicker({ | |
| 73 | + format : 'YYYY-MM-DD', | |
| 74 | + locale : 'zh-cn' | |
| 75 | 75 | }); |
| 76 | 76 | |
| 77 | - $('#line').select2({ | |
| 78 | - ajax: { | |
| 79 | - url: '/realSchedule/findLine', | |
| 80 | - type: 'post', | |
| 81 | - dataType: 'json', | |
| 82 | - delay: 150, | |
| 83 | - data: function(params){ | |
| 84 | - return{line: params.term}; | |
| 85 | - }, | |
| 86 | - processResults: function (data) { | |
| 87 | - return { | |
| 88 | - results: data | |
| 89 | - }; | |
| 90 | - }, | |
| 91 | - cache: true | |
| 92 | - }, | |
| 93 | - templateResult: function(repo){ | |
| 94 | - if (repo.loading) return repo.text; | |
| 95 | - var h = '<span>'+repo.text+'</span>'; | |
| 96 | - return h; | |
| 97 | - }, | |
| 98 | - escapeMarkup: function (markup) { return markup; }, | |
| 99 | - minimumInputLength: 1, | |
| 100 | - templateSelection: function(repo){ | |
| 101 | - return repo.text; | |
| 102 | - }, | |
| 103 | - language: { | |
| 104 | - noResults: function(){ | |
| 105 | - return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>'; | |
| 106 | - }, | |
| 107 | - inputTooShort : function(e) { | |
| 108 | - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>'; | |
| 109 | - }, | |
| 110 | - searching : function() { | |
| 111 | - return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>'; | |
| 112 | - } | |
| 113 | - } | |
| 114 | - }); | |
| 115 | - | |
| 77 | + $.get('/basic/lineCode2Name',function(result){ | |
| 78 | + var data=[]; | |
| 79 | + | |
| 80 | + for(var code in result){ | |
| 81 | + data.push({id: code, text: result[code]}); | |
| 82 | + } | |
| 83 | + console.log(data); | |
| 84 | + initPinYinSelect2('#line',data,''); | |
| 85 | + | |
| 86 | + }) | |
| 116 | 87 | |
| 117 | 88 | $("#query").on("click",function(){ |
| 118 | 89 | var line = $("#line").val(); |
| ... | ... | @@ -126,10 +97,10 @@ |
| 126 | 97 | // 把渲染好的模版html文本追加到表格中 |
| 127 | 98 | $('#forms tbody').html(tbodyHtml); |
| 128 | 99 | }); |
| 129 | - }); | |
| 130 | - }); | |
| 131 | -</script> | |
| 132 | -<script type="text/html" id="list_linepasswengerflow"> | |
| 100 | + }); | |
| 101 | + }); | |
| 102 | +</script> | |
| 103 | +<script type="text/html" id="list_linepasswengerflow"> | |
| 133 | 104 | {{each list as obj i}} |
| 134 | 105 | <tr> |
| 135 | 106 | <td>{{i+1}}</td> |
| ... | ... | @@ -142,5 +113,5 @@ |
| 142 | 113 | <tr> |
| 143 | 114 | <td colspan="6"><h6 class="muted">没有找到相关数据</h6></td> |
| 144 | 115 | </tr> |
| 145 | - {{/if}} | |
| 116 | + {{/if}} | |
| 146 | 117 | </script> |
| 147 | 118 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/forms/statement/operationservice.html
| ... | ... | @@ -102,44 +102,18 @@ |
| 102 | 102 | locale : 'zh-cn' |
| 103 | 103 | }); |
| 104 | 104 | |
| 105 | - $('#line').select2({ | |
| 106 | - ajax: { | |
| 107 | - url: '/realSchedule/findLine', | |
| 108 | - type: 'post', | |
| 109 | - dataType: 'json', | |
| 110 | - delay: 150, | |
| 111 | - data: function(params){ | |
| 112 | - return{line: params.term}; | |
| 113 | - }, | |
| 114 | - processResults: function (data) { | |
| 115 | - return { | |
| 116 | - results: data | |
| 117 | - }; | |
| 118 | - }, | |
| 119 | - cache: true | |
| 120 | - }, | |
| 121 | - templateResult: function(repo){ | |
| 122 | - if (repo.loading) return repo.text; | |
| 123 | - var h = '<span>'+repo.text+'</span>'; | |
| 124 | - return h; | |
| 125 | - }, | |
| 126 | - escapeMarkup: function (markup) { return markup; }, | |
| 127 | - minimumInputLength: 1, | |
| 128 | - templateSelection: function(repo){ | |
| 129 | - return repo.text; | |
| 130 | - }, | |
| 131 | - language: { | |
| 132 | - noResults: function(){ | |
| 133 | - return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>'; | |
| 134 | - }, | |
| 135 | - inputTooShort : function(e) { | |
| 136 | - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>'; | |
| 137 | - }, | |
| 138 | - searching : function() { | |
| 139 | - return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>'; | |
| 140 | - } | |
| 141 | - } | |
| 142 | - }); | |
| 105 | + | |
| 106 | + $.get('/basic/lineCode2Name',function(result){ | |
| 107 | + var data=[]; | |
| 108 | + | |
| 109 | + for(var code in result){ | |
| 110 | + data.push({id: code, text: result[code]}); | |
| 111 | + } | |
| 112 | + console.log(data); | |
| 113 | + initPinYinSelect2('#line',data,''); | |
| 114 | + | |
| 115 | + }) | |
| 116 | + | |
| 143 | 117 | $('#lpName').select2({ |
| 144 | 118 | ajax: { |
| 145 | 119 | url: '/realSchedule/findLpName', | ... | ... |
src/main/resources/static/pages/forms/statement/scheduleDaily.html
| ... | ... | @@ -43,6 +43,7 @@ |
| 43 | 43 | </div> |
| 44 | 44 | <div class="portlet-body"> |
| 45 | 45 | <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> |
| 46 | + <label>早高峰:6:31~8:30 晚高峰:16:01~18:00</label> | |
| 46 | 47 | <table class="table table-bordered table-hover table-checkable" id="forms"> |
| 47 | 48 | <thead> |
| 48 | 49 | <tr> |
| ... | ... | @@ -82,23 +83,23 @@ |
| 82 | 83 | <td>援外</td> |
| 83 | 84 | <td>其他</td> |
| 84 | 85 | <td>全日</td> |
| 85 | - <td>6:31~<br>8:30</td> | |
| 86 | - <td>16:01~<br>18:00</td> | |
| 86 | + <td>早高峰</td> | |
| 87 | + <td>晚高峰</td> | |
| 87 | 88 | <td>全日</td> |
| 88 | - <td>6:31~<br>8:30</td> | |
| 89 | - <td>16:01~<br>18:00</td> | |
| 89 | + <td>早高峰</td> | |
| 90 | + <td>晚高峰</td> | |
| 90 | 91 | <td>全日</td> |
| 91 | - <td>6:31~<br>8:30</td> | |
| 92 | - <td>16:01~<br>18:00</td> | |
| 92 | + <td>早高峰</td> | |
| 93 | + <td>晚高峰</td> | |
| 93 | 94 | <td>全日</td> |
| 94 | - <td>6:31~<br>8:30</td> | |
| 95 | - <td>16:01~<br>18:00</td> | |
| 95 | + <td>早高峰</td> | |
| 96 | + <td>晚高峰</td> | |
| 96 | 97 | <td>全日</td> |
| 97 | - <td>6:31~<br>8:30</td> | |
| 98 | - <td>16:01~<br>18:00</td> | |
| 98 | + <td>早高峰</td> | |
| 99 | + <td>晚高峰</td> | |
| 99 | 100 | <td>全日</td> |
| 100 | - <td>6:31~<br>8:30</td> | |
| 101 | - <td>16:01~<br>18:00</td> | |
| 101 | + <td>早高峰</td> | |
| 102 | + <td>晚高峰</td> | |
| 102 | 103 | </tr> |
| 103 | 104 | </thead> |
| 104 | 105 | |
| ... | ... | @@ -260,44 +261,18 @@ |
| 260 | 261 | locale : 'zh-cn' |
| 261 | 262 | }); |
| 262 | 263 | |
| 263 | - $('#line').select2({ | |
| 264 | - ajax: { | |
| 265 | - url: '/realSchedule/findLine', | |
| 266 | - dataType: 'json', | |
| 267 | - delay: 150, | |
| 268 | - data: function(params){ | |
| 269 | - return{line: params.term}; | |
| 270 | - }, | |
| 271 | - processResults: function (data) { | |
| 272 | - return { | |
| 273 | - results: data | |
| 274 | - }; | |
| 275 | - }, | |
| 276 | - cache: true | |
| 277 | - }, | |
| 278 | - templateResult: function(repo){ | |
| 279 | - if (repo.loading) return repo.text; | |
| 280 | - var h = '<span>'+repo.text+'</span>'; | |
| 281 | - return h; | |
| 282 | - }, | |
| 283 | - escapeMarkup: function (markup) { return markup; }, | |
| 284 | - minimumInputLength: 1, | |
| 285 | - templateSelection: function(repo){ | |
| 286 | - return repo.text; | |
| 287 | - }, | |
| 288 | - language: { | |
| 289 | - noResults: function(){ | |
| 290 | - return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>'; | |
| 291 | - }, | |
| 292 | - inputTooShort : function(e) { | |
| 293 | - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>'; | |
| 294 | - }, | |
| 295 | - searching : function() { | |
| 296 | - return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>'; | |
| 297 | - } | |
| 298 | - } | |
| 299 | - }); | |
| 300 | - | |
| 264 | + | |
| 265 | + | |
| 266 | + $.get('/basic/lineCode2Name',function(result){ | |
| 267 | + var data=[]; | |
| 268 | + | |
| 269 | + for(var code in result){ | |
| 270 | + data.push({id: code, text: result[code]}); | |
| 271 | + } | |
| 272 | + console.log(data); | |
| 273 | + initPinYinSelect2('#line',data,''); | |
| 274 | + | |
| 275 | + }) | |
| 301 | 276 | //查询 |
| 302 | 277 | $("#query").on('click',function(){ |
| 303 | 278 | var line = $("#line").val(); | ... | ... |
src/main/resources/static/pages/forms/statement/shifday.html
| ... | ... | @@ -97,44 +97,17 @@ $(function(){ |
| 97 | 97 | locale : 'zh-cn' |
| 98 | 98 | }); |
| 99 | 99 | |
| 100 | - $('#line').select2({ | |
| 101 | - ajax: { | |
| 102 | - url: '/realSchedule/findLine', | |
| 103 | - type: 'post', | |
| 104 | - dataType: 'json', | |
| 105 | - delay: 150, | |
| 106 | - data: function(params){ | |
| 107 | - return{line: params.term}; | |
| 108 | - }, | |
| 109 | - processResults: function (data) { | |
| 110 | - return { | |
| 111 | - results: data | |
| 112 | - }; | |
| 113 | - }, | |
| 114 | - cache: true | |
| 115 | - }, | |
| 116 | - templateResult: function(repo){ | |
| 117 | - if (repo.loading) return repo.text; | |
| 118 | - var h = '<span>'+repo.text+'</span>'; | |
| 119 | - return h; | |
| 120 | - }, | |
| 121 | - escapeMarkup: function (markup) { return markup; }, | |
| 122 | - minimumInputLength: 1, | |
| 123 | - templateSelection: function(repo){ | |
| 124 | - return repo.text; | |
| 125 | - }, | |
| 126 | - language: { | |
| 127 | - noResults: function(){ | |
| 128 | - return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>'; | |
| 129 | - }, | |
| 130 | - inputTooShort : function(e) { | |
| 131 | - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>'; | |
| 132 | - }, | |
| 133 | - searching : function() { | |
| 134 | - return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>'; | |
| 135 | - } | |
| 136 | - } | |
| 137 | - }); | |
| 100 | + | |
| 101 | + $.get('/basic/lineCode2Name',function(result){ | |
| 102 | + var data=[]; | |
| 103 | + | |
| 104 | + for(var code in result){ | |
| 105 | + data.push({id: code, text: result[code]}); | |
| 106 | + } | |
| 107 | + console.log(data); | |
| 108 | + initPinYinSelect2('#line',data,''); | |
| 109 | + | |
| 110 | + }) | |
| 138 | 111 | |
| 139 | 112 | $("#query").on("click",function(){ |
| 140 | 113 | var line = $("#line").val(); | ... | ... |
src/main/resources/static/pages/forms/statement/shiftuehiclemanth.html
| ... | ... | @@ -87,44 +87,17 @@ |
| 87 | 87 | locale : 'zh-cn' |
| 88 | 88 | }); |
| 89 | 89 | |
| 90 | - $('#line').select2({ | |
| 91 | - ajax: { | |
| 92 | - url: '/realSchedule/findLine', | |
| 93 | - type: 'post', | |
| 94 | - dataType: 'json', | |
| 95 | - delay: 150, | |
| 96 | - data: function(params){ | |
| 97 | - return{line: params.term}; | |
| 98 | - }, | |
| 99 | - processResults: function (data) { | |
| 100 | - return { | |
| 101 | - results: data | |
| 102 | - }; | |
| 103 | - }, | |
| 104 | - cache: true | |
| 105 | - }, | |
| 106 | - templateResult: function(repo){ | |
| 107 | - if (repo.loading) return repo.text; | |
| 108 | - var h = '<span>'+repo.text+'</span>'; | |
| 109 | - return h; | |
| 110 | - }, | |
| 111 | - escapeMarkup: function (markup) { return markup; }, | |
| 112 | - minimumInputLength: 1, | |
| 113 | - templateSelection: function(repo){ | |
| 114 | - return repo.text; | |
| 115 | - }, | |
| 116 | - language: { | |
| 117 | - noResults: function(){ | |
| 118 | - return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>'; | |
| 119 | - }, | |
| 120 | - inputTooShort : function(e) { | |
| 121 | - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>'; | |
| 122 | - }, | |
| 123 | - searching : function() { | |
| 124 | - return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>'; | |
| 125 | - } | |
| 126 | - } | |
| 127 | - }); | |
| 90 | + | |
| 91 | + $.get('/basic/lineCode2Name',function(result){ | |
| 92 | + var data=[]; | |
| 93 | + | |
| 94 | + for(var code in result){ | |
| 95 | + data.push({id: code, text: result[code]}); | |
| 96 | + } | |
| 97 | + console.log(data); | |
| 98 | + initPinYinSelect2('#line',data,''); | |
| 99 | + | |
| 100 | + }) | |
| 128 | 101 | $('#lpName').select2({ |
| 129 | 102 | ajax: { |
| 130 | 103 | url: '/realSchedule/findLpName', | ... | ... |
src/main/resources/static/pages/forms/statement/singledata.html
| ... | ... | @@ -92,44 +92,18 @@ |
| 92 | 92 | locale : 'zh-cn' |
| 93 | 93 | }); |
| 94 | 94 | |
| 95 | - $('#line').select2({ | |
| 96 | - ajax: { | |
| 97 | - url: '/realSchedule/findLine', | |
| 98 | - type: 'post', | |
| 99 | - dataType: 'json', | |
| 100 | - delay: 150, | |
| 101 | - data: function(params){ | |
| 102 | - return{line: params.term}; | |
| 103 | - }, | |
| 104 | - processResults: function (data) { | |
| 105 | - return { | |
| 106 | - results: data | |
| 107 | - }; | |
| 108 | - }, | |
| 109 | - cache: true | |
| 110 | - }, | |
| 111 | - templateResult: function(repo){ | |
| 112 | - if (repo.loading) return repo.text; | |
| 113 | - var h = '<span>'+repo.text+'</span>'; | |
| 114 | - return h; | |
| 115 | - }, | |
| 116 | - escapeMarkup: function (markup) { return markup; }, | |
| 117 | - minimumInputLength: 1, | |
| 118 | - templateSelection: function(repo){ | |
| 119 | - return repo.text; | |
| 120 | - }, | |
| 121 | - language: { | |
| 122 | - noResults: function(){ | |
| 123 | - return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>'; | |
| 124 | - }, | |
| 125 | - inputTooShort : function(e) { | |
| 126 | - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>'; | |
| 127 | - }, | |
| 128 | - searching : function() { | |
| 129 | - return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>'; | |
| 130 | - } | |
| 131 | - } | |
| 132 | - }); | |
| 95 | + | |
| 96 | + $.get('/basic/lineCode2Name',function(result){ | |
| 97 | + var data=[]; | |
| 98 | + | |
| 99 | + for(var code in result){ | |
| 100 | + data.push({id: code, text: result[code]}); | |
| 101 | + } | |
| 102 | + console.log(data); | |
| 103 | + initPinYinSelect2('#line',data,''); | |
| 104 | + | |
| 105 | + }) | |
| 106 | + | |
| 133 | 107 | $('#lpName').select2({ |
| 134 | 108 | ajax: { |
| 135 | 109 | url: '/realSchedule/findLpName', | ... | ... |
src/main/resources/static/pages/forms/statement/statisticsDaily .html
| ... | ... | @@ -43,6 +43,7 @@ |
| 43 | 43 | </div> |
| 44 | 44 | <div class="portlet-body"> |
| 45 | 45 | <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> |
| 46 | + <label>早高峰:6:31~8:30 晚高峰:16:01~18:00</label> | |
| 46 | 47 | <table class="table table-bordered table-hover table-checkable" id="forms"> |
| 47 | 48 | <thead> |
| 48 | 49 | <tr> |
| ... | ... | @@ -70,7 +71,7 @@ |
| 70 | 71 | <td rowspan="2">原因</td> |
| 71 | 72 | </tr> |
| 72 | 73 | <tr> |
| 73 | - <td>路阻</td> | |
| 74 | + <td width="31px">路阻</td> | |
| 74 | 75 | <td>吊慢</td> |
| 75 | 76 | <td>故障</td> |
| 76 | 77 | <td>纠纷</td> |
| ... | ... | @@ -82,23 +83,23 @@ |
| 82 | 83 | <td>援外</td> |
| 83 | 84 | <td>其他</td> |
| 84 | 85 | <td>全日</td> |
| 85 | - <td>6:31~8:30</td> | |
| 86 | - <td>16:01~18:00</td> | |
| 86 | + <td>早高峰</td> | |
| 87 | + <td>晚高峰</td> | |
| 87 | 88 | <td>全日</td> |
| 88 | - <td>6:31~8:30</td> | |
| 89 | - <td>16:01~18:00</td> | |
| 89 | + <td>早高峰</td> | |
| 90 | + <td>晚高峰</td> | |
| 90 | 91 | <td>全日</td> |
| 91 | - <td>6:31~8:30</td> | |
| 92 | - <td>16:01~18:00</td> | |
| 92 | + <td>早高峰</td> | |
| 93 | + <td>晚高峰</td> | |
| 93 | 94 | <td>全日</td> |
| 94 | - <td>6:31~8:30</td> | |
| 95 | - <td>16:01~18:00</td> | |
| 95 | + <td>早高峰</td> | |
| 96 | + <td>晚高峰</td> | |
| 96 | 97 | <td>全日</td> |
| 97 | - <td>6:31~8:30</td> | |
| 98 | - <td>16:01~18:00</td> | |
| 98 | + <td>早高峰</td> | |
| 99 | + <td>晚高峰</td> | |
| 99 | 100 | <td>全日</td> |
| 100 | - <td>6:31~8:30</td> | |
| 101 | - <td>16:01~18:00</td> | |
| 101 | + <td>早高峰</td> | |
| 102 | + <td>晚高峰</td> | |
| 102 | 103 | </tr> |
| 103 | 104 | </thead> |
| 104 | 105 | <tbody class="statisticsDaily"> |
| ... | ... | @@ -163,47 +164,21 @@ |
| 163 | 164 | format : 'YYYY-MM-DD', |
| 164 | 165 | locale : 'zh-cn' |
| 165 | 166 | }); |
| 167 | + $.get('/basic/lineCode2Name',function(result){ | |
| 168 | + var data=[]; | |
| 169 | + | |
| 170 | + for(var code in result){ | |
| 171 | + data.push({id: code, text: result[code]}); | |
| 172 | + } | |
| 173 | + console.log(data); | |
| 174 | + initPinYinSelect2('#line',data,''); | |
| 175 | + | |
| 176 | + }) | |
| 166 | 177 | |
| 167 | - $('#line').select2({ | |
| 168 | - ajax: { | |
| 169 | - url: '/realSchedule/findLine', | |
| 170 | - dataType: 'json', | |
| 171 | - delay: 150, | |
| 172 | - data: function(params){ | |
| 173 | - return{line: params.term}; | |
| 174 | - }, | |
| 175 | - processResults: function (data) { | |
| 176 | - return { | |
| 177 | - results: data | |
| 178 | - }; | |
| 179 | - }, | |
| 180 | - cache: true | |
| 181 | - }, | |
| 182 | - templateResult: function(repo){ | |
| 183 | - if (repo.loading) return repo.text; | |
| 184 | - var h = '<span>'+repo.text+'</span>'; | |
| 185 | - return h; | |
| 186 | - }, | |
| 187 | - escapeMarkup: function (markup) { return markup; }, | |
| 188 | - minimumInputLength: 1, | |
| 189 | - templateSelection: function(repo){ | |
| 190 | - return repo.text; | |
| 191 | - }, | |
| 192 | - language: { | |
| 193 | - noResults: function(){ | |
| 194 | - return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>'; | |
| 195 | - }, | |
| 196 | - inputTooShort : function(e) { | |
| 197 | - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>'; | |
| 198 | - }, | |
| 199 | - searching : function() { | |
| 200 | - return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>'; | |
| 201 | - } | |
| 202 | - } | |
| 203 | - }); | |
| 178 | + | |
| 204 | 179 | $("#query").on("click",function(){ |
| 205 | 180 | var line = $("#line").val(); |
| 206 | - var xlName = $("#line").text(); | |
| 181 | + var xlName = $("#select2-line-container").html(); | |
| 207 | 182 | var date = $("#date").val(); |
| 208 | 183 | $get('/realSchedule/statisticsDaily',{line:line,date:date,xlName:xlName},function(result){ |
| 209 | 184 | // 把数据填充到模版中 | ... | ... |
src/main/resources/static/pages/forms/statement/vehicleloading.html
| ... | ... | @@ -82,44 +82,19 @@ |
| 82 | 82 | locale : 'zh-cn' |
| 83 | 83 | }); |
| 84 | 84 | |
| 85 | - $('#line').select2({ | |
| 86 | - ajax: { | |
| 87 | - url: '/realSchedule/findLine', | |
| 88 | - type: 'post', | |
| 89 | - dataType: 'json', | |
| 90 | - delay: 150, | |
| 91 | - data: function(params){ | |
| 92 | - return{line: params.term}; | |
| 93 | - }, | |
| 94 | - processResults: function (data) { | |
| 95 | - return { | |
| 96 | - results: data | |
| 97 | - }; | |
| 98 | - }, | |
| 99 | - cache: true | |
| 100 | - }, | |
| 101 | - templateResult: function(repo){ | |
| 102 | - if (repo.loading) return repo.text; | |
| 103 | - var h = '<span>'+repo.text+'</span>'; | |
| 104 | - return h; | |
| 105 | - }, | |
| 106 | - escapeMarkup: function (markup) { return markup; }, | |
| 107 | - minimumInputLength: 1, | |
| 108 | - templateSelection: function(repo){ | |
| 109 | - return repo.text; | |
| 110 | - }, | |
| 111 | - language: { | |
| 112 | - noResults: function(){ | |
| 113 | - return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>'; | |
| 114 | - }, | |
| 115 | - inputTooShort : function(e) { | |
| 116 | - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>'; | |
| 117 | - }, | |
| 118 | - searching : function() { | |
| 119 | - return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>'; | |
| 120 | - } | |
| 121 | - } | |
| 122 | - }); | |
| 85 | + | |
| 86 | + $.get('/basic/lineCode2Name',function(result){ | |
| 87 | + var data=[]; | |
| 88 | + | |
| 89 | + for(var code in result){ | |
| 90 | + data.push({id: code, text: result[code]}); | |
| 91 | + } | |
| 92 | + console.log(data); | |
| 93 | + initPinYinSelect2('#line',data,''); | |
| 94 | + | |
| 95 | + }) | |
| 96 | + | |
| 97 | + | |
| 123 | 98 | $('#lpName').select2({ |
| 124 | 99 | ajax: { |
| 125 | 100 | url: '/realSchedule/findLpName', | ... | ... |
src/main/resources/static/pages/forms/statement/waybill.html
| ... | ... | @@ -21,49 +21,49 @@ |
| 21 | 21 | <h1>行车路单</h1> |
| 22 | 22 | </div> |
| 23 | 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;"> | |
| 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 | 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" style="display: inline-block;margin-left: 15px;"> | |
| 39 | - <input class="btn btn-default" type="button" id="query" value="查询"/> | |
| 40 | - <input class="btn btn-default" type="button" id="export" value="导出"/> | |
| 41 | - <input class="btn btn-default" type="button" id="print" value="打印"/> | |
| 42 | - <input class="btn btn-default" type="button" id="exportMore" value="批量导出"/> | |
| 43 | - </div> | |
| 44 | - </form> | |
| 45 | - </div> | |
| 46 | - <div class="portlet-body"> | |
| 47 | - <div class="row"> | |
| 48 | - <div class="col-md-3"> | |
| 49 | - <div class="" style="margin-top: 10px;overflow:auto;height: 860px"> | |
| 50 | - <table class="table table-bordered table-hover table-checkable pre-scrollable" id="info"> | |
| 51 | - <thead> | |
| 52 | - <tr class="hidden"> | |
| 53 | - <th>人员</th> | |
| 54 | - <th>自编号</th> | |
| 55 | - <th>路牌</th> | |
| 56 | - </tr> | |
| 57 | - </thead> | |
| 58 | - <tbody> | |
| 59 | - | |
| 60 | - </tbody> | |
| 61 | - </table> | |
| 62 | - </div> | |
| 63 | - </div> | |
| 64 | - <div class="col-md-9" id="printArea"> | |
| 65 | - <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> | |
| 66 | - <table class="table table-bordered table-checkable" id="forms"> | |
| 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" style="display: inline-block;margin-left: 15px;"> | |
| 39 | + <input class="btn btn-default" type="button" id="query" value="查询"/> | |
| 40 | + <input class="btn btn-default" type="button" id="export" value="导出"/> | |
| 41 | + <input class="btn btn-default" type="button" id="print" value="打印"/> | |
| 42 | + <input class="btn btn-default" type="button" id="exportMore" value="批量导出"/> | |
| 43 | + </div> | |
| 44 | + </form> | |
| 45 | + </div> | |
| 46 | + <div class="portlet-body"> | |
| 47 | + <div class="row"> | |
| 48 | + <div class="col-md-3"> | |
| 49 | + <div class="" style="margin-top: 10px;overflow:auto;height: 860px"> | |
| 50 | + <table class="table table-bordered table-hover table-checkable pre-scrollable" id="info"> | |
| 51 | + <thead> | |
| 52 | + <tr class="hidden"> | |
| 53 | + <th>人员</th> | |
| 54 | + <th>自编号</th> | |
| 55 | + <th>路牌</th> | |
| 56 | + </tr> | |
| 57 | + </thead> | |
| 58 | + <tbody> | |
| 59 | + | |
| 60 | + </tbody> | |
| 61 | + </table> | |
| 62 | + </div> | |
| 63 | + </div> | |
| 64 | + <div class="col-md-9" id="printArea"> | |
| 65 | + <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px"> | |
| 66 | + <table class="table table-bordered table-checkable" id="forms"> | |
| 67 | 67 | <tbody class="ludan_1"> |
| 68 | 68 | |
| 69 | 69 | </tbody> |
| ... | ... | @@ -75,28 +75,39 @@ |
| 75 | 75 | </tbody> |
| 76 | 76 | <tbody class="ludan_4"> |
| 77 | 77 | |
| 78 | - </tbody> | |
| 79 | - </table> | |
| 80 | - </div> | |
| 81 | - </div> | |
| 82 | - </div> | |
| 83 | - </div> | |
| 84 | - </div> | |
| 85 | - </div> | |
| 86 | -</div> | |
| 87 | - | |
| 88 | -<script> | |
| 89 | - $(function(){ | |
| 90 | - // 关闭左侧栏 | |
| 91 | - if (!$('body').hasClass('page-sidebar-closed')) | |
| 78 | + </tbody> | |
| 79 | + </table> | |
| 80 | + </div> | |
| 81 | + </div> | |
| 82 | + </div> | |
| 83 | + </div> | |
| 84 | + </div> | |
| 85 | + </div> | |
| 86 | +</div> | |
| 87 | + | |
| 88 | +<script> | |
| 89 | + $(function(){ | |
| 90 | + // 关闭左侧栏 | |
| 91 | + if (!$('body').hasClass('page-sidebar-closed')) | |
| 92 | 92 | $('.menu-toggler.sidebar-toggler').click(); |
| 93 | - | |
| 94 | - $("#date").datetimepicker({ | |
| 95 | - format : 'YYYY-MM-DD', | |
| 96 | - locale : 'zh-cn' | |
| 93 | + | |
| 94 | + $("#date").datetimepicker({ | |
| 95 | + format : 'YYYY-MM-DD', | |
| 96 | + locale : 'zh-cn' | |
| 97 | 97 | }); |
| 98 | 98 | |
| 99 | - $('#line').select2({ | |
| 99 | + $.get('/basic/lineCode2Name',function(result){ | |
| 100 | + var data=[]; | |
| 101 | + | |
| 102 | + for(var code in result){ | |
| 103 | + data.push({id: code, text: result[code]}); | |
| 104 | + } | |
| 105 | + console.log(data); | |
| 106 | + initPinYinSelect2('#line',data,''); | |
| 107 | + | |
| 108 | + }) | |
| 109 | + | |
| 110 | + /* $('#line').select2({ | |
| 100 | 111 | ajax: { |
| 101 | 112 | url: '/realSchedule/findLine', |
| 102 | 113 | type: 'post', |
| ... | ... | @@ -134,29 +145,30 @@ |
| 134 | 145 | } |
| 135 | 146 | } |
| 136 | 147 | }); |
| 148 | + */ | |
| 137 | 149 | |
| 138 | - var date = ''; | |
| 139 | - $("#query").on("click",function(){ | |
| 140 | - var line = $("#line").val(); | |
| 150 | + var date = ''; | |
| 151 | + $("#query").on("click",function(){ | |
| 152 | + var line = $("#line").val(); | |
| 141 | 153 | date = $("#date").val(); |
| 142 | - $(".hidden").removeClass("hidden"); | |
| 143 | - $get('/realSchedule/queryUserInfo',{line:line,date:date},function(result){ | |
| 144 | - // 把数据填充到模版中 | |
| 145 | - var tbodyHtml = template('list_info',{list:result}); | |
| 146 | - // 把渲染好的模版html文本追加到表格中 | |
| 147 | - $('#info tbody').html(tbodyHtml); | |
| 148 | - }); | |
| 154 | + $(".hidden").removeClass("hidden"); | |
| 155 | + $get('/realSchedule/queryUserInfo',{line:line,date:date},function(result){ | |
| 156 | + // 把数据填充到模版中 | |
| 157 | + var tbodyHtml = template('list_info',{list:result}); | |
| 158 | + // 把渲染好的模版html文本追加到表格中 | |
| 159 | + $('#info tbody').html(tbodyHtml); | |
| 160 | + }); | |
| 149 | 161 | }); |
| 150 | 162 | |
| 151 | 163 | var params = new Array(); |
| 152 | - var jName = ''; | |
| 164 | + var jName = ''; | |
| 153 | 165 | $("#info tbody").on("click","tr",function(){ |
| 154 | 166 | if($(this).children().size() < 2){ |
| 155 | 167 | return; |
| 156 | - } | |
| 157 | - | |
| 158 | - $(this).children().each(function(index){ | |
| 159 | - params[index] = $(this).text(); | |
| 168 | + } | |
| 169 | + | |
| 170 | + $(this).children().each(function(index){ | |
| 171 | + params[index] = $(this).text(); | |
| 160 | 172 | }); |
| 161 | 173 | console.log(params); |
| 162 | 174 | jName = params[0].split("\\")[0]; |
| ... | ... | @@ -169,18 +181,18 @@ |
| 169 | 181 | // 把渲染好的模版html文本追加到表格中 |
| 170 | 182 | $('#forms .ludan_1').html(ludan_1); |
| 171 | 183 | //$('#forms .ludan_4').html(ludan_4); |
| 172 | - }); | |
| 184 | + }); | |
| 173 | 185 | $post('/realSchedule/queryListWaybill',{jName:jName,clZbh:params[1],lpName:params[2],date:date},function(result){ |
| 174 | - getTime(result); | |
| 175 | - var ludan_2 = template('ludan_2',{list:result}); | |
| 176 | - // 把渲染好的模版html文本追加到表格中 | |
| 177 | - $('#forms .ludan_2').html(ludan_2); | |
| 186 | + getTime(result); | |
| 187 | + var ludan_2 = template('ludan_2',{list:result}); | |
| 188 | + // 把渲染好的模版html文本追加到表格中 | |
| 189 | + $('#forms .ludan_2').html(ludan_2); | |
| 178 | 190 | }); |
| 179 | 191 | $post('/realSchedule/findKMBC',{jName:jName,clZbh:params[1],lpName:params[2],date:date},function(result){ |
| 180 | 192 | var ludan_3 = template('ludan_3',result); |
| 181 | 193 | $('#forms .ludan_3').html(ludan_3); |
| 182 | 194 | }); |
| 183 | - | |
| 195 | + | |
| 184 | 196 | }); |
| 185 | 197 | |
| 186 | 198 | $("#export").on("click",function(){ |
| ... | ... | @@ -216,22 +228,22 @@ |
| 216 | 228 | } |
| 217 | 229 | } |
| 218 | 230 | }); |
| 219 | - } | |
| 220 | - }); | |
| 221 | -</script> | |
| 222 | -<script type="text/html" id="list_info"> | |
| 223 | - {{each list as obj i}} | |
| 224 | - <tr> | |
| 225 | - <td width="45%">{{obj[4]}}\{{obj[1]}}</td> | |
| 226 | - <td width="32%">{{obj[2]}}</td> | |
| 227 | - <td width="23%">{{obj[3]}}<input type="hidden" id="{{obj[2]}}" value="{{obj[0]}}"></td> | |
| 228 | - </tr> | |
| 229 | - {{/each}} | |
| 230 | - {{if list.length == 0}} | |
| 231 | - <tr> | |
| 232 | - <td colspan="3"><h6 class="muted">没有找到相关数据</h6></td> | |
| 233 | - </tr> | |
| 234 | - {{/if}} | |
| 231 | + } | |
| 232 | + }); | |
| 233 | +</script> | |
| 234 | +<script type="text/html" id="list_info"> | |
| 235 | + {{each list as obj i}} | |
| 236 | + <tr> | |
| 237 | + <td width="45%">{{obj[4]}}\{{obj[1]}}</td> | |
| 238 | + <td width="32%">{{obj[2]}}</td> | |
| 239 | + <td width="23%">{{obj[3]}}<input type="hidden" id="{{obj[2]}}" value="{{obj[0]}}"></td> | |
| 240 | + </tr> | |
| 241 | + {{/each}} | |
| 242 | + {{if list.length == 0}} | |
| 243 | + <tr> | |
| 244 | + <td colspan="3"><h6 class="muted">没有找到相关数据</h6></td> | |
| 245 | + </tr> | |
| 246 | + {{/if}} | |
| 235 | 247 | </script> |
| 236 | 248 | <script type="text/html" id="ludan_1"> |
| 237 | 249 | <tr> |
| ... | ... | @@ -292,31 +304,31 @@ |
| 292 | 304 | <td colspan="1">快</td> |
| 293 | 305 | <td colspan="1">慢</td> |
| 294 | 306 | </tr> |
| 295 | -</script> | |
| 296 | -<script type="text/html" id="ludan_2"> | |
| 297 | - {{each list as obj i}} | |
| 298 | - <tr> | |
| 299 | - <td>{{i+1}}</td> | |
| 300 | - <td>{{obj.jName}}</td> | |
| 301 | - <td>{{obj.sName}}</td> | |
| 302 | - <td> </td> | |
| 303 | - <td>{{obj.qdzName}}</td> | |
| 304 | - <td>{{obj.zdzName}}</td> | |
| 305 | - <td>{{obj.fcsj}}</td> | |
| 306 | - <td>{{obj.fcsjActual}}</td> | |
| 307 | - <td>{{obj.zdsj}}</td> | |
| 308 | - <td>{{obj.zdsjActual}}</td> | |
| 309 | - <td>{{obj.fast}}</td> | |
| 310 | - <td>{{obj.slow}}</td> | |
| 307 | +</script> | |
| 308 | +<script type="text/html" id="ludan_2"> | |
| 309 | + {{each list as obj i}} | |
| 310 | + <tr> | |
| 311 | + <td>{{i+1}}</td> | |
| 312 | + <td>{{obj.jName}}</td> | |
| 313 | + <td>{{obj.sName}}</td> | |
| 314 | + <td> </td> | |
| 315 | + <td>{{obj.qdzName}}</td> | |
| 316 | + <td>{{obj.zdzName}}</td> | |
| 317 | + <td>{{obj.fcsj}}</td> | |
| 318 | + <td>{{obj.fcsjActual}}</td> | |
| 319 | + <td>{{obj.zdsj}}</td> | |
| 320 | + <td>{{obj.zdsjActual}}</td> | |
| 321 | + <td>{{obj.fast}}</td> | |
| 322 | + <td>{{obj.slow}}</td> | |
| 311 | 323 | <td>{{obj.jhlc}}</td> |
| 312 | - <td>{{obj.remarks}}</td> | |
| 313 | - </tr> | |
| 324 | + <td>{{obj.remarks}}</td> | |
| 325 | + </tr> | |
| 314 | 326 | {{/each}} |
| 315 | 327 | {{if list.length == 0}} |
| 316 | 328 | <tr> |
| 317 | 329 | <td colspan="14"><h6 class="muted">没有找到相关数据</h6></td> |
| 318 | 330 | </tr> |
| 319 | - {{/if}} | |
| 331 | + {{/if}} | |
| 320 | 332 | </script> |
| 321 | 333 | <script type="text/html" id="ludan_3"> |
| 322 | 334 | <tr> | ... | ... |
src/main/resources/static/pages/forms/statement/waybillday.html
| ... | ... | @@ -79,45 +79,16 @@ |
| 79 | 79 | locale : 'zh-cn' |
| 80 | 80 | }); |
| 81 | 81 | |
| 82 | - $('#line').select2({ | |
| 83 | - ajax: { | |
| 84 | - url: '/realSchedule/findLine', | |
| 85 | - type: 'post', | |
| 86 | - dataType: 'json', | |
| 87 | - delay: 150, | |
| 88 | - data: function(params){ | |
| 89 | - return{line: params.term}; | |
| 90 | - }, | |
| 91 | - processResults: function (data) { | |
| 92 | - return { | |
| 93 | - results: data | |
| 94 | - }; | |
| 95 | - }, | |
| 96 | - cache: true | |
| 97 | - }, | |
| 98 | - templateResult: function(repo){ | |
| 99 | - if (repo.loading) return repo.text; | |
| 100 | - var h = '<span>'+repo.text+'</span>'; | |
| 101 | - return h; | |
| 102 | - }, | |
| 103 | - escapeMarkup: function (markup) { return markup; }, | |
| 104 | - minimumInputLength: 1, | |
| 105 | - templateSelection: function(repo){ | |
| 106 | - return repo.text; | |
| 107 | - }, | |
| 108 | - language: { | |
| 109 | - noResults: function(){ | |
| 110 | - return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>'; | |
| 111 | - }, | |
| 112 | - inputTooShort : function(e) { | |
| 113 | - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>'; | |
| 114 | - }, | |
| 115 | - searching : function() { | |
| 116 | - return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>'; | |
| 117 | - } | |
| 118 | - } | |
| 119 | - }); | |
| 120 | - | |
| 82 | + $.get('/basic/lineCode2Name',function(result){ | |
| 83 | + var data=[]; | |
| 84 | + | |
| 85 | + for(var code in result){ | |
| 86 | + data.push({id: code, text: result[code]}); | |
| 87 | + } | |
| 88 | + console.log(data); | |
| 89 | + initPinYinSelect2('#line',data,''); | |
| 90 | + | |
| 91 | + }) | |
| 121 | 92 | var line; |
| 122 | 93 | var date; |
| 123 | 94 | $("#query").on("click",function(){ | ... | ... |
src/main/resources/static/pages/oil/list.html
src/main/resources/static/pages/permission/role/companyAuthority.html
0 → 100644
| 1 | +<style> | |
| 2 | + .cmpy-auth-card { | |
| 3 | + width: 760px; | |
| 4 | + background: #fff; | |
| 5 | + margin: auto; | |
| 6 | + padding: 15px; | |
| 7 | + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); | |
| 8 | + } | |
| 9 | + | |
| 10 | + .cmpy-auth-card .yunyin-company-panel:last-child { | |
| 11 | + border-bottom: none; | |
| 12 | + padding-bottom: 0px; | |
| 13 | + } | |
| 14 | + | |
| 15 | + .yunyin-company-panel { | |
| 16 | + border-bottom: 1px solid #e9e5e5; | |
| 17 | + padding-bottom: 5px; | |
| 18 | + | |
| 19 | + user-select:none; | |
| 20 | + } | |
| 21 | + | |
| 22 | + .yunyin-company-panel .company { | |
| 23 | + font-size: 13px; | |
| 24 | + } | |
| 25 | + | |
| 26 | + .yunyin-company-panel .sub-company { | |
| 27 | + display: inline-block; | |
| 28 | + text-align: center; | |
| 29 | + padding: 5px 15px; | |
| 30 | + border-radius: 5px !important; | |
| 31 | + color: #5d5c5c; | |
| 32 | + font-size: 13px; | |
| 33 | + background: linear-gradient(to bottom, #fafafa, #eeeeee); | |
| 34 | + cursor: pointer; | |
| 35 | + border: 1px solid #eeeeee; | |
| 36 | + } | |
| 37 | + | |
| 38 | + .yunyin-company-panel .sub-company.active { | |
| 39 | + background: linear-gradient(to bottom, #2ab4c0, #229ea9); | |
| 40 | + color: #fdfdfd; | |
| 41 | + } | |
| 42 | +</style> | |
| 43 | + | |
| 44 | +<div id="roleCompanyAuthority"> | |
| 45 | + | |
| 46 | + <div class="page-head"> | |
| 47 | + <div class="page-title"> | |
| 48 | + <h1>模块配置</h1> | |
| 49 | + </div> | |
| 50 | + </div> | |
| 51 | + | |
| 52 | + <ul class="page-breadcrumb breadcrumb"> | |
| 53 | + <li><a href="/pages/home.html" data-pjax>首页</a> <i | |
| 54 | + class="fa fa-circle"></i></li> | |
| 55 | + <li><span class="active">权限管理</span> <i class="fa fa-circle"></i></li> | |
| 56 | + <li><a href="list.html" data-pjax>角色管理</a> <i class="fa fa-circle"></i></li> | |
| 57 | + <li><span class="active">分公司数据权限</span></li> | |
| 58 | + </ul> | |
| 59 | + | |
| 60 | + <div class="cmpy-auth-card"> | |
| 61 | + | |
| 62 | + <h4>角色信息</h4> | |
| 63 | + <table class="table"> | |
| 64 | + <tr> | |
| 65 | + <td> | |
| 66 | + 代码:<span id="roleCode"></span> | |
| 67 | + </td> | |
| 68 | + <td> | |
| 69 | + 名称:<span id="roleName"></span> | |
| 70 | + </td> | |
| 71 | + </tr> | |
| 72 | + </table> | |
| 73 | + </div> | |
| 74 | + <br><br> | |
| 75 | + <div class="cmpy-auth-card cmpy-list"> | |
| 76 | + </div> | |
| 77 | + | |
| 78 | + <div class="cmpy-auth-card" style="text-align: right;"> | |
| 79 | + <button type="button" class="btn btn-default">返回</button> | |
| 80 | + <button type="button" class="btn btn-primary saveBtn" ><i class="fa fa-check"></i>保存</button> | |
| 81 | + </div> | |
| 82 | + | |
| 83 | + <script id="role-company-authority-temp" type="text/html"> | |
| 84 | + {{each list as obj i}} | |
| 85 | + <div class="yunyin-company-panel"> | |
| 86 | + <h5 class="company">{{obj.name}}</h5> | |
| 87 | + {{each obj.childs as fgs i}} | |
| 88 | + <div class="sub-company" data-company="{{obj.name}}" data-id="{{fgs.upCode}}_{{fgs.businessCode}}">{{fgs.businessName}}</div> | |
| 89 | + {{/each}} | |
| 90 | + </div> | |
| 91 | + {{/each}} | |
| 92 | + </script> | |
| 93 | + | |
| 94 | +</div> | |
| 95 | + | |
| 96 | +<script> | |
| 97 | +$(function () { | |
| 98 | + var id = $.url().param('no') | |
| 99 | + ,roleObj; | |
| 100 | + | |
| 101 | + if(!id){ | |
| 102 | + alert('缺少主键'); | |
| 103 | + } | |
| 104 | + else{ | |
| 105 | + $.get('/role/'+id , function(obj){ | |
| 106 | + $('#roleCompanyAuthority #roleCode').text(obj.codeName); | |
| 107 | + $('#roleCompanyAuthority #roleName').text(obj.roleName); | |
| 108 | + }); | |
| 109 | + } | |
| 110 | + | |
| 111 | + | |
| 112 | + $.get('/business/all', function (rs) { | |
| 113 | + var baseCode; | |
| 114 | + //找到跟节点 | |
| 115 | + $.each(rs, function () { | |
| 116 | + if(this.upCode == 0){ | |
| 117 | + baseCode=this.businessCode; | |
| 118 | + return false; | |
| 119 | + } | |
| 120 | + }); | |
| 121 | + if(!baseCode){ | |
| 122 | + alert('大爷找不到跟节点,数据有问题吧!!!'); | |
| 123 | + return; | |
| 124 | + } | |
| 125 | + //提取二级节点 | |
| 126 | + var secondMap={}; | |
| 127 | + $.each(rs, function () { | |
| 128 | + if(this.upCode==baseCode){ | |
| 129 | + secondMap[this.businessCode] = { | |
| 130 | + name: this.businessName, | |
| 131 | + childs: [] | |
| 132 | + }; | |
| 133 | + } | |
| 134 | + }); | |
| 135 | + //分公司节点 | |
| 136 | + $.each(rs, function () { | |
| 137 | + if(secondMap[this.upCode]) | |
| 138 | + secondMap[this.upCode].childs.push(this); | |
| 139 | + }); | |
| 140 | + | |
| 141 | + //排序 | |
| 142 | + for(var sid in secondMap){ | |
| 143 | + secondMap[sid].childs.sort(naturalSort); | |
| 144 | + } | |
| 145 | + | |
| 146 | + var htmlStr=template('role-company-authority-temp', {list: get_vals(secondMap)}); | |
| 147 | + $('#roleCompanyAuthority .cmpy-list').html(htmlStr); | |
| 148 | + | |
| 149 | + //查询公司权限信息 | |
| 150 | + $get('/companyAuthority/all', {roleId_eq: id}, function (rs) { | |
| 151 | + //console.log(rs); | |
| 152 | + var dataId; | |
| 153 | + $.each(rs, function () { | |
| 154 | + dataId=this.companyCode+'_'+this.subCompanyCode; | |
| 155 | + $('.cmpy-list div.sub-company[data-id='+dataId+']').addClass('active'); | |
| 156 | + }); | |
| 157 | + }); | |
| 158 | + }); | |
| 159 | + | |
| 160 | + $('#roleCompanyAuthority').on('click', '.cmpy-list .sub-company', function () { | |
| 161 | + if($(this).hasClass('active')) | |
| 162 | + $(this).removeClass('active'); | |
| 163 | + else | |
| 164 | + $(this).addClass('active'); | |
| 165 | + }); | |
| 166 | + | |
| 167 | + var get_vals = function(json) { | |
| 168 | + var array = []; | |
| 169 | + for (var key in json) { | |
| 170 | + array.push(json[key]); | |
| 171 | + } | |
| 172 | + | |
| 173 | + return array; | |
| 174 | + } | |
| 175 | + | |
| 176 | + var naturalSort=function (a, b) { | |
| 177 | + return a.businessCode.localeCompare(b.businessCode); | |
| 178 | + } | |
| 179 | + | |
| 180 | + //保存 | |
| 181 | + $('#roleCompanyAuthority .saveBtn').on('click', function () { | |
| 182 | + var ats=$('.cmpy-list div.sub-company.active', '#roleCompanyAuthority') | |
| 183 | + ,data=[]; | |
| 184 | + var code; | |
| 185 | + $.each(ats, function () { | |
| 186 | + code = $(this).data('id').split('_'); | |
| 187 | + data.push({ | |
| 188 | + companyCode: code[0], | |
| 189 | + subCompanyCode: code[1], | |
| 190 | + companyName: $(this).data('company'), | |
| 191 | + subCompanyName: $(this).text() | |
| 192 | + }); | |
| 193 | + }); | |
| 194 | + | |
| 195 | + $post('/companyAuthority/save', {roleId: id, authJsonStr: JSON.stringify(data)}, function (rs) { | |
| 196 | + alert('保存成功!'); | |
| 197 | + }) | |
| 198 | + }); | |
| 199 | +}); | |
| 200 | +</script> | |
| 0 | 201 | \ No newline at end of file | ... | ... |
src/main/resources/static/pages/permission/role/list.html
| ... | ... | @@ -66,9 +66,15 @@ |
| 66 | 66 | <a href="settings.html?no={{role.id}}" data-pjax class=" font-blue " |
| 67 | 67 | style="display: inline-block; margin-right: 5px;"> <i |
| 68 | 68 | class="fa fa-meh-o"> </i> 模块配置 |
| 69 | - </a> <a href="javascript:;" class=" font-blue " | |
| 70 | - style="display: inline-block;" > <i class="fa fa-key"> | |
| 71 | - </i> 分配资源 | |
| 69 | + </a> | |
| 70 | + <a href="javascript:;" class=" font-blue " | |
| 71 | + style="display: inline-block;color: #aaaaaa !important;" > <i class="fa fa-key"> | |
| 72 | + </i> 系统资源权限 | |
| 73 | + </a> | |
| 74 | + | |
| 75 | + <hr> | |
| 76 | + <a href="companyAuthority.html?no={{role.id}}" data-pjax class="font-blue" | |
| 77 | + style="display: inline-block; font-size: 12px;" > 分公司数据权限 | |
| 72 | 78 | </a> |
| 73 | 79 | </div> |
| 74 | 80 | </div> | ... | ... |
src/main/resources/static/pages/report/inoutstation.html
| ... | ... | @@ -169,44 +169,17 @@ |
| 169 | 169 | locale : 'zh-cn' |
| 170 | 170 | }); |
| 171 | 171 | |
| 172 | - $('#line').select2({ | |
| 173 | - ajax: { | |
| 174 | - url: '/realSchedule/findLine', | |
| 175 | - type: 'post', | |
| 176 | - dataType: 'json', | |
| 177 | - delay: 150, | |
| 178 | - data: function(params){ | |
| 179 | - return{line: params.term}; | |
| 180 | - }, | |
| 181 | - processResults: function (data) { | |
| 182 | - return { | |
| 183 | - results: data | |
| 184 | - }; | |
| 185 | - }, | |
| 186 | - cache: true | |
| 187 | - }, | |
| 188 | - templateResult: function(repo){ | |
| 189 | - if (repo.loading) return repo.text; | |
| 190 | - var h = '<span>'+repo.text+'</span>'; | |
| 191 | - return h; | |
| 192 | - }, | |
| 193 | - escapeMarkup: function (markup) { return markup; }, | |
| 194 | - minimumInputLength: 1, | |
| 195 | - templateSelection: function(repo){ | |
| 196 | - return repo.text; | |
| 197 | - }, | |
| 198 | - language: { | |
| 199 | - noResults: function(){ | |
| 200 | - return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>'; | |
| 201 | - }, | |
| 202 | - inputTooShort : function(e) { | |
| 203 | - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>'; | |
| 204 | - }, | |
| 205 | - searching : function() { | |
| 206 | - return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>'; | |
| 207 | - } | |
| 172 | + | |
| 173 | + $.get('/basic/lineCode2Name',function(result){ | |
| 174 | + var data=[]; | |
| 175 | + | |
| 176 | + for(var code in result){ | |
| 177 | + data.push({id: code, text: result[code]}); | |
| 208 | 178 | } |
| 209 | - }); | |
| 179 | + console.log(data); | |
| 180 | + initPinYinSelect2('#line',data,''); | |
| 181 | + | |
| 182 | + }) | |
| 210 | 183 | |
| 211 | 184 | |
| 212 | 185 | $("#query").on("click",function(){ | ... | ... |
src/main/resources/static/pages/report/message/message.html
| ... | ... | @@ -112,44 +112,16 @@ |
| 112 | 112 | $("#date").val(year + "-0" + month + "-" + day); |
| 113 | 113 | } |
| 114 | 114 | |
| 115 | - $('#line').select2({ | |
| 116 | - ajax: { | |
| 117 | - url: '/realSchedule/findLine', | |
| 118 | - type: 'post', | |
| 119 | - dataType: 'json', | |
| 120 | - delay: 150, | |
| 121 | - data: function(params){ | |
| 122 | - return{line: params.term}; | |
| 123 | - }, | |
| 124 | - processResults: function (data) { | |
| 125 | - return { | |
| 126 | - results: data | |
| 127 | - }; | |
| 128 | - }, | |
| 129 | - cache: true | |
| 130 | - }, | |
| 131 | - templateResult: function(repo){ | |
| 132 | - if (repo.loading) return repo.text; | |
| 133 | - var h = '<span>'+repo.text+'</span>'; | |
| 134 | - return h; | |
| 135 | - }, | |
| 136 | - escapeMarkup: function (markup) { return markup; }, | |
| 137 | - minimumInputLength: 1, | |
| 138 | - templateSelection: function(repo){ | |
| 139 | - return repo.text; | |
| 140 | - }, | |
| 141 | - language: { | |
| 142 | - noResults: function(){ | |
| 143 | - return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>'; | |
| 144 | - }, | |
| 145 | - inputTooShort : function(e) { | |
| 146 | - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>'; | |
| 147 | - }, | |
| 148 | - searching : function() { | |
| 149 | - return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>'; | |
| 150 | - } | |
| 115 | + $.get('/basic/lineCode2Name',function(result){ | |
| 116 | + var data=[]; | |
| 117 | + | |
| 118 | + for(var code in result){ | |
| 119 | + data.push({id: code, text: result[code]}); | |
| 151 | 120 | } |
| 152 | - }); | |
| 121 | + console.log(data); | |
| 122 | + initPinYinSelect2('#line',data,''); | |
| 123 | + | |
| 124 | + }) | |
| 153 | 125 | $('#code').select2({ |
| 154 | 126 | ajax: { |
| 155 | 127 | url: '/realSchedule/sreachVehic', | ... | ... |
src/main/resources/static/pages/report/oil/oilListMonth.html
| ... | ... | @@ -103,44 +103,16 @@ |
| 103 | 103 | $("#date").val(year + "-0" + month + "-" + day); |
| 104 | 104 | } |
| 105 | 105 | |
| 106 | - $('#line').select2({ | |
| 107 | - ajax: { | |
| 108 | - url: '/realSchedule/findLine', | |
| 109 | - dataType: 'json', | |
| 110 | - delay: 150, | |
| 111 | - data: function(params){ | |
| 112 | - return{line: params.term}; | |
| 113 | - }, | |
| 114 | - processResults: function (data) { | |
| 115 | - return { | |
| 116 | - results: data | |
| 117 | - }; | |
| 118 | - }, | |
| 119 | - cache: true | |
| 120 | - }, | |
| 121 | - templateResult: function(repo){ | |
| 122 | - if (repo.loading) return repo.text; | |
| 123 | - var h = '<span>'+repo.text+'</span>'; | |
| 124 | - return h; | |
| 125 | - }, | |
| 126 | - escapeMarkup: function (markup) { return markup; }, | |
| 127 | - minimumInputLength: 1, | |
| 128 | - templateSelection: function(repo){ | |
| 129 | - return repo.text; | |
| 130 | - }, | |
| 131 | - language: { | |
| 132 | - noResults: function(){ | |
| 133 | - return '<span style="color:red;font-size: 12px;">没有搜索到线路!</span>'; | |
| 134 | - }, | |
| 135 | - inputTooShort : function(e) { | |
| 136 | - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入线路搜索线路</span>'; | |
| 137 | - }, | |
| 138 | - searching : function() { | |
| 139 | - return '<span style="color:gray;font-size: 12px;"> 正在搜索线路...</span>'; | |
| 140 | - } | |
| 141 | - } | |
| 142 | - }); | |
| 143 | - | |
| 106 | + $.get('/basic/lineCode2Name',function(result){ | |
| 107 | + var data=[]; | |
| 108 | + | |
| 109 | + for(var code in result){ | |
| 110 | + data.push({id: code, text: result[code]}); | |
| 111 | + } | |
| 112 | + console.log(data); | |
| 113 | + initPinYinSelect2('#line',data,''); | |
| 114 | + | |
| 115 | + }) | |
| 144 | 116 | //查询 |
| 145 | 117 | $("#query").on('click',function(){ |
| 146 | 118 | var line = $("#line").val(); | ... | ... |
src/main/resources/static/real_control_v2/js/data/data_gps.js
src/main/resources/static/real_control_v2/mapmonitor/css/real.css
| ... | ... | @@ -42,7 +42,7 @@ |
| 42 | 42 | /**/ |
| 43 | 43 | .real_bottom_panel{ |
| 44 | 44 | position: absolute !important; |
| 45 | - height: 18px; | |
| 45 | + height: 180px; | |
| 46 | 46 | width: 100%; |
| 47 | 47 | width: calc(100% - 342px); |
| 48 | 48 | bottom: 2px !important; |
| ... | ... | @@ -111,7 +111,8 @@ |
| 111 | 111 | height: calc(100% - 7px); |
| 112 | 112 | overflow: auto; |
| 113 | 113 | padding-top: 7px; |
| 114 | - font-size: 13px | |
| 114 | + font-size: 13px; | |
| 115 | + position: relative; | |
| 115 | 116 | } |
| 116 | 117 | |
| 117 | 118 | .real_br_cont .uk-form .uk-form-row{ |
| ... | ... | @@ -163,4 +164,149 @@ |
| 163 | 164 | background-color: #fff; |
| 164 | 165 | border-radius: 4px; |
| 165 | 166 | box-shadow: 0 2px 5px rgba(0,0,0,0.1); |
| 167 | +} | |
| 168 | + | |
| 169 | +.gps_info_win p{ | |
| 170 | + margin: 9px 0; | |
| 171 | + font-size: 13px; | |
| 172 | +} | |
| 173 | + | |
| 174 | +.gps_info_win h4,.gps_info_win h5{ | |
| 175 | + color: #0E6AF9; | |
| 176 | + margin: 10px 0; | |
| 177 | +} | |
| 178 | + | |
| 179 | +.gps_info_win .date-str{ | |
| 180 | + color: gray;font-size: 12px; | |
| 181 | +} | |
| 182 | + | |
| 183 | +.gps_info_win a{ | |
| 184 | + color:#878887;font-size:12px; | |
| 185 | +} | |
| 186 | + | |
| 187 | + | |
| 188 | +.spinner { | |
| 189 | + margin: 50px auto; | |
| 190 | + width: 50px; | |
| 191 | + height: 40px; | |
| 192 | + text-align: center; | |
| 193 | + font-size: 10px; | |
| 194 | +} | |
| 195 | + | |
| 196 | +.spinner > div { | |
| 197 | + background-color: #69D7E1; | |
| 198 | + height: 100%; | |
| 199 | + width: 6px; | |
| 200 | + display: inline-block; | |
| 201 | + | |
| 202 | + -webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out; | |
| 203 | + animation: sk-stretchdelay 1.2s infinite ease-in-out; | |
| 204 | +} | |
| 205 | + | |
| 206 | +.spinner .rect2 { | |
| 207 | + -webkit-animation-delay: -1.1s; | |
| 208 | + animation-delay: -1.1s; | |
| 209 | +} | |
| 210 | + | |
| 211 | +.spinner .rect3 { | |
| 212 | + -webkit-animation-delay: -1.0s; | |
| 213 | + animation-delay: -1.0s; | |
| 214 | +} | |
| 215 | + | |
| 216 | +.spinner .rect4 { | |
| 217 | + -webkit-animation-delay: -0.9s; | |
| 218 | + animation-delay: -0.9s; | |
| 219 | +} | |
| 220 | + | |
| 221 | +.spinner .rect5 { | |
| 222 | + -webkit-animation-delay: -0.8s; | |
| 223 | + animation-delay: -0.8s; | |
| 224 | +} | |
| 225 | + | |
| 226 | +@-webkit-keyframes sk-stretchdelay { | |
| 227 | + 0%, 40%, 100% { -webkit-transform: scaleY(0.4) } | |
| 228 | + 20% { -webkit-transform: scaleY(1.0) } | |
| 229 | +} | |
| 230 | + | |
| 231 | +@keyframes sk-stretchdelay { | |
| 232 | + 0%, 40%, 100% { | |
| 233 | + transform: scaleY(0.4); | |
| 234 | + -webkit-transform: scaleY(0.4); | |
| 235 | + } 20% { | |
| 236 | + transform: scaleY(1.0); | |
| 237 | + -webkit-transform: scaleY(1.0); | |
| 238 | + } | |
| 239 | +} | |
| 240 | + | |
| 241 | +.sk-cube-grid { | |
| 242 | + width: 40px; | |
| 243 | + height: 40px; | |
| 244 | + margin: 100px auto; | |
| 245 | +} | |
| 246 | + | |
| 247 | +.sk-cube-grid .sk-cube { | |
| 248 | + width: 33%; | |
| 249 | + height: 33%; | |
| 250 | + background-color: #69D7E1; | |
| 251 | + float: left; | |
| 252 | + -webkit-animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out; | |
| 253 | + animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out; | |
| 254 | +} | |
| 255 | +.sk-cube-grid .sk-cube1 { | |
| 256 | + -webkit-animation-delay: 0.2s; | |
| 257 | + animation-delay: 0.2s; } | |
| 258 | +.sk-cube-grid .sk-cube2 { | |
| 259 | + -webkit-animation-delay: 0.3s; | |
| 260 | + animation-delay: 0.3s; } | |
| 261 | +.sk-cube-grid .sk-cube3 { | |
| 262 | + -webkit-animation-delay: 0.4s; | |
| 263 | + animation-delay: 0.4s; } | |
| 264 | +.sk-cube-grid .sk-cube4 { | |
| 265 | + -webkit-animation-delay: 0.1s; | |
| 266 | + animation-delay: 0.1s; } | |
| 267 | +.sk-cube-grid .sk-cube5 { | |
| 268 | + -webkit-animation-delay: 0.2s; | |
| 269 | + animation-delay: 0.2s; } | |
| 270 | +.sk-cube-grid .sk-cube6 { | |
| 271 | + -webkit-animation-delay: 0.3s; | |
| 272 | + animation-delay: 0.3s; } | |
| 273 | +.sk-cube-grid .sk-cube7 { | |
| 274 | + -webkit-animation-delay: 0s; | |
| 275 | + animation-delay: 0s; } | |
| 276 | +.sk-cube-grid .sk-cube8 { | |
| 277 | + -webkit-animation-delay: 0.1s; | |
| 278 | + animation-delay: 0.1s; } | |
| 279 | +.sk-cube-grid .sk-cube9 { | |
| 280 | + -webkit-animation-delay: 0.2s; | |
| 281 | + animation-delay: 0.2s; } | |
| 282 | + | |
| 283 | +@-webkit-keyframes sk-cubeGridScaleDelay { | |
| 284 | + 0%, 70%, 100% { | |
| 285 | + -webkit-transform: scale3D(1, 1, 1); | |
| 286 | + transform: scale3D(1, 1, 1); | |
| 287 | + } 35% { | |
| 288 | + -webkit-transform: scale3D(0, 0, 1); | |
| 289 | + transform: scale3D(0, 0, 1); | |
| 290 | + } | |
| 291 | +} | |
| 292 | + | |
| 293 | +@keyframes sk-cubeGridScaleDelay { | |
| 294 | + 0%, 70%, 100% { | |
| 295 | + -webkit-transform: scale3D(1, 1, 1); | |
| 296 | + transform: scale3D(1, 1, 1); | |
| 297 | + } 35% { | |
| 298 | + -webkit-transform: scale3D(0, 0, 1); | |
| 299 | + transform: scale3D(0, 0, 1); | |
| 300 | + } | |
| 301 | +} | |
| 302 | +.sk-cube-grid._center{ | |
| 303 | + position: absolute; | |
| 304 | + top: 30%; | |
| 305 | + left: 50%; | |
| 306 | + transform: translate(-50%, -50%); | |
| 307 | + -webkit-transform: translate(-50%, -50%); | |
| 308 | +} | |
| 309 | + | |
| 310 | +#tcWrap.maplibTc{ | |
| 311 | + display: none; | |
| 166 | 312 | } |
| 167 | 313 | \ No newline at end of file | ... | ... |
src/main/resources/static/real_control_v2/mapmonitor/fragments/map_config.html
| ... | ... | @@ -4,9 +4,9 @@ |
| 4 | 4 | <div class="uk-form-row"> |
| 5 | 5 | <span class="uk-form-label">图层</span> |
| 6 | 6 | <div class="uk-form-controls"> |
| 7 | - <label><input type="radio" name="map_type" {{if map_type=='baidu'}}checked{{/if}}> 百度</label> | |
| 8 | - <label><input type="radio" name="map_type" {{if map_type=='gaode'}}checked{{/if}}> 高德</label> | |
| 9 | - <label><input type="checkbox" name="map_type" {{if traffic}}checked{{/if}}> 实时路况</label> | |
| 7 | + <label><input type="radio" value="baidu" name="map_type" {{if map_type=='baidu'}}checked{{/if}}> 百度</label> | |
| 8 | + <label><input type="radio" value="gaode" name="map_type" {{if map_type=='gaode'}}checked{{/if}}> 高德</label> | |
| 9 | + <label><input type="checkbox" name="traffic" {{if traffic}}checked{{/if}}> 实时路况</label> | |
| 10 | 10 | </div> |
| 11 | 11 | </div> |
| 12 | 12 | |
| ... | ... | @@ -42,21 +42,21 @@ |
| 42 | 42 | <div class="color_block"> |
| 43 | 43 | 上行 |
| 44 | 44 | <div class="sp-placeholder"> |
| 45 | - <div class="sp-placeholder-color" style="background: {{carIcon.color.up}}"></div> | |
| 45 | + <div class="sp-placeholder-color" data-name="carIcon.color.up" style="background: {{carIcon.color.up}}"></div> | |
| 46 | 46 | </div> |
| 47 | 47 | </div> |
| 48 | 48 | |
| 49 | 49 | <div class="color_block"> |
| 50 | 50 | 下行 |
| 51 | 51 | <div class="sp-placeholder"> |
| 52 | - <div class="sp-placeholder-color" style="background: {{carIcon.color.down}}"></div> | |
| 52 | + <div class="sp-placeholder-color" data-name="carIcon.color.down" style="background: {{carIcon.color.down}}"></div> | |
| 53 | 53 | </div> |
| 54 | 54 | </div> |
| 55 | 55 | |
| 56 | 56 | <div class="color_block"> |
| 57 | 57 | 非营运 |
| 58 | 58 | <div class="sp-placeholder"> |
| 59 | - <div class="sp-placeholder-color" style="background: {{carIcon.color.nonOperation}}"></div> | |
| 59 | + <div class="sp-placeholder-color" data-name="carIcon.color.nonOperation" style="background: {{carIcon.color.nonOperation}}"></div> | |
| 60 | 60 | </div> |
| 61 | 61 | </div> |
| 62 | 62 | </div> |
| ... | ... | @@ -68,14 +68,14 @@ |
| 68 | 68 | <div class="color_block"> |
| 69 | 69 | 上行 |
| 70 | 70 | <div class="sp-placeholder"> |
| 71 | - <div class="sp-placeholder-color" style="background: {{section.color.up}}"></div> | |
| 71 | + <div class="sp-placeholder-color" data-name="section.color.up" style="background: {{section.color.up}}"></div> | |
| 72 | 72 | </div> |
| 73 | 73 | </div> |
| 74 | 74 | |
| 75 | 75 | <div class="color_block"> |
| 76 | 76 | 下行 |
| 77 | 77 | <div class="sp-placeholder"> |
| 78 | - <div class="sp-placeholder-color" style="background: {{section.color.down}}"></div> | |
| 78 | + <div class="sp-placeholder-color" data-name="section.color.down" style="background: {{section.color.down}}"></div> | |
| 79 | 79 | </div> |
| 80 | 80 | </div> |
| 81 | 81 | </div> |
| ... | ... | @@ -85,3 +85,4 @@ |
| 85 | 85 | </form> |
| 86 | 86 | </script> |
| 87 | 87 | </div> |
| 88 | +<!-- 1111 --> | |
| 88 | 89 | \ No newline at end of file | ... | ... |
src/main/resources/static/real_control_v2/mapmonitor/fragments/map_infowindow.html
| 1 | 1 | <div> |
| 2 | 2 | <script id="map-win-gps-detail-temp" type="text/html"> |
| 3 | - <div class="gps_info_win"> | |
| 4 | - <h5 style="color:#0E6AF9;"> | |
| 5 | - {{if stationName!=null}} | |
| 3 | + <div class="gps_info_win" > | |
| 4 | + <h4>{{nbbm}}</h4> | |
| 5 | + <h5> | |
| 6 | + {{lineName}} | |
| 7 | + ({{if stationName!=null}} | |
| 6 | 8 | {{stationName}} |
| 7 | 9 | {{else}} |
| 8 | 10 | 未知站点 |
| 9 | - {{/if}} | |
| 11 | + {{/if}}) | |
| 10 | 12 | </h5> |
| 11 | - <h4 style="margin: 5px 0 5px 0;"> | |
| 12 | - <span style="color: #0E6AF9;">{{nbbm}}</span> | |
| 13 | - </h4> | |
| 14 | - <p> | |
| 15 | - 营运状态:{{if state==0}}营运{{else}}非营运{{/if}} | |
| 16 | - </p> | |
| 17 | - <p> | |
| 18 | - 走向:{{if upDown==0}}上行{{else if upDown==1}}下行{{else}}未知走向{{/if}} | |
| 19 | - </p> | |
| 20 | 13 | <p>速度:{{speed}}</p> |
| 14 | + <p>角度:{{direction}}</p> | |
| 21 | 15 | <p>经度:{{lon}}</p> |
| 22 | 16 | <p>纬度:{{lat}}</p> |
| 23 | 17 | |
| 24 | - <!--<p style="color: gray;">{{fromNow}} 更新</p>--> | |
| 18 | + <p class="date-str">{{dateStr}}</p> | |
| 25 | 19 | <hr> |
| 26 | - <p> | |
| 27 | - {{if currSch!=null}} | |
| 28 | - 路牌:{{currSch.lpName}} | |
| 29 | - {{/if}} | |
| 30 | - </p> | |
| 31 | - <p class="banci-info"> | |
| 32 | - {{if currSch!=null}}开往 {{currSch.zdzName}}{{/if}} | |
| 33 | - </p> | |
| 34 | - <p class="banci-info"> | |
| 35 | - {{if nextSch!=null}} | |
| 36 | - 下一班{{nextSch.qdzName}} {{nextSch.fcsj}} 发车 | |
| 37 | - {{/if}} | |
| 38 | - </p> | |
| 39 | - <a href="javascript:lineGroup.toPlayBack('{{nbbm}}', '{{lineId}}')" class="link_to_pback" | |
| 40 | - style="color:#006600;font-size:12px;">轨迹回放</a> | |
| 20 | + {{if expectStopTime!=null}} | |
| 21 | + <a href="javascript:;" style="color: #07D;margin-right: 7px;">预计 {{expectStopTime}} 分钟到达终点</a> | |
| 22 | + {{/if}} | |
| 23 | + <a href="javascript:;" style="float: right;">轨迹回放</a> | |
| 41 | 24 | </div> |
| 42 | 25 | </script> |
| 43 | 26 | </div> |
| 27 | +<!-- 2222 --> | |
| 44 | 28 | \ No newline at end of file | ... | ... |
src/main/resources/static/real_control_v2/mapmonitor/js/config.js
| ... | ... | @@ -46,9 +46,8 @@ var gb_map_config=(function () { |
| 46 | 46 | $('.map_config_wrap').html(formHtml); |
| 47 | 47 | |
| 48 | 48 | //颜色选择器 |
| 49 | - $('.map_config_wrap .color_block').each(function () { | |
| 50 | - var c=$('.sp-placeholder-color',this).css('background-color'); | |
| 51 | - var that=this; | |
| 49 | + $('.map_config_wrap .color_block .sp-placeholder .sp-placeholder-color').each(function () { | |
| 50 | + var c=$(this).css('background-color'); | |
| 52 | 51 | $(this).spectrum({ |
| 53 | 52 | color: c, |
| 54 | 53 | showInput: true, |
| ... | ... | @@ -57,15 +56,95 @@ var gb_map_config=(function () { |
| 57 | 56 | preferredFormat: "rgb", |
| 58 | 57 | showAlpha: true, |
| 59 | 58 | change: function (color) { |
| 60 | - $('.sp-placeholder-color',that).css('background-color', color); | |
| 59 | + $(this).css('background-color', color); | |
| 60 | + //set attr | |
| 61 | + recursion_set_attr(defaultConfig, $(this).data('name'), color.toString()); | |
| 62 | + //重新渲染地图覆盖物 | |
| 63 | + gb_map_overlay_mge.reDraw(); | |
| 61 | 64 | } |
| 62 | 65 | }); |
| 63 | 66 | }); |
| 64 | 67 | |
| 68 | + $('.map_config_wrap form input').on('change', configChangeHandler); | |
| 65 | 69 | |
| 66 | 70 | }); |
| 67 | 71 | } |
| 68 | 72 | |
| 73 | + var configChangeHandler = function () { | |
| 74 | + //console.log('configChangeHandler..',this); | |
| 75 | + var name = $(this).attr('name') | |
| 76 | + ,val = $(this).attr('value'); | |
| 77 | + | |
| 78 | + if(!name) | |
| 79 | + return; | |
| 80 | + | |
| 81 | + handler[name] && handler[name].call(this, val); | |
| 82 | + }; | |
| 83 | + | |
| 84 | + var handler={ | |
| 85 | + map_type: changeMapType, | |
| 86 | + traffic: trafficSwitch | |
| 87 | + }; | |
| 88 | + | |
| 89 | + //切换地图类型 | |
| 90 | + function changeMapType(val) { | |
| 91 | + //修改配置项 | |
| 92 | + set('map_type', val); | |
| 93 | + | |
| 94 | + gb_map_imap.changeMap(val, function () { | |
| 95 | + //重绘覆盖物 | |
| 96 | + gb_map_overlay_mge.reDraw(); | |
| 97 | + setTimeout(function () { | |
| 98 | + //实时路况为打开状态 | |
| 99 | + if(defaultConfig.traffic) | |
| 100 | + gb_map_imap.call('traffic', true); | |
| 101 | + }, 1000); | |
| 102 | + }); | |
| 103 | + } | |
| 104 | + | |
| 105 | + //实时路况 | |
| 106 | + function trafficSwitch(val) { | |
| 107 | + //修改配置项 | |
| 108 | + set('traffic', this.checked); | |
| 109 | + gb_map_imap.call('traffic', this.checked); | |
| 110 | + } | |
| 111 | + | |
| 112 | + function recursion_get_attr(data, attr){ | |
| 113 | + var ats = attr.split('.'), | |
| 114 | + val = data; | |
| 115 | + | |
| 116 | + $.each(ats, function (i, a) { | |
| 117 | + val=val[a]; | |
| 118 | + | |
| 119 | + if(!val) | |
| 120 | + return false; | |
| 121 | + }); | |
| 122 | + | |
| 123 | + return val; | |
| 124 | + } | |
| 125 | + | |
| 126 | + function recursion_set_attr(data, attr, value) { | |
| 127 | + var ats = attr.split('.'), | |
| 128 | + tempVal = data | |
| 129 | + ,len = ats.length; | |
| 130 | + | |
| 131 | + $.each(ats, function (i, a) { | |
| 132 | + if(i == len -1){ | |
| 133 | + tempVal[a] = value; | |
| 134 | + return false; | |
| 135 | + } | |
| 136 | + else | |
| 137 | + tempVal=tempVal[a]; | |
| 138 | + | |
| 139 | + if(!tempVal) | |
| 140 | + return false; | |
| 141 | + }); | |
| 142 | + } | |
| 143 | + | |
| 144 | + function set(name, val){ | |
| 145 | + defaultConfig[name]=val; | |
| 146 | + } | |
| 147 | + | |
| 69 | 148 | return { |
| 70 | 149 | getConfig: function () { |
| 71 | 150 | return defaultConfig; | ... | ... |
src/main/resources/static/real_control_v2/mapmonitor/js/gps_tree.js
| 1 | -var gb_map_gps_tree = (function () { | |
| 2 | - | |
| 3 | - | |
| 4 | - var treeObj; | |
| 5 | - | |
| 6 | - var jstreeChanged = function (e, node, event) { | |
| 7 | - gb_map_overlay_mge.refresh(); | |
| 8 | - }; | |
| 9 | - | |
| 10 | - var init = function (cb) { | |
| 11 | - //设备树 | |
| 12 | - var treeData = gb_common.get_device_tree_data(); | |
| 13 | - treeObj = $('.real_right_gps_panel .gps_tree_list') | |
| 14 | - //节点初始化完成 | |
| 15 | - .on('ready.jstree', function () { | |
| 16 | - treeObj.jstree(true).open_all(); | |
| 17 | - //删掉tree node a标签的 href值(避免鼠标悬停浏览器出现状态条) | |
| 18 | - $('.gps_tree_list .jstree-container-ul a.jstree-anchor').removeAttr('href'); | |
| 19 | - }) | |
| 20 | - //state插件 状态恢复完成 | |
| 21 | - .on('state_ready.jstree', function () { | |
| 22 | - //绑定checkbox状态切换事件 | |
| 23 | - treeObj.on('check_node.jstree uncheck_node.jstree', jstreeChanged); | |
| 24 | - cb && cb(); | |
| 25 | - }) | |
| 26 | - .on('activate_node.jstree', function (e, n) { | |
| 27 | - var node = n.node; | |
| 28 | - if(node.a_attr && node.a_attr.type=='device'){ | |
| 29 | - var device = node.a_attr.device; | |
| 30 | - gb_map_overlay_mge._focus(device); | |
| 31 | - } | |
| 32 | - }) | |
| 33 | - .jstree({ | |
| 34 | - 'core': { | |
| 35 | - 'data': treeData | |
| 36 | - }, | |
| 37 | - 'checkbox': { | |
| 38 | - 'keep_selected_style': false, | |
| 39 | - 'whole_node': false, | |
| 40 | - 'tie_selection': false | |
| 41 | - }, | |
| 42 | - 'contextmenu': { | |
| 43 | - 'items': { | |
| 44 | - '轨迹回放': { | |
| 45 | - 'label': '轨迹回放', | |
| 46 | - 'action': function (data) { | |
| 47 | - console.log('action', data); | |
| 48 | - } | |
| 49 | - }, | |
| 50 | - '发送指令': { | |
| 51 | - 'label': '发送指令', | |
| 52 | - 'action': function (data) { | |
| 53 | - console.log('action', data); | |
| 54 | - } | |
| 55 | - } | |
| 56 | - } | |
| 57 | - }, | |
| 58 | - 'plugins': ['checkbox', 'contextmenu', 'state'] | |
| 59 | - }); | |
| 60 | - }; | |
| 61 | - | |
| 62 | - return { | |
| 63 | - init: init, | |
| 64 | - getChecked: function () { | |
| 65 | - return treeObj.jstree(true).get_checked(true); | |
| 66 | - } | |
| 67 | - }; | |
| 1 | +var gb_map_gps_tree = (function () { | |
| 2 | + | |
| 3 | + | |
| 4 | + var treeObj; | |
| 5 | + | |
| 6 | + var jstreeChanged = function (e, node, event) { | |
| 7 | + gb_map_overlay_mge.refresh(); | |
| 8 | + }; | |
| 9 | + | |
| 10 | + var init = function (cb) { | |
| 11 | + //设备树 | |
| 12 | + var treeData = gb_common.get_device_tree_data(); | |
| 13 | + treeObj = $('.real_right_gps_panel .gps_tree_list') | |
| 14 | + //节点初始化完成 | |
| 15 | + .on('ready.jstree', function () { | |
| 16 | + treeObj.jstree(true).open_all(); | |
| 17 | + //删掉tree node a标签的 href值(避免鼠标悬停浏览器出现状态条) | |
| 18 | + $('.gps_tree_list .jstree-container-ul a.jstree-anchor').removeAttr('href'); | |
| 19 | + }) | |
| 20 | + //state插件 状态恢复完成 | |
| 21 | + .on('state_ready.jstree', function () { | |
| 22 | + //绑定checkbox状态切换事件 | |
| 23 | + treeObj.on('check_node.jstree uncheck_node.jstree', jstreeChanged); | |
| 24 | + cb && cb(); | |
| 25 | + }) | |
| 26 | + .on('activate_node.jstree', function (e, n) { | |
| 27 | + var node = n.node; | |
| 28 | + if(node.a_attr && node.a_attr.type=='device'){ | |
| 29 | + var device = node.a_attr.device; | |
| 30 | + gb_map_overlay_mge._focus(device); | |
| 31 | + } | |
| 32 | + }) | |
| 33 | + .jstree({ | |
| 34 | + 'core': { | |
| 35 | + 'data': treeData | |
| 36 | + }, | |
| 37 | + 'checkbox': { | |
| 38 | + 'keep_selected_style': false, | |
| 39 | + 'whole_node': false, | |
| 40 | + 'tie_selection': false | |
| 41 | + }, | |
| 42 | + 'contextmenu': { | |
| 43 | + 'items': { | |
| 44 | + '轨迹回放': { | |
| 45 | + 'label': '轨迹回放', | |
| 46 | + 'action': function (data) { | |
| 47 | + console.log('action', data); | |
| 48 | + } | |
| 49 | + }, | |
| 50 | + '发送指令': { | |
| 51 | + 'label': '发送指令', | |
| 52 | + 'action': function (data) { | |
| 53 | + console.log('action', data); | |
| 54 | + } | |
| 55 | + } | |
| 56 | + } | |
| 57 | + }, | |
| 58 | + 'plugins': ['checkbox', 'contextmenu', 'state'] | |
| 59 | + }); | |
| 60 | + }; | |
| 61 | + | |
| 62 | + return { | |
| 63 | + init: init, | |
| 64 | + getChecked: function () { | |
| 65 | + return treeObj.jstree(true).get_checked(true); | |
| 66 | + } | |
| 67 | + }; | |
| 68 | 68 | })(); |
| 69 | 69 | \ No newline at end of file | ... | ... |
src/main/resources/static/real_control_v2/mapmonitor/js/map/iMap.js
| ... | ... | @@ -16,35 +16,25 @@ var gb_map_imap = (function () { |
| 16 | 16 | currentMap = name; |
| 17 | 17 | return mapProxy; |
| 18 | 18 | }, |
| 19 | - changeDefault: function (mapName) { | |
| 19 | + changeMap: function (mapName, cb) { | |
| 20 | 20 | if (mapName == currentMap) |
| 21 | 21 | return; |
| 22 | 22 | if (maps[mapName]) { |
| 23 | 23 | //原地图 destroy |
| 24 | 24 | var oldMap = maps[currentMap].instance; |
| 25 | 25 | oldMap.destroy && oldMap.destroy(); |
| 26 | - $(gb_map_consts.mapContainer).html(''); | |
| 27 | - //解除实时路况按钮点击事件 | |
| 28 | - $(gb_map_consts.trafficBtn).unbind('click'); | |
| 29 | - | |
| 30 | 26 | //新地图 INIT |
| 31 | - var text = maps[mapName].text; | |
| 27 | + //var text = maps[mapName].text; | |
| 32 | 28 | //layer.msg('正在切换到' + text + '...', {icon : 16,shade : [ 0.6, '#393D49' ],time : 0}); |
| 33 | 29 | var newMap = maps[mapName].instance; |
| 34 | - newMap.init(); | |
| 35 | - setText(text); | |
| 36 | 30 | |
| 37 | 31 | currentMap = mapName; |
| 38 | - //收拢线路 | |
| 39 | - $('.mapRightWrap .collapse.in').collapse('hide'); | |
| 32 | + newMap.init(cb); | |
| 40 | 33 | } else |
| 41 | 34 | alertErr('不存在的地图实例' + mapName); |
| 42 | 35 | }, |
| 43 | 36 | createCarIcon: createCarIcon, |
| 44 | 37 | call: function (f, opts) { |
| 45 | - if (f == 'init') | |
| 46 | - setText(maps[currentMap].text); | |
| 47 | - | |
| 48 | 38 | var instance = maps[currentMap].instance; |
| 49 | 39 | if (instance[f]) |
| 50 | 40 | instance[f](opts); |
| ... | ... | @@ -87,24 +77,19 @@ var gb_map_imap = (function () { |
| 87 | 77 | case 0: |
| 88 | 78 | if (g.upDown == 0) { |
| 89 | 79 | //营运上行 |
| 90 | - colours['bgColor'] = 'rgba(94, 150, 210, 1)'; | |
| 80 | + colours['bgColor'] = gb_map_config.getConfig().carIcon.color.up; | |
| 91 | 81 | colours['shadow'] = 'rgba(94, 150, 210, 0.3)'; |
| 92 | 82 | } |
| 93 | 83 | else if (g.upDown == 1) { |
| 94 | 84 | //营运下行 |
| 95 | - colours['bgColor'] = 'rgba(201, 33, 33, 1)'; | |
| 85 | + colours['bgColor'] = gb_map_config.getConfig().carIcon.color.down; | |
| 96 | 86 | colours['shadow'] = 'rgba(201, 33, 33, 0.3)'; |
| 97 | 87 | } |
| 98 | - else { | |
| 99 | - //未知走向 | |
| 100 | - colours['bgColor'] = 'rgba(0, 0, 0, 1)'; | |
| 101 | - colours['shadow'] = 'rgba(0, 0, 0, 0.3)'; | |
| 102 | - } | |
| 103 | 88 | break; |
| 104 | 89 | |
| 105 | 90 | default: |
| 106 | 91 | //非营运 |
| 107 | - colours['bgColor'] = 'rgba(136, 133, 133, 1)'; | |
| 92 | + colours['bgColor'] = gb_map_config.getConfig().carIcon.color.nonOperation; | |
| 108 | 93 | colours['shadow'] = 'rgba(136, 133, 133, 0.3)'; |
| 109 | 94 | break; |
| 110 | 95 | } | ... | ... |
src/main/resources/static/real_control_v2/mapmonitor/js/map/platform/baidu.js
| ... | ... | @@ -11,25 +11,28 @@ var gb_map_baidu = (function(){ |
| 11 | 11 | |
| 12 | 12 | var polylines={}; |
| 13 | 13 | var buffAreas = {}; |
| 14 | + | |
| 15 | + var ctrl; | |
| 14 | 16 | var baiduInstance = { |
| 15 | 17 | //初始化 |
| 16 | - init: function(){ | |
| 18 | + init: function(cb){ | |
| 17 | 19 | if(!window.BMap){ |
| 18 | 20 | alert('地图没有加载成功,请确认是否能正常连接外网!!'); |
| 19 | 21 | return; |
| 20 | 22 | } |
| 21 | 23 | map = new BMap.Map($(gb_map_consts.mapContainer)[0]); |
| 22 | 24 | //中心点和缩放级别 |
| 23 | - map.centerAndZoom(new BMap.Point(gb_map_consts.center_point.lng, gb_map_consts.center_point.lat), 12); | |
| 25 | + map.centerAndZoom(new BMap.Point(gb_map_consts.center_point.lng, gb_map_consts.center_point.lat), 13); | |
| 24 | 26 | map.enableScrollWheelZoom(); |
| 25 | 27 | |
| 26 | - window.localStorage.setItem('real_map', 'baidu'); | |
| 28 | + cb && cb(); | |
| 29 | + //window.localStorage.setItem('real_map', 'baidu'); | |
| 27 | 30 | |
| 28 | 31 | // 路况控件 |
| 29 | -/* var ctrl = new BMapLib.TrafficControl(); | |
| 32 | + ctrl = new BMapLib.TrafficControl(); | |
| 30 | 33 | map.addControl(ctrl); |
| 31 | 34 | |
| 32 | - $(gb_map_consts.trafficBtn).on('click', function() { | |
| 35 | + /*$(gb_map_consts.trafficBtn).on('click', function() { | |
| 33 | 36 | if (traffVisible) { |
| 34 | 37 | ctrl.hide(); |
| 35 | 38 | traffVisible = false; |
| ... | ... | @@ -52,11 +55,11 @@ var gb_map_baidu = (function(){ |
| 52 | 55 | destroy: function(){ |
| 53 | 56 | realMarkers = {}; |
| 54 | 57 | linePolyline = []; |
| 55 | - }, | |
| 58 | + }/*, | |
| 56 | 59 | clear: function(){ |
| 57 | 60 | realMarkers = {}; |
| 58 | 61 | map.clearOverlays(); |
| 59 | - }, | |
| 62 | + }*/, | |
| 60 | 63 | //画线路图层 |
| 61 | 64 | drawLine: function(opt){ |
| 62 | 65 | if(polylines[opt.id]) |
| ... | ... | @@ -76,8 +79,16 @@ var gb_map_baidu = (function(){ |
| 76 | 79 | if(opt.hide) |
| 77 | 80 | polyline.hide(); |
| 78 | 81 | map.addOverlay(polyline); |
| 79 | - //居中 | |
| 80 | - //centerToPolyline(polyline); | |
| 82 | + | |
| 83 | + //延迟居中,避免多次调用时抖动 | |
| 84 | + delayToCenter(pos[parseInt(pos.length / 2)]); | |
| 85 | + //map.panTo(pos[parseInt(pos.length / 2)]); | |
| 86 | + }, | |
| 87 | + traffic: function (enable) { | |
| 88 | + if(enable) | |
| 89 | + ctrl.show(); | |
| 90 | + else | |
| 91 | + ctrl.hide(); | |
| 81 | 92 | }, |
| 82 | 93 | //根据id 显示polyline |
| 83 | 94 | refreshPolyline: function (opt) { |
| ... | ... | @@ -128,6 +139,13 @@ var gb_map_baidu = (function(){ |
| 128 | 139 | } |
| 129 | 140 | }); |
| 130 | 141 | }, |
| 142 | + clearAll: function () { | |
| 143 | + //清除所有覆盖物 | |
| 144 | + realMarkers = {}; | |
| 145 | + polylines={}; | |
| 146 | + map.clearOverlays(); | |
| 147 | + | |
| 148 | + }, | |
| 131 | 149 | showGpsMarker:function (opt) { |
| 132 | 150 | var chs = opt.chs; |
| 133 | 151 | for(var device in realMarkers){ |
| ... | ... | @@ -203,9 +221,9 @@ var gb_map_baidu = (function(){ |
| 203 | 221 | } |
| 204 | 222 | |
| 205 | 223 | var bd_gps_info_win_opts = { |
| 206 | - width : 190, | |
| 224 | + width : 0, | |
| 207 | 225 | height: 255, |
| 208 | - enableMessage:true | |
| 226 | + enableMessage:false | |
| 209 | 227 | }; |
| 210 | 228 | function createBDMarkerByGps(gpsData){ |
| 211 | 229 | |
| ... | ... | @@ -219,9 +237,9 @@ var gb_map_baidu = (function(){ |
| 219 | 237 | marker.infoWindow = new BMap.InfoWindow(bd_gps_info_win_opts); |
| 220 | 238 | marker.gpsData = gpsData; |
| 221 | 239 | //click |
| 222 | - /*marker.addEventListener('click', function(){ | |
| 240 | + marker.addEventListener('click', function(){ | |
| 223 | 241 | bdOpenWindow(this); |
| 224 | - });*/ | |
| 242 | + }); | |
| 225 | 243 | //mouseover |
| 226 | 244 | marker.addEventListener('mouseover', function(){ |
| 227 | 245 | setTop(this); |
| ... | ... | @@ -230,7 +248,7 @@ var gb_map_baidu = (function(){ |
| 230 | 248 | } |
| 231 | 249 | |
| 232 | 250 | //隐藏线路线条 |
| 233 | - function hideLinePolyline(){ | |
| 251 | +/* function hideLinePolyline(){ | |
| 234 | 252 | if(!linePolyline || linePolyline.length == 0) |
| 235 | 253 | return; |
| 236 | 254 | |
| ... | ... | @@ -249,7 +267,7 @@ var gb_map_baidu = (function(){ |
| 249 | 267 | $.each(linePolyline, function(){ |
| 250 | 268 | this.setStrokeOpacity(0.5); |
| 251 | 269 | }); |
| 252 | - } | |
| 270 | + }*/ | |
| 253 | 271 | |
| 254 | 272 | function moveMarker(m, gps){ |
| 255 | 273 | m.setPosition(new BMap.Point(gps.bd_lon, gps.bd_lat)); |
| ... | ... | @@ -273,9 +291,13 @@ var gb_map_baidu = (function(){ |
| 273 | 291 | } |
| 274 | 292 | |
| 275 | 293 | function bdOpenWindow(marker){ |
| 276 | - marker.gpsData.fromNow = moment(marker.gpsData.timestamp).fromNow(); | |
| 294 | + var gps = marker.gpsData; | |
| 295 | + //线路名 | |
| 296 | + gps.lineName = gb_data_basic.lineCode2NameAll()[gps.lineId]; | |
| 297 | + //时间 | |
| 298 | + gps.dateStr = moment(gps.timestamp).format('YYYY-MM-DD HH:mm:ss'); | |
| 277 | 299 | |
| 278 | - marker.infoWindow.setContent(gb_map_overlay_mge.map_gps_win_temp(marker.gpsData)); | |
| 300 | + marker.infoWindow.setContent(gb_map_overlay_mge.map_gps_win_temp(gps)); | |
| 279 | 301 | map.openInfoWindow(marker.infoWindow, marker.point); |
| 280 | 302 | } |
| 281 | 303 | |
| ... | ... | @@ -284,6 +306,15 @@ var gb_map_baidu = (function(){ |
| 284 | 306 | map.panTo(pos[parseInt(pos.length / 2)]); |
| 285 | 307 | }*/ |
| 286 | 308 | |
| 309 | + | |
| 310 | + var c_delay = 300, c_point; | |
| 311 | + function delayToCenter(point) { | |
| 312 | + c_point = point; | |
| 313 | + setTimeout(function () { | |
| 314 | + map.panTo(c_point); | |
| 315 | + }, c_delay); | |
| 316 | + } | |
| 317 | + | |
| 287 | 318 | //文件载入完毕 |
| 288 | 319 | mapmonitor_load_ep.emitLater('load_baidu'); |
| 289 | 320 | ... | ... |
src/main/resources/static/real_control_v2/mapmonitor/js/map/platform/gaode.js
| ... | ... | @@ -16,11 +16,12 @@ var gb_map_gaode = (function() { |
| 16 | 16 | var topMarkr; |
| 17 | 17 | var realMarkers = {}; |
| 18 | 18 | //线路路由线条 |
| 19 | - var linePolyline; | |
| 19 | + var polylines={}; | |
| 20 | 20 | //实时路况是否显示 |
| 21 | 21 | var traffVisible; |
| 22 | + var trafficLayer; | |
| 22 | 23 | var gaodeInstance = { |
| 23 | - init : function() { | |
| 24 | + init : function(cb) { | |
| 24 | 25 | var $mapCon = $(gb_map_consts.mapContainer); |
| 25 | 26 | $mapCon.html(mapLoadAnim); |
| 26 | 27 | //设置样式 |
| ... | ... | @@ -28,21 +29,21 @@ var gb_map_gaode = (function() { |
| 28 | 29 | |
| 29 | 30 | map = new AMap.Map($mapCon[0]); |
| 30 | 31 | // 地图中心和缩放级别 |
| 31 | - map.setZoomAndCenter(14, [ gb_map_consts.center_point.lng, gb_map_consts.center_point.lat ]); | |
| 32 | + map.setZoomAndCenter(13, [ gb_map_consts.center_point.lng, gb_map_consts.center_point.lat ]); | |
| 32 | 33 | // 加载完成 |
| 33 | 34 | AMap.event.addListener(map, 'complete', function() { |
| 34 | - layer.closeAll(); | |
| 35 | - window.localStorage.setItem('real_map', 'gaode'); | |
| 35 | + //window.localStorage.setItem('real_map', 'gaode'); | |
| 36 | 36 | /*storage.setItem('real_map', REAL_GAODE_TEXT); |
| 37 | 37 | $('.sk-cube-grid._center').remove();*/ |
| 38 | + cb && cb(); | |
| 38 | 39 | }); |
| 39 | 40 | |
| 40 | 41 | // 实时路况图层 |
| 41 | - var trafficLayer = new AMap.TileLayer.Traffic(); | |
| 42 | + trafficLayer = new AMap.TileLayer.Traffic(); | |
| 42 | 43 | trafficLayer.setMap(map); |
| 43 | 44 | trafficLayer.hide(); |
| 44 | 45 | |
| 45 | - $(gb_map_consts.trafficBtn).on('click', function() { | |
| 46 | + /*$(gb_map_consts.trafficBtn).on('click', function() { | |
| 46 | 47 | if (traffVisible) { |
| 47 | 48 | trafficLayer.hide(); |
| 48 | 49 | traffVisible = false; |
| ... | ... | @@ -54,7 +55,7 @@ var gb_map_gaode = (function() { |
| 54 | 55 | $(this).addClass('active'); |
| 55 | 56 | hideLinePolyline(); |
| 56 | 57 | } |
| 57 | - }); | |
| 58 | + });*/ | |
| 58 | 59 | }, |
| 59 | 60 | setStyle : function() { |
| 60 | 61 | $('.mapRightWrap').addClass('gaode'); |
| ... | ... | @@ -67,50 +68,93 @@ var gb_map_gaode = (function() { |
| 67 | 68 | $('.mapTools').removeClass('gaode'); |
| 68 | 69 | $('.leftUtils').removeClass('gaode'); |
| 69 | 70 | }, |
| 70 | - clear: function(){ | |
| 71 | + traffic: function (enable) { | |
| 72 | + if(enable) | |
| 73 | + trafficLayer.show(); | |
| 74 | + else | |
| 75 | + trafficLayer.hide(); | |
| 76 | + }, | |
| 77 | + clearAll: function () { | |
| 78 | + realMarkers = {}; | |
| 79 | + polylines={}; | |
| 80 | + map.clearMap(); | |
| 81 | + } | |
| 82 | + /*clear: function(){ | |
| 71 | 83 | realMarkers = {}; |
| 72 | 84 | map.clearMap(); |
| 73 | 85 | linePolyline = []; |
| 74 | - }, | |
| 75 | - drawLine: function(opts){ | |
| 76 | - linePolyline = []; | |
| 86 | + }*/, | |
| 87 | + drawLine: function(opt){ | |
| 88 | + //linePolyline = []; | |
| 89 | + var pos = [], temps; | |
| 90 | + var route = opt.upDown==0?opt.route.up_gcj:opt.route.down_gcj; | |
| 77 | 91 | |
| 78 | - map.clearMap(); | |
| 92 | + $.each(route.split(','), function(){ | |
| 93 | + temps = this.split(' '); | |
| 94 | + pos.push([temps[0], temps[1]]); | |
| 95 | + }); | |
| 79 | 96 | |
| 80 | - var upArr = [], downArr = []; | |
| 81 | - var upLineOps = {path: upArr, strokeColor:"blue", strokeWeight:6, strokeOpacity:0.5} | |
| 82 | - ,downLineOps = {path: downArr, strokeColor:"red", strokeWeight:6, strokeOpacity:0.5}; | |
| 83 | - var route = opts.route; | |
| 84 | - //上行 | |
| 85 | - if(route.up){ | |
| 86 | - $.each(route.up_gcj.split(','), function(){ | |
| 87 | - tempArray = this.split(' '); | |
| 88 | - upArr.push([tempArray[0], tempArray[1]]); | |
| 89 | - }); | |
| 90 | - var upLine = new AMap.Polyline(upLineOps); | |
| 91 | - //保存线条引用 | |
| 92 | - linePolyline.push(upLine); | |
| 93 | - upLine.setMap(map); | |
| 94 | - map.setCenter(upArr[parseInt(upArr.length / 2)]); | |
| 97 | + opt.style.path=pos; | |
| 98 | + var polyline = new AMap.Polyline(opt.style); | |
| 99 | + //根据ID保存映射 | |
| 100 | + polylines[opt.id]=polyline; | |
| 101 | + if(opt.hide) | |
| 102 | + polyline.hide(); | |
| 95 | 103 | |
| 104 | + polyline.setMap(map); | |
| 105 | + | |
| 106 | + map.setCenter(pos[parseInt(pos.length / 2)]); | |
| 107 | + | |
| 108 | + }, | |
| 109 | + //根据id 显示polyline | |
| 110 | + refreshPolyline: function (opt) { | |
| 111 | + var idx = opt.idx; | |
| 112 | + for(var id in polylines){ | |
| 113 | + if(idx.indexOf(id) != -1) | |
| 114 | + polylines[id].show(); | |
| 115 | + else | |
| 116 | + polylines[id].hide(); | |
| 96 | 117 | } |
| 97 | - //下行 | |
| 98 | - if(route.down){ | |
| 99 | - $.each(route.down_gcj.split(','), function(){ | |
| 100 | - tempArray = this.split(' '); | |
| 101 | - downArr.push([tempArray[0], tempArray[1]]); | |
| 102 | - }); | |
| 103 | - var downLine = new AMap.Polyline(downLineOps); | |
| 104 | - //保存线条引用 | |
| 105 | - linePolyline.push(downLine); | |
| 106 | - downLine.setMap(map); | |
| 107 | - } | |
| 108 | - //实时路况下不显示 | |
| 109 | - if(traffVisible) | |
| 110 | - hideLinePolyline(); | |
| 111 | 118 | }, |
| 112 | 119 | drawRealGpsMarker: function(opts){ |
| 113 | - var gpsArray = opts.gpsList; | |
| 120 | + gpsArray = opts.gpsList; | |
| 121 | + var coord; | |
| 122 | + $.each(gpsArray, function(i, gps){ | |
| 123 | + | |
| 124 | + marker = realMarkers[gps.deviceId]; | |
| 125 | + if(marker && gps.timestamp == marker.gpsData.timestamp) | |
| 126 | + return; | |
| 127 | + else{ | |
| 128 | + //转换坐标 | |
| 129 | + transCoord(gps); | |
| 130 | + | |
| 131 | + if(marker) | |
| 132 | + moveMarker(marker, gps);//移动marker | |
| 133 | + else { | |
| 134 | + //创建marker | |
| 135 | + marker = createGDMarkerByGps(gps); | |
| 136 | + realMarkers[gps.deviceId] = marker | |
| 137 | + } | |
| 138 | + } | |
| 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 | + }); | |
| 156 | + | |
| 157 | + /*var gpsArray = opts.gpsList; | |
| 114 | 158 | var coord; |
| 115 | 159 | $.each(gpsArray, function(i, gps){ |
| 116 | 160 | if(opts.coordTransform){ |
| ... | ... | @@ -130,7 +174,16 @@ var gb_map_gaode = (function() { |
| 130 | 174 | var marker = createGDMarkerByGps(gps); |
| 131 | 175 | realMarkers[gps.deviceId] = marker |
| 132 | 176 | } |
| 133 | - }); | |
| 177 | + });*/ | |
| 178 | + }, | |
| 179 | + showGpsMarker: function (opt) { | |
| 180 | + var chs = opt.chs; | |
| 181 | + for(var device in realMarkers){ | |
| 182 | + if(chs[device]) | |
| 183 | + realMarkers[device].show(); | |
| 184 | + else | |
| 185 | + realMarkers[device].hide(); | |
| 186 | + } | |
| 134 | 187 | }, |
| 135 | 188 | goToMarker: function(opts){ |
| 136 | 189 | var deviceId = opts.deviceId |
| ... | ... | @@ -147,6 +200,12 @@ var gb_map_gaode = (function() { |
| 147 | 200 | } |
| 148 | 201 | }; |
| 149 | 202 | |
| 203 | + function transCoord(gps) { | |
| 204 | + var coord = TransGPS.transformFromWGSToGCJ(gps.lat, gps.lon); | |
| 205 | + gps.gcj_lat = coord.lat; | |
| 206 | + gps.gcj_lon = coord.lng; | |
| 207 | + } | |
| 208 | + | |
| 150 | 209 | function createGDMarkerByGps(gps){ |
| 151 | 210 | //根据编码长度 计算marker 宽度 |
| 152 | 211 | var w = gps.nbbm.length * 10; |
| ... | ... | @@ -156,7 +215,7 @@ var gb_map_gaode = (function() { |
| 156 | 215 | position: [gps.gcj_lon, gps.gcj_lat], |
| 157 | 216 | icon: new AMap.Icon({ |
| 158 | 217 | size: new AMap.Size(w, 25), //图标大小 |
| 159 | - image: iMap.createCarIcon(gps, w) | |
| 218 | + image: gb_map_imap.createCarIcon(gps, w) | |
| 160 | 219 | }), |
| 161 | 220 | offset: new AMap.Pixel(-35, -12) |
| 162 | 221 | }); |
| ... | ... | @@ -184,14 +243,14 @@ var gb_map_gaode = (function() { |
| 184 | 243 | var w = gps.nbbm.length * 10; |
| 185 | 244 | m.setIcon(new AMap.Icon({ |
| 186 | 245 | size: new AMap.Size(w, 25), |
| 187 | - image: iMap.createCarIcon(gps, w) | |
| 246 | + image: gb_map_imap.createCarIcon(gps, w) | |
| 188 | 247 | })); |
| 189 | 248 | |
| 190 | 249 | if(m.infoWindow.getIsOpen()) |
| 191 | 250 | openWindow(m); |
| 192 | 251 | } |
| 193 | 252 | |
| 194 | - //隐藏线路线条 | |
| 253 | +/* //隐藏线路线条 | |
| 195 | 254 | function hideLinePolyline(){ |
| 196 | 255 | if(!linePolyline || linePolyline.length == 0) |
| 197 | 256 | return; |
| ... | ... | @@ -199,9 +258,9 @@ var gb_map_gaode = (function() { |
| 199 | 258 | $.each(linePolyline, function(){ |
| 200 | 259 | this.setOptions({strokeOpacity: 0}); |
| 201 | 260 | }); |
| 202 | - } | |
| 261 | + }*/ | |
| 203 | 262 | |
| 204 | - //显示线路线条 | |
| 263 | +/* //显示线路线条 | |
| 205 | 264 | function showLinePolyline(){ |
| 206 | 265 | if(!linePolyline || linePolyline.length == 0) |
| 207 | 266 | return; |
| ... | ... | @@ -210,14 +269,16 @@ var gb_map_gaode = (function() { |
| 210 | 269 | $.each(linePolyline, function(){ |
| 211 | 270 | this.setOptions({strokeOpacity: 0.5}); |
| 212 | 271 | }); |
| 213 | - } | |
| 272 | + }*/ | |
| 214 | 273 | |
| 215 | 274 | function openWindow(marker){ |
| 216 | - marker.gpsData.fromNow = moment(marker.gpsData.timestamp).fromNow(); | |
| 217 | - /*var infoWindow = new AMap.InfoWindow({ | |
| 218 | - content: template('gps_info_win_temp', marker.gpsData) | |
| 219 | - });*/ | |
| 220 | - marker.infoWindow.setContent(template('gps_info_win_temp', marker.gpsData)); | |
| 275 | + var gps = marker.gpsData; | |
| 276 | + //线路名 | |
| 277 | + gps.lineName = gb_data_basic.lineCode2NameAll()[gps.lineId]; | |
| 278 | + //时间 | |
| 279 | + gps.dateStr = moment(gps.timestamp).format('YYYY-MM-DD HH:mm:ss'); | |
| 280 | +//{size: AMap.Size(290,255)} | |
| 281 | + marker.infoWindow.setContent(gb_map_overlay_mge.map_gps_win_temp(gps)); | |
| 221 | 282 | marker.infoWindow.open(map, marker.getPosition()); |
| 222 | 283 | } |
| 223 | 284 | ... | ... |
src/main/resources/static/real_control_v2/mapmonitor/js/map_overlay_manager.js
| ... | ... | @@ -8,6 +8,9 @@ var gb_map_overlay_mge = (function () { |
| 8 | 8 | }); |
| 9 | 9 | |
| 10 | 10 | var gpsRefresh = function (addArr, upArr, upDownChange) { |
| 11 | + //如果地图正在重绘,暂时不刷新GPS | |
| 12 | + if(reDrawing) | |
| 13 | + return; | |
| 11 | 14 | var all = addArr.concat(upArr).concat(upDownChange); |
| 12 | 15 | gpsRefreshAll(all); |
| 13 | 16 | |
| ... | ... | @@ -32,7 +35,7 @@ var gb_map_overlay_mge = (function () { |
| 32 | 35 | //上行 |
| 33 | 36 | gb_map_imap.call('drawLine', { |
| 34 | 37 | route: route, |
| 35 | - style: {strokeWeight:6, strokeColor: 'blue'}, | |
| 38 | + style: {strokeWeight:6, strokeColor: gb_map_config.getConfig().section.color.up}, | |
| 36 | 39 | id: lineCode+'_0', |
| 37 | 40 | upDown: 0, |
| 38 | 41 | hide: true |
| ... | ... | @@ -40,7 +43,7 @@ var gb_map_overlay_mge = (function () { |
| 40 | 43 | //下行 |
| 41 | 44 | gb_map_imap.call('drawLine', { |
| 42 | 45 | route: route, |
| 43 | - style: {strokeWeight:6, strokeColor: 'red'}, | |
| 46 | + style: {strokeWeight:6, strokeColor: gb_map_config.getConfig().section.color.down}, | |
| 44 | 47 | id: lineCode+'_1', |
| 45 | 48 | upDown: 1, |
| 46 | 49 | hide: true |
| ... | ... | @@ -59,7 +62,13 @@ var gb_map_overlay_mge = (function () { |
| 59 | 62 | gb_map_imap.call('refreshPolyline', {idx: gb_common.get_keys(idx)}); |
| 60 | 63 | }; |
| 61 | 64 | |
| 62 | - var init = function () { | |
| 65 | + | |
| 66 | + //是否正在重绘 | |
| 67 | + var reDrawing; | |
| 68 | + var reDraw = function () { | |
| 69 | + reDrawing = true; | |
| 70 | + | |
| 71 | + gb_map_imap.call('clearAll'); | |
| 63 | 72 | |
| 64 | 73 | drawAllSection(); |
| 65 | 74 | //初始绘制 |
| ... | ... | @@ -68,6 +77,12 @@ var gb_map_overlay_mge = (function () { |
| 68 | 77 | showOverlayByChecks(); |
| 69 | 78 | //显示路段 |
| 70 | 79 | showSection(gb_map_gps_tree.getChecked().filter(deviceFilter)); |
| 80 | + | |
| 81 | + reDrawing = false; | |
| 82 | + } | |
| 83 | + | |
| 84 | + var init = function () { | |
| 85 | + reDraw(); | |
| 71 | 86 | //注册GPS刷新事件 |
| 72 | 87 | gb_data_gps.registerCallback(gpsRefresh); |
| 73 | 88 | }; |
| ... | ... | @@ -97,6 +112,7 @@ var gb_map_overlay_mge = (function () { |
| 97 | 112 | _focus: _focus, |
| 98 | 113 | map_gps_win_temp: function (data) { |
| 99 | 114 | return temps['map-win-gps-detail-temp'](data); |
| 100 | - } | |
| 115 | + }, | |
| 116 | + reDraw: reDraw | |
| 101 | 117 | }; |
| 102 | 118 | })(); |
| 103 | 119 | \ No newline at end of file | ... | ... |
src/main/resources/static/real_control_v2/mapmonitor/real_monitor/js/map/platform/baidu.js