measure_material.js 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  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><span class="pull-right">原报</span></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><span class="pull-right">终审</span></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><span class="pull-right">' + transFormToChinese(index+1) + '审</span></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('<h5 class="card-title">');
  38. righthtml.push('<i class="fa fa-play-circle fa-rotate-90 text-success"></i> '+ materialAuditor.name +' <small class="text-muted">'+ materialAuditor.role +'</small><span class="pull-right">原报</span></h5>');
  39. righthtml.push('<div class="ml-3">');
  40. righthtml.push('<span class="text-success"><small>' + (ah[iA].begin_time ? moment(ah[iA].begin_time).format('YYYY-MM-DD') : '') + '</small>'+ (auditHistory.indexOf(ah) > 0 ? '重新' : '') + '上报</span>');
  41. righthtml.push('</div></li>');
  42. righthtml.push('<li class="list-group-item">');
  43. 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><span class="pull-right">' + (ah[iA].sort === ah[iA].max_sort ? '终' : transFormToChinese(ah[iA].sort)) + '审</span></h5>');
  44. righthtml.push('<div class="ml-3">');
  45. if (ah[iA].status !== auditConst.status.uncheck) {
  46. let timeHtml = '';
  47. if (ah[iA].status === auditConst.status.checked || ah[iA].status === auditConst.status.checkNo) {
  48. timeHtml = '<small>'+ (ah[iA].end_time ? moment(ah[iA].end_time).format('YYYY-MM-DD') : '') +'</small> ';
  49. }
  50. righthtml.push('<span class="'+ auditConst.statusClass[ah[iA].status] +'">' + timeHtml + auditConst.statusString[ah[iA].status] + (ah[iA].status === auditConst.status.checkNo ? ' ' + materialAuditor.name : '') + '</span>');
  51. }
  52. righthtml.push('<p class="card-text">'+ (ah[iA].opinion !== null ? ah[iA].opinion : '') +'</p></div>');
  53. righthtml.push('</li>');
  54. } else if (iA === ah.length - 1) {
  55. righthtml.push('<li class="list-group-item">');
  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><span class="pull-right">终审</span></h5>');
  57. righthtml.push('<div class="ml-3">');
  58. if (ah[iA].status !== auditConst.status.uncheck) {
  59. let timeHtml = '';
  60. if (ah[iA].status === auditConst.status.checked || ah[iA].status === auditConst.status.checkNo) {
  61. timeHtml = '<small>'+ (ah[iA].end_time ? moment(ah[iA].end_time).format('YYYY-MM-DD') : '') +'</small> ';
  62. }
  63. righthtml.push('<span class="'+ auditConst.statusClass[ah[iA].status] +'">' + timeHtml + auditConst.statusString[ah[iA].status] + (ah[iA].status === auditConst.status.checkNo ? ' ' + materialAuditor.name : '') + '</span>');
  64. }
  65. righthtml.push('<p class="card-text">'+ (ah[iA].opinion !== null ? ah[iA].opinion : '') +'</p></div>');
  66. righthtml.push('</li>');
  67. } else {
  68. righthtml.push('<li class="list-group-item">');
  69. 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><span class="pull-right">' + (ah[iA].sort === ah[iA].max_sort ? '终' : transFormToChinese(ah[iA].sort)) + '审</span></h5>');
  70. righthtml.push('<div class="ml-3">');
  71. if (ah[iA].status !== auditConst.status.uncheck) {
  72. let timeHtml = '';
  73. if (ah[iA].status === auditConst.status.checked || ah[iA].status === auditConst.status.checkNo) {
  74. timeHtml = '<small>'+ (ah[iA].end_time ? moment(ah[iA].end_time).format('YYYY-MM-DD') : '') +'</small> ';
  75. }
  76. righthtml.push('<span class="'+ auditConst.statusClass[ah[iA].status] +'">' + timeHtml + auditConst.statusString[ah[iA].status] + (ah[iA].status === auditConst.status.checkNo ? ' ' + materialAuditor.name : '') + '</span>');
  77. }
  78. righthtml.push('<p class="card-text">'+ (ah[iA].opinion !== null ? ah[iA].opinion : '') +'</p></div>');
  79. righthtml.push('</li>');
  80. }
  81. }
  82. righthtml.push('</ul></div>');
  83. }
  84. $('#auditor-list2').html(righthtml.join(''));
  85. });
  86. });
  87. // 计量期选中
  88. $('.select-stage-order').on('click', function () {
  89. const stageList = $('.select-stage-order:checked');
  90. if (stageList.length === 0) {
  91. $('#show_order').hide();
  92. $('#s_order').val('');
  93. } else {
  94. const order_array = [];
  95. for (let s = 0; s < stageList.length; s++) {
  96. order_array.push(stageList.eq(s).data('order'));
  97. // console.log(stageList.eq(s));
  98. }
  99. $('#show_order').html('第<b class="mx-2">' + order_array.join(',') + '</b>期');
  100. $('#show_order').show();
  101. $('#s_order').val(order_array.join(','));
  102. }
  103. });
  104. // 提交表单判断
  105. $('#addMaterial').click(function () {
  106. if ($('#s_order').val() == '') {
  107. toastr.error('请选择计量期');
  108. return false;
  109. }
  110. })
  111. });