Commit 488c669ab3d9b6a79fba9af4670fc682b9587f8b

Authored by yiming
1 parent dcc48b86

bf

bsthLineProfiles/src/main/java/com/ruoyi/project/monitor/job/task/RyTask.java
... ... @@ -109,8 +109,8 @@ public class RyTask {
109 109  
110 110 }
111 111  
112   - /*public void createLineMonthReport() {
113   - System.out.println("生成月报表");
114   - lineService.createLineMonthReport();
115   - }*/
  112 + public void getCarPlate() {
  113 + System.out.println("获取车辆自编号");
  114 + lineService.getCarPlate();
  115 + }
116 116 }
... ...
bsthLineProfiles/src/main/java/com/ruoyi/project/system/dict/service/DictDataServiceImpl.java
... ... @@ -109,4 +109,10 @@ public class DictDataServiceImpl implements IDictDataService
109 109 }
110 110 return row;
111 111 }
  112 +
  113 + @Override
  114 + public void insert(DictData dictData)
  115 + {
  116 + dictDataMapper.insertDictData(dictData);
  117 + }
112 118 }
... ...
bsthLineProfiles/src/main/java/com/ruoyi/project/system/dict/service/IDictDataService.java
... ... @@ -58,4 +58,6 @@ public interface IDictDataService
58 58 * @return 结果
59 59 */
60 60 public int updateDictData(DictData dictData);
  61 +
  62 + void insert(DictData dictData);
61 63 }
... ...
bsthLineProfiles/src/main/java/com/ruoyi/project/system/line/controller/BsthTLineAddController.java
... ... @@ -118,6 +118,7 @@ public class BsthTLineAddController extends BaseController
118 118 bl=bsthTLineService.selectBsthTLineExamineByLineName(bl);
119 119 if(bl==null){
120 120 bsthTLine.setLineUpdateType("0");
  121 + bsthTLine.setExamineType("0");
121 122 return toAjax(bsthTLineService.insertBsthTLineExamine(bsthTLine));
122 123 }else {
123 124 bsthTLine.setId(bl.getId());
... ... @@ -133,6 +134,8 @@ public class BsthTLineAddController extends BaseController
133 134 public String edit(@PathVariable("id") Long id, ModelMap mmap)
134 135 {
135 136 BsthTLine bsthTLine = bsthTLineService.selectBsthTLineExamineById(id);
  137 + List<Map> companyList=bsthTLineService.selectCompany();
  138 + mmap.put("companyList",companyList);
136 139 mmap.put("bsthTLine", bsthTLine);
137 140 return prefix + "/edit";
138 141 }
... ...
bsthLineProfiles/src/main/java/com/ruoyi/project/system/line/controller/BsthTLineController.java
... ... @@ -251,8 +251,8 @@ public class BsthTLineController extends BaseController
251 251 BsthTLine bsthTLine = new BsthTLine();
252 252  
253 253 bsthTLine.setLineName(name);
254   - BsthTLine bsthTLineOld=bsthTLineService.selectBsthTLineList(bsthTLine).get(0);
255 254 BsthTLine bsthTLineNew=bsthTLineService.selectBsthTLineExamineByLineName(bsthTLine);
  255 + BsthTLine bsthTLineOld=bsthTLineService.selectBsthTLineList(bsthTLine).size()>0?bsthTLineService.selectBsthTLineList(bsthTLine).get(0):bsthTLineNew;
256 256 List<BsthTLine> bsthTLines=new ArrayList<>();
257 257 bsthTLines.add(bsthTLineOld);
258 258 bsthTLines.add(bsthTLineNew);
... ... @@ -311,4 +311,5 @@ public class BsthTLineController extends BaseController
311 311 return bsthTLineKFKS;
312 312 }
313 313  
  314 +
314 315 }
... ...
bsthLineProfiles/src/main/java/com/ruoyi/project/system/line/service/IBsthTLineService.java
... ... @@ -72,4 +72,6 @@ public interface IBsthTLineService
72 72 void sendKFK(BsthTLineKFK bsthTLine);
73 73  
74 74 List<BsthTLineKFK> changeCN(List<BsthTLineKFK> list);
  75 +
  76 + void getCarPlate();
75 77 }
... ...
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 3 import java.lang.reflect.Field;
  4 +import java.time.LocalDateTime;
4 5 import java.util.*;
5 6 import java.util.stream.Collectors;
6 7  
  8 +import cn.hutool.http.HttpUtil;
7 9 import cn.hutool.json.JSON;
  10 +import com.alibaba.fastjson.JSONArray;
  11 +import com.alibaba.fastjson.JSONObject;
  12 +import com.ruoyi.common.utils.security.ShiroUtils;
8 13 import com.ruoyi.project.system.dict.domain.DictData;
9 14 import com.ruoyi.project.system.dict.service.IDictDataService;
10 15 import com.ruoyi.project.system.line.domain.BsthTLineKFK;
11 16 import com.ruoyi.project.system.line.domain.LineHistoryReport;
  17 +import com.ruoyi.project.system.user.domain.User;
