Commit 4e873fc283f80370bd84b0fc21f9ddc6b9d3cafb

Authored by 娄高锋
1 parent 4b069ba7

行车路单加氢

src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
... ... @@ -73,6 +73,7 @@ import com.bsth.entity.Personnel;
73 73 import com.bsth.entity.calc.CalcInterval;
74 74 import com.bsth.entity.calc.CalcStatistics;
75 75 import com.bsth.entity.oil.Dlb;
  76 +import com.bsth.entity.oil.Qlb;
76 77 import com.bsth.entity.oil.Ylb;
77 78 import com.bsth.entity.oil.Ylxxb;
78 79 import com.bsth.entity.realcontrol.ChildTaskPlan;
... ... @@ -95,6 +96,7 @@ import com.bsth.repository.LineRepository;
95 96 import com.bsth.repository.RepairReportRepository;
96 97 import com.bsth.repository.calc.CalcIntervalRepository;
97 98 import com.bsth.repository.oil.DlbRepository;
  99 +import com.bsth.repository.oil.QlbRepository;
98 100 import com.bsth.repository.oil.YlbRepository;
99 101 import com.bsth.repository.oil.YlxxbRepository;
100 102 import com.bsth.repository.realcontrol.ChildTaskPlanRepository;
... ... @@ -201,6 +203,9 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf
201 203 DlbRepository dlbRepository;
202 204  
203 205 @Autowired
  206 + QlbRepository qlbRepository;
  207 +
  208 + @Autowired
204 209 ReportService reposrService;
205 210  
206 211 @Autowired
... ... @@ -5138,6 +5143,8 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf
5138 5143 Double jzl = 0.0;
5139 5144 Double zlc = 0.0;
5140 5145 String rylx="";
  5146 + int hyd = 0;
  5147 + Double czql = 0.0, jzql = 0.0, hq = 0.0, jql = 0.0;
5141 5148 List<Cars> listCars = carsRepository.findCarsByCode(s.getClZbh());
5142 5149 if (listCars.size() > 0) {
5143 5150 if (listCars.get(0).getSfdc() != null) {
... ... @@ -5190,8 +5197,34 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
5190 5197 }
5191 5198 }
5192 5199 }
  5200 + if(listCars.get(0).getHydrogen() != null && listCars.get(0).getHydrogen()){
  5201 + List<Qlb> listQlb = qlbRepository.queryListQlb(fcrq, s.getClZbh(), s.getjGh(), xlbm);
  5202 + hyd = 1;
  5203 + for (int i = 0; i < listQlb.size(); i++) {
  5204 + Qlb h = listQlb.get(i);
  5205 + if (h.getLp() == null) {
  5206 + czql = Arith.add(czql, h.getCzcl());
  5207 + jzql = Arith.add(jzql, h.getJzcl());
  5208 + hq = Arith.add(hq, h.getHn());
  5209 + jql = Arith.add(jql, h.getJql());
  5210 + } else {
  5211 + if (h.getLp().equals(s.getLpName())) {
  5212 + czql = Arith.add(czql, h.getCzcl());
  5213 + jzql = Arith.add(jzql, h.getJzcl());
  5214 + hq = Arith.add(hq, h.getHn());
  5215 + jql = Arith.add(jql, h.getJql());
  5216 + }
  5217 + }
  5218 + }
  5219 + }
5193 5220 }
5194 5221  
  5222 + map.put("hyd", hyd);
  5223 + map.put("czcl", czql);
  5224 + map.put("jzcl", jzql);
  5225 + map.put("hn", hq);
  5226 + map.put("jql", jql);
  5227 +
