pay.ejs 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. <% include ./sub_menu.ejs %>
  2. <div class="panel-content">
  3. <div class="panel-title">
  4. <div class="title-main d-flex">
  5. <% include ./sub_mini_menu.ejs %>
  6. <div class="col-10 pl-0">
  7. <div class="d-inline-block"><span class="mr-3">支付列表</span></div>
  8. <div class="d-inline-block col-sm-3">
  9. <div class="input-group input-group-sm pr-1">
  10. <select class="form-control form-control-sm col-auto" id="tid_select">
  11. <option value="0">全部</option>
  12. <% for (const t of tenders) { %>
  13. <option value="<%- t.id %>" <% if (t.id === tid) { %>selected<% } %> ><%- t.name %></option>
  14. <% } %>
  15. </select>
  16. </div>
  17. </div>
  18. <div class="d-inline-block">
  19. <div class="input-group input-group-sm pr-1">
  20. <div class="btn-group">
  21. <button type="button" class="btn btn-sm btn-light text-primary dropdown-toggle" data-toggle="dropdown" id="used_selected" data-value="<%- used %>">资金用途:<%- used ? used : '全部' %></button>
  22. <div class="dropdown-menu" aria-labelledby="used_selected" id="used_select">
  23. <% if (used !== null) { %><a class="dropdown-item to-log-link" data-val="" href="javascript:void(0);">全部</a><% } %>
  24. <% for (const u of usedList) { %>
  25. <% if (used !== u) { %>
  26. <a class="dropdown-item to-log-link" href="javascript:void(0)" data-val="<%- u %>"><%- u %></a>
  27. <% } %>
  28. <% } %>
  29. </div>
  30. </div>
  31. </div>
  32. </div>
  33. <div class="d-inline-block">
  34. <div class="input-group input-group-sm pr-1">
  35. <div class="btn-group">
  36. <button type="button" class="btn btn-sm btn-light text-primary dropdown-toggle" data-toggle="dropdown" id="status_selected" data-value="<%- status %>">审批状态:<% if (status !== 0) { %><%- filter.statusString[status] %>(<%- filter.count[status] %>)<% } else { %>全部<% } %></button>
  37. <div class="dropdown-menu" aria-labelledby="status_selected" id="status_select">
  38. <% if (status !== 0) { %><a class="dropdown-item to-log-link" data-val="0" href="javascript:void(0);">全部</a><% } %>
  39. <% for (const fs in filter.status) { %>
  40. <% const f = filter.status[fs]; %>
  41. <% if (f !== status) { %><a class="dropdown-item to-log-link" data-val="<%- f %>" href="javascript:void(0);"><%- filter.statusString[f] %>(<%- filter.count[f] %>)</a><% } %>
  42. <% } %>
  43. </div>
  44. </div>
  45. </div>
  46. </div>
  47. <div class="d-inline-block">
  48. <a href="#payaccount" data-toggle="modal" data-target="#payaccount" class="btn btn-sm btn-primary mr-2" id="show-pay-account" style="display: none">付款账号</a>
  49. <% if (ctx.session.sessionUser.is_admin) { %>
  50. <a href="#liucheng" data-toggle="modal" data-target="#liucheng" class="btn btn-sm btn-primary mr-2">审批流程</a>
  51. <% } %>
  52. </div>
  53. </div>
  54. <div class="d-inline-block ml-auto">
  55. <% if (ctx.session.sessionUser.is_admin || fptReportTids.length > 0) { %>
  56. <a href="#add-pay" data-toggle="modal" data-target="#add-pay" class="btn btn-primary btn-sm pull-right">申请支付</a>
  57. <% } %>
  58. <!-- <a href="#batch-sp" data-toggle="modal" data-target="#batch-sp" class="btn btn-success btn-sm pull-right mr-2">批量审批</a>-->
  59. </div>
  60. </div>
  61. </div>
  62. <div class="content-wrap">
  63. <div class="c-body">
  64. <div class="sjs-height-0">
  65. <table class="table table-bordered text-center">
  66. <thead>
  67. <tr>
  68. <th style="min-width: 150px;">标段名称</th>
  69. <th width="200px">支付编号</th>
  70. <th width="150px">申请时间</th>
  71. <th width="100px">申请人</th>
  72. <th width="200px">资金用途</th>
  73. <th width="300px">收款单位</th>
  74. <th width="150px">支付金额</th>
  75. <th width="200px">审批进度</th>
  76. <th width="150px">操作</th>
  77. </tr>
  78. </thead>
  79. <tbody id="pay-list">
  80. <% for (const pay of payList) { %>
  81. <tr class="text-center" data-tid="<%- pay.tid %>">
  82. <td class="text-left"><%- pay.tenderName %></td>
  83. <td class=""><a href="/sp/<%- ctx.subProject.id %>/financial/pay/<%- pay.id %>/detail"><%- pay.code %></a></td>
  84. <td class=""><%- moment(pay.create_time).format('YYYY-MM-DD') %></td>
  85. <td class=""><%- pay.username %></td>
  86. <td class=""><%- pay.used %></td>
  87. <td class=""><%- pay.entities %></td>
  88. <td class="text-right"><%- pay.total_price %></td>
  89. <td class="text-left <%- auditConst.auditProgressClass[pay.status] %>">
  90. <% if (pay.status === auditConst.status.checked && pay.final_auditor_str) { %>
  91. <a href="#sp-list" data-toggle="modal" data-target="#sp-list" c-id="<%- pay.id %>"><%- pay.final_auditor_str %></a>
  92. <% } else if (pay.curAuditors.length > 0) { %>
  93. <% if (pay.curAuditors[0].audit_type === auditType.key.common) { %>
  94. <a href="#sp-list" data-toggle="modal" data-target="#sp-list" c-id="<%- pay.id %>"><%- pay.curAuditors[0].name %><%if (pay.curAuditors[0].role !== '' && pay.curAuditors[0].role !== null) { %>-<%- pay.curAuditors[0].role %><% } %></a>
  95. <% } else { %>
  96. <a href="#sp-list" data-toggle="modal" data-target="#sp-list" c-id="<%- pay.id %>"><%- ctx.helper.transFormToChinese(pay.curAuditors[0].audit_order) + '审' %></a>
  97. <% } %>
  98. <% } %>
  99. <%- auditConst.auditProgress[pay.status] %>
  100. </td>
  101. <td>
  102. <% if (pay.status === auditConst.status.uncheck && pay.uid === ctx.session.sessionUser.accountId) { %>
  103. <a href="/sp/<%- ctx.subProject.id %>/financial/pay/<%- pay.id %>/detail" class="btn <%- auditConst.statusButtonClass[pay.status] %> btn-sm"><%- auditConst.statusButton[pay.status] %></a>
  104. <% } else if (pay.status === auditConst.status.checkNo && pay.curAuditors && pay.uid === ctx.session.sessionUser.accountId) { %>
  105. <a href="/sp/<%- ctx.subProject.id %>/financial/pay/<%- pay.id %>/detail" class="btn <%- auditConst.statusButtonClass[pay.status] %> btn-sm"><%- auditConst.statusButton[pay.status] %></a>
  106. <% } else if (pay.status === auditConst.status.checking && pay.curAuditors && pay.curAuditors.findIndex(x => { return x.aid === ctx.session.sessionUser.accountId; }) >= 0) { %>
  107. <% const curAudit = pay.curAuditors.find(x => { return x.aid === ctx.session.sessionUser.accountId; }); %>
  108. <% if (curAudit.status === auditConst.status.checking) { %>
  109. <a href="/sp/<%- ctx.subProject.id %>/financial/pay/<%- pay.id %>/detail" class="btn <%- auditConst.statusButtonClass[pay.status] %> btn-sm"><%- auditConst.statusButton[pay.status] %></a>
  110. <% } else { %>
  111. <span class="<%- auditConst.auditStringClass[curAudit.status] %>"><%- auditConst.auditString[curAudit.status] %></span>
  112. <% } %>
  113. <% } else { %>
  114. <span class="<%- auditConst.auditStringClass[pay.status] %>"><%- auditConst.auditString[pay.status] %></span>
  115. <% } %>
  116. <% if (pay.uid === ctx.session.sessionUser.accountId && (pay.status === auditConst.status.uncheck || pay.status === auditConst.status.checkNo)) { %><a href="javascript:void(0);" data-id="<%- pay.id %>" class="text-danger del-pay-btn">删除</a><% } %>
  117. </td>
  118. </tr>
  119. <% } %>
  120. </tbody>
  121. </table>
  122. </div>
  123. </div>
  124. </div>
  125. </div>
  126. <script>
  127. const user_id = <%- ctx.session.sessionUser.accountId %>;
  128. const is_admin = <%- ctx.session.sessionUser.is_admin %>;
  129. const tenders = JSON.parse(unescape('<%- escape(JSON.stringify(tenders)) %>'));
  130. const fptReportTids = JSON.parse(unescape('<%- escape(JSON.stringify(fptReportTids)) %>'));
  131. const auditConst = JSON.parse(unescape('<%- escape(JSON.stringify(auditConst)) %>'));
  132. const auditType = JSON.parse(unescape('<%- escape(JSON.stringify(auditType)) %>'));
  133. </script>