12 18 import org.slf4j.Logger;
13 19 import org.slf4j.LoggerFactory;
14 20 import org.springframework.beans.factory.annotation.Autowired;
... ... @@ -385,4 +391,85 @@ public class BsthTLineServiceImpl implements IBsthTLineService
385 391 }
386 392 return list;
387 393 }
  394 +
  395 + @Override
  396 + public void getCarPlate(){
  397 + //查询车辆类型
  398 + DictData dictData=new DictData();
  399 + dictData.setDictType("busType");
  400 + List<DictData> dicts = dictDataService.selectDictDataList(dictData);
  401 + Long dictSort = 0L;
  402 + int dictValue=0;
  403 + List<String> list=new ArrayList<>();//车辆类型
  404 + for (DictData dict : dicts) {
  405 + list.add(dict.getDictLabel());
  406 + if(dict.getDictSort()>dictSort){
  407 + dictSort=dict.getDictSort();
  408 + }
  409 + if(Integer.parseInt(dict.getDictValue())>dictValue){
  410 + dictValue=Integer.parseInt(dict.getDictValue());
  411 + }
  412 + }
  413 + //调接口获取车辆自编号和对于车辆类型
  414 + String s= HttpUtil.get("http://180.166.5.82:8076/cars/getAllMeasuredBusData?password=13q64164a86001t7");
  415 + JSONArray jsonArray= JSONObject.parseArray(s);
  416 + Map<String,String> map=new HashMap();
  417 + Set<String> set=new HashSet();
  418 + Set<String> set2=new HashSet();
  419 + for (Object o : jsonArray) {
  420 + JSONObject jsonObject=JSONObject.parseObject(o.toString());
  421 + String sample_code=jsonObject.get("sample_code").toString();
  422 + String car_energy_type=jsonObject.get("car_energy_type").toString();
  423 + map.put(sample_code,car_energy_type);
  424 + set.add(car_energy_type);
  425 + set2.add(sample_code);
  426 + }
  427 +
  428 + //不存在该类型加一条
  429 + for (String s1 : set) {
  430 + if(!list.contains(s1)){
  431 + DictData dd=dicts.get(0);
  432 + dd.setDictLabel(s1);
  433 + dictSort++;
  434 + dictValue++;
  435 + dd.setDictSort(dictSort);
  436 + dd.setDictValue(String.valueOf(dictValue));
  437 + dictDataService.insert(dd);
  438 + }
  439 + }
  440 +
  441 +
  442 + dicts = dictDataService.selectDictDataList(dictData);
  443 + Map<String,String> m=new HashMap();
  444 + for (DictData dict : dicts) {
  445 + m.put(dict.getDictLabel(),dict.getDictValue());
  446 + }
  447 +
  448 + //查询车辆自编号
  449 + dictData=new DictData();
  450 + dictData.setDictType("carPlate");
  451 + dicts = dictDataService.selectDictDataList(dictData);
  452 + dictSort = 0L;
  453 + list=new ArrayList<>();//车辆自编号
  454 + for (DictData dict : dicts) {
  455 + list.add(dict.getDictLabel());
  456 + if(dict.getDictSort()>dictSort){
  457 + dictSort=dict.getDictSort();
  458 + }
  459 + }
  460 +
  461 + //不存在该类型加一条
  462 + for (String s1 : set2) {
  463 + if(!list.contains(s1)){
  464 + DictData dd=dicts.get(0);
  465 + dd.setDictLabel(s1);
  466 + dictSort++;
  467 + dd.setDictSort(dictSort);
  468 + String car_energy_type=map.get(s1);
  469 + dd.setDictValue(m.get(car_energy_type));
  470 + dictDataService.insert(dd);
  471 + }
  472 + }
  473 + }
  474 +
388 475 }
... ...
bsthLineProfiles/src/main/resources/application-druid.yml
... ... @@ -9,7 +9,7 @@ spring:
9 9 url: jdbc:mysql://192.168.101.111:3306/bsth_line_profiles?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
10 10 username: xldasys
11 11 password: bsth@pj2021
12   - # 主库数据源
  12 +# # 主库数据源
13 13 # master:
14 14 # url: jdbc:mysql://localhost:3306/bsth_line_profiles?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
15 15 # username: root
... ...
bsthLineProfiles/src/main/resources/mybatis/mybatis/system/BsthTLineMapper.xml
... ... @@ -173,6 +173,7 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;
173 173 <if test="createTimeEnd != null and createTimeEnd != ''"> and create_time &lt;= #{createTimeEnd}</if>
174 174  
175 175 </where>
  176 + order by id desc
176 177 </select>
177 178  
178 179  
... ... @@ -547,6 +548,7 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;
547 548 <if test="createTimeStr != null and createTimeStr != ''"> and create_time >= #{createTimeStr}</if>
548 549 <if test="createTimeEnd != null and createTimeEnd != ''"> and create_time &lt;= #{createTimeEnd}</if>
549 550 </where>
  551 + order by id desc
550 552 </select>
551 553  
552 554  
... ... @@ -860,6 +862,7 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;
860 862 <if test="updateStatus != null and updateStatus != ''"> and update_status #{updateStatus}</if>
861 863 <if test="lineUpdateType != null and lineUpdateType != ''"> and line_update_type =#{lineUpdateType}</if>
862 864 </where>
  865 + order by id desc
863 866 </select>
864 867  
865 868  
... ... @@ -1322,6 +1325,7 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;
1322 1325 <if test="company != null and company != ''"> and bsth_t_line.company = #{company}</if>
1323 1326 <if test="fCompany != null and fCompany != ''"> and bsth_t_line.f_company = #{fCompany}</if>
1324 1327 </where>
  1328 + order by bsth_t_line.id desc
1325 1329 </select>
1326 1330  
1327 1331  
... ...
bsthLineProfiles/src/main/resources/templates/system/line/detail.html
... ... @@ -278,7 +278,12 @@
278 278 <!---------------------------------->
279 279 <li id="carPlate">
280 280 <label>车辆自编号:</label>
281   - <input name="carPlate" th:field="*{carPlate}" type="text" disabled>
  281 + <select name="carPlate" th:with="type=${@dict.getType('carPlate')}" class="selectpicker" multiple
  282 + title="" disabled>
  283 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}"
  284 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.carPlate== null ? '' : bsthTLine.carPlate),#strings.toString(dict.dictLabel))}">
  285 + </option>
  286 + </select>
282 287 </li>
283 288 <!---------------------------------->
284 289 <li id="numberPerson">
... ...
bsthLineProfiles/src/main/resources/templates/system/lineAdd/add.html
... ... @@ -341,10 +341,13 @@
341 341 <div class="hr-line-dashed"></div>
342 342 <h3>调度</h3>
343 343 <div class="form-group">
344   - <label class="col-sm-1 control-label">车辆自编号:</label>
  344 + <label class="col-sm-1 control-label" name="carPlate">车辆自编号:</label>
345 345 <div class="col-sm-2">
346   - <input name="carPlate" class="form-control" type="text">
  346 + <select name="carPlate" id="carPlate" th:with="type=${@dict.getType('carPlate')}" class="selectpicker form-control" multiple title="" onchange="getBusType()">
  347 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}" ></option>
  348 + </select>
347 349 </div>
  350 + <input type="hidden" name="busType" id="busType" th:value="*{busType}">
348 351 <!---------------------------------->
349 352 <label class="col-sm-1 control-label">是否挂牌:</label>
350 353 <div class="col-sm-2">
... ... @@ -682,7 +685,26 @@
682 685  
683 686 }
684 687  
685   -
  688 + var cl=[[${@dict.getType('carPlate')}]]
  689 + function getBusType(){
  690 + var s = new Set();
  691 + var carPlate=$("#carPlate").val();
  692 + for (let o of carPlate) {
  693 + for (let o2 of cl) {
  694 + var dictLabel=o2.dictLabel;
  695 + var dictValue=o2.dictValue;
  696 + if(o==dictLabel){
  697 + s.add(dictValue)
  698 + }
  699 + }
  700 + }
  701 + var str='';
  702 + for (let o of s) {
  703 + str+=(o+',');
  704 + }
  705 + str=str.substr(0,str.length-1);
  706 + $('#busType').val(str);
  707 + }
