Commit b7414acf49fa22c29fd5e7f28df324283b5c6b2a

Authored by 徐烜
1 parent b0ddb170

QPBS-2020-0002 更新2

修改saPlanInfoEdit2指令,修改初始化车辆人员数据逻辑,解决页面需要连续选择两次以上才会修改数据的bug
src/main/resources/static/pages/scheduleApp/module/common/dts2/scheduleplan/saPlanInfoEdit2.js
... ... @@ -57,7 +57,7 @@ angular.module('ScheduleApp').directive(
57 57 var new_dddesc = undefined; // 调度描述
58 58  
59 59 // 表单值,被赋值的次数
60   - var form_data_assign_count = {
  60 + var form_data_assign_count = { // 大于1表示已经初始化过了
61 61 cl1 : -1,
62 62 cl2 : -1,
63 63 j1 : -1,
... ... @@ -348,21 +348,20 @@ angular.module('ScheduleApp').directive(
348 348 return scope[ctrlAs].fd.cl1;
349 349 },
350 350 function(newValue, oldValue) {
351   - // 初始化new_cl1
352   - if (newValue.id) {
353   - if (newValue.id && newValue.zbh) {
354   - new_cl1 = newValue.id + "_" + newValue.zbh;
  351 + if (form_data_assign_count.cl1 > 2) {
  352 + if (newValue.id) {
  353 + if (newValue.id && newValue.zbh) {
  354 + new_cl1 = newValue.id + "_" + newValue.zbh;
  355 + } else {
  356 + new_cl1 = undefined;
  357 + }
355 358 } else {
356 359 new_cl1 = undefined;
357 360 }
358   - } else {
359   - new_cl1 = undefined;
  361 + scope[ctrlAs].$$internal_refresh_dsdata_cl();
360 362 }
361 363  
362 364 form_data_assign_count.cl1 ++;
363   - if (form_data_assign_count.cl1 > 1) {
364   - scope[ctrlAs].$$internal_refresh_dsdata_cl();
365   - }
366 365 },
367 366 true
368 367 );
... ... @@ -373,21 +372,20 @@ angular.module('ScheduleApp').directive(
373 372 return scope[ctrlAs].fd.cl2;
374 373 },
375 374 function(newValue, oldValue) {
376   - // 初始化new_cl2
377   - if (newValue.id) {
378   - if (newValue.id && newValue.zbh) {
379   - new_cl2 = newValue.id + "_" + newValue.zbh;
  375 + if (form_data_assign_count.cl2 > 2) {
  376 + if (newValue.id) {
  377 + if (newValue.id && newValue.zbh) {
  378 + new_cl2 = newValue.id + "_" + newValue.zbh;
  379 + } else {
  380 + new_cl2 = undefined;
  381 + }
380 382 } else {
381 383 new_cl2 = undefined;
382 384 }
383   - } else {
384   - new_cl2 = undefined;
  385 + scope[ctrlAs].$$internal_refresh_dsdata_cl();
385 386 }
386 387  
387 388 form_data_assign_count.cl2 ++;
388   - if (form_data_assign_count.cl2 > 1) {
389   - scope[ctrlAs].$$internal_refresh_dsdata_cl();
390   - }
391 389 },
392 390 true
393 391 );
... ... @@ -398,22 +396,22 @@ angular.module('ScheduleApp').directive(
398 396 return scope[ctrlAs].fd.j1;
399 397 },
400 398 function(newValue, oldValue) {
401   - // 初始化j1
402   - if (newValue.id) {
403   - if (newValue.id && newValue.name && newValue.jobCode) {
404   - new_j1 = newValue.id + "_" + newValue.name + "_" + newValue.jobCode;
  399 + if (form_data_assign_count.j1 > 2) {
  400 + if (newValue.id) {
  401 + if (newValue.id && newValue.name && newValue.jobCode) {
  402 + new_j1 = newValue.id + "_" + newValue.name + "_" + newValue.jobCode;
  403 + } else {
  404 + new_j1 = undefined;
  405 + }
405 406 } else {
406 407 new_j1 = undefined;
407 408 }
408   - } else {
409   - new_j1 = undefined;
410   - }
411 409  
412   - form_data_assign_count.j1 ++;
413   - if (form_data_assign_count.j1 > 1) {
414 410 scope[ctrlAs].$$internal_refresh_dsdata_j();
415 411 scope[ctrlAs].$$internal_refresh_dsdata_s();
416 412 }
  413 +
  414 + form_data_assign_count.j1 ++;
417 415 },
418 416 true
419 417 );
... ... @@ -424,22 +422,22 @@ angular.module('ScheduleApp').directive(
424 422 return scope[ctrlAs].fd.s1;
425 423 },
426 424 function(newValue, oldValue) {
427   - // 初始化s1
428   - if (newValue.id) {
429   - if (newValue.id && newValue.name && newValue.jobCode) {
430   - new_s1 = newValue.id + "_" + newValue.name + "_" + newValue.jobCode;
  425 + if (form_data_assign_count.s1 > 2) {
  426 + if (newValue.id) {
  427 + if (newValue.id && newValue.name && newValue.jobCode) {
  428 + new_s1 = newValue.id + "_" + newValue.name + "_" + newValue.jobCode;
  429 + } else {
  430 + new_s1 = undefined;
  431 + }
431 432 } else {
432 433 new_s1 = undefined;
433 434 }
434   - } else {
435   - new_s1 = undefined;
436   - }
437 435  
438   - form_data_assign_count.s1 ++;
439   - if (form_data_assign_count.s1 > 1) {
440 436 scope[ctrlAs].$$internal_refresh_dsdata_j();
441 437 scope[ctrlAs].$$internal_refresh_dsdata_s();
442 438 }
  439 +
  440 + form_data_assign_count.s1 ++;
443 441 },
444 442 true
445 443 );
... ... @@ -450,22 +448,22 @@ angular.module('ScheduleApp').directive(
450 448 return scope[ctrlAs].fd.j2;
451 449 },
452 450 function(newValue, oldValue) {
453   - // 初始化j2
454   - if (newValue.id) {
455   - if (newValue.id && newValue.name && newValue.jobCode) {
456   - new_j2 = newValue.id + "_" + newValue.name + "_" + newValue.jobCode;
  451 + if (form_data_assign_count.j2 > 2) {
  452 + if (newValue.id) {
  453 + if (newValue.id && newValue.name && newValue.jobCode) {
  454 + new_j2 = newValue.id + "_" + newValue.name + "_" + newValue.jobCode;
  455 + } else {
  456 + new_j2 = undefined;
  457 + }
457 458 } else {
458 459 new_j2 = undefined;
459 460 }
460   - } else {
461   - new_j2 = undefined;
462   - }
463 461  
464   - form_data_assign_count.j2 ++;
465   - if (form_data_assign_count.j2 > 1) {
466 462 scope[ctrlAs].$$internal_refresh_dsdata_j();
467 463 scope[ctrlAs].$$internal_refresh_dsdata_s();
468 464 }
  465 +
  466 + form_data_assign_count.j2 ++;
469 467 },
470 468 true
471 469 );
... ... @@ -476,22 +474,22 @@ angular.module('ScheduleApp').directive(
476 474 return scope[ctrlAs].fd.s2;
477 475 },
478 476 function(newValue, oldValue) {
479   - // 初始化s2
480   - if (newValue && newValue.id) {
481   - if (newValue.id && newValue.name && newValue.jobCode) {
482   - new_s2 = newValue.id + "_" + newValue.name + "_" + newValue.jobCode;
  477 + if (form_data_assign_count.s2 > 2) {
  478 + if (newValue && newValue.id) {
  479 + if (newValue.id && newValue.name && newValue.jobCode) {
  480 + new_s2 = newValue.id + "_" + newValue.name + "_" + newValue.jobCode;
  481 + } else {
  482 + new_s2 = undefined;
  483 + }
483 484 } else {
484 485 new_s2 = undefined;
485 486 }
486   - } else {
487   - new_s2 = undefined;
488   - }
489 487  
490   - form_data_assign_count.s2 ++;
491   - if (form_data_assign_count.s2 > 1) {
492 488 scope[ctrlAs].$$internal_refresh_dsdata_j();
493 489 scope[ctrlAs].$$internal_refresh_dsdata_s();
494 490 }
  491 +
  492 + form_data_assign_count.s2 ++;
495 493 },
496 494 true
497 495 );
... ... @@ -505,8 +503,8 @@ angular.module('ScheduleApp').directive(
505 503 if (newValue && newValue.length > 0) {
506 504 var j1 = newValue[0].j;
507 505  
508   - var cl_ids = []; // 车辆ids数组(有顺序)
509   - var j_s_ids = []; // 驾驶员ids,售票员ids,[{j:id,s:id},...](有顺序)
  506 + var cl_idFlags = []; // 车辆idFlags数组(有顺序)
  507 + var j_s_idFlags = []; // 驾驶员idFlags,售票员idFlags,[{j:idFlag,s:idFlag},...](有顺序)
510 508 var addreason = []; // 营运调度的原因
511 509 var adddesc = []; // 营运导读的备注
512 510 var isRepeat = false;
... ... @@ -572,30 +570,30 @@ angular.module('ScheduleApp').directive(
572 570 // 车辆处理
573 571 isRepeat = false;
574 572 if (obj.cl) {
575   - for (i = 0; i < cl_ids.length; i++) {
576   - if (cl_ids[i] == obj.cl) {
  573 + for (i = 0; i < cl_idFlags.length; i++) {
  574 + if (cl_idFlags[i] == (obj.cl + "_" + obj.clZbh)) {
577 575 isRepeat = true;
578 576 break;
579 577 }
580 578 }
581 579 if (!isRepeat) {
582   - cl_ids.push(obj.cl);
  580 + cl_idFlags.push(obj.cl + "_" + obj.clZbh);
583 581 }
584 582 }
585 583  
586 584 // 人员处理(以驾驶员id为主,没有的话,售票员不管了)
587 585 isRepeat = false;
588 586 if (obj.j) {
589   - for (i = 0; i < j_s_ids.length; i++) {
590   - if (j_s_ids[i].j == obj.j) {
  587 + for (i = 0; i < j_s_idFlags.length; i++) {
  588 + if (j_s_idFlags[i].j == (obj.j + "_" + obj.jName + "_" + obj.jGh)) {
591 589 isRepeat = true;
592 590 break;
593 591 }
594 592 }
595 593 if (!isRepeat) {
596   - j_s_ids.push({
597   - j: obj.j,
598   - s: !obj.s? undefined: obj.s
  594 + j_s_idFlags.push({
  595 + j: obj.j + "_" + obj.jName + "_" + obj.jGh,
  596 + s: !obj.s? undefined: (obj.s + "_" + obj.sName + "_" + obj.sGh)
599 597 });
600 598 }
601 599 }
... ... @@ -634,25 +632,66 @@ angular.module(&#39;ScheduleApp&#39;).directive(
634 632 old_half_bcs = newValue.length / 2;
635 633  
636 634 // 更新formdata
637   - for (i = 0; i < cl_ids.length; i++) { // 车辆更新前两辆
638   - if (i >= 2) {
  635 + for (i = 0; i < cl_idFlags.length; i++) { // 车辆更新前两辆
  636 + if (i == 0) { // 第一组车
  637 + scope[ctrlAs].fd["cl1"].id = cl_idFlags[i].split("_")[0];
  638 + new_cl1 = cl_idFlags[i];
  639 + } else if (i == 1) { // 第二组车
  640 + scope[ctrlAs].fd["cl2"].id = cl_idFlags[i].split("_")[0];
  641 + new_cl2 = cl_idFlags[i];
  642 + } else { // 第三组及以上车全部忽略
639 643 break;
640   - } else {
641   - form_data_assign_count["cl" + (i + 1)] = 0;
642   - scope[ctrlAs].fd["cl" + (i + 1)].id = cl_ids[i];
643 644 }
644 645 }
645   - for (i = 0; i < j_s_ids.length; i++) { // 人员更新
646   - if (i >= 3) {
  646 + for (i = 0; i < j_s_idFlags.length; i++) { // 人员更新
  647 + if (i == 0) { // 第一组人员
  648 + scope[ctrlAs].fd["j1"].id = j_s_idFlags[i].j.split("_")[0];
  649 + scope[ctrlAs].fd["s1"].id = j_s_idFlags[i].s && j_s_idFlags[i].s.split("_")[0];
  650 + new_j1 = j_s_idFlags[i].j;
  651 + new_s1 = j_s_idFlags[i].s;
  652 +
  653 + } else if (i == 1) { // 第二组人员
  654 + scope[ctrlAs].fd["j2"].id = j_s_idFlags[i].j.split("_")[0];
  655 + scope[ctrlAs].fd["s2"].id = j_s_idFlags[i].s && j_s_idFlags[i].s.split("_")[0];
  656 + new_j2 = j_s_idFlags[i].j;
  657 + new_s2 = j_s_idFlags[i].s;
  658 + } else { // 第三组及以上全部忽律
647 659 break;
648   - } else {
649   - form_data_assign_count["j" + (i + 1)] = 0;
650   - scope[ctrlAs].fd["j" + (i + 1)].id = j_s_ids[i].j;
651   -
652   - form_data_assign_count["s" + (i + 1)] = 0;
653   - scope[ctrlAs].fd["s" + (i + 1)].id = j_s_ids[i].s;
654 660 }
655 661 }
  662 + // 更新form_data_assign_count,有值设置成2,没值设置成3,表示已经从ds处初始化完毕
  663 + if (new_cl1) {
  664 + form_data_assign_count["cl1"] = 2;
  665 + } else {
  666 + form_data_assign_count["cl1"] = 3;
  667 + }
  668 + if (new_cl2) {
  669 + form_data_assign_count["cl2"] = 2;
  670 + } else {
  671 + form_data_assign_count["cl2"] = 3;
  672 + }
  673 + if (new_j1) {
  674 + form_data_assign_count["j1"] = 2;
  675 + } else {
  676 + form_data_assign_count["j1"] = 3;
  677 + }
  678 + if (new_j2) {
  679 + form_data_assign_count["j2"] = 2;
  680 + } else {
  681 + form_data_assign_count["j2"] = 3;
  682 + }
  683 + if (new_s1) {
  684 + form_data_assign_count["s1"] = 2;
  685 + } else {
  686 + form_data_assign_count["s1"] = 3;
  687 + }
  688 + if (new_s2) {
  689 + form_data_assign_count["s2"] = 2;
  690 + } else {
  691 + form_data_assign_count["s2"] = 3;
  692 + }
  693 +
  694 +
656 695 for (i = 0; i < addreason.length; i++) { // 调度原因更新
657 696 if (i > 1) { // 有多个,只更新第一个
658 697 break;
... ...
src/main/resources/static/pages/scheduleApp/module/common/prj-common-directive.js
... ... @@ -5543,7 +5543,7 @@ angular.module(&#39;ScheduleApp&#39;).directive(
5543 5543 var new_dddesc = undefined; // 调度描述
5544 5544  
5545 5545 // 表单值,被赋值的次数
5546   - var form_data_assign_count = {
  5546 + var form_data_assign_count = { // 大于1表示已经初始化过了
5547 5547 cl1 : -1,
5548 5548 cl2 : -1,
5549 5549 j1 : -1,
... ... @@ -5834,21 +5834,20 @@ angular.module(&#39;ScheduleApp&#39;).directive(
5834 5834 return scope[ctrlAs].fd.cl1;
5835 5835 },
5836 5836 function(newValue, oldValue) {
5837   - // 初始化new_cl1
5838   - if (newValue.id) {
5839   - if (newValue.id && newValue.zbh) {
5840   - new_cl1 = newValue.id + "_" + newValue.zbh;
  5837 + if (form_data_assign_count.cl1 > 2) {
  5838 + if (newValue.id) {
  5839 + if (newValue.id && newValue.zbh) {
  5840 + new_cl1 = newValue.id + "_" + newValue.zbh;
  5841 + } else {
  5842 + new_cl1 = undefined;
  5843 + }
5841 5844 } else {
5842 5845 new_cl1 = undefined;
5843 5846 }
5844   - } else {
5845   - new_cl1 = undefined;
  5847 + scope[ctrlAs].$$internal_refresh_dsdata_cl();
5846 5848 }
5847 5849  
5848 5850 form_data_assign_count.cl1 ++;
5849   - if (form_data_assign_count.cl1 > 1) {
5850   - scope[ctrlAs].$$internal_refresh_dsdata_cl();
5851   - }
5852 5851 },
5853 5852 true
5854 5853 );
... ... @@ -5859,21 +5858,20 @@ angular.module(&#39;ScheduleApp&#39;).directive(
5859 5858 return scope[ctrlAs].fd.cl2;
5860 5859 },
5861 5860 function(newValue, oldValue) {
5862   - // 初始化new_cl2
5863   - if (newValue.id) {
5864   - if (newValue.id && newValue.zbh) {
5865   - new_cl2 = newValue.id + "_" + newValue.zbh;
  5861 + if (form_data_assign_count.cl2 > 2) {
  5862 + if (newValue.id) {
  5863 + if (newValue.id && newValue.zbh) {
  5864 + new_cl2 = newValue.id + "_" + newValue.zbh;
  5865 + } else {
  5866 + new_cl2 = undefined;
  5867 + }
5866 5868 } else {
5867 5869 new_cl2 = undefined;
5868 5870 }
5869   - } else {
5870   - new_cl2 = undefined;
  5871 + scope[ctrlAs].$$internal_refresh_dsdata_cl();
5871 5872 }
5872 5873  
5873 5874 form_data_assign_count.cl2 ++;
5874   - if (form_data_assign_count.cl2 > 1) {
5875   - scope[ctrlAs].$$internal_refresh_dsdata_cl();
5876   - }
5877 5875 },
5878 5876 true
5879 5877 );
... ... @@ -5884,22 +5882,22 @@ angular.module(&#39;ScheduleApp&#39;).directive(
5884 5882 return scope[ctrlAs].fd.j1;
5885 5883 },
5886 5884 function(newValue, oldValue) {
5887   - // 初始化j1
5888   - if (newValue.id) {
5889   - if (newValue.id && newValue.name && newValue.jobCode) {
5890   - new_j1 = newValue.id + "_" + newValue.name + "_" + newValue.jobCode;
  5885 + if (form_data_assign_count.j1 > 2) {
  5886 + if (newValue.id) {
  5887 + if (newValue.id && newValue.name && newValue.jobCode) {
  5888 + new_j1 = newValue.id + "_" + newValue.name + "_" + newValue.jobCode;
  5889 + } else {
  5890 + new_j1 = undefined;
  5891 + }
5891 5892 } else {
5892 5893 new_j1 = undefined;
5893 5894 }
5894   - } else {
5895   - new_j1 = undefined;
5896   - }
5897 5895  
5898   - form_data_assign_count.j1 ++;
5899   - if (form_data_assign_count.j1 > 1) {
5900 5896 scope[ctrlAs].$$internal_refresh_dsdata_j();
5901 5897 scope[ctrlAs].$$internal_refresh_dsdata_s();
5902 5898 }
  5899 +
  5900 + form_data_assign_count.j1 ++;
5903 5901 },
5904 5902 true
5905 5903 );
... ... @@ -5910,22 +5908,22 @@ angular.module(&#39;ScheduleApp&#39;).directive(
5910 5908 return scope[ctrlAs].fd.s1;
5911 5909 },
5912 5910 function(newValue, oldValue) {
5913   - // 初始化s1
5914   - if (newValue.id) {
5915   - if (newValue.id && newValue.name && newValue.jobCode) {
5916   - new_s1 = newValue.id + "_" + newValue.name + "_" + newValue.jobCode;
  5911 + if (form_data_assign_count.s1 > 2) {
  5912 + if (newValue.id) {
  5913 + if (newValue.id && newValue.name && newValue.jobCode) {
  5914 + new_s1 = newValue.id + "_" + newValue.name + "_" + newValue.jobCode;
  5915 + } else {
  5916 + new_s1 = undefined;
  5917 + }
5917 5918 } else {
5918 5919 new_s1 = undefined;
5919 5920 }
5920   - } else {
5921   - new_s1 = undefined;
5922   - }
5923 5921  
5924   - form_data_assign_count.s1 ++;
5925   - if (form_data_assign_count.s1 > 1) {
5926 5922 scope[ctrlAs].$$internal_refresh_dsdata_j();
5927 5923 scope[ctrlAs].$$internal_refresh_dsdata_s();
5928 5924 }
  5925 +
  5926 + form_data_assign_count.s1 ++;
5929 5927 },
5930 5928 true
5931 5929 );
... ... @@ -5936,22 +5934,22 @@ angular.module(&#39;ScheduleApp&#39;).directive(
5936 5934 return scope[ctrlAs].fd.j2;
5937 5935 },
5938 5936 function(newValue, oldValue) {
5939   - // 初始化j2
5940   - if (newValue.id) {
5941   - if (newValue.id && newValue.name && newValue.jobCode) {
5942   - new_j2 = newValue.id + "_" + newValue.name + "_" + newValue.jobCode;
  5937 + if (form_data_assign_count.j2 > 2) {
  5938 + if (newValue.id) {
  5939 + if (newValue.id && newValue.name && newValue.jobCode) {
  5940 + new_j2 = newValue.id + "_" + newValue.name + "_" + newValue.jobCode;
  5941 + } else {
  5942 + new_j2 = undefined;
  5943 + }
5943 5944 } else {
5944 5945 new_j2 = undefined;
5945 5946 }
5946   - } else {
5947   - new_j2 = undefined;
5948   - }
5949 5947  
5950   - form_data_assign_count.j2 ++;
5951   - if (form_data_assign_count.j2 > 1) {
5952 5948 scope[ctrlAs].$$internal_refresh_dsdata_j();
5953 5949 scope[ctrlAs].$$internal_refresh_dsdata_s();
5954 5950 }
  5951 +
  5952 + form_data_assign_count.j2 ++;
5955 5953 },
5956 5954 true
5957 5955 );
... ... @@ -5962,22 +5960,22 @@ angular.module(&#39;ScheduleApp&#39;).directive(
5962 5960 return scope[ctrlAs].fd.s2;
5963 5961 },
5964 5962 function(newValue, oldValue) {
5965   - // 初始化s2
5966   - if (newValue && newValue.id) {
5967   - if (newValue.id && newValue.name && newValue.jobCode) {
5968   - new_s2 = newValue.id + "_" + newValue.name + "_" + newValue.jobCode;
  5963 + if (form_data_assign_count.s2 > 2) {
  5964 + if (newValue && newValue.id) {
  5965 + if (newValue.id && newValue.name && newValue.jobCode) {
  5966 + new_s2 = newValue.id + "_" + newValue.name + "_" + newValue.jobCode;
  5967 + } else {
  5968 + new_s2 = undefined;
  5969 + }
5969 5970 } else {
5970 5971 new_s2 = undefined;
5971 5972 }
5972   - } else {
5973   - new_s2 = undefined;
5974   - }
5975 5973  
5976   - form_data_assign_count.s2 ++;
5977   - if (form_data_assign_count.s2 > 1) {
5978 5974 scope[ctrlAs].$$internal_refresh_dsdata_j();
5979 5975 scope[ctrlAs].$$internal_refresh_dsdata_s();
5980 5976 }
  5977 +
  5978 + form_data_assign_count.s2 ++;
5981 5979 },
5982 5980 true
5983 5981 );
... ... @@ -5991,8 +5989,8 @@ angular.module(&#39;ScheduleApp&#39;).directive(
5991 5989 if (newValue && newValue.length > 0) {
5992 5990 var j1 = newValue[0].j;
5993 5991  
5994   - var cl_ids = []; // 车辆ids数组(有顺序)
5995   - var j_s_ids = []; // 驾驶员ids,售票员ids,[{j:id,s:id},...](有顺序)
  5992 + var cl_idFlags = []; // 车辆idFlags数组(有顺序)
  5993 + var j_s_idFlags = []; // 驾驶员idFlags,售票员idFlags,[{j:idFlag,s:idFlag},...](有顺序)
5996 5994 var addreason = []; // 营运调度的原因
5997 5995 var adddesc = []; // 营运导读的备注
5998 5996 var isRepeat = false;
... ... @@ -6058,30 +6056,30 @@ angular.module(&#39;ScheduleApp&#39;).directive(
6058 6056 // 车辆处理
6059 6057 isRepeat = false;
6060 6058 if (obj.cl) {
6061   - for (i = 0; i < cl_ids.length; i++) {
6062   - if (cl_ids[i] == obj.cl) {
  6059 + for (i = 0; i < cl_idFlags.length; i++) {
  6060 + if (cl_idFlags[i] == (obj.cl + "_" + obj.clZbh)) {
6063 6061 isRepeat = true;
6064 6062 break;
6065 6063 }
6066 6064 }
6067 6065 if (!isRepeat) {
6068   - cl_ids.push(obj.cl);
  6066 + cl_idFlags.push(obj.cl + "_" + obj.clZbh);
6069 6067 }
6070 6068 }
6071 6069  
6072 6070 // 人员处理(以驾驶员id为主,没有的话,售票员不管了)
6073 6071 isRepeat = false;
6074 6072 if (obj.j) {
6075   - for (i = 0; i < j_s_ids.length; i++) {
6076   - if (j_s_ids[i].j == obj.j) {
  6073 + for (i = 0; i < j_s_idFlags.length; i++) {
  6074 + if (j_s_idFlags[i].j == (obj.j + "_" + obj.jName + "_" + obj.jGh)) {
6077 6075 isRepeat = true;
6078 6076 break;
6079 6077 }
6080 6078 }
6081 6079 if (!isRepeat) {
6082   - j_s_ids.push({
6083   - j: obj.j,
6084   - s: !obj.s? undefined: obj.s
  6080 + j_s_idFlags.push({
  6081 + j: obj.j + "_" + obj.jName + "_" + obj.jGh,
  6082 + s: !obj.s? undefined: (obj.s + "_" + obj.sName + "_" + obj.sGh)
6085 6083 });
6086 6084 }
6087 6085 }
... ... @@ -6120,25 +6118,66 @@ angular.module(&#39;ScheduleApp&#39;).directive(
6120 6118 old_half_bcs = newValue.length / 2;
6121 6119  
6122 6120 // 更新formdata
6123   - for (i = 0; i < cl_ids.length; i++) { // 车辆更新前两辆
6124   - if (i >= 2) {
  6121 + for (i = 0; i < cl_idFlags.length; i++) { // 车辆更新前两辆
  6122 + if (i == 0) { // 第一组车
  6123 + scope[ctrlAs].fd["cl1"].id = cl_idFlags[i].split("_")[0];
  6124 + new_cl1 = cl_idFlags[i];
  6125 + } else if (i == 1) { // 第二组车
  6126 + scope[ctrlAs].fd["cl2"].id = cl_idFlags[i].split("_")[0];
  6127 + new_cl2 = cl_idFlags[i];
  6128 + } else { // 第三组及以上车全部忽略
6125 6129 break;
6126   - } else {
6127   - form_data_assign_count["cl" + (i + 1)] = 0;
6128   - scope[ctrlAs].fd["cl" + (i + 1)].id = cl_ids[i];
6129 6130 }
6130 6131 }
6131   - for (i = 0; i < j_s_ids.length; i++) { // 人员更新
6132   - if (i >= 3) {
  6132 + for (i = 0; i < j_s_idFlags.length; i++) { // 人员更新
  6133 + if (i == 0) { // 第一组人员
  6134 + scope[ctrlAs].fd["j1"].id = j_s_idFlags[i].j.split("_")[0];
  6135 + scope[ctrlAs].fd["s1"].id = j_s_idFlags[i].s && j_s_idFlags[i].s.split("_")[0];
  6136 + new_j1 = j_s_idFlags[i].j;
  6137 + new_s1 = j_s_idFlags[i].s;
  6138 +
  6139 + } else if (i == 1) { // 第二组人员
  6140 + scope[ctrlAs].fd["j2"].id = j_s_idFlags[i].j.split("_")[0];
  6141 + scope[ctrlAs].fd["s2"].id = j_s_idFlags[i].s && j_s_idFlags[i].s.split("_")[0];
  6142 + new_j2 = j_s_idFlags[i].j;
  6143 + new_s2 = j_s_idFlags[i].s;
  6144 + } else { // 第三组及以上全部忽律
6133 6145 break;
6134   - } else {
6135   - form_data_assign_count["j" + (i + 1)] = 0;
6136   - scope[ctrlAs].fd["j" + (i + 1)].id = j_s_ids[i].j;
6137   -
6138   - form_data_assign_count["s" + (i + 1)] = 0;
6139   - scope[ctrlAs].fd["s" + (i + 1)].id = j_s_ids[i].s;
6140 6146 }
6141 6147 }
  6148 + // 更新form_data_assign_count,有值设置成2,没值设置成3,表示已经从ds处初始化完毕
  6149 + if (new_cl1) {
  6150 + form_data_assign_count["cl1"] = 2;
  6151 + } else {
  6152 + form_data_assign_count["cl1"] = 3;
  6153 + }
  6154 + if (new_cl2) {
  6155 + form_data_assign_count["cl2"] = 2;
  6156 + } else {
  6157 + form_data_assign_count["cl2"] = 3;
  6158 + }
  6159 + if (new_j1) {
  6160 + form_data_assign_count["j1"] = 2;
  6161 + } else {
  6162 + form_data_assign_count["j1"] = 3;
  6163 + }
  6164 + if (new_j2) {
  6165 + form_data_assign_count["j2"] = 2;
  6166 + } else {
  6167 + form_data_assign_count["j2"] = 3;
  6168 + }
  6169 + if (new_s1) {
  6170 + form_data_assign_count["s1"] = 2;
  6171 + } else {
  6172 + form_data_assign_count["s1"] = 3;
  6173 + }
  6174 + if (new_s2) {
  6175 + form_data_assign_count["s2"] = 2;
  6176 + } else {
  6177 + form_data_assign_count["s2"] = 3;
  6178 + }
  6179 +
  6180 +
6142 6181 for (i = 0; i < addreason.length; i++) { // 调度原因更新
6143 6182 if (i > 1) { // 有多个,只更新第一个
6144 6183 break;
... ...