Commit d18d6555cf29c5e26c8dced98de1f8d4a053af11

Authored by yiming
1 parent 069bb424

bf

Showing 19 changed files with 1895 additions and 2177 deletions
bsthLineProfiles/pom.xml
... ... @@ -315,6 +315,10 @@
315 315 <artifactId>poi-ooxml</artifactId>
316 316 <version>4.1.2</version>
317 317 </dependency>
  318 + <dependency>
  319 + <groupId>org.springframework.kafka</groupId>
  320 + <artifactId>spring-kafka</artifactId>
  321 + </dependency>
318 322 </dependencies>
319 323  
320 324 <build>
... ...
bsthLineProfiles/src/main/java/com/ruoyi/framework/config/ShiroConfig.java
... ... @@ -261,7 +261,8 @@ public class ShiroConfig
261 261 filterChainDefinitionMap.put("/register", "anon,captchaValidate");
262 262 // 系统权限列表
263 263 // filterChainDefinitionMap.putAll(SpringUtils.getBean(IMenuService.class).selectPermsAll());
264   -
  264 + //线路全量数据接口
  265 + filterChainDefinitionMap.put("/system/line/getLineList", "anon,captchaValidate");
265 266 Map<String, Filter> filters = new LinkedHashMap<String, Filter>();
266 267 filters.put("onlineSession", onlineSessionFilter());
267 268 filters.put("syncOnlineSession", syncOnlineSessionFilter());
... ...
bsthLineProfiles/src/main/java/com/ruoyi/project/system/line/controller/BsthTLineController.java
... ... @@ -10,6 +10,7 @@ import com.ruoyi.framework.web.page.TableDataInfo;
10 10 import com.ruoyi.project.system.dict.domain.DictData;
11 11 import com.ruoyi.project.system.dict.service.IDictDataService;
12 12 import com.ruoyi.project.system.line.domain.BsthTLine;
  13 +import com.ruoyi.project.system.line.domain.BsthTLineKFK;
13 14 import com.ruoyi.project.system.line.service.IBsthTLineService;
14 15 import com.ruoyi.project.system.user.domain.User;
15 16 import com.ruoyi.project.system.user.service.IUserService;
... ... @@ -293,97 +294,21 @@ public class BsthTLineController extends BaseController
293 294 }
294 295  
295 296  
296   -
297   -
298   - /*
299   - //查询history整表
300   - //按lineName分组
301   - //createTime倒序
302   - //循环 如果createTime在所选时间内
303   - //相邻2条数据进行比较
304   - //new Bl 吧有差异的数据记录进去
305   - //放入一个list中
306   - //按公司和分公司分组
307   - 循环list统计那些字段有修改进行记录
308   -
309   - *//**
310   - * 新增弹窗
311   - *//*
312   - @GetMapping("/add")
313   - public String add()
314   - {
315   - return prefix + "/add";
316   - }
317   -
318   -
319   - *//**
320   - * 线路新增
321   - *//*
322   - @RequiresPermissions("system:line:add")
323   - @Log(title = "新增线路基本信息", businessType = BusinessType.INSERT)
324   - @PostMapping("/add")
325   - @ResponseBody
326   - public AjaxResult addSave(BsthTLine bsthTLine)
327   - {
328   - User loginUser = ShiroUtils.getSysUser();
329   - bsthTLine.setCreateBy(loginUser.getUserName());
330   - return toAjax(bsthTLineService.insertBsthTLineExamine(bsthTLine));
331   - }
332   -
333   - *//**
334   - * 线路修改预加载
335   - *//*
336   - @GetMapping("/edit/{id}")
337   - public String edit(@PathVariable("id") Long id, ModelMap mmap)
338   - {
339   - BsthTLine bsthTLine = bsthTLineService.selectBsthTLineExamineById(id);
340   - mmap.put("bsthTLine", bsthTLine);
341   - return prefix + "/edit";
342   - }
343   -
344   -
345   -
346   - *//**
347   - * 修改保存【请填写功能名称】
348   - *//*
349   - @RequiresPermissions("system:line:edit")
350   - @Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE)
351   - @PostMapping("/edit")
352   - @ResponseBody
353   - public AjaxResult editSave(BsthTLine bsthTLine)
354   - {
355   -
356   - User loginUser = ShiroUtils.getSysUser();
357   -
358   - bsthTLine.setUpdateBy(loginUser.getUserName());
359   -
360   - return toAjax(bsthTLineService.updateBsthTLineExamine(bsthTLine));
361   - }
362   -
363   - *//**
364   - * 删除【请填写功能名称】
365   - *//*
366   - @RequiresPermissions("system:line:remove")
367   - @Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE)
368   - @PostMapping( "/remove")
  297 + @PostMapping("/getLineList")
369 298 @ResponseBody
370   - public AjaxResult remove(String ids)
  299 + public List<BsthTLineKFK> getList()
371 300 {
372   - return toAjax(bsthTLineService.deleteBsthTLineExamineById(ids));
  301 + BsthTLine bsthTLine=new BsthTLine();
  302 + List<BsthTLine> list = bsthTLineService.selectBsthTLineList(bsthTLine);
  303 + List<Map> companyList = bsthTLineService.selectCompany();
  304 + List<BsthTLineKFK> bsthTLineKFKS=new ArrayList<>();
  305 + for (BsthTLine tLine : list) {
  306 + BsthTLineKFK bsthTLineKFK=new BsthTLineKFK(tLine,companyList);
  307 + bsthTLineKFK.setOperationType("insert");
  308 + bsthTLineKFKS.add(bsthTLineKFK);
  309 + }
  310 + bsthTLineService.changeCN(bsthTLineKFKS);
  311 + return bsthTLineKFKS;
373 312 }
374 313  
375   -
376   - *//**
377   - * 导出【请填写功能名称】列表
378   - *//*
379   -
380   -
381   -
382   - */
383   -
384   -
385   -
386   -
387   -
388   -
389 314 }
... ...
bsthLineProfiles/src/main/java/com/ruoyi/project/system/line/controller/BsthTLineExamineController.java
... ... @@ -83,6 +83,8 @@ public class BsthTLineExamineController extends BaseController
83 83 {
84 84 BsthTLine bsthTLine = bsthTLineService.selectBsthTLineExamineById(id);
85 85 mmap.put("bsthTLine", bsthTLine);
  86 + List<Map> companyList=bsthTLineService.selectCompany();
  87 + mmap.put("companyList",companyList);
86 88 return prefix + "/detail";
87 89 }
88 90  
... ...
bsthLineProfiles/src/main/java/com/ruoyi/project/system/line/controller/BsthTLineHistoryController.java
... ... @@ -116,21 +116,13 @@ public class BsthTLineHistoryController extends BaseController
116 116 BsthTLine bl=new BsthTLine();
117 117 bl.setLineName(bsthTLine.getLineName());
118 118 BsthTLine bsthTLineExamine=bsthTLineService.selectBsthTLineExamineByLineName(bl);
119   - if(bsthTLineExamine!=null){//有没审核的直接覆盖
  119 + if(bsthTLineExamine!=null){//存在申请直接覆盖
120 120 bsthTLine.setId(bsthTLineExamine.getId());
121 121 ajaxResult= toAjax(bsthTLineService.updateBsthTLineExamine(bsthTLine));
122 122 }else {//没有新增
123 123 bsthTLine.setExamineType("1");
124 124 ajaxResult= toAjax(bsthTLineService.insertBsthTLineExamine(bsthTLine));
125 125 }
126   - bl.setUpdateStatus("1");
127   -
128   - //重复提交删除上一次通过未执行的申请
129   - bl=bsthTLineService.selectHistoryByLineNameAndUpdateStatus(bl);
130   - if(bl!=null){
131   - bsthTLineService.deleteBsthTLineHistoryById(bl.getId());
132   - }
133   -
134 126 return ajaxResult;
135 127 }
136 128  
... ... @@ -158,134 +150,4 @@ public class BsthTLineHistoryController extends BaseController
158 150  
159 151  
160 152  
161   -
162   -
163   - /*
164   - @RequiresPermissions("system:lineHistory:export")
165   - @Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT)
166   - @PostMapping("/export")
167   - @ResponseBody
168   - public AjaxResult export(BsthTLine bsthTLine)
169   - {
170   - bsthTLine.setExamineStatus("-1");
171   - List<BsthTLine> list = bsthTLineService.selectBsthTLineHistoryList(bsthTLine);
172   -
173   - List<DictData> dicts = dictDataService.selectDictDataList(null);
174   -
175   - Map<String,List<DictData>> dictMap = new HashMap();
176   -
177   - for(DictData d : dicts) {
178   -
179   - if(dictMap.get(d.getDictType()) == null) {
180   - dictMap.put(d.getDictType(), new ArrayList<DictData>());
181   - }
182   -
183   - dictMap.get(d.getDictType()).add(d);
184   - }
185   -
186   - for(BsthTLine line:list) {
187   -
188   - Field[] field = line.getClass().getDeclaredFields();
189   -
190   -
191   -
192   - for(int j=0 ; j<field.length ; j++){ //遍历所有属性
193   - String name = field[j].getName(); //获取属性的名字
194   -
195   - String type = name;
196   -
197   - if(name.equals( "inoutDistrict")|| name.equals( "isMetro") || name.equals( "hasTimelists")) {
198   - type = "trueFalse";
199   - }
200   -
201   -
202   - if(dictMap.get(type) != null) {
203   - name = name.substring(0,1).toUpperCase() + name.substring(1);
204   -
205   -
206   - try {
207   - Method param = line.getClass().getMethod("get"+name);
208   -
209   - String value = (String) param.invoke(line);
210   -
211   - if(value != null && value.split(",").length > 0) {
212   - String result = "";
213   - for(String str:value.split(",")) {
214   - for(DictData d:dictMap.get(type)) {
215   - if(d.getDictValue().equals(str)) {
216   - result += d.getDictLabel() + ",";
217   - }
218   - }
219   - }
220   -
221   - Method m = line.getClass().getMethod("set"+name, new Class[] {String.class});
222   -
223   - if(!result.isEmpty()) {
224   - m.invoke(line,new Object[] {new String(result.substring(0,result.length()-1))});
225   - }else {
226   - m.invoke(line,new Object[] {new String(value)});
227   - }
228   - }
229   -
230   - } catch (Exception e) {
231   - // TODO Auto-generated catch block
232   - e.printStackTrace();
233   - }
234   -
235   - }
236   -
237   -
238   -
239   - }
240   -
241   -
242   - }
243   -
244   -
245   - ExcelUtil<BsthTLine> util = new ExcelUtil<BsthTLine>(BsthTLine.class);
246   - return util.exportExcel(list, "line");
247   - }
248   -*/
249   - /* *//**
250   - * 新增【请填写功能名称】
251   - *//*
252   - @GetMapping("/add")
253   - public String add()
254   - {
255   - return prefix + "/add";
256   - }
257   -
258   - *//**
259   - * 新增保存【请填写功能名称】
260   - *//*
261   - @RequiresPermissions("system:lineHistory:add")
262   - @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT)
263   - @PostMapping("/add")
264   - @ResponseBody
265   - public AjaxResult addSave(BsthTLine bsthTLine)
266   - {
267   - User loginUser = ShiroUtils.getSysUser();
268   - bsthTLine.setCreateBy(loginUser.getUserName());
269   - return toAjax(bsthTLineService.insertBsthTLineHistory(bsthTLine));
270   - }
271   -
272   -
273   -
274   - @GetMapping("/detail/{id}")
275   - public String detail(@PathVariable("id") Long id, ModelMap mmap)
276   - {
277   - mmap.put("bsthTLine", bsthTLineService.selectBsthTLineHistoryById(id));
278   - return prefix + "/detail";
279   - }
280   -
281   -
282   -
283   - @PostMapping("/updateToLineInfo")
284   - @ResponseBody
285   - public AjaxResult updateToLineInfo(String rows) {
286   - return toAjax(bsthTLineService.updateToLineInfo(rows));
287   - }
288   -*/
289   -
290   -
291 153 }
... ...
bsthLineProfiles/src/main/java/com/ruoyi/project/system/line/domain/BsthTLine.java
... ... @@ -195,12 +195,12 @@ public class BsthTLine extends BaseEntity
195 195 @Excel(name = "行驶间隔(低谷)")
196 196 private String travelIntervalDown;
197 197  
198   - /** 经营权证(大巴) */
199   - @Excel(name = "经营权证(大巴)")
  198 + /** 经营权证(大) */
  199 + @Excel(name = "经营权证(大)")
200 200 private Long warrantVehiclesLarge;
201 201  
202   - /** 经营权证(中巴) */
203   - @Excel(name = "经营权证(中巴)")
  202 + /** 经营权证(中) */
  203 + @Excel(name = "经营权证(中)")
204 204 private Long warrantVehiclesMiddle;
205 205  
206 206 /** 实际配车数 */
... ... @@ -208,11 +208,11 @@ public class BsthTLine extends BaseEntity
208 208 private Long vehiclesNumber;
209 209  
210 210 /** 实际车辆数(大) */
211   - @Excel(name = "实际车辆数(大)")
  211 + @Excel(name = "实际车辆数(大)")
212 212 private Long numberVehiclesLarge;
213 213  
214 214 /** 实际车辆数(中) */
215   - @Excel(name = "实际车辆数(中)")
  215 + @Excel(name = "实际车辆数(中)")