686 708 </script>
687 709 </body>
688 710 </html>
689 711 \ No newline at end of file
... ...
bsthLineProfiles/src/main/resources/templates/system/lineAdd/edit.html
... ... @@ -5,45 +5,42 @@
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 <body class="white-bg">
10 11 <div class="wrapper wrapper-content animated fadeInRight ibox-content">
11 12 <form class="form-horizontal m" id="form-line-edit" th:object="${bsthTLine}">
12 13 <input name="id" th:field="*{id}" type="hidden">
  14 + <h3>路务</h3>
13 15 <div class="form-group">
14   - <label class="col-sm-1 control-label">线路名称:</label>
  16 + <label class="col-sm-1 control-label" name="lineName">线路名称:</label>
15 17 <div class="col-sm-2">
16   - <input name="lineName" th:field="*{lineName}" class="form-control" type="text" readonly>
  18 + <input th:field="*{lineName}" class="form-control" type="text" readonly>
17 19 </div>
18 20 <!---------------------------------->
19   - <label class="col-sm-1 control-label">主线路id:</label>
  21 + <label class="col-sm-1 control-label" name="company">公司:</label>
20 22 <div class="col-sm-2">
21   - <input name="pLineId" th:field="*{pLineId}" class="form-control" type="text">
  23 + <select id='company' name="company"></select>
22 24 </div>
23 25 <!---------------------------------->
24   - <label class="col-sm-1 control-label">公司:</label>
  26 + <label class="col-sm-1 control-label" name="fCompany">分公司:</label>
25 27 <div class="col-sm-2">
26   - <input name="company" th:field="*{company}" class="form-control" type="text">
  28 + <select id='fCompany'name="fCompany"></select>
27 29 </div>
28 30 <!---------------------------------->
29   - <label class="col-sm-1 control-label">分公司:</label>
  31 + <label class="col-sm-1 control-label" name="lineType">线路类型:</label>
30 32 <div class="col-sm-2">
31   - <input name="fCompany" th:field="*{fCompany}" class="form-control" type="text">
32   - </div>
33   - </div>
34   -
35   - <div class="form-group">
36   - <label class="col-sm-1 control-label">营运方式:</label>
37   - <div class="col-sm-2">
38   - <select name="serviceType" th:with="type=${@dict.getType('serviceType')}" class="form-control m-b">
  33 + <select name="lineType" th:with="type=${@dict.getType('lineType')}" class="form-control m-b">
39 34 <option value=""></option>
40 35 <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))}">
  36 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.lineType== null ? '' : bsthTLine.lineType),#strings.toString(dict.dictValue))}">
42 37 </option>
43 38 </select>
44 39 </div>
45   - <!---------------------------------->
46   - <label class="col-sm-1 control-label">线路属性:</label>
  40 + </div>
  41 + <!---------------------------------->
  42 + <div class="form-group">
  43 + <label class="col-sm-1 control-label" name="lineLevel">线路属性:</label>
47 44 <div class="col-sm-2">
48 45 <select name="lineLevel" th:with="type=${@dict.getType('lineLevel')}" class="form-control m-b">
49 46 <option value=""></option>
... ... @@ -53,38 +50,38 @@
53 50 </select>
54 51 </div>
55 52 <!---------------------------------->
56   - <label class="col-sm-1 control-label">线路类型:</label>
  53 + <label class="col-sm-1 control-label" name="serviceType">营运方式:</label>
57 54 <div class="col-sm-2">
58   - <select name="lineType" th:with="type=${@dict.getType('lineType')}" class="form-control m-b">
  55 + <select name="serviceType" th:with="type=${@dict.getType('serviceType')}" class="form-control m-b">
59 56 <option value=""></option>
60 57 <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))}">
  58 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.serviceType== null ? '' : bsthTLine.serviceType),#strings.toString(dict.dictValue))}">
62 59 </option>
63 60 </select>
64 61 </div>
65 62 <!---------------------------------->
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="" >
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>
  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>
73 70 </select>
74 71 </div>
75   - </div>
76   -
77   - <div class="form-group">
78   - <label class="col-sm-1 control-label">区属:</label>
  72 + <!---------------------------------->
  73 + <label class="col-sm-1 control-label" name="district">区属:</label>
79 74 <div class="col-sm-2">
80   - <select name="district" th:with="type=${@dict.getType('district')}" class="form-control m-b">
81   - <option value=""></option>
  75 + <select name="district" th:with="type=${@dict.getType('district')}" class="selectpicker form-control"
  76 + multiple title="">
82 77 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
83 78 th:selected="${#arrays.contains(#strings.toString(bsthTLine.district== null ? '' : bsthTLine.district),#strings.toString(dict.dictValue))}"></option>
84 79 </select>
85 80 </div>
86   - <!---------------------------------->
87   - <label class="col-sm-1 control-label">是否区内:</label>
  81 + </div>
  82 + <!---------------------------------->
  83 + <div class="form-group">
  84 + <label class="col-sm-1 control-label" name="inoutDistrict">是否区内:</label>
88 85 <div class="col-sm-2">
89 86 <select name="inoutDistrict" th:with="type=${@dict.getType('trueFalse')}" class="form-control m-b">
90 87 <option value=""></option>
... ... @@ -93,121 +90,139 @@
93 90 </select>
94 91 </div>
95 92 <!---------------------------------->
96   - <label class="col-sm-1 control-label">车辆类型:</label>
97   - <div class="col-sm-2" th:with="type=${@dict.getType('busType')}">
  93 + <label class="col-sm-1 control-label" name="roadType">道路类型:</label>
  94 + <div class="col-sm-2">
98 95 <!--data-max-options="2" 限制多选数量-->
99   - <select name="busType" th:with="type=${@dict.getType('busType')}" class="selectpicker form-control" multiple title="" >
100   - <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))}">
  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))}">
102 100 </option>
103 101 </select>
104 102 </div>
105 103 <!---------------------------------->
106   - <label class="col-sm-1 control-label">是否空调:</label>
  104 + <label class="col-sm-1 control-label" name="serviceTime">运营时间:</label>
107 105 <div class="col-sm-2">
108   - <select name="airConditionerType" th:with="type=${@dict.getType('airConditionerType')}" class="form-control m-b">
  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">
109 117 <option value=""></option>
110 118 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
111 119 th:selected="${#arrays.contains(#strings.toString(bsthTLine.airConditionerType == null ? '' : bsthTLine.airConditionerType ),#strings.toString(dict.dictValue))}"></option>
112 120 </select>
113 121 </div>
114 122 </div>
115   -
  123 + <!---------------------------------->
116 124 <div class="form-group">
117   - <label class="col-sm-1 control-label">售票类型:</label>
  125 + <label class="col-sm-1 control-label" name="sellTicketType">售票类型:</label>
118 126 <div class="col-sm-2">
119   - <select name="sellTicketType" th:with="type=${@dict.getType('sellTicketType')}" class="form-control m-b">
  127 + <select name="sellTicketType" th:with="type=${@dict.getType('sellTicketType')}"
  128 + class="form-control m-b">
