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,6 +315,10 @@
315 <artifactId>poi-ooxml</artifactId> 315 <artifactId>poi-ooxml</artifactId>
316 <version>4.1.2</version> 316 <version>4.1.2</version>
317 </dependency> 317 </dependency>
  318 + <dependency>
  319 + <groupId>org.springframework.kafka</groupId>
  320 + <artifactId>spring-kafka</artifactId>
  321 + </dependency>
318 </dependencies> 322 </dependencies>
319 323
320 <build> 324 <build>
bsthLineProfiles/src/main/java/com/ruoyi/framework/config/ShiroConfig.java
@@ -261,7 +261,8 @@ public class ShiroConfig @@ -261,7 +261,8 @@ public class ShiroConfig
261 filterChainDefinitionMap.put("/register", "anon,captchaValidate"); 261 filterChainDefinitionMap.put("/register", "anon,captchaValidate");
262 // 系统权限列表 262 // 系统权限列表
263 // filterChainDefinitionMap.putAll(SpringUtils.getBean(IMenuService.class).selectPermsAll()); 263 // filterChainDefinitionMap.putAll(SpringUtils.getBean(IMenuService.class).selectPermsAll());
264 - 264 + //线路全量数据接口
  265 + filterChainDefinitionMap.put("/system/line/getLineList", "anon,captchaValidate");
265 Map<String, Filter> filters = new LinkedHashMap<String, Filter>(); 266 Map<String, Filter> filters = new LinkedHashMap<String, Filter>();
266 filters.put("onlineSession", onlineSessionFilter()); 267 filters.put("onlineSession", onlineSessionFilter());
267 filters.put("syncOnlineSession", syncOnlineSessionFilter()); 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,6 +10,7 @@ import com.ruoyi.framework.web.page.TableDataInfo;
10 import com.ruoyi.project.system.dict.domain.DictData; 10 import com.ruoyi.project.system.dict.domain.DictData;
11 import com.ruoyi.project.system.dict.service.IDictDataService; 11 import com.ruoyi.project.system.dict.service.IDictDataService;
12 import com.ruoyi.project.system.line.domain.BsthTLine; 12 import com.ruoyi.project.system.line.domain.BsthTLine;
  13 +import com.ruoyi.project.system.line.domain.BsthTLineKFK;
13 import com.ruoyi.project.system.line.service.IBsthTLineService; 14 import com.ruoyi.project.system.line.service.IBsthTLineService;
14 import com.ruoyi.project.system.user.domain.User; 15 import com.ruoyi.project.system.user.domain.User;
15 import com.ruoyi.project.system.user.service.IUserService; 16 import com.ruoyi.project.system.user.service.IUserService;
@@ -293,97 +294,21 @@ public class BsthTLineController extends BaseController @@ -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 @ResponseBody 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,6 +83,8 @@ public class BsthTLineExamineController extends BaseController
83 { 83 {
84 BsthTLine bsthTLine = bsthTLineService.selectBsthTLineExamineById(id); 84 BsthTLine bsthTLine = bsthTLineService.selectBsthTLineExamineById(id);
85 mmap.put("bsthTLine", bsthTLine); 85 mmap.put("bsthTLine", bsthTLine);
  86 + List<Map> companyList=bsthTLineService.selectCompany();
  87 + mmap.put("companyList",companyList);
86 return prefix + "/detail"; 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,21 +116,13 @@ public class BsthTLineHistoryController extends BaseController
116 BsthTLine bl=new BsthTLine(); 116 BsthTLine bl=new BsthTLine();
117 bl.setLineName(bsthTLine.getLineName()); 117 bl.setLineName(bsthTLine.getLineName());
118 BsthTLine bsthTLineExamine=bsthTLineService.selectBsthTLineExamineByLineName(bl); 118 BsthTLine bsthTLineExamine=bsthTLineService.selectBsthTLineExamineByLineName(bl);
119 - if(bsthTLineExamine!=null){//有没审核的直接覆盖 119 + if(bsthTLineExamine!=null){//存在申请直接覆盖
120 bsthTLine.setId(bsthTLineExamine.getId()); 120 bsthTLine.setId(bsthTLineExamine.getId());
121 ajaxResult= toAjax(bsthTLineService.updateBsthTLineExamine(bsthTLine)); 121 ajaxResult= toAjax(bsthTLineService.updateBsthTLineExamine(bsthTLine));
122 }else {//没有新增 122 }else {//没有新增
123 bsthTLine.setExamineType("1"); 123 bsthTLine.setExamineType("1");
124 ajaxResult= toAjax(bsthTLineService.insertBsthTLineExamine(bsthTLine)); 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 return ajaxResult; 126 return ajaxResult;
135 } 127 }
136 128
@@ -158,134 +150,4 @@ public class BsthTLineHistoryController extends BaseController @@ -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,12 +195,12 @@ public class BsthTLine extends BaseEntity
195 @Excel(name = "行驶间隔(低谷)") 195 @Excel(name = "行驶间隔(低谷)")
196 private String travelIntervalDown; 196 private String travelIntervalDown;
197 197
198 - /** 经营权证(大巴) */  
199 - @Excel(name = "经营权证(大巴)") 198 + /** 经营权证(大) */
  199 + @Excel(name = "经营权证(大)")
200 private Long warrantVehiclesLarge; 200 private Long warrantVehiclesLarge;
201 201
202 - /** 经营权证(中巴) */  
203 - @Excel(name = "经营权证(中巴)") 202 + /** 经营权证(中) */
  203 + @Excel(name = "经营权证(中)")
204 private Long warrantVehiclesMiddle; 204 private Long warrantVehiclesMiddle;
205 205
206 /** 实际配车数 */ 206 /** 实际配车数 */
@@ -208,11 +208,11 @@ public class BsthTLine extends BaseEntity @@ -208,11 +208,11 @@ public class BsthTLine extends BaseEntity
208 private Long vehiclesNumber; 208 private Long vehiclesNumber;
209 209
210 /** 实际车辆数(大) */ 210 /** 实际车辆数(大) */
211 - @Excel(name = "实际车辆数(大)") 211 + @Excel(name = "实际车辆数(大)")
212 private Long numberVehiclesLarge; 212 private Long numberVehiclesLarge;
213 213
214 /** 实际车辆数(中) */ 214 /** 实际车辆数(中) */
215 - @Excel(name = "实际车辆数(中)") 215 + @Excel(name = "实际车辆数(中)")
216 private Long numberVehiclesMiddle; 216 private Long numberVehiclesMiddle;
217 217
218 /** 车辆自编号(无) */ 218 /** 车辆自编号(无) */
@@ -285,160 +285,143 @@ public class BsthTLine extends BaseEntity @@ -285,160 +285,143 @@ public class BsthTLine extends BaseEntity
285 private String createTimeEnd; 285 private String createTimeEnd;
286 286
287 private Long historyId; 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 return id; 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 return eventId; 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 return lineId; 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 return lineName; 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 return company; 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 return fCompany; 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 return pLineId; 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 return serviceType; 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 return lineLevel; 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 return lineType; 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 return district; 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 return inoutDistrict; 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 return serviceState; 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 return busType; 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 return airConditionerType; 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 return sellTicketType; 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 return serviceTime; 418 return serviceTime;
440 } 419 }
441 420
  421 + public void setServiceTime(String serviceTime) {
  422 + this.serviceTime = serviceTime;
  423 + }
  424 +
