Commit 2f8d0f5fe2a9290ca78530aaa6a91d572f055e2a

Authored by 潘钊
2 parents dc1f3334 3379a6ba

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

src/main/resources/static/pages/base/timesmodel/css/index.css
... ... @@ -118,7 +118,7 @@ text.alert-danger {
118 118  
119 119 .ganttSvgContainer {
120 120 height: 400px;
121   - overflow: hidden;
  121 + overflow: auto;
122 122 position: relative;
123 123 }
124 124  
... ...
src/main/resources/static/pages/base/timesmodel/js/base-fun.js
... ... @@ -382,87 +382,171 @@ var BaseFun = function() {
382 382 *
383 383 *
384 384 **/
385   - abstractBcByWorkTime : function(bxlpbc , map , dataMap , saa , cara , bxrcObj , dgminpcs) {
386   - var rsultA = new Array();
  385 + abstractBcByWorkTime : function(bxlpbc , map , dataMap , saa , cara , bxrcObj , dgminpcs ,deletebcNum) {
  386 + var rsultA = new Array() , dgzjsj = baseF.getDateTime('13:00');
  387 + // 定义13:00 ~ 晚高峰开始以前剔除规则. 如果剔除的班次数不够,则去晚高峰之后剔除剩下的班次.
  388 + var xwmaxtcbcNum = parseInt(( dataMap.wgfsjd[0].st - dgzjsj) / (60000 * saa[0].zzsj.dgzzsj));
  389 + // 定义早高峰结束 ~ 13:00 剔除规则.如果剔除的班次数不够,则去晚高峰之后剔除剩下的班次.
  390 + var swmaxtcbcNum = parseInt(( dgzjsj - dataMap.zgfsjd[0].ed) / (60000 * saa[0].zzsj.dgzzsj));
  391 + var sumGs = 0;
387 392 for(var a = 0 ; a < bxlpbc.length ; a++) {
388   - /*if(a>0)
389   - continue;*/
390 393 // 定义该版型下对应的路牌的班次数组、班次数组长度、该路牌上是否有首末班车。
391 394 var lpbc = bxlpbc[a].lpbc, lpbclen_ = lpbc.length;
392 395 if(lpbclen_<=0)
393 396 continue;
394   - var isFlag = baseF.lpDownIsHaveFirstAndLastBc(lpbc , dataMap.smbcsjArr);
395   - // 定义当前路牌的初始工时、班型对应的标准工时
396   - var initCountGs = bxlpbc[a].initCountGs , bzgs = bxlpbc[a].bzgs;
397   - // 定义初始工时与日平均工时差值
398   - var initdx = initCountGs - bxlpbc[a].gsavg;
399   - // 定义剔除班次数、剔除的时间段.
400   - var deletebcNum = Math.ceil((initCountGs - bxlpbc[a].gsavg) / saa[0].zzsj.dgzzsj) , tcbcgzA = new Array();
401   - // var deletebcNum = parseInt((initCountGs - bxlpbc[a].gsavg) / saa[0].zzsj.dgzzsj) , tcbcgzA = new Array();
  397 + var isFlag = baseF.lpDownIsHaveFirstAndLastBc(lpbc , dataMap.smbcsjArr) , tcbcgzA = new Array();
402 398 if(bxrcObj.type == '五工二休') {
403 399 // 定义晚高峰后能剔除多少班次数.
404 400 var wgfhtcbcNum = parseInt(( dataMap.wgfzhsjd[0].ed - dataMap.wgfsjd[0].ed ) / (60000 * saa[0].zzsj.dgzzsj));
405   - // 定义时间段内剔除班次规则.
406   - tcbcgzA.push({'minsj': dataMap.wgfsjd[0].ed , 'maxsj' : dataMap.wgfzhsjd[0].ed ,'order' : 'desc' , 'deletebcNum' : wgfhtcbcNum},
407   - {'minsj': dataMap.zgfsjd[0].ed , 'maxsj' : dataMap.wgfsjd[0].st , 'order' : 'asc' , 'deletebcNum' : deletebcNum - wgfhtcbcNum});
408   - // 逆序排序剔除.
409   - // lpbc.sort(function(r,s){return s.fcno-r.fcno});
  401 + if(isFlag) {
  402 + // 定义时间段内剔除班次规则.
  403 + tcbcgzA.push({'minsj': dataMap.zgfsjd[0].ed , 'maxsj' : dataMap.wgfsjd[0].st , 'order' : 'asc' , 'deletebcNum' : deletebcNum});
  404 + }else {
  405 + // 定义时间段内剔除班次规则.
  406 + tcbcgzA.push({'minsj': dataMap.wgfsjd[0].ed , 'maxsj' : dataMap.wgfzhsjd[0].ed ,'order' : 'desc' , 'deletebcNum' : wgfhtcbcNum},
  407 + {'minsj': dataMap.zgfsjd[0].ed , 'maxsj' : dataMap.wgfsjd[0].st , 'order' : 'asc' , 'deletebcNum' : deletebcNum - wgfhtcbcNum});
  408 + }
410 409 // 剔除不在高峰时间段内的班次.
411 410 baseF.spliceBc02(lpbc , tcbcgzA , dataMap , 'desc' , false);
412 411 }else {
413   - /*console.log(bxlpbc[a].lpNo , initCountGs , bzgs , saa[0].zzsj.dgzzsj ,
414   - initCountGs - bzgs , (initCountGs - bzgs) /saa[0].zzsj.dgzzsj ,
415   - initCountGs - bxlpbc[a].gsavg , (initCountGs - bxlpbc[a].gsavg) / saa[0].zzsj.dgzzsj );*/
416 412 // 单档 一个路牌一档劳动力
417 413 if(bxlpbc[a].keepOff==1) {
418 414 // 如果低谷至少配车数大于零,则该班型下的路牌 存在一些 分班路牌,这里的分班 指的是 这个路牌先满足的前提条件就是 是单档。
419 415 // 为了满足工时的要求,在低谷断开一段时间.
420   - if(dgminpcs>0 && dgminpcs <= bxrcObj.fpcls ) {
421   - if( (a + 1) <= dgminpcs) {
422   - var dgzjsj = baseF.getDateTime('13:00');
423   - /*var zgfyh = dataMap.zgfsjd[0].ed;
424   - zgfyh.setMinutes(zgfyh.getMinutes()+ Math.min.apply(null, dataMap.dgxxsjArr));*/
425   - if( a % 2 == 0) {
426   - // 定义早高峰结束 ~ 12:30 剔除规则.如果剔除的班次数不够,则去晚高峰之后剔除剩下的班次.
427   - var swmaxtcbcNum = parseInt(( dgzjsj - dataMap.zgfsjd[0].ed) / (60000 * saa[0].zzsj.dgzzsj));
428   - if(deletebcNum < swmaxtcbcNum || isFlag) {
429   - // tcbcgzA.push({'minsj': dataMap.zgfsjd[0].ed , 'maxsj' : dgzjsj , 'order' : 'asc' , 'deletebcNum' : deletebcNum});
430   - tcbcgzA.push({'minsj': dataMap.zgfsjd[0].ed , 'maxsj' : dgzjsj , 'order' : 'asc' , 'deletebcNum' : swmaxtcbcNum});
431   - }else {
432   - tcbcgzA.push({'minsj': dataMap.zgfsjd[0].ed, 'maxsj' : dgzjsj , 'order' : 'asc' , 'deletebcNum' : swmaxtcbcNum},
433   - {'minsj': dataMap.wgfsjd[0].ed , 'maxsj' : dataMap.wgfzhsjd[0].ed, 'order' : 'desc' , 'deletebcNum' : deletebcNum - swmaxtcbcNum});
434   - }
435   - }else {
436   - // 定义12:30 ~ 晚高峰开始以前剔除规则. 如果剔除的班次数不够,则去晚高峰之后剔除剩下的班次.
437   - var xwmaxtcbcNum = parseInt(( dataMap.wgfsjd[0].st - dgzjsj) / (60000 * saa[0].zzsj.dgzzsj));
438   - if(deletebcNum < xwmaxtcbcNum || isFlag) {
439   - tcbcgzA.push({'minsj': dgzjsj , 'maxsj' : dataMap.wgfsjd[0].st , 'order' : 'desc', 'deletebcNum' : xwmaxtcbcNum});
440   - }else {
441   - tcbcgzA.push({'minsj': dataMap.wgfsjd[0].ed , 'maxsj' : dataMap.wgfzhsjd[0].ed , 'order' : 'desc', 'deletebcNum' : deletebcNum - xwmaxtcbcNum},
442   - {'minsj': dgzjsj , 'maxsj' : dataMap.wgfsjd[0].st , 'order' : 'desc', 'deletebcNum' : xwmaxtcbcNum});
443   - }
  416 + if(dgminpcs > 0) {
  417 + if( a % 2 == 0) {
  418 + if(deletebcNum < swmaxtcbcNum || isFlag) {
  419 + tcbcgzA.push({'minsj': dataMap.zgfsjd[0].ed , 'maxsj' : dgzjsj , 'order' : 'asc' , 'deletebcNum' : deletebcNum});
  420 + }else {
  421 + tcbcgzA.push({'minsj': dataMap.zgfsjd[0].ed, 'maxsj' : dgzjsj , 'order' : 'asc' , 'deletebcNum' : swmaxtcbcNum},
  422 + {'minsj': dataMap.wgfsjd[0].ed , 'maxsj' : dataMap.wgfzhsjd[0].ed, 'order' : 'desc' , 'deletebcNum' : deletebcNum - swmaxtcbcNum});
444 423 }
445   - // 按规则剔除班次.并且分班.路牌班次断开.
446   - baseF.spliceBc02(lpbc , tcbcgzA , dataMap , true);
447 424 }else {
448   - // 按规则剔除班次.不分班.路牌班次不会断开.
449   - baseF.isdk02(lpbc , dataMap , saa , deletebcNum , false);
  425 + if(deletebcNum < xwmaxtcbcNum || isFlag) {
  426 + tcbcgzA.push({'minsj': dgzjsj , 'maxsj' : dataMap.wgfsjd[0].st , 'order' : 'desc', 'deletebcNum' : deletebcNum});
  427 + }else {
  428 + tcbcgzA.push({'minsj': dataMap.wgfsjd[0].ed , 'maxsj' : dataMap.wgfzhsjd[0].ed , 'order' : 'desc', 'deletebcNum' : deletebcNum - xwmaxtcbcNum},
  429 + {'minsj': dgzjsj , 'maxsj' : dataMap.wgfsjd[0].st , 'order' : 'desc', 'deletebcNum' : xwmaxtcbcNum});
  430 + }
450 431 }
  432 + // 按规则剔除班次.并且分班.路牌班次断开.
  433 + baseF.spliceBc02(lpbc , tcbcgzA , dataMap , true);
  434 + baseF.affimBzGs(lpbc , bxlpbc[a].bzgs, dataMap, saa , true , a);
451 435 // 该班型下的路牌 不存在分班路牌.
452 436 }else if(dgminpcs == 0){
453 437 // 按规则剔除班次.不分班.路牌班次不会断开.
454 438 baseF.isdk02(lpbc , dataMap , saa , deletebcNum , false);
  439 + //baseF.affimBzGs(lpbc , bxlpbc[a].bzgs, dataMap, saa , false , a);
455 440 }
456 441 // 双档 一个路牌两档劳动力
457 442 }else if(bxlpbc[a].keepOff==2) {
458 443 // 按规则剔除班次.分班.但是路牌班次不会断开.
459 444 baseF.isdk02(lpbc , dataMap , saa , deletebcNum , true);
  445 + //baseF.affimBzGs(lpbc , bxlpbc[a].bzgs , dataMap, saa , false , a);
460 446 }
461 447 }
  448 + // var markAfterGs = baseF.getSumWorkTime(lpbc , dataMap, saa);
  449 + // sumGs += parseFloat((markAfterGs - bxlpbc[a].bzgs).toFixed(2));
  450 + // sumGs += markAfterGs;
462 451 rsultA = rsultA.concat(lpbc);
463 452 }
  453 + // onsole.log(sumGs);
464 454 return rsultA;
465 455 },
  456 +
  457 + affimBzGs : function(lpbc , bzgs , dataMap, saa , isOff , index_) {
  458 + var tList = lpbc.concat();
  459 + var markAfterGs = baseF.getSumWorkTime(tList , dataMap, saa);
  460 + var gsDx = parseFloat((markAfterGs - bzgs).toFixed(2));
  461 + lpbc.sort(function(m,n){return m.fcno-n.fcno});
  462 + if(isOff) {
  463 + if(gsDx > 1.5) {
  464 + var hoursDx = parseFloat((gsDx - 1.5).toFixed(2));
  465 + // console.log(gsDx , hoursDx ,Math.ceil(hoursDx*60));
  466 + var minueDx = Math.ceil(hoursDx*60);
  467 + var bs = Math.ceil( minueDx / saa[0].zzsj.dgzzsj);
  468 + for(var s = 0 ; s < lpbc.length; s++) {
  469 + if(lpbc[s].isfb ==1) {
  470 + if(index_%2==0) {
  471 + lpbc.splice( (s+1) , bs*2);
  472 + }else {
  473 + lpbc.splice( s , bs*2);
  474 + }
  475 + break;
  476 + }
  477 + }
  478 +
  479 + }
  480 + }else {
  481 +
  482 + }
  483 + },
  484 +
  485 + updTime : function(lpbc , start , end , minueDx ,type ) {
  486 + var agvMarkTime = Math.ceil(minueDx / end);
  487 + for(var u = start ; u < end ; u++) {
  488 + if(type =='asc'){
  489 + var tzDx = lpbc[u].STOPTIME - agvMarkTime , tmvalue = 0;
  490 + if(tzDx < 0)
  491 + tmvalue = parseInt(lpbc[u].bcsj*0.1);
  492 + else
  493 + tmvalue = tzDx;
  494 + lpbc[u].STOPTIME = tmvalue ;
  495 + if( u == start){
  496 + var fcsj = baseF.getDateTime(lpbc[u].fcsj);
  497 + fcsj.setMinutes(fcsj.getMinutes() + minueDx);
  498 + lpbc[u].fcsj = baseF.getTimeStr(fcsj);
  499 + fcsj.setMinutes(fcsj.getMinutes() + lpbc[u].bcsj);
  500 + lpbc[u].ARRIVALTIME = baseF.getTimeStr(fcsj);
  501 + }else {
  502 + // 定义到达时间.
  503 + var ddsj_ = baseF.getDateTime(lpbc[u-1].ARRIVALTIME);
  504 + ddsj_.setMinutes(ddsj_.getMinutes() + lpbc[u-1].STOPTIME);
  505 + lpbc[u].fcsj = baseF.getTimeStr(ddsj_);
  506 + ddsj_.setMinutes(ddsj_.getMinutes() + lpbc[u].bcsj);
  507 + // 修改最后一个班次的到达时间.
  508 + lpbc[u].ARRIVALTIME = baseF.getTimeStr(ddsj_);
  509 + }
  510 +
  511 + }else {
  512 + if( u == start){
  513 + var fcsj = baseF.getDateTime(lpbc[u].fcsj);
  514 + fcsj.setMinutes(fcsj.getMinutes() - minueDx);
  515 + lpbc[u].fcsj = baseF.getTimeStr(fcsj);
  516 + fcsj.setMinutes(fcsj.getMinutes() + lpbc[u].bcsj);
  517 + lpbc[u].ARRIVALTIME = baseF.getTimeStr(fcsj);
  518 + }else {
  519 + var tzDx = lpbc[u].STOPTIME - agvMarkTime , tmvalue = 0;
  520 + if(tzDx < 0)
  521 + tmvalue = parseInt(lpbc[u].bcsj*0.1);
  522 + else
  523 + tmvalue = tzDx;
  524 + lpbc[u].STOPTIME = tmvalue ;
  525 + // 定义到达时间.
  526 + var ddsj_ = baseF.getDateTime(lpbc[u-1].fcsj);
  527 + ddsj_.setMinutes(ddsj_.getMinutes() - lpbc[u].STOPTIME);
  528 + lpbc[u].ARRIVALTIME = baseF.getTimeStr(ddsj_);
  529 + ddsj_.setMinutes(ddsj_.getMinutes() - lpbc[u].bcsj);
  530 + // 修改最后一个班次的到达时间.
  531 + lpbc[u].fcsj = baseF.getTimeStr(ddsj_);
  532 + }
  533 + }
  534 +
  535 + }
  536 + },
  537 +
  538 + getSumWorkTime : function(lpbc , dataMap , saa) {
  539 + lpbc.sort(function(x,y){return x.fcno-y.fcno});
  540 + var sumWorkTime = dataMap.jcsjArr[baseF.dirDmToIndex(lpbc[0].xlDir)] +
  541 + dataMap.ccsjArr[baseF.dirDmToIndex(lpbc[lpbc.length-1].xlDir)] +
  542 + saa[0].lbsj*2;
  543 + for(var t = 0 ; t < lpbc.length ; t++) {
  544 + sumWorkTime += lpbc[t].bcsj + lpbc[t].STOPTIME;
  545 + }
  546 + return parseFloat((sumWorkTime/60).toFixed(2));
  547 + },
  548 +
  549 +
466 550 /**
467 551 * @description (TODO) 判断某路牌下是否存在首末班车时间班次.
468 552 * @param arr 某路牌下的班次.
... ... @@ -471,7 +555,7 @@ var BaseFun = function() {
471 555 lpDownIsHaveFirstAndLastBc : function(arr , smbcsjArr) {
472 556 for(var a = 0 ; a < arr.length ; a++) {
473 557 for(var s = 0 ; s < smbcsjArr.length ; s++) {
474   - if(arr[a].fcsj == smbcsjArr[s].kssj || arr[a].fcsj == smbcsjArr[s].jssj)
  558 + if(arr[a].fcsj == smbcsjArr[s].jssj && baseF.dirDmToIndex(arr[a].xlDir) == s)
475 559 return true;
476 560 }
477 561 }
... ... @@ -487,10 +571,11 @@ var BaseFun = function() {
487 571 if(lpbc.length > 0 && deletebcNum > 0) {
488 572 lpbc.sort(function(r,s){return r.fcint-s.fcint});
489 573 var tcbcgzA = new Array();
490   - debugger;
491   - if(lpbc[0].fcsj == dataMap.smbcsjArr[0].kssj || lpbc[0].fcsj == dataMap.smbcsjArr[1].kssj) {
  574 + if( (lpbc[0].fcsj == dataMap.smbcsjArr[0].kssj && baseF.dirDmToIndex(lpbc[0].xlDir) == 0)
  575 + || (lpbc[0].fcsj == dataMap.smbcsjArr[1].kssj && baseF.dirDmToIndex(lpbc[0].xlDir) == 1)) {
492 576 tcbcgzA.push({'minsj': dataMap.wgfzhsjd[0].st , 'maxsj' : dataMap.wgfzhsjd[0].ed , 'order' : 'desc', 'deletebcNum' : deletebcNum});
493   - }else if(lpbc[lpbc.length-1].fcsj == dataMap.smbcsjArr[0].jssj || lpbc[0].fcsj == dataMap.smbcsjArr[1].jssj) {
  577 + }else if((lpbc[lpbc.length-1].fcsj == dataMap.smbcsjArr[0].jssj && baseF.dirDmToIndex(lpbc[0].xlDir) == 0)
  578 + || (lpbc[lpbc.length-1].fcsj == dataMap.smbcsjArr[1].jssj && baseF.dirDmToIndex(lpbc[0].xlDir) == 1)) {
494 579 tcbcgzA.push({'minsj': dataMap.zgfzqsjd[0].st , 'maxsj' : dataMap.zgfzqsjd[0].ed , 'order' : 'asc', 'deletebcNum' : deletebcNum});
495 580 }else {
496 581 var zgfzqtcbcNum = parseInt(( dataMap.zgfzqsjd[0].ed - dataMap.zgfzqsjd[0].st ) / (60000 * saa[0].zzsj.dgzzsj)),
... ... @@ -498,17 +583,9 @@ var BaseFun = function() {
498 583 tcbcgzA.push({'minsj': dataMap.wgfzhsjd[0].st , 'maxsj' : dataMap.wgfzhsjd[0].ed , 'order' : 'desc', 'deletebcNum' : wgfhtcbcNum},
499 584 {'minsj': dataMap.zgfzqsjd[0].st , 'maxsj' : dataMap.zgfzqsjd[0].ed , 'order' : 'asc', 'deletebcNum' : zgfzqtcbcNum});
500 585 }
501   - /*if( wgfhtcbcNum >= deletebcNum) {
502   -
503   - }else if(zgfzqtcbcNum >= deletebcNum){
504   -
505   - }else if(deletebcNum >= (zgfzqtcbcNum + wgfhtcbcNum)){
506   -
507   - }*/
508 586 baseF.spliceBc02(lpbc , tcbcgzA , dataMap , isfb);
509 587 }
510 588 },
511   -
512 589 /**
513 590 * @description (TODO) 根据定义规则剔除班次.
514 591 * @param arr 班次数组.
... ... @@ -558,7 +635,8 @@ var BaseFun = function() {
558 635 var dgmaxfcjx = parseInt(map.dgmaxfcjx),
559 636 dgmaxtzsj = parseInt(map.dgmaxtzsj);
560 637 // 计算低谷最少配车数 (低谷上行行驶时间 + 低谷下行行驶时间 + 低谷最大停站时间*2) / 低谷最大发车间隙.
561   - var dgminpcs = Math.round((dataMap.dgxxsjArr[0] + dataMap.dgxxsjArr[1] + dgmaxtzsj*2) / dgmaxfcjx);
  638 + var dgminpcs = Math.round((dataMap.dgxxsjArr[0] + dataMap.dgxxsjArr[1] + dataMap.dgtzsj[0] + dataMap.dgtzsj[1]) / dgmaxfcjx);
  639 + // var dgminpcs = 4;
562 640 // 定义返回数组.
563 641 var rs = new Array();
564 642 for(var x = 0 ; x < bxrclist.length; x++) {
... ... @@ -619,15 +697,20 @@ var BaseFun = function() {
619 697 bxlpbc.push({'bxtyp' : bxrclist[x].type , 'lpNo' : lpNo ,
620 698 'lpbc' : lpbc , 'dygbcfcsj' : lpbc[lpbc.length-1].fcsj,
621 699 'initCountGs' : initCountGs ,
622   - 'keepOff' : keepOff , 'bzgs' : parseInt(hoursV*60) , 'gsavg' : parseInt(bxrclist[x].gsavg*60) ,
  700 + 'keepOff' : keepOff , 'bzgs' : parseFloat(hoursV.toFixed(1)) , 'gsavg' : parseInt(bxrclist[x].gsavg*60) ,
623 701 'fcint' : baseF.getDateTime(lpbc[lpbc.length-1].fcsj).getTime()});
624 702 }
625 703 }
626 704 if(bxlpbc.length > 0 ) {
627 705 bxlpbc.sort(function(x,y){return x.fcint-y.fcint});
  706 + var avgMakerCarNum = 0;
  707 + for(var v = 0 ; v<bxlpbc.length ; v++) {
  708 + avgMakerCarNum += Math.ceil((bxlpbc[v].initCountGs - bxlpbc[v].gsavg) / saa[0].zzsj.dgzzsj);
  709 + }
  710 + avgMakerCarNum = parseInt(avgMakerCarNum / bxlpbc.length);
628 711 // console.log(bxlpbc);
629 712 // 调整某班型下的各个路牌对应的班次以及工时、停站时间、是否分班.
630   - rs = rs.concat(baseF.abstractBcByWorkTime(bxlpbc , map , dataMap , saa , cara , bxrclist[x] , dgminpcs));
  713 + rs = rs.concat(baseF.abstractBcByWorkTime(bxlpbc , map , dataMap , saa , cara , bxrclist[x] , dgminpcs , avgMakerCarNum));
631 714 }
632 715 }
633 716 return rs;
... ... @@ -697,7 +780,9 @@ var BaseFun = function() {
697 780 var markArray = baseF.markFirstAndLastBusAlsoDietNotInRangeBc(jsonArray , dataMap);
698 781  
699 782 // 第四步 横向调整
700   - baseF.resizeByPitStopTime(cara , jsonArray , dataMap);
  783 + baseF.resizeByPitStopTime(cara , markArray , dataMap);
  784 +
  785 + // return {'json':markArray,'bxrcgs':null};
701 786  
702 787 /**
703 788 * 第五步 把班型合理的分配到各个路牌上.
... ...
src/main/resources/static/pages/base/timesmodel/js/d3.relationshipgraph.js
... ... @@ -1134,7 +1134,7 @@ var RelationshipGraph = function () {
1134 1134 // 3.2、定义鼠标按下的x、y坐标 .
1135 1135 var d3MouseDown_x = parseInt(d3.mouse(this)[0]),d3MouseDown_y = parseInt(d3.mouse(this)[1]);
1136 1136 // 3.3、计时鼠标是否按下已有300ms,并且在300ms中鼠标未曾移动,则打开开关,进入鼠标操作过程.
1137   - stop = setTimeout(function(e) {
  1137 + stop = setTimeout(function() {
1138 1138 // 3.4、打开鼠标移动和松开事件开关.
1139 1139 flag = true;
1140 1140 // 3.5、记录当前选择框数 .
... ... @@ -1160,6 +1160,7 @@ var RelationshipGraph = function () {
1160 1160 },200);
1161 1161 // 4、给svg容器元素对象 添加鼠标移动事件 . 这里等同于绘制选择框.
1162 1162 }).on('mousemove',function(e){
  1163 + // $('.ganttSvgContainer').css('overflow','auto');
1163 1164 // 4.1 判断开关是否打开状态.
1164 1165 if(flag) {
1165 1166 // 4.1.1、定义鼠标移动的x、y坐标.
... ... @@ -1183,6 +1184,7 @@ var RelationshipGraph = function () {
1183 1184 }
1184 1185 // 6、给svg容器元素对象 添加鼠标移出事件.解决鼠标在其他元素上松开而不关闭开关问题.只有在绑定 mouseleave 事件的元素上,将鼠标移出时,才会触发该事件。
1185 1186 }).on('mouseleave',function() {
  1187 + // $('.ganttSvgContainer').css('overflow','hidden');
1186 1188 if(flag) {
1187 1189 layer.closeAll();// 关闭弹出层.
1188 1190 RelationshipGraph.mouseUpEvent(flag);
... ...
src/main/resources/static/pages/base/timesmodel/js/gantt.js
... ... @@ -747,10 +747,4 @@
747 747 layer.closeAll();
748 748 layer.msg('操作成功!已【'+ msg + '】!');
749 749 }
750   -
751   - $('#scrllmouseEvent').on('mousemove',function() {
752   - $('.ganttSvgContainer').css('overflow','auto');
753   - }).on('mouseleave',function() {
754   - $('.ganttSvgContainer').css('overflow','hidden');
755   - });
756 750 })();
757 751 \ No newline at end of file
... ...