120 129 <option value=""></option>
121 130 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
122 131 th:selected="${#arrays.contains(#strings.toString(bsthTLine.sellTicketType == null ? '' : bsthTLine.sellTicketType),#strings.toString(dict.dictValue))}"></option>
123 132 </select>
124 133 </div>
125 134 <!---------------------------------->
126   - <label class="col-sm-1 control-label">票价:</label>
127   - <div class="col-sm-2" th:with="type=${@dict.getType('ticketPrice')}">
  135 + <label class="col-sm-1 control-label" name="ticketPrice">票价:</label>
  136 + <div class="col-sm-2">
128 137 <!--data-max-options="2" 限制多选数量-->
129   - <select name="ticketPrice" th:with="type=${@dict.getType('ticketPrice')}" class="selectpicker form-control" multiple title="" >
130   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
  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}"
131 141 th:selected="${#arrays.contains(#strings.toString(bsthTLine.ticketPrice== null ? '' : bsthTLine.ticketPrice),#strings.toString(dict.dictValue))}">
132 142 </option>
133 143 </select>
134 144 </div>
135 145 <!---------------------------------->
136   - <label class="col-sm-1 control-label">运营时间:</label>
  146 + <label class="col-sm-1 control-label" name="halfwayStation">站点名称:</label>
137 147 <div class="col-sm-2">
138   - <select name="serviceTime" th:with="type=${@dict.getType('serviceTime')}" class="form-control m-b">
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>
  148 + <textarea name="halfwayStation" class="form-control">[[*{halfwayStation}]]</textarea>
143 149 </div>
144 150 <!---------------------------------->
145   -<!-- <label class="col-sm-1 control-label">线路编码:</label>-->
146   -<!-- <div class="col-sm-2">-->
147   -<!-- <input name="lineCode" th:field="*{lineCode}" class="form-control" type="text">-->
148   -<!-- </div>-->
  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>
149 155 </div>
150   -
  156 + <!---------------------------------->
151 157 <div class="form-group">
152   - <label class="col-sm-1 control-label">线路长度:</label>
  158 + <label class="col-sm-1 control-label" name="stationUp">站级数(上行):</label>
153 159 <div class="col-sm-2">
154   - <input name="lineDistance" th:field="*{lineDistance}" class="form-control" type="text">
  160 + <input name="stationUp" th:field="*{stationUp}" class="form-control" type="text">
155 161 </div>
156 162 <!---------------------------------->
157   - <label class="col-sm-1 control-label">首站:</label>
  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>
158 169 <div class="col-sm-2">
159 170 <input name="firstStation" th:field="*{firstStation}" class="form-control" type="text">
160 171 </div>
161 172 <!---------------------------------->
162   - <label class="col-sm-1 control-label">末站:</label>
  173 + <label class="col-sm-1 control-label" name="lastStation">末站:</label>
163 174 <div class="col-sm-2">
164 175 <input name="lastStation" th:field="*{lastStation}" class="form-control" type="text">
165 176 </div>
166 177 </div>
167   -
  178 + <!---------------------------------->
168 179 <div class="form-group">
169   - <label class="col-sm-1 control-label">站点名称:</label>
  180 + <label class="col-sm-1 control-label" name="firstTime">起点站首末班:</label>
170 181 <div class="col-sm-2">
171   - <textarea name="halfwayStation" class="form-control">[[*{halfwayStation}]]</textarea>
  182 + <input name="firstTime" th:field="*{firstTime}" class="form-control" type="text">
172 183 </div>
173 184 <!---------------------------------->
174   - <label class="col-sm-1 control-label">线路走向:</label>
  185 + <label class="col-sm-1 control-label" name="lastTime">终点站首末班:</label>
175 186 <div class="col-sm-2">
176   - <textarea name="directions" class="form-control">[[*{directions}]]</textarea>
  187 + <input name="lastTime" th:field="*{lastTime}" class="form-control" type="text">
177 188 </div>
178 189 <!---------------------------------->
179   - <label class="col-sm-1 control-label">起点站首末班:</label>
  190 + <label class="col-sm-1 control-label" name="mileageUp">上行里程数:</label>
180 191 <div class="col-sm-2">
181   - <input name="firstTime" th:field="*{firstTime}" class="form-control" type="text">
  192 + <input name="mileageUp" th:field="*{mileageUp}" class="form-control" type="text">
182 193 </div>
183 194 <!---------------------------------->
184   - <label class="col-sm-1 control-label">终点站首末班:</label>
  195 + <label class="col-sm-1 control-label" name="mileageDown">下行里程数:</label>
185 196 <div class="col-sm-2">
186   - <input name="lastTime" th:field="*{lastTime}" class="form-control" type="text">
  197 + <input name="mileageDown" th:field="*{mileageDown}" class="form-control" type="text">
187 198 </div>
188 199 </div>
189   -
  200 + <!---------------------------------->
190 201 <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">-->
194   -<!-- </div>-->
  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>
195 206 <!---------------------------------->
196   - <label class="col-sm-1 control-label">授权年限:</label>
  207 + <label class="col-sm-1 control-label" name="isWarrant">是否权证:</label>
197 208 <div class="col-sm-2">
198   - <input name="warrantYear" th:field="*{warrantYear}" class="form-control" type="text">
  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>
199 214 </div>
200 215 <!---------------------------------->
201   - <label class="col-sm-1 control-label">授权起始日期:</label>
  216 + <label class="col-sm-1 control-label" name="warrantStartTime">授权起始日期:</label>
202 217 <div class="col-sm-2">
203 218 <div class="input-group date">
204 219 <input name="warrantStartTime" th:value="${#dates.format(bsthTLine.warrantStartTime, 'yyyy-MM-dd')}"
205   - class="form-control" placeholder="yyyy-MM-dd" type="text" autocomplete="off">
  220 + class="form-control" placeholder="yyyy-MM-dd" type="text" autocomplete="off">
206 221 <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
207 222 </div>
208 223 </div>
209 224 <!---------------------------------->
210   - <label class="col-sm-1 control-label">授权结束日期:</label>
  225 + <label class="col-sm-1 control-label" name="warrantEndTime">授权结束日期:</label>
211 226 <div class="col-sm-2">
212 227 <div class="input-group date">
213 228 <input name="warrantEndTime" th:value="${#dates.format(bsthTLine.warrantEndTime, 'yyyy-MM-dd')}"
... ... @@ -216,27 +231,14 @@
216 231 </div>
217 232 </div>
218 233 </div>
219   -
  234 + <!---------------------------------->
220 235 <div class="form-group">
221   - <label class="col-sm-1 control-label">线路暂停日期:</label>
222   - <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">
226   - <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
227   - </div>
228   - </div>
229   - <!---------------------------------->
230   - <label class="col-sm-1 control-label">实际撤销日期:</label>
  236 + <label class="col-sm-1 control-label" name="warrantYear">授权年限:</label>
