modal.ejs 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. <div class="modal" id="add-qi" data-backdrop="static" aria-modal="true" role="dialog">
  2. <div class="modal-dialog" role="document">
  3. <form class="modal-content" action="pay/add" method="POST" onsubmit="return checkAddValid();">
  4. <div class="modal-header">
  5. <h5 class="modal-title">添加新一期</h5>
  6. </div>
  7. <div class="modal-body">
  8. <div class="form-group form-group-sm">
  9. <label>支付期</label>
  10. <input class="form-control form-control-sm" value="第 <%- (phasePays.length + 1) %> 期" type="text" readonly="">
  11. <input type="hidden" value="<%- (phasePays.length + 1) %>" name="phase_order">
  12. </div>
  13. <div class="form-group form-group-sm">
  14. <label>支付年月</label>
  15. <input class="datepicker-here form-control form-control-sm" autocomplete="off" name="date" placeholder="点击选择年月" data-view="months" data-min-view="months" data-date-format="yyyy-MM" data-language="zh" type="text">
  16. </div>
  17. <div class="form-group form-group-sm">
  18. <label>计量期</label>
  19. <select class="form-control form-control-sm" name="stage">
  20. <% for (const s of validStages) { %>
  21. <option value="<%- s.order %>" <%- (s.order === validStages[0].order ? 'selected' : '') %>>第 <%- s.order %> 期</option>
  22. <% } %>
  23. </select>
  24. </div>
  25. <div class="form-group form-group-sm">
  26. <label>支付期备注</label>
  27. <textarea class="form-control form-control-sm" rows="3" name="memo"></textarea>
  28. </div>
  29. </div>
  30. <div class="modal-footer">
  31. <input type="hidden" name="_csrf_j" value="<%= ctx.csrf %>" />
  32. <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">关闭</button>
  33. <button type="submit" class="btn btn-sm btn-primary">确定</button>
  34. </div>
  35. </form>
  36. </div>
  37. </div>
  38. <div class="modal" id="edit-qi" data-backdrop="static" aria-modal="true" role="dialog">
  39. <div class="modal-dialog" role="document">
  40. <form class="modal-content" action="pay/save" method="POST" onsubmit="return checkEditValid();">
  41. <div class="modal-header">
  42. <h5 class="modal-title">编辑</h5>
  43. </div>
  44. <div class="modal-body">
  45. <div class="form-group form-group-sm">
  46. <label>支付期</label>
  47. <input class="form-control form-control-sm" id="edit-name" value="第 <%- (phasePays.length + 1) %> 期" type="text" readonly="">
  48. </div>
  49. <div class="form-group form-group-sm">
  50. <label>支付年月</label>
  51. <input class="datepicker-here form-control form-control-sm" id="edit-date" name="date" placeholder="点击选择年月" data-view="months" data-min-view="months" data-date-format="yyyy-MM" data-language="zh" type="text">
  52. </div>
  53. <div class="form-group form-group-sm">
  54. <label>支付期备注</label>
  55. <textarea class="form-control form-control-sm" rows="3" name="memo"></textarea>
  56. </div>
  57. </div>
  58. <div class="modal-footer">
  59. <input type="hidden" value="" name="phase_id">
  60. <input type="hidden" name="_csrf_j" value="<%= ctx.csrf %>" />
  61. <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">关闭</button>
  62. <button type="submit" class="btn btn-sm btn-primary">确定</button>
  63. </div>
  64. </form>
  65. </div>
  66. </div>
  67. <!--审批流程/结果-->
  68. <div class="modal fade" id="sp-list" data-backdrop="static">
  69. <div class="modal-dialog modal-lg" role="document">
  70. <div class="modal-content">
  71. <div class="modal-header">
  72. <h5 class="modal-title">审批流程</h5>
  73. </div>
  74. <div class="modal-body">
  75. <div class="row">
  76. <div class="col-4 modal-height-500" style="overflow: auto">
  77. <div class="card mt-3">
  78. <ul class="list-group list-group-flush" id="auditor-list">
  79. </ul>
  80. </div>
  81. </div>
  82. <div class="col-8 modal-height-500" style="overflow: auto" id="audit-list">
  83. </div>
  84. </div>
  85. </div>
  86. <div class="modal-footer">
  87. <button type="button" class="btn btn-secondary btn-sm" data-dismiss="modal">关闭</button>
  88. </div>
  89. </div>
  90. </div>
  91. </div>
  92. <script>
  93. $('.datepicker-here').datepicker({
  94. autoClose: true,
  95. });
  96. const checkAddValid = function() {
  97. if ($('[name=date]', '#add-qi').val() == '') {
  98. toastr.error('请选择计量年月');
  99. return false;
  100. }
  101. if ($('[name=stage]', '#add-qi').val() == '') {
  102. toastr.error('请选择计量期');
  103. return false;
  104. }
  105. }
  106. const checkEditValid = function() {
  107. if ($('[name=date]', '#edit-qi').val() == '') {
  108. toastr.error('请选择计量年月');
  109. return false;
  110. }
  111. }
  112. $('.edit-pay').on('click', function () {
  113. const id = $(this).data('id');
  114. const phasePay = phasePays.find(x => { return x.id === id; });
  115. if (!phasePay) return;
  116. const editDate = $('#edit-date').datepicker().data('datepicker');
  117. $('#edit-name').val('第 ' + phasePay.phase_order + ' 期');
  118. if (phasePay.phase_date) {
  119. editDate.selectDate(new Date(phasePay.phase_date));
  120. }
  121. $('[name=memo]', '#edit-qi').html(phasePay.memo);
  122. $('[name=phase_id]', '#edit-qi').val(phasePay.id);
  123. $('#edit-qi').modal('show');
  124. })
  125. </script>