442 public String getLineDistance() { 425 public String getLineDistance() {
443 return lineDistance; 426 return lineDistance;
444 } 427 }
@@ -447,421 +430,384 @@ public class BsthTLine extends BaseEntity @@ -447,421 +430,384 @@ public class BsthTLine extends BaseEntity
447 this.lineDistance = lineDistance; 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 this.lineCode = lineCode; 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 this.warrantYear = warrantYear; 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 this.warrantStartTime = warrantStartTime; 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 this.warrantEndTime = warrantEndTime; 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 this.planCancelTime = planCancelTime; 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 this.cancelTime = cancelTime; 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 return timeSchedule; 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 return park; 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 return isWarrant; 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 return roadType; 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 return ticketPrice; 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 return firstStation; 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 return firstTime; 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 return lastStation; 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 return lastTime; 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 return mileageUp; 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 return mileageDown; 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 return stationUp; 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 return stationDown; 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 return travelTimeUp; 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 return travelTimeDown; 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 return travelIntervalUp; 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 return travelIntervalDown; 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 return warrantVehiclesLarge; 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 return warrantVehiclesMiddle; 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 return vehiclesNumber; 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 return numberVehiclesLarge; 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 return numberVehiclesMiddle; 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 return carPlate; 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 return numberPerson; 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 return numberPersonDriver; 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 return numberPersonSales; 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 return busEvNumber; 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 return directions; 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 return halfwayStation; 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 return divideLevel; 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 return hasTimelists; 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 return isMetro; 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 return metroTime; 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 return coldBonusType; 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 public String getExamineStatus() { 813 public String getExamineStatus() {
@@ -880,42 +826,6 @@ public class BsthTLine extends BaseEntity @@ -880,42 +826,6 @@ public class BsthTLine extends BaseEntity
880 this.examineType = examineType; 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 public String getRevenueType() { 829 public String getRevenueType() {
920 return revenueType; 830 return revenueType;
921 } 831 }
@@ -947,77 +857,4 @@ public class BsthTLine extends BaseEntity @@ -947,77 +857,4 @@ public class BsthTLine extends BaseEntity
947 public void setHistoryId(Long historyId) { 857 public void setHistoryId(Long historyId) {
948 this.historyId = historyId; 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,7 +4,12 @@ import com.fasterxml.jackson.annotation.JsonFormat;
4 import com.ruoyi.framework.aspectj.lang.annotation.Excel; 4 import com.ruoyi.framework.aspectj.lang.annotation.Excel;
5 import com.ruoyi.framework.web.domain.BaseEntity; 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 import java.util.Date; 10 import java.util.Date;
  11 +import java.util.List;
  12 +import java.util.Map;
8 13
9 /** 14 /**
10 * 【请填写功能名称】对象 bsth_t_line 15 * 【请填写功能名称】对象 bsth_t_line
@@ -12,7 +17,7 @@ import java.util.Date; @@ -12,7 +17,7 @@ import java.util.Date;
12 * @author ruoyi 17 * @author ruoyi
13 * @date 2021-08-17 18 * @date 2021-08-17
14 */ 19 */
15 -public class BsthTLineKFK extends BaseEntity 20 +public class BsthTLineKFK
16 { 21 {
17 /** 线路名称 */ 22 /** 线路名称 */
18 private String lineName; 23 private String lineName;
@@ -109,10 +114,10 @@ public class BsthTLineKFK extends BaseEntity @@ -109,10 +114,10 @@ public class BsthTLineKFK extends BaseEntity
109 @JsonFormat(pattern = "yyyy-MM-dd") 114 @JsonFormat(pattern = "yyyy-MM-dd")
110 private Date timeSchedule; 115 private Date timeSchedule;
111 116
112 - /** 经营权证(大) */ 117 + /** 经营权证(大) */
113 private Long warrantVehiclesLarge; 118 private Long warrantVehiclesLarge;
114 119
115 - /** 经营权证(中) */ 120 + /** 经营权证(中) */
116 private Long warrantVehiclesMiddle; 121 private Long warrantVehiclesMiddle;
117 122
118 /** 实际配车数 */ 123 /** 实际配车数 */
@@ -184,6 +189,39 @@ public class BsthTLineKFK extends BaseEntity @@ -184,6 +189,39 @@ public class BsthTLineKFK extends BaseEntity
184 /** 类型 */ 189 /** 类型 */
185 private String operationType; 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 public String getLineName() { 225 public String getLineName() {
188 return lineName; 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,14 +244,14 @@ public class LineHistoryReport extends BaseEntity
244 @Excel(name = "原行驶间隔(低谷)") 244 @Excel(name = "原行驶间隔(低谷)")
245 private String travelIntervalDownOld; 245 private String travelIntervalDownOld;
246 246
247 - @Excel(name = "经营权证(大)") 247 + @Excel(name = "经营权证(大)")
248 private Long warrantVehiclesLarge; 248 private Long warrantVehiclesLarge;
249 - @Excel(name = "原经营权证(大)") 249 + @Excel(name = "原经营权证(大)")
250 private Long warrantVehiclesLargeOld; 250 private Long warrantVehiclesLargeOld;
251 251
252 - @Excel(name = "经营权证(中)") 252 + @Excel(name = "经营权证(中)")
253 private Long warrantVehiclesMiddle; 253 private Long warrantVehiclesMiddle;
254 - @Excel(name = "原经营权证(中)") 254 + @Excel(name = "原经营权证(中)")
255 private Long warrantVehiclesMiddleOld; 255 private Long warrantVehiclesMiddleOld;
256 256
257 @Excel(name = "实际配车数") 257 @Excel(name = "实际配车数")
@@ -259,14 +259,14 @@ public class LineHistoryReport extends BaseEntity @@ -259,14 +259,14 @@ public class LineHistoryReport extends BaseEntity
259 @Excel(name = "原实际配车数") 259 @Excel(name = "原实际配车数")
260 private Long vehiclesNumberOld; 260 private Long vehiclesNumberOld;
261 261
262 - @Excel(name = "实际车辆数(大)") 262 + @Excel(name = "实际车辆数(大)")
263 private Long numberVehiclesLarge; 263 private Long numberVehiclesLarge;
264 - @Excel(name = "原实际车辆数(大)") 264 + @Excel(name = "原实际车辆数(大)")
265 private Long numberVehiclesLargeOld; 265 private Long numberVehiclesLargeOld;
266 266
267 - @Excel(name = "实际车辆数(中)") 267 + @Excel(name = "实际车辆数(中)")
268 private Long numberVehiclesMiddle; 268 private Long numberVehiclesMiddle;
269 - @Excel(name = "原实际车辆数(中)") 269 + @Excel(name = "原实际车辆数(中)")
270 private Long numberVehiclesMiddleOld; 270 private Long numberVehiclesMiddleOld;
271 271
272 @Excel(name = "车辆自编号") 272 @Excel(name = "车辆自编号")
bsthLineProfiles/src/main/java/com/ruoyi/project/system/line/service/IBsthTLineService.java
@@ -4,6 +4,7 @@ import java.util.List; @@ -4,6 +4,7 @@ import java.util.List;
4 import java.util.Map; 4 import java.util.Map;
5 5
6 import com.ruoyi.project.system.line.domain.BsthTLine; 6 import com.ruoyi.project.system.line.domain.BsthTLine;
  7 +import com.ruoyi.project.system.line.domain.BsthTLineKFK;
7 import com.ruoyi.project.system.line.domain.LineHistoryReport; 8 import com.ruoyi.project.system.line.domain.LineHistoryReport;
8 9
9 /** 10 /**
@@ -68,4 +69,7 @@ public interface IBsthTLineService @@ -68,4 +69,7 @@ public interface IBsthTLineService
68 69
69 List<LineHistoryReport>getLineHistoryReport(BsthTLine bsthTLine); 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 package com.ruoyi.project.system.line.service.impl; 1 package com.ruoyi.project.system.line.service.impl;
2 2
  3 +import java.lang.reflect.Field;
3 import java.util.*; 4 import java.util.*;
4 import java.util.stream.Collectors; 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 import com.ruoyi.project.system.line.domain.LineHistoryReport; 11 import com.ruoyi.project.system.line.domain.LineHistoryReport;
  12 +import org.slf4j.Logger;
  13 +import org.slf4j.LoggerFactory;
7 import org.springframework.beans.factory.annotation.Autowired; 14 import org.springframework.beans.factory.annotation.Autowired;
  15 +import org.springframework.kafka.core.KafkaTemplate;
  16 +import org.springframework.kafka.support.SendResult;
8 import org.springframework.stereotype.Service; 17 import org.springframework.stereotype.Service;
9 import org.springframework.transaction.annotation.Transactional; 18 import org.springframework.transaction.annotation.Transactional;
10 19
@@ -12,6 +21,8 @@ import com.ruoyi.project.system.line.mapper.BsthTLineMapper; @@ -12,6 +21,8 @@ import com.ruoyi.project.system.line.mapper.BsthTLineMapper;
12 import com.ruoyi.project.system.line.domain.BsthTLine; 21 import com.ruoyi.project.system.line.domain.BsthTLine;
13 import com.ruoyi.project.system.line.service.IBsthTLineService; 22 import com.ruoyi.project.system.line.service.IBsthTLineService;
14 import com.ruoyi.common.utils.text.Convert; 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 * 【请填写功能名称】Service业务层处理 28 * 【请填写功能名称】Service业务层处理
@@ -25,6 +36,14 @@ public class BsthTLineServiceImpl implements IBsthTLineService @@ -25,6 +36,14 @@ public class BsthTLineServiceImpl implements IBsthTLineService
25 @Autowired 36 @Autowired
26 private BsthTLineMapper bsthTLineMapper; 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,6 +178,12 @@ public class BsthTLineServiceImpl implements IBsthTLineService
159 i=bsthTLineMapper.insertBsthTLine(bl); 178 i=bsthTLineMapper.insertBsthTLine(bl);
160 //删除审核表 179 //删除审核表
161 bsthTLineMapper.deleteBsthTLineExamineById(new String[]{bsthTLine.getId().toString()}); 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 }else{//未通过 187 }else{//未通过
163 //修改审核表状态 188 //修改审核表状态
164 bl=new BsthTLine(); 189 bl=new BsthTLine();
@@ -196,6 +221,11 @@ public class BsthTLineServiceImpl implements IBsthTLineService @@ -196,6 +221,11 @@ public class BsthTLineServiceImpl implements IBsthTLineService
196 i=bsthTLineMapper.updateBsthTLine(bl); 221 i=bsthTLineMapper.updateBsthTLine(bl);
197 //删除审核表记录 222 //删除审核表记录
198 bsthTLineMapper.deleteBsthTLineExamineById(new String[]{String.valueOf(id)}); 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 }else{//未通过 229 }else{//未通过
200 //修改审核表状态 230 //修改审核表状态
201 bl=new BsthTLine(); 231 bl=new BsthTLine();
@@ -276,4 +306,79 @@ public class BsthTLineServiceImpl implements IBsthTLineService @@ -276,4 +306,79 @@ public class BsthTLineServiceImpl implements IBsthTLineService
276 return bsthTLineMapper.getLineHistoryReport(bsthTLine); 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 package com.ruoyi.project.system.notice.controller; 1 package com.ruoyi.project.system.notice.controller;
2 2
  3 +import java.util.ArrayList;
3 import java.util.List; 4 import java.util.List;
  5 +
  6 +import com.ruoyi.project.system.line.domain.BsthTLineKFK;
4 import org.apache.shiro.authz.annotation.RequiresPermissions; 7 import org.apache.shiro.authz.annotation.RequiresPermissions;
5 import org.springframework.beans.factory.annotation.Autowired; 8 import org.springframework.beans.factory.annotation.Autowired;
6 import org.springframework.stereotype.Controller; 9 import org.springframework.stereotype.Controller;
@@ -106,4 +109,14 @@ public class NoticeController extends BaseController @@ -106,4 +109,14 @@ public class NoticeController extends BaseController
106 { 109 {
107 return toAjax(noticeService.deleteNoticeByIds(ids)); 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,18 +60,18 @@ spring:
60 active: druid 60 active: druid
61 # 文件上传 61 # 文件上传
62 servlet: 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 devtools: 69 devtools:
70 restart: 70 restart:
71 # 热部署开关 71 # 热部署开关
72 enabled: true 72 enabled: true
73 73
74 -# redis 配置 74 + # redis 配置
75 redis: 75 redis:
76 # 地址 76 # 地址
77 host: 127.0.0.1 77 host: 127.0.0.1
@@ -104,12 +104,12 @@ spring: @@ -104,12 +104,12 @@ spring:
104 104
105 # MyBatis 105 # MyBatis
106 mybatis: 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 # PageHelper分页插件 114 # PageHelper分页插件
115 pagehelper: 115 pagehelper:
@@ -177,4 +177,17 @@ gen: @@ -177,4 +177,17 @@ gen:
177 # 自动去除表前缀,默认是true 177 # 自动去除表前缀,默认是true
178 autoRemovePre: true 178 autoRemovePre: true
179 # 表前缀(生成类名不会包含表前缀,多个用逗号分隔) 179 # 表前缀(生成类名不会包含表前缀,多个用逗号分隔)
180 - tablePrefix: sys_  
181 \ No newline at end of file 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,6 +5,7 @@
5 <th:block th:include="include :: datetimepicker-css"/> 5 <th:block th:include="include :: datetimepicker-css"/>
6 <th:block th:include="include :: bootstrap-fileinput-css"/> 6 <th:block th:include="include :: bootstrap-fileinput-css"/>
7 <th:block th:include="include :: bootstrap-select-css"/> 7 <th:block th:include="include :: bootstrap-select-css"/>
  8 + <th:block th:include="include :: select2-css"/>
8 </head> 9 </head>
9 <style> 10 <style>
10 .select-list li { 11 .select-list li {
@@ -121,10 +122,8 @@ @@ -121,10 +122,8 @@
121 <!----------------------------------> 122 <!---------------------------------->
122 <li id="ticketPrice"> 123 <li id="ticketPrice">
123 <label>票价:</label> 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 th:selected="${#arrays.contains(#strings.toString(bsthTLine.ticketPrice== null ? '' : bsthTLine.ticketPrice),#strings.toString(dict.dictValue))}"> 127 th:selected="${#arrays.contains(#strings.toString(bsthTLine.ticketPrice== null ? '' : bsthTLine.ticketPrice),#strings.toString(dict.dictValue))}">
129 </option> 128 </option>
130 </select> 129 </select>
@@ -209,12 +208,12 @@ @@ -209,12 +208,12 @@
209 </li> 208 </li>
210 <!----------------------------------> 209 <!---------------------------------->
211 <li id="warrantVehiclesLarge"> 210 <li id="warrantVehiclesLarge">
212 - <label>经营权证(大):</label><input name="warrantVehiclesLarge" th:field="*{warrantVehiclesLarge}" 211 + <label>经营权证(大):</label><input name="warrantVehiclesLarge" th:field="*{warrantVehiclesLarge}"
213 type="text" disabled> 212 type="text" disabled>
214 </li> 213 </li>
215 <!----------------------------------> 214 <!---------------------------------->
216 <li id="warrantVehiclesMiddle"> 215 <li id="warrantVehiclesMiddle">
217 - <label>经营权证(中):</label><input name="warrantVehiclesMiddle" th:field="*{warrantVehiclesMiddle}" 216 + <label>经营权证(中):</label><input name="warrantVehiclesMiddle" th:field="*{warrantVehiclesMiddle}"
218 type="text" disabled> 217 type="text" disabled>
219 </li> 218 </li>
220 <!----------------------------------> 219 <!---------------------------------->
@@ -223,12 +222,12 @@ @@ -223,12 +222,12 @@
223 </li> 222 </li>
224 <!----------------------------------> 223 <!---------------------------------->
225 <li id="numberVehiclesLarge"> 224 <li id="numberVehiclesLarge">
226 - <label>实际车辆数(大):</label> 225 + <label>实际车辆数(大):</label>
227 <input name="numberVehiclesLarge" th:field="*{numberVehiclesLarge}" type="text" disabled> 226 <input name="numberVehiclesLarge" th:field="*{numberVehiclesLarge}" type="text" disabled>
228 </li> 227 </li>
229 <!----------------------------------> 228 <!---------------------------------->
230 <li id="numberVehiclesMiddle"> 229 <li id="numberVehiclesMiddle">
231 - <label>实际车辆数(中):</label> 230 + <label>实际车辆数(中):</label>
232 <input name="numberVehiclesMiddle" th:field="*{numberVehiclesMiddle}" type="text" disabled> 231 <input name="numberVehiclesMiddle" th:field="*{numberVehiclesMiddle}" type="text" disabled>
233 </li> 232 </li>
234 <!----------------------------------> 233 <!---------------------------------->
@@ -385,6 +384,7 @@ @@ -385,6 +384,7 @@
385 <th:block th:include="include :: datetimepicker-js"/> 384 <th:block th:include="include :: datetimepicker-js"/>
386 <th:block th:include="include :: bootstrap-fileinput-js"/> 385 <th:block th:include="include :: bootstrap-fileinput-js"/>
387 <th:block th:include="include :: bootstrap-select-js"/> 386 <th:block th:include="include :: bootstrap-select-js"/>
  387 +<th:block th:include="include :: select2-js"/>
388 <script th:inline="javascript"> 388 <script th:inline="javascript">
389 var prefix = ctx + "system/line"; 389 var prefix = ctx + "system/line";
390 390
bsthLineProfiles/src/main/resources/templates/system/line/line.html
@@ -154,15 +154,15 @@ @@ -154,15 +154,15 @@
154 <!----------------------------------> 154 <!---------------------------------->
155 <li><label>行驶间隔(低谷):</label> <input type="text" name="travelIntervalDown" /></li> 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 <li><label>实际配车数:</label> <input type="text" name="vehiclesNumber" /></li> 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 <li><label>车辆自编号:</label> <input type="text" name="carPlate" /></li> 167 <li><label>车辆自编号:</label> <input type="text" name="carPlate" /></li>
168 <!----------------------------------> 168 <!---------------------------------->
@@ -527,78 +527,97 @@ @@ -527,78 +527,97 @@
527 { 527 {
528 field: 'company', 528 field: 'company',
529 title: '公司' 529 title: '公司'
530 - },  
531 - { 530 + },{
532 field: 'fCompany', 531 field: 'fCompany',
533 title: '分公司' 532 title: '分公司'
534 - },  
535 - { 533 + },{
536 field: 'lineName', 534 field: 'lineName',
537 title: '线路名称' 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 field: 'lineType', 537 field: 'lineType',
  538 + title: '线路类型'
  539 + },{
  540 + field: 'lineLevel',
553 title: '线路属性' 541 title: '线路属性'
554 - },  
555 - { 542 + },{
  543 + field: 'serviceType',
  544 + title: '营运方式'
  545 + },{
  546 + field: 'revenueType',
  547 + title: '营收类型'
  548 + },{
556 field: 'district', 549 field: 'district',
557 title: '区属' 550 title: '区属'
558 - },  
559 - { 551 + },{
560 field: 'inoutDistrict', 552 field: 'inoutDistrict',
561 title: '是否区内' 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 field: 'airConditionerType', 561 field: 'airConditionerType',
573 title: '是否空调' 562 title: '是否空调'
574 - },  
575 - { 563 + },{
576 field: 'sellTicketType', 564 field: 'sellTicketType',
577 title: '售票类型' 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 field: 'lineDistance', 600 field: 'lineDistance',
585 title: '线路长度' 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 field: 'warrantStartTime', 606 field: 'warrantStartTime',
597 title: '授权起始日期' 607 title: '授权起始日期'
598 - },  
599 - { 608 + },{
600 field: 'warrantEndTime', 609 field: 'warrantEndTime',
601 title: '授权结束日期' 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 field: 'planCancelTime', 623 field: 'planCancelTime',
@@ -623,54 +642,6 @@ @@ -623,54 +642,6 @@
623 { 642 {
624 field: 'timeSchedule', 643 field: 'timeSchedule',
625 title: '实施时间' 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 field: 'travelTimeUp', 646 field: 'travelTimeUp',
676 title: '行驶时间(上行)' 647 title: '行驶时间(上行)'
@@ -685,19 +656,19 @@ @@ -685,19 +656,19 @@
685 title: '行驶间隔(低谷)' 656 title: '行驶间隔(低谷)'
686 },{ 657 },{
687 field: 'warrantVehiclesLarge', 658 field: 'warrantVehiclesLarge',
688 - title: '经营权证(大)' 659 + title: '经营权证(大)'
689 }, { 660 }, {
690 field: 'warrantVehiclesMiddle', 661 field: 'warrantVehiclesMiddle',
691 - title: '经营权证(中)' 662 + title: '经营权证(中)'
692 },{ 663 },{
693 field: 'vehiclesNumber', 664 field: 'vehiclesNumber',
694 title: '实际配车数' 665 title: '实际配车数'
695 }, { 666 }, {
696 field: 'numberVehiclesLarge', 667 field: 'numberVehiclesLarge',
697 - title: '实际车辆数(大)' 668 + title: '实际车辆数(大)'
698 }, { 669 }, {
699 field: 'numberVehiclesMiddle', 670 field: 'numberVehiclesMiddle',
700 - title: '实际车辆数(中)' 671 + title: '实际车辆数(中)'
701 },{ 672 },{
702 field: 'carPlate', 673 field: 'carPlate',
703 title: '车辆自编号' 674 title: '车辆自编号'
@@ -714,12 +685,6 @@ @@ -714,12 +685,6 @@
714 field: 'busEvNumber', 685 field: 'busEvNumber',
715 title: '新能源车数' 686 title: '新能源车数'
716 },{ 687 },{
717 - field: 'directions',  
718 - title: '线路走向'  
719 - },{  
720 - field: 'halfwayStation',  
721 - title: '站点名称'  
722 - },{  
723 field: 'divideLevel', 688 field: 'divideLevel',
724 title: '间隔等级' 689 title: '间隔等级'
725 },{ 690 },{
@@ -735,9 +700,6 @@ @@ -735,9 +700,6 @@
735 field: 'coldBonusType', 700 field: 'coldBonusType',
736 title: '冷僻线路补贴类型' 701 title: '冷僻线路补贴类型'
737 },{ 702 },{
738 - field: 'revenueType',  
739 - title: '营收类型'  
740 - },{  
741 field: 'lineUpdateType', 703 field: 'lineUpdateType',
742 title: '性质' 704 title: '性质'
743 }]; 705 }];
bsthLineProfiles/src/main/resources/templates/system/lineAdd/add.html
@@ -245,12 +245,12 @@ @@ -245,12 +245,12 @@
245 </div> 245 </div>
246 </div> 246 </div>
247 <!----------------------------------> 247 <!---------------------------------->
248 - <label class="col-sm-1 control-label">经营权证(大):</label> 248 + <label class="col-sm-1 control-label">经营权证(大):</label>
249 <div class="col-sm-2"> 249 <div class="col-sm-2">
250 <input name="warrantVehiclesLarge" class="form-control" type="text"> 250 <input name="warrantVehiclesLarge" class="form-control" type="text">
251 </div> 251 </div>
252 <!----------------------------------> 252 <!---------------------------------->
253 - <label class="col-sm-1 control-label">经营权证(中):</label> 253 + <label class="col-sm-1 control-label">经营权证(中):</label>
254 <div class="col-sm-2"> 254 <div class="col-sm-2">
255 <input name="warrantVehiclesMiddle" class="form-control" type="text"> 255 <input name="warrantVehiclesMiddle" class="form-control" type="text">
256 </div> 256 </div>
bsthLineProfiles/src/main/resources/templates/system/lineAdd/edit.html
@@ -257,14 +257,14 @@ @@ -257,14 +257,14 @@
257 </select> 257 </select>
258 </div> 258 </div>
259 <!----------------------------------> 259 <!---------------------------------->
260 - <label class="col-sm-1 control-label">经营权证(大):</label> 260 + <label class="col-sm-1 control-label">经营权证(大):</label>
261 <div class="col-sm-2"> 261 <div class="col-sm-2">
262 <input name="warrantVehiclesLarge" th:field="*{warrantVehiclesLarge}" class="form-control" type="text"> 262 <input name="warrantVehiclesLarge" th:field="*{warrantVehiclesLarge}" class="form-control" type="text">
263 </div> 263 </div>
264 </div> 264 </div>
265 265
266 <div class="form-group"> 266 <div class="form-group">
267 - <label class="col-sm-1 control-label">经营权证(中):</label> 267 + <label class="col-sm-1 control-label">经营权证(中):</label>
268 <div class="col-sm-2"> 268 <div class="col-sm-2">
269 <input name="warrantVehiclesMiddle" th:field="*{warrantVehiclesMiddle}" class="form-control" type="text"> 269 <input name="warrantVehiclesMiddle" th:field="*{warrantVehiclesMiddle}" class="form-control" type="text">
270 </div> 270 </div>
@@ -274,12 +274,12 @@ @@ -274,12 +274,12 @@
274 <input name="vehiclesNumber" th:field="*{vehiclesNumber}" class="form-control" type="text"> 274 <input name="vehiclesNumber" th:field="*{vehiclesNumber}" class="form-control" type="text">
275 </div> 275 </div>
276 <!----------------------------------> 276 <!---------------------------------->
277 - <label class="col-sm-1 control-label">实际车辆数(大):</label> 277 + <label class="col-sm-1 control-label">实际车辆数(大):</label>
278 <div class="col-sm-2"> 278 <div class="col-sm-2">
279 <input name="numberVehiclesLarge" th:field="*{numberVehiclesLarge}" class="form-control" type="text"> 279 <input name="numberVehiclesLarge" th:field="*{numberVehiclesLarge}" class="form-control" type="text">
280 </div> 280 </div>
281 <!----------------------------------> 281 <!---------------------------------->
282 - <label class="col-sm-1 control-label">实际车辆数(中):</label> 282 + <label class="col-sm-1 control-label">实际车辆数(中):</label>
283 <div class="col-sm-2"> 283 <div class="col-sm-2">
284 <input name="numberVehiclesMiddle" th:field="*{numberVehiclesMiddle}" class="form-control" type="text"> 284 <input name="numberVehiclesMiddle" th:field="*{numberVehiclesMiddle}" class="form-control" type="text">
285 </div> 285 </div>
bsthLineProfiles/src/main/resources/templates/system/lineExamine/detail.html
@@ -5,444 +5,438 @@ @@ -5,444 +5,438 @@
5 <th:block th:include="include :: datetimepicker-css" /> 5 <th:block th:include="include :: datetimepicker-css" />
6 <th:block th:include="include :: bootstrap-fileinput-css" /> 6 <th:block th:include="include :: bootstrap-fileinput-css" />
7 <th:block th:include="include :: bootstrap-select-css" /> 7 <th:block th:include="include :: bootstrap-select-css" />
  8 +<th:block th:include="include :: select2-css"/>
8 </head> 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 <body class="white-bg"> 22 <body class="white-bg">
10 <div class="wrapper wrapper-content animated fadeInRight ibox-content"> 23 <div class="wrapper wrapper-content animated fadeInRight ibox-content">
11 <form class="form-horizontal m" id="form-line-edit" th:object="${bsthTLine}"> 24 <form class="form-horizontal m" id="form-line-edit" th:object="${bsthTLine}">
12 <input name="id" th:field="*{id}" type="hidden"> 25 <input name="id" th:field="*{id}" type="hidden">
  26 + <h3>路务</h3>
13 <div class="form-group"> 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 </div> 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 </div> 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 <div class="col-sm-2"> 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 </div> 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 <div class="col-sm-2"> 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 </div> 51 </div>
33 </div> 52 </div>
34 - 53 + <!---------------------------------->
35 <div class="form-group"> 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 <div class="col-sm-2"> 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 <option value=""></option> 58 <option value=""></option>
40 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" 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 </option> 61 </option>
43 </select> 62 </select>
44 </div> 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 <div class="col-sm-2"> 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 <option value=""></option> 68 <option value=""></option>
50 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" 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 </option> 71 </option>
53 </select> 72 </select>
54 </div> 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 <div class="col-sm-2"> 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 <option value=""></option> 78 <option value=""></option>
60 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" 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 </select> 81 </select>
64 </div> 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 <div class="col-sm-2"> 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 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" 87 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
83 th:selected="${#arrays.contains(#strings.toString(bsthTLine.district== null ? '' : bsthTLine.district),#strings.toString(dict.dictValue))}"></option> 88 th:selected="${#arrays.contains(#strings.toString(bsthTLine.district== null ? '' : bsthTLine.district),#strings.toString(dict.dictValue))}"></option>
84 </select> 89 </select>
85 </div> 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 <div class="col-sm-2"> 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 <option value=""></option> 97 <option value=""></option>
91 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" 98 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
92 th:selected="${#arrays.contains(#strings.toString(bsthTLine.inoutDistrict== null ? '' : bsthTLine.inoutDistrict),#strings.toString(dict.dictValue))}"></option> 99 th:selected="${#arrays.contains(#strings.toString(bsthTLine.inoutDistrict== null ? '' : bsthTLine.inoutDistrict),#strings.toString(dict.dictValue))}"></option>
93 </select> 100 </select>
94 </div> 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 <!--data-max-options="2" 限制多选数量--> 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 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" 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 </option> 109 </option>
103 </select> 110 </select>
104 </div> 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 <div class="col-sm-2"> 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 <option value=""></option> 125 <option value=""></option>
110 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" 126 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
111 th:selected="${#arrays.contains(#strings.toString(bsthTLine.airConditionerType == null ? '' : bsthTLine.airConditionerType ),#strings.toString(dict.dictValue))}"></option> 127 th:selected="${#arrays.contains(#strings.toString(bsthTLine.airConditionerType == null ? '' : bsthTLine.airConditionerType ),#strings.toString(dict.dictValue))}"></option>
112 </select> 128 </select>
113 </div> 129 </div>
114 </div> 130 </div>
115 - 131 + <!---------------------------------->
116 <div class="form-group"> 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 <option value=""></option> 136 <option value=""></option>
121 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" 137 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
122 th:selected="${#arrays.contains(#strings.toString(bsthTLine.sellTicketType == null ? '' : bsthTLine.sellTicketType),#strings.toString(dict.dictValue))}"></option> 138 th:selected="${#arrays.contains(#strings.toString(bsthTLine.sellTicketType == null ? '' : bsthTLine.sellTicketType),#strings.toString(dict.dictValue))}"></option>
123 </select> 139 </select>
124 </div> 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 <!--data-max-options="2" 限制多选数量--> 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 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" 146 <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
131 th:selected="${#arrays.contains(#strings.toString(bsthTLine.ticketPrice== null ? '' : bsthTLine.ticketPrice),#strings.toString(dict.dictValue))}"> 147 th:selected="${#arrays.contains(#strings.toString(bsthTLine.ticketPrice== null ? '' : bsthTLine.ticketPrice),#strings.toString(dict.dictValue))}">
132 </option> 148 </option>
133 </select> 149 </select>
134 </div> 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 <div class="col-sm-2"> 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 </div> 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 <div class="col-sm-2"> 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 </div> 161 </div>
150 - 162 + <!---------------------------------->
151 <div class="form-group"> 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 <div class="col-sm-2"> 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 </div> 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 <div class="col-sm-2"> 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 </div> 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 <div class="col-sm-2"> 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 </div> 182 </div>
166 </div> 183 </div>
167 - 184 + <!---------------------------------->
168 <div class="form-group"> 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 <div class="col-sm-2"> 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 </div> 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 <div class="col-sm-2"> 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 </div> 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 <div class="col-sm-2"> 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 </div> 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 <div class="col-sm-2"> 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 </div> 204 </div>
188 </div> 205 </div>
189 - 206 + <!---------------------------------->
190 <div class="form-group"> 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 <div class="col-sm-2"> 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 </div> 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 <div class="col-sm-2"> 222 <div class="col-sm-2">
203 <div class="input-group date"> 223 <div class="input-group date">
204 <input name="warrantStartTime" th:value="${#dates.format(bsthTLine.warrantStartTime, 'yyyy-MM-dd')}" 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 <span class="input-group-addon"><i class="fa fa-calendar"></i></span> 226 <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
207 </div> 227 </div>
208 </div> 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 <div class="col-sm-2"> 231 <div class="col-sm-2">
212 <div class="input-group date"> 232 <div class="input-group date">
213 <input name="warrantEndTime" th:value="${#dates.format(bsthTLine.warrantEndTime, 'yyyy-MM-dd')}" 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 <span class="input-group-addon"><i class="fa fa-calendar"></i></span> 235 <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
216 </div> 236 </div>
217 </div> 237 </div>
218 </div> 238 </div>
219 - 239 + <!---------------------------------->
220 <div class="form-group"> 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 <div class="col-sm-2"> 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 </div> 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 <div class="col-sm-2"> 247 <div class="col-sm-2">
232 <div class="input-group date"> 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 </div> 254 </div>
237 </div> 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 <div class="col-sm-2"> 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 </div> 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 <div class="col-sm-2"> 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 </div> 265 </div>
262 - </div>  
263 266
  267 + </div>
  268 + <!---------------------------------->
264 <div class="form-group"> 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 <div class="col-sm-2"> 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 </div> 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 <div class="col-sm-2"> 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 </div> 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 <div class="col-sm-2"> 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 </div> 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 <div class="col-sm-2"> 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 </div> 299 </div>
301 </div> 300 </div>
302 - 301 + <!---------------------------------->
303 <div class="form-group"> 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 <div class="col-sm-2"> 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 </div> 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 <div class="col-sm-2"> 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 </div> 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 <div class="col-sm-2"> 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 </div> 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 <div class="col-sm-2"> 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 </div> 335 </div>
323 </div> 336 </div>
324 - 337 + <!---------------------------------->
325 <div class="form-group"> 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 </div> 352 </div>
335 </div> 353 </div>
336 - 354 + <!---------------------------------->
  355 + <div class="hr-line-dashed"></div>
  356 + <h3>调度</h3>
  357 + <!---------------------------------->
337 <div class="form-group"> 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 <div class="col-sm-2"> 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 </div> 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 <div class="col-sm-2"> 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 </div> 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 <div class="col-sm-2"> 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 </div> 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 <div class="col-sm-2"> 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 </div> 384 </div>
357 </div> 385 </div>
358 - 386 + <!---------------------------------->
359 <div class="form-group"> 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 <div class="col-sm-2"> 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 </div> 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 <div class="col-sm-2"> 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 </div> 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 <div class="col-sm-2"> 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 </div> 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 <div class="col-sm-2"> 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 </div> 406 </div>
390 </div> 407 </div>
391 - 408 + <!---------------------------------->
392 <div class="form-group"> 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 <div class="col-sm-2"> 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 </div> 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 <div class="col-sm-2"> 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 </div> 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 <div class="col-sm-2"> 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 </div> 428 </div>
416 </div> 429 </div>
417 - 430 + <!---------------------------------->
418 <div class="form-group"> 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 <div class="col-sm-2"> 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 </div> 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 <div class="col-sm-2"> 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 </div> 440 </div>
447 </div> 441 </div>
448 </form> 442 </form>
@@ -451,12 +445,93 @@ @@ -451,12 +445,93 @@
451 <th:block th:include="include :: datetimepicker-js" /> 445 <th:block th:include="include :: datetimepicker-js" />
452 <th:block th:include="include :: bootstrap-fileinput-js" /> 446 <th:block th:include="include :: bootstrap-fileinput-js" />
453 <th:block th:include="include :: bootstrap-select-js" /> 447 <th:block th:include="include :: bootstrap-select-js" />
  448 + <th:block th:include="include :: select2-js"/>
454 <script th:inline="javascript"> 449 <script th:inline="javascript">
455 var prefix = ctx + "system/line"; 450 var prefix = ctx + "system/line";
456 function deleteFile(obj){ 451 function deleteFile(obj){
457 $(obj).parent().remove(); 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 $(function() { 535 $(function() {
461 536
462 $("#fileinput").fileinput({ 537 $("#fileinput").fileinput({
@@ -468,78 +543,37 @@ @@ -468,78 +543,37 @@
468 543
469 $("#fileinput").on("fileuploaded", 544 $("#fileinput").on("fileuploaded",
470 function(event, data, proviewId, index) { 545 function(event, data, proviewId, index) {
471 -  
472 -  
473 var obj = '<div><input name="files" type="hidden" value='+data.files[index].name + ':' + data.response.url + '>'+ 546 var obj = '<div><input name="files" type="hidden" value='+data.files[index].name + ':' + data.response.url + '>'+
474 '<a href='+data.response.url+'>'+ data.files[index].name + 547 '<a href='+data.response.url+'>'+ data.files[index].name +
475 '</a><button onclick="deleteFile(this);">删除</button></div>'; 548 '</a><button onclick="deleteFile(this);">删除</button></div>';
476 -  
477 -  
478 $(".file-input").before(obj); 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 function getParent(obj, className) { 579 function getParent(obj, className) {
bsthLineProfiles/src/main/resources/templates/system/lineHistory/edit.html
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html lang="zh" xmlns:th="http://www.thymeleaf.org"> 2 <html lang="zh" xmlns:th="http://www.thymeleaf.org">
3 <head> 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 </head> 9 </head>
10 <body class="white-bg"> 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 </body> 659 </body>
699 </html> 660 </html>
700 \ No newline at end of file 661 \ No newline at end of file
bsthLineProfiles/src/main/resources/templates/system/lineHistory/historyCompare.html
@@ -8,12 +8,12 @@ @@ -8,12 +8,12 @@
8 background: white; 8 background: white;
9 box-sizing: content-box; 9 box-sizing: content-box;
10 padding: 28px 28px 0px 28px; 10 padding: 28px 28px 0px 28px;
11 - height: 230%; 11 + height: 230%;
12 } 12 }
13 </style> 13 </style>
14 </head> 14 </head>
15 <body class="gray-bg"> 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 <div class="input-group"> 17 <div class="input-group">
18 <input type="text" class="form-control" id="text" placeholder="请输入线路名"> 18 <input type="text" class="form-control" id="text" placeholder="请输入线路名">
19 <div class="input-group-btn"> 19 <div class="input-group-btn">
@@ -46,232 +46,264 @@ @@ -46,232 +46,264 @@
46 <label class="col-sm-3 control-label">线路名称:</label> 46 <label class="col-sm-3 control-label">线路名称:</label>
47 <span class="col-sm-9" id="lineName">{{line.lineName}}</span> 47 <span class="col-sm-9" id="lineName">{{line.lineName}}</span>
48 </div> 48 </div>
  49 + <!---------------------------------->
49 <div class="col-sm-6"> 50 <div class="col-sm-6">
50 <label class="col-sm-3 control-label">公司:</label> 51 <label class="col-sm-3 control-label">公司:</label>
51 <span class="col-sm-9" id="company">{{line.company}}</span> 52 <span class="col-sm-9" id="company">{{line.company}}</span>
52 </div> 53 </div>
  54 + <!---------------------------------->
53 <div class="col-sm-6"> 55 <div class="col-sm-6">
54 <label class="col-sm-3 control-label">分公司:</label> 56 <label class="col-sm-3 control-label">分公司:</label>
55 <span class="col-sm-9" id="fCompany">{{line.fCompany}}</span> 57 <span class="col-sm-9" id="fCompany">{{line.fCompany}}</span>
56 </div> 58 </div>
  59 + <!---------------------------------->
57 <div class="col-sm-6"> 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 </div> 63 </div>
  64 + <!---------------------------------->
65 <div class="col-sm-6"> 65 <div class="col-sm-6">
66 <label class="col-sm-3 control-label">线路属性:</label> 66 <label class="col-sm-3 control-label">线路属性:</label>
67 <span class="col-sm-9" id="lineLevel">{{line.lineLevel}}</span> 67 <span class="col-sm-9" id="lineLevel">{{line.lineLevel}}</span>
68 </div> 68 </div>
  69 + <!---------------------------------->
69 <div class="col-sm-6"> 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 </div> 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 <div class="col-sm-6"> 80 <div class="col-sm-6">
75 <label class="col-sm-3 control-label">区属:</label> 81 <label class="col-sm-3 control-label">区属:</label>
76 <span class="col-sm-9" id="district">{{line.district}}</span> 82 <span class="col-sm-9" id="district">{{line.district}}</span>
77 </div> 83 </div>
  84 + <!---------------------------------->
78 <div class="col-sm-6"> 85 <div class="col-sm-6">
79 <label class="col-sm-3 control-label">是否区内:</label> 86 <label class="col-sm-3 control-label">是否区内:</label>
80 <span class="col-sm-9" id="inoutDistrict">{{line.inoutDistrict}}</span> 87 <span class="col-sm-9" id="inoutDistrict">{{line.inoutDistrict}}</span>
81 </div> 88 </div>
  89 + <!---------------------------------->
82 <div class="col-sm-6"> 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 </div> 93 </div>
  94 + <!---------------------------------->
86 <div class="col-sm-6"> 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 </div> 98 </div>
  99 + <!---------------------------------->
90 <div class="col-sm-6"> 100 <div class="col-sm-6">
91 <label class="col-sm-3 control-label">是否空调:</label> 101 <label class="col-sm-3 control-label">是否空调:</label>
92 <span class="col-sm-9" id="airConditionerType">{{line.airConditionerType}}</span> 102 <span class="col-sm-9" id="airConditionerType">{{line.airConditionerType}}</span>
93 </div> 103 </div>
  104 + <!---------------------------------->
94 <div class="col-sm-6"> 105 <div class="col-sm-6">
95 <label class="col-sm-3 control-label">售票类型:</label> 106 <label class="col-sm-3 control-label">售票类型:</label>
96 <span class="col-sm-9" id="sellTicketType">{{line.sellTicketType}}</span> 107 <span class="col-sm-9" id="sellTicketType">{{line.sellTicketType}}</span>
97 </div> 108 </div>
  109 + <!---------------------------------->
98 <div class="col-sm-6"> 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 </div> 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 <div class="col-sm-6"> 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 </div> 120 </div>
  121 + <!---------------------------------->
114 <div class="col-sm-6"> 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 </div> 127 </div>
  128 + <!---------------------------------->
118 <div class="col-sm-6"> 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 </div> 132 </div>
  133 + <!---------------------------------->
122 <div class="col-sm-6"> 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 </div> 137 </div>
  138 + <!---------------------------------->
126 <div class="col-sm-6"> 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 </div> 142 </div>
  143 + <!---------------------------------->
130 <div class="col-sm-6"> 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 </div> 147 </div>
  148 + <!---------------------------------->
136 <div class="col-sm-6"> 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 </div> 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 <div class="col-sm-6"> 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 </div> 157 </div>
  158 + <!---------------------------------->
148 <div class="col-sm-6"> 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 </div> 162 </div>
  163 + <!---------------------------------->
152 <div class="col-sm-6"> 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 </div> 167 </div>
  168 + <!---------------------------------->
156 <div class="col-sm-6"> 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 </div> 172 </div>
  173 + <!---------------------------------->
160 <div class="col-sm-6"> 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 </div> 177 </div>
  178 + <!---------------------------------->
164 <div class="col-sm-6"> 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 </div> 182 </div>
  183 + <!---------------------------------->
168 <div class="col-sm-6"> 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 </div> 187 </div>
  188 + <!---------------------------------->
172 <div class="col-sm-6"> 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 </div> 192 </div>
  193 + <!---------------------------------->
176 <div class="col-sm-6"> 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 </div> 197 </div>
  198 + <!---------------------------------->
180 <div class="col-sm-6"> 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 </div> 202 </div>
  203 + <!---------------------------------->
184 <div class="col-sm-6"> 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 </div> 207 </div>
  208 + <!---------------------------------->
188 <div class="col-sm-6"> 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 </div> 212 </div>
  213 + <!---------------------------------->
192 <div class="col-sm-6"> 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 </div> 217 </div>
  218 + <!---------------------------------->
196 <div class="col-sm-6"> 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 </div> 222 </div>
  223 + <!---------------------------------->
200 <div class="col-sm-6"> 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 </div> 227 </div>
  228 + <!---------------------------------->
204 <div class="col-sm-6"> 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 </div> 232 </div>
  233 + <!---------------------------------->
208 <div class="col-sm-6"> 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 </div> 237 </div>
  238 + <!---------------------------------->
212 <div class="col-sm-6"> 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 </div> 242 </div>
  243 + <!---------------------------------->
216 <div class="col-sm-6"> 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 </div> 247 </div>
  248 + <!---------------------------------->
220 <div class="col-sm-6"> 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 </div> 252 </div>
  253 + <!---------------------------------->
224 <div class="col-sm-6"> 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 </div> 257 </div>
  258 + <!---------------------------------->
228 <div class="col-sm-6"> 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 </div> 262 </div>
  263 + <!---------------------------------->
232 <div class="col-sm-6"> 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 </div> 267 </div>
  268 + <!---------------------------------->
236 <div class="col-sm-6"> 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 </div> 272 </div>
  273 + <!---------------------------------->
240 <div class="col-sm-6"> 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 </div> 277 </div>
  278 + <!---------------------------------->
244 <div class="col-sm-6"> 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 </div> 282 </div>
  283 + <!---------------------------------->
250 <div class="col-sm-6"> 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 </div> 287 </div>
  288 + <!---------------------------------->
256 <div class="col-sm-6"> 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 </div> 292 </div>
  293 + <!---------------------------------->
264 <div class="col-sm-6"> 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 </div> 297 </div>
  298 + <!---------------------------------->
268 <div class="col-sm-6"> 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 </div> 302 </div>
  303 + <!---------------------------------->
272 <div class="col-sm-6"> 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 </div> 307 </div>
276 <div class="col-sm-12" v-if="line.files"> 308 <div class="col-sm-12" v-if="line.files">
277 <label class="col-sm-3 control-label">附件:</label> 309 <label class="col-sm-3 control-label">附件:</label>
@@ -285,348 +317,275 @@ @@ -285,348 +317,275 @@
285 <el-tab-pane label="对比数据" name="second" v-if="oldLine"> 317 <el-tab-pane label="对比数据" name="second" v-if="oldLine">
286 <div class="col-sm-6"> 318 <div class="col-sm-6">
287 <label class="col-sm-3 control-label">线路名称:</label> 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 </div> 321 </div>
  322 + <!---------------------------------->
292 <div class="col-sm-6"> 323 <div class="col-sm-6">
293 <label class="col-sm-3 control-label">公司:</label> 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 </div> 326 </div>
  327 + <!---------------------------------->
298 <div class="col-sm-6"> 328 <div class="col-sm-6">
299 <label class="col-sm-3 control-label">分公司:</label> 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 </div> 331 </div>
  332 + <!---------------------------------->
304 <div class="col-sm-6"> 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 </div> 336 </div>
  337 + <!---------------------------------->
310 <div class="col-sm-6"> 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 </div> 341 </div>
  342 + <!---------------------------------->
314 <div class="col-sm-6"> 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 </div> 346 </div>
  347 + <!---------------------------------->
320 <div class="col-sm-6"> 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 </div> 351 </div>
  352 + <!---------------------------------->
326 <div class="col-sm-6"> 353 <div class="col-sm-6">
327 <label class="col-sm-3 control-label">区属:</label> 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 </div> 356 </div>
  357 + <!---------------------------------->
332 <div class="col-sm-6"> 358 <div class="col-sm-6">
333 <label class="col-sm-3 control-label">是否区内:</label> 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 </div> 361 </div>
  362 + <!---------------------------------->
338 <div class="col-sm-6"> 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 </div> 366 </div>
  367 + <!---------------------------------->
345 <div class="col-sm-6"> 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 </div> 371 </div>
  372 + <!---------------------------------->
351 <div class="col-sm-6"> 373 <div class="col-sm-6">
352 <label class="col-sm-3 control-label">是否空调:</label> 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 </div> 376 </div>
  377 + <!---------------------------------->
358 <div class="col-sm-6"> 378 <div class="col-sm-6">
359 <label class="col-sm-3 control-label">售票类型:</label> 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 </div> 381 </div>
  382 + <!---------------------------------->
364 <div class="col-sm-6"> 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 </div> 386 </div>
  387 + <!---------------------------------->
370 <div class="col-sm-6"> 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 </div> 393 </div>
  394 + <!---------------------------------->
388 <div class="col-sm-6"> 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 </div> 400 </div>
  401 + <!---------------------------------->
394 <div class="col-sm-6"> 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 </div> 405 </div>
  406 + <!---------------------------------->
400 <div class="col-sm-6"> 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 </div> 410 </div>
  411 + <!---------------------------------->
406 <div class="col-sm-6"> 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 </div> 415 </div>
  416 + <!---------------------------------->
418 <div class="col-sm-6"> 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 <div class="col-sm-6"> 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 </div> 425 </div>
  426 + <!---------------------------------->
436 <div class="col-sm-6"> 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 </div> 430 </div>
  431 + <!---------------------------------->
442 <div class="col-sm-6"> 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 </div> 435 </div>
  436 + <!---------------------------------->
448 <div class="col-sm-6"> 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 </div> 440 </div>
  441 + <!---------------------------------->
454 <div class="col-sm-6"> 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 </div> 445 </div>
  446 + <!---------------------------------->
460 <div class="col-sm-6"> 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 </div> 450 </div>
  451 + <!---------------------------------->
466 <div class="col-sm-6"> 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 </div> 455 </div>
  456 + <!---------------------------------->
472 <div class="col-sm-6"> 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 </div> 460 </div>
  461 + <!---------------------------------->
478 <div class="col-sm-6"> 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 <div class="col-sm-6"> 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 </div> 470 </div>
  471 + <!---------------------------------->
489 <div class="col-sm-6"> 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 </div> 475 </div>
  476 + <!---------------------------------->
495 <div class="col-sm-6"> 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 </div> 480 </div>
  481 + <!---------------------------------->
501 <div class="col-sm-6"> 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 </div> 485 </div>
  486 + <!---------------------------------->
507 <div class="col-sm-6"> 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 </div> 490 </div>
  491 + <!---------------------------------->
513 <div class="col-sm-6"> 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 </div> 495 </div>
  496 + <!---------------------------------->
519 <div class="col-sm-6"> 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 </div> 500 </div>
  501 + <!---------------------------------->
525 <div class="col-sm-6"> 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 </div> 505 </div>
  506 + <!---------------------------------->
531 <div class="col-sm-6"> 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 </div> 510 </div>
  511 + <!---------------------------------->
537 <div class="col-sm-6"> 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 </div> 515 </div>
  516 + <!---------------------------------->
543 <div class="col-sm-6"> 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 </div> 520 </div>
  521 + <!---------------------------------->
549 <div class="col-sm-6"> 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 </div> 525 </div>
  526 + <!---------------------------------->
555 <div class="col-sm-6"> 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 </div> 530 </div>
  531 + <!---------------------------------->
561 <div class="col-sm-6"> 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 </div> 535 </div>
  536 + <!---------------------------------->
567 <div class="col-sm-6"> 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 </div> 540 </div>
  541 + <!---------------------------------->
573 <div class="col-sm-6"> 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 </div> 545 </div>
  546 + <!---------------------------------->
579 <div class="col-sm-6"> 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 </div> 550 </div>
  551 + <!---------------------------------->
585 <div class="col-sm-6"> 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 </div> 555 </div>
  556 + <!---------------------------------->
591 <div class="col-sm-6"> 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 </div> 560 </div>
  561 + <!---------------------------------->
597 <div class="col-sm-6"> 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 </div> 565 </div>
  566 + <!---------------------------------->
603 <div class="col-sm-6"> 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 </div> 570 </div>
  571 + <!---------------------------------->
609 <div class="col-sm-6"> 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 </div> 575 </div>
  576 + <!---------------------------------->
615 <div class="col-sm-6"> 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 </div> 580 </div>
621 <div class="col-sm-12" v-if="oldLine.files"> 581 <div class="col-sm-12" v-if="oldLine.files">
622 <label class="col-sm-3 control-label">附件:</label> 582 <label class="col-sm-3 control-label">附件:</label>
623 <span class="col-sm-9" v-for="path in oldLine.files.split(',')"> 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 {{path.split(":")[0]}} 585 {{path.split(":")[0]}}
626 - </a>  
627 - </span> 586 + </a>
  587 + </span>
628 </div> 588 </div>
629 -  
630 </el-tab-pane> 589 </el-tab-pane>
631 </el-tabs> 590 </el-tabs>
632 </el-col> 591 </el-col>
@@ -705,7 +664,7 @@ @@ -705,7 +664,7 @@
705 continue; 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 for (var j in dicts["trueFalse"]) { 668 for (var j in dicts["trueFalse"]) {
710 if (dicts["trueFalse"][j].dictValue == value) { 669 if (dicts["trueFalse"][j].dictValue == value) {
711 value = dicts["trueFalse"][j].dictLabel; 670 value = dicts["trueFalse"][j].dictLabel;
@@ -716,18 +675,16 @@ @@ -716,18 +675,16 @@
716 675
717 continue; 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,14 +713,14 @@
756 }, 713 },
757 methods: { 714 methods: {
758 change(index) { 715 change(index) {
759 - this.tab='first';//每次点击默认选中第一个 716 + this.tab = 'first';//每次点击默认选中第一个
760 var l; 717 var l;
761 var ol; 718 var ol;
762 //所有字段改为默认样式 719 //所有字段改为默认样式
763 this.line = this.lines[index]; 720 this.line = this.lines[index];
764 l = this.line; 721 l = this.line;
765 for (let f in l) { 722 for (let f in l) {
766 - $('#'+f).attr('style',"color:#303133"); 723 + $('#' + f).attr('style', "color:#303133");
767 } 724 }
768 //新辟 725 //新辟
769 if (index == 0) { 726 if (index == 0) {
@@ -771,13 +728,13 @@ @@ -771,13 +728,13 @@
771 } else {//变更的数据标红 728 } else {//变更的数据标红
772 this.oldLine = this.lines[index - 1]; 729 this.oldLine = this.lines[index - 1];
773 ol = this.oldLine; 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 for (var i in this.lines) { 740 for (var i in this.lines) {