231 237 <div class="col-sm-2">
232   - <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">
235   - <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
236   - </div>
  238 + <input name="warrantYear" th:field="*{warrantYear}" class="form-control" type="text">
237 239 </div>
238 240 <!---------------------------------->
239   - <label class="col-sm-1 control-label">行车作业计划报备时间:</label>
  241 + <label class="col-sm-1 control-label" name="timeSchedule">行车作业计划报备时间:</label>
240 242 <div class="col-sm-2">
241 243 <div class="input-group date">
242 244 <input name="timeSchedule"
... ... @@ -246,212 +248,201 @@
246 248 class="fa fa-calendar"></i></span>
247 249 </div>
248 250 </div>
249   - </div>
250   -
251   - <div class="form-group">
252   - <label class="col-sm-1 control-label">是否权证:</label>
253   - <div class="col-sm-2">
254   - <select name="isWarrant" id="isWarrant" th:with="type=${@dict.getType('trueFalse')}" class="form-control m-b">
255   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
256   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.isWarrant== null ? '' : bsthTLine.isWarrant),#strings.toString(dict.dictValue))}"></option>
257   - </select>
258   - </div>
259 251 <!---------------------------------->
260   - <label class="col-sm-1 control-label">经营权证(大):</label>
  252 + <label class="col-sm-1 control-label" name="warrantVehiclesLarge">经营权证(大):</label>
261 253 <div class="col-sm-2">
262 254 <input name="warrantVehiclesLarge" th:field="*{warrantVehiclesLarge}" class="form-control" type="text">
263 255 </div>
264   - </div>
265   -
266   - <div class="form-group">
267   - <label class="col-sm-1 control-label">经营权证(中):</label>
268   - <div class="col-sm-2">
269   - <input name="warrantVehiclesMiddle" th:field="*{warrantVehiclesMiddle}" class="form-control" type="text">
270   - </div>
271 256 <!---------------------------------->
272   - <label class="col-sm-1 control-label">实际配车数:</label>
  257 + <label class="col-sm-1 control-label" name="warrantVehiclesMiddle">经营权证(中):</label>
273 258 <div class="col-sm-2">
274   - <input name="vehiclesNumber" th:field="*{vehiclesNumber}" class="form-control" type="text">
  259 + <input name="warrantVehiclesMiddle" th:field="*{warrantVehiclesMiddle}" class="form-control"
  260 + type="text">
275 261 </div>
276   - <!---------------------------------->
277   - <label class="col-sm-1 control-label">实际车辆数(大):</label>
  262 +
  263 + </div>
  264 + <!---------------------------------->
  265 + <div class="form-group">
  266 + <label class="col-sm-1 control-label" name="isMetro">是否轨交末班车衔接:</label>
278 267 <div class="col-sm-2">
279   - <input name="numberVehiclesLarge" th:field="*{numberVehiclesLarge}" class="form-control" type="text">
  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>
280 273 </div>
281 274 <!---------------------------------->
282   - <label class="col-sm-1 control-label">实际车辆数(中):</label>
  275 + <label class="col-sm-1 control-label" name="metroTime">轨交时间:</label>
283 276 <div class="col-sm-2">
284   - <input name="numberVehiclesMiddle" th:field="*{numberVehiclesMiddle}" class="form-control" type="text">
285   - </div>
286   - </div>
287   -
288   - <div class="form-group">
289   - <label class="col-sm-1 control-label">上行里程数:</label>
290   - <div class="col-sm-2">
291   - <input name="mileageUp" th:field="*{mileageUp}" class="form-control" type="text">
  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>
292 281 </div>
293 282 <!---------------------------------->
294   - <label class="col-sm-1 control-label">下行里程数:</label>
  283 + <label class="col-sm-1 control-label" name="coldBonusType">冷僻线路补贴类型:</label>
295 284 <div class="col-sm-2">
296   - <input name="mileageDown" th:field="*{mileageDown}" class="form-control" type="text">
  285 + <select name="coldBonusType" th:with="type=${@dict.getType('coldBonusType')}" class="form-control m-b">
  286 + <option value=""></option>
  287 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
  288 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.coldBonusType== null ? '' : bsthTLine.coldBonusType),#strings.toString(dict.dictValue))}"></option>
  289 + </select>
297 290 </div>
298 291 <!---------------------------------->
299   - <label class="col-sm-1 control-label">站级数(上行):</label>
  292 + <label class="col-sm-1 control-label" name="serviceState">营运状态:</label>
300 293 <div class="col-sm-2">
301   - <input name="stationUp" th:field="*{stationUp}" class="form-control" type="text">
  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>
302 299 </div>
303 300 </div>
304   -
  301 + <!---------------------------------->
305 302 <div class="form-group">
306   - <label class="col-sm-1 control-label">站级数(下行):</label>
  303 + <label class="col-sm-1 control-label" name="planCancelTime">线路暂停日期:</label>
307 304 <div class="col-sm-2">
308   - <input name="stationDown" th:field="*{stationDown}" class="form-control" type="text">
  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>
309 310 </div>
310 311 <!---------------------------------->
311   - <label class="col-sm-1 control-label">行驶时间(上行):</label>
  312 + <label class="col-sm-1 control-label" name="cancelTime">实际撤销日期:</label>
312 313 <div class="col-sm-2">
313   - <input name="travelTimeUp" th:field="*{travelTimeUp}" class="form-control" type="text">
  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>
314 319 </div>
315 320 <!---------------------------------->
316   - <label class="col-sm-1 control-label">行驶时间(下行):</label>
  321 + <label class="col-sm-1 control-label" name="lineUpdateType">性质:</label>
317 322 <div class="col-sm-2">
318   - <input name="travelTimeDown" th:field="*{travelTimeDown}" class="form-control" type="text">
  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>
  329 + ></option>
  330 + </select>
319 331 </div>
320 332 <!---------------------------------->
321   - <label class="col-sm-1 control-label">行驶间隔(高峰):</label>
  333 + <label class="col-sm-1 control-label" name="remark">备注:</label>
322 334 <div class="col-sm-2">
323   - <input name="travelIntervalUp" th:field="*{travelIntervalUp}" class="form-control" type="text">
  335 + <textarea name="remark" class="form-control">[[*{remark}]]</textarea>
324 336 </div>
325 337 </div>
326   -
  338 + <!---------------------------------->