5195 5228 map.put("rylx", "加注类别:"+rylx);
5196 5229 map.put("jzl", jzl);
5197 5230 map.put("yh", yh);
... ...
src/main/resources/static/pages/forms/statement/waybill.html
1   -<style type="text/css">
2   - .table-bordered {
3   - border: 1px solid; }
4   - .table-bordered > thead > tr > th,
5   - .table-bordered > thead > tr > td,
6   - .table-bordered > tbody > tr > th,
7   - .table-bordered > tbody > tr > td,
8   - .table-bordered > tfoot > tr > th,
9   - .table-bordered > tfoot > tr > td {
10   - border: 1px solid; }
11   - .table-bordered > thead > tr > th,
12   - .table-bordered > thead > tr > td {
13   - border-bottom-width: 2px; }
14   -
15   - .table > tbody + tbody {
16   - border-top: 1px solid; }
17   -</style>
18   -
19   -<div class="page-head">
20   - <div class="page-title">
21   - <h1>行车路单</h1>
22   - </div>
23   -</div>
24   -
25   -<div class="row">
26   - <div class="col-md-12">
27   - <div class="portlet light porttlet-fit bordered">
28   - <div class="portlet-title">
29   - <form class="form-inline" action="">
30   - <div style="display: inline-block; margin-left: 33px;" id="gsdmDiv_xcld">
31   - <span class="item-label" style="width: 80px;">公司: </span>
32   - <select class="form-control" name="company" id="gsdmXcld" style="width: 180px;"></select>
33   - </div>
34   - <div style="display: inline-block; margin-left: 24px;" id="fgsdmDiv_xcld">
35   - <span class="item-label" style="width: 80px;">分公司: </span>
36   - <select class="form-control" name="subCompany" id="fgsdmXcld" style="width: 180px;"></select>
37   - </div>
38   - <div style="margin-top: 2px"></div>
39   - <div style="display: inline-block; margin-left: 33px;">
40   - <span class="item-label" style="width: 80px;">线路: </span>
41   - <select class="form-control" name="line" id="line" style="width: 180px;"></select>
42   - </div>
43   - <div style="display: inline-block;margin-left: 24px;">
44   - <span class="item-label" style="width: 80px;">&nbsp;时间: </span>
45   - <input class="form-control" type="text" id="date" style="width: 180px;"/>
46   - </div>
47   - <div class="form-group" style="display: inline-block;margin-left: 15px;">
48   - <input class="btn btn-default" type="button" id="query" value="查询"/>
49   - <input class="btn btn-default" type="button" id="export" value="导出"/>
50   - <input class="btn btn-default" type="button" id="print" value="打印"/>
51   - <input class="btn btn-default" type="button" id="exportMore" value="批量导出"/>
52   - </div>
53   - </form>
54   - </div>
55   - <div class="portlet-body">
56   - <div class="row">
57   - <div class="col-md-3">
58   - <div class="" id="left_height" style="margin-top: 10px;overflow:auto;">
59   - <table class="table table-bordered table-hover table-checkable pre-scrollable" id="info">
60   - <thead>
61   - <tr class="hidden">
62   - <th class="rypx" style="cursor:pointer ">人员</th>
63   - <th class="zbhpx" style="cursor:pointer ">自编号</th>
64   - <th class="lppx" style="cursor:pointer ">路牌</th>
65   - </tr>
66   - </thead>
67   - <tbody>
68   -
69   - </tbody>
70   - </table>
71   - </div>
72   - </div>
73   - <div class="col-md-9" id="printArea">
74   - <div class="table-container" id="xcld_height" style="margin-top: 10px;overflow:auto;min-width: 906px;">
75   - <table class="table table-bordered table-checkable" id="forms">
76   - <tbody class="ludan_1">
77   -
78   - </tbody>
79   - <tbody class="ludan_2">
80   -
81   - </tbody>
82   - <tbody class="ludan_3">
83   -
84   - </tbody>
85   - <tbody class="ludan_4">
86   -
87   - </tbody>
88   - </table>
89   - </div>
90   - </div>
91   - </div>
92   - </div>
93   - </div>
94   - </div>
95   -</div>
96   -
97   -<script>
98   - $(function(){
99   - var fage=false;
100   - // 关闭左侧栏
101   - if (!$('body').hasClass('page-sidebar-closed'))
102   - $('.menu-toggler.sidebar-toggler').click();
103   -
104   - $("#date").datetimepicker({
105   - format : 'YYYY-MM-DD',
106   - locale : 'zh-cn'
107   - });
108   -
109   - $("#left_height").height($(window).height()-100);
110   - $("#xcld_height").height($(window).height()-100);
111   -
112   - var d = new Date();
113   - var year = d.getFullYear();
114   - var month = d.getMonth() + 1;
115   - var day = d.getDate();
116   - if(month < 10)
117   - month = "0" + month;
118   - if(day < 10)
119   - day = "0" + day;
120   - $("#date").val(year + "-" + month + "-" + day);
121   -
122   - var obj = [];
123   - var xlList;
124   - $.get('/report/lineList',function(result){
125   - xlList=result;
126   -
127   - $.get('/user/companyData', function(result){
128   - obj = result;
129   - console.log(obj);
130   - var options = '';
131   - for(var i = 0; i < obj.length; i++){
132   - options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>';
133   - }
134   -
135   - if(obj.length ==0){
136   - $("#gsdmDiv_xcld").css('display','none');
137   - }else if(obj.length ==1){
138   - $("#gsdmDiv_xcld").css('display','none');
139   - if(obj[0].children.length == 1 || obj[0].children.length ==0)
140   - $('#fgsdmDiv_xcld').css('display','none');
141   - }
142   - $('#gsdmXcld').html(options);
143   -
144   - updateCompany();
145   - });
146   - });
147   -
148   - $("#gsdmXcld").on("change",updateCompany);
149   - function updateCompany(){
150   - var company = $('#gsdmXcld').val();
151   - var options = '';
152   - for(var i = 0; i < obj.length; i++){
153   - if(obj[i].companyCode == company){
154   - var children = obj[i].children;
155   - for(var j = 0; j < children.length; j++){
156   - options += '<option value="'+children[j].code+'">'+children[j].name+'</option>';
157   - }
158   - }
159   - }
160   - $('#fgsdmXcld').html(options);
161   -// initXl();
162   - }
163   -
164   -
165   -
166   -
167   -// $("#fgsdmXcld").on("change",initXl);
168   - /* function initXl(){
169   - var data=[];
170   - if(fage){
171   - $("#line").select2("destroy").html('');
172   - }
173   - var fgs=$('#fgsdmXcld').val();
174   - var gs=$('#gsdmXcld').val();
175   - for(var i=0;i<xlList.length;i++){
176   - if(gs!=""){
177   - if(fgs!=""){
178   - if(xlList[i]["fgsbm"]==fgs && xlList[i]["gsbm"]==gs){
179   - data.push({id: xlList[i]["xlbm"], text: xlList[i]["xlname"]});
180   - }
181   - }else{
182   - if(xlList[i]["gsbm"]==gs){
183   - data.push({id: xlList[i]["xlbm"], text: xlList[i]["xlname"]});
184   - }
185   - }
186   - }
187   - }
188   - initPinYinSelect2('#line',data,'');
189   - fage=true;
190   - } */
191   -
192   - var tempData = {};
193   - $.get('/report/lineList',function(xlList){
194   - var data = [];
195   -// data.push({id: " ", text: "全部线路"});
196   - $.get('/user/companyData', function(result){
197   - for(var i = 0; i < result.length; i++){
198   - var companyCode = result[i].companyCode;
199   - var children = result[i].children;
200   - for(var j = 0; j < children.length; j++){
201   - var code = children[j].code;
202   - for(var k=0;k < xlList.length;k++ ){
203   - if(xlList[k]["fgsbm"]==code && xlList[k]["gsbm"]==companyCode){
204   - data.push({id: xlList[k]["xlbm"], text: xlList[k]["xlname"]});
205   - tempData[xlList[k]["xlbm"]] = companyCode+":"+code;
206   - }
207   - }
208   - }
209   - }
210   - initPinYinSelect2('#line',data,'');
211   -
212   - });
213   - });
214   -
215   - $("#line").on("change", function(){
216   - if($("#line").val() == " "){
217   - $("#gsdmXcld").attr("disabled", false);
218   - $("#fgsdmXcld").attr("disabled", false);
219   - } else {
220   - var temp = (tempData[$("#line").val()] ? tempData[$("#line").val()] : " : ").split(":");
221   - $("#gsdmXcld").val(temp[0]);
222   - updateCompany();
223   - $("#fgsdmXcld").val(temp[1]);
224   - $("#gsdmXcld").attr("disabled", true);
225   - $("#fgsdmXcld").attr("disabled", true);
226   - }
227   - });
228   - var date = '';
229   - var line = '';
230   - var lineName;
231   - $("#query").on("click",function(){
232   - $("#left_height").height($(window).height()-100);
233   - line = $("#line").val();
234   - date = $("#date").val();
235   - lineName = $('#line option:selected').text();
236   - $(".hidden").removeClass("hidden");
237   - $get('/realSchedule/queryUserInfo',{line:line,date:date,state:2},function(result){
238   - // 把数据填充到模版中
239   - var tbodyHtml = template('list_info',{list:result});
240   - // 把渲染好的模版html文本追加到表格中
241   - $('#info tbody').html(tbodyHtml);
242   - });
243   - });
244   - var type="desc";
245   - $(".rypx").on("click",function(){
246   - line = $("#line").val();
247   - date = $("#date").val();
248   - $(".hidden").removeClass("hidden");
249   - $get('/realSchedule/queryUserInfoPx',{line:line,date:date,state:"jGh",type:type},function(result){
250   - if(type=="desc"){
251   - type ="asc";
252   - }else{
253   - type ="desc";
254   - }
255   - // 把数据填充到模版中
256   - var tbodyHtml = template('list_info_px',{list:result});
257   - // 把渲染好的模版html文本追加到表格中
258   - $('#info tbody').html(tbodyHtml);
259   - });
260   - })
261   -
262   - $(".zbhpx").on("click",function(){
263   - line = $("#line").val();
264   - date = $("#date").val();
265   - $(".hidden").removeClass("hidden");
266   - $get('/realSchedule/queryUserInfoPx',{line:line,date:date,state:"clZbh",type:type},function(result){
267   - if(type=="desc"){
268   - type ="asc";
269   - }else{
270   - type ="desc";
271   - }
272   - // 把数据填充到模版中
273   - var tbodyHtml = template('list_info_px',{list:result});
274   - // 把渲染好的模版html文本追加到表格中
275   - $('#info tbody').html(tbodyHtml);
276   - });
277   - })
278   -
279   - $(".lppx").on("click",function(){
280   - line = $("#line").val();
281   - date = $("#date").val();
282   - $(".hidden").removeClass("hidden");
283   - $get('/realSchedule/queryUserInfoPx',{line:line,date:date,state:"lpName",type:type},function(result){
284   - if(type=="desc"){
285   - type ="asc";
286   - }else{
287   - type ="desc";
288   - }
289   - // 把数据填充到模版中
290   - var tbodyHtml = template('list_info_px',{list:result});
291   - // 把渲染好的模版html文本追加到表格中
292   - $('#info tbody').html(tbodyHtml);
293   - });
294   - })
295   -
296   - var params = new Array();
297   - var jName = '';
298   - var jGh = '';
299   - $("#info tbody").on("click","tr",function(){
300   - if($(this).children().size() < 2){
301   - return;
302   - }
303   - $("#xcld_height").height($(window).height()-100);
304   - $(this).children().each(function(index){
305   - params[index] = $(this).text();
306   - });
307   - jName = params[0].split("\\")[0];
308   - jGh = params[0].split("\\")[1];
309   - var id = params[3];
310   - var obj = $(this);
311   - $get('/realSchedule/MapById',{id:id},function(result){
312   - result.scheduleDate = moment(result.scheduleDate).format("YYYY/MM/DD");
313   - var ludan_1 = template('ludan_1',result);
314   - // 把渲染好的模版html文本追加到表格中
315   - $('#forms .ludan_1').html(ludan_1);
316   - });
317   - $get('/realSchedule/queryListWaybill',{jGh:jGh,clZbh:params[1],lpName:params[2],date:date,line:line},function(result){
318   - getTime(result);
319   - /* $get('/realSchedule/MapById',{id:result[0].id},function(result){
320   - result.scheduleDate = moment(result.scheduleDate).format("YYYY/MM/DD");
321   - var ludan_1 = template('ludan_1',result);
322   - // 把渲染好的模版html文本追加到表格中
323   - $('#forms .ludan_1').html(ludan_1);
324   - }); */
325   - var ludan_2 = template('ludan_2',{list:result});
326   - // 把渲染好的模版html文本追加到表格中
327   - $('#forms .ludan_2').html(ludan_2);
328   - });
329   - $get('/realSchedule/findKMBC',{jGh:jGh,clZbh:params[1],lpName:params[2],date:date,line:line},function(result){
330   - var ludan_3 = template('ludan_3',result);
331   - $('#forms .ludan_3').html(ludan_3);
332   - $("#info tbody tr").css('background-color', '');
333   - obj.css('background-color', '#99CCFF');
334   - });
335   -
336   -
337   - });
338   -
339   - $("#export").on("click",function(){
340   - if(params.length < 1){
341   - return;
342   - }
343   - var i = layer.load(2);
344   - $get('/realSchedule/exportWaybill',{jName:jName,jGh:jGh,clZbh:params[1],lpName:params[2],date:date,line:line},function(result){
345   - var fileName=date+"-"+jName+"-"+params[1]+"-"+params[2]+"-行车路单";
346   - window.open("/downloadFile/download?fileName="+encodeURIComponent(fileName));
347   - layer.close(i);
348   - });
349   - });
350   -
351   - $("#print").click(function(){
352   - $("#printArea").printArea();
353   - });
354   -
355   - $("#exportMore").on("click",function(){
356   - if($("#info tbody tr td").length <= 1)
357   - return;
358   - var i = layer.load(2);
359   - var param = new Array();
360   - $("#info tbody tr").each(function(index){
361   - param[index] = new Array();
362   - $(this).children().each(function(i){
363   - if(i<3){
364   - param[index][i] = $(this).text().split("\\")[0];
365   - if(i==0){
366   - param[index][3] = $(this).text().split("\\")[1];
367   -
368   - }
369   - }
370   - });
371   - });
372   -// $get('/realSchedule/exportWaybillMore',{date:date,line:line,strs:JSON.stringify(param)},function(result){
373   -// window.open("/downloadFile/downloadList?fileName="+result.fileName); //下载压缩包
374   - $get('/busInterval/exportWaybillMore',{date:date,line:line,lineName:lineName,strs:JSON.stringify(param)},function(result){
375   - window.open("/downloadFile/download?fileName="+result.fileName);
376   - layer.close(i);
377   - });
378   - });
379   -
380   - function getTime(list){
381   - $.each(list, function(i, obj) {
382   - if(obj.zdsj != null && obj.zdsjActual != null ){
383   - var zdsjActual = (obj.zdsjActual).split(":");
384   - var zdsj = (obj.zdsj).split(":");
385   - if(zdsjActual[0]*60+Number(zdsjActual[1]) > zdsj[0]*60+Number(zdsj[1])){
386   - if(zdsjActual[0]*60+Number(zdsjActual[1]) - zdsj[0]*60+Number(zdsj[1]) > 1000){
387   - obj["fast"] = (zdsj[0]*60+Number(zdsj[1])) - (zdsjActual[0]*60+Number(zdsjActual[1])) + 1440;
388   - } else {
389   - obj["slow"] = (zdsjActual[0]*60+Number(zdsjActual[1])) - (zdsj[0]*60+Number(zdsj[1]));
390   - }
391   - }
392   - else if(zdsjActual[0]*60+Number(zdsjActual[1]) < zdsj[0]*60+Number(zdsj[1])){
393   - if((zdsj[0]*60+Number(zdsj[1])) - (zdsjActual[0]*60+Number(zdsjActual[1])) > 1000){
394   - obj["slow"] = (zdsjActual[0]*60+Number(zdsjActual[1])) - (zdsj[0]*60+Number(zdsj[1])) + 1440;
395   - } else {
396   - obj["fast"] = (zdsj[0]*60+Number(zdsj[1])) - (zdsjActual[0]*60+Number(zdsjActual[1]));
397   - }
398   - }
399   - }
400   - });
401   - }
402   - });
403   -</script>
404   -<script type="text/html" id="list_info">
405   - {{each list as obj i}}
406   - <tr>
407   - <td width="45%">{{obj.jName}}\{{obj.jGh}}</td>
408   - <td width="32%">{{obj.clZbh}}</td>
409   - <td width="23%">{{obj.lpName}}</td>
410   - <td hidden="true">{{obj.id}}</td>
411   - </tr>
412   - {{/each}}
413   - {{if list.length == 0}}
414   - <tr>
415   - <td colspan="3"><h6 class="muted">没有找到相关数据</h6></td>
416   - </tr>
417   - {{/if}}
418   -</script>
419   -<script type="text/html" id="list_info_px">
420   - {{each list as obj i}}
421   - <tr>
422   -
423   - <td width="45%">{{obj.jName}}\{{obj.jGh}}</td>
424   - <td width="32%">{{obj.clZbh}}</td>
425   - <td width="23%">{{obj.lpName}}</td>
426   - <td hidden="true">{{obj.id}}</td>
427   - </tr>
428   - {{/each}}
429   - {{if list.length == 0}}
430   - <tr>
431   - <td colspan="3"><h6 class="muted">没有找到相关数据</h6></td>
432   - </tr>
433   - {{/if}}
434   -</script>
435   -<script type="text/html" id="ludan_1">
436   - <tr>
437   - <td colspan="14">行车路单</td>
438   - </tr>
439   - <tr>
440   - <td colspan="14">路别:{{xlName}} 路牌:{{lpName}} 车号:{{clZbh}}({{plate}}) 出场时间:{{fcsjActual}} 到达站名:{{zdzName}} 当班调派:{{dbdp}} 日期:{{scheduleDate}}</td>
441   - </tr>
442   - <tr>
443   - {{if type==0}}
444   - <td colspan="2">出场存油 {{ccyl}}升</td>
445   - <td colspan="2">加注量 {{jzl}}升</td>
446   - <td colspan="2">进场存油 {{jcyl}}升</td>
447   - <td colspan="2">加注机油 &nbsp;升</td>
448   - <td colspan="3">{{rylx}}</td>
449   - <td colspan="3">本日耗油 {{yh}}升</td>
450   - {{/if}}
451   - {{if type==1}}
452   - <td colspan="2">出场存电 {{ccyl}}%</td>
453   - <td colspan="2">充电量 {{jzl}}度</td>
454   - <td colspan="2">进场存电 {{jcyl}}%</td>
455   - <td colspan="4">加注机油 &nbsp;升</td>
456   - <td colspan="4">本日耗电 {{yh}}度</td>
457   - {{/if}}
458   - {{if type==2}}
459   - <td colspan="2">出场存电 {{ccyl}}%</td>
460   - <td colspan="2">充电量 {{jzl}}度</td>
461   - <td colspan="2">进场存电 {{jcyl}}%</td>
462   - <td colspan="4">加注机油 &nbsp;升</td>
463   - <td colspan="4">本日耗电 {{yh}}度</td>
464   - {{/if}}
465   - </tr>
466   - <tr>
467   - <td rowspan="2">调度章</td>
468   - <td colspan="1">&nbsp;</td>
469   - <td rowspan="2">早班</td>
470   - <td colspan="1">&nbsp;</td>
471   - <td rowspan="2">夜班</td>
472   - <td colspan="1">&nbsp;</td>
473   - <td rowspan="2" colspan="2">交叉</td>
474   - <td colspan="2">&nbsp;</td>
475   - <td rowspan="2">其他</td>
476   - <td colspan="1">&nbsp;</td>
477   - <td colspan="1">&nbsp;</td>
478   - <td colspan="1">&nbsp;</td>
479   - </tr>
480   - <tr>
481   - <td colspan="1">&nbsp;</td>
482   - <td colspan="1">&nbsp;</td>
483   - <td colspan="1">&nbsp;</td>
484   - <td colspan="2">&nbsp;</td>
485   - <td colspan="1">&nbsp;</td>
486   - <td colspan="1">&nbsp;</td>
487   - <td colspan="1">&nbsp;</td>
488   - </tr>
489   - <tr>
490   - <td rowspan="2">车次</td>
491   - <td colspan="2">工号</td>
492   - <td rowspan="2">公里耗油</td>
493   - <td colspan="2">起讫站</td>
494   - <td colspan="4">时间</td>
495   - <td colspan="2">误点</td>
496   - <td rowspan="2" width="66px">里程(公里)计划</td>
497   - <td rowspan="2">备注</td>
498   - </tr>
499   - <tr>
500   - <td colspan="1" width="60px">司&nbsp;机</td>
501   - <td colspan="1" width="60px">售&nbsp;票</td>
502   - <td colspan="1">起点</td>
503   - <td colspan="1">终点</td>
504   - <td colspan="1">计发</td>
505   - <td colspan="1">实发</td>
506   - <td colspan="1">应到</td>
507   - <td colspan="1">实到</td>
508   - <td colspan="1">快</td>
509   - <td colspan="1">慢</td>
510   - </tr>
511   -</script>
512   -<script type="text/html" id="ludan_2">
513   - {{each list as obj i}}
514   - <tr>
515   - <td>{{obj.adjustExps}}</td>
516   - <td>{{obj.jGh}}{{obj.jName}}</td>
517   - <td>{{if obj.sGh !=null}}
518   - {{obj.sGh}}{{obj.sName}}
519   - {{/if}}
520   - </td>
521   - <td>&nbsp;</td>
522   - <td>{{obj.qdzName}}</td>
523   - <td>{{obj.zdzName}}</td>
524   - <td>{{obj.fcsj}}</td>
525   - <td>{{obj.fcsjActual}}</td>
526   - <td>{{obj.zdsj}}</td>
527   - <td>{{obj.zdsjActual}}</td>
528   - <td>{{obj.fast}}</td>
529   - <td>{{obj.slow}}</td>
530   - <td>
531   - {{if obj.zdsjActual!=null}}
532   - {{obj.jhlc}}
533   - {{/if}}
534   - </td>
535   - <td >
536   - {{obj.remarks}}
537   - </td>
538   - </tr>
539   - {{/each}}
540   - {{if list.length == 0}}
541   - <tr>
542   - <td colspan="14"><h6 class="muted">没有找到相关数据</h6></td>
543   - </tr>
544   - {{/if}}
545   -</script>
546   -<script type="text/html" id="ludan_3">
547   - <tr>
548   - <td colspan="2">计划班次</td>
549   - <td>{{jhbc}}</td>
550   - <td colspan="2">计划公里</td>
551   - <td>{{jhlc}}</td>
552   - <td colspan="2">烂班班次</td>
553   - <td>{{cjbc}}</td>
554   - <td colspan="3"> 烂班公里</td>
555   - <td colspan="2">{{remMileage}}</td>
556   - </tr>
557   - <tr>
558   - <td colspan="2">临加班次</td>
559   - <td>{{ljbc}}</td>
560   - <td colspan="2">临加公里</td>
561   - <td>{{addMileage}}</td>
562   - <td colspan="2">实际班次</td>
563   - <td>{{sjbc}}</td>
564   - <td colspan="3">营运公里</td>
565   - <td colspan="2">{{yygl}}</td>
566   - </tr>
567   - <tr>
568   - <td colspan="2">空驶公里</td>
569   - <td>{{zkslc}}</td>
570   - <td colspan="2">总公里</td>
571   - <td>{{realMileage}}</td>
572   - <td colspan="2"></td>
573   - <td></td>
574   - <td colspan="3"></td>
575   - <td colspan="2"></td>
576   - </tr>
577   -</script>
  1 +<style type="text/css">
  2 + .table-bordered {
  3 + border: 1px solid; }
  4 + .table-bordered > thead > tr > th,
  5 + .table-bordered > thead > tr > td,
  6 + .table-bordered > tbody > tr > th,
  7 + .table-bordered > tbody > tr > td,
  8 + .table-bordered > tfoot > tr > th,
  9 + .table-bordered > tfoot > tr > td {
  10 + border: 1px solid; }
  11 + .table-bordered > thead > tr > th,
  12 + .table-bordered > thead > tr > td {
  13 + border-bottom-width: 2px; }
  14 +
  15 + .table > tbody + tbody {
  16 + border-top: 1px solid; }
  17 +</style>
  18 +
  19 +<div class="page-head">
  20 + <div class="page-title">
  21 + <h1>行车路单</h1>
  22 + </div>
  23 +</div>
  24 +
  25 +<div class="row">
  26 + <div class="col-md-12">
  27 + <div class="portlet light porttlet-fit bordered">
  28 + <div class="portlet-title">
  29 + <form class="form-inline" action="">
  30 + <div style="display: inline-block; margin-left: 33px;" id="gsdmDiv_xcld">
  31 + <span class="item-label" style="width: 80px;">公司: </span>
  32 + <select class="form-control" name="company" id="gsdmXcld" style="width: 180px;"></select>
  33 + </div>
  34 + <div style="display: inline-block; margin-left: 24px;" id="fgsdmDiv_xcld">
  35 + <span class="item-label" style="width: 80px;">分公司: </span>
  36 + <select class="form-control" name="subCompany" id="fgsdmXcld" style="width: 180px;"></select>
  37 + </div>
  38 + <div style="margin-top: 2px"></div>
  39 + <div style="display: inline-block; margin-left: 33px;">
  40 + <span class="item-label" style="width: 80px;">线路: </span>
  41 + <select class="form-control" name="line" id="line" style="width: 180px;"></select>
  42 + </div>
  43 + <div style="display: inline-block;margin-left: 24px;">
  44 + <span class="item-label" style="width: 80px;">&nbsp;时间: </span>
  45 + <input class="form-control" type="text" id="date" style="width: 180px;"/>
  46 + </div>
  47 + <div class="form-group" style="display: inline-block;margin-left: 15px;">
  48 + <input class="btn btn-default" type="button" id="query" value="查询"/>
  49 + <input class="btn btn-default" type="button" id="export" value="导出"/>
  50 + <input class="btn btn-default" type="button" id="print" value="打印"/>
  51 + <input class="btn btn-default" type="button" id="exportMore" value="批量导出"/>
  52 + </div>
  53 + </form>
  54 + </div>
  55 + <div class="portlet-body">
  56 + <div class="row">
  57 + <div class="col-md-3">
  58 + <div class="" id="left_height" style="margin-top: 10px;overflow:auto;">
  59 + <table class="table table-bordered table-hover table-checkable pre-scrollable" id="info">
  60 + <thead>
  61 + <tr class="hidden">
  62 + <th class="rypx" style="cursor:pointer ">人员</th>
  63 + <th class="zbhpx" style="cursor:pointer ">自编号</th>
  64 + <th class="lppx" style="cursor:pointer ">路牌</th>
  65 + </tr>
  66 + </thead>
  67 + <tbody>
  68 +
  69 + </tbody>
  70 + </table>
  71 + </div>
  72 + </div>
  73 + <div class="col-md-9" id="printArea">
  74 + <div class="table-container" id="xcld_height" style="margin-top: 10px;overflow:auto;min-width: 906px;">
  75 + <table class="table table-bordered table-checkable" id="forms">
  76 + <tbody class="ludan_1">
  77 +
  78 + </tbody>
  79 + <tbody class="ludan_2">
  80 +
  81 + </tbody>
  82 + <tbody class="ludan_3">
  83 +
  84 + </tbody>
  85 + <tbody class="ludan_4">
  86 +
  87 + </tbody>
  88 + </table>
  89 + </div>
  90 + </div>
  91 + </div>
  92 + </div>
  93 + </div>
  94 + </div>
  95 +</div>
  96 +
  97 +<script>
  98 + $(function(){
  99 + var fage=false;
  100 + // 关闭左侧栏
  101 + if (!$('body').hasClass('page-sidebar-closed'))
  102 + $('.menu-toggler.sidebar-toggler').click();
  103 +
  104 + $("#date").datetimepicker({
  105 + format : 'YYYY-MM-DD',
  106 + locale : 'zh-cn'
  107 + });
  108 +
  109 + $("#left_height").height($(window).height()-100);
  110 + $("#xcld_height").height($(window).height()-100);
  111 +
  112 + var d = new Date();
  113 + var year = d.getFullYear();
  114 + var month = d.getMonth() + 1;
  115 + var day = d.getDate();
  116 + if(month < 10)
  117 + month = "0" + month;
  118 + if(day < 10)
  119 + day = "0" + day;
  120 + $("#date").val(year + "-" + month + "-" + day);
  121 +
  122 + var obj = [];
  123 + var xlList;
  124 + $.get('/report/lineList',function(result){
  125 + xlList=result;
  126 +
  127 + $.get('/user/companyData', function(result){
  128 + obj = result;
  129 + console.log(obj);
  130 + var options = '';
  131 + for(var i = 0; i < obj.length; i++){
  132 + options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>';
  133 + }
  134 +
  135 + if(obj.length ==0){
  136 + $("#gsdmDiv_xcld").css('display','none');
  137 + }else if(obj.length ==1){
  138 + $("#gsdmDiv_xcld").css('display','none');
  139 + if(obj[0].children.length == 1 || obj[0].children.length ==0)
  140 + $('#fgsdmDiv_xcld').css('display','none');
  141 + }
  142 + $('#gsdmXcld').html(options);
  143 +
  144 + updateCompany();
  145 + });
  146 + });
  147 +
  148 + $("#gsdmXcld").on("change",updateCompany);
  149 + function updateCompany(){
  150 + var company = $('#gsdmXcld').val();
  151 + var options = '';
  152 + for(var i = 0; i < obj.length; i++){
  153 + if(obj[i].companyCode == company){
  154 + var children = obj[i].children;
  155 + for(var j = 0; j < children.length; j++){
  156 + options += '<option value="'+children[j].code+'">'+children[j].name+'</option>';
  157 + }
  158 + }
  159 + }
  160 + $('#fgsdmXcld').html(options);
  161 +// initXl();
  162 + }
  163 +
  164 +
  165 +
  166 +
  167 +// $("#fgsdmXcld").on("change",initXl);
  168 + /* function initXl(){
  169 + var data=[];
  170 + if(fage){
  171 + $("#line").select2("destroy").html('');
  172 + }
  173 + var fgs=$('#fgsdmXcld').val();
  174 + var gs=$('#gsdmXcld').val();
  175 + for(var i=0;i<xlList.length;i++){
  176 + if(gs!=""){
  177 + if(fgs!=""){
  178 + if(xlList[i]["fgsbm"]==fgs && xlList[i]["gsbm"]==gs){
  179 + data.push({id: xlList[i]["xlbm"], text: xlList[i]["xlname"]});
  180 + }
  181 + }else{
  182 + if(xlList[i]["gsbm"]==gs){
  183 + data.push({id: xlList[i]["xlbm"], text: xlList[i]["xlname"]});
  184 + }
  185 + }
  186 + }
  187 + }
  188 + initPinYinSelect2('#line',data,'');
  189 + fage=true;
  190 + } */
  191 +
  192 + var tempData = {};
  193 + $.get('/report/lineList',function(xlList){
  194 + var data = [];
  195 +// data.push({id: " ", text: "全部线路"});
  196 + $.get('/user/companyData', function(result){
  197 + for(var i = 0; i < result.length; i++){
  198 + var companyCode = result[i].companyCode;
  199 + var children = result[i].children;
  200 + for(var j = 0; j < children.length; j++){
  201 + var code = children[j].code;
  202 + for(var k=0;k < xlList.length;k++ ){
  203 + if(xlList[k]["fgsbm"]==code && xlList[k]["gsbm"]==companyCode){
  204 + data.push({id: xlList[k]["xlbm"], text: xlList[k]["xlname"]});
  205 + tempData[xlList[k]["xlbm"]] = companyCode+":"+code;
  206 + }
  207 + }
  208 + }
  209 + }
  210 + initPinYinSelect2('#line',data,'');
  211 +
  212 + });
  213 + });
  214 +
  215 + $("#line").on("change", function(){
  216 + if($("#line").val() == " "){
  217 + $("#gsdmXcld").attr("disabled", false);
  218 + $("#fgsdmXcld").attr("disabled", false);
  219 + } else {
  220 + var temp = (tempData[$("#line").val()] ? tempData[$("#line").val()] : " : ").split(":");
  221 + $("#gsdmXcld").val(temp[0]);
  222 + updateCompany();
  223 + $("#fgsdmXcld").val(temp[1]);
  224 + $("#gsdmXcld").attr("disabled", true);
  225 + $("#fgsdmXcld").attr("disabled", true);
  226 + }
  227 + });
  228 + var date = '';
  229 + var line = '';
  230 + var lineName;
  231 + $("#query").on("click",function(){
  232 + $("#left_height").height($(window).height()-100);
  233 + line = $("#line").val();
  234 + date = $("#date").val();
  235 + lineName = $('#line option:selected').text();
  236 + $(".hidden").removeClass("hidden");
  237 + $get('/realSchedule/queryUserInfo',{line:line,date:date,state:2},function(result){
  238 + // 把数据填充到模版中
  239 + var tbodyHtml = template('list_info',{list:result});
  240 + // 把渲染好的模版html文本追加到表格中
  241 + $('#info tbody').html(tbodyHtml);
  242 + });
  243 + });
  244 + var type="desc";
  245 + $(".rypx").on("click",function(){
  246 + line = $("#line").val();
  247 + date = $("#date").val();
  248 + $(".hidden").removeClass("hidden");
  249 + $get('/realSchedule/queryUserInfoPx',{line:line,date:date,state:"jGh",type:type},function(result){
  250 + if(type=="desc"){
  251 + type ="asc";
  252 + }else{
  253 + type ="desc";
  254 + }
  255 + // 把数据填充到模版中
  256 + var tbodyHtml = template('list_info_px',{list:result});
  257 + // 把渲染好的模版html文本追加到表格中
  258 + $('#info tbody').html(tbodyHtml);
  259 + });
  260 + })
  261 +
  262 + $(".zbhpx").on("click",function(){
  263 + line = $("#line").val();
  264 + date = $("#date").val();
  265 + $(".hidden").removeClass("hidden");
  266 + $get('/realSchedule/queryUserInfoPx',{line:line,date:date,state:"clZbh",type:type},function(result){
  267 + if(type=="desc"){
  268 + type ="asc";
  269 + }else{
  270 + type ="desc";
  271 + }
  272 + // 把数据填充到模版中
  273 + var tbodyHtml = template('list_info_px',{list:result});
  274 + // 把渲染好的模版html文本追加到表格中
  275 + $('#info tbody').html(tbodyHtml);
  276 + });
  277 + })
  278 +
  279 + $(".lppx").on("click",function(){
  280 + line = $("#line").val();
  281 + date = $("#date").val();
  282 + $(".hidden").removeClass("hidden");
  283 + $get('/realSchedule/queryUserInfoPx',{line:line,date:date,state:"lpName",type:type},function(result){
  284 + if(type=="desc"){
  285 + type ="asc";
  286 + }else{
  287 + type ="desc";
  288 + }
  289 + // 把数据填充到模版中
  290 + var tbodyHtml = template('list_info_px',{list:result});
  291 + // 把渲染好的模版html文本追加到表格中
  292 + $('#info tbody').html(tbodyHtml);
  293 + });
  294 + })
  295 +
  296 + var params = new Array();
  297 + var jName = '';
  298 + var jGh = '';
  299 + $("#info tbody").on("click","tr",function(){
  300 + if($(this).children().size() < 2){
  301 + return;
  302 + }
  303 + $("#xcld_height").height($(window).height()-100);
  304 + $(this).children().each(function(index){
  305 + params[index] = $(this).text();
  306 + });
  307 + jName = params[0].split("\\")[0];
  308 + jGh = params[0].split("\\")[1];
  309 + var id = params[3];
  310 + var obj = $(this);
  311 + $get('/realSchedule/MapById',{id:id},function(result){
  312 + result.scheduleDate = moment(result.scheduleDate).format("YYYY/MM/DD");
  313 + var ludan_1 = template('ludan_1',result);
  314 + // 把渲染好的模版html文本追加到表格中
  315 + $('#forms .ludan_1').html(ludan_1);
  316 + });
  317 + $get('/realSchedule/queryListWaybill',{jGh:jGh,clZbh:params[1],lpName:params[2],date:date,line:line},function(result){
  318 + getTime(result);
  319 + /* $get('/realSchedule/MapById',{id:result[0].id},function(result){
  320 + result.scheduleDate = moment(result.scheduleDate).format("YYYY/MM/DD");
  321 + var ludan_1 = template('ludan_1',result);
  322 + // 把渲染好的模版html文本追加到表格中
  323 + $('#forms .ludan_1').html(ludan_1);
  324 + }); */
  325 + var ludan_2 = template('ludan_2',{list:result});
  326 + // 把渲染好的模版html文本追加到表格中
  327 + $('#forms .ludan_2').html(ludan_2);
  328 + });
  329 + $get('/realSchedule/findKMBC',{jGh:jGh,clZbh:params[1],lpName:params[2],date:date,line:line},function(result){
  330 + var ludan_3 = template('ludan_3',result);
  331 + $('#forms .ludan_3').html(ludan_3);
  332 + $("#info tbody tr").css('background-color', '');
  333 + obj.css('background-color', '#99CCFF');
  334 + });
  335 +
  336 +
  337 + });
  338 +
  339 + $("#export").on("click",function(){
  340 + if(params.length < 1){
  341 + return;
  342 + }
  343 + var i = layer.load(2);
  344 + $get('/realSchedule/exportWaybill',{jName:jName,jGh:jGh,clZbh:params[1],lpName:params[2],date:date,line:line},function(result){
  345 + var fileName=date+"-"+jName+"-"+params[1]+"-"+params[2]+"-行车路单";
  346 + window.open("/downloadFile/download?fileName="+encodeURIComponent(fileName));
  347 + layer.close(i);
  348 + });
  349 + });
  350 +
  351 + $("#print").click(function(){
  352 + $("#printArea").printArea();
  353 + });
  354 +
  355 + $("#exportMore").on("click",function(){
  356 + if($("#info tbody tr td").length <= 1)
  357 + return;
  358 + var i = layer.load(2);
  359 + var param = new Array();
  360 + $("#info tbody tr").each(function(index){
  361 + param[index] = new Array();
  362 + $(this).children().each(function(i){
  363 + if(i<3){
  364 + param[index][i] = $(this).text().split("\\")[0];
  365 + if(i==0){
  366 + param[index][3] = $(this).text().split("\\")[1];
  367 +
  368 + }
  369 + }
  370 + });
  371 + });
  372 +// $get('/realSchedule/exportWaybillMore',{date:date,line:line,strs:JSON.stringify(param)},function(result){
  373 +// window.open("/downloadFile/downloadList?fileName="+result.fileName); //下载压缩包
  374 + $get('/busInterval/exportWaybillMore',{date:date,line:line,lineName:lineName,strs:JSON.stringify(param)},function(result){
  375 + window.open("/downloadFile/download?fileName="+result.fileName);
  376 + layer.close(i);
  377 + });
  378 + });
  379 +
  380 + function getTime(list){
  381 + $.each(list, function(i, obj) {
  382 + if(obj.zdsj != null && obj.zdsjActual != null ){
  383 + var zdsjActual = (obj.zdsjActual).split(":");
  384 + var zdsj = (obj.zdsj).split(":");
  385 + if(zdsjActual[0]*60+Number(zdsjActual[1]) > zdsj[0]*60+Number(zdsj[1])){
  386 + if(zdsjActual[0]*60+Number(zdsjActual[1]) - zdsj[0]*60+Number(zdsj[1]) > 1000){
  387 + obj["fast"] = (zdsj[0]*60+Number(zdsj[1])) - (zdsjActual[0]*60+Number(zdsjActual[1])) + 1440;
  388 + } else {
  389 + obj["slow"] = (zdsjActual[0]*60+Number(zdsjActual[1])) - (zdsj[0]*60+Number(zdsj[1]));
  390 + }
  391 + }
  392 + else if(zdsjActual[0]*60+Number(zdsjActual[1]) < zdsj[0]*60+Number(zdsj[1])){
  393 + if((zdsj[0]*60+Number(zdsj[1])) - (zdsjActual[0]*60+Number(zdsjActual[1])) > 1000){
  394 + obj["slow"] = (zdsjActual[0]*60+Number(zdsjActual[1])) - (zdsj[0]*60+Number(zdsj[1])) + 1440;
  395 + } else {
  396 + obj["fast"] = (zdsj[0]*60+Number(zdsj[1])) - (zdsjActual[0]*60+Number(zdsjActual[1]));
  397 + }
  398 + }
  399 + }
  400 + });
  401 + }
  402 + });
  403 +</script>
  404 +<script type="text/html" id="list_info">
  405 + {{each list as obj i}}
  406 + <tr>
  407 + <td width="45%">{{obj.jName}}\{{obj.jGh}}</td>
  408 + <td width="32%">{{obj.clZbh}}</td>
  409 + <td width="23%">{{obj.lpName}}</td>
  410 + <td hidden="true">{{obj.id}}</td>
  411 + </tr>
  412 + {{/each}}
  413 + {{if list.length == 0}}
  414 + <tr>
  415 + <td colspan="3"><h6 class="muted">没有找到相关数据</h6></td>
  416 + </tr>
  417 + {{/if}}
  418 +</script>
  419 +<script type="text/html" id="list_info_px">
  420 + {{each list as obj i}}
  421 + <tr>
  422 +
  423 + <td width="45%">{{obj.jName}}\{{obj.jGh}}</td>
  424 + <td width="32%">{{obj.clZbh}}</td>
  425 + <td width="23%">{{obj.lpName}}</td>
  426 + <td hidden="true">{{obj.id}}</td>
  427 + </tr>
  428 + {{/each}}
  429 + {{if list.length == 0}}
  430 + <tr>
  431 + <td colspan="3"><h6 class="muted">没有找到相关数据</h6></td>
  432 + </tr>
  433 + {{/if}}
  434 +</script>
  435 +<script type="text/html" id="ludan_1">
  436 + <tr>
  437 + <td colspan="14">行车路单</td>
  438 + </tr>
  439 + <tr>
  440 + <td colspan="14">路别:{{xlName}} 路牌:{{lpName}} 车号:{{clZbh}}({{plate}}) 出场时间:{{fcsjActual}} 到达站名:{{zdzName}} 当班调派:{{dbdp}} 日期:{{scheduleDate}}</td>
  441 + </tr>
  442 + <tr>
  443 + {{if type==0}}
  444 + <td colspan="2">出场存油 {{ccyl}}升</td>
  445 + <td colspan="2">加注量 {{jzl}}升</td>
  446 + <td colspan="2">进场存油 {{jcyl}}升</td>
  447 + <td colspan="2">加注机油 &nbsp;升</td>
  448 + <td colspan="3">{{rylx}}</td>
  449 + <td colspan="3">本日耗油 {{yh}}升</td>
  450 + {{/if}}
  451 + {{if type==1}}
  452 + <td colspan="2">出场存电 {{ccyl}}%</td>
  453 + <td colspan="2">充电量 {{jzl}}度</td>
  454 + <td colspan="2">进场存电 {{jcyl}}%</td>
  455 + <td colspan="4">加注机油 &nbsp;升</td>
  456 + <td colspan="4">本日耗电 {{yh}}度</td>
  457 + {{/if}}
  458 + {{if type==2}}
  459 + <td colspan="2">出场存电 {{ccyl}}%</td>
  460 + <td colspan="2">充电量 {{jzl}}度</td>
  461 + <td colspan="2">进场存电 {{jcyl}}%</td>
  462 + <td colspan="4">加注机油 &nbsp;升</td>
  463 + <td colspan="4">本日耗电 {{yh}}度</td>
  464 + {{/if}}
  465 + </tr>
  466 + {{if hyd==1}}
  467 + <tr>
  468 + <td colspan="2">出场存氢 {{czql}}%</td>
  469 + <td colspan="2">充氢量 {{jql}}方</td>
  470 + <td colspan="2">进场存氢 {{jzql}}%</td>
  471 + <td colspan="4">加注机油 &nbsp;升</td>
  472 + <td colspan="4">本日耗氢 {{hq}}方</td>
  473 + </tr>
  474 + {{/if}}
  475 + <tr>
  476 + <td rowspan="2">调度章</td>
  477 + <td colspan="1">&nbsp;</td>
  478 + <td rowspan="2">早班</td>
  479 + <td colspan="1">&nbsp;</td>
  480 + <td rowspan="2">夜班</td>
  481 + <td colspan="1">&nbsp;</td>
  482 + <td rowspan="2" colspan="2">交叉</td>
  483 + <td colspan="2">&nbsp;</td>
  484 + <td rowspan="2">其他</td>
  485 + <td colspan="1">&nbsp;</td>
  486 + <td colspan="1">&nbsp;</td>
  487 + <td colspan="1">&nbsp;</td>
  488 + </tr>
  489 + <tr>
  490 + <td colspan="1">&nbsp;</td>
  491 + <td colspan="1">&nbsp;</td>
  492 + <td colspan="1">&nbsp;</td>
  493 + <td colspan="2">&nbsp;</td>
  494 + <td colspan="1">&nbsp;</td>
  495 + <td colspan="1">&nbsp;</td>
  496 + <td colspan="1">&nbsp;</td>
  497 + </tr>
  498 + <tr>
  499 + <td rowspan="2">车次</td>
  500 + <td colspan="2">工号</td>
  501 + <td rowspan="2">公里耗油</td>
  502 + <td colspan="2">起讫站</td>
  503 + <td colspan="4">时间</td>
  504 + <td colspan="2">误点</td>
  505 + <td rowspan="2" width="66px">里程(公里)计划</td>
  506 + <td rowspan="2">备注</td>
  507 + </tr>
  508 + <tr>
  509 + <td colspan="1" width="60px">司&nbsp;机</td>
  510 + <td colspan="1" width="60px">售&nbsp;票</td>
  511 + <td colspan="1">起点</td>
  512 + <td colspan="1">终点</td>
  513 + <td colspan="1">计发</td>
  514 + <td colspan="1">实发</td>
  515 + <td colspan="1">应到</td>
  516 + <td colspan="1">实到</td>
  517 + <td colspan="1">快</td>
  518 + <td colspan="1">慢</td>
  519 + </tr>
  520 +</script>
  521 +<script type="text/html" id="ludan_2">
  522 + {{each list as obj i}}
  523 + <tr>
  524 + <td>{{obj.adjustExps}}</td>
  525 + <td>{{obj.jGh}}{{obj.jName}}</td>
  526 + <td>{{if obj.sGh !=null}}
  527 + {{obj.sGh}}{{obj.sName}}
  528 + {{/if}}
  529 + </td>
  530 + <td>&nbsp;</td>
  531 + <td>{{obj.qdzName}}</td>
  532 + <td>{{obj.zdzName}}</td>
  533 + <td>{{obj.fcsj}}</td>
  534 + <td>{{obj.fcsjActual}}</td>
  535 + <td>{{obj.zdsj}}</td>
  536 + <td>{{obj.zdsjActual}}</td>
  537 + <td>{{obj.fast}}</td>
  538 + <td>{{obj.slow}}</td>
  539 + <td>
  540 + {{if obj.zdsjActual!=null}}
  541 + {{obj.jhlc}}
  542 + {{/if}}
  543 + </td>
  544 + <td >
  545 + {{obj.remarks}}
  546 + </td>
  547 + </tr>
  548 + {{/each}}
  549 + {{if list.length == 0}}
  550 + <tr>
  551 + <td colspan="14"><h6 class="muted">没有找到相关数据</h6></td>
  552 + </tr>
  553 + {{/if}}
  554 +</script>
  555 +<script type="text/html" id="ludan_3">
  556 + <tr>
  557 + <td colspan="2">计划班次</td>
  558 + <td>{{jhbc}}</td>
  559 + <td colspan="2">计划公里</td>
  560 + <td>{{jhlc}}</td>
  561 + <td colspan="2">烂班班次</td>
  562 + <td>{{cjbc}}</td>
  563 + <td colspan="3"> 烂班公里</td>
  564 + <td colspan="2">{{remMileage}}</td>
  565 + </tr>
  566 + <tr>
  567 + <td colspan="2">临加班次</td>
  568 + <td>{{ljbc}}</td>
  569 + <td colspan="2">临加公里</td>
  570 + <td>{{addMileage}}</td>
  571 + <td colspan="2">实际班次</td>
  572 + <td>{{sjbc}}</td>
  573 + <td colspan="3">营运公里</td>
  574 + <td colspan="2">{{yygl}}</td>
  575 + </tr>
  576 + <tr>
  577 + <td colspan="2">空驶公里</td>
  578 + <td>{{zkslc}}</td>
  579 + <td colspan="2">总公里</td>
  580 + <td>{{realMileage}}</td>
  581 + <td colspan="2"></td>
  582 + <td></td>
  583 + <td colspan="3"></td>
  584 + <td colspan="2"></td>
  585 + </tr>
  586 +</script>
... ...