Commit 7da3b27be4f0cd8d64791183ea06cf6e4820bee9

Authored by 潘钊
2 parents 34509f59 c7ee0976

Merge branch 'minhang' of http://222.66.0.204:8090/panzhaov5/bsth_control into minhang

src/main/resources/static/pages/base/timesmodel/add.html
@@ -109,7 +109,7 @@ @@ -109,7 +109,7 @@
109 <!-- 线路名称 (* 必填项) START --> 109 <!-- 线路名称 (* 必填项) START -->
110 <div class="col-md-6"> 110 <div class="col-md-6">
111 <label class="control-label col-md-5"> 111 <label class="control-label col-md-5">
112 - <span class="required"> * </span> 线路名称&nbsp; 112 + <span class="required"> * </span> 线路名称&nbsp;&nbsp;&nbsp;&nbsp;
113 </label> 113 </label>
114 <div class="col-md-6"> 114 <div class="col-md-6">
115 <select name="lineName" class="form-control input-medium" id="lineSelect"></select> 115 <select name="lineName" class="form-control input-medium" id="lineSelect"></select>
@@ -138,7 +138,7 @@ @@ -138,7 +138,7 @@
138 </div> 138 </div>
139 <!-- 客容总量 --> 139 <!-- 客容总量 -->
140 <div class="form-group" id="krlGroup"> 140 <div class="form-group" id="krlGroup">
141 - <label class="col-md-3 control-label"><span class="required"> * </span>客容总量&nbsp;&nbsp;:</label> 141 + <label class="col-md-3 control-label"><span class="required"> * </span>客容总量&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>
142 <div class="col-md-9"> 142 <div class="col-md-9">
143 <input type="text" class="form-control input-medium" name="krl" id="krlInput" placeholder="客容总量"> 143 <input type="text" class="form-control input-medium" name="krl" id="krlInput" placeholder="客容总量">
144 </div> 144 </div>
src/main/resources/static/pages/base/timesmodel/css/index.css
@@ -118,7 +118,7 @@ text.alert-danger { @@ -118,7 +118,7 @@ text.alert-danger {
118 118
119 .ganttSvgContainer { 119 .ganttSvgContainer {
120 height: 400px; 120 height: 400px;
121 - overflow: auto; 121 + overflow: hidden;
122 position: relative; 122 position: relative;
123 } 123 }
124 124
@@ -156,3 +156,72 @@ text.alert-danger { @@ -156,3 +156,72 @@ text.alert-danger {
156 ::selection { 156 ::selection {
157 background:rgba(255, 255, 255, 0); 157 background:rgba(255, 255, 255, 0);
158 } 158 }
  159 +
  160 +.tipsdscontinue {
  161 + width:100%;
  162 + overflow: hidden;
  163 +}
  164 +
  165 +.tipsdscontinue span {
  166 + display:block;
  167 + float:left;
  168 + font-size:x-small;
  169 + line-height:10px;
  170 + padding: 2px 8px 4px 8px;
  171 +}
  172 +
  173 +.dscrp {
  174 + width: 28%;
  175 + height: 6px;
  176 + padding: 8px 8px 8px 30px;
  177 + float: left;
  178 +}
  179 +
  180 +.sx {
  181 + background-color: #233f5d;
  182 +}
  183 +
  184 +.xx {
  185 + background-color: #31394a;
  186 +}
  187 +
  188 +.tipso_bubble {
  189 + border: 1px #E91E63 solid;
  190 + /* box-shadow: 10px 10px 5px #888888; */
  191 + box-shadow: 4px 4px 2px #888888;
  192 + background: #ffffff !important;
  193 +}
  194 +.tipso_arrow {
  195 + /* border-color: transparent #E91E63 transparent transparent !important; */
  196 +}
  197 +
  198 +
  199 +
  200 +.ganttSvgContainer::-webkit-scrollbar {
  201 +width:6px;
  202 +height:6px;
  203 +}
  204 +.ganttSvgContainer::-webkit-scrollbar-button {
  205 +/* background-color:#FF7677; */
  206 +background:rgba(255, 255, 255, 0);
  207 +}
  208 +.ganttSvgContainer::-webkit-scrollbar-track {
  209 +/* background:#FF66D5; */
  210 +background:rgba(255, 255, 255, 0);
  211 +}
  212 +.ganttSvgContainer::-webkit-scrollbar-track-piece {
  213 +/* background:#ff0000; */
  214 +background:rgba(255, 255, 255, 0);
  215 +}
  216 +.ganttSvgContainer::-webkit-scrollbar-thumb{
  217 +background:rgba(197, 196, 196, 0.81);
  218 +border-radius:10px !important;
  219 +}
  220 +.ganttSvgContainer::-webkit-scrollbar-corner {
  221 +/* background:#82AFFF; */
  222 +background:rgba(255, 255, 255, 0);
  223 +}
  224 +.ganttSvgContainer::-webkit-scrollbar-resizer {
  225 +/* background:#FF0BEE; */
  226 +background:rgba(255, 255, 255, 0);
  227 +}
159 \ No newline at end of file 228 \ No newline at end of file
src/main/resources/static/pages/base/timesmodel/edit-detail.html
@@ -232,6 +232,7 @@ @@ -232,6 +232,7 @@
232 * @params [obj--甘特图对象;d--当前修改班次对象数据] 232 * @params [obj--甘特图对象;d--当前修改班次对象数据]
233 */ 233 */
234 $('#editDetail_mobal').on('editDetailMobal.show', function(e,obj,nodeContext,bf,map){ 234 $('#editDetail_mobal').on('editDetailMobal.show', function(e,obj,nodeContext,bf,map){
  235 + debugger;
235 // 定义当前班次数据. 236 // 定义当前班次数据.
236 var dqbcData = nodeContext.dqbcData; 237 var dqbcData = nodeContext.dqbcData;
237 var ddbcminztjx = isUpdsgbctzsj(dqbcData.bcType) || isUpdsgbctzsj(nodeContext.nextData.bcType) ? dqbcData.STOPTIME : obj.configuration.dataMap.minztjx,lastminztjx = 0; 238 var ddbcminztjx = isUpdsgbctzsj(dqbcData.bcType) || isUpdsgbctzsj(nodeContext.nextData.bcType) ? dqbcData.STOPTIME : obj.configuration.dataMap.minztjx,lastminztjx = 0;
src/main/resources/static/pages/base/timesmodel/gantt.html
@@ -22,13 +22,14 @@ @@ -22,13 +22,14 @@
22 <!-- col-md-12 组件START --> 22 <!-- col-md-12 组件START -->
23 <div class="col-md-12"> 23 <div class="col-md-12">
24 <!-- portlet 组件START --> 24 <!-- portlet 组件START -->
25 - <div class="portlet light porttlet-fit bordered"> 25 + <div class="portlet light porttlet-fit bordered" >
26 <!-- portlet-title组件START --> 26 <!-- portlet-title组件START -->
27 <div class="portlet-title"> 27 <div class="portlet-title">
28 <!-- caption 组件START --> 28 <!-- caption 组件START -->
29 - <div class="caption"> 29 + <div class="caption offset">
30 <i class="fa fa-bar-chart font-dark"></i> 30 <i class="fa fa-bar-chart font-dark"></i>
31 - <span class="caption-subject font-dark sbold uppercase">时刻表明细模型</span> 31 + <span class="caption-subject font-dark sbold uppercase skmxTitle"></span>
  32 + <i class="fa fa-question-circle tipso-animation" style="color: rgba(158, 158, 158, 0.49);float: right;margin-left: 2px;"></i>
32 </div> 33 </div>
33 <!-- caption 组件END --> 34 <!-- caption 组件END -->
34 <div class="tools" style="margin-left: 20px;margin-top: -10px;"> 35 <div class="tools" style="margin-left: 20px;margin-top: -10px;">
@@ -92,7 +93,7 @@ @@ -92,7 +93,7 @@
92 <!-- portlet-title组件END --> 93 <!-- portlet-title组件END -->
93 94
94 <!-- portlet-body组件START --> 95 <!-- portlet-body组件START -->
95 - <div class="portlet-body"> 96 + <div class="portlet-body" id="scrllmouseEvent">
96 <!-- ganttSvgContainer SVG组件START --> 97 <!-- ganttSvgContainer SVG组件START -->
97 <div class="ganttSvgContainer"> 98 <div class="ganttSvgContainer">
98 <div id="ganttSvg"></div> 99 <div id="ganttSvg"></div>
src/main/resources/static/pages/base/timesmodel/js/add-form-wizard.js
@@ -612,8 +612,9 @@ var SKBFormWizard = function() { @@ -612,8 +612,9 @@ var SKBFormWizard = function() {
612 function submit(p,argus) { 612 function submit(p,argus) {
613 storage.setItem("Gantt_AgursData",JSON.stringify(argus)); 613 storage.setItem("Gantt_AgursData",JSON.stringify(argus));
614 if(p!=null) { 614 if(p!=null) {
615 - console.log(JSON.stringify(p.rsLp));  
616 storage.setItem('isDoDate',JSON.stringify({'rsD':p.rsD,'rsLP':p.rsLp})); 615 storage.setItem('isDoDate',JSON.stringify({'rsD':p.rsD,'rsLP':p.rsLp}));
  616 + }else {
  617 + storage.setItem('isDoDate','');
617 } 618 }
618 loadPage('gantt.html'); 619 loadPage('gantt.html');
619 } 620 }
src/main/resources/static/pages/base/timesmodel/js/base-fun.js
@@ -269,11 +269,11 @@ var BaseFun = function() { @@ -269,11 +269,11 @@ var BaseFun = function() {
269 for(var a =0;a<carArray.length;a++) { 269 for(var a =0;a<carArray.length;a++) {
270 var _mmstartTime = baseF.getDateTime(gatps.earlyStartTime);// 获取早高峰开始时间点,并转为时间对象. 270 var _mmstartTime = baseF.getDateTime(gatps.earlyStartTime);// 获取早高峰开始时间点,并转为时间对象.
271 var tempTime = new Date(_mmstartTime.setMinutes(_mmstartTime.getMinutes()-(ca.length-parseInt(carArray[a].lpNo))*ma[0].fcjx)); 271 var tempTime = new Date(_mmstartTime.setMinutes(_mmstartTime.getMinutes()-(ca.length-parseInt(carArray[a].lpNo))*ma[0].fcjx));
272 - var cctag = baseF.getdefaultDir(dataMap.smbcsjArr);// 获取出场类型 [0--上行出场;1--下行出场] 272 + var cctag = gatps.linePlayType=='1' ? 0 : baseF.getdefaultDir(dataMap.smbcsjArr);// 获取出场类型 [0--上行出场;1--下行出场]
273 var kssj = baseF.getDateTime(time[0]); // 获取该时段的开始时间点,并转为时间对象. 273 var kssj = baseF.getDateTime(time[0]); // 获取该时段的开始时间点,并转为时间对象.
274 var sjAndDir = baseF.getBeganTime(tempTime,kssj,type, ma,dataMap.zgfsjd,dataMap.wgfsjd,dataMap.pcxssjArr,dataMap.gfxxsjArr,cctag, dataMap.ztjxA);// 计算当前路牌第一个首班时间点. 274 var sjAndDir = baseF.getBeganTime(tempTime,kssj,type, ma,dataMap.zgfsjd,dataMap.wgfsjd,dataMap.pcxssjArr,dataMap.gfxxsjArr,cctag, dataMap.ztjxA);// 计算当前路牌第一个首班时间点.
275 kssj = sjAndDir.d1; 275 kssj = sjAndDir.d1;
276 - cctag = sjAndDir.dir; 276 + cctag = gatps.linePlayType=='1' ? 0 : sjAndDir.dir;
277 var endTime = baseF.getDateTime( 277 var endTime = baseF.getDateTime(
278 baseF.getEndStrt(type,dataMap.smbcsjArr,time[1],cctag));// 获取该时段的结束时间点,并转为时间对象. 278 baseF.getEndStrt(type,dataMap.smbcsjArr,time[1],cctag));// 获取该时段的结束时间点,并转为时间对象.
279 var $_cfn = 0,$_cfw = 0; 279 var $_cfn = 0,$_cfw = 0;
@@ -287,7 +287,7 @@ var BaseFun = function() { @@ -287,7 +287,7 @@ var BaseFun = function() {
287 dataMap.dira[cctag],xhNo++,dataMap.cclcArr[cctag],gatps,0,dataMap.qdzArr[cctag],null,null,0,0));// 出场班次 287 dataMap.dira[cctag],xhNo++,dataMap.cclcArr[cctag],gatps,0,dataMap.qdzArr[cctag],null,null,0,0));// 出场班次
288 var fxTagDm = 0; 288 var fxTagDm = 0;
289 while(kssj<=endTime) { 289 while(kssj<=endTime) {
290 - cctag = baseF.getfx(fxTagDm,cctag); 290 + cctag = gatps.linePlayType=='1' ? 0 : baseF.getfx(fxTagDm,cctag);
291 fxTagDm = 1; 291 fxTagDm = 1;
292 if(kssj> new Date (baseF.getCFDate(10,30)) && 292 if(kssj> new Date (baseF.getCFDate(10,30)) &&
293 kssj<new Date (baseF.getCFDate(12,0)) && $_cfn<1 ) { 293 kssj<new Date (baseF.getCFDate(12,0)) && $_cfn<1 ) {
@@ -556,7 +556,6 @@ var BaseFun = function() { @@ -556,7 +556,6 @@ var BaseFun = function() {
556 getRankRule : function(list,clzs,seMap) { 556 getRankRule : function(list,clzs,seMap) {
557 // 定义班型人次数据的长度.路牌数组长度. 557 // 定义班型人次数据的长度.路牌数组长度.
558 var bxgs = list.data.length,clzslen = clzs.length; 558 var bxgs = list.data.length,clzslen = clzs.length;
559 -  
560 /** 559 /**
561 * 分配规则:获取总人数与车辆数的关系.返回值[-1-- 总人数小与车辆总数; 0--总人数等于车辆数; 1--总人数大与车辆数] 560 * 分配规则:获取总人数与车辆数的关系.返回值[-1-- 总人数小与车辆总数; 0--总人数等于车辆数; 1--总人数大与车辆数]
562 * 561 *
@@ -570,6 +569,7 @@ var BaseFun = function() { @@ -570,6 +569,7 @@ var BaseFun = function() {
570 * */ 569 * */
571 switch(baseF.isrcNumEqualCarNum(list.rsa,clzslen)){ 570 switch(baseF.isrcNumEqualCarNum(list.rsa,clzslen)){
572 case -1: 571 case -1:
  572 + baseF.fprclp(bxgs,list,clzs);
573 break; 573 break;
574 case 0: 574 case 0:
575 // 判断.班型人次是否为一种还是多种情况. 575 // 判断.班型人次是否为一种还是多种情况.
@@ -584,6 +584,7 @@ var BaseFun = function() { @@ -584,6 +584,7 @@ var BaseFun = function() {
584 case 1: 584 case 1:
585 // 定义最大工时值. 585 // 定义最大工时值.
586 var maxhoursV = parseFloat((((baseF.getDateTime(seMap.e) - baseF.getDateTime(seMap.s))/60000)/60).toFixed(2)); 586 var maxhoursV = parseFloat((((baseF.getDateTime(seMap.e) - baseF.getDateTime(seMap.s))/60000)/60).toFixed(2));
  587 + // var maxhoursV = 24;
587 // 定义总人数. 588 // 定义总人数.
588 var rsdx = 0 ; 589 var rsdx = 0 ;
589 for(var n = 0 ; n < list.rsa.length;n++) { 590 for(var n = 0 ; n < list.rsa.length;n++) {
@@ -598,9 +599,9 @@ var BaseFun = function() { @@ -598,9 +599,9 @@ var BaseFun = function() {
598 for(var a = b ; a<bxgs; a++) { 599 for(var a = b ; a<bxgs; a++) {
599 var pphours = list.data[a].hoursV; 600 var pphours = list.data[a].hoursV;
600 var zhnum = pphours+dqhours; 601 var zhnum = pphours+dqhours;
601 - if(zhnum>maxhoursV) 602 + if(zhnum>maxhoursV){
602 continue; 603 continue;
603 - else if(zhnum<maxhoursV) { 604 + }else if(zhnum<maxhoursV) {
604 zhHoursA.push({'bx1':list.data[b].type,'bx2':list.data[a].type,'countGs':zhnum}); 605 zhHoursA.push({'bx1':list.data[b].type,'bx2':list.data[a].type,'countGs':zhnum});
605 } 606 }
606 607
@@ -608,43 +609,53 @@ var BaseFun = function() { @@ -608,43 +609,53 @@ var BaseFun = function() {
608 } 609 }
609 // 按照工时倒序排序. 610 // 按照工时倒序排序.
610 zhHoursA.sort(function(a,b){return b.countGs-a.countGs}); 611 zhHoursA.sort(function(a,b){return b.countGs-a.countGs});
611 - var bxppA = zhHoursA[0],clp = null,dlp = null,pqobj = new Array(),bxpprc= new Array();  
612 - for(var m = 0 ; m<list.data.length;m++) {  
613 - if(list.data[m].type==bxppA.bx1 || list.data[m].type==bxppA.bx2) {  
614 - bxpprc.push(list.data[m].rs);  
615 - var czDx = list.data[m].rs - _rcDx;  
616 - if(czDx<0) {  
617 - var djbctype = null,absInt = Math.abs(czDx);  
618 - if(list.data[m].type==bxppA.bx1)  
619 - djbctype = bxppA.bx2;  
620 - else if(list.data[m].type==bxppA.bx2)  
621 - djbctype = bxppA.bx1;  
622 - var bqbc = zhHoursA[1];  
623 - for(var k = 0 ; k<bxgs ; k++) {  
624 - if(list.data[k].type == djbctype)  
625 - list.data[k].rs = list.data[k].rs + Math.abs(czDx);  
626 - if(list.data[k].type==bqbc.bx1 || list.data[k].type==bqbc.bx2) {  
627 - if(bqbc.bx1==bqbc.bx2)  
628 - list.data[k].rs = list.data[k].rs - absInt*2;  
629 - else if(bqbc.bx1!=bqbc.bx2)  
630 - list.data[k].rs = list.data[k].rs - absInt; 612 + if(zhHoursA.length>0) {
  613 + var bxppA = zhHoursA[0],clp = null,dlp = null,pqobj = new Array(),bxpprc= new Array();
  614 + for(var m = 0 ; m<list.data.length;m++) {
  615 + if(list.data[m].type==bxppA.bx1 || list.data[m].type==bxppA.bx2) {
  616 + bxpprc.push(list.data[m].rs);
  617 + var czDx = list.data[m].rs - _rcDx;
  618 + if(czDx<0) {
  619 + var djbctype = null,absInt = Math.abs(czDx);
  620 + if(list.data[m].type==bxppA.bx1)
  621 + djbctype = bxppA.bx2;
  622 + else if(list.data[m].type==bxppA.bx2)
  623 + djbctype = bxppA.bx1;
  624 + var bqbc = zhHoursA[1];
  625 + for(var k = 0 ; k<bxgs ; k++) {
  626 + if(list.data[k].type == djbctype)
  627 + list.data[k].rs = list.data[k].rs + Math.abs(czDx);
  628 + if(list.data[k].type==bqbc.bx1 || list.data[k].type==bqbc.bx2) {
  629 + if(bqbc.bx1==bqbc.bx2)
  630 + list.data[k].rs = list.data[k].rs - absInt*2;
  631 + else if(bqbc.bx1!=bqbc.bx2)
  632 + list.data[k].rs = list.data[k].rs - absInt;
  633 + }
631 } 634 }
  635 + pqobj.push({'type':bqbc.bx1 + '</br></br>' + bqbc.bx2 ,'minueV':bqbc.countGs,'rs':absInt});
  636 + }
  637 + czDx = czDx < 0 ? 0:czDx;
  638 + list.data[m].rs = czDx;
  639 + if(list.data[m].rs<=0) {
  640 + list.data.splice(m,1);
  641 + m--;
632 } 642 }
633 - pqobj.push({'type':bqbc.bx1 + '</br></br>' + bqbc.bx2 ,'minueV':bqbc.countGs,'rs':absInt});  
634 - }  
635 - czDx = czDx < 0 ? 0:czDx;  
636 - list.data[m].rs = czDx;  
637 - if(list.data[m].rs<=0) {  
638 - list.data.splice(m,1);  
639 - m--;  
640 } 643 }
641 } 644 }
  645 + list.data.push({'type':bxppA.bx1 + '</br></br>' + bxppA.bx2 ,
  646 + 'minueV' : bxppA.countGs,
  647 + 'rs':Math.min.apply(null, bxpprc) <_rcDx ? Math.min.apply(null, bxpprc) : _rcDx});
  648 + if(pqobj.length>0)
  649 + list.data.push(pqobj[0]);
  650 + }else {
  651 + list.data.sort(function(a,b){return (b.rs*b.hoursV)-(a.rs*a.hoursV)});
  652 + var fpchuqugs = Math.abs(_rcDx) * parseFloat(list.data[0].hoursV);
  653 + var avglp = parseFloat((fpchuqugs / clzslen).toFixed(2));
  654 + list.data[0].rs = list.data[0].rs - Math.abs(_rcDx);
  655 + for(var c = 0 ;c <list.data.length;c++) {
  656 + list.data[c].hoursV = parseFloat(list.data[c].hoursV) + avglp;
  657 + }
642 } 658 }
643 - list.data.push({'type':bxppA.bx1 + '</br></br>' + bxppA.bx2 ,  
644 - 'minueV' : bxppA.countGs,  
645 - 'rs':Math.min.apply(null, bxpprc) <_rcDx ? Math.min.apply(null, bxpprc) : _rcDx});  
646 - if(pqobj.length>0)  
647 - list.data.push(pqobj[0]);  
648 list.data.sort(function(a,b){return b.rs-a.rs}); 659 list.data.sort(function(a,b){return b.rs-a.rs});
649 baseF.fprclp(list.data.length,list,clzs); 660 baseF.fprclp(list.data.length,list,clzs);
650 break; 661 break;
@@ -749,13 +760,13 @@ var BaseFun = function() { @@ -749,13 +760,13 @@ var BaseFun = function() {
749 var _mmstartTime = baseF.getDateTime(map.earlyStartTime);// 获取早高峰开始时间点,并转为时间对象. 760 var _mmstartTime = baseF.getDateTime(map.earlyStartTime);// 获取早高峰开始时间点,并转为时间对象.
750 var tempTime = new Date(_mmstartTime.setMinutes(_mmstartTime.getMinutes()-(len - cara[c].lpNo)*saa[0].fcjx)); 761 var tempTime = new Date(_mmstartTime.setMinutes(_mmstartTime.getMinutes()-(len - cara[c].lpNo)*saa[0].fcjx));
751 var kssj = dataMap.zgfsjd[0].st; 762 var kssj = dataMap.zgfsjd[0].st;
752 - var cctag = baseF.getdefaultDir(dataMap.smbcsjArr);// 获取出场类型 [0--上行出场;1--下行出场] 763 + var cctag = map.linePlayType=='1' ? 0 : baseF.getdefaultDir(dataMap.smbcsjArr);// 获取出场类型 [0--上行出场;1--下行出场]
753 var sjAndDir = baseF.getBeganTime(tempTime,kssj,null, saa,dataMap.zgfsjd,dataMap.wgfsjd,dataMap.pcxssjArr,dataMap.gfxxsjArr,cctag, dataMap.ztjxA);// 计算当前路牌第一个首班时间点. 764 var sjAndDir = baseF.getBeganTime(tempTime,kssj,null, saa,dataMap.zgfsjd,dataMap.wgfsjd,dataMap.pcxssjArr,dataMap.gfxxsjArr,cctag, dataMap.ztjxA);// 计算当前路牌第一个首班时间点.
754 kssj = sjAndDir.d1; 765 kssj = sjAndDir.d1;
755 - cctag = sjAndDir.dir; 766 + cctag = map.linePlayType=='1' ? 0 : sjAndDir.dir;
756 var endTime = baseF.getDateTime(seMap.e),fxTagDm = 0 , xhNo = 3,$_cfn = 0,$_cfw = 0; 767 var endTime = baseF.getDateTime(seMap.e),fxTagDm = 0 , xhNo = 3,$_cfn = 0,$_cfw = 0;
757 while(kssj<=endTime) { 768 while(kssj<=endTime) {
758 - cctag = baseF.getfx(fxTagDm,cctag); 769 + cctag = map.linePlayType=='1' ? 0 : baseF.getfx(fxTagDm,cctag);
759 fxTagDm = 1; 770 fxTagDm = 1;
760 if(kssj> new Date (baseF.getCFDate(10,30)) && 771 if(kssj> new Date (baseF.getCFDate(10,30)) &&
761 kssj<new Date (baseF.getCFDate(12,0)) && $_cfn<1 ) { 772 kssj<new Date (baseF.getCFDate(12,0)) && $_cfn<1 ) {
@@ -783,6 +794,10 @@ var BaseFun = function() { @@ -783,6 +794,10 @@ var BaseFun = function() {
783 return rs; 794 return rs;
784 }, 795 },
785 796
  797 + /**
  798 + * @description : (TODO) 该方法可去除.
  799 + *
  800 + * */
786 getGfData : function (type, saa , cara , map, seMap ,dataMap,len,car) { 801 getGfData : function (type, saa , cara , map, seMap ,dataMap,len,car) {
787 var _mmstartTime = null,kssj = null,end = null ,result = new Array(),fxTagDm = 0 , xhNo = 0; 802 var _mmstartTime = null,kssj = null,end = null ,result = new Array(),fxTagDm = 0 , xhNo = 0;
788 if(type == 'mm') { 803 if(type == 'mm') {
@@ -1093,11 +1108,11 @@ var BaseFun = function() { @@ -1093,11 +1108,11 @@ var BaseFun = function() {
1093 return sortGattArray; 1108 return sortGattArray;
1094 }, 1109 },
1095 addbc : function(obj,lastObj,kssj,tzsj,xhNo,jsonArray,num) { 1110 addbc : function(obj,lastObj,kssj,tzsj,xhNo,jsonArray,num) {
1096 - var cctag = baseF.dirDmToIndex(lastObj.xlDir); 1111 + var cctag = obj.configuration.dataMap.map.linePlayType=='1' ? 0 : baseF.dirDmToIndex(lastObj.xlDir);
1097 var carArray = {'lp':lastObj.lp,'lpNo':lastObj.lpNo,'lpName':lastObj.lpName,'lpType':lastObj.lpType}; 1112 var carArray = {'lp':lastObj.lp,'lpNo':lastObj.lpNo,'lpName':lastObj.lpName,'lpType':lastObj.lpType};
1098 var ags = {'tcc_id':lastObj.tcc,'skbName':lastObj.ttinfo,'lineName':lastObj.xl+'_'}; 1113 var ags = {'tcc_id':lastObj.tcc,'skbName':lastObj.ttinfo,'lineName':lastObj.xl+'_'};
1099 for(var t = 0 ; t<num;t++){ 1114 for(var t = 0 ; t<num;t++){
1100 - cctag = baseF.getfx(1,cctag); 1115 + cctag = obj.configuration.dataMap.map.linePlayType=='1'? 0: baseF.getfx(1,cctag);
1101 var _xxsj = baseF.getxssj(obj.configuration.dataMap.zgfsjd, 1116 var _xxsj = baseF.getxssj(obj.configuration.dataMap.zgfsjd,
1102 obj.configuration.dataMap.wgfsjd, 1117 obj.configuration.dataMap.wgfsjd,
1103 kssj, 1118 kssj,
@@ -1172,7 +1187,7 @@ var BaseFun = function() { @@ -1172,7 +1187,7 @@ var BaseFun = function() {
1172 var _mmstartTime = new Date(obj.configuration.dataMap.zgfsjd[0].st); 1187 var _mmstartTime = new Date(obj.configuration.dataMap.zgfsjd[0].st);
1173 var tempTime = new Date(_mmstartTime.setMinutes(_mmstartTime.getMinutes()- 1188 var tempTime = new Date(_mmstartTime.setMinutes(_mmstartTime.getMinutes()-
1174 ((parseInt(obj.configuration.dataMap.map.clzs)-parseInt(theCar)))*obj.configuration.stopAraay[0].fcjx)); 1189 ((parseInt(obj.configuration.dataMap.map.clzs)-parseInt(theCar)))*obj.configuration.stopAraay[0].fcjx));
1175 - var cctag = bf.getdefaultDir(obj.configuration.dataMap.smbcsjArr);// 获取出场类型 [0--上行出场;1--下行出场] 1190 + var cctag = obj.configuration.dataMap.map.linePlayType=='1' ? 0 : bf.getdefaultDir(obj.configuration.dataMap.smbcsjArr);// 获取出场类型 [0--上行出场;1--下行出场]
1176 var kssj = new Date(obj.configuration.dataMap.zgfsjd[0].st); // 获取该时段的开始时间点,并转为时间对象. 1191 var kssj = new Date(obj.configuration.dataMap.zgfsjd[0].st); // 获取该时段的开始时间点,并转为时间对象.
1177 var sjAndDir = bf.getBeganTime(tempTime,kssj,null, 1192 var sjAndDir = bf.getBeganTime(tempTime,kssj,null,
1178 obj.configuration.stopAraay, 1193 obj.configuration.stopAraay,
@@ -1181,7 +1196,7 @@ var BaseFun = function() { @@ -1181,7 +1196,7 @@ var BaseFun = function() {
1181 obj.configuration.dataMap.pcxssjArr, 1196 obj.configuration.dataMap.pcxssjArr,
1182 obj.configuration.dataMap.gfxxsjArr,cctag, obj.configuration.dataMap.ztjxA);// 计算当前路牌第一个首班时间点. 1197 obj.configuration.dataMap.gfxxsjArr,cctag, obj.configuration.dataMap.ztjxA);// 计算当前路牌第一个首班时间点.
1183 kssj = sjAndDir.d1; 1198 kssj = sjAndDir.d1;
1184 - cctag = sjAndDir.dir; 1199 + cctag = obj.configuration.dataMap.map.linePlayType=='1' ? 0 : sjAndDir.dir;
1185 dqlpbc.push(bf.getbcObj( 1200 dqlpbc.push(bf.getbcObj(
1186 kssj,obj.configuration.dataMap.ccsjArr[cctag], 1201 kssj,obj.configuration.dataMap.ccsjArr[cctag],
1187 car,obj.configuration.dataMap.bcTypeArr.bd, 1202 car,obj.configuration.dataMap.bcTypeArr.bd,
@@ -1196,7 +1211,7 @@ var BaseFun = function() { @@ -1196,7 +1211,7 @@ var BaseFun = function() {
1196 obj.configuration.dataMap.qdzArr[cctag],null,null,0,0));// 出场班次 1211 obj.configuration.dataMap.qdzArr[cctag],null,null,0,0));// 出场班次
1197 var fxTagDm = 0; 1212 var fxTagDm = 0;
1198 for(var i = 0 ; i<numqs;i++) { 1213 for(var i = 0 ; i<numqs;i++) {
1199 - cctag = bf.getfx(fxTagDm,cctag); 1214 + cctag = obj.configuration.dataMap.map.linePlayType=='1' ? 0 : bf.getfx(fxTagDm,cctag);
1200 fxTagDm = 1; 1215 fxTagDm = 1;
1201 var _xxsj = bf.getxssj(obj.configuration.dataMap.zgfsjd, 1216 var _xxsj = bf.getxssj(obj.configuration.dataMap.zgfsjd,
1202 obj.configuration.dataMap.wgfsjd,kssj, 1217 obj.configuration.dataMap.wgfsjd,kssj,
src/main/resources/static/pages/base/timesmodel/js/d3.relationshipgraph.js
@@ -1242,11 +1242,13 @@ var RelationshipGraph = function () { @@ -1242,11 +1242,13 @@ var RelationshipGraph = function () {
1242 //console.log(tempa); 1242 //console.log(tempa);
1243 //console.log(tempa.upArr.concat(tempa.downArr).length); 1243 //console.log(tempa.upArr.concat(tempa.downArr).length);
1244 // 5、均匀上行班次的发车间距. 1244 // 5、均匀上行班次的发车间距.
1245 - BaseFun.jhfcjx(tempa.upArr,upDir,zzsj,$_GlobalGraph.configuration.dataMap); 1245 + if(tempa.upArr.length>0)
  1246 + BaseFun.jhfcjx(tempa.upArr,upDir,zzsj,$_GlobalGraph.configuration.dataMap);
1246 //var sxbc = BaseFun.jhfcjx(tempa.upArr,upDir,zzsj,$_GlobalGraph.configuration.dataMap); 1247 //var sxbc = BaseFun.jhfcjx(tempa.upArr,upDir,zzsj,$_GlobalGraph.configuration.dataMap);
1247 //console.log('getDirBc---- '+tempa.downArr.length); 1248 //console.log('getDirBc---- '+tempa.downArr.length);
1248 // 6、均匀下行班次的发车间距. 1249 // 6、均匀下行班次的发车间距.
1249 - BaseFun.jhfcjx(tempa.downArr,downDir,zzsj,$_GlobalGraph.configuration.dataMap); 1250 + if(tempa.downArr.length>0)
  1251 + BaseFun.jhfcjx(tempa.downArr,downDir,zzsj,$_GlobalGraph.configuration.dataMap);
1250 //var xxbc = BaseFun.jhfcjx(tempa.downArr,downDir,zzsj,$_GlobalGraph.configuration.dataMap); 1252 //var xxbc = BaseFun.jhfcjx(tempa.downArr,downDir,zzsj,$_GlobalGraph.configuration.dataMap);
1251 //console.log('jhfcjx---'+ xxbc.length); 1253 //console.log('jhfcjx---'+ xxbc.length);
1252 //console.log(sxbc.concat(xxbc).length); 1254 //console.log(sxbc.concat(xxbc).length);
src/main/resources/static/pages/base/timesmodel/js/gantt.js
@@ -10,8 +10,28 @@ @@ -10,8 +10,28 @@
10 var objD = window.localStorage.isDoDate; 10 var objD = window.localStorage.isDoDate;
11 // 获取表单参数配置数据. 11 // 获取表单参数配置数据.
12 var map = JSON.parse(window.localStorage.Gantt_AgursData); 12 var map = JSON.parse(window.localStorage.Gantt_AgursData);
  13 + $('.skmxTitle').text( '【' + map.skbmc + '】' + '时刻表明细模型');
13 // 延迟500毫秒执行. 14 // 延迟500毫秒执行.
14 setTimeout(function(){ 15 setTimeout(function(){
  16 + var offsetY = -parseInt($('.offset').offset().top)+16;
  17 + var offsetX = -parseInt($('.offset').offset().left)+50;
  18 + $('.tipso-animation').tipso({
  19 + speed : 100,
  20 + background : '#E91E63',
  21 + color : '#E91E63',
  22 + position :'right',
  23 + width : 410,
  24 + delay : 400,
  25 + animationIn : 'bounceIn',
  26 + animationOut : 'bounceOut',
  27 + offsetX : offsetX,
  28 + offsetY : offsetY,
  29 + content :'<div class="tipsdscontinue"> <span>图例:</span> <div class="dscrp sx"></div><span>:上行</span> <div class="dscrp xx"></div> <span>:下行</span></br><div/></br>' +
  30 + '<div class="tipsdscontinue"> <span>该模块支持鼠标拖拽、鼠标绘制(鼠标右键按下3S开始)框选功能.</span> <div/>'
  31 +
  32 + });
  33 + $('.tipso-animation').tipso('show');
  34 + setTimeout(function(){$('.tipso-animation').tipso('hide');},4000);
15 // 1、定义开始与结束时间点字符串. 35 // 1、定义开始与结束时间点字符串.
16 var seMap = getStartAndEndDate(map); 36 var seMap = getStartAndEndDate(map);
17 // 2、获取开始与结束时间对象. 37 // 2、获取开始与结束时间对象.
@@ -47,8 +67,6 @@ @@ -47,8 +67,6 @@
47 67
48 }else { 68 }else {
49 var jsonA = JSON.parse(objD); 69 var jsonA = JSON.parse(objD);
50 - console.log(jsonA.rsD);  
51 - console.log(jsonA.rsLP);  
52 // 使用已有的时刻表明细数据渲染视图. 70 // 使用已有的时刻表明细数据渲染视图.
53 data = {'json':jsonA.rsD,'bxrcgs':null}; 71 data = {'json':jsonA.rsD,'bxrcgs':null};
54 CSMap = {'gattA':null,'stopSpace': Math.round(map.zzsj/map.clzs),'maxCar':jsonA.rsLP}; 72 CSMap = {'gattA':null,'stopSpace': Math.round(map.zzsj/map.clzs),'maxCar':jsonA.rsLP};
@@ -153,8 +171,8 @@ @@ -153,8 +171,8 @@
153 * @return 返回开始与结束时间字符串集合. 171 * @return 返回开始与结束时间字符串集合.
154 * */ 172 * */
155 function getStartAndEndDate(map) { 173 function getStartAndEndDate(map) {
156 - return {'s':getMinDate(map.startStationFirstTime,map.endStationFirstTime),  
157 - 'e':getMaxDate(map.startStationEndTime,map.endStationEndTime)} 174 + return {'s': map.linePlayType=='1'? map.startStationFirstTime : getMinDate(map.startStationFirstTime,map.endStationFirstTime),
  175 + 'e': map.linePlayType=='1'? map.startStationEndTime : getMaxDate(map.startStationEndTime,map.endStationEndTime)}
158 } 176 }
159 177
160 /** 178 /**
@@ -676,4 +694,10 @@ @@ -676,4 +694,10 @@
676 layer.closeAll(); 694 layer.closeAll();
677 layer.msg('操作成功!已【'+ msg + '】!'); 695 layer.msg('操作成功!已【'+ msg + '】!');
678 } 696 }
  697 +
  698 + $('#scrllmouseEvent').on('mousemove',function() {
  699 + $('.ganttSvgContainer').css('overflow','auto');
  700 + }).on('mouseleave',function() {
  701 + $('.ganttSvgContainer').css('overflow','hidden');
  702 + });
679 })(); 703 })();
680 \ No newline at end of file 704 \ No newline at end of file
src/main/resources/static/pages/base/timesmodel/reladplus.html
@@ -102,7 +102,7 @@ $(&#39;#reladplus_mobal&#39;).on(&#39;reladplusMobal.show&#39;, function(e,obj,bf,cardata){ @@ -102,7 +102,7 @@ $(&#39;#reladplus_mobal&#39;).on(&#39;reladplusMobal.show&#39;, function(e,obj,bf,cardata){
102 var zhbcA = bf.getLastTime(jsonArray,params.theCar); 102 var zhbcA = bf.getLastTime(jsonArray,params.theCar);
103 if(zhbcA.length>0) { 103 if(zhbcA.length>0) {
104 var lastObj = zhbcA[0]; 104 var lastObj = zhbcA[0];
105 - var cctag = bf.dirDmToIndex(lastObj.xlDir); 105 + var cctag = obj.configuration.dataMap.map.linePlayType=='1' ? 0 : bf.dirDmToIndex(lastObj.xlDir);
106 // cctag = baseF.getfx(0,cctag); 106 // cctag = baseF.getfx(0,cctag);
107 // 定义停站时间 107 // 定义停站时间
108 var tzsj = obj.configuration.dataMap.ztjxA[cctag]; 108 var tzsj = obj.configuration.dataMap.ztjxA[cctag];