327 339 <div class="form-group">
328   - <label class="col-sm-1 control-label">行驶间隔(低谷):</label>
329   - <div class="col-sm-2">
330   - <input name="travelIntervalDown" th:field="*{travelIntervalDown}" class="form-control" type="text">
331   - </div>
332   - <!---------------------------------->
333   - <label class="col-sm-1 control-label">间隔等级:</label>
334   - <div class="col-sm-2">
335   - <input name="divideLevel" th:field="*{divideLevel}" class="form-control" type="text">
  340 + <div class="form-group">
  341 + <label class="col-sm-1 control-label" name="files">附件:</label>
  342 + <div class="col-sm-5">
  343 + <div th:each="path: ${#strings.arraySplit(bsthTLine.files,',')}">
  344 + <input name="files" type="hidden" th:value="${path}">
  345 + <a th:href="${#strings.replace(path,#strings.arraySplit(path,':')[0]+':','')}"
  346 + th:text="${#strings.arraySplit(path,':')[0]}">
  347 + </a>
  348 + <button onclick="deleteFile(this);">删除</button>
  349 + </div>
  350 + <div class="file-loading" id="uploadDiv">
  351 + <input id="fileinput" type="file" multiple>
  352 + </div>
  353 + </div>
336 354 </div>
337 355 </div>
338   -
  356 + <!---------------------------------->
  357 + <div class="hr-line-dashed"></div>
  358 + <h3>调度</h3>
  359 + <!---------------------------------->
339 360 <div class="form-group">
340   - <label class="col-sm-1 control-label">车辆自编号:</label>
  361 + <label class="col-sm-1 control-label" name="carPlate">车辆自编号:</label>
341 362 <div class="col-sm-2">
342   - <input name="carPlate" th:field="*{carPlate}" class="form-control" type="text">
  363 + <select name="carPlate" id="carPlate" th:with="type=${@dict.getType('carPlate')}" class="selectpicker form-control" multiple title="" onchange="getBusType()">
  364 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}"
  365 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.carPlate== null ? '' : bsthTLine.carPlate),#strings.toString(dict.dictLabel))}"></option>
  366 + </select>
343 367 </div>
  368 + <input type="hidden" name="busType" id="busType" th:value="*{busType}">
344 369 <!---------------------------------->
345   - <label class="col-sm-1 control-label">线路配档数:</label>
  370 + <label class="col-sm-1 control-label" name="hasTimelists">是否挂牌:</label>
346 371 <div class="col-sm-2">
347   - <input name="numberPerson" th:field="*{numberPerson}" class="form-control" type="text">
  372 + <select name="hasTimelists"
  373 + th:with="type=${@dict.getType('trueFalse')}"
  374 + class="form-control m-b">
  375 + <option value=""></option>
  376 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}"
  377 + th:value="${dict.dictValue}"
  378 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.hasTimelists== null ? '' : bsthTLine.hasTimelists),#strings.toString(dict.dictValue))}"></option>
  379 + </select>
348 380 </div>
349 381 <!---------------------------------->
350   - <label class="col-sm-1 control-label">司机人数:</label>
  382 + <label class="col-sm-1 control-label" name="travelTimeUp">行驶时间(上行):</label>
351 383 <div class="col-sm-2">
352   - <input name="numberPersonDriver" th:field="*{numberPersonDriver}" class="form-control" type="text">
  384 + <input name="travelTimeUp" th:field="*{travelTimeUp}" class="form-control" type="text">
353 385 </div>
354 386 <!---------------------------------->
355   - <label class="col-sm-1 control-label">售票员数:</label>
  387 + <label class="col-sm-1 control-label" name="travelTimeDown">行驶时间(下行):</label>
356 388 <div class="col-sm-2">
357   - <input name="numberPersonSales" th:field="*{numberPersonSales}" class="form-control" type="text">
  389 + <input name="travelTimeDown" th:field="*{travelTimeDown}" class="form-control" type="text">
358 390 </div>
359 391 </div>
360   -
  392 + <!---------------------------------->
361 393 <div class="form-group">
362   - <label class="col-sm-1 control-label">新能源车数:</label>
  394 + <label class="col-sm-1 control-label" name="travelIntervalUp">行驶间隔(高峰):</label>
363 395 <div class="col-sm-2">
364   - <input name="busEvNumber" th:field="*{busEvNumber}" class="form-control" type="text">
  396 + <input name="travelIntervalUp" th:field="*{travelIntervalUp}" class="form-control" type="text">
365 397 </div>
366 398 <!---------------------------------->
367   - <label class="col-sm-1 control-label">是否轨交末班车衔接:</label>
  399 + <label class="col-sm-1 control-label" name="travelIntervalDown">行驶间隔(低谷):</label>
368 400 <div class="col-sm-2">
369   - <select name="isMetro" th:with="type=${@dict.getType('trueFalse')}" class="form-control m-b">
370   - <option value=""></option>
371   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
372   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.isMetro== null ? '' : bsthTLine.isMetro),#strings.toString(dict.dictValue))}"></option>
373   - </select>
  401 + <input name="travelIntervalDown" th:field="*{travelIntervalDown}" class="form-control" type="text">
374 402 </div>
375 403 <!---------------------------------->
376   - <label class="col-sm-1 control-label">轨交时间:</label>
  404 + <label class="col-sm-1 control-label" name="divideLevel">间隔等级:</label>
377 405 <div class="col-sm-2">
378   - <div class="input-group date">
379   - <input name="metroTime" class="form-control" placeholder="HH:mm:ss" th:value="*{metroTime}">
380   - <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
381   - </div>
  406 + <input name="divideLevel" th:field="*{divideLevel}" class="form-control" type="text">
382 407 </div>
383 408 <!---------------------------------->
384   - <label class="col-sm-1 control-label">是否挂牌:</label>
  409 + <label class="col-sm-1 control-label" name="vehiclesNumber">实际配车数:</label>
385 410 <div class="col-sm-2">
386   - <select name="hasTimelists"
387   - th:with="type=${@dict.getType('trueFalse')}"
388   - class="form-control m-b">
389   - <option value=""></option>
390   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}"
391   - th:value="${dict.dictValue}"
392   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.hasTimelists== null ? '' : bsthTLine.hasTimelists),#strings.toString(dict.dictValue))}"></option>
393   - </select>
  411 + <input name="vehiclesNumber" th:field="*{vehiclesNumber}" class="form-control" type="text">
394 412 </div>
395 413 </div>
396   -
  414 + <!---------------------------------->
397 415 <div class="form-group">
  416 + <label class="col-sm-1 control-label" name="numberVehiclesLarge">实际车辆数(大):</label>
  417 + <div class="col-sm-2">
  418 + <input name="numberVehiclesLarge" th:field="*{numberVehiclesLarge}" class="form-control" type="text">
  419 + </div>
398 420 <!---------------------------------->
399   - <label class="col-sm-1 control-label">营运状态:</label>
  421 + <label class="col-sm-1 control-label" name="numberVehiclesMiddle">实际车辆数(中):</label>
