measure_material.js 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. 'use strict';
  2. /**
  3. * 期计量 - 期列表页面 js
  4. *
  5. * @author Mai
  6. * @date 2018/12/7
  7. * @version
  8. */
  9. $(function () {
  10. // 获取审批流程
  11. $('a[data-target="#sp-list" ]').on('click', function () {
  12. const data = {
  13. order: $(this).attr('m-order'),
  14. };
  15. postData('/tender/' + tenderId + '/measure/material/auditors', data, function (result) {
  16. const materialAuditor = result.materialAuditor;
  17. const auditors = result.auditors;
  18. const auditHistory = result.auditHistory;
  19. // 生成左边列表流程
  20. const lefthtml = [];
  21. lefthtml.push('<li class="list-group-item"><i class="fa fa fa-play-circle fa-rotate-90"></i> '+ materialAuditor.name +' <small class="text-muted">'+ materialAuditor.role +'</small></li>');
  22. for (const [index,a] of auditors.entries()) {
  23. if (index+1 === auditors.length) {
  24. lefthtml.push('<li class="list-group-item"><i class="fa fa-stop-circle"></i> '+ a.name +' <small class="text-muted">'+ a.role +'</small></li>');
  25. } else {
  26. lefthtml.push('<li class="list-group-item"><i class="fa fa-chevron-circle-down"></i> '+ a.name +' <small class="text-muted">'+ a.role +'</small></li>');
  27. }
  28. }
  29. $('#auditor-list').html(lefthtml.join(''));
  30. // 生成右边列表流程
  31. const righthtml = [];
  32. for(const ah of auditHistory) {
  33. righthtml.push('<div class="card mt-3"><ul class="list-group list-group-flush">');
  34. for (let iA = 0; iA < ah.length; iA++) {
  35. if (iA === 0) {
  36. righthtml.push('<li class="list-group-item">');
  37. righthtml.push('<span class="text-success pull-right">'+ (auditHistory.indexOf(ah) > 0 ? '重新' : '') +'上报</span>');
  38. righthtml.push('<h5 class="card-title">');
  39. righthtml.push('<i class="fa fa-play-circle fa-rotate-90 text-success"></i> '+ materialAuditor.name +' <small class="text-muted">'+ materialAuditor.role +'</small></h5>');
  40. righthtml.push('<p class="card-text"><small class="text-muted">' + (ah[iA].begin_time ? moment(ah[iA].begin_time).format('YYYY-MM-DD') : '') + '</small></p></li>');
  41. righthtml.push('<li class="list-group-item">');
  42. if (ah[iA].status !== auditConst.status.uncheck) {
  43. righthtml.push('<span class="'+ auditConst.statusClass[ah[iA].status] +' pull-right">' + auditConst.statusString[ah[iA].status] + (ah[iA].status === auditConst.status.checkNo ? ' ' + materialAuditor.name : '') + '</span>');
  44. }
  45. righthtml.push('<h5 class="card-title"><i class="fa '+ (iA === ah.length - 1 ? 'fa-stop-circle ' : 'fa-chevron-circle-down ') + auditConst.statusClass[ah[iA].status] +'"></i> '+ ah[iA].name +' <small class="text-muted">'+ ah[iA].role +'</small></h5>');
  46. if (ah[iA].status === auditConst.status.checked || ah[iA].status === auditConst.status.checkNo) {
  47. righthtml.push('<p class="card-text mb-1">'+ ah[iA].opinion +'</p>');
  48. righthtml.push('<p class="card-text"><small class="text-muted">'+ (ah[iA].end_time ? moment(ah[iA].end_time).format('YYYY-MM-DD') : '') +'</small></p>');
  49. }
  50. righthtml.push('</li>');
  51. } else if (iA === ah.length - 1) {
  52. righthtml.push('<li class="list-group-item">');
  53. if (ah[iA].status !== auditConst.status.uncheck) {
  54. righthtml.push('<span class="'+ auditConst.statusClass[ah[iA].status] +' pull-right">' + auditConst.statusString[ah[iA].status] + (ah[iA].status === auditConst.status.checkNo ? ' ' + materialAuditor.name : '') + '</span>');
  55. }
  56. righthtml.push('<h5 class="card-title"><i class="fa fa-stop-circle '+ auditConst.statusClass[ah[iA].status] +'"></i> '+ ah[iA].name +' <small class="text-muted">'+ ah[iA].role +'</small></h5>');
  57. if (ah[iA].status === auditConst.status.checked || ah[iA].status === auditConst.status.checkNo) {
  58. righthtml.push('<p class="card-text mb-1">'+ ah[iA].opinion +'</p>');
  59. righthtml.push('<p class="card-text"><small class="text-muted">'+ (ah[iA].end_time ? moment(ah[iA].end_time).format('YYYY-MM-DD') : '') +'</small></p>');
  60. }
  61. righthtml.push('</li>');
  62. } else {
  63. righthtml.push('<li class="list-group-item">');
  64. if (ah[iA].status !== auditConst.status.uncheck) {
  65. righthtml.push('<span class="'+ auditConst.statusClass[ah[iA].status] +' pull-right">' + auditConst.statusString[ah[iA].status] + (ah[iA].status === auditConst.status.checkNo ? ' ' + materialAuditor.name : '') + '</span>');
  66. }
  67. righthtml.push('<h5 class="card-title"><i class="fa fa-chevron-circle-down '+ auditConst.statusClass[ah[iA].status] +'"></i> '+ ah[iA].name +' <small class="text-muted">'+ ah[iA].role +'</small></h5>');
  68. if (ah[iA].status === auditConst.status.checked || ah[iA].status === auditConst.status.checkNo) {
  69. righthtml.push('<p class="card-text mb-1">'+ ah[iA].opinion +'</p>');
  70. righthtml.push('<p class="card-text"><small class="text-muted">'+ (ah[iA].end_time ? moment(ah[iA].end_time).format('YYYY-MM-DD') : '') +'</small></p>');
  71. }
  72. righthtml.push('</li>');
  73. }
  74. }
  75. righthtml.push('</ul></div>');
  76. }
  77. $('#auditor-list2').html(righthtml.join(''));
  78. });
  79. });
  80. // 计量期选中
  81. $('.select-stage-order').on('click', function () {
  82. const stageList = $('.select-stage-order:checked');
  83. if (stageList.length === 0) {
  84. $('#show_order').hide();
  85. $('#s_order').val('');
  86. } else {
  87. const order_array = [];
  88. for (let s = 0; s < stageList.length; s++) {
  89. order_array.push(stageList.eq(s).data('order'));
  90. // console.log(stageList.eq(s));
  91. }
  92. $('#show_order').html('第<b class="mx-2">' + order_array.join(',') + '</b>期');
  93. $('#show_order').show();
  94. $('#s_order').val(order_array.join(','));
  95. }
  96. });
  97. // 提交表单判断
  98. $('#addMaterial').click(function () {
  99. if ($('#s_order').val() == '') {
  100. toastr.error('请选择计量期');
  101. return false;
  102. }
  103. })
  104. });