pay.ejs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  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"><a href="<%- preUrl %>" class="account-page-size"><i class="fa fa-chevron-left "></i> <span>返回</span></a><span class="text-muted mx-2">|</span><span>第<%- payStage.order %>期 <%- payStage.company %></span><span class="text-muted mx-2">|</span></div>
  8. <div class="d-inline-block col-sm-3 pl-0">
  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 userTenderList) { %>
  13. <option value="<%- t.tid %>" <% if (t.tid === 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. <% if (notStagePays.length > 0 && ctx.session.sessionUser.is_admin) { %>
  48. <div class="d-inline-block">
  49. <a href="#contract-old-pay" data-toggle="modal" data-target="#contract-old-pay" class="btn btn-sm btn-primary mr-2">关联旧数据</a>
  50. </div>
  51. <% } %>
  52. </div>
  53. <div class="d-inline-block ml-auto">
  54. <% if (ctx.session.sessionUser.is_admin || fptReportTids.length > 0) { %>
  55. <a href="#add-pay" data-toggle="modal" data-target="#add-pay" class="btn btn-primary btn-sm pull-right">申请支付</a>
  56. <% } %>
  57. <!-- <a href="#batch-sp" data-toggle="modal" data-target="#batch-sp" class="btn btn-success btn-sm pull-right mr-2">批量审批</a>-->
  58. </div>
  59. </div>
  60. </div>
  61. <div class="content-wrap">
  62. <div class="sjs-height-0" style="background-color: #fff">
  63. <table class="table table-bordered text-center">
  64. <thead>
  65. <tr>
  66. <th style="min-width: 150px;">标段名称</th>
  67. <th width="200px">支付编号</th>
  68. <th width="150px">申请时间</th>
  69. <th width="100px">申请人</th>
  70. <th width="200px">资金用途</th>
  71. <th width="300px">收款单位</th>
  72. <th width="150px">支付金额</th>
  73. <th width="200px">审批进度</th>
  74. <th width="150px">操作</th>
  75. </tr>
  76. </thead>
  77. <tbody id="pay-list">
  78. <% for (const pay of payList) { %>
  79. <tr class="text-center" data-tid="<%- pay.tid %>">
  80. <td class="text-left"><%- pay.tenderName %></td>
  81. <td class=""><a href="/sp/<%- ctx.subProject.id %>/financial/pay/<%- pay.id %>/detail"><%- pay.code %></a></td>
  82. <td class=""><%- moment(pay.create_time).format('YYYY-MM-DD') %></td>
  83. <td class=""><%- pay.username %></td>
  84. <td class=""><%- pay.used %></td>
  85. <td class=""><%- pay.entities %></td>
  86. <td class="text-right"><%- pay.total_price %></td>
  87. <td class="text-left <%- auditConst.auditProgressClass[pay.status] %>">
  88. <% if (pay.status === auditConst.status.checked && pay.final_auditor_str) { %>
  89. <a href="#sp-list" data-toggle="modal" data-target="#sp-list" c-id="<%- pay.id %>"><%- pay.final_auditor_str %></a>
  90. <% } else if (pay.curAuditors.length > 0) { %>
  91. <% if (pay.curAuditors[0].audit_type === auditType.key.common) { %>
  92. <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>
  93. <% } else { %>
  94. <a href="#sp-list" data-toggle="modal" data-target="#sp-list" c-id="<%- pay.id %>"><%- ctx.helper.transFormToChinese(pay.curAuditors[0].audit_order) + '审' %></a>
  95. <% } %>
  96. <% } %>
  97. <%- auditConst.auditProgress[pay.status] %>
  98. </td>
  99. <td>
  100. <% if (pay.status === auditConst.status.uncheck && pay.uid === ctx.session.sessionUser.accountId) { %>
  101. <a href="/sp/<%- ctx.subProject.id %>/financial/pay/<%- pay.id %>/detail" class="btn <%- auditConst.statusButtonClass[pay.status] %> btn-sm"><%- auditConst.statusButton[pay.status] %></a>
  102. <% } else if (pay.status === auditConst.status.checkNo && pay.curAuditors && 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.checking && pay.curAuditors && pay.curAuditors.findIndex(x => { return x.aid === ctx.session.sessionUser.accountId; }) >= 0) { %>
  105. <% const curAudit = pay.curAuditors.find(x => { return x.aid === ctx.session.sessionUser.accountId; }); %>
  106. <% if (curAudit.status === auditConst.status.checking) { %>
  107. <a href="/sp/<%- ctx.subProject.id %>/financial/pay/<%- pay.id %>/detail" class="btn <%- auditConst.statusButtonClass[pay.status] %> btn-sm"><%- auditConst.statusButton[pay.status] %></a>
  108. <% } else { %>
  109. <span class="<%- auditConst.auditStringClass[curAudit.status] %>"><%- auditConst.auditString[curAudit.status] %></span>
  110. <% } %>
  111. <% } else { %>
  112. <span class="<%- auditConst.auditStringClass[pay.status] %>"><%- auditConst.auditString[pay.status] %></span>
  113. <% } %>
  114. <% 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><% } %>
  115. </td>
  116. </tr>
  117. <% } %>
  118. </tbody>
  119. </table>
  120. <!--翻页-->
  121. <% include ../layout/page.ejs %>
  122. </div>
  123. </div>
  124. </div>
  125. <link href="/public/css/bootstrap/select2.min.css" rel="stylesheet" />
  126. <link rel="stylesheet" href="/public/css/bootstrap/select2-bootstrap4.min.css">
  127. <script src="/public/js/bootstrap/select2.min.js"></script>
  128. <script>
  129. const user_id = <%- ctx.session.sessionUser.accountId %>;
  130. const fpsid = <%- payStage.id %>;
  131. const is_admin = <%- ctx.session.sessionUser.is_admin %>;
  132. const category = JSON.parse(unescape('<%- escape(JSON.stringify(categoryData)) %>'));
  133. const tenders = JSON.parse(unescape('<%- escape(JSON.stringify(tenders)) %>'));
  134. console.log(tenders);
  135. const fptReportTids = JSON.parse(unescape('<%- escape(JSON.stringify(fptReportTids)) %>'));
  136. const auditConst = JSON.parse(unescape('<%- escape(JSON.stringify(auditConst)) %>'));
  137. const auditType = JSON.parse(unescape('<%- escape(JSON.stringify(auditType)) %>'));
  138. const selfCategoryLevel = '';
  139. const pid = '<%- ctx.session.sessionProject.id %>';
  140. const subProid = '<%- ctx.subProject.id %>';
  141. const from = '<%- ctx.query.from || '' %>';
  142. const uphlname = 'user_' + user_id + '_pro_' + pid + '_sub_' + subProid + '_pay_category_hide_list';
  143. </script>