400 422 <div class="col-sm-2">
401   - <select name="serviceState" th:with="type=${@dict.getType('serviceState')}" class="form-control m-b">
402   - <option value=""></option>
403   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
404   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.serviceState== null ? '' : bsthTLine.serviceState),#strings.toString(dict.dictValue))}"></option>
405   - </select>
  423 + <input name="numberVehiclesMiddle" th:field="*{numberVehiclesMiddle}" class="form-control" type="text">
406 424 </div>
407 425 <!---------------------------------->
408   - <label class="col-sm-1 control-label">冷僻线路补贴类型:</label>
  426 + <label class="col-sm-1 control-label" name="busEvNumber">新能源车数:</label>
409 427 <div class="col-sm-2">
410   - <select name="coldBonusType" th:with="type=${@dict.getType('coldBonusType')}" class="form-control m-b">
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.coldBonusType== null ? '' : bsthTLine.coldBonusType),#strings.toString(dict.dictValue))}"></option>></option>></option>
414   - </select>
  428 + <input name="busEvNumber" th:field="*{busEvNumber}" class="form-control" type="text">
415 429 </div>
416 430 <!---------------------------------->
417   - <label class="col-sm-1 control-label">营收类型:</label>
  431 + <label class="col-sm-1 control-label" name="numberPerson">线路配档数:</label>
418 432 <div class="col-sm-2">
419   - <select name="revenueType" th:with="type=${@dict.getType('revenueType')}" class="form-control m-b">
420   - <option value=""></option>
421   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
422   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.revenueType== null ? '' : bsthTLine.revenueType),#strings.toString(dict.dictValue))}"></option>></option>></option>
423   - </select>
  433 + <input name="numberPerson" th:field="*{numberPerson}" class="form-control" type="text">
424 434 </div>
425 435 </div>
426   -
  436 + <!---------------------------------->
427 437 <div class="form-group">
428   - <label class="col-sm-1 control-label">性质:</label>
  438 + <label class="col-sm-1 control-label" name="numberPersonDriver">司机人数:</label>
429 439 <div class="col-sm-2">
430   - <select name="lineUpdateType" th:with="type=${@dict.getType('lineUpdateType')}" class="form-control m-b" readonly>
431   - <option value="0" selected="selected">新辟</option>
432   - </select>
  440 + <input name="numberPersonDriver" th:field="*{numberPersonDriver}" class="form-control" type="text">
433 441 </div>
434 442 <!---------------------------------->
435   - <label class="col-sm-1 control-label">备注:</label>
  443 + <label class="col-sm-1 control-label" name="numberPersonSales">售票员数:</label>
436 444 <div class="col-sm-2">
437   - <textarea name="remark" class="form-control">[[*{remark}]]</textarea>
438   - </div>
439   - </div>
440   -
441   - <div class="form-group">
442   - <div class="form-group">
443   - <label class="col-sm-1 control-label">附件:</label>
444   - <div class="col-sm-5">
445   - <div th:each="path: ${#strings.arraySplit(bsthTLine.files,',')}" >
446   - <input name="files" type="hidden" th:value="${path}" >
447   - <a th:href="${#strings.replace(path,#strings.arraySplit(path,':')[0]+':','')}" th:text="${#strings.arraySplit(path,':')[0]}">
448   - </a>
449   - <button onclick="deleteFile(this);">删除</button>
450   - </div>
451   - <div class="file-loading" id="uploadDiv">
452   - <input id="fileinput" type="file" multiple>
453   - </div>
454   - </div>
  445 + <input name="numberPersonSales" th:field="*{numberPersonSales}" class="form-control" type="text">
455 446 </div>
456 447 </div>
457 448 </form>
... ... @@ -460,12 +451,104 @@
460 451 <th:block th:include="include :: datetimepicker-js" />
461 452 <th:block th:include="include :: bootstrap-fileinput-js" />
462 453 <th:block th:include="include :: bootstrap-select-js" />
  454 + <th:block th:include="include :: select2-js"/>
463 455 <script th:inline="javascript">
464 456 var prefix = ctx + "system/lineAdd";
465 457 function deleteFile(obj){
466 458 $(obj).parent().remove();
467 459 }
468   -
  460 +
  461 + //公司分公司联动
  462 + var companyList = [[${companyList}]];
  463 + var companies = new Array();
  464 + var fCompanies = new Array();
  465 + var bsthTLine = [[${bsthTLine}]];
  466 + $(function () {
  467 + for (let i in companyList) {
  468 + companies[i] = companyList[i].company;
  469 + fCompanies[i] = companyList[i].fCompany;
  470 + }
  471 + companies = Array.from(new Set(companies));
  472 + companySelect();
  473 + fCompanySelect();
  474 + $('#company').on('change.select2', function (e) {
  475 + fCompanySelect()
  476 + });
  477 + //初始选中
  478 + $("#company").val(bsthTLine.company).trigger("change");
  479 + $("#fCompany").val(bsthTLine.fCompany).trigger("change");
  480 +
  481 + // 获取 div 标签下的所有子节点
  482 + /* var pObjs = document.getElementById('lw').getElementsByTagName("*")
  483 + for (var i = 0 ; i <pObjs.length; i++) { // 一定要倒序,正序是删不干净的,可自行尝试
  484 + pObjs[i].setAttribute("disabled",true);
  485 + }
  486 + var pObjs = document.getElementById('dd').getElementsByTagName("*")
  487 + for (var i = 0 ; i <pObjs.length; i++) { // 一定要倒序,正序是删不干净的,可自行尝试
  488 + pObjs[i].setAttribute("disabled",true);
  489 + }*/
  490 + });
  491 +
  492 + function companySelect() {
  493 +
  494 + var arr = new Array();
  495 + var company = new Object();
  496 + company.id = '';
  497 + company.text = '';
  498 + company.value = '';
  499 + arr.push(company)
  500 + for (var i = 0; i < companies.length; i++) {
  501 + company = new Object();
  502 + company.id = companies[i];
  503 + company.text = companies[i];
  504 + company.value = companies[i];
  505 + arr.push(company);
  506 + }
  507 + $("#company").select2({
  508 + data: arr,
  509 + placeholder: '请选择',
  510 + allowClear: true
  511 + })
  512 + }
  513 +
  514 + function fCompanySelect() {
  515 + $('#fCompany').empty();
  516 + var company = $('#company').select2('val');
  517 + var arr = new Array();
  518 + var fCompany = new Object();
  519 + fCompany.id = '';
  520 + fCompany.text = '';
  521 + fCompany.value = '';
  522 + arr.push(fCompany)
  523 + if (company == '') {
  524 + for (let i in companyList) {
  525 + var companyName = companyList[i].company;
  526 + var fCompanyName = companyList[i].fCompany;
  527 + fCompany = new Object();
  528 + fCompany.id = fCompanyName;
  529 + fCompany.text = fCompanyName;
  530 + fCompany.value = fCompanyName;
  531 + arr.push(fCompany);
  532 + }
  533 + } else {
  534 + for (let i in companyList) {
  535 + var companyName = companyList[i].company;
  536 + var fCompanyName = companyList[i].fCompany;
  537 + if (companyName == company) {
  538 + fCompany = new Object();
  539 + fCompany.id = fCompanyName;
  540 + fCompany.text = fCompanyName;
  541 + fCompany.value = fCompanyName;
  542 + arr.push(fCompany);
  543 + }
  544 + }
  545 + }
  546 + $("#fCompany").select2({
  547 + data: arr,
  548 + placeholder: '请选择',
  549 + allowClear: true
  550 + });
  551 + }