216 216 private Long numberVehiclesMiddle;
217 217  
218 218 /** 车辆自编号(无) */
... ... @@ -285,160 +285,143 @@ public class BsthTLine extends BaseEntity
285 285 private String createTimeEnd;
286 286  
287 287 private Long historyId;
288   - public void setId(Long id)
289   - {
290   - this.id = id;
291   - }
292 288  
293   - public Long getId()
294   - {
  289 + public Long getId() {
295 290 return id;
296 291 }
297   - public void setEventId(String eventId)
298   - {
299   - this.eventId = eventId;
  292 +
  293 + public void setId(Long id) {
  294 + this.id = id;
300 295 }
301 296  
302   - public String getEventId()
303   - {
  297 + public String getEventId() {
304 298 return eventId;
305 299 }
306   - public void setLineId(Long lineId)
307   - {
308   - this.lineId = lineId;
  300 +
  301 + public void setEventId(String eventId) {
  302 + this.eventId = eventId;
309 303 }
310 304  
311   - public Long getLineId()
312   - {
  305 + public Long getLineId() {
313 306 return lineId;
314 307 }
315   - public void setLineName(String lineName)
316   - {
317   - this.lineName = lineName;
  308 +
  309 + public void setLineId(Long lineId) {
  310 + this.lineId = lineId;
318 311 }
319 312  
320   - public String getLineName()
321   - {
  313 + public String getLineName() {
322 314 return lineName;
323 315 }
324   - public void setCompany(String company)
325   - {
326   - this.company = company;
  316 +
  317 + public void setLineName(String lineName) {
  318 + this.lineName = lineName;
327 319 }
328 320  
329   - public String getCompany()
330   - {
  321 + public String getCompany() {
331 322 return company;
332 323 }
333   - public void setFCompany(String fCompany)
334   - {
335   - this.fCompany = fCompany;
  324 +
  325 + public void setCompany(String company) {
  326 + this.company = company;
336 327 }
337 328  
338   - public String getFCompany()
339   - {
  329 + public String getfCompany() {
340 330 return fCompany;
341 331 }
342   - public void setPLineId(Long pLineId)
343   - {
344   - this.pLineId = pLineId;
  332 +
  333 + public void setfCompany(String fCompany) {
  334 + this.fCompany = fCompany;
345 335 }
346 336  
347   - public Long getPLineId()
348   - {
  337 + public Long getpLineId() {
349 338 return pLineId;
350 339 }
351   - public void setServiceType(String serviceType)
352   - {
353   - this.serviceType = serviceType;
  340 +
  341 + public void setpLineId(Long pLineId) {
  342 + this.pLineId = pLineId;
354 343 }
355 344  
356   - public String getServiceType()
357   - {
  345 + public String getServiceType() {
358 346 return serviceType;
359 347 }
360   - public void setLineLevel(String lineLevel)
361   - {
362   - this.lineLevel = lineLevel;
  348 +
  349 + public void setServiceType(String serviceType) {
  350 + this.serviceType = serviceType;
363 351 }
364 352  
365   - public String getLineLevel()
366   - {
  353 + public String getLineLevel() {
367 354 return lineLevel;
368 355 }
369   - public void setLineType(String lineType)
370   - {
371   - this.lineType = lineType;
  356 +
  357 + public void setLineLevel(String lineLevel) {
  358 + this.lineLevel = lineLevel;
372 359 }
373 360  
374   - public String getLineType()
375   - {
  361 + public String getLineType() {
376 362 return lineType;
377 363 }
378   - public void setDistrict(String district)
379   - {
380   - this.district = district;
  364 +
  365 + public void setLineType(String lineType) {
  366 + this.lineType = lineType;
381 367 }
382 368  
383   - public String getDistrict()
384   - {
  369 + public String getDistrict() {
385 370 return district;
386 371 }
387   - public void setInoutDistrict(String inoutDistrict)
388   - {
389   - this.inoutDistrict = inoutDistrict;
  372 +
  373 + public void setDistrict(String district) {
  374 + this.district = district;
390 375 }
391 376  
392   - public String getInoutDistrict()
393   - {
  377 + public String getInoutDistrict() {
394 378 return inoutDistrict;
395 379 }
396   - public void setServiceState(String serviceState)
397   - {
398   - this.serviceState = serviceState;
  380 +
  381 + public void setInoutDistrict(String inoutDistrict) {
  382 + this.inoutDistrict = inoutDistrict;
399 383 }
400 384  
401   - public String getServiceState()
402   - {
  385 + public String getServiceState() {
403 386 return serviceState;
404 387 }
405   - public void setBusType(String busType)
406   - {
407   - this.busType = busType;
  388 +
  389 + public void setServiceState(String serviceState) {
  390 + this.serviceState = serviceState;
408 391 }
409 392  
410   - public String getBusType()
411   - {
  393 + public String getBusType() {
412 394 return busType;
413 395 }
414   - public void setAirConditionerType(String airConditionerType)
415   - {
416   - this.airConditionerType = airConditionerType;
  396 +
  397 + public void setBusType(String busType) {
  398 + this.busType = busType;
417 399 }
418 400  
419   - public String getAirConditionerType()
420   - {
  401 + public String getAirConditionerType() {
421 402 return airConditionerType;
422 403 }
423   - public void setSellTicketType(String sellTicketType)
424   - {
425   - this.sellTicketType = sellTicketType;
  404 +
  405 + public void setAirConditionerType(String airConditionerType) {
  406 + this.airConditionerType = airConditionerType;
426 407 }
427 408  
428   - public String getSellTicketType()
429   - {
  409 + public String getSellTicketType() {
430 410 return sellTicketType;
431 411 }
432   - public void setServiceTime(String serviceTime)
433   - {
434   - this.serviceTime = serviceTime;
  412 +
  413 + public void setSellTicketType(String sellTicketType) {
  414 + this.sellTicketType = sellTicketType;
435 415 }
436 416  
437   - public String getServiceTime()
438   - {
  417 + public String getServiceTime() {
439 418 return serviceTime;
440 419 }
441 420  
  421 + public void setServiceTime(String serviceTime) {
  422 + this.serviceTime = serviceTime;
  423 + }
  424 +
442 425 public String getLineDistance() {
443 426 return lineDistance;
444 427 }
... ... @@ -447,421 +430,384 @@ public class BsthTLine extends BaseEntity
447 430 this.lineDistance = lineDistance;
448 431 }
449 432  
450   - public void setLineCode(String lineCode)
451   - {
  433 + public String getLineCode() {
  434 + return lineCode;
  435 + }
  436 +
  437 + public void setLineCode(String lineCode) {
452 438 this.lineCode = lineCode;
453 439 }
454 440  
455   - public String getLineCode()
456   - {
457   - return lineCode;
  441 + public Long getWarrantYear() {
  442 + return warrantYear;
458 443 }
459   - public void setWarrantYear(Long warrantYear)
460   - {
  444 +
  445 + public void setWarrantYear(Long warrantYear) {
461 446 this.warrantYear = warrantYear;
462 447 }
463 448  
464   - public Long getWarrantYear()
465   - {
466   - return warrantYear;
  449 + public Date getWarrantStartTime() {
  450 + return warrantStartTime;
467 451 }
468   - public void setWarrantStartTime(Date warrantStartTime)
469   - {
  452 +
  453 + public void setWarrantStartTime(Date warrantStartTime) {
470 454 this.warrantStartTime = warrantStartTime;
471 455 }
472 456  
473   - public Date getWarrantStartTime()
474   - {
475   - return warrantStartTime;
  457 + public Date getWarrantEndTime() {
  458 + return warrantEndTime;
476 459 }
477   - public void setWarrantEndTime(Date warrantEndTime)
478   - {
  460 +
  461 + public void setWarrantEndTime(Date warrantEndTime) {
479 462 this.warrantEndTime = warrantEndTime;
480 463 }
481 464  
482   - public Date getWarrantEndTime()
483   - {
484   - return warrantEndTime;
  465 + public Date getPlanCancelTime() {
  466 + return planCancelTime;
485 467 }
486   - public void setPlanCancelTime(Date planCancelTime)
487   - {
  468 +
  469 + public void setPlanCancelTime(Date planCancelTime) {
488 470 this.planCancelTime = planCancelTime;
489 471 }
490 472  
491   - public Date getPlanCancelTime()
492   - {
493   - return planCancelTime;
  473 + public Date getCancelTime() {
  474 + return cancelTime;
494 475 }
495   - public void setCancelTime(Date cancelTime)
496   - {
  476 +
  477 + public void setCancelTime(Date cancelTime) {
497 478 this.cancelTime = cancelTime;
498 479 }
499 480  
500   - public Date getCancelTime()
501   - {
502   - return cancelTime;
  481 + @Override
  482 + public String getUpdateBy() {
  483 + return updateBy;
  484 + }
  485 +
  486 + @Override
  487 + public void setUpdateBy(String updateBy) {
  488 + this.updateBy = updateBy;
503 489 }
504 490  
  491 + @Override
  492 + public Date getUpdateTime() {
  493 + return updateTime;
  494 + }
505 495  
506   - public void setTimeSchedule(Date timeSchedule)
507   - {
508   - this.timeSchedule = timeSchedule;
  496 + @Override
  497 + public void setUpdateTime(Date updateTime) {
  498 + this.updateTime = updateTime;
509 499 }
510 500  
511   - public Date getTimeSchedule()
512   - {
  501 + public Date getTimeSchedule() {
513 502 return timeSchedule;
514 503 }
515   - public void setPark(String park)
516   - {
517   - this.park = park;
  504 +
  505 + public void setTimeSchedule(Date timeSchedule) {
  506 + this.timeSchedule = timeSchedule;
518 507 }
519 508  
520   - public String getPark()
521   - {
  509 + public String getPark() {
522 510 return park;
523 511 }
524   - public void setIsWarrant(String isWarrant)
525   - {
526   - this.isWarrant = isWarrant;
  512 +
  513 + public void setPark(String park) {
  514 + this.park = park;
527 515 }
528 516  
529   - public String getIsWarrant()
530   - {
  517 + public String getIsWarrant() {
531 518 return isWarrant;
532 519 }
533   - public void setRoadType(String roadType)
534   - {
535   - this.roadType = roadType;
  520 +
  521 + public void setIsWarrant(String isWarrant) {
  522 + this.isWarrant = isWarrant;
  523 + }
  524 +
  525 + public Date getIsWarrantEndTime() {
  526 + return isWarrantEndTime;
  527 + }
  528 +
  529 + public void setIsWarrantEndTime(Date isWarrantEndTime) {
  530 + this.isWarrantEndTime = isWarrantEndTime;
536 531 }
537 532  
538   - public String getRoadType()
539   - {
  533 + public String getRoadType() {
540 534 return roadType;
541 535 }
542   - public void setTicketPrice(String ticketPrice)
543   - {
544   - this.ticketPrice = ticketPrice;
  536 +
  537 + public void setRoadType(String roadType) {
  538 + this.roadType = roadType;
545 539 }
546 540  
547   - public String getTicketPrice()
548   - {
  541 + public String getTicketPrice() {
549 542 return ticketPrice;
550 543 }
551   - public void setFirstStation(String firstStation)
552   - {
553   - this.firstStation = firstStation;
  544 +
  545 + public void setTicketPrice(String ticketPrice) {
  546 + this.ticketPrice = ticketPrice;
554 547 }
555 548  
556   - public String getFirstStation()
557   - {
  549 + public String getFirstStation() {
558 550 return firstStation;
559 551 }
560 552  
561   - public void setFirstTime(String firstTime)
562   - {
563   - this.firstTime = firstTime;
  553 + public void setFirstStation(String firstStation) {
  554 + this.firstStation = firstStation;
564 555 }
565 556  
566   - public String getFirstTime()
567   - {
  557 + public String getFirstTime() {
568 558 return firstTime;
569 559 }
570   - public void setLastStation(String lastStation)
571   - {
572   - this.lastStation = lastStation;
  560 +
  561 + public void setFirstTime(String firstTime) {
  562 + this.firstTime = firstTime;
573 563 }
574 564  
575   - public String getLastStation()
576   - {
  565 + public String getLastStation() {
577 566 return lastStation;
578 567 }
579   - public void setLastTime(String lastTime)
580   - {
581   - this.lastTime = lastTime;
  568 +
  569 + public void setLastStation(String lastStation) {
  570 + this.lastStation = lastStation;
582 571 }
583 572  
584   - public String getLastTime()
585   - {
  573 + public String getLastTime() {
586 574 return lastTime;
587 575 }
588   - public void setMileageUp(String mileageUp)
589   - {
590   - this.mileageUp = mileageUp;
  576 +
  577 + public void setLastTime(String lastTime) {
  578 + this.lastTime = lastTime;
591 579 }
592 580  
593   - public String getMileageUp()
594   - {
  581 + public String getMileageUp() {
595 582 return mileageUp;
596 583 }
597   - public void setMileageDown(String mileageDown)
598   - {
599   - this.mileageDown = mileageDown;
  584 +
  585 + public void setMileageUp(String mileageUp) {
  586 + this.mileageUp = mileageUp;
600 587 }
601 588  
602   - public String getMileageDown()
603   - {
  589 + public String getMileageDown() {
604 590 return mileageDown;
605 591 }
606   - public void setStationUp(String stationUp)
607   - {
608   - this.stationUp = stationUp;
  592 +
  593 + public void setMileageDown(String mileageDown) {
  594 + this.mileageDown = mileageDown;
609 595 }
610 596  
611   - public String getStationUp()
612   - {
  597 + public String getStationUp() {
613 598 return stationUp;
614 599 }
615   - public void setStationDown(String stationDown)
616   - {
617   - this.stationDown = stationDown;
  600 +
  601 + public void setStationUp(String stationUp) {
  602 + this.stationUp = stationUp;
618 603 }
619 604  
620   - public String getStationDown()
621   - {
  605 + public String getStationDown() {
622 606 return stationDown;
623 607 }
624   - public void setTravelTimeUp(String travelTimeUp)
625   - {
626   - this.travelTimeUp = travelTimeUp;
  608 +
  609 + public void setStationDown(String stationDown) {
  610 + this.stationDown = stationDown;
627 611 }
628 612  
629   - public String getTravelTimeUp()
630   - {
  613 + public String getTravelTimeUp() {
631 614 return travelTimeUp;
632 615 }
633   - public void setTravelTimeDown(String travelTimeDown)
634   - {
635   - this.travelTimeDown = travelTimeDown;
  616 +
  617 + public void setTravelTimeUp(String travelTimeUp) {
  618 + this.travelTimeUp = travelTimeUp;
636 619 }
637 620  
638   - public String getTravelTimeDown()
639   - {
  621 + public String getTravelTimeDown() {
640 622 return travelTimeDown;
641 623 }
642   - public void setTravelIntervalUp(String travelIntervalUp)
643   - {
644   - this.travelIntervalUp = travelIntervalUp;
  624 +
  625 + public void setTravelTimeDown(String travelTimeDown) {
  626 + this.travelTimeDown = travelTimeDown;
645 627 }
646 628  
647   - public String getTravelIntervalUp()
648   - {
  629 + public String getTravelIntervalUp() {
649 630 return travelIntervalUp;
650 631 }
651   - public void setTravelIntervalDown(String travelIntervalDown)
652   - {
653   - this.travelIntervalDown = travelIntervalDown;
  632 +
  633 + public void setTravelIntervalUp(String travelIntervalUp) {
  634 + this.travelIntervalUp = travelIntervalUp;
654 635 }
655 636  
656   - public String getTravelIntervalDown()
657   - {
  637 + public String getTravelIntervalDown() {
658 638 return travelIntervalDown;
659 639 }
660   - public void setWarrantVehiclesLarge(Long warrantVehiclesLarge)
661   - {
662   - this.warrantVehiclesLarge = warrantVehiclesLarge;
  640 +
  641 + public void setTravelIntervalDown(String travelIntervalDown) {
  642 + this.travelIntervalDown = travelIntervalDown;
663 643 }
664 644  
665   - public Long getWarrantVehiclesLarge()
666   - {
  645 + public Long getWarrantVehiclesLarge() {
667 646 return warrantVehiclesLarge;
668 647 }
669   - public void setWarrantVehiclesMiddle(Long warrantVehiclesMiddle)
670   - {
671   - this.warrantVehiclesMiddle = warrantVehiclesMiddle;
  648 +
  649 + public void setWarrantVehiclesLarge(Long warrantVehiclesLarge) {
  650 + this.warrantVehiclesLarge = warrantVehiclesLarge;
672 651 }
673 652  
674   - public Long getWarrantVehiclesMiddle()
675   - {
  653 + public Long getWarrantVehiclesMiddle() {
676 654 return warrantVehiclesMiddle;
677 655 }
678   - public void setVehiclesNumber(Long vehiclesNumber)
679   - {
680   - this.vehiclesNumber = vehiclesNumber;
  656 +
  657 + public void setWarrantVehiclesMiddle(Long warrantVehiclesMiddle) {
  658 + this.warrantVehiclesMiddle = warrantVehiclesMiddle;
681 659 }
682 660  
683   - public Long getVehiclesNumber()
684   - {
  661 + public Long getVehiclesNumber() {
685 662 return vehiclesNumber;
686 663 }
687   - public void setNumberVehiclesLarge(Long numberVehiclesLarge)
688   - {
689   - this.numberVehiclesLarge = numberVehiclesLarge;
  664 +
  665 + public void setVehiclesNumber(Long vehiclesNumber) {
  666 + this.vehiclesNumber = vehiclesNumber;
690 667 }
691 668  
692   - public Long getNumberVehiclesLarge()
693   - {
  669 + public Long getNumberVehiclesLarge() {
694 670 return numberVehiclesLarge;
695 671 }
696   - public void setNumberVehiclesMiddle(Long numberVehiclesMiddle)
697   - {
698   - this.numberVehiclesMiddle = numberVehiclesMiddle;
  672 +
  673 + public void setNumberVehiclesLarge(Long numberVehiclesLarge) {
  674 + this.numberVehiclesLarge = numberVehiclesLarge;
699 675 }
700 676  
701   - public Long getNumberVehiclesMiddle()
702   - {
  677 + public Long getNumberVehiclesMiddle() {
703 678 return numberVehiclesMiddle;
704 679 }
705   - public void setCarPlate(String carPlate)
706   - {
707   - this.carPlate = carPlate;
  680 +
  681 + public void setNumberVehiclesMiddle(Long numberVehiclesMiddle) {
  682 + this.numberVehiclesMiddle = numberVehiclesMiddle;
708 683 }
709 684  
710   - public String getCarPlate()
711   - {
  685 + public String getCarPlate() {
712 686 return carPlate;
713 687 }
714   - public void setNumberPerson(Long numberPerson)
715   - {
716   - this.numberPerson = numberPerson;
  688 +
  689 + public void setCarPlate(String carPlate) {
  690 + this.carPlate = carPlate;
717 691 }
718 692  
719   - public Long getNumberPerson()
720   - {
  693 + public Long getNumberPerson() {
721 694 return numberPerson;
722 695 }
723   - public void setNumberPersonDriver(Long numberPersonDriver)
724   - {
725   - this.numberPersonDriver = numberPersonDriver;
  696 +
  697 + public void setNumberPerson(Long numberPerson) {
  698 + this.numberPerson = numberPerson;
726 699 }
727 700  
728   - public Long getNumberPersonDriver()
729   - {
  701 + public Long getNumberPersonDriver() {
730 702 return numberPersonDriver;
731 703 }
732   - public void setNumberPersonSales(Long numberPersonSales)
733   - {
734   - this.numberPersonSales = numberPersonSales;
  704 +
  705 + public void setNumberPersonDriver(Long numberPersonDriver) {
  706 + this.numberPersonDriver = numberPersonDriver;
735 707 }
736 708  
737   - public Long getNumberPersonSales()
738   - {
  709 + public Long getNumberPersonSales() {
739 710 return numberPersonSales;
740 711 }
741   - public void setBusEvNumber(Long busEvNumber)
742   - {
743   - this.busEvNumber = busEvNumber;
  712 +
  713 + public void setNumberPersonSales(Long numberPersonSales) {
  714 + this.numberPersonSales = numberPersonSales;
744 715 }
745 716  
746   - public Long getBusEvNumber()
747   - {
  717 + public Long getBusEvNumber() {
748 718 return busEvNumber;
749 719 }
750   - public void setDirections(String directions)
751   - {
752   - this.directions = directions;
  720 +
  721 + public void setBusEvNumber(Long busEvNumber) {
  722 + this.busEvNumber = busEvNumber;
753 723 }
754 724  
755   - public String getDirections()
756   - {
  725 + public String getDirections() {
757 726 return directions;
758 727 }
759   - public void setHalfwayStation(String halfwayStation)
760   - {
761   - this.halfwayStation = halfwayStation;
  728 +
  729 + public void setDirections(String directions) {
  730 + this.directions = directions;
762 731 }
763 732  
764   - public String getHalfwayStation()
765   - {
  733 + public String getHalfwayStation() {
766 734 return halfwayStation;
767 735 }
768 736  
769   - public void setDivideLevel(String divideLevel)
770   - {
771   - this.divideLevel = divideLevel;
  737 + public void setHalfwayStation(String halfwayStation) {
  738 + this.halfwayStation = halfwayStation;
772 739 }
773 740  
774   - public String getDivideLevel()
775   - {
  741 + public String getDivideLevel() {
776 742 return divideLevel;
777 743 }
778   - public void setHasTimelists(String hasTimelists)
779   - {
780   - this.hasTimelists = hasTimelists;
  744 +
  745 + public void setDivideLevel(String divideLevel) {
  746 + this.divideLevel = divideLevel;
781 747 }
782 748  
783   - public String getHasTimelists()
784   - {
  749 + public String getHasTimelists() {
785 750 return hasTimelists;
786 751 }
787   - public void setIsMetro(String isMetro)
788   - {
789   - this.isMetro = isMetro;
  752 +
  753 + public void setHasTimelists(String hasTimelists) {
  754 + this.hasTimelists = hasTimelists;
790 755 }
791 756  
792   - public String getIsMetro()
793   - {
  757 + public String getIsMetro() {
794 758 return isMetro;
795 759 }
796   - public void setMetroTime(String metroTime)
797   - {
798   - this.metroTime = metroTime;
  760 +
  761 + public void setIsMetro(String isMetro) {
  762 + this.isMetro = isMetro;
799 763 }
800 764  
801   - public String getMetroTime()
802   - {
  765 + public String getMetroTime() {
803 766 return metroTime;
804 767 }
805   - public void setColdBonusType(String coldBonusType)
806   - {
807   - this.coldBonusType = coldBonusType;
  768 +
  769 + public void setMetroTime(String metroTime) {
  770 + this.metroTime = metroTime;
808 771 }
809 772  
810   - public String getColdBonusType()
811   - {
  773 + public String getColdBonusType() {
812 774 return coldBonusType;
813 775 }
814 776  
815   -
816   - public void setNightParking(String nightParking)
817   - {
818   - this.nightParking = nightParking;
  777 + public void setColdBonusType(String coldBonusType) {
  778 + this.coldBonusType = coldBonusType;
819 779 }
820 780  
821   - public String getNightParking()
822   - {
823   - return nightParking;
  781 + public String getLineUpdateType() {
  782 + return lineUpdateType;
824 783 }
825 784  
826   -
827   -
828   - public static long getSerialVersionUID() {
829   - return serialVersionUID;
830   - }
831   -
832   - public String getUpdateStatus() {
833   - return updateStatus;
834   - }
835   -
836   - public void setUpdateStatus(String updateStatus) {
837   - this.updateStatus = updateStatus;
838   - }
839   -
840   - public String getLineUpdateType() {
841   - return lineUpdateType;
842   - }
  785 + public void setLineUpdateType(String lineUpdateType) {
  786 + this.lineUpdateType = lineUpdateType;
  787 + }
843 788  
844   - public void setLineUpdateType(String lineUpdateType) {
845   - this.lineUpdateType = lineUpdateType;
846   - }
847   -
848   -
  789 + public String getUpdateStatus() {
  790 + return updateStatus;
  791 + }
849 792  
850   - public String getFiles() {
851   - return files;
852   - }
  793 + public void setUpdateStatus(String updateStatus) {
  794 + this.updateStatus = updateStatus;
  795 + }
853 796  
854   - public void setFiles(String files) {
855   - this.files = files;
856   - }
  797 + public String getNightParking() {
  798 + return nightParking;
  799 + }
857 800  
  801 + public void setNightParking(String nightParking) {
  802 + this.nightParking = nightParking;
  803 + }
858 804  
859   - public Date getIsWarrantEndTime() {
860   - return isWarrantEndTime;
  805 + public String getFiles() {
  806 + return files;
861 807 }
862 808  
863   - public void setIsWarrantEndTime(Date isWarrantEndTime) {
864   - this.isWarrantEndTime = isWarrantEndTime;
  809 + public void setFiles(String files) {
  810 + this.files = files;
865 811 }
866 812  
867 813 public String getExamineStatus() {
... ... @@ -880,42 +826,6 @@ public class BsthTLine extends BaseEntity
880 826 this.examineType = examineType;
881 827 }
882 828  
883   - public String getfCompany() {
884   - return fCompany;
885   - }
886   -
887   - public void setfCompany(String fCompany) {
888   - this.fCompany = fCompany;
889   - }
890   -
891   - public Long getpLineId() {
892   - return pLineId;
893   - }
894   -
895   - public void setpLineId(Long pLineId) {
896   - this.pLineId = pLineId;
897   - }
898   -
899   - @Override
900   - public String getUpdateBy() {
901   - return updateBy;
902   - }
903   -
904   - @Override
905   - public void setUpdateBy(String updateBy) {
906   - this.updateBy = updateBy;
907   - }
908   -
909   - @Override
910   - public Date getUpdateTime() {
911   - return updateTime;
912   - }
913   -
914   - @Override
915   - public void setUpdateTime(Date updateTime) {
916   - this.updateTime = updateTime;
917   - }
918   -
919 829 public String getRevenueType() {
920 830 return revenueType;
921 831 }
... ... @@ -947,77 +857,4 @@ public class BsthTLine extends BaseEntity
947 857 public void setHistoryId(Long historyId) {
948 858 this.historyId = historyId;
949 859 }
950   -
951   - @Override
952   - public String toString() {
953   - return "BsthTLine{" +
954   - "id=" + id +
955   - ", eventId='" + eventId + '\'' +
956   - ", lineId=" + lineId +
957   - ", lineName='" + lineName + '\'' +
958   - ", company='" + company + '\'' +
959   - ", fCompany='" + fCompany + '\'' +
960   - ", pLineId=" + pLineId +
961   - ", serviceType='" + serviceType + '\'' +
962   - ", lineLevel='" + lineLevel + '\'' +
963   - ", lineType='" + lineType + '\'' +
964   - ", district='" + district + '\'' +
965   - ", inoutDistrict='" + inoutDistrict + '\'' +
966   - ", serviceState='" + serviceState + '\'' +
967   - ", busType='" + busType + '\'' +
968   - ", airConditionerType='" + airConditionerType + '\'' +
969   - ", sellTicketType='" + sellTicketType + '\'' +
970   - ", serviceTime='" + serviceTime + '\'' +
971   - ", lineDistance=" + lineDistance +
972   - ", lineCode='" + lineCode + '\'' +
973   - ", warrantYear=" + warrantYear +
974   - ", warrantStartTime=" + warrantStartTime +
975   - ", warrantEndTime=" + warrantEndTime +
976   - ", planCancelTime=" + planCancelTime +
977   - ", cancelTime=" + cancelTime +
978   - ", updateBy='" + updateBy + '\'' +
979   - ", updateTime=" + updateTime +
980   - ", timeSchedule=" + timeSchedule +
981   - ", park='" + park + '\'' +
982   - ", isWarrant='" + isWarrant + '\'' +
983   - ", roadType='" + roadType + '\'' +
984   - ", ticketPrice='" + ticketPrice + '\'' +
985   - ", firstStation='" + firstStation + '\'' +
986   - ", firstTime='" + firstTime + '\'' +
987   - ", lastStation='" + lastStation + '\'' +
988   - ", lastTime='" + lastTime + '\'' +
989   - ", mileageUp='" + mileageUp + '\'' +
990   - ", mileageDown='" + mileageDown + '\'' +
991   - ", stationUp='" + stationUp + '\'' +
992   - ", stationDown='" + stationDown + '\'' +
993   - ", travelTimeUp='" + travelTimeUp + '\'' +
994   - ", travelTimeDown='" + travelTimeDown + '\'' +
995   - ", travelIntervalUp='" + travelIntervalUp + '\'' +
996   - ", travelIntervalDown='" + travelIntervalDown + '\'' +
997   - ", warrantVehiclesLarge=" + warrantVehiclesLarge +
998   - ", warrantVehiclesMiddle=" + warrantVehiclesMiddle +
999   - ", vehiclesNumber=" + vehiclesNumber +
1000   - ", numberVehiclesLarge=" + numberVehiclesLarge +
1001   - ", numberVehiclesMiddle=" + numberVehiclesMiddle +
1002   - ", carPlate='" + carPlate + '\'' +
1003   - ", numberPerson=" + numberPerson +
1004   - ", numberPersonDriver=" + numberPersonDriver +
1005   - ", numberPersonSales=" + numberPersonSales +
1006   - ", busEvNumber=" + busEvNumber +
1007   - ", directions='" + directions + '\'' +
1008   - ", halfwayStation='" + halfwayStation + '\'' +
1009   - ", divideLevel='" + divideLevel + '\'' +
1010   - ", hasTimelists='" + hasTimelists + '\'' +
1011   - ", isMetro='" + isMetro + '\'' +
1012   - ", metroTime='" + metroTime + '\'' +
1013   - ", coldBonusType='" + coldBonusType + '\'' +
1014   - ", lineUpdateType='" + lineUpdateType + '\'' +
1015   - ", updateStatus='" + updateStatus + '\'' +
1016   - ", nightParking='" + nightParking + '\'' +
1017   - ", files='" + files + '\'' +
1018   - ", examineStatus='" + examineStatus + '\'' +
1019   - ", examineType='" + examineType + '\'' +
1020   - ", revenueType='" + revenueType + '\'' +
1021   - '}';
1022   - }
1023 860 }
... ...
bsthLineProfiles/src/main/java/com/ruoyi/project/system/line/domain/BsthTLineKFK.java
... ... @@ -4,7 +4,12 @@ import com.fasterxml.jackson.annotation.JsonFormat;
4 4 import com.ruoyi.framework.aspectj.lang.annotation.Excel;
5 5 import com.ruoyi.framework.web.domain.BaseEntity;
6 6  
  7 +import java.beans.PropertyDescriptor;
  8 +import java.lang.reflect.Field;
  9 +import java.lang.reflect.Method;
7 10 import java.util.Date;
  11 +import java.util.List;
  12 +import java.util.Map;
8 13  
9 14 /**
10 15 * 【请填写功能名称】对象 bsth_t_line
... ... @@ -12,7 +17,7 @@ import java.util.Date;
12 17 * @author ruoyi
13 18 * @date 2021-08-17
14 19 */
15   -public class BsthTLineKFK extends BaseEntity
  20 +public class BsthTLineKFK
16 21 {
17 22 /** 线路名称 */
18 23 private String lineName;
... ... @@ -109,10 +114,10 @@ public class BsthTLineKFK extends BaseEntity
109 114 @JsonFormat(pattern = "yyyy-MM-dd")
110 115 private Date timeSchedule;
111 116  
112   - /** 经营权证(大) */
  117 + /** 经营权证(大) */
113 118 private Long warrantVehiclesLarge;
114 119  
115   - /** 经营权证(中) */
  120 + /** 经营权证(中) */
116 121 private Long warrantVehiclesMiddle;
117 122  
118 123 /** 实际配车数 */
... ... @@ -184,6 +189,39 @@ public class BsthTLineKFK extends BaseEntity
184 189 /** 类型 */
185 190 private String operationType;
186 191  
  192 +
  193 + public BsthTLineKFK(){
  194 +
  195 + }
  196 + public BsthTLineKFK(BsthTLine bsthTLine, List<Map> companyList) {
  197 + try {
  198 + Field[] fields=BsthTLineKFK.class.getDeclaredFields();
  199 + for(Field f : fields) {
  200 + if(!"companyID".equals(f.getName())&&!"fCompanyID".equals(f.getName())&&!"operationType".equals(f.getName())&&!"fCompany".equals(f.getName())){
  201 + PropertyDescriptor pd = new PropertyDescriptor(f.getName(), BsthTLine.class);
  202 + Method rM = pd.getReadMethod();//获得读方法
  203 + Object v = rM.invoke(bsthTLine);
  204 + pd = new PropertyDescriptor(f.getName(), BsthTLineKFK.class);
  205 + Method wM = pd.getWriteMethod();//获得写方法
  206 + wM.invoke(this, v);
  207 + }
  208 + }
  209 + this.fCompany=bsthTLine.getfCompany();
  210 + for (Map map : companyList) {
  211 + String fc=map.get("fCompany").toString();
  212 + String id=map.get("companyID").toString();
  213 + if (fc.equals(this.company+"本部")){
  214 + this.companyID=id;
  215 + }if(fc.equals(this.fCompany)){
  216 + this.fCompanyID=id;
  217 + }
  218 + }
  219 + } catch (Exception e) {
  220 + e.printStackTrace();
  221 + }
  222 + }
  223 +
  224 +
187 225 public String getLineName() {
188 226 return lineName;
189 227 }
... ...
bsthLineProfiles/src/main/java/com/ruoyi/project/system/line/domain/LineHistoryReport.java
... ... @@ -244,14 +244,14 @@ public class LineHistoryReport extends BaseEntity
244 244 @Excel(name = "原行驶间隔(低谷)")
245 245 private String travelIntervalDownOld;
246 246  
247   - @Excel(name = "经营权证(大)")
  247 + @Excel(name = "经营权证(大)")
248 248 private Long warrantVehiclesLarge;
249   - @Excel(name = "原经营权证(大)")
  249 + @Excel(name = "原经营权证(大)")
250 250 private Long warrantVehiclesLargeOld;
251 251  
252   - @Excel(name = "经营权证(中)")
  252 + @Excel(name = "经营权证(中)")
253 253 private Long warrantVehiclesMiddle;
254   - @Excel(name = "原经营权证(中)")
  254 + @Excel(name = "原经营权证(中)")
255 255 private Long warrantVehiclesMiddleOld;
256 256  
257 257 @Excel(name = "实际配车数")
... ... @@ -259,14 +259,14 @@ public class LineHistoryReport extends BaseEntity
259 259 @Excel(name = "原实际配车数")
260 260 private Long vehiclesNumberOld;
261 261  
262   - @Excel(name = "实际车辆数(大)")
  262 + @Excel(name = "实际车辆数(大)")
263 263 private Long numberVehiclesLarge;
264   - @Excel(name = "原实际车辆数(大)")
  264 + @Excel(name = "原实际车辆数(大)")
265 265 private Long numberVehiclesLargeOld;
266 266  
267   - @Excel(name = "实际车辆数(中)")
  267 + @Excel(name = "实际车辆数(中)")
268 268 private Long numberVehiclesMiddle;
269   - @Excel(name = "原实际车辆数(中)")
  269 + @Excel(name = "原实际车辆数(中)")
270 270 private Long numberVehiclesMiddleOld;
271 271  
272 272 @Excel(name = "车辆自编号")
... ...
bsthLineProfiles/src/main/java/com/ruoyi/project/system/line/service/IBsthTLineService.java
... ... @@ -4,6 +4,7 @@ import java.util.List;
4 4 import java.util.Map;
5 5  
6 6 import com.ruoyi.project.system.line.domain.BsthTLine;
  7 +import com.ruoyi.project.system.line.domain.BsthTLineKFK;
7 8 import com.ruoyi.project.system.line.domain.LineHistoryReport;
8 9  
9 10 /**
... ... @@ -68,4 +69,7 @@ public interface IBsthTLineService
68 69  
69 70 List<LineHistoryReport>getLineHistoryReport(BsthTLine bsthTLine);
70 71  
  72 + void sendKFK(BsthTLineKFK bsthTLine);
  73 +
  74 + List<BsthTLineKFK> changeCN(List<BsthTLineKFK> list);
71 75 }
... ...
bsthLineProfiles/src/main/java/com/ruoyi/project/system/line/service/impl/BsthTLineServiceImpl.java
1 1 package com.ruoyi.project.system.line.service.impl;
2 2  
  3 +import java.lang.reflect.Field;
3 4 import java.util.*;
4 5 import java.util.stream.Collectors;
5 6  
  7 +import cn.hutool.json.JSON;
  8 +import com.ruoyi.project.system.dict.domain.DictData;
  9 +import com.ruoyi.project.system.dict.service.IDictDataService;
  10 +import com.ruoyi.project.system.line.domain.BsthTLineKFK;
6 11 import com.ruoyi.project.system.line.domain.LineHistoryReport;
  12 +import org.slf4j.Logger;
  13 +import org.slf4j.LoggerFactory;
7 14 import org.springframework.beans.factory.annotation.Autowired;
  15 +import org.springframework.kafka.core.KafkaTemplate;
  16 +import org.springframework.kafka.support.SendResult;
8 17 import org.springframework.stereotype.Service;
9 18 import org.springframework.transaction.annotation.Transactional;
10 19  
... ... @@ -12,6 +21,8 @@ import com.ruoyi.project.system.line.mapper.BsthTLineMapper;
12 21 import com.ruoyi.project.system.line.domain.BsthTLine;
13 22 import com.ruoyi.project.system.line.service.IBsthTLineService;
14 23 import com.ruoyi.common.utils.text.Convert;
  24 +import org.springframework.util.concurrent.ListenableFuture;
  25 +import org.springframework.util.concurrent.ListenableFutureCallback;
15 26  
16 27 /**
17 28 * 【请填写功能名称】Service业务层处理
... ... @@ -25,6 +36,14 @@ public class BsthTLineServiceImpl implements IBsthTLineService
25 36 @Autowired
26 37 private BsthTLineMapper bsthTLineMapper;
27 38  
  39 + @Autowired
  40 + private KafkaTemplate kafkaTemplate;
  41 +
  42 + Logger logger = LoggerFactory.getLogger(BsthTLineServiceImpl.class);
  43 +
  44 + @Autowired
  45 + IDictDataService dictDataService;
  46 +
28 47 /**
29 48 * 查询【请填写功能名称】
30 49 *
... ... @@ -159,6 +178,12 @@ public class BsthTLineServiceImpl implements IBsthTLineService
159 178 i=bsthTLineMapper.insertBsthTLine(bl);
160 179 //删除审核表
161 180 bsthTLineMapper.deleteBsthTLineExamineById(new String[]{bsthTLine.getId().toString()});
  181 +
  182 + //kafka
  183 + List<Map> companyList=this.selectCompany();
  184 + BsthTLineKFK bsthTLineKFK=new BsthTLineKFK(bl,companyList);
  185 + bsthTLineKFK.setOperationType("insert");
  186 + this.sendKFK(bsthTLineKFK);
162 187 }else{//未通过
163 188 //修改审核表状态
164 189 bl=new BsthTLine();
... ... @@ -196,6 +221,11 @@ public class BsthTLineServiceImpl implements IBsthTLineService
196 221 i=bsthTLineMapper.updateBsthTLine(bl);
197 222 //删除审核表记录
198 223 bsthTLineMapper.deleteBsthTLineExamineById(new String[]{String.valueOf(id)});
  224 + //kafka
  225 + List<Map> companyList=this.selectCompany();
  226 + BsthTLineKFK bsthTLineKFK=new BsthTLineKFK(bl,companyList);
  227 + bsthTLineKFK.setOperationType("update");
  228 + this.sendKFK(bsthTLineKFK);
199 229 }else{//未通过
200 230 //修改审核表状态
201 231 bl=new BsthTLine();
... ... @@ -276,4 +306,79 @@ public class BsthTLineServiceImpl implements IBsthTLineService
276 306 return bsthTLineMapper.getLineHistoryReport(bsthTLine);
277 307 }
278 308  
  309 + @Override
  310 + public void sendKFK(BsthTLineKFK bsthTLine){
  311 + Map<String, Object> map = new HashMap<>();
  312 + map.put("datatype", "PDGJ_XLDA");
  313 + map.put("datas", bsthTLine);
  314 + JSON j=new cn.hutool.json.JSONObject(map);
  315 + String json =j.toString();
  316 + ListenableFuture<SendResult<String, String>> future = kafkaTemplate.send("XLJC", json);
  317 + future.addCallback(new ListenableFutureCallback<SendResult<String, String>>() {
  318 + @Override
  319 + public void onSuccess(SendResult<String, String> result) {
  320 + }
  321 + @Override
  322 + public void onFailure(Throwable ex) {
  323 + logger.error("kafka发送线路数据异常", ex);
  324 + }
  325 + });
  326 + }
  327 +
  328 + @Override
  329 + public List<BsthTLineKFK> changeCN(List<BsthTLineKFK> list){
  330 + List<DictData> dicts = dictDataService.selectDictDataList(null);
  331 + Map<String,List<DictData>> dictMap = new HashMap();
  332 + for(DictData d : dicts) {
  333 + if(dictMap.get(d.getDictType()) == null) {
  334 + dictMap.put(d.getDictType(), new ArrayList<DictData>());
  335 + }
  336 + dictMap.get(d.getDictType()).add(d);
  337 + }
  338 + try {
  339 + for(BsthTLineKFK line:list) {
  340 + Field[] field = line.getClass().getDeclaredFields();
  341 + for(int j=0 ; j<field.length ; j++){ //遍历所有属性
  342 + String name = field[j].getName(); //获取属性的名字
  343 + if(name.length()>3&&!"Old".equals(name.substring(name.length()-3))&&!"lineName".equals(name)){
  344 + //获取变更前后的值
  345 + Field f = line.getClass().getDeclaredField(name);
  346 + f.setAccessible(true);
  347 + f.get(line);
  348 + String v =f.get(line)==null?"":f.get(line).toString();
  349 + //编码转换
  350 + if(dictMap.get(name) != null) {
  351 + if(v != null && v.split(",").length > 0) {
  352 + String result = "";
  353 + for(String str:v.split(",")) {
  354 + for(DictData d:dictMap.get(name)) {
  355 + if(d.getDictValue().equals(str)) {
  356 + result += d.getDictLabel() + ",";
  357 + }
  358 + }
  359 + }
  360 + if(!result.isEmpty()) {
  361 + f.set(line, result.substring(0,result.length()-1));
  362 + }else {
  363 + f.set(line, v);
  364 + }
  365 + }
  366 + }
  367 + if("inoutDistrict".equals(name)||"isWarrant".equals(name)||"isMetro".equals(name)||"hasTimelists".equals(name)){
  368 + if(!"".equals(v)){
  369 + for(DictData d:dictMap.get("trueFalse")) {
  370 + if(d.getDictValue().equals(v)) {
  371 + f.set(line, d.getDictLabel());
  372 + }
  373 + }
  374 + }
  375 + }
  376 + }
  377 + }
  378 + }
  379 + } catch (Exception e) {
  380 + e.printStackTrace();
  381 + }
  382 + return list;
  383 + }
279 384 }
... ...
bsthLineProfiles/src/main/java/com/ruoyi/project/system/notice/controller/NoticeController.java
1 1 package com.ruoyi.project.system.notice.controller;
2 2  
  3 +import java.util.ArrayList;
3 4 import java.util.List;
  5 +
  6 +import com.ruoyi.project.system.line.domain.BsthTLineKFK;
4 7 import org.apache.shiro.authz.annotation.RequiresPermissions;
5 8 import org.springframework.beans.factory.annotation.Autowired;
6 9 import org.springframework.stereotype.Controller;
... ... @@ -106,4 +109,14 @@ public class NoticeController extends BaseController
106 109 {
107 110 return toAjax(noticeService.deleteNoticeByIds(ids));
108 111 }
  112 +
  113 + @PostMapping("/getLineList")
  114 + @ResponseBody
  115 + public List<BsthTLineKFK> getList()
  116 + {
  117 + List list=new ArrayList();
  118 + BsthTLineKFK kfk=new BsthTLineKFK();
  119 + list.add(kfk);
  120 + return list;
  121 + }
109 122 }
... ...
bsthLineProfiles/src/main/resources/application.yml
... ... @@ -60,18 +60,18 @@ spring:
60 60 active: druid
61 61 # 文件上传
62 62 servlet:
63   - multipart:
64   - # 单个文件大小
65   - max-file-size: 10MB
66   - # 设置总上传的文件大小
67   - max-request-size: 20MB
  63 + multipart:
  64 + # 单个文件大小
  65 + max-file-size: 10MB
  66 + # 设置总上传的文件大小
  67 + max-request-size: 20MB
68 68 # 服务模块
69 69 devtools:
70 70 restart:
71 71 # 热部署开关
72 72 enabled: true
73 73  
74   -# redis 配置
  74 + # redis 配置
75 75 redis:
76 76 # 地址
77 77 host: 127.0.0.1
... ... @@ -104,12 +104,12 @@ spring:
104 104  
105 105 # MyBatis
106 106 mybatis:
107   - # 搜索指定包别名
108   - typeAliasesPackage: com.ruoyi.project.**.domain
109   - # 配置mapper的扫描,找到所有的mapper.xml映射文件
110   - mapperLocations: classpath:mybatis/**/*Mapper.xml
111   - # 加载全局的配置文件
112   - configLocation: classpath:mybatis/mybatis-config.xml
  107 + # 搜索指定包别名
  108 + typeAliasesPackage: com.ruoyi.project.**.domain
  109 + # 配置mapper的扫描,找到所有的mapper.xml映射文件
  110 + mapperLocations: classpath:mybatis/**/*Mapper.xml
  111 + # 加载全局的配置文件
  112 + configLocation: classpath:mybatis/mybatis-config.xml
113 113  
114 114 # PageHelper分页插件
115 115 pagehelper:
... ... @@ -177,4 +177,17 @@ gen:
177 177 # 自动去除表前缀,默认是true
178 178 autoRemovePre: true
179 179 # 表前缀(生成类名不会包含表前缀,多个用逗号分隔)
180   - tablePrefix: sys_
181 180 \ No newline at end of file
  181 + tablePrefix: sys_
  182 +
  183 +kafka:
  184 + bootstrap-servers: 47.106.82.232:9092
  185 + producer:
  186 + key-serializer: org.apache.kafka.common.serialization.StringSerializer
  187 + value-serializer: org.apache.kafka.common.serialization.StringSerializer
  188 + buffer-memory: 33554432
  189 + acks: all
  190 + consumer:
  191 + enable-auto-commit: true
  192 + group-id: test
  193 + key-serializer: org.apache.kafka.common.serialization.StringSerializer
  194 + value-serializer: org.apache.kafka.common.serialization.StringSerializer
... ...
bsthLineProfiles/src/main/resources/templates/system/line/detail.html
... ... @@ -5,6 +5,7 @@
5 5 <th:block th:include="include :: datetimepicker-css"/>
6 6 <th:block th:include="include :: bootstrap-fileinput-css"/>
7 7 <th:block th:include="include :: bootstrap-select-css"/>
  8 + <th:block th:include="include :: select2-css"/>
8 9 </head>
9 10 <style>
10 11 .select-list li {
... ... @@ -121,10 +122,8 @@
121 122 <!---------------------------------->
122 123 <li id="ticketPrice">
123 124 <label>票价:</label>
124   - <!--data-max-options="2" 限制多选数量-->
125   - <select name="ticketPrice" th:with="type=${@dict.getType('ticketPrice')}" class="selectpicker"
126   - multiple title="" disabled>
127   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
  125 + <select name="ticketPrice" th:with="type=${@dict.getType('ticketPrice')}" class="selectpicker" disabled multiple title="" >
  126 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
128 127 th:selected="${#arrays.contains(#strings.toString(bsthTLine.ticketPrice== null ? '' : bsthTLine.ticketPrice),#strings.toString(dict.dictValue))}">
129 128 </option>
130 129 </select>
... ... @@ -209,12 +208,12 @@
209 208 </li>
210 209 <!---------------------------------->
211 210 <li id="warrantVehiclesLarge">
212   - <label>经营权证(大):</label><input name="warrantVehiclesLarge" th:field="*{warrantVehiclesLarge}"
  211 + <label>经营权证(大):</label><input name="warrantVehiclesLarge" th:field="*{warrantVehiclesLarge}"
213 212 type="text" disabled>
214 213 </li>
215 214 <!---------------------------------->
216 215 <li id="warrantVehiclesMiddle">
217   - <label>经营权证(中):</label><input name="warrantVehiclesMiddle" th:field="*{warrantVehiclesMiddle}"
  216 + <label>经营权证(中):</label><input name="warrantVehiclesMiddle" th:field="*{warrantVehiclesMiddle}"
218 217 type="text" disabled>
219 218 </li>
220 219 <!---------------------------------->
... ... @@ -223,12 +222,12 @@
223 222 </li>
224 223 <!---------------------------------->
225 224 <li id="numberVehiclesLarge">
226   - <label>实际车辆数(大):</label>
  225 + <label>实际车辆数(大):</label>
227 226 <input name="numberVehiclesLarge" th:field="*{numberVehiclesLarge}" type="text" disabled>
228 227 </li>
229 228 <!---------------------------------->
230 229 <li id="numberVehiclesMiddle">
231   - <label>实际车辆数(中):</label>
  230 + <label>实际车辆数(中):</label>
232 231 <input name="numberVehiclesMiddle" th:field="*{numberVehiclesMiddle}" type="text" disabled>
233 232 </li>
234 233 <!---------------------------------->
... ... @@ -385,6 +384,7 @@
385 384 <th:block th:include="include :: datetimepicker-js"/>
386 385 <th:block th:include="include :: bootstrap-fileinput-js"/>
387 386 <th:block th:include="include :: bootstrap-select-js"/>
  387 +<th:block th:include="include :: select2-js"/>
388 388 <script th:inline="javascript">
389 389 var prefix = ctx + "system/line";
390 390  
... ...
bsthLineProfiles/src/main/resources/templates/system/line/line.html
... ... @@ -154,15 +154,15 @@
154 154 <!---------------------------------->
155 155 <li><label>行驶间隔(低谷):</label> <input type="text" name="travelIntervalDown" /></li>
156 156 <!---------------------------------->
157   - <li><label>经营权证(大):</label> <input type="text" name="warrantVehiclesLarge" /></li>
  157 + <li><label>经营权证(大):</label> <input type="text" name="warrantVehiclesLarge" /></li>
158 158 <!---------------------------------->
159   - <li><label>经营权证(中):</label> <input type="text" name="warrantVehiclesMiddle" /></li>
  159 + <li><label>经营权证(中):</label> <input type="text" name="warrantVehiclesMiddle" /></li>
160 160 <!---------------------------------->
161 161 <li><label>实际配车数:</label> <input type="text" name="vehiclesNumber" /></li>
162 162 <!---------------------------------->
163   - <li><label>实际车辆数(大):</label> <input type="text" name="numberVehiclesLarge" /></li>
  163 + <li><label>实际车辆数(大):</label> <input type="text" name="numberVehiclesLarge" /></li>
164 164 <!---------------------------------->
165   - <li><label>实际车辆数(中):</label> <input type="text" name="numberVehiclesMiddle" /></li>
  165 + <li><label>实际车辆数(中):</label> <input type="text" name="numberVehiclesMiddle" /></li>
166 166 <!---------------------------------->
167 167 <li><label>车辆自编号:</label> <input type="text" name="carPlate" /></li>
168 168 <!---------------------------------->
... ... @@ -527,78 +527,97 @@
527 527 {
528 528 field: 'company',
529 529 title: '公司'
530   - },
531   - {
  530 + },{
532 531 field: 'fCompany',
533 532 title: '分公司'
534   - },
535   - {
  533 + },{
536 534 field: 'lineName',
537 535 title: '线路名称'
538   - },
539   - /*{
540   - field: 'pLineId',
541   - title: '主线路id'
542   - },*/
543   - {
544   - field: 'serviceType',
545   - title: '营运方式'
546   - },
547   - {
548   - field: 'lineLevel',
549   - title: '线路属性'
550   - },
551   - {
  536 + },{
552 537 field: 'lineType',
  538 + title: '线路类型'
  539 + },{
  540 + field: 'lineLevel',
553 541 title: '线路属性'
554   - },
555   - {
  542 + },{
  543 + field: 'serviceType',
  544 + title: '营运方式'
  545 + },{
  546 + field: 'revenueType',
  547 + title: '营收类型'
  548 + },{
556 549 field: 'district',
557 550 title: '区属'
558   - },
559   - {
  551 + },{
560 552 field: 'inoutDistrict',
561 553 title: '是否区内'
562   - },
563   - {
564   - field: 'serviceState',
565   - title: '营运状态'
566   - },
567   - {
568   - field: 'busType',
569   - title: '车辆类型'
570   - },
571   - {
  554 + },{
  555 + field: 'roadType',
  556 + title: '道路类型'
  557 + },{
  558 + field: 'serviceTime',
  559 + title: '运营时间'
  560 + },{
572 561 field: 'airConditionerType',
573 562 title: '是否空调'
574   - },
575   - {
  563 + },{
576 564 field: 'sellTicketType',
577 565 title: '售票类型'
578   - },
579   - {
580   - field: 'serviceTime',
581   - title: '运营时间'
582   - },
583   - {
  566 + },{
  567 + field: 'ticketPrice',
  568 + title: '票价'
  569 + },{
  570 + field: 'halfwayStation',
  571 + title: '站点名称'
  572 + },{
  573 + field: 'directions',
  574 + title: '线路走向'
  575 + },{
  576 + field: 'stationUp',
  577 + title: '站级数(上行)'
  578 + },{
  579 + field: 'stationDown',
  580 + title: '站级数(下行)'
  581 + },{
  582 + field: 'firstStation',
  583 + title: '首站'
  584 + },{
  585 + field: 'lastStation',
  586 + title: '末站'
  587 + },{
  588 + field: 'firstTime',
  589 + title: '起点站首末班'
  590 + },{
  591 + field: 'lastTime',
  592 + title: '终点站首末班'
  593 + },{
  594 + field: 'mileageUp',
  595 + title: '上行里程数'
  596 + },{
  597 + field: 'mileageDown',
  598 + title: '下行里程数'
  599 + },{
584 600 field: 'lineDistance',
585 601 title: '线路长度'
586   - },
587   - {
588   - field: 'lineCode',
589   - title: '线路编码'
590   - },
591   - {
592   - field: 'warrantYear',
593   - title: '授权年限'
594   - },
595   - {
  602 + },{
  603 + field: 'isWarrant',
  604 + title: '是否权证'
  605 + },{
596 606 field: 'warrantStartTime',
597 607 title: '授权起始日期'
598   - },
599   - {
  608 + },{
600 609 field: 'warrantEndTime',
601 610 title: '授权结束日期'
  611 + },{
  612 + field: 'warrantYear',
  613 + title: '授权年限'
  614 + },{
  615 + field: 'serviceState',
  616 + title: '营运状态'
  617 + },
  618 + {
  619 + field: 'busType',
  620 + title: '车辆类型'
602 621 },
603 622 {
604 623 field: 'planCancelTime',
... ... @@ -623,54 +642,6 @@
623 642 {
624 643 field: 'timeSchedule',
625 644 title: '实施时间'
626   - },
627   - /*{
628   - field: 'park',
629   - title: '停车场'
630   - },*/
631   - {
632   - field: 'isWarrant',
633   - title: '是否权证'
634   - },
635   - {
636   - field: 'roadType',
637   - title: '道路类型'
638   - },
639   - {
640   - field: 'ticketPrice',
641   - title: '票价'
642   - },
643   - {
644   - field: 'firstStation',
645   - title: '首站'
646   - },
647   - {
648   - field: 'firstTime',
649   - title: '起点站首末班'
650   - },
651   - {
652   - field: 'lastStation',
653   - title: '末站'
654   - },
655   - {
656   - field: 'lastTime',
657   - title: '终点站首末班'
658   - },
659   - {
660   - field: 'mileageUp',
661   - title: '上行里程数'
662   - },
663   - {
664   - field: 'mileageDown',
665   - title: '下行里程数'
666   - },
667   - {
668   - field: 'stationUp',
669   - title: '站级数(上行)'
670   - },
671   - {
672   - field: 'stationDown',
673   - title: '站级数(下行)'
674 645 },{
675 646 field: 'travelTimeUp',
676 647 title: '行驶时间(上行)'
... ... @@ -685,19 +656,19 @@
685 656 title: '行驶间隔(低谷)'
686 657 },{
687 658 field: 'warrantVehiclesLarge',
688   - title: '经营权证(大)'
  659 + title: '经营权证(大)'
689 660 }, {
690 661 field: 'warrantVehiclesMiddle',
691   - title: '经营权证(中)'
  662 + title: '经营权证(中)'
692 663 },{
693 664 field: 'vehiclesNumber',
694 665 title: '实际配车数'
695 666 }, {
696 667 field: 'numberVehiclesLarge',
697   - title: '实际车辆数(大)'
  668 + title: '实际车辆数(大)'
698 669 }, {
699 670 field: 'numberVehiclesMiddle',
700   - title: '实际车辆数(中)'
  671 + title: '实际车辆数(中)'
701 672 },{
702 673 field: 'carPlate',
703 674 title: '车辆自编号'
... ... @@ -714,12 +685,6 @@
714 685 field: 'busEvNumber',
715 686 title: '新能源车数'
716 687 },{
717   - field: 'directions',
718   - title: '线路走向'
719   - },{
720   - field: 'halfwayStation',
721   - title: '站点名称'
722   - },{
723 688 field: 'divideLevel',
724 689 title: '间隔等级'
725 690 },{
... ... @@ -735,9 +700,6 @@
735 700 field: 'coldBonusType',
736 701 title: '冷僻线路补贴类型'
737 702 },{
738   - field: 'revenueType',
739   - title: '营收类型'
740   - },{
741 703 field: 'lineUpdateType',
742 704 title: '性质'
743 705 }];
... ...
bsthLineProfiles/src/main/resources/templates/system/lineAdd/add.html
... ... @@ -245,12 +245,12 @@
245 245 </div>
246 246 </div>
247 247 <!---------------------------------->
248   - <label class="col-sm-1 control-label">经营权证(大):</label>
  248 + <label class="col-sm-1 control-label">经营权证(大):</label>
249 249 <div class="col-sm-2">
250 250 <input name="warrantVehiclesLarge" class="form-control" type="text">
251 251 </div>
252 252 <!---------------------------------->
253   - <label class="col-sm-1 control-label">经营权证(中):</label>
  253 + <label class="col-sm-1 control-label">经营权证(中):</label>
254 254 <div class="col-sm-2">
255 255 <input name="warrantVehiclesMiddle" class="form-control" type="text">
256 256 </div>
... ...
bsthLineProfiles/src/main/resources/templates/system/lineAdd/edit.html
... ... @@ -257,14 +257,14 @@
257 257 </select>
258 258 </div>
259 259 <!---------------------------------->
260   - <label class="col-sm-1 control-label">经营权证(大):</label>
  260 + <label class="col-sm-1 control-label">经营权证(大):</label>
261 261 <div class="col-sm-2">
262 262 <input name="warrantVehiclesLarge" th:field="*{warrantVehiclesLarge}" class="form-control" type="text">
263 263 </div>
264 264 </div>
265 265  
266 266 <div class="form-group">
267   - <label class="col-sm-1 control-label">经营权证(中):</label>
  267 + <label class="col-sm-1 control-label">经营权证(中):</label>
268 268 <div class="col-sm-2">
269 269 <input name="warrantVehiclesMiddle" th:field="*{warrantVehiclesMiddle}" class="form-control" type="text">
270 270 </div>
... ... @@ -274,12 +274,12 @@
274 274 <input name="vehiclesNumber" th:field="*{vehiclesNumber}" class="form-control" type="text">
275 275 </div>
276 276 <!---------------------------------->
277   - <label class="col-sm-1 control-label">实际车辆数(大):</label>
  277 + <label class="col-sm-1 control-label">实际车辆数(大):</label>
278 278 <div class="col-sm-2">
279 279 <input name="numberVehiclesLarge" th:field="*{numberVehiclesLarge}" class="form-control" type="text">
280 280 </div>
281 281 <!---------------------------------->
282   - <label class="col-sm-1 control-label">实际车辆数(中):</label>
  282 + <label class="col-sm-1 control-label">实际车辆数(中):</label>
283 283 <div class="col-sm-2">
284 284 <input name="numberVehiclesMiddle" th:field="*{numberVehiclesMiddle}" class="form-control" type="text">
285 285 </div>
... ...
bsthLineProfiles/src/main/resources/templates/system/lineExamine/detail.html
... ... @@ -5,444 +5,438 @@
5 5 <th:block th:include="include :: datetimepicker-css" />
6 6 <th:block th:include="include :: bootstrap-fileinput-css" />
7 7 <th:block th:include="include :: bootstrap-select-css" />
  8 +<th:block th:include="include :: select2-css"/>
8 9 </head>
  10 +<style>
  11 + .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice {
  12 + color: #606266;
  13 + background: #1AB394;
  14 + border: 1px solid #ebeef5;
  15 + border-radius: 4px;
  16 + cursor: default;
  17 + float: left;
  18 + margin: 5px 0 0 6px;
  19 + padding: 0 6px;
  20 + }
  21 +</style>
9 22 <body class="white-bg">
10 23 <div class="wrapper wrapper-content animated fadeInRight ibox-content">
11 24 <form class="form-horizontal m" id="form-line-edit" th:object="${bsthTLine}">
12 25 <input name="id" th:field="*{id}" type="hidden">
  26 + <h3>路务</h3>
13 27 <div class="form-group">
14   - <label class="col-sm-1 control-label">线路名称:</label>
15   - <div class="col-sm-2">
16   - <input name="lineName" th:field="*{lineName}" class="form-control" type="text" disabled>
  28 + <label class="col-sm-1 control-label" name="lineName">线路名称:</label>
  29 + <div class="col-sm-2" >
  30 + <input th:field="*{lineName}" class="form-control" type="text" readonly>
17 31 </div>
18 32 <!---------------------------------->
19   - <label class="col-sm-1 control-label">主线路id:</label>
20   - <div class="col-sm-2">
21   - <input name="pLineId" th:field="*{pLineId}" class="form-control" type="text" disabled>
  33 + <label class="col-sm-1 control-label" name="company">公司:</label>
  34 + <div class="col-sm-2" >
  35 + <select id='company' ></select>
22 36 </div>
23 37 <!---------------------------------->
24   - <label class="col-sm-1 control-label">公司:</label>
  38 + <label class="col-sm-1 control-label" name="fCompany">分公司:</label>
25 39 <div class="col-sm-2">
26   - <input name="company" th:field="*{company}" class="form-control" type="text" disabled>
  40 + <select id='fCompany'></select>
27 41 </div>
28 42 <!---------------------------------->
29   - <label class="col-sm-1 control-label">分公司:</label>
  43 + <label class="col-sm-1 control-label" name="lineType">线路类型:</label>
30 44 <div class="col-sm-2">
31   - <input name="fCompany" th:field="*{fCompany}" class="form-control" type="text" disabled>
  45 + <select name="lineType" th:with="type=${@dict.getType('lineType')}" class="form-control m-b">
  46 + <option value=""></option>
  47 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
  48 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.lineType== null ? '' : bsthTLine.lineType),#strings.toString(dict.dictValue))}">
  49 + </option>
  50 + </select>
32 51 </div>
33 52 </div>
34   -
  53 + <!---------------------------------->
35 54 <div class="form-group">
36   - <label class="col-sm-1 control-label">营运方式:</label>
  55 + <label class="col-sm-1 control-label" name="lineLevel">线路属性:</label>
37 56 <div class="col-sm-2">
38   - <select name="serviceType" th:with="type=${@dict.getType('serviceType')}" class="form-control m-b" disabled>
  57 + <select name="lineLevel" th:with="type=${@dict.getType('lineLevel')}" class="form-control m-b">
39 58 <option value=""></option>
40 59 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
41   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.serviceType== null ? '' : bsthTLine.serviceType),#strings.toString(dict.dictValue))}">
  60 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.lineLevel== null ? '' : bsthTLine.lineLevel),#strings.toString(dict.dictValue))}">
42 61 </option>
43 62 </select>
44 63 </div>
45 64 <!---------------------------------->
46   - <label class="col-sm-1 control-label">线路属性:</label>
  65 + <label class="col-sm-1 control-label" name="serviceType">营运方式:</label>
47 66 <div class="col-sm-2">
48   - <select name="lineLevel" th:with="type=${@dict.getType('lineLevel')}" class="form-control m-b" disabled>
  67 + <select name="serviceType" th:with="type=${@dict.getType('serviceType')}" class="form-control m-b">
49 68 <option value=""></option>
50 69 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
51   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.lineLevel== null ? '' : bsthTLine.lineLevel),#strings.toString(dict.dictValue))}">
  70 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.serviceType== null ? '' : bsthTLine.serviceType),#strings.toString(dict.dictValue))}">
52 71 </option>
53 72 </select>
54 73 </div>
55 74 <!---------------------------------->
56   - <label class="col-sm-1 control-label">线路类型:</label>
  75 + <label class="col-sm-1 control-label" name="revenueType">营收类型:</label>
57 76 <div class="col-sm-2">
58   - <select name="lineType" th:with="type=${@dict.getType('lineType')}" class="form-control m-b" disabled>
  77 + <select name="revenueType" th:with="type=${@dict.getType('revenueType')}" class="form-control m-b">
59 78 <option value=""></option>
60 79 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
61   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.lineType== null ? '' : bsthTLine.lineType),#strings.toString(dict.dictValue))}">
62   - </option>
  80 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.revenueType== null ? '' : bsthTLine.revenueType),#strings.toString(dict.dictValue))}"></option>></option>></option>
63 81 </select>
64 82 </div>
65 83 <!---------------------------------->
66   - <label class="col-sm-1 control-label">道路类型:</label>
67   - <div class="col-sm-2" >
68   - <!--data-max-options="2" 限制多选数量-->
69   - <select name="roadType" th:with="type=${@dict.getType('roadType')}" class="selectpicker form-control" multiple title="" disabled>
70   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
71   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.roadType== null ? '' : bsthTLine.roadType),#strings.toString(dict.dictValue))}">
72   - </option>
73   - </select>
74   - </div>
75   - </div>
76   -
77   - <div class="form-group">
78   - <label class="col-sm-1 control-label">区属:</label>
  84 + <label class="col-sm-1 control-label" name="district">区属:</label>
79 85 <div class="col-sm-2">
80   - <select name="district" th:with="type=${@dict.getType('district')}" class="form-control m-b" disabled>
81   - <option value=""></option>
  86 + <select name="district" th:with="type=${@dict.getType('district')}"class="selectpicker form-control" multiple title="">
82 87 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
83 88 th:selected="${#arrays.contains(#strings.toString(bsthTLine.district== null ? '' : bsthTLine.district),#strings.toString(dict.dictValue))}"></option>
84 89 </select>
85 90 </div>
86   - <!---------------------------------->
87   - <label class="col-sm-1 control-label">是否区内:</label>
  91 + </div>
  92 + <!---------------------------------->
  93 + <div class="form-group">
  94 + <label class="col-sm-1 control-label" name="inoutDistrict">是否区内:</label>
88 95 <div class="col-sm-2">
89   - <select name="inoutDistrict" th:with="type=${@dict.getType('trueFalse')}" class="form-control m-b" disabled>
  96 + <select name="inoutDistrict" th:with="type=${@dict.getType('trueFalse')}" class="form-control m-b">
90 97 <option value=""></option>
91 98 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
92 99 th:selected="${#arrays.contains(#strings.toString(bsthTLine.inoutDistrict== null ? '' : bsthTLine.inoutDistrict),#strings.toString(dict.dictValue))}"></option>
93 100 </select>
94 101 </div>
95 102 <!---------------------------------->
96   - <label class="col-sm-1 control-label">车辆类型:</label>
97   - <div class="col-sm-2" th:with="type=${@dict.getType('busType')}">
  103 + <label class="col-sm-1 control-label" name="roadType">道路类型:</label>
  104 + <div class="col-sm-2" >
98 105 <!--data-max-options="2" 限制多选数量-->
99   - <select name="busType" th:with="type=${@dict.getType('busType')}" class="selectpicker form-control" multiple title="" disabled >
  106 + <select name="roadType" th:with="type=${@dict.getType('roadType')}" class="selectpicker form-control" multiple title="" >
100 107 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
101   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.busType== null ? '' : bsthTLine.busType),#strings.toString(dict.dictValue))}">
  108 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.roadType== null ? '' : bsthTLine.roadType),#strings.toString(dict.dictValue))}">
102 109 </option>
103 110 </select>
104 111 </div>
105 112 <!---------------------------------->
106   - <label class="col-sm-1 control-label">是否空调:</label>
  113 + <label class="col-sm-1 control-label" name="serviceTime">运营时间:</label>
  114 + <div class="col-sm-2">
  115 + <select name="serviceTime" th:with="type=${@dict.getType('serviceTime')}" class="form-control m-b">
  116 + <option value=""></option>
  117 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
  118 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.serviceTime== null ? '' : bsthTLine.serviceTime),#strings.toString(dict.dictValue))}"></option>
  119 + </select>
  120 + </div>
  121 + <!---------------------------------->
  122 + <label class="col-sm-1 control-label" name="airConditionerType">是否空调:</label>
107 123 <div class="col-sm-2">
108   - <select name="airConditionerType" th:with="type=${@dict.getType('airConditionerType')}" class="form-control m-b" disabled>
  124 + <select name="airConditionerType" th:with="type=${@dict.getType('airConditionerType')}" class="form-control m-b">
109 125 <option value=""></option>
110 126 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
111 127 th:selected="${#arrays.contains(#strings.toString(bsthTLine.airConditionerType == null ? '' : bsthTLine.airConditionerType ),#strings.toString(dict.dictValue))}"></option>
112 128 </select>
113 129 </div>
114 130 </div>
115   -
  131 + <!---------------------------------->
116 132 <div class="form-group">
117   - <label class="col-sm-1 control-label">售票类型:</label>
118   - <div class="col-sm-2">
119   - <select name="sellTicketType" th:with="type=${@dict.getType('sellTicketType')}" class="form-control m-b" disabled>
  133 + <label class="col-sm-1 control-label" name="sellTicketType">售票类型:</label>
  134 + <div class="col-sm-2" >
  135 + <select name="sellTicketType" th:with="type=${@dict.getType('sellTicketType')}" class="form-control m-b">
120 136 <option value=""></option>
121 137 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
122 138 th:selected="${#arrays.contains(#strings.toString(bsthTLine.sellTicketType == null ? '' : bsthTLine.sellTicketType),#strings.toString(dict.dictValue))}"></option>
123 139 </select>
124 140 </div>
125 141 <!---------------------------------->
126   - <label class="col-sm-1 control-label">票价:</label>
127   - <div class="col-sm-2" th:with="type=${@dict.getType('ticketPrice')}">
  142 + <label class="col-sm-1 control-label"name="ticketPrice">票价:</label>
  143 + <div class="col-sm-2" >
128 144 <!--data-max-options="2" 限制多选数量-->
129   - <select name="ticketPrice" th:with="type=${@dict.getType('ticketPrice')}" class="selectpicker form-control" multiple title="" disabled >
  145 + <select name="ticketPrice" th:with="type=${@dict.getType('ticketPrice')}" class="selectpicker form-control" multiple title="" >
130 146 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
131 147 th:selected="${#arrays.contains(#strings.toString(bsthTLine.ticketPrice== null ? '' : bsthTLine.ticketPrice),#strings.toString(dict.dictValue))}">
132 148 </option>
133 149 </select>
134 150 </div>
135 151 <!---------------------------------->
136   - <label class="col-sm-1 control-label">运营时间:</label>
  152 + <label class="col-sm-1 control-label" name="halfwayStation">站点名称:</label>
137 153 <div class="col-sm-2">
138   - <select name="serviceTime" th:with="type=${@dict.getType('serviceTime')}" class="form-control m-b" disabled>
139   - <option value=""></option>
140   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
141   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.serviceTime== null ? '' : bsthTLine.serviceTime),#strings.toString(dict.dictValue))}"></option>
142   - </select>
  154 + <textarea name="halfwayStation" class="form-control">[[*{halfwayStation}]]</textarea>
143 155 </div>
144 156 <!---------------------------------->
145   - <!--<label class="col-sm-1 control-label">线路编码:</label>
  157 + <label class="col-sm-1 control-label" name="directions">线路走向:</label>
146 158 <div class="col-sm-2">
147   - <input name="lineCode" th:field="*{lineCode}" class="form-control" type="text" disabled>
148   - </div>-->
  159 + <textarea name="directions" class="form-control">[[*{directions}]]</textarea>
  160 + </div>
149 161 </div>
150   -
  162 + <!---------------------------------->
151 163 <div class="form-group">
152   - <label class="col-sm-1 control-label">线路长度:</label>
  164 + <label class="col-sm-1 control-label"name="stationUp">站级数(上行):</label>
  165 + <div class="col-sm-2">
  166 + <input name="stationUp" th:field="*{stationUp}" class="form-control" type="text">
  167 + </div>
  168 + <!---------------------------------->
  169 + <label class="col-sm-1 control-label"name="stationDown">站级数(下行):</label>
153 170 <div class="col-sm-2">
154   - <input name="lineDistance" th:field="*{lineDistance}" class="form-control" type="text" disabled>
  171 + <input name="stationDown" th:field="*{stationDown}" class="form-control" type="text">
155 172 </div>
156 173 <!---------------------------------->
157   - <label class="col-sm-1 control-label">首站:</label>
  174 + <label class="col-sm-1 control-label"name="firstStation">首站:</label>
158 175 <div class="col-sm-2">
159   - <input name="firstStation" th:field="*{firstStation}" class="form-control" type="text" disabled>
  176 + <input name="firstStation" th:field="*{firstStation}" class="form-control" type="text">
160 177 </div>
161 178 <!---------------------------------->
162   - <label class="col-sm-1 control-label">末站:</label>
  179 + <label class="col-sm-1 control-label"name="lastStation" >末站:</label>
163 180 <div class="col-sm-2">
164   - <input name="lastStation" th:field="*{lastStation}" class="form-control" type="text" disabled>
  181 + <input name="lastStation" th:field="*{lastStation}" class="form-control" type="text">
165 182 </div>
166 183 </div>
167   -
  184 + <!---------------------------------->
168 185 <div class="form-group">
169   - <label class="col-sm-1 control-label">站点名称:</label>
  186 + <label class="col-sm-1 control-label"name="firstTime">起点站首末班:</label>
170 187 <div class="col-sm-2">
171   - <textarea name="halfwayStation" class="form-control" disabled>[[*{halfwayStation}]]</textarea>
  188 + <input name="firstTime" th:field="*{firstTime}" class="form-control" type="text">
172 189 </div>
173 190 <!---------------------------------->
174   - <label class="col-sm-1 control-label">线路走向:</label>
  191 + <label class="col-sm-1 control-label"name="lastTime">终点站首末班:</label>
175 192 <div class="col-sm-2">
176   - <textarea name="directions" class="form-control" disabled>[[*{directions}]]</textarea>
  193 + <input name="lastTime" th:field="*{lastTime}" class="form-control" type="text">
177 194 </div>
178 195 <!---------------------------------->
179   - <label class="col-sm-1 control-label">起点站首末班:</label>
  196 + <label class="col-sm-1 control-label"name="mileageUp">上行里程数:</label>
180 197 <div class="col-sm-2">
181   - <input name="firstTime" th:field="*{firstTime}" class="form-control" type="text" disabled>
  198 + <input name="mileageUp" th:field="*{mileageUp}" class="form-control" type="text">
182 199 </div>
183 200 <!---------------------------------->
184   - <label class="col-sm-1 control-label">终点站首末班:</label>
  201 + <label class="col-sm-1 control-label"name="mileageDown">下行里程数:</label>
185 202 <div class="col-sm-2">
186   - <input name="lastTime" th:field="*{lastTime}" class="form-control" type="text" disabled>
  203 + <input name="mileageDown" th:field="*{mileageDown}" class="form-control" type="text">
187 204 </div>
188 205 </div>
189   -
  206 + <!---------------------------------->
190 207 <div class="form-group">
191   -<!-- <label class="col-sm-1 control-label">停车场:</label>-->
192   -<!-- <div class="col-sm-2">-->
193   -<!-- <input name="park" th:field="*{park}" class="form-control" type="text" disabled>-->
194   -<!-- </div>-->
  208 + <label class="col-sm-1 control-label" name="lineDistance">线路长度:</label>
  209 + <div class="col-sm-2">
  210 + <input name="lineDistance" th:field="*{lineDistance}" class="form-control" type="text">
  211 + </div>
195 212 <!---------------------------------->
196   - <label class="col-sm-1 control-label">授权年限:</label>
  213 + <label class="col-sm-1 control-label"name="isWarrant">是否权证:</label>
197 214 <div class="col-sm-2">
198   - <input name="warrantYear" th:field="*{warrantYear}" class="form-control" type="text" disabled>
  215 + <select name="isWarrant" id="isWarrant" th:with="type=${@dict.getType('trueFalse')}" class="form-control m-b">
  216 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
  217 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.isWarrant== null ? '' : bsthTLine.isWarrant),#strings.toString(dict.dictValue))}"></option>
  218 + </select>
199 219 </div>
200 220 <!---------------------------------->
201   - <label class="col-sm-1 control-label">授权起始日期:</label>
  221 + <label class="col-sm-1 control-label"name="warrantStartTime">授权起始日期:</label>
202 222 <div class="col-sm-2">
203 223 <div class="input-group date">
204 224 <input name="warrantStartTime" th:value="${#dates.format(bsthTLine.warrantStartTime, 'yyyy-MM-dd')}"
205   - class="form-control" placeholder="yyyy-MM-dd" type="text" autocomplete="off" disabled>
  225 + class="form-control" placeholder="yyyy-MM-dd" type="text" autocomplete="off">
206 226 <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
207 227 </div>
208 228 </div>
209 229 <!---------------------------------->
210   - <label class="col-sm-1 control-label">授权结束日期:</label>
  230 + <label class="col-sm-1 control-label"name="warrantEndTime">授权结束日期:</label>
211 231 <div class="col-sm-2">
212 232 <div class="input-group date">
213 233 <input name="warrantEndTime" th:value="${#dates.format(bsthTLine.warrantEndTime, 'yyyy-MM-dd')}"
214   - class="form-control" placeholder="yyyy-MM-dd" type="text" autocomplete="off" disabled>
  234 + class="form-control" placeholder="yyyy-MM-dd" type="text" autocomplete="off">
215 235 <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
216 236 </div>
217 237 </div>
218 238 </div>
219   -
  239 + <!---------------------------------->
220 240 <div class="form-group">
221   - <label class="col-sm-1 control-label">线路暂停日期:</label>
  241 + <label class="col-sm-1 control-label"name="warrantYear">授权年限:</label>
222 242 <div class="col-sm-2">
223   - <div class="input-group date">
224   - <input name="planCancelTime" th:value="${#dates.format(bsthTLine.planCancelTime, 'yyyy-MM-dd')}"
225   - class="form-control" placeholder="yyyy-MM-dd" type="text" autocomplete="off" disabled>
226   - <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
227   - </div>
  243 + <input name="warrantYear" th:field="*{warrantYear}" class="form-control" type="text">
228 244 </div>
229 245 <!---------------------------------->
230   - <label class="col-sm-1 control-label">实际撤销日期:</label>
  246 + <label class="col-sm-1 control-label"name="timeSchedule">实施时间:</label>
231 247 <div class="col-sm-2">
232 248 <div class="input-group date">
233   - <input name="cancelTime" th:value="${#dates.format(bsthTLine.cancelTime, 'yyyy-MM-dd')}"
234   - class="form-control" placeholder="yyyy-MM-dd" type="text" autocomplete="off" disabled>
235   - <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
  249 + <input name="timeSchedule"
  250 + th:value="${#dates.format(bsthTLine.timeSchedule, 'yyyy-MM-dd')}"
  251 + class="form-control" placeholder="yyyy-MM-dd" type="text"
  252 + autocomplete="off"> <span class="input-group-addon"><i
  253 + class="fa fa-calendar"></i></span>
236 254 </div>
237 255 </div>
238 256 <!---------------------------------->
239   - <label class="col-sm-1 control-label">实施时间:</label>
  257 + <label class="col-sm-1 control-label"name="warrantVehiclesLarge">经营权证(大):</label>
240 258 <div class="col-sm-2">
241   - <div class="input-group date">
242   - <input name="timeSchedule" th:value="${#dates.format(bsthTLine.timeSchedule, 'yyyy-MM-dd')}"
243   - class="form-control" placeholder="yyyy-MM-dd" type="text" autocomplete="off" disabled>
244   - <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
245   - </div>
246   - </div>
247   - </div>
248   -
249   - <div class="form-group">
250   - <label class="col-sm-1 control-label">是否权证:</label>
251   - <div class="col-sm-2">
252   - <select name="isWarrant" id="isWarrant" th:with="type=${@dict.getType('trueFalse')}" class="form-control m-b" disabled>
253   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
254   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.isWarrant== null ? '' : bsthTLine.isWarrant),#strings.toString(dict.dictValue))}"></option>
255   - </select>
  259 + <input name="warrantVehiclesLarge" th:field="*{warrantVehiclesLarge}" class="form-control" type="text">
256 260 </div>
257 261 <!---------------------------------->
258   - <label class="col-sm-1 control-label">经营权证(大巴):</label>
  262 + <label class="col-sm-1 control-label" name="warrantVehiclesMiddle">经营权证(中):</label>
259 263 <div class="col-sm-2">
260   - <input name="warrantVehiclesLarge" th:field="*{warrantVehiclesLarge}" class="form-control" type="text" disabled>
  264 + <input name="warrantVehiclesMiddle" th:field="*{warrantVehiclesMiddle}" class="form-control" type="text">
261 265 </div>
262   - </div>
263 266  
  267 + </div>
  268 + <!---------------------------------->
264 269 <div class="form-group">
265   - <label class="col-sm-1 control-label">经营权证(中巴):</label>
  270 + <label class="col-sm-1 control-label"name="isMetro">是否轨交末班车衔接:</label>
266 271 <div class="col-sm-2">
267   - <input name="warrantVehiclesMiddle" th:field="*{warrantVehiclesMiddle}" class="form-control" type="text" disabled>
268   - </div>
269   - <!---------------------------------->
270   - <label class="col-sm-1 control-label">实际配车数:</label>
271   - <div class="col-sm-2">
272   - <input name="vehiclesNumber" th:field="*{vehiclesNumber}" class="form-control" type="text" disabled>
273   - </div>
274   - <!---------------------------------->
275   - <label class="col-sm-1 control-label">实际车辆数(大巴):</label>
276   - <div class="col-sm-2">
277   - <input name="numberVehiclesLarge" th:field="*{numberVehiclesLarge}" class="form-control" type="text" disabled>
  272 + <select name="isMetro" th:with="type=${@dict.getType('trueFalse')}" class="form-control m-b">
  273 + <option value=""></option>
  274 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
  275 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.isMetro== null ? '' : bsthTLine.isMetro),#strings.toString(dict.dictValue))}"></option>
  276 + </select>
278 277 </div>
279 278 <!---------------------------------->
280   - <label class="col-sm-1 control-label">实际车辆数(中巴):</label>
281   - <div class="col-sm-2">
282   - <input name="numberVehiclesMiddle" th:field="*{numberVehiclesMiddle}" class="form-control" type="text" disabled>
283   - </div>
284   - </div>
285   -
286   - <div class="form-group">
287   - <label class="col-sm-1 control-label">上行里程数:</label>
  279 + <label class="col-sm-1 control-label"name="metroTime">轨交时间:</label>
288 280 <div class="col-sm-2">
289   - <input name="mileageUp" th:field="*{mileageUp}" class="form-control" type="text" disabled>
  281 + <div class="input-group date">
  282 + <input name="metroTime" class="form-control" placeholder="HH:mm:ss" th:value="*{metroTime}">
  283 + <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
  284 + </div>
290 285 </div>
291 286 <!---------------------------------->
292   - <label class="col-sm-1 control-label">下行里程数:</label>
  287 + <label class="col-sm-1 control-label"name="coldBonusType">冷僻线路补贴类型:</label>
293 288 <div class="col-sm-2">
294   - <input name="mileageDown" th:field="*{mileageDown}" class="form-control" type="text"disabled>
  289 + <input name="coldBonusType" th:field="*{coldBonusType}" class="form-control" type="text">
295 290 </div>
296 291 <!---------------------------------->
297   - <label class="col-sm-1 control-label">站级数(上行):</label>
  292 + <label class="col-sm-1 control-label"name="serviceState">营运状态:</label>
298 293 <div class="col-sm-2">
299   - <input name="stationUp" th:field="*{stationUp}" class="form-control" type="text" disabled>
  294 + <select name="serviceState" th:with="type=${@dict.getType('serviceState')}" class="form-control m-b">
  295 + <option value=""></option>
  296 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
  297 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.serviceState== null ? '' : bsthTLine.serviceState),#strings.toString(dict.dictValue))}"></option>
  298 + </select>
300 299 </div>
301 300 </div>
302   -
  301 + <!---------------------------------->
303 302 <div class="form-group">
304   - <label class="col-sm-1 control-label">站级数(下行):</label>
  303 + <label class="col-sm-1 control-label"name="planCancelTime">线路暂停日期:</label>
305 304 <div class="col-sm-2">
306   - <input name="stationDown" th:field="*{stationDown}" class="form-control" type="text" disabled>
  305 + <div class="input-group date">
  306 + <input name="planCancelTime" th:value="${#dates.format(bsthTLine.planCancelTime, 'yyyy-MM-dd')}"
  307 + class="form-control" placeholder="yyyy-MM-dd" type="text" autocomplete="off">
  308 + <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
  309 + </div>
307 310 </div>
308 311 <!---------------------------------->
309   - <label class="col-sm-1 control-label">行驶时间(上行):</label>
  312 + <label class="col-sm-1 control-label"name="cancelTime">实际撤销日期:</label>
310 313 <div class="col-sm-2">
311   - <input name="travelTimeUp" th:field="*{travelTimeUp}" class="form-control" type="text" disabled>
  314 + <div class="input-group date">
  315 + <input name="cancelTime" th:value="${#dates.format(bsthTLine.cancelTime, 'yyyy-MM-dd')}"
  316 + class="form-control" placeholder="yyyy-MM-dd" type="text" autocomplete="off">
  317 + <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
  318 + </div>
312 319 </div>
313 320 <!---------------------------------->
314   - <label class="col-sm-1 control-label">行驶时间(下行):</label>
  321 + <label class="col-sm-1 control-label"name="lineUpdateType">性质:</label>
315 322 <div class="col-sm-2">
316   - <input name="travelTimeDown" th:field="*{travelTimeDown}" class="form-control" type="text" disabled>
  323 + <select name="lineUpdateType"
  324 + th:with="type=${@dict.getType('lineUpdateType')}"
  325 + class="form-control m-b">
  326 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}"
  327 + th:value="${dict.dictValue}"
  328 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.lineUpdateType== null||bsthTLine.lineUpdateType=='3' ? '' : bsthTLine.lineUpdateType),#strings.toString(dict.dictValue))}"></option>></option>
  329 + </select>
317 330 </div>
318 331 <!---------------------------------->
319   - <label class="col-sm-1 control-label">行驶间隔(高峰):</label>
  332 + <label class="col-sm-1 control-label"name="remark">备注:</label>
320 333 <div class="col-sm-2">
321   - <input name="travelIntervalUp" th:field="*{travelIntervalUp}" class="form-control" type="text" disabled>
  334 + <textarea name="remark" class="form-control">[[*{remark}]]</textarea>
322 335 </div>
323 336 </div>
324   -
  337 + <!---------------------------------->
325 338 <div class="form-group">
326   - <label class="col-sm-1 control-label">行驶间隔(低谷):</label>
327   - <div class="col-sm-2">
328   - <input name="travelIntervalDown" th:field="*{travelIntervalDown}" class="form-control" type="text" disabled>
329   - </div>
330   - <!---------------------------------->
331   - <label class="col-sm-1 control-label">间隔等级:</label>
332   - <div class="col-sm-2">
333   - <input name="divideLevel" th:field="*{divideLevel}" class="form-control" type="text" disabled>
  339 + <div class="form-group">
  340 + <label class="col-sm-1 control-label" name="files">附件:</label>
  341 + <div class="col-sm-5">
  342 + <div th:each="path: ${#strings.arraySplit(bsthTLine.files,',')}" >
  343 + <input name="files" type="hidden" th:value="${path}" >
  344 + <a th:href="${#strings.replace(path,#strings.arraySplit(path,':')[0]+':','')}" th:text="${#strings.arraySplit(path,':')[0]}">
  345 + </a>
  346 + <button onclick="deleteFile(this);">删除</button>
  347 + </div>
  348 + <div class="file-loading" id="uploadDiv">
  349 + <input id="fileinput" type="file" multiple >
  350 + </div>
  351 + </div>
334 352 </div>
335 353 </div>
336   -
  354 + <!---------------------------------->
  355 + <div class="hr-line-dashed"></div>
  356 + <h3>调度</h3>
  357 + <!---------------------------------->
337 358 <div class="form-group">
338   - <label class="col-sm-1 control-label">车辆自编号:</label>
  359 + <label class="col-sm-1 control-label"name="carPlate">车辆自编号:</label>
339 360 <div class="col-sm-2">
340   - <input name="carPlate" th:field="*{carPlate}" class="form-control" type="text" disabled>
  361 + <input name="carPlate" th:field="*{carPlate}" class="form-control" type="text">
341 362 </div>
342 363 <!---------------------------------->
343   - <label class="col-sm-1 control-label">线路配档数:</label>
  364 + <label class="col-sm-1 control-label"name="hasTimelists">是否挂牌:</label>
344 365 <div class="col-sm-2">
345   - <input name="numberPerson" th:field="*{numberPerson}" class="form-control" type="text" disabled>
  366 + <select name="hasTimelists"
  367 + th:with="type=${@dict.getType('trueFalse')}"
  368 + class="form-control m-b">
  369 + <option value=""></option>
  370 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}"
  371 + th:value="${dict.dictValue}"
  372 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.hasTimelists== null ? '' : bsthTLine.hasTimelists),#strings.toString(dict.dictValue))}"></option>
  373 + </select>
346 374 </div>
347 375 <!---------------------------------->
348   - <label class="col-sm-1 control-label">司机人数:</label>
  376 + <label class="col-sm-1 control-label"name="travelTimeUp">行驶时间(上行):</label>
349 377 <div class="col-sm-2">
350   - <input name="numberPersonDriver" th:field="*{numberPersonDriver}" class="form-control" type="text" disabled>
  378 + <input name="travelTimeUp" th:field="*{travelTimeUp}" class="form-control" type="text">
351 379 </div>
352 380 <!---------------------------------->
353   - <label class="col-sm-1 control-label">售票员数:</label>
  381 + <label class="col-sm-1 control-label"name="travelTimeDown">行驶时间(下行):</label>
354 382 <div class="col-sm-2">
355   - <input name="numberPersonSales" th:field="*{numberPersonSales}" class="form-control" type="text" disabled>
  383 + <input name="travelTimeDown" th:field="*{travelTimeDown}" class="form-control" type="text">
356 384 </div>
357 385 </div>
358   -
  386 + <!---------------------------------->
359 387 <div class="form-group">
360   - <label class="col-sm-1 control-label">新能源车数:</label>
  388 + <label class="col-sm-1 control-label"name="travelIntervalUp">行驶间隔(高峰):</label>
361 389 <div class="col-sm-2">
362   - <input name="busEvNumber" th:field="*{busEvNumber}" class="form-control" type="text" disabled>
  390 + <input name="travelIntervalUp" th:field="*{travelIntervalUp}" class="form-control" type="text">
363 391 </div>
364 392 <!---------------------------------->
365   - <label class="col-sm-1 control-label">是否轨交末班车衔接:</label>
  393 + <label class="col-sm-1 control-label"name="travelIntervalDown">行驶间隔(低谷):</label>
366 394 <div class="col-sm-2">
367   - <select name="isMetro" th:with="type=${@dict.getType('trueFalse')}" class="form-control m-b" disabled>
368   - <option value=""></option>
369   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
370   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.isMetro== null ? '' : bsthTLine.isMetro),#strings.toString(dict.dictValue))}"></option>
371   - </select>
  395 + <input name="travelIntervalDown" th:field="*{travelIntervalDown}" class="form-control" type="text">
372 396 </div>
373 397 <!---------------------------------->
374   - <label class="col-sm-1 control-label">轨交时间:</label>
  398 + <label class="col-sm-1 control-label"name="divideLevel">间隔等级:</label>
375 399 <div class="col-sm-2">
376   - <div class="input-group date">
377   - <input name="metroTime" class="form-control" placeholder="HH:mm:ss" th:value="*{metroTime}" disabled>
378   - <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
379   - </div>
  400 + <input name="divideLevel" th:field="*{divideLevel}" class="form-control" type="text">
380 401 </div>
381 402 <!---------------------------------->
382   - <label class="col-sm-1 control-label">是否挂牌:</label>
  403 + <label class="col-sm-1 control-label"name="vehiclesNumber">实际配车数:</label>
383 404 <div class="col-sm-2">
384   - <select name="hasTimelists" th:with="type=${@dict.getType('trueFalse')}" class="form-control m-b" disabled>
385   - <option value=""></option>
386   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
387   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.hasTimelists== null ? '' : bsthTLine.hasTimelists),#strings.toString(dict.dictValue))}"></option>
388   - </select>
  405 + <input name="vehiclesNumber" th:field="*{vehiclesNumber}" class="form-control" type="text">
389 406 </div>
390 407 </div>
391   -
  408 + <!---------------------------------->
392 409 <div class="form-group">
  410 + <label class="col-sm-1 control-label"name="numberVehiclesLarge">实际车辆数(大):</label>
  411 + <div class="col-sm-2">
  412 + <input name="numberVehiclesLarge" th:field="*{numberVehiclesLarge}" class="form-control" type="text">
  413 + </div>
393 414 <!---------------------------------->
394   - <label class="col-sm-1 control-label">营运状态:</label>
  415 + <label class="col-sm-1 control-label"name="numberVehiclesMiddle">实际车辆数(中):</label>
395 416 <div class="col-sm-2">
396   - <select name="serviceState" th:with="type=${@dict.getType('serviceState')}" class="form-control m-b" disabled>
397   - <option value=""></option>
398   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
399   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.serviceState== null ? '' : bsthTLine.serviceState),#strings.toString(dict.dictValue))}"></option>
400   - </select>
  417 + <input name="numberVehiclesMiddle" th:field="*{numberVehiclesMiddle}" class="form-control" type="text">
401 418 </div>
402 419 <!---------------------------------->
403   - <label class="col-sm-1 control-label">冷僻线路补贴类型:</label>
  420 + <label class="col-sm-1 control-label"name="busEvNumber">新能源车数:</label>
404 421 <div class="col-sm-2">
405   - <input name="coldBonusType" th:field="*{coldBonusType}" class="form-control" type="text" disabled>
  422 + <input name="busEvNumber" th:field="*{busEvNumber}" class="form-control" type="text">
406 423 </div>
407 424 <!---------------------------------->
408   - <label class="col-sm-1 control-label">营收类型:</label>
  425 + <label class="col-sm-1 control-label"name="numberPerson">线路配档数:</label>
409 426 <div class="col-sm-2">
410   - <select name="revenueType" th:with="type=${@dict.getType('revenueType')}" class="form-control m-b" disabled>
411   - <option value=""></option>
412   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
413   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.revenueType== null ? '' : bsthTLine.revenueType),#strings.toString(dict.dictValue))}"></option>></option>></option>
414   - </select>
  427 + <input name="numberPerson" th:field="*{numberPerson}" class="form-control" type="text">
415 428 </div>
416 429 </div>
417   -
  430 + <!---------------------------------->
418 431 <div class="form-group">
419   - <label class="col-sm-1 control-label">性质:</label>
  432 + <label class="col-sm-1 control-label"name="numberPersonDriver">司机人数:</label>
420 433 <div class="col-sm-2">
421   - <select name="lineUpdateType" th:with="type=${@dict.getType('lineUpdateType')}" class="form-control m-b" disabled>
422   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
423   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.lineUpdateType== null ? '' : bsthTLine.lineUpdateType),#strings.toString(dict.dictValue))}"></option>></option>
424   - </select>
  434 + <input name="numberPersonDriver" th:field="*{numberPersonDriver}" class="form-control" type="text">
425 435 </div>
426 436 <!---------------------------------->
427   - <label class="col-sm-1 control-label">备注:</label>
  437 + <label class="col-sm-1 control-label"name="numberPersonSales">售票员数:</label>
428 438 <div class="col-sm-2">
429   - <textarea name="remark" class="form-control" disabled>[[*{remark}]]</textarea>
430   - </div>
431   - </div>
432   -
433   - <div class="form-group">
434   - <div class="form-group">
435   - <label class="col-sm-1 control-label">附件:</label>
436   - <div class="col-sm-5" >
437   - <div th:each="path: ${#strings.arraySplit(bsthTLine.files,',')}" >
438   - <input name="files" type="hidden" th:value="${path}" >
439   - <a th:href="${#strings.replace(path,#strings.arraySplit(path,':')[0]+':','')}" th:text="${#strings.arraySplit(path,':')[0]}"></a>
440   - <button onclick="deleteFile(this);" disabled>删除</button>
441   - </div>
442   - <div class="file-loading" id="uploadDiv">
443   - <input id="fileinput" type="file" multiple disabled>
444   - </div>
445   - </div>
  439 + <input name="numberPersonSales" th:field="*{numberPersonSales}" class="form-control" type="text">
446 440 </div>
447 441 </div>
448 442 </form>
... ... @@ -451,12 +445,93 @@
451 445 <th:block th:include="include :: datetimepicker-js" />
452 446 <th:block th:include="include :: bootstrap-fileinput-js" />
453 447 <th:block th:include="include :: bootstrap-select-js" />
  448 + <th:block th:include="include :: select2-js"/>
454 449 <script th:inline="javascript">
455 450 var prefix = ctx + "system/line";
456 451 function deleteFile(obj){
457 452 $(obj).parent().remove();
458 453 }
459   -
  454 + //公司分公司联动
  455 + var companyList = [[${companyList}]];
  456 + var companies = new Array();
  457 + var fCompanies = new Array();
  458 + var bsthTLine = [[${bsthTLine}]];
  459 + $(function () {
  460 + for (let i in companyList) {
  461 + companies[i] = companyList[i].company;
  462 + fCompanies[i] = companyList[i].fCompany;
  463 + }
  464 + companies = Array.from(new Set(companies));
  465 + companySelect();
  466 + fCompanySelect();
  467 + $('#company').on('change.select2', function (e) {
  468 + fCompanySelect()
  469 + });
  470 + //初始选中
  471 + $("#company").val(bsthTLine.company).trigger("change");
  472 + $("#fCompany").val(bsthTLine.fCompany).trigger("change");
  473 + $("div *").attr("disabled",true);
  474 + });
  475 +
  476 + function companySelect() {
  477 + var arr = new Array();
  478 + var company = new Object();
  479 + company.id = '';
  480 + company.text = '';
  481 + company.value = '';
  482 + arr.push(company)
  483 + for (var i = 0; i < companies.length; i++) {
  484 + company = new Object();
  485 + company.id = companies[i];
  486 + company.text = companies[i];
  487 + company.value = companies[i];
  488 + arr.push(company);
  489 + }
  490 + $("#company").select2({
  491 + data: arr,
  492 + placeholder: '请选择',
  493 + allowClear: true
  494 + })
  495 + }
  496 +
  497 + function fCompanySelect() {
  498 + $('#fCompany').empty();
  499 + var company = $('#company').select2('val');
  500 + var arr = new Array();
  501 + var fCompany = new Object();
  502 + fCompany.id = '';
  503 + fCompany.text = '';
  504 + fCompany.value = '';
  505 + arr.push(fCompany)
  506 + if (company == '') {
  507 + for (let i in companyList) {
  508 + var companyName = companyList[i].company;
  509 + var fCompanyName = companyList[i].fCompany;
  510 + fCompany = new Object();
  511 + fCompany.id = fCompanyName;
  512 + fCompany.text = fCompanyName;
  513 + fCompany.value = fCompanyName;
  514 + arr.push(fCompany);
  515 + }
  516 + } else {
  517 + for (let i in companyList) {
  518 + var companyName = companyList[i].company;
  519 + var fCompanyName = companyList[i].fCompany;
  520 + if (companyName == company) {
  521 + fCompany = new Object();
  522 + fCompany.id = fCompanyName;
  523 + fCompany.text = fCompanyName;
  524 + fCompany.value = fCompanyName;
  525 + arr.push(fCompany);
  526 + }
  527 + }
  528 + }
  529 + $("#fCompany").select2({
  530 + data: arr,
  531 + placeholder: '请选择',
  532 + allowClear: true
  533 + });
  534 + }
460 535 $(function() {
461 536  
462 537 $("#fileinput").fileinput({
... ... @@ -468,78 +543,37 @@
468 543  
469 544 $("#fileinput").on("fileuploaded",
470 545 function(event, data, proviewId, index) {
471   -
472   -
473 546 var obj = '<div><input name="files" type="hidden" value='+data.files[index].name + ':' + data.response.url + '>'+
474 547 '<a href='+data.response.url+'>'+ data.files[index].name +
475 548 '</a><button onclick="deleteFile(this);">删除</button></div>';
476   -
477   -
478 549 $(".file-input").before(obj);
479   -
480 550 });
481 551  
482   - /*$.get("/system/line/getUserLineInfo",
483   - function(data) {
484   - if (data.msg != null) {
485   - var objs = JSON.parse(data.msg);
486   -
487   - for (var i = 0; i < objs.length; i++) {
488   -
489   - if ($($("input[name=" + objs[i].name
490   - + "]"))) {
491   - if (objs[i].checked) {
492   - getParent(
493   - $($("input[name="
494   - + objs[i].name
495   - + "]")),
496   - "form-group").show();
497   - } else {
498   - getParent(
499   - $($("input[name="
500   - + objs[i].name
501   - + "]")),
502   - "form-group").hide();
503   - }
504   - }
505   -
506   - if ($($("select[name=" + objs[i].name
507   - + "]"))) {
508   - if (objs[i].checked) {
509   - getParent(
510   - $($("select[name="
511   - + objs[i].name
512   - + "]")),
513   - "form-group").show();
514   - } else {
515   - getParent(
516   - $($("select[name="
517   - + objs[i].name
518   - + "]")),
519   - "form-group").hide();
520   - }
521   - }
522   -
523   - if ($($("textarea[name=" + objs[i].name
524   - + "]"))) {
525   - if (objs[i].checked) {
526   - getParent(
527   - $($("textarea[name="
528   - + objs[i].name
529   - + "]")),
530   - "form-group").show();
531   - } else {
532   - getParent(
533   - $($("textarea[name="
534   - + objs[i].name
535   - + "]")),
536   - "form-group").hide();
537   - }
538   - }
539   -
  552 + $.post("/system/line/findByName",
  553 + {
  554 + name: $("#lineName").val()
  555 + },
  556 + function (data) {
  557 + var bsthTLineOld = data[0];
  558 + console.log(bsthTLineOld)
  559 +
  560 + var bsthTLineNew = data[1];
  561 + console.log(bsthTLineNew)
  562 + if (bsthTLineNew != null) {
  563 + for (let i in bsthTLineOld) {
  564 + var o = bsthTLineOld[i] == null ? '' : bsthTLineOld[i];
  565 + var n = bsthTLineNew[i] == null ? '' : bsthTLineNew[i];
  566 + if (o != n) {
  567 + i = i == 'fcompany' ? 'fCompany' : i;
  568 + i = i == 'plineId' ? 'pLineId' : i;
  569 + var input = document.getElementsByName(i)[0];
  570 + if (input != undefined) {
  571 + input.style.color = 'red'
540 572 }
541 573 }
542   - });*/
  574 + }
  575 + }
  576 + });
543 577 })
544 578  
545 579 function getParent(obj, className) {
... ...
bsthLineProfiles/src/main/resources/templates/system/lineHistory/edit.html
1 1 <!DOCTYPE html>
2 2 <html lang="zh" xmlns:th="http://www.thymeleaf.org">
3 3 <head>
4   -<th:block th:include="include :: header('修改【请填写功能名称】')" />
5   -<th:block th:include="include :: datetimepicker-css" />
6   -<th:block th:include="include :: bootstrap-fileinput-css" />
7   -<th:block th:include="include :: bootstrap-select-css" />
8   -<th:block th:include="include :: select2-css"/>
  4 + <th:block th:include="include :: header('修改【请填写功能名称】')"/>
  5 + <th:block th:include="include :: datetimepicker-css"/>
  6 + <th:block th:include="include :: bootstrap-fileinput-css"/>
  7 + <th:block th:include="include :: bootstrap-select-css"/>
  8 + <th:block th:include="include :: select2-css"/>
9 9 </head>
10 10 <body class="white-bg">
11   - <div class="wrapper wrapper-content animated fadeInRight ibox-content">
12   - <form class="form-horizontal m" id="form-line-edit" th:object="${bsthTLine}">
13   - <input name="id" th:field="*{id}" type="hidden">
14   - <h3>路务</h3>
15   - <div class="form-group">
16   - <label class="col-sm-1 control-label">线路名称:</label>
17   - <div class="col-sm-2">
18   - <input name="lineName" th:field="*{lineName}" class="form-control" type="text" readonly>
19   - </div>
20   - <!---------------------------------->
21   - <label class="col-sm-1 control-label">公司:</label>
22   - <div class="col-sm-2">
23   - <select id='company' name="company" th:field="*{company}"></select>
24   - </div>
25   - <!---------------------------------->
26   - <label class="col-sm-1 control-label">分公司:</label>
27   - <div class="col-sm-2">
28   - <select id='fCompany' name="fCompany" th:field="*{fCompany}"></select>
29   - </div>
30   - <!---------------------------------->
31   - <label class="col-sm-1 control-label">线路类型:</label>
32   - <div class="col-sm-2">
33   - <select name="lineType" th:with="type=${@dict.getType('lineType')}" class="form-control m-b">
34   - <option value=""></option>
35   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
36   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.lineType== null ? '' : bsthTLine.lineType),#strings.toString(dict.dictValue))}">
37   - </option>
38   - </select>
39   - </div>
40   - </div>
41   - <!---------------------------------->
42   - <div class="form-group">
43   - <label class="col-sm-1 control-label">线路属性:</label>
44   - <div class="col-sm-2">
45   - <select name="lineLevel" th:with="type=${@dict.getType('lineLevel')}" class="form-control m-b">
46   - <option value=""></option>
47   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
48   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.lineLevel== null ? '' : bsthTLine.lineLevel),#strings.toString(dict.dictValue))}">
49   - </option>
50   - </select>
51   - </div>
52   - <!---------------------------------->
53   - <label class="col-sm-1 control-label">营运方式:</label>
54   - <div class="col-sm-2">
55   - <select name="serviceType" th:with="type=${@dict.getType('serviceType')}" class="form-control m-b">
56   - <option value=""></option>
57   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
58   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.serviceType== null ? '' : bsthTLine.serviceType),#strings.toString(dict.dictValue))}">
59   - </option>
60   - </select>
61   - </div>
62   - <!---------------------------------->
63   - <label class="col-sm-1 control-label">营收类型:</label>
64   - <div class="col-sm-2">
65   - <select name="revenueType" th:with="type=${@dict.getType('revenueType')}" class="form-control m-b">
66   - <option value=""></option>
67   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
68   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.revenueType== null ? '' : bsthTLine.revenueType),#strings.toString(dict.dictValue))}"></option>></option>></option>
69   - </select>
70   - </div>
71   - <!---------------------------------->
72   - <label class="col-sm-1 control-label">区属:</label>
73   - <div class="col-sm-2">
74   - <select name="district" th:with="type=${@dict.getType('district')}"class="selectpicker form-control" multiple title="">
75   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
76   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.district== null ? '' : bsthTLine.district),#strings.toString(dict.dictValue))}"></option>
77   - </select>
78   - </div>
79   - </div>
80   - <!---------------------------------->
81   - <div class="form-group">
82   - <label class="col-sm-1 control-label">是否区内:</label>
83   - <div class="col-sm-2">
84   - <select name="inoutDistrict" th:with="type=${@dict.getType('trueFalse')}" class="form-control m-b">
85   - <option value=""></option>
86   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
87   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.inoutDistrict== null ? '' : bsthTLine.inoutDistrict),#strings.toString(dict.dictValue))}"></option>
88   - </select>
89   - </div>
90   - <!---------------------------------->
91   - <label class="col-sm-1 control-label">道路类型:</label>
92   - <div class="col-sm-2" name="roadType">
93   - <!--data-max-options="2" 限制多选数量-->
94   - <select name="roadType" th:with="type=${@dict.getType('roadType')}" class="selectpicker form-control" multiple title="" >
95   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
96   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.roadType== null ? '' : bsthTLine.roadType),#strings.toString(dict.dictValue))}">
97   - </option>
98   - </select>
99   - </div>
100   - <!---------------------------------->
101   - <label class="col-sm-1 control-label">运营时间:</label>
102   - <div class="col-sm-2">
103   - <select name="serviceTime" th:with="type=${@dict.getType('serviceTime')}" class="form-control m-b">
104   - <option value=""></option>
105   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
106   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.serviceTime== null ? '' : bsthTLine.serviceTime),#strings.toString(dict.dictValue))}"></option>
107   - </select>
108   - </div>
109   - <!---------------------------------->
110   - <label class="col-sm-1 control-label">是否空调:</label>
111   - <div class="col-sm-2">
112   - <select name="airConditionerType" th:with="type=${@dict.getType('airConditionerType')}" class="form-control m-b">
113   - <option value=""></option>
114   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
115   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.airConditionerType == null ? '' : bsthTLine.airConditionerType ),#strings.toString(dict.dictValue))}"></option>
116   - </select>
117   - </div>
118   - </div>
119   - <!---------------------------------->
120   - <div class="form-group">
121   - <label class="col-sm-1 control-label">售票类型:</label>
122   - <div class="col-sm-2" >
123   - <select name="sellTicketType" th:with="type=${@dict.getType('sellTicketType')}" class="form-control m-b">
124   - <option value=""></option>
125   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
126   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.sellTicketType == null ? '' : bsthTLine.sellTicketType),#strings.toString(dict.dictValue))}"></option>
127   - </select>
128   - </div>
129   - <!---------------------------------->
130   - <label class="col-sm-1 control-label">票价:</label>
131   - <div class="col-sm-2" name="ticketPrice">
132   - <!--data-max-options="2" 限制多选数量-->
133   - <select name="ticketPrice" th:with="type=${@dict.getType('ticketPrice')}" class="selectpicker form-control" multiple title="" >
134   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
135   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.ticketPrice== null ? '' : bsthTLine.ticketPrice),#strings.toString(dict.dictValue))}">
136   - </option>
137   - </select>
138   - </div>
139   - <!---------------------------------->
140   - <label class="col-sm-1 control-label">站点名称:</label>
141   - <div class="col-sm-2">
142   - <textarea name="halfwayStation" class="form-control">[[*{halfwayStation}]]</textarea>
143   - </div>
144   - <!---------------------------------->
145   - <label class="col-sm-1 control-label">线路走向:</label>
146   - <div class="col-sm-2">
147   - <textarea name="directions" class="form-control">[[*{directions}]]</textarea>
148   - </div>
149   - </div>
150   - <!---------------------------------->
151   - <div class="form-group">
152   - <label class="col-sm-1 control-label">站级数(上行):</label>
153   - <div class="col-sm-2">
154   - <input name="stationUp" th:field="*{stationUp}" class="form-control" type="text">
155   - </div>
156   - <!---------------------------------->
157   - <label class="col-sm-1 control-label">站级数(下行):</label>
158   - <div class="col-sm-2">
159   - <input name="stationDown" th:field="*{stationDown}" class="form-control" type="text">
160   - </div>
161   - <!---------------------------------->
162   - <label class="col-sm-1 control-label">首站:</label>
163   - <div class="col-sm-2">
164   - <input name="firstStation" th:field="*{firstStation}" class="form-control" type="text">
165   - </div>
166   - <!---------------------------------->
167   - <label class="col-sm-1 control-label">末站:</label>
168   - <div class="col-sm-2">
169   - <input name="lastStation" th:field="*{lastStation}" class="form-control" type="text">
170   - </div>
171   - </div>
172   - <!---------------------------------->
173   - <div class="form-group">
174   - <label class="col-sm-1 control-label">起点站首末班:</label>
175   - <div class="col-sm-2">
176   - <input name="firstTime" th:field="*{firstTime}" class="form-control" type="text">
177   - </div>
178   - <!---------------------------------->
179   - <label class="col-sm-1 control-label">终点站首末班:</label>
180   - <div class="col-sm-2">
181   - <input name="lastTime" th:field="*{lastTime}" class="form-control" type="text">
182   - </div>
183   - <!---------------------------------->
184   - <label class="col-sm-1 control-label">上行里程数:</label>
185   - <div class="col-sm-2">
186   - <input name="mileageUp" th:field="*{mileageUp}" class="form-control" type="text">
187   - </div>
188   - <!---------------------------------->
189   - <label class="col-sm-1 control-label">下行里程数:</label>
190   - <div class="col-sm-2">
191   - <input name="mileageDown" th:field="*{mileageDown}" class="form-control" type="text">
192   - </div>
193   - </div>
194   - <!---------------------------------->
195   - <div class="form-group">
196   - <label class="col-sm-1 control-label">线路长度:</label>
197   - <div class="col-sm-2">
198   - <input name="lineDistance" th:field="*{lineDistance}" class="form-control" type="text">
199   - </div>
200   - <!---------------------------------->
201   - <label class="col-sm-1 control-label">是否权证:</label>
202   - <div class="col-sm-2">
203   - <select name="isWarrant" id="isWarrant" th:with="type=${@dict.getType('trueFalse')}" class="form-control m-b">
204   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
205   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.isWarrant== null ? '' : bsthTLine.isWarrant),#strings.toString(dict.dictValue))}"></option>
206   - </select>
207   - </div>
208   - <!---------------------------------->
209   - <label class="col-sm-1 control-label">授权起始日期:</label>
210   - <div class="col-sm-2">
211   - <div class="input-group date">
212   - <input name="warrantStartTime" th:value="${#dates.format(bsthTLine.warrantStartTime, 'yyyy-MM-dd')}"
213   - class="form-control" placeholder="yyyy-MM-dd" type="text" autocomplete="off">
214   - <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
215   - </div>
216   - </div>
217   - <!---------------------------------->
218   - <label class="col-sm-1 control-label">授权结束日期:</label>
219   - <div class="col-sm-2">
220   - <div class="input-group date">
221   - <input name="warrantEndTime" th:value="${#dates.format(bsthTLine.warrantEndTime, 'yyyy-MM-dd')}"
222   - class="form-control" placeholder="yyyy-MM-dd" type="text" autocomplete="off">
223   - <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
224   - </div>
225   - </div>
226   - </div>
227   - <!---------------------------------->
228   - <div class="form-group">
229   - <label class="col-sm-1 control-label">授权年限:</label>
230   - <div class="col-sm-2">
231   - <input name="warrantYear" th:field="*{warrantYear}" class="form-control" type="text">
232   - </div>
233   - <!---------------------------------->
234   - <label class="col-sm-1 control-label">实施时间:</label>
235   - <div class="col-sm-2">
236   - <div class="input-group date">
237   - <input name="timeSchedule"
238   - th:value="${#dates.format(bsthTLine.timeSchedule, 'yyyy-MM-dd')}"
239   - class="form-control" placeholder="yyyy-MM-dd" type="text"
240   - autocomplete="off"> <span class="input-group-addon"><i
241   - class="fa fa-calendar"></i></span>
242   - </div>
243   - </div>
244   - <!---------------------------------->
245   - <label class="col-sm-1 control-label">经营权证(大巴):</label>
246   - <div class="col-sm-2">
247   - <input name="warrantVehiclesLarge" th:field="*{warrantVehiclesLarge}" class="form-control" type="text">
248   - </div>
249   - <!---------------------------------->
250   - <label class="col-sm-1 control-label">经营权证(中巴):</label>
251   - <div class="col-sm-2">
252   - <input name="warrantVehiclesMiddle" th:field="*{warrantVehiclesMiddle}" class="form-control" type="text">
253   - </div>
254   -
255   - </div>
256   - <!---------------------------------->
257   - <div class="form-group">
258   - <label class="col-sm-1 control-label">是否轨交末班车衔接:</label>
259   - <div class="col-sm-2">
260   - <select name="isMetro" th:with="type=${@dict.getType('trueFalse')}" class="form-control m-b">
261   - <option value=""></option>
262   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
263   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.isMetro== null ? '' : bsthTLine.isMetro),#strings.toString(dict.dictValue))}"></option>
264   - </select>
265   - </div>
266   - <!---------------------------------->
267   - <label class="col-sm-1 control-label">轨交时间:</label>
268   - <div class="col-sm-2">
269   - <div class="input-group date">
270   - <input name="metroTime" class="form-control" placeholder="HH:mm:ss" th:value="*{metroTime}">
271   - <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
272   - </div>
273   - </div>
274   - <!---------------------------------->
275   - <label class="col-sm-1 control-label">冷僻线路补贴类型:</label>
276   - <div class="col-sm-2">
277   - <input name="coldBonusType" th:field="*{coldBonusType}" class="form-control" type="text">
278   - </div>
279   - <!---------------------------------->
280   - <label class="col-sm-1 control-label">营运状态:</label>
281   - <div class="col-sm-2">
282   - <select name="serviceState" th:with="type=${@dict.getType('serviceState')}" class="form-control m-b">
283   - <option value=""></option>
284   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
285   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.serviceState== null ? '' : bsthTLine.serviceState),#strings.toString(dict.dictValue))}"></option>
286   - </select>
287   - </div>
288   - </div>
289   - <!---------------------------------->
290   - <div class="form-group">
291   - <label class="col-sm-1 control-label">线路暂停日期:</label>
292   - <div class="col-sm-2">
293   - <div class="input-group date">
294   - <input name="planCancelTime" th:value="${#dates.format(bsthTLine.planCancelTime, 'yyyy-MM-dd')}"
295   - class="form-control" placeholder="yyyy-MM-dd" type="text" autocomplete="off">
296   - <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
297   - </div>
298   - </div>
299   - <!---------------------------------->
300   - <label class="col-sm-1 control-label">实际撤销日期:</label>
301   - <div class="col-sm-2">
302   - <div class="input-group date">
303   - <input name="cancelTime" th:value="${#dates.format(bsthTLine.cancelTime, 'yyyy-MM-dd')}"
304   - class="form-control" placeholder="yyyy-MM-dd" type="text" autocomplete="off">
305   - <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
306   - </div>
307   - </div>
308   - <!---------------------------------->
309   - <label class="col-sm-1 control-label">性质:</label>
310   - <div class="col-sm-2">
311   - <select name="lineUpdateType"
312   - th:with="type=${@dict.getType('lineUpdateType')}"
313   - class="form-control m-b">
314   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}"
315   - th:value="${dict.dictValue}"
316   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.lineUpdateType== null||bsthTLine.lineUpdateType=='3' ? '' : bsthTLine.lineUpdateType),#strings.toString(dict.dictValue))}"></option>></option>
317   - </select>
318   - </div>
319   - <!---------------------------------->
320   - <label class="col-sm-1 control-label">备注:</label>
321   - <div class="col-sm-2">
322   - <textarea name="remark" class="form-control">[[*{remark}]]</textarea>
323   - </div>
324   - </div>
325   - <!---------------------------------->
326   - <div class="form-group">
327   - <div class="form-group">
328   - <label class="col-sm-1 control-label" name="files">附件:</label>
329   - <div class="col-sm-5">
330   - <div th:each="path: ${#strings.arraySplit(bsthTLine.files,',')}" >
331   - <input name="files" type="hidden" th:value="${path}" >
332   - <a th:href="${#strings.replace(path,#strings.arraySplit(path,':')[0]+':','')}" th:text="${#strings.arraySplit(path,':')[0]}">
333   - </a>
334   - <button onclick="deleteFile(this);">删除</button>
335   - </div>
336   - <div class="file-loading" id="uploadDiv">
337   - <input id="fileinput" type="file" multiple >
338   - </div>
339   - </div>
340   - </div>
341   - </div>
342   - <!---------------------------------->
343   - <div class="hr-line-dashed"></div>
344   - <h3>调度</h3>
345   - <!---------------------------------->
346   - <div class="form-group">
347   - <label class="col-sm-1 control-label">车辆自编号:</label>
348   - <div class="col-sm-2">
349   - <input name="carPlate" th:field="*{carPlate}" class="form-control" type="text">
350   - </div>
351   - <!---------------------------------->
352   - <label class="col-sm-1 control-label">是否挂牌:</label>
353   - <div class="col-sm-2">
354   - <select name="hasTimelists"
355   - th:with="type=${@dict.getType('trueFalse')}"
356   - class="form-control m-b">
357   - <option value=""></option>
358   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}"
359   - th:value="${dict.dictValue}"
360   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.hasTimelists== null ? '' : bsthTLine.hasTimelists),#strings.toString(dict.dictValue))}"></option>
361   - </select>
362   - </div>
363   - <!---------------------------------->
364   - <label class="col-sm-1 control-label">行驶时间(上行):</label>
365   - <div class="col-sm-2">
366   - <input name="travelTimeUp" th:field="*{travelTimeUp}" class="form-control" type="text">
367   - </div>
368   - <!---------------------------------->
369   - <label class="col-sm-1 control-label">行驶时间(下行):</label>
370   - <div class="col-sm-2">
371   - <input name="travelTimeDown" th:field="*{travelTimeDown}" class="form-control" type="text">
372   - </div>
373   - </div>
374   - <!---------------------------------->
375   - <div class="form-group">
376   - <label class="col-sm-1 control-label">行驶间隔(高峰):</label>
377   - <div class="col-sm-2">
378   - <input name="travelIntervalUp" th:field="*{travelIntervalUp}" class="form-control" type="text">
379   - </div>
380   - <!---------------------------------->
381   - <label class="col-sm-1 control-label">行驶间隔(低谷):</label>
382   - <div class="col-sm-2">
383   - <input name="travelIntervalDown" th:field="*{travelIntervalDown}" class="form-control" type="text">
384   - </div>
385   - <!---------------------------------->
386   - <label class="col-sm-1 control-label">间隔等级:</label>
387   - <div class="col-sm-2">
388   - <input name="divideLevel" th:field="*{divideLevel}" class="form-control" type="text">
389   - </div>
390   - <!---------------------------------->
391   - <label class="col-sm-1 control-label">实际配车数:</label>
392   - <div class="col-sm-2">
393   - <input name="vehiclesNumber" th:field="*{vehiclesNumber}" class="form-control" type="text">
394   - </div>
395   - </div>
396   - <!---------------------------------->
397   - <div class="form-group">
398   - <label class="col-sm-1 control-label">实际车辆数(大):</label>
399   - <div class="col-sm-2">
400   - <input name="numberVehiclesLarge" th:field="*{numberVehiclesLarge}" class="form-control" type="text">
401   - </div>
402   - <!---------------------------------->
403   - <label class="col-sm-1 control-label">实际车辆数(中):</label>
404   - <div class="col-sm-2">
405   - <input name="numberVehiclesMiddle" th:field="*{numberVehiclesMiddle}" class="form-control" type="text">
406   - </div>
407   - <!---------------------------------->
408   - <label class="col-sm-1 control-label">新能源车数:</label>
409   - <div class="col-sm-2">
410   - <input name="busEvNumber" th:field="*{busEvNumber}" class="form-control" type="text">
411   - </div>
412   - <!---------------------------------->
413   - <label class="col-sm-1 control-label">线路配档数:</label>
414   - <div class="col-sm-2">
415   - <input name="numberPerson" th:field="*{numberPerson}" class="form-control" type="text">
416   - </div>
417   - </div>
418   - <!---------------------------------->
419   - <div class="form-group">
420   - <label class="col-sm-1 control-label">司机人数:</label>
421   - <div class="col-sm-2">
422   - <input name="numberPersonDriver" th:field="*{numberPersonDriver}" class="form-control" type="text">
423   - </div>
424   - <!---------------------------------->
425   - <label class="col-sm-1 control-label">售票员数:</label>
426   - <div class="col-sm-2">
427   - <input name="numberPersonSales" th:field="*{numberPersonSales}" class="form-control" type="text">
428   - </div>
429   - </div>
430   - </form>
431   - </div>
432   - <th:block th:include="include :: footer" />
433   - <th:block th:include="include :: datetimepicker-js" />
434   - <th:block th:include="include :: bootstrap-fileinput-js" />
435   - <th:block th:include="include :: bootstrap-select-js" />
436   - <th:block th:include="include :: select2-js"/>
437   - <script th:inline="javascript">
438   - var prefix = ctx + "system/lineHistory";
439   - function deleteFile(obj){
440   - $(obj).parent().remove();
441   - }
442   - //公司分公司联动
443   - var companyList = [[${companyList}]];
444   - var companies = new Array();
445   - var fCompanies = new Array();
446   - var bsthTLine = [[${bsthTLine}]];
447   - $(function () {
448   - for (let i in companyList) {
449   - companies[i] = companyList[i].company;
450   - fCompanies[i] = companyList[i].fCompany;
451   - }
452   - companies = Array.from(new Set(companies));
453   - companySelect();
454   - fCompanySelect();
455   - $('#company').on('change.select2', function (e) {
456   - fCompanySelect()
457   - });
458   - //初始选中
459   - $("#company").val(bsthTLine.company).trigger("change");
460   - $("#fCompany").val(bsthTLine.fCompany).trigger("change");
461   - // 获取 div 标签下的所有子节点
462   - /* var pObjs = document.getElementById('lw').getElementsByTagName("*")
463   - for (var i = 0 ; i <pObjs.length; i++) { // 一定要倒序,正序是删不干净的,可自行尝试
464   - pObjs[i].setAttribute("disabled",true);
465   - }
466   - var pObjs = document.getElementById('dd').getElementsByTagName("*")
467   - for (var i = 0 ; i <pObjs.length; i++) { // 一定要倒序,正序是删不干净的,可自行尝试
468   - pObjs[i].setAttribute("disabled",true);
469   - }*/
470   - });
471   -
472   - function companySelect() {
473   - var arr = new Array();
474   - var company = new Object();
475   - company.id = '';
476   - company.text = '';
477   - company.value = '';
478   - arr.push(company)
479   - for (var i = 0; i < companies.length; i++) {
480   - company = new Object();
481   - company.id = companies[i];
482   - company.text = companies[i];
483   - company.value = companies[i];
484   - arr.push(company);
485   - }
486   - $("#company").select2({
487   - data: arr,
488   - placeholder: '请选择',
489   - allowClear: true
490   - })
491   - }
492   -
493   - function fCompanySelect() {
494   - $('#fCompany').empty();
495   - var company = $('#company').select2('val');
496   - var arr = new Array();
497   - var fCompany = new Object();
498   - fCompany.id = '';
499   - fCompany.text = '';
500   - fCompany.value = '';
501   - arr.push(fCompany)
502   - if (company == '') {
503   - for (let i in companyList) {
504   - var companyName = companyList[i].company;
505   - var fCompanyName = companyList[i].fCompany;
506   - fCompany = new Object();
507   - fCompany.id = fCompanyName;
508   - fCompany.text = fCompanyName;
509   - fCompany.value = fCompanyName;
510   - arr.push(fCompany);
511   - }
512   - } else {
513   - for (let i in companyList) {
514   - var companyName = companyList[i].company;
515   - var fCompanyName = companyList[i].fCompany;
516   - if (companyName == company) {
517   - fCompany = new Object();
518   - fCompany.id = fCompanyName;
519   - fCompany.text = fCompanyName;
520   - fCompany.value = fCompanyName;
521   - arr.push(fCompany);
522   - }
523   - }
524   - }
525   - $("#fCompany").select2({
526   - data: arr,
527   - placeholder: '请选择',
528   - allowClear: true
529   - });
530   - }
531   - var f=[[${flag}]];
532   - $(function() {
533   - $(function() {
534   -
535   - $("#fileinput").fileinput({
536   - 'theme' : 'explorer-fas',
537   - 'uploadUrl' : '/common/upload',
538   - overwriteInitial : false,
539   - initialPreviewAsData : false
540   - });
541   -
542   - $("#fileinput").on("fileuploaded",
543   - function(event, data, proviewId, index) {
544   -
545   - var obj = '<div><input name="files" type="hidden" value='+data.files[index].name + ':' + data.response.url + '>'+
546   - '<a href='+data.response.url+'>'+ data.files[index].name +
547   - '</a><button onclick="deleteFile(this);">删除</button></div>';
548   -
549   -
550   - $(".file-input").before(obj);
551   -
552   - });
553   - })
554   -
555   -
556   - $.post("/system/line/findByName",
557   - {
558   - name : $("#lineName").val()
559   - },
560   - function(data) {
561   - var bsthTLineOld=data[0];
562   - console.log(bsthTLineOld)
563   -
564   - var bsthTLineNew=data[1];
565   - console.log(bsthTLineNew)
566   - if(bsthTLineNew!=null){
567   - for(let i in bsthTLineOld){
568   - var o=bsthTLineOld[i]==null?'':bsthTLineOld[i];
569   - var n=bsthTLineNew[i]==null?'':bsthTLineNew[i];
570   - if(o!=n){
571   - console.log(o)
572   - console.log(n)
573   - i=i=='fcompany'?'fCompany':i;
574   - i=i=='plineId'?'pLineId':i;
575   - var input=document.getElementsByName(i)[0];
576   - if(input!=undefined){
577   - input.style.color='red'
578   - }
579   - }
580   - }
581   - }
582   - /*for ( var i in data) {
583   -
584   - if(i == "fcompany"){
585   - console.log(i);
586   - }
587   -
588   -
589   - if (i == "id" || i == "lineUpdateType")
590   - continue;
591   -
592   - var inputValue = "";
593   -
594   - if ($("input[name=" + i + "]").length > 1) {
595   -
596   - for (var j = 0; j < $("input[name=" + i + "]").length; j++) {
597   - if ($("input[name=" + i + "]")[j].checked)
598   - inputValue += $("input[name="+ i + "]")[j].value + ",";
599   - }
600   - inputValue = inputValue.substring(0,inputValue.length - 1);
601   -
602   - if (data[i] != inputValue) {
603   - $($("input[name=" + i + "]")[0]).parent().parent().css("background", "red");
604   - }
605   - continue;
606   -
607   - }
608   -
609   - var dom = $("input[name=" + i + "]")[0];
610   -
611   - if (!dom) {
612   - dom = $("select[name=" + i + "]")[0];
613   - }
614   -
615   - if (!dom) {
616   - dom = $("textarea[name=" + i + "]")[0];
617   - }
618   -
619   - if (dom) {
620   -
621   - inputValue = dom.value;
622   -
623   - if (data[i] != inputValue) {
624   -
625   - $(dom).css("background", "red");
626   -
627   - }
628   -
629   - }
630   -
631   - }*/
632   -
633   - });
634   -
635   - })
636   -
637   - function getParent(obj, className) {
638   - var parent = obj;
639   -
640   - while (parent[0] && parent[0].className != className) {
641   - parent = parent.parent();
642   - }
643   - return parent;
644   - }
645   -
646   - $("#form-line-edit").validate({
647   - focusCleanup : true
648   - });
649   -
650   - function submitHandler() {
651   - if ($.validate.form()) {
652   - $.operate.save(prefix + "/edit", $('#form-line-edit').serialize()+'&examineStatus=0');
653   - }
654   - }
655   - function submitHandlerCommit() {
656   - if ($.validate.form()) {
657   - $.operate.save(prefix + "/edit", $('#form-line-edit').serialize()+'&examineStatus=1');
658   - }
659   - }
660   -
661   - $("input[name='warrantStartTime']").datetimepicker({
662   - format : "yyyy-mm-dd",
663   - minView : "month",
664   - autoclose : true
665   - });
666   -
667   - $("input[name='warrantEndTime']").datetimepicker({
668   - format : "yyyy-mm-dd",
669   - minView : "month",
670   - autoclose : true
671   - });
672   -
673   - $("input[name='planCancelTime']").datetimepicker({
674   - format : "yyyy-mm-dd",
675   - minView : "month",
676   - autoclose : true
677   - });
678   -
679   - $("input[name='cancelTime']").datetimepicker({
680   - format : "yyyy-mm-dd",
681   - minView : "month",
682   - autoclose : true
683   - });
684   -
685   - $("input[name='updateTime']").datetimepicker({
686   - format : "yyyy-mm-dd",
687   - minView : "month",
688   - autoclose : true
689   - });
690   -
691   - $("input[name='timeSchedule']").datetimepicker({
692   - format : "yyyy-mm-dd",
693   - minView : "month",
694   - autoclose : true
695   - });
696   -
697   - </script>
  11 +<div class="wrapper wrapper-content animated fadeInRight ibox-content">
  12 + <form class="form-horizontal m" id="form-line-edit" th:object="${bsthTLine}">
  13 + <input name="id" th:field="*{id}" type="hidden">
  14 + <h3>路务</h3>
  15 + <div class="form-group">
  16 + <label class="col-sm-1 control-label" name="lineName">线路名称:</label>
  17 + <div class="col-sm-2">
  18 + <input th:field="*{lineName}" class="form-control" type="text" readonly>
  19 + </div>
  20 + <!---------------------------------->
  21 + <label class="col-sm-1 control-label" name="company">公司:</label>
  22 + <div class="col-sm-2">
  23 + <select id='company' name="company"></select>
  24 + </div>
  25 + <!---------------------------------->
  26 + <label class="col-sm-1 control-label" name="fCompany">分公司:</label>
  27 + <div class="col-sm-2">
  28 + <select id='fCompany'name="fCompany"></select>
  29 + </div>
  30 + <!---------------------------------->
  31 + <label class="col-sm-1 control-label" name="lineType">线路类型:</label>
  32 + <div class="col-sm-2">
  33 + <select name="lineType" th:with="type=${@dict.getType('lineType')}" class="form-control m-b">
  34 + <option value=""></option>
  35 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
  36 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.lineType== null ? '' : bsthTLine.lineType),#strings.toString(dict.dictValue))}">
  37 + </option>
  38 + </select>
  39 + </div>
  40 + </div>
  41 + <!---------------------------------->
  42 + <div class="form-group">
  43 + <label class="col-sm-1 control-label" name="lineLevel">线路属性:</label>
  44 + <div class="col-sm-2">
  45 + <select name="lineLevel" th:with="type=${@dict.getType('lineLevel')}" class="form-control m-b">
  46 + <option value=""></option>
  47 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
  48 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.lineLevel== null ? '' : bsthTLine.lineLevel),#strings.toString(dict.dictValue))}">
  49 + </option>
  50 + </select>
  51 + </div>
  52 + <!---------------------------------->
  53 + <label class="col-sm-1 control-label" name="serviceType">营运方式:</label>
  54 + <div class="col-sm-2">
  55 + <select name="serviceType" th:with="type=${@dict.getType('serviceType')}" class="form-control m-b">
  56 + <option value=""></option>
  57 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
  58 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.serviceType== null ? '' : bsthTLine.serviceType),#strings.toString(dict.dictValue))}">
  59 + </option>
  60 + </select>
  61 + </div>
  62 + <!---------------------------------->
  63 + <label class="col-sm-1 control-label" name="revenueType">营收类型:</label>
  64 + <div class="col-sm-2">
  65 + <select name="revenueType" th:with="type=${@dict.getType('revenueType')}" class="form-control m-b">
  66 + <option value=""></option>
  67 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
  68 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.revenueType== null ? '' : bsthTLine.revenueType),#strings.toString(dict.dictValue))}"></option>
  69 + ></option>></option>
  70 + </select>
  71 + </div>
  72 + <!---------------------------------->
  73 + <label class="col-sm-1 control-label" name="district">区属:</label>
  74 + <div class="col-sm-2">
  75 + <select name="district" th:with="type=${@dict.getType('district')}" class="selectpicker form-control"
  76 + multiple title="">
  77 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
  78 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.district== null ? '' : bsthTLine.district),#strings.toString(dict.dictValue))}"></option>
  79 + </select>
  80 + </div>
  81 + </div>
  82 + <!---------------------------------->
  83 + <div class="form-group">
  84 + <label class="col-sm-1 control-label" name="inoutDistrict">是否区内:</label>
  85 + <div class="col-sm-2">
  86 + <select name="inoutDistrict" th:with="type=${@dict.getType('trueFalse')}" class="form-control m-b">
  87 + <option value=""></option>
  88 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
  89 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.inoutDistrict== null ? '' : bsthTLine.inoutDistrict),#strings.toString(dict.dictValue))}"></option>
  90 + </select>
  91 + </div>
  92 + <!---------------------------------->
  93 + <label class="col-sm-1 control-label" name="roadType">道路类型:</label>
  94 + <div class="col-sm-2">
  95 + <!--data-max-options="2" 限制多选数量-->
  96 + <select name="roadType" th:with="type=${@dict.getType('roadType')}" class="selectpicker form-control"
  97 + multiple title="">
  98 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
  99 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.roadType== null ? '' : bsthTLine.roadType),#strings.toString(dict.dictValue))}">
  100 + </option>
  101 + </select>
  102 + </div>
  103 + <!---------------------------------->
  104 + <label class="col-sm-1 control-label" name="serviceTime">运营时间:</label>
  105 + <div class="col-sm-2">
  106 + <select name="serviceTime" th:with="type=${@dict.getType('serviceTime')}" class="form-control m-b">
  107 + <option value=""></option>
  108 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
  109 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.serviceTime== null ? '' : bsthTLine.serviceTime),#strings.toString(dict.dictValue))}"></option>
  110 + </select>
  111 + </div>
  112 + <!---------------------------------->
  113 + <label class="col-sm-1 control-label" name="airConditionerType">是否空调:</label>
  114 + <div class="col-sm-2">
  115 + <select name="airConditionerType" th:with="type=${@dict.getType('airConditionerType')}"
  116 + class="form-control m-b">
  117 + <option value=""></option>
  118 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
  119 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.airConditionerType == null ? '' : bsthTLine.airConditionerType ),#strings.toString(dict.dictValue))}"></option>
  120 + </select>
  121 + </div>
  122 + </div>
  123 + <!---------------------------------->
  124 + <div class="form-group">
  125 + <label class="col-sm-1 control-label" name="sellTicketType">售票类型:</label>
  126 + <div class="col-sm-2">
  127 + <select name="sellTicketType" th:with="type=${@dict.getType('sellTicketType')}"
  128 + class="form-control m-b">
  129 + <option value=""></option>
  130 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
  131 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.sellTicketType == null ? '' : bsthTLine.sellTicketType),#strings.toString(dict.dictValue))}"></option>
  132 + </select>
  133 + </div>
  134 + <!---------------------------------->
  135 + <label class="col-sm-1 control-label" name="ticketPrice">票价:</label>
  136 + <div class="col-sm-2">
  137 + <!--data-max-options="2" 限制多选数量-->
  138 + <select name="ticketPrice" th:with="type=${@dict.getType('ticketPrice')}"
  139 + class="selectpicker form-control" multiple title="">
  140 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
  141 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.ticketPrice== null ? '' : bsthTLine.ticketPrice),#strings.toString(dict.dictValue))}">
  142 + </option>
  143 + </select>
  144 + </div>
  145 + <!---------------------------------->
  146 + <label class="col-sm-1 control-label" name="halfwayStation">站点名称:</label>
  147 + <div class="col-sm-2">
  148 + <textarea name="halfwayStation" class="form-control">[[*{halfwayStation}]]</textarea>
  149 + </div>
  150 + <!---------------------------------->
  151 + <label class="col-sm-1 control-label" name="directions">线路走向:</label>
  152 + <div class="col-sm-2">
  153 + <textarea name="directions" class="form-control">[[*{directions}]]</textarea>
  154 + </div>
  155 + </div>
  156 + <!---------------------------------->
  157 + <div class="form-group">
  158 + <label class="col-sm-1 control-label" name="stationUp">站级数(上行):</label>
  159 + <div class="col-sm-2">
  160 + <input name="stationUp" th:field="*{stationUp}" class="form-control" type="text">
  161 + </div>
  162 + <!---------------------------------->
  163 + <label class="col-sm-1 control-label" name="stationDown">站级数(下行):</label>
  164 + <div class="col-sm-2">
  165 + <input name="stationDown" th:field="*{stationDown}" class="form-control" type="text">
  166 + </div>
  167 + <!---------------------------------->
  168 + <label class="col-sm-1 control-label" name="firstStation">首站:</label>
  169 + <div class="col-sm-2">
  170 + <input name="firstStation" th:field="*{firstStation}" class="form-control" type="text">
  171 + </div>
  172 + <!---------------------------------->
  173 + <label class="col-sm-1 control-label" name="lastStation">末站:</label>
  174 + <div class="col-sm-2">
  175 + <input name="lastStation" th:field="*{lastStation}" class="form-control" type="text">
  176 + </div>
  177 + </div>
  178 + <!---------------------------------->
  179 + <div class="form-group">
  180 + <label class="col-sm-1 control-label" name="firstTime">起点站首末班:</label>
  181 + <div class="col-sm-2">
  182 + <input name="firstTime" th:field="*{firstTime}" class="form-control" type="text">
  183 + </div>
  184 + <!---------------------------------->
  185 + <label class="col-sm-1 control-label" name="lastTime">终点站首末班:</label>
  186 + <div class="col-sm-2">
  187 + <input name="lastTime" th:field="*{lastTime}" class="form-control" type="text">
  188 + </div>
  189 + <!---------------------------------->
  190 + <label class="col-sm-1 control-label" name="mileageUp">上行里程数:</label>
  191 + <div class="col-sm-2">
  192 + <input name="mileageUp" th:field="*{mileageUp}" class="form-control" type="text">
  193 + </div>
  194 + <!---------------------------------->
  195 + <label class="col-sm-1 control-label" name="mileageDown">下行里程数:</label>
  196 + <div class="col-sm-2">
  197 + <input name="mileageDown" th:field="*{mileageDown}" class="form-control" type="text">
  198 + </div>
  199 + </div>
  200 + <!---------------------------------->
  201 + <div class="form-group">
  202 + <label class="col-sm-1 control-label" name="lineDistance">线路长度:</label>
  203 + <div class="col-sm-2">
  204 + <input name="lineDistance" th:field="*{lineDistance}" class="form-control" type="text">
  205 + </div>
  206 + <!---------------------------------->
  207 + <label class="col-sm-1 control-label" name="isWarrant">是否权证:</label>
  208 + <div class="col-sm-2">
  209 + <select name="isWarrant" id="isWarrant" th:with="type=${@dict.getType('trueFalse')}"
  210 + class="form-control m-b">
  211 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
  212 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.isWarrant== null ? '' : bsthTLine.isWarrant),#strings.toString(dict.dictValue))}"></option>
  213 + </select>
  214 + </div>
  215 + <!---------------------------------->
  216 + <label class="col-sm-1 control-label" name="warrantStartTime">授权起始日期:</label>
  217 + <div class="col-sm-2">
  218 + <div class="input-group date">
  219 + <input name="warrantStartTime" th:value="${#dates.format(bsthTLine.warrantStartTime, 'yyyy-MM-dd')}"
  220 + class="form-control" placeholder="yyyy-MM-dd" type="text" autocomplete="off">
  221 + <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
  222 + </div>
  223 + </div>
  224 + <!---------------------------------->
  225 + <label class="col-sm-1 control-label" name="warrantEndTime">授权结束日期:</label>
  226 + <div class="col-sm-2">
  227 + <div class="input-group date">
  228 + <input name="warrantEndTime" th:value="${#dates.format(bsthTLine.warrantEndTime, 'yyyy-MM-dd')}"
  229 + class="form-control" placeholder="yyyy-MM-dd" type="text" autocomplete="off">
  230 + <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
  231 + </div>
  232 + </div>
  233 + </div>
  234 + <!---------------------------------->
  235 + <div class="form-group">
  236 + <label class="col-sm-1 control-label" name="warrantYear">授权年限:</label>
  237 + <div class="col-sm-2">
  238 + <input name="warrantYear" th:field="*{warrantYear}" class="form-control" type="text">
  239 + </div>
  240 + <!---------------------------------->
  241 + <label class="col-sm-1 control-label" name="timeSchedule">实施时间:</label>
  242 + <div class="col-sm-2">
  243 + <div class="input-group date">
  244 + <input name="timeSchedule"
  245 + th:value="${#dates.format(bsthTLine.timeSchedule, 'yyyy-MM-dd')}"
  246 + class="form-control" placeholder="yyyy-MM-dd" type="text"
  247 + autocomplete="off"> <span class="input-group-addon"><i
  248 + class="fa fa-calendar"></i></span>
  249 + </div>
  250 + </div>
  251 + <!---------------------------------->
  252 + <label class="col-sm-1 control-label" name="warrantVehiclesLarge">经营权证(大):</label>
  253 + <div class="col-sm-2">
  254 + <input name="warrantVehiclesLarge" th:field="*{warrantVehiclesLarge}" class="form-control" type="text">
  255 + </div>
  256 + <!---------------------------------->
  257 + <label class="col-sm-1 control-label" name="warrantVehiclesMiddle">经营权证(中):</label>
  258 + <div class="col-sm-2">
  259 + <input name="warrantVehiclesMiddle" th:field="*{warrantVehiclesMiddle}" class="form-control"
  260 + type="text">
  261 + </div>
  262 +
  263 + </div>
  264 + <!---------------------------------->
  265 + <div class="form-group">
  266 + <label class="col-sm-1 control-label" name="isMetro">是否轨交末班车衔接:</label>
  267 + <div class="col-sm-2">
  268 + <select name="isMetro" th:with="type=${@dict.getType('trueFalse')}" class="form-control m-b">
  269 + <option value=""></option>
  270 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
  271 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.isMetro== null ? '' : bsthTLine.isMetro),#strings.toString(dict.dictValue))}"></option>
  272 + </select>
  273 + </div>
  274 + <!---------------------------------->
  275 + <label class="col-sm-1 control-label" name="metroTime">轨交时间:</label>
  276 + <div class="col-sm-2">
  277 + <div class="input-group date">
  278 + <input name="metroTime" class="form-control" placeholder="HH:mm:ss" th:value="*{metroTime}">
  279 + <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
  280 + </div>
  281 + </div>
  282 + <!---------------------------------->
  283 + <label class="col-sm-1 control-label" name="coldBonusType">冷僻线路补贴类型:</label>
  284 + <div class="col-sm-2">
  285 + <input name="coldBonusType" th:field="*{coldBonusType}" class="form-control" type="text">
  286 + </div>
  287 + <!---------------------------------->
  288 + <label class="col-sm-1 control-label" name="serviceState">营运状态:</label>
  289 + <div class="col-sm-2">
  290 + <select name="serviceState" th:with="type=${@dict.getType('serviceState')}" class="form-control m-b">
  291 + <option value=""></option>
  292 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
  293 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.serviceState== null ? '' : bsthTLine.serviceState),#strings.toString(dict.dictValue))}"></option>
  294 + </select>
  295 + </div>
  296 + </div>
  297 + <!---------------------------------->
  298 + <div class="form-group">
  299 + <label class="col-sm-1 control-label" name="planCancelTime">线路暂停日期:</label>
  300 + <div class="col-sm-2">
  301 + <div class="input-group date">
  302 + <input name="planCancelTime" th:value="${#dates.format(bsthTLine.planCancelTime, 'yyyy-MM-dd')}"
  303 + class="form-control" placeholder="yyyy-MM-dd" type="text" autocomplete="off">
  304 + <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
  305 + </div>
  306 + </div>
  307 + <!---------------------------------->
  308 + <label class="col-sm-1 control-label" name="cancelTime">实际撤销日期:</label>
  309 + <div class="col-sm-2">
  310 + <div class="input-group date">
  311 + <input name="cancelTime" th:value="${#dates.format(bsthTLine.cancelTime, 'yyyy-MM-dd')}"
  312 + class="form-control" placeholder="yyyy-MM-dd" type="text" autocomplete="off">
  313 + <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
  314 + </div>
  315 + </div>
  316 + <!---------------------------------->
  317 + <label class="col-sm-1 control-label" name="lineUpdateType">性质:</label>
  318 + <div class="col-sm-2">
  319 + <select name="lineUpdateType"
  320 + th:with="type=${@dict.getType('lineUpdateType')}"
  321 + class="form-control m-b">
  322 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}"
  323 + th:value="${dict.dictValue}"
  324 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.lineUpdateType== null||bsthTLine.lineUpdateType=='3' ? '' : bsthTLine.lineUpdateType),#strings.toString(dict.dictValue))}"></option>
  325 + ></option>
  326 + </select>
  327 + </div>
  328 + <!---------------------------------->
  329 + <label class="col-sm-1 control-label" name="remark">备注:</label>
  330 + <div class="col-sm-2">
  331 + <textarea name="remark" class="form-control">[[*{remark}]]</textarea>
  332 + </div>
  333 + </div>
  334 + <!---------------------------------->
  335 + <div class="form-group">
  336 + <div class="form-group">
  337 + <label class="col-sm-1 control-label" name="files">附件:</label>
  338 + <div class="col-sm-5">
  339 + <div th:each="path: ${#strings.arraySplit(bsthTLine.files,',')}">
  340 + <input name="files" type="hidden" th:value="${path}">
  341 + <a th:href="${#strings.replace(path,#strings.arraySplit(path,':')[0]+':','')}"
  342 + th:text="${#strings.arraySplit(path,':')[0]}">
  343 + </a>
  344 + <button onclick="deleteFile(this);">删除</button>
  345 + </div>
  346 + <div class="file-loading" id="uploadDiv">
  347 + <input id="fileinput" type="file" multiple>
  348 + </div>
  349 + </div>
  350 + </div>
  351 + </div>
  352 + <!---------------------------------->
  353 + <div class="hr-line-dashed"></div>
  354 + <h3>调度</h3>
  355 + <!---------------------------------->
  356 + <div class="form-group">
  357 + <label class="col-sm-1 control-label" name="carPlate">车辆自编号:</label>
  358 + <div class="col-sm-2">
  359 + <input name="carPlate" th:field="*{carPlate}" class="form-control" type="text">
  360 + </div>
  361 + <!---------------------------------->
  362 + <label class="col-sm-1 control-label" name="hasTimelists">是否挂牌:</label>
  363 + <div class="col-sm-2">
  364 + <select name="hasTimelists"
  365 + th:with="type=${@dict.getType('trueFalse')}"
  366 + class="form-control m-b">
  367 + <option value=""></option>
  368 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}"
  369 + th:value="${dict.dictValue}"
  370 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.hasTimelists== null ? '' : bsthTLine.hasTimelists),#strings.toString(dict.dictValue))}"></option>
  371 + </select>
  372 + </div>
  373 + <!---------------------------------->
  374 + <label class="col-sm-1 control-label" name="travelTimeUp">行驶时间(上行):</label>
  375 + <div class="col-sm-2">
  376 + <input name="travelTimeUp" th:field="*{travelTimeUp}" class="form-control" type="text">
  377 + </div>
  378 + <!---------------------------------->
  379 + <label class="col-sm-1 control-label" name="travelTimeDown">行驶时间(下行):</label>
  380 + <div class="col-sm-2">
  381 + <input name="travelTimeDown" th:field="*{travelTimeDown}" class="form-control" type="text">
  382 + </div>
  383 + </div>
  384 + <!---------------------------------->
  385 + <div class="form-group">
  386 + <label class="col-sm-1 control-label" name="travelIntervalUp">行驶间隔(高峰):</label>
  387 + <div class="col-sm-2">
  388 + <input name="travelIntervalUp" th:field="*{travelIntervalUp}" class="form-control" type="text">
  389 + </div>
  390 + <!---------------------------------->
  391 + <label class="col-sm-1 control-label" name="travelIntervalDown">行驶间隔(低谷):</label>
  392 + <div class="col-sm-2">
  393 + <input name="travelIntervalDown" th:field="*{travelIntervalDown}" class="form-control" type="text">
  394 + </div>
  395 + <!---------------------------------->
  396 + <label class="col-sm-1 control-label" name="divideLevel">间隔等级:</label>
  397 + <div class="col-sm-2">
  398 + <input name="divideLevel" th:field="*{divideLevel}" class="form-control" type="text">
  399 + </div>
  400 + <!---------------------------------->
  401 + <label class="col-sm-1 control-label" name="vehiclesNumber">实际配车数:</label>
  402 + <div class="col-sm-2">
  403 + <input name="vehiclesNumber" th:field="*{vehiclesNumber}" class="form-control" type="text">
  404 + </div>
  405 + </div>
  406 + <!---------------------------------->
  407 + <div class="form-group">
  408 + <label class="col-sm-1 control-label" name="numberVehiclesLarge">实际车辆数(大):</label>
  409 + <div class="col-sm-2">
  410 + <input name="numberVehiclesLarge" th:field="*{numberVehiclesLarge}" class="form-control" type="text">
  411 + </div>
  412 + <!---------------------------------->
  413 + <label class="col-sm-1 control-label" name="numberVehiclesMiddle">实际车辆数(中):</label>
  414 + <div class="col-sm-2">
  415 + <input name="numberVehiclesMiddle" th:field="*{numberVehiclesMiddle}" class="form-control" type="text">
  416 + </div>
  417 + <!---------------------------------->
  418 + <label class="col-sm-1 control-label" name="busEvNumber">新能源车数:</label>
  419 + <div class="col-sm-2">
  420 + <input name="busEvNumber" th:field="*{busEvNumber}" class="form-control" type="text">
  421 + </div>
  422 + <!---------------------------------->
  423 + <label class="col-sm-1 control-label" name="numberPerson">线路配档数:</label>
  424 + <div class="col-sm-2">
  425 + <input name="numberPerson" th:field="*{numberPerson}" class="form-control" type="text">
  426 + </div>
  427 + </div>
  428 + <!---------------------------------->
  429 + <div class="form-group">
  430 + <label class="col-sm-1 control-label" name="numberPersonDriver">司机人数:</label>
  431 + <div class="col-sm-2">
  432 + <input name="numberPersonDriver" th:field="*{numberPersonDriver}" class="form-control" type="text">
  433 + </div>
  434 + <!---------------------------------->
  435 + <label class="col-sm-1 control-label" name="numberPersonSales">售票员数:</label>
  436 + <div class="col-sm-2">
  437 + <input name="numberPersonSales" th:field="*{numberPersonSales}" class="form-control" type="text">
  438 + </div>
  439 + </div>
  440 + </form>
  441 +</div>
  442 +<th:block th:include="include :: footer"/>
  443 +<th:block th:include="include :: datetimepicker-js"/>
  444 +<th:block th:include="include :: bootstrap-fileinput-js"/>
  445 +<th:block th:include="include :: bootstrap-select-js"/>
  446 +<th:block th:include="include :: select2-js"/>
  447 +<script th:inline="javascript">
  448 + var prefix = ctx + "system/lineHistory";
  449 +
  450 + function deleteFile(obj) {
  451 + $(obj).parent().remove();
  452 + }
  453 +
  454 + //公司分公司联动
  455 + var companyList = [[${companyList}]];
  456 + var companies = new Array();
  457 + var fCompanies = new Array();
  458 + var bsthTLine = [[${bsthTLine}]];
  459 + $(function () {
  460 + for (let i in companyList) {
  461 + companies[i] = companyList[i].company;
  462 + fCompanies[i] = companyList[i].fCompany;
  463 + }
  464 + companies = Array.from(new Set(companies));
  465 + companySelect();
  466 + fCompanySelect();
  467 + $('#company').on('change.select2', function (e) {
  468 + fCompanySelect()
  469 + });
  470 + //初始选中
  471 + $("#company").val(bsthTLine.company).trigger("change");
  472 + $("#fCompany").val(bsthTLine.fCompany).trigger("change");
  473 + // 获取 div 标签下的所有子节点
  474 + /* var pObjs = document.getElementById('lw').getElementsByTagName("*")
  475 + for (var i = 0 ; i <pObjs.length; i++) { // 一定要倒序,正序是删不干净的,可自行尝试
  476 + pObjs[i].setAttribute("disabled",true);
  477 + }
  478 + var pObjs = document.getElementById('dd').getElementsByTagName("*")
  479 + for (var i = 0 ; i <pObjs.length; i++) { // 一定要倒序,正序是删不干净的,可自行尝试
  480 + pObjs[i].setAttribute("disabled",true);
  481 + }*/
  482 + });
  483 +
  484 + function companySelect() {
  485 + var arr = new Array();
  486 + var company = new Object();
  487 + company.id = '';
  488 + company.text = '';
  489 + company.value = '';
  490 + arr.push(company)
  491 + for (var i = 0; i < companies.length; i++) {
  492 + company = new Object();
  493 + company.id = companies[i];
  494 + company.text = companies[i];
  495 + company.value = companies[i];
  496 + arr.push(company);
  497 + }
  498 + $("#company").select2({
  499 + data: arr,
  500 + placeholder: '请选择',
  501 + allowClear: true
  502 + })
  503 + }
  504 +
  505 + function fCompanySelect() {
  506 + $('#fCompany').empty();
  507 + var company = $('#company').select2('val');
  508 + var arr = new Array();
  509 + var fCompany = new Object();
  510 + fCompany.id = '';
  511 + fCompany.text = '';
  512 + fCompany.value = '';
  513 + arr.push(fCompany)
  514 + if (company == '') {
  515 + for (let i in companyList) {
  516 + var companyName = companyList[i].company;
  517 + var fCompanyName = companyList[i].fCompany;
  518 + fCompany = new Object();
  519 + fCompany.id = fCompanyName;
  520 + fCompany.text = fCompanyName;
  521 + fCompany.value = fCompanyName;
  522 + arr.push(fCompany);
  523 + }
  524 + } else {
  525 + for (let i in companyList) {
  526 + var companyName = companyList[i].company;
  527 + var fCompanyName = companyList[i].fCompany;
  528 + if (companyName == company) {
  529 + fCompany = new Object();
  530 + fCompany.id = fCompanyName;
  531 + fCompany.text = fCompanyName;
  532 + fCompany.value = fCompanyName;
  533 + arr.push(fCompany);
  534 + }
  535 + }
  536 + }
  537 + $("#fCompany").select2({
  538 + data: arr,
  539 + placeholder: '请选择',
  540 + allowClear: true
  541 + });
  542 + }
  543 +
  544 + var f = [[${flag}]];
  545 + $(function () {
  546 +
  547 + $("#fileinput").fileinput({
  548 + 'theme': 'explorer-fas',
  549 + 'uploadUrl': '/common/upload',
  550 + overwriteInitial: false,
  551 + initialPreviewAsData: false
  552 + });
  553 +
  554 + $("#fileinput").on("fileuploaded",
  555 + function (event, data, proviewId, index) {
  556 +
  557 + var obj = '<div><input name="files" type="hidden" value=' + data.files[index].name + ':' + data.response.url + '>' +
  558 + '<a href=' + data.response.url + '>' + data.files[index].name +
  559 + '</a><button onclick="deleteFile(this);">删除</button></div>';
  560 +
  561 +
  562 + $(".file-input").before(obj);
  563 +
  564 + });
  565 +
  566 +
  567 + $.post("/system/line/findByName",
  568 + {
  569 + name: $("#lineName").val()
  570 + },
  571 + function (data) {
  572 + var bsthTLineOld = data[0];
  573 + console.log(bsthTLineOld)
  574 +
  575 + var bsthTLineNew = data[1];
  576 + console.log(bsthTLineNew)
  577 + if (bsthTLineNew != null) {
  578 + for (let i in bsthTLineOld) {
  579 + var o = bsthTLineOld[i] == null ? '' : bsthTLineOld[i];
  580 + var n = bsthTLineNew[i] == null ? '' : bsthTLineNew[i];
  581 + if (o != n) {
  582 + console.log(o)
  583 + console.log(n)
  584 + i = i == 'fcompany' ? 'fCompany' : i;
  585 + i = i == 'plineId' ? 'pLineId' : i;
  586 + var input = document.getElementsByName(i)[0];
  587 + if (input != undefined) {
  588 + input.style.color = 'red'
  589 + }
  590 + }
  591 + }
  592 + }
  593 + });
  594 +
  595 + })
  596 +
  597 + function getParent(obj, className) {
  598 + var parent = obj;
  599 +
  600 + while (parent[0] && parent[0].className != className) {
  601 + parent = parent.parent();
  602 + }
  603 + return parent;
  604 + }
  605 +
  606 + $("#form-line-edit").validate({
  607 + focusCleanup: true
  608 + });
  609 +
  610 + function submitHandler() {
  611 + if ($.validate.form()) {
  612 + $.operate.save(prefix + "/edit", $('#form-line-edit').serialize() + '&examineStatus=0');
  613 + }
  614 + }
  615 +
  616 + function submitHandlerCommit() {
  617 + if ($.validate.form()) {
  618 + $.operate.save(prefix + "/edit", $('#form-line-edit').serialize() + '&examineStatus=1');
  619 + }
  620 + }
  621 +
  622 + $("input[name='warrantStartTime']").datetimepicker({
  623 + format: "yyyy-mm-dd",
  624 + minView: "month",
  625 + autoclose: true
  626 + });
  627 +
  628 + $("input[name='warrantEndTime']").datetimepicker({
  629 + format: "yyyy-mm-dd",
  630 + minView: "month",
  631 + autoclose: true
  632 + });
  633 +
  634 + $("input[name='planCancelTime']").datetimepicker({
  635 + format: "yyyy-mm-dd",
  636 + minView: "month",
  637 + autoclose: true
  638 + });
  639 +
  640 + $("input[name='cancelTime']").datetimepicker({
  641 + format: "yyyy-mm-dd",
  642 + minView: "month",
  643 + autoclose: true
  644 + });
  645 +
  646 + $("input[name='updateTime']").datetimepicker({
  647 + format: "yyyy-mm-dd",
  648 + minView: "month",
  649 + autoclose: true
  650 + });
  651 +
  652 + $("input[name='timeSchedule']").datetimepicker({
  653 + format: "yyyy-mm-dd",
  654 + minView: "month",
  655 + autoclose: true
  656 + });
  657 +
  658 +</script>
698 659 </body>
699 660 </html>
700 661 \ No newline at end of file
... ...
bsthLineProfiles/src/main/resources/templates/system/lineHistory/historyCompare.html
... ... @@ -8,12 +8,12 @@
8 8 background: white;
9 9 box-sizing: content-box;
10 10 padding: 28px 28px 0px 28px;
11   - height: 230%;
  11 + height: 230%;
12 12 }
13 13 </style>
14 14 </head>
15 15 <body class="gray-bg">
16   -<div class="info col-md-6 col-md-offset-3" style="padding-top:30px;">
  16 +<div class="info col-md-6 col-md-offset-3" style="padding-top:30px;">
17 17 <div class="input-group">
18 18 <input type="text" class="form-control" id="text" placeholder="请输入线路名">
19 19 <div class="input-group-btn">
... ... @@ -46,232 +46,264 @@
46 46 <label class="col-sm-3 control-label">线路名称:</label>
47 47 <span class="col-sm-9" id="lineName">{{line.lineName}}</span>
48 48 </div>
  49 + <!---------------------------------->
49 50 <div class="col-sm-6">
50 51 <label class="col-sm-3 control-label">公司:</label>
51 52 <span class="col-sm-9" id="company">{{line.company}}</span>
52 53 </div>
  54 + <!---------------------------------->
53 55 <div class="col-sm-6">
54 56 <label class="col-sm-3 control-label">分公司:</label>
55 57 <span class="col-sm-9" id="fCompany">{{line.fCompany}}</span>
56 58 </div>
  59 + <!---------------------------------->
57 60 <div class="col-sm-6">
58   - <label class="col-sm-3 control-label">主线路id:</label>
59   - <span class="col-sm-9" id="pLineId">{{line.pLineId}}</span>
60   - </div>
61   - <div class="col-sm-6">
62   - <label class="col-sm-3 control-label">营运方式:</label>
63   - <span class="col-sm-9" id="serviceType"> {{line.serviceType}}</span>
  61 + <label class="col-sm-3 control-label">线路类型:</label>
  62 + <span class="col-sm-9" id="lineType">{{line.lineType}}</span>
64 63 </div>
  64 + <!---------------------------------->
65 65 <div class="col-sm-6">
66 66 <label class="col-sm-3 control-label">线路属性:</label>
67 67 <span class="col-sm-9" id="lineLevel">{{line.lineLevel}}</span>
68 68 </div>
  69 + <!---------------------------------->
69 70 <div class="col-sm-6">
70   - <label class="col-sm-3 control-label">线路类型:</label>
71   - <span class="col-sm-9" id="lineType">{{line.lineType}}
72   - </span>
  71 + <label class="col-sm-3 control-label">营运方式:</label>
  72 + <span class="col-sm-9" id="serviceType"> {{line.serviceType}}</span>
73 73 </div>
  74 + <!---------------------------------->
  75 + <div class="col-sm-6">
  76 + <label class="col-sm-3 control-label">营收类型:</label>
  77 + <span class="col-sm-9" id="revenueType"> {{line.revenueType}}</span>
  78 + </div>
  79 + <!---------------------------------->
74 80 <div class="col-sm-6">
75 81 <label class="col-sm-3 control-label">区属:</label>
76 82 <span class="col-sm-9" id="district">{{line.district}}</span>
77 83 </div>
  84 + <!---------------------------------->
78 85 <div class="col-sm-6">
79 86 <label class="col-sm-3 control-label">是否区内:</label>
80 87 <span class="col-sm-9" id="inoutDistrict">{{line.inoutDistrict}}</span>
81 88 </div>
  89 + <!---------------------------------->
82 90 <div class="col-sm-6">
83   - <label class="col-sm-3 control-label">营运状态:</label>
84   - <span class="col-sm-9" id="serviceState">{{line.serviceState}}</span>
  91 + <label class="col-sm-3 control-label">道路类型:</label>
  92 + <span class="col-sm-9" id="roadType">{{line.roadType}}</span>
85 93 </div>
  94 + <!---------------------------------->
86 95 <div class="col-sm-6">
87   - <label class="col-sm-3 control-label">车辆类型:</label>
88   - <span class="col-sm-9" id="busType">{{line.busType}}</span>
  96 + <label class="col-sm-3 control-label">运营时间:</label>
  97 + <span class="col-sm-9" id="serviceTime">{{line.serviceTime}}</span>
89 98 </div>
  99 + <!---------------------------------->
90 100 <div class="col-sm-6">
91 101 <label class="col-sm-3 control-label">是否空调:</label>
92 102 <span class="col-sm-9" id="airConditionerType">{{line.airConditionerType}}</span>
93 103 </div>
  104 + <!---------------------------------->
94 105 <div class="col-sm-6">
95 106 <label class="col-sm-3 control-label">售票类型:</label>
96 107 <span class="col-sm-9" id="sellTicketType">{{line.sellTicketType}}</span>
97 108 </div>
  109 + <!---------------------------------->
98 110 <div class="col-sm-6">
99   - <label class="col-sm-3 control-label">运营时间:</label>
100   - <span class="col-sm-9" id="serviceTime">{{line.serviceTime}}</span>
101   - </div>
102   - <div class="col-sm-6">
103   - <label class="col-sm-3 control-label">线路长度:</label>
104   - <span class="col-sm-9" id="lineDistance">{{line.lineDistance}}</span>
  111 + <label class="col-sm-3 control-label">票价:</label>
  112 + <span class="col-sm-9" id="ticketPrice">{{line.ticketPrice}}</span>
105 113 </div>
106   - <!-- <div class="col-sm-6">
107   - <label class="col-sm-3 control-label">线路编码:</label>
108   - <span class="col-sm-9" id="lineCode">{{line.lineCode}}</span>
109   - </div>-->
  114 + <!---------------------------------->
110 115 <div class="col-sm-6">
111   - <label class="col-sm-3 control-label">授权年限:</label>
112   - <span class="col-sm-9" id="warrantYear">{{line.warrantYear}}</span>
  116 + <label class="col-sm-3 control-label">站点名称:</label>
  117 + <span class="col-sm-9" id="halfwayStation">
  118 + <textarea name="halfwayStation" class="form-control" readonly>{{line.halfwayStation}}</textarea>
  119 + </span>
113 120 </div>
  121 + <!---------------------------------->
114 122 <div class="col-sm-6">
115   - <label class="col-sm-3 control-label">授权起始日期:</label>
116   - <span class="col-sm-9" id="warrantStartTime">{{line.warrantStartTime}}</span>
  123 + <label class="col-sm-3 control-label">线路走向:</label>
  124 + <span class="col-sm-9" id="directions">
  125 + <textarea name="directions" class="form-control" readonly>{{line.directions}}</textarea>
  126 + </span>
117 127 </div>
  128 + <!---------------------------------->
118 129 <div class="col-sm-6">
119   - <label class="col-sm-3 control-label">授权结束日期:</label>
120   - <span class="col-sm-9" id="warrantEndTime">{{line.warrantEndTime}}</span>
  130 + <label class="col-sm-3 control-label">站级数(上行):</label>
  131 + <span class="col-sm-9" id="stationUp">{{line.stationUp}}</span>
121 132 </div>
  133 + <!---------------------------------->
122 134 <div class="col-sm-6">
123   - <label class="col-sm-3 control-label">线路暂停日期:</label>
124   - <span class="col-sm-9" id="planCancelTime">{{line.planCancelTime}}</span>
  135 + <label class="col-sm-3 control-label">站级数(下行):</label>
  136 + <span class="col-sm-9" id="stationDown">{{line.stationDown}}</span>
125 137 </div>
  138 + <!---------------------------------->
126 139 <div class="col-sm-6">
127   - <label class="col-sm-3 control-label">实际撤销日期:</label>
128   - <span class="col-sm-9"id="cancelTime">{{line.cancelTime}}</span>
  140 + <label class="col-sm-3 control-label">首站:</label>
  141 + <span class="col-sm-9" id="firstStation">{{line.firstStation}}</span>
129 142 </div>
  143 + <!---------------------------------->
130 144 <div class="col-sm-6">
131   - <label class="col-sm-3 control-label">备注:</label>
132   - <span class="col-sm-9"id="remark">
133   - <textarea name="remark" class="form-control" readonly >{{line.remark}}</textarea>
134   - </span>
  145 + <label class="col-sm-3 control-label">末站:</label>
  146 + <span class="col-sm-9" id="lastStation">{{line.lastStation}}</span>
135 147 </div>
  148 + <!---------------------------------->
136 149 <div class="col-sm-6">
137   - <label class="col-sm-3 control-label">实施时间:</label>
138   - <span class="col-sm-9" id="timeSchedule">{{line.timeSchedule}}</span>
  150 + <label class="col-sm-3 control-label">起点站首末班:</label>
  151 + <span class="col-sm-9" id="firstTime">{{line.firstTime}}</span>
139 152 </div>
140   -<!-- <div class="col-sm-6">-->
141   -<!-- <label class="col-sm-3 control-label">停车场:</label>-->
142   -<!-- <span class="col-sm-9" id="park">{{line.park}}</span>-->
143   -<!-- </div>-->
  153 + <!---------------------------------->
144 154 <div class="col-sm-6">
145   - <label class="col-sm-3 control-label">是否权证:</label>
146   - <span class="col-sm-9" id="isWarran">{{line.isWarran}}</span>
  155 + <label class="col-sm-3 control-label">终点站首末班:</label>
  156 + <span class="col-sm-9" id="lastTime">{{line.lastTime}}</span>
147 157 </div>
  158 + <!---------------------------------->
148 159 <div class="col-sm-6">
149   - <label class="col-sm-3 control-label">道路类型:</label>
150   - <span class="col-sm-9" id="roadType">{{line.roadType}}</span>
  160 + <label class="col-sm-3 control-label">上行里程数:</label>
  161 + <span class="col-sm-9" id="mileageUp">{{line.mileageUp}}</span>
151 162 </div>
  163 + <!---------------------------------->
152 164 <div class="col-sm-6">
153   - <label class="col-sm-3 control-label">票价:</label>
154   - <span class="col-sm-9" id="ticketPrice">{{line.ticketPrice}}</span>
  165 + <label class="col-sm-3 control-label">下行里程数:</label>
  166 + <span class="col-sm-9" id="mileageDown">{{line.mileageDown}}</span>
155 167 </div>
  168 + <!---------------------------------->
156 169 <div class="col-sm-6">
157   - <label class="col-sm-3 control-label">首站:</label>
158   - <span class="col-sm-9" id="firstStation">{{line.firstStation}}</span>
  170 + <label class="col-sm-3 control-label">线路长度:</label>
  171 + <span class="col-sm-9" id="lineDistance">{{line.lineDistance}}</span>
159 172 </div>
  173 + <!---------------------------------->
160 174 <div class="col-sm-6">
161   - <label class="col-sm-3 control-label">起点站首末班:</label>
162   - <span class="col-sm-9"id="firstTime">{{line.firstTime}}</span>
  175 + <label class="col-sm-3 control-label">是否权证:</label>
  176 + <span class="col-sm-9" id="isWarran">{{line.isWarran}}</span>
163 177 </div>
  178 + <!---------------------------------->
164 179 <div class="col-sm-6">
165   - <label class="col-sm-3 control-label">末站:</label>
166   - <span class="col-sm-9"id="lastStation">{{line.lastStation}}</span>
  180 + <label class="col-sm-3 control-label">授权起始日期:</label>
  181 + <span class="col-sm-9" id="warrantStartTime">{{line.warrantStartTime}}</span>
167 182 </div>
  183 + <!---------------------------------->
168 184 <div class="col-sm-6">
169   - <label class="col-sm-3 control-label">终点站首末班:</label>
170   - <span class="col-sm-9"id="lastTime">{{line.lastTime}}</span>
  185 + <label class="col-sm-3 control-label">授权结束日期:</label>
  186 + <span class="col-sm-9" id="warrantEndTime">{{line.warrantEndTime}}</span>
171 187 </div>
  188 + <!---------------------------------->
172 189 <div class="col-sm-6">
173   - <label class="col-sm-3 control-label">上行里程数:</label>
174   - <span class="col-sm-9"id="mileageUp">{{line.mileageUp}}</span>
  190 + <label class="col-sm-3 control-label">授权年限:</label>
  191 + <span class="col-sm-9" id="warrantYear">{{line.warrantYear}}</span>
175 192 </div>
  193 + <!---------------------------------->
176 194 <div class="col-sm-6">
177   - <label class="col-sm-3 control-label">下行里程数:</label>
178   - <span class="col-sm-9"id="mileageDown">{{line.mileageDown}}</span>
  195 + <label class="col-sm-3 control-label">实施时间:</label>
  196 + <span class="col-sm-9" id="timeSchedule">{{line.timeSchedule}}</span>
179 197 </div>
  198 + <!---------------------------------->
180 199 <div class="col-sm-6">
181   - <label class="col-sm-3 control-label">站级数(上行):</label>
182   - <span class="col-sm-9"id="stationUp">{{line.stationUp}}</span>
  200 + <label class="col-sm-3 control-label">经营权证(大):</label>
  201 + <span class="col-sm-9" id="warrantVehiclesLarge">{{line.warrantVehiclesLarge}}</span>
183 202 </div>
  203 + <!---------------------------------->
184 204 <div class="col-sm-6">
185   - <label class="col-sm-3 control-label">站级数(下行):</label>
186   - <span class="col-sm-9"id="stationDown">{{line.stationDown}}</span>
  205 + <label class="col-sm-3 control-label">经营权证(中):</label>
  206 + <span class="col-sm-9" id="warrantVehiclesMiddle">{{line.warrantVehiclesMiddle}}</span>
187 207 </div>
  208 + <!---------------------------------->
188 209 <div class="col-sm-6">
189   - <label class="col-sm-3 control-label">行驶时间(上行):</label>
190   - <span class="col-sm-9"id="travelTimeUp">{{line.travelTimeUp}}</span>
  210 + <label class="col-sm-3 control-label">是否轨交末班车衔接:</label>
  211 + <span class="col-sm-9" id="isMetro">{{line.isMetro}}</span>
191 212 </div>
  213 + <!---------------------------------->
192 214 <div class="col-sm-6">
193   - <label class="col-sm-3 control-label">行驶时间(下行):</label>
194   - <span class="col-sm-9"id="travelTimeDown">{{line.travelTimeDown}}</span>
  215 + <label class="col-sm-3 control-label">轨交时间:</label>
  216 + <span class="col-sm-9" id="metroTime">{{line.metroTime}}</span>
195 217 </div>
  218 + <!---------------------------------->
196 219 <div class="col-sm-6">
197   - <label class="col-sm-3 control-label">行驶间隔(高峰):</label>
198   - <span class="col-sm-9"id="travelIntervalUp">{{line.travelIntervalUp}}</span>
  220 + <label class="col-sm-3 control-label">冷僻线路补贴类型:</label>
  221 + <span class="col-sm-9" id="coldBonusType">{{line.coldBonusType}}</span>
199 222 </div>
  223 + <!---------------------------------->
200 224 <div class="col-sm-6">
201   - <label class="col-sm-3 control-label">行驶间隔(低谷):</label>
202   - <span class="col-sm-9"id="travelIntervalDown">{{line.travelIntervalDown}}</span>
  225 + <label class="col-sm-3 control-label">营运状态:</label>
  226 + <span class="col-sm-9" id="serviceState">{{line.serviceState}}</span>
203 227 </div>
  228 + <!---------------------------------->
204 229 <div class="col-sm-6">
205   - <label class="col-sm-3 control-label">经营权证(大巴):</label>
206   - <span class="col-sm-9"id="warrantVehiclesLarge">{{line.warrantVehiclesLarge}}</span>
  230 + <label class="col-sm-3 control-label">暂停日期:</label>
  231 + <span class="col-sm-9" id="planCancelTime">{{line.planCancelTime}}</span>
207 232 </div>
  233 + <!---------------------------------->
208 234 <div class="col-sm-6">
209   - <label class="col-sm-3 control-label">经营权证(中巴):</label>
210   - <span class="col-sm-9"id="warrantVehiclesMiddle">{{line.warrantVehiclesMiddle}}</span>
  235 + <label class="col-sm-3 control-label">实际撤销日期:</label>
  236 + <span class="col-sm-9" id="cancelTime">{{line.cancelTime}}</span>
211 237 </div>
  238 + <!---------------------------------->
212 239 <div class="col-sm-6">
213   - <label class="col-sm-3 control-label">实际配车数:</label>
214   - <span class="col-sm-9"id="vehiclesNumber">{{line.vehiclesNumber}}</span>
  240 + <label class="col-sm-3 control-label">车辆自编号:</label>
  241 + <span class="col-sm-9" id="carPlate">{{line.carPlate}}</span>
215 242 </div>
  243 + <!---------------------------------->
216 244 <div class="col-sm-6">
217   - <label class="col-sm-3 control-label">实际车辆数(大巴):</label>
218   - <span class="col-sm-9"id="numberVehiclesLarge">{{line.numberVehiclesLarge}}</span>
  245 + <label class="col-sm-3 control-label">是否挂牌:</label>
  246 + <span class="col-sm-9" id="hasTimelists">{{line.hasTimelists}}</span>
219 247 </div>
  248 + <!---------------------------------->
220 249 <div class="col-sm-6">
221   - <label class="col-sm-3 control-label">实际车辆数(中巴):</label>
222   - <span class="col-sm-9"id="numberVehiclesMiddle">{{line.numberVehiclesMiddle}}</span>
  250 + <label class="col-sm-3 control-label">行驶时间(上行):</label>
  251 + <span class="col-sm-9" id="travelTimeUp">{{line.travelTimeUp}}</span>
223 252 </div>
  253 + <!---------------------------------->
224 254 <div class="col-sm-6">
225   - <label class="col-sm-3 control-label">车辆自编号:</label>
226   - <span class="col-sm-9"id="carPlate">{{line.carPlate}}</span>
  255 + <label class="col-sm-3 control-label">行驶时间(下行):</label>
  256 + <span class="col-sm-9" id="travelTimeDown">{{line.travelTimeDown}}</span>
227 257 </div>
  258 + <!---------------------------------->
228 259 <div class="col-sm-6">
229   - <label class="col-sm-3 control-label">线路配档数:</label>
230   - <span class="col-sm-9"id="numberPerson">{{line.numberPerson}}</span>
  260 + <label class="col-sm-3 control-label">行驶间隔(高峰):</label>
  261 + <span class="col-sm-9" id="travelIntervalUp">{{line.travelIntervalUp}}</span>
231 262 </div>
  263 + <!---------------------------------->
232 264 <div class="col-sm-6">
233   - <label class="col-sm-3 control-label">司机人数:</label>
234   - <span class="col-sm-9"id="numberPersonDriver">{{line.numberPersonDriver}}</span>
  265 + <label class="col-sm-3 control-label">行驶间隔(低谷):</label>
  266 + <span class="col-sm-9" id="travelIntervalDown">{{line.travelIntervalDown}}</span>
235 267 </div>
  268 + <!---------------------------------->
236 269 <div class="col-sm-6">
237   - <label class="col-sm-3 control-label">售票员数:</label>
238   - <span class="col-sm-9"id="numberPersonSales">{{line.numberPersonSales}}</span>
  270 + <label class="col-sm-3 control-label">间隔等级:</label>
  271 + <span class="col-sm-9" id="divideLevel">{{line.divideLevel}}</span>
239 272 </div>
  273 + <!---------------------------------->
240 274 <div class="col-sm-6">
241   - <label class="col-sm-3 control-label">新能源车数:</label>
242   - <span class="col-sm-9"id="busEvNumber">{{line.busEvNumber}}</span>
  275 + <label class="col-sm-3 control-label">实际配车数:</label>
  276 + <span class="col-sm-9" id="vehiclesNumber">{{line.vehiclesNumber}}</span>
243 277 </div>
  278 + <!---------------------------------->
244 279 <div class="col-sm-6">
245   - <label class="col-sm-3 control-label">线路走向:</label>
246   - <span class="col-sm-9"id="directions">
247   - <textarea name="directions" class="form-control" readonly>{{line.directions}}</textarea>
248   - </span>
  280 + <label class="col-sm-3 control-label">实际车辆数(大):</label>
  281 + <span class="col-sm-9" id="numberVehiclesLarge">{{line.numberVehiclesLarge}}</span>
249 282 </div>
  283 + <!---------------------------------->
250 284 <div class="col-sm-6">
251   - <label class="col-sm-3 control-label">站点名称:</label>
252   - <span class="col-sm-9" id="halfwayStation">
253   - <textarea name="halfwayStation" class="form-control" readonly>{{line.halfwayStation}}</textarea>
254   - </span>
  285 + <label class="col-sm-3 control-label">实际车辆数(中):</label>
  286 + <span class="col-sm-9" id="numberVehiclesMiddle">{{line.numberVehiclesMiddle}}</span>
255 287 </div>
  288 + <!---------------------------------->
256 289 <div class="col-sm-6">
257   - <label class="col-sm-3 control-label">间隔等级:</label>
258   - <span class="col-sm-9"id="divideLevel">{{line.divideLevel}}</span>
259   - </div>
260   - <div class="col-sm-6">
261   - <label class="col-sm-3 control-label">是否挂牌:</label>
262   - <span class="col-sm-9" id="hasTimelists">{{line.hasTimelists}}</span>
  290 + <label class="col-sm-3 control-label">新能源车数:</label>
  291 + <span class="col-sm-9" id="busEvNumber">{{line.busEvNumber}}</span>
263 292 </div>
  293 + <!---------------------------------->
264 294 <div class="col-sm-6">
265   - <label class="col-sm-3 control-label">是否轨交末班车衔接:</label>
266   - <span class="col-sm-9" id="isMetro">{{line.isMetro}}</span>
  295 + <label class="col-sm-3 control-label">线路配档数:</label>
  296 + <span class="col-sm-9" id="numberPerson">{{line.numberPerson}}</span>
267 297 </div>
  298 + <!---------------------------------->
268 299 <div class="col-sm-6">
269   - <label class="col-sm-3 control-label">轨交时间:</label>
270   - <span class="col-sm-9" id="metroTime">{{line.metroTime}}</span>
  300 + <label class="col-sm-3 control-label">司机人数:</label>
  301 + <span class="col-sm-9" id="numberPersonDriver">{{line.numberPersonDriver}}</span>
271 302 </div>
  303 + <!---------------------------------->
272 304 <div class="col-sm-6">
273   - <label class="col-sm-3 control-label">冷僻线路补贴类型:</label>
274   - <span class="col-sm-9" id="coldBonusType">{{line.coldBonusType}}</span>
  305 + <label class="col-sm-3 control-label">售票员数:</label>
  306 + <span class="col-sm-9" id="numberPersonSales">{{line.numberPersonSales}}</span>
275 307 </div>
276 308 <div class="col-sm-12" v-if="line.files">
277 309 <label class="col-sm-3 control-label">附件:</label>
... ... @@ -285,348 +317,275 @@
285 317 <el-tab-pane label="对比数据" name="second" v-if="oldLine">
286 318 <div class="col-sm-6">
287 319 <label class="col-sm-3 control-label">线路名称:</label>
288   - <span class="col-sm-9" id="text2">
289   - {{oldLine.lineName}}
290   - </span>
  320 + <span class="col-sm-9" >{{oldLine.lineName}}</span>
291 321 </div>
  322 + <!---------------------------------->
292 323 <div class="col-sm-6">
293 324 <label class="col-sm-3 control-label">公司:</label>
294   - <span class="col-sm-9">
295   - {{oldLine.company}}
296   - </span>
  325 + <span class="col-sm-9" >{{oldLine.company}}</span>
297 326 </div>
  327 + <!---------------------------------->
298 328 <div class="col-sm-6">
299 329 <label class="col-sm-3 control-label">分公司:</label>
300   - <span class="col-sm-9">
301   - {{oldLine.fCompany}}
302   - </span>
  330 + <span class="col-sm-9" >{{oldLine.fCompany}}</span>
303 331 </div>
  332 + <!---------------------------------->
304 333 <div class="col-sm-6">
305   - <label class="col-sm-3 control-label">主线路id:</label>
306   - <span class="col-sm-9">
307   - {{oldLine.pLineId}}
308   - </span>
  334 + <label class="col-sm-3 control-label">线路类型:</label>
  335 + <span class="col-sm-9" >{{oldLine.lineType}}</span>
309 336 </div>
  337 + <!---------------------------------->
310 338 <div class="col-sm-6">
311   - <label class="col-sm-3 control-label">营运方式:</label>
312   - <span class="col-sm-9"> {{oldLine.serviceType}}</span>
  339 + <label class="col-sm-3 control-label">线路属性:</label>
  340 + <span class="col-sm-9" >{{oldLine.lineLevel}}</span>
313 341 </div>
  342 + <!---------------------------------->
314 343 <div class="col-sm-6">
315   - <label class="col-sm-3 control-label">线路属性:</label>
316   - <span class="col-sm-9">
317   - {{oldLine.lineLevel}}
318   - </span>
  344 + <label class="col-sm-3 control-label">营运方式:</label>
  345 + <span class="col-sm-9" > {{oldLine.serviceType}}</span>
319 346 </div>
  347 + <!---------------------------------->
320 348 <div class="col-sm-6">
321   - <label class="col-sm-3 control-label">线路类型:</label>
322   - <span class="col-sm-9">
323   - {{oldLine.lineType}}
324   - </span>
  349 + <label class="col-sm-3 control-label">营收类型:</label>
  350 + <span class="col-sm-9" > {{oldLine.revenueType}}</span>
325 351 </div>
  352 + <!---------------------------------->
326 353 <div class="col-sm-6">
327 354 <label class="col-sm-3 control-label">区属:</label>
328   - <span class="col-sm-9">
329   - {{oldLine.district}}
330   - </span>
  355 + <span class="col-sm-9" >{{oldLine.district}}</span>
331 356 </div>
  357 + <!---------------------------------->
332 358 <div class="col-sm-6">
333 359 <label class="col-sm-3 control-label">是否区内:</label>
334   - <span class="col-sm-9">
335   - {{oldLine.inoutDistrict}}
336   - </span>
  360 + <span class="col-sm-9" >{{oldLine.inoutDistrict}}</span>
337 361 </div>
  362 + <!---------------------------------->
338 363 <div class="col-sm-6">
339   - <label class="col-sm-3 control-label">营运状态:</label>
340   - <span class="col-sm-9">
341   -
342   - {{oldLine.serviceState}}
343   - </span>
  364 + <label class="col-sm-3 control-label">道路类型:</label>
  365 + <span class="col-sm-9" >{{oldLine.roadType}}</span>
344 366 </div>
  367 + <!---------------------------------->
345 368 <div class="col-sm-6">
346   - <label class="col-sm-3 control-label">车辆类型:</label>
347   - <span class="col-sm-9">
348   - {{oldLine.busType}}
349   - </span>
  369 + <label class="col-sm-3 control-label">运营时间:</label>
  370 + <span class="col-sm-9">{{oldLine.serviceTime}}</span>
350 371 </div>
  372 + <!---------------------------------->
351 373 <div class="col-sm-6">
352 374 <label class="col-sm-3 control-label">是否空调:</label>
353   - <span class="col-sm-9">
354   -
355   - {{oldLine.airConditionerType}}
356   - </span>
  375 + <span class="col-sm-9" >{{oldLine.airConditionerType}}</span>
357 376 </div>
  377 + <!---------------------------------->
358 378 <div class="col-sm-6">
359 379 <label class="col-sm-3 control-label">售票类型:</label>
360   - <span class="col-sm-9">
361   - {{oldLine.sellTicketType}}
362   - </span>
  380 + <span class="col-sm-9" >{{oldLine.sellTicketType}}</span>
363 381 </div>
  382 + <!---------------------------------->
364 383 <div class="col-sm-6">
365   - <label class="col-sm-3 control-label">运营时间:</label>
366   - <span class="col-sm-9">
367   - {{oldLine.serviceTime}}
368   - </span>
  384 + <label class="col-sm-3 control-label">票价:</label>
  385 + <span class="col-sm-9" >{{oldLine.ticketPrice}}</span>
369 386 </div>
  387 + <!---------------------------------->
370 388 <div class="col-sm-6">
371   - <label class="col-sm-3 control-label">线路长度:</label>
372   - <span class="col-sm-9">
373   - {{oldLine.lineDistance}}
374   - </span>
375   - <!-- </div>
376   - <div class="col-sm-6">
377   - <label class="col-sm-3 control-label">线路编码:</label>
378   - <span class="col-sm-9">
379   - {{oldLine.lineCode}}
380   - </span>
381   - </div>-->
382   - <div class="col-sm-6">
383   - <label class="col-sm-3 control-label">授权年限:</label>
384   - <span class="col-sm-9">
385   - {{oldLine.warrantYear}}
386   - </span>
  389 + <label class="col-sm-3 control-label">站点名称:</label>
  390 + <span class="col-sm-9" >
  391 + <textarea name="halfwayStation" class="form-control" readonly>{{oldLine.halfwayStation}}</textarea>
  392 + </span>
387 393 </div>
  394 + <!---------------------------------->
388 395 <div class="col-sm-6">
389   - <label class="col-sm-3 control-label">授权起始日期:</label>
390   - <span class="col-sm-9">
391   - {{oldLine.warrantStartTime}}
392   - </span>
  396 + <label class="col-sm-3 control-label">线路走向:</label>
  397 + <span class="col-sm-9" >
  398 + <textarea name="directions" class="form-control" readonly>{{oldLine.directions}}</textarea>
  399 + </span>
393 400 </div>
  401 + <!---------------------------------->
394 402 <div class="col-sm-6">
395   - <label class="col-sm-3 control-label">授权结束日期:</label>
396   - <span class="col-sm-9">
397   - {{oldLine.warrantEndTime}}
398   - </span>
  403 + <label class="col-sm-3 control-label">站级数(上行):</label>
  404 + <span class="col-sm-9" >{{oldLine.stationUp}}</span>
399 405 </div>
  406 + <!---------------------------------->
400 407 <div class="col-sm-6">
401   - <label class="col-sm-3 control-label">线路暂停日期:</label>
402   - <span class="col-sm-9">
403   - {{oldLine.planCancelTime}}
404   - </span>
  408 + <label class="col-sm-3 control-label">站级数(下行):</label>
  409 + <span class="col-sm-9" >{{oldLine.stationDown}}</span>
405 410 </div>
  411 + <!---------------------------------->
406 412 <div class="col-sm-6">
407   - <label class="col-sm-3 control-label">实际撤销日期:</label>
408   - <span class="col-sm-9">
409   - {{oldLine.cancelTime}}
410   - </span>
411   - </div>
412   - <div class="col-sm-6">
413   - <label class="col-sm-3 control-label">备注:</label>
414   - <span class="col-sm-9">
415   - <textarea name="remark" class="form-control" readonly>{{oldLine.remark}}</textarea>
416   - </span>
  413 + <label class="col-sm-3 control-label">首站:</label>
  414 + <span class="col-sm-9" >{{oldLine.firstStation}}</span>
417 415 </div>
  416 + <!---------------------------------->
418 417 <div class="col-sm-6">
419   - <label class="col-sm-3 control-label">实施时间:</label>
420   - <span class="col-sm-9">
421   - {{oldLine.timeSchedule}}
422   - </span>
423   - <!--</div>
424   - <div class="col-sm-6">
425   - <label class="col-sm-3 control-label">停车场:</label>
426   - <span class="col-sm-9">
427   - {{oldLine.park}}
428   - </span>
429   - </div>-->
  418 + <label class="col-sm-3 control-label">末站:</label>
  419 + <span class="col-sm-9" >{{oldLine.lastStation}}</span>
  420 + </div>
  421 + <!---------------------------------->
430 422 <div class="col-sm-6">
431   - <label class="col-sm-3 control-label">是否权证:</label>
432   - <span class="col-sm-9">
433   - {{oldLine.isWarran}}
434   - </span>
  423 + <label class="col-sm-3 control-label">起点站首末班:</label>
  424 + <span class="col-sm-9" >{{oldLine.firstTime}}</span>
435 425 </div>
  426 + <!---------------------------------->
436 427 <div class="col-sm-6">
437   - <label class="col-sm-3 control-label">道路类型:</label>
438   - <span class="col-sm-9">
439   - {{oldLine.roadType}}
440   - </span>
  428 + <label class="col-sm-3 control-label">终点站首末班:</label>
  429 + <span class="col-sm-9" >{{oldLine.lastTime}}</span>
441 430 </div>
  431 + <!---------------------------------->
442 432 <div class="col-sm-6">
443   - <label class="col-sm-3 control-label">票价:</label>
444   - <span class="col-sm-9">
445   - {{oldLine.ticketPrice}}
446   - </span>
  433 + <label class="col-sm-3 control-label">上行里程数:</label>
  434 + <span class="col-sm-9" >{{oldLine.mileageUp}}</span>
447 435 </div>
  436 + <!---------------------------------->
448 437 <div class="col-sm-6">
449   - <label class="col-sm-3 control-label">首站:</label>
450   - <span class="col-sm-9">
451   - {{oldLine.firstStation}}
452   - </span>
  438 + <label class="col-sm-3 control-label">下行里程数:</label>
  439 + <span class="col-sm-9" >{{oldLine.mileageDown}}</span>
453 440 </div>
  441 + <!---------------------------------->
454 442 <div class="col-sm-6">
455   - <label class="col-sm-3 control-label">起点站首末班:</label>
456   - <span class="col-sm-9">
457   - {{oldLine.firstTime}}
458   - </span>
  443 + <label class="col-sm-3 control-label">线路长度:</label>
  444 + <span class="col-sm-9">{{oldLine.lineDistance}}</span>
459 445 </div>
  446 + <!---------------------------------->
460 447 <div class="col-sm-6">
461   - <label class="col-sm-3 control-label">末站:</label>
462   - <span class="col-sm-9">
463   - {{oldLine.lastStation}}
464   - </span>
  448 + <label class="col-sm-3 control-label">是否权证:</label>
  449 + <span class="col-sm-9" >{{oldLine.isWarran}}</span>
465 450 </div>
  451 + <!---------------------------------->
466 452 <div class="col-sm-6">
467   - <label class="col-sm-3 control-label">终点站首末班:</label>
468   - <span class="col-sm-9">
469   - {{oldLine.lastTime}}
470   - </span>
  453 + <label class="col-sm-3 control-label">授权起始日期:</label>
  454 + <span class="col-sm-9" >{{oldLine.warrantStartTime}}</span>
471 455 </div>
  456 + <!---------------------------------->
472 457 <div class="col-sm-6">
473   - <label class="col-sm-3 control-label">上行里程数:</label>
474   - <span class="col-sm-9">
475   - {{oldLine.mileageUp}}
476   - </span>
  458 + <label class="col-sm-3 control-label">授权结束日期:</label>
  459 + <span class="col-sm-9" >{{oldLine.warrantEndTime}}</span>
477 460 </div>
  461 + <!---------------------------------->
478 462 <div class="col-sm-6">
479   - <label class="col-sm-3 control-label">下行里程数:</label>
480   - <span class="col-sm-9">
481   - {{oldLine.mileageDown}}
482   - </span>
  463 + <label class="col-sm-3 control-label">授权年限:</label>
  464 + <span class="col-sm-9" >{{oldLine.warrantYear}}</span>
  465 + </div>
  466 + <!---------------------------------->
483 467 <div class="col-sm-6">
484   - <label class="col-sm-3 control-label">站级数(上行):</label>
485   - <span class="col-sm-9">
486   - {{oldLine.stationUp}}
487   - </span>
  468 + <label class="col-sm-3 control-label">实施时间:</label>
  469 + <span class="col-sm-9" >{{oldLine.timeSchedule}}</span>
488 470 </div>
  471 + <!---------------------------------->
489 472 <div class="col-sm-6">
490   - <label class="col-sm-3 control-label">站级数(下行):</label>
491   - <span class="col-sm-9">
492   - {{oldLine.stationDown}}
493   - </span>
  473 + <label class="col-sm-3 control-label">经营权证(大):</label>
  474 + <span class="col-sm-9" >{{oldLine.warrantVehiclesLarge}}</span>
494 475 </div>
  476 + <!---------------------------------->
495 477 <div class="col-sm-6">
496   - <label class="col-sm-3 control-label">行驶时间(上行):</label>
497   - <span class="col-sm-9">
498   - {{oldLine.travelTimeUp}}
499   - </span>
  478 + <label class="col-sm-3 control-label">经营权证(中):</label>
  479 + <span class="col-sm-9" >{{oldLine.warrantVehiclesMiddle}}</span>
500 480 </div>
  481 + <!---------------------------------->
501 482 <div class="col-sm-6">
502   - <label class="col-sm-3 control-label">行驶时间(下行):</label>
503   - <span class="col-sm-9">
504   - {{oldLine.travelTimeDown}}
505   - </span>
  483 + <label class="col-sm-3 control-label">是否轨交末班车衔接:</label>
  484 + <span class="col-sm-9">{{oldLine.isMetro}}</span>
506 485 </div>
  486 + <!---------------------------------->
507 487 <div class="col-sm-6">
508   - <label class="col-sm-3 control-label">行驶间隔(高峰):</label>
509   - <span class="col-sm-9">
510   - {{oldLine.travelIntervalUp}}
511   - </span>
  488 + <label class="col-sm-3 control-label">轨交时间:</label>
  489 + <span class="col-sm-9">{{oldLine.metroTime}}</span>
512 490 </div>
  491 + <!---------------------------------->
513 492 <div class="col-sm-6">
514   - <label class="col-sm-3 control-label">行驶间隔(低谷):</label>
515   - <span class="col-sm-9">
516   - {{oldLine.travelIntervalDown}}
517   - </span>
  493 + <label class="col-sm-3 control-label">冷僻线路补贴类型:</label>
  494 + <span class="col-sm-9" >{{oldLine.coldBonusType}}</span>
518 495 </div>
  496 + <!---------------------------------->
519 497 <div class="col-sm-6">
520   - <label class="col-sm-3 control-label">经营权证(大巴):</label>
521   - <span class="col-sm-9">
522   - {{oldLine.warrantVehiclesLarge}}
523   - </span>
  498 + <label class="col-sm-3 control-label">营运状态:</label>
  499 + <span class="col-sm-9">{{oldLine.serviceState}}</span>
524 500 </div>
  501 + <!---------------------------------->
525 502 <div class="col-sm-6">
526   - <label class="col-sm-3 control-label">经营权证(中巴):</label>
527   - <span class="col-sm-9">
528   - {{oldLine.warrantVehiclesMiddle}}
529   - </span>
  503 + <label class="col-sm-3 control-label">暂停日期:</label>
  504 + <span class="col-sm-9" >{{oldLine.planCancelTime}}</span>
530 505 </div>
  506 + <!---------------------------------->
531 507 <div class="col-sm-6">
532   - <label class="col-sm-3 control-label">实际配车数:</label>
533   - <span class="col-sm-9">
534   - {{oldLine.vehiclesNumber}}
535   - </span>
  508 + <label class="col-sm-3 control-label">实际撤销日期:</label>
  509 + <span class="col-sm-9" >{{oldLine.cancelTime}}</span>
536 510 </div>
  511 + <!---------------------------------->
537 512 <div class="col-sm-6">
538   - <label class="col-sm-3 control-label">实际车辆数(大巴):</label>
539   - <span class="col-sm-9">
540   - {{oldLine.numberVehiclesLarge}}
541   - </span>
  513 + <label class="col-sm-3 control-label">车辆自编号:</label>
  514 + <span class="col-sm-9" >{{oldLine.carPlate}}</span>
542 515 </div>
  516 + <!---------------------------------->
543 517 <div class="col-sm-6">
544   - <label class="col-sm-3 control-label">实际车辆数(中巴):</label>
545   - <span class="col-sm-9">
546   - {{oldLine.numberVehiclesMiddle}}
547   - </span>
  518 + <label class="col-sm-3 control-label">是否挂牌:</label>
  519 + <span class="col-sm-9">{{oldLine.hasTimelists}}</span>
548 520 </div>
  521 + <!---------------------------------->
549 522 <div class="col-sm-6">
550   - <label class="col-sm-3 control-label">车辆自编号:</label>
551   - <span class="col-sm-9">
552   - {{oldLine.carPlate}}
553   - </span>
  523 + <label class="col-sm-3 control-label">行驶时间(上行):</label>
  524 + <span class="col-sm-9" >{{oldLine.travelTimeUp}}</span>
554 525 </div>
  526 + <!---------------------------------->
555 527 <div class="col-sm-6">
556   - <label class="col-sm-3 control-label">线路配档数:</label>
557   - <span class="col-sm-9">
558   - {{oldLine.numberPerson}}
559   - </span>
  528 + <label class="col-sm-3 control-label">行驶时间(下行):</label>
  529 + <span class="col-sm-9" >{{oldLine.travelTimeDown}}</span>
560 530 </div>
  531 + <!---------------------------------->
561 532 <div class="col-sm-6">
562   - <label class="col-sm-3 control-label">司机人数:</label>
563   - <span class="col-sm-9">
564   - {{oldLine.numberPersonDriver}}
565   - </span>
  533 + <label class="col-sm-3 control-label">行驶间隔(高峰):</label>
  534 + <span class="col-sm-9" >{{oldLine.travelIntervalUp}}</span>
566 535 </div>
  536 + <!---------------------------------->
567 537 <div class="col-sm-6">
568   - <label class="col-sm-3 control-label">售票员数:</label>
569   - <span class="col-sm-9">
570   - {{oldLine.numberPersonSales}}
571   - </span>
  538 + <label class="col-sm-3 control-label">行驶间隔(低谷):</label>
  539 + <span class="col-sm-9" >{{oldLine.travelIntervalDown}}</span>
572 540 </div>
  541 + <!---------------------------------->
573 542 <div class="col-sm-6">
574   - <label class="col-sm-3 control-label">新能源车数:</label>
575   - <span class="col-sm-9">
576   - {{oldLine.busEvNumber}}
577   - </span>
  543 + <label class="col-sm-3 control-label">间隔等级:</label>
  544 + <span class="col-sm-9" >{{oldLine.divideLevel}}</span>
578 545 </div>
  546 + <!---------------------------------->
579 547 <div class="col-sm-6">
580   - <label class="col-sm-3 control-label">线路走向:</label>
581   - <span class="col-sm-9">
582   - <textarea name="directions" class="form-control" readonly>{{oldLine.directions}}</textarea>
583   - </span>
  548 + <label class="col-sm-3 control-label">实际配车数:</label>
  549 + <span class="col-sm-9" >{{oldLine.vehiclesNumber}}</span>
584 550 </div>
  551 + <!---------------------------------->
585 552 <div class="col-sm-6">
586   - <label class="col-sm-3 control-label">站点名称:</label>
587   - <span class="col-sm-9">
588   - <textarea name="halfwayStation" class="form-control" readonly>{{oldLine.halfwayStation}}</textarea>
589   - </span>
  553 + <label class="col-sm-3 control-label">实际车辆数(大):</label>
  554 + <span class="col-sm-9" >{{oldLine.numberVehiclesLarge}}</span>
590 555 </div>
  556 + <!---------------------------------->
591 557 <div class="col-sm-6">
592   - <label class="col-sm-3 control-label">间隔等级:</label>
593   - <span class="col-sm-9">
594   - {{oldLine.divideLevel}}
595   - </span>
  558 + <label class="col-sm-3 control-label">实际车辆数(中):</label>
  559 + <span class="col-sm-9" >{{oldLine.numberVehiclesMiddle}}</span>
596 560 </div>
  561 + <!---------------------------------->
597 562 <div class="col-sm-6">
598   - <label class="col-sm-3 control-label">是否挂牌:</label>
599   - <span class="col-sm-9">
600   - {{oldLine.hasTimelists}}
601   - </span>
  563 + <label class="col-sm-3 control-label">新能源车数:</label>
  564 + <span class="col-sm-9">{{oldLine.busEvNumber}}</span>
602 565 </div>
  566 + <!---------------------------------->
603 567 <div class="col-sm-6">
604   - <label class="col-sm-3 control-label">是否轨交末班车衔接:</label>
605   - <span class="col-sm-9">
606   - {{oldLine.isMetro}}
607   - </span>
  568 + <label class="col-sm-3 control-label">线路配档数:</label>
  569 + <span class="col-sm-9">{{oldLine.numberPerson}}</span>
608 570 </div>
  571 + <!---------------------------------->
609 572 <div class="col-sm-6">
610   - <label class="col-sm-3 control-label">轨交时间:</label>
611   - <span class="col-sm-9">
612   - {{oldLine.metroTime}}
613   - </span>
  573 + <label class="col-sm-3 control-label">司机人数:</label>
  574 + <span class="col-sm-9">{{oldLine.numberPersonDriver}}</span>
614 575 </div>
  576 + <!---------------------------------->
615 577 <div class="col-sm-6">
616   - <label class="col-sm-3 control-label">冷僻线路补贴类型:</label>
617   - <span class="col-sm-9">
618   - {{oldLine.coldBonusType}}
619   - </span>
  578 + <label class="col-sm-3 control-label">售票员数:</label>
  579 + <span class="col-sm-9" >{{oldLine.numberPersonSales}}</span>
620 580 </div>
621 581 <div class="col-sm-12" v-if="oldLine.files">
622 582 <label class="col-sm-3 control-label">附件:</label>
623 583 <span class="col-sm-9" v-for="path in oldLine.files.split(',')">
624   - <a :href="path.replace(path.split(':')[0] + ':' , '')">
  584 + <a :href="path.replace(path.split(':')[0] + ':' , '')">
625 585 {{path.split(":")[0]}}
626   - </a>
627   - </span>
  586 + </a>
  587 + </span>
628 588 </div>
629   -
630 589 </el-tab-pane>
631 590 </el-tabs>
632 591 </el-col>
... ... @@ -705,7 +664,7 @@
705 664 continue;
706 665 }
707 666  
708   - if (field == "inoutDistrict" || field == "isMetro" || field == "hasTimelists" || field == "isWarran") {
  667 + if (field == "isLogicDelete" || field == "inoutDistrict" || field == "isMetro" || field == "hasTimelists" || field == "isWarran") {
709 668 for (var j in dicts["trueFalse"]) {
710 669 if (dicts["trueFalse"][j].dictValue == value) {
711 670 value = dicts["trueFalse"][j].dictLabel;
... ... @@ -716,18 +675,16 @@
716 675  
717 676 continue;
718 677 }
719   - if (dicts[field]) {
720   - for (var j in dicts[field]) {
721   - if (dicts[field][j].dictValue == value) {
722   - value = dicts[field][j].dictLabel;
723   - data[index][field] = value;
724   - break;
725   - }
726   - }
727   - continue;
728   - }
729   -
730   -
  678 + if (dicts[field]) {
  679 + for (var j in dicts[field]) {
  680 + if (dicts[field][j].dictValue == value) {
  681 + value = dicts[field][j].dictLabel;
  682 + data[index][field] = value;
  683 + break;
  684 + }
  685 + }
  686 + continue;
  687 + }
731 688  
732 689  
733 690 }
... ... @@ -756,14 +713,14 @@
756 713 },
757 714 methods: {
758 715 change(index) {
759   - this.tab='first';//每次点击默认选中第一个
  716 + this.tab = 'first';//每次点击默认选中第一个
760 717 var l;
761 718 var ol;
762 719 //所有字段改为默认样式
763 720 this.line = this.lines[index];
764 721 l = this.line;
765 722 for (let f in l) {
766   - $('#'+f).attr('style',"color:#303133");
  723 + $('#' + f).attr('style', "color:#303133");
767 724 }
768 725 //新辟
769 726 if (index == 0) {
... ... @@ -771,13 +728,13 @@
771 728 } else {//变更的数据标红
772 729 this.oldLine = this.lines[index - 1];
773 730 ol = this.oldLine;
774   - if (ol != null) {
775   - for (let f in l) {
776   - if (l[f] != ol[f]) {
777   - $('#'+f).css({'color': 'red'});
778   - }
779   - }
780   - }
  731 + if (ol != null) {
  732 + for (let f in l) {
  733 + if (l[f] != ol[f]) {
  734 + $('#' + f).css({'color': 'red'});
  735 + }
  736 + }
  737 + }
781 738 }
782 739 //修改点击时间点的颜色
783 740 for (var i in this.lines) {
... ...