469 552 $(function() {
470 553  
471 554 $("#fileinput").fileinput({
... ... @@ -567,7 +650,26 @@
567 650 autoclose : true
568 651 });
569 652  
570   -
  653 + var cl=[[${@dict.getType('carPlate')}]]
  654 + function getBusType(){
  655 + var s = new Set();
  656 + var carPlate=$("#carPlate").val();
  657 + for (let o of carPlate) {
  658 + for (let o2 of cl) {
  659 + var dictLabel=o2.dictLabel;
  660 + var dictValue=o2.dictValue;
  661 + if(o==dictLabel){
  662 + s.add(dictValue)
  663 + }
  664 + }
  665 + }
  666 + var str='';
  667 + for (let o of s) {
  668 + str+=(o+',');
  669 + }
  670 + str=str.substr(0,str.length-1);
  671 + $('#busType').val(str);
  672 + }
571 673 </script>
572 674 </body>
573 675 </html>
574 676 \ No newline at end of file
... ...
bsthLineProfiles/src/main/resources/templates/system/lineExamine/detail.html
... ... @@ -263,7 +263,6 @@
263 263 <div class="col-sm-2">
264 264 <input name="warrantVehiclesMiddle" th:field="*{warrantVehiclesMiddle}" class="form-control" type="text">
265 265 </div>
266   -
267 266 </div>
268 267 <!---------------------------------->
269 268 <div class="form-group">
... ... @@ -285,11 +284,14 @@
285 284 </div>
286 285 <!---------------------------------->
287 286 <label class="col-sm-1 control-label"name="coldBonusType">冷僻线路补贴类型:</label>
288   - <select name="coldBonusType" th:with="type=${@dict.getType('coldBonusType')}" class="form-control m-b">
289   - <option value=""></option>
290   - <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
291   - th:selected="${#arrays.contains(#strings.toString(bsthTLine.coldBonusType== null ? '' : bsthTLine.coldBonusType),#strings.toString(dict.dictValue))}"></option>
292   - </select>
  287 + <div class="col-sm-2">
  288 + <select name="coldBonusType" th:with="type=${@dict.getType('coldBonusType')}" class="form-control m-b">
  289 + <option value=""></option>
  290 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
  291 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.coldBonusType== null ? '' : bsthTLine.coldBonusType),#strings.toString(dict.dictValue))}"></option>
  292 + </select>
  293 + </div>
  294 +
293 295 <!---------------------------------->
294 296 <label class="col-sm-1 control-label"name="serviceState">营运状态:</label>
295 297 <div class="col-sm-2">
... ... @@ -360,7 +362,10 @@
360 362 <div class="form-group">
361 363 <label class="col-sm-1 control-label"name="carPlate">车辆自编号:</label>
362 364 <div class="col-sm-2">
363   - <input name="carPlate" th:field="*{carPlate}" class="form-control" type="text">
  365 + <select name="carPlate" id="carPlate" th:with="type=${@dict.getType('carPlate')}" class="selectpicker form-control" multiple title="" >
  366 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}" th:dd="${dict.dictValue}"
  367 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.carPlate== null ? '' : bsthTLine.carPlate),#strings.toString(dict.dictLabel))}"></option>
  368 + </select>
364 369 </div>
365 370 <!---------------------------------->
366 371 <label class="col-sm-1 control-label"name="hasTimelists">是否挂牌:</label>
... ...
bsthLineProfiles/src/main/resources/templates/system/lineHistory/edit.html
... ... @@ -360,8 +360,12 @@
360 360 <div class="form-group">
361 361 <label class="col-sm-1 control-label" name="carPlate">车辆自编号:</label>
362 362 <div class="col-sm-2">
363   - <input name="carPlate" th:field="*{carPlate}" class="form-control" type="text">
  363 + <select name="carPlate" id="carPlate" th:with="type=${@dict.getType('carPlate')}" class="selectpicker form-control" multiple title="" onchange="getBusType()">
  364 + <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}"
  365 + th:selected="${#arrays.contains(#strings.toString(bsthTLine.carPlate== null ? '' : bsthTLine.carPlate),#strings.toString(dict.dictLabel))}"></option>
  366 + </select>
364 367 </div>
  368 + <input type="hidden" name="busType" id="busType" th:value="*{busType}">
365 369 <!---------------------------------->
366 370 <label class="col-sm-1 control-label" name="hasTimelists">是否挂牌:</label>
367 371 <div class="col-sm-2">
... ... @@ -577,14 +581,11 @@
577 581 console.log(bsthTLineOld)
578 582  
579 583 var bsthTLineNew = data[1];
580   - console.log(bsthTLineNew)
581 584 if (bsthTLineNew != null) {
582 585 for (let i in bsthTLineOld) {
583 586 var o = bsthTLineOld[i] == null ? '' : bsthTLineOld[i];
584 587 var n = bsthTLineNew[i] == null ? '' : bsthTLineNew[i];
585 588 if (o != n) {
586   - console.log(o)
587   - console.log(n)
588 589 i = i == 'fcompany' ? 'fCompany' : i;
589 590 i = i == 'plineId' ? 'pLineId' : i;
590 591 var input = document.getElementsByName(i)[0];
... ... @@ -659,6 +660,26 @@
659 660 autoclose: true
660 661 });
661 662  
  663 + var cl=[[${@dict.getType('carPlate')}]]
  664 + function getBusType(){
  665 + var s = new Set();
  666 + var carPlate=$("#carPlate").val();
  667 + for (let o of carPlate) {
  668 + for (let o2 of cl) {
  669 + var dictLabel=o2.dictLabel;
  670 + var dictValue=o2.dictValue;
  671 + if(o==dictLabel){
  672 + s.add(dictValue)
  673 + }
  674 + }
  675 + }
  676 + var str='';
  677 + for (let o of s) {
  678 + str+=(o+',');
  679 + }
  680 + str=str.substr(0,str.length-1);
  681 + $('#busType').val(str);
  682 + }
662 683 </script>
663 684 </body>
664 685 </html>
665 686 \ No newline at end of file
... ...