dashboard.ejs 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no">
  6. <meta http-equiv="x-ua-compatible" content="ie=edge">
  7. <title>待审批-计量支付</title>
  8. <link rel="stylesheet" href="/public/css/bootstrap/bootstrap.min.css">
  9. <link rel="stylesheet" href="/public/css/wap/main.css">
  10. <link rel="stylesheet" href="/public/css/toast.css">
  11. <link rel="stylesheet" href="/public/css/font-awesome/font-awesome.min.css">
  12. <link rel="stylesheet" href="/public/css/toastr.css">
  13. <link rel="shortcut icon" href="/public/images/favicon.ico">
  14. <style>
  15. body {
  16. padding: 0;
  17. }
  18. </style>
  19. </head>
  20. <body>
  21. <div class="container">
  22. <!--顶部-->
  23. <nav class="fixed-top bg-dark">
  24. <div class="my-2 d-flex justify-content-between">
  25. <span class="text-white ml-3">待审批</span>
  26. <div class="mr-3">
  27. <div class="dropdown">
  28. <button class="btn btn-sm btn-light dropdown-toggle" type="button" data-toggle="dropdown">
  29. <%- ctx.session.sessionUser.name.substr(ctx.session.sessionUser.name.length > 2 ? ctx.session.sessionUser.name.length - 2 : 0) %>
  30. </button>
  31. <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
  32. <a class="dropdown-item" href="/wap/logout">退出登录</a>
  33. </div>
  34. </div>
  35. </div>
  36. </div>
  37. </nav>
  38. <!--待审批期列表-->
  39. <div class="py-6">
  40. <% if (auditStages.length !== 0 || auditChanges.length !== 0 || auditRevise.length !== 0 || auditAdvance.length !== 0 || auditChangePlans.length !== 0) { %>
  41. <% for (const audit of auditStages) { %>
  42. <div class="card mb-3">
  43. <div class="card-header d-flex justify-content-between">
  44. <span><%- JSON.parse(audit.deal_info).buildName %></span>
  45. <span class="badge badge-pill badge-info">计量期</span>
  46. </div>
  47. <div class="bg-light p-2 px-3"><b><%- audit.name %></b></div>
  48. <div class="card-body">
  49. <div class="d-flex justify-content-between"><span>第<%- audit.order %>期</span><span><%- audit.s_time %></span></div>
  50. <div class="my-2">
  51. <table class="table table-sm table-bordered">
  52. <tr><th>本期合同计量</th><td class="text-right"><%- audit.contract_tp ? audit.contract_tp : 0 %></td></tr>
  53. <tr><th>本期数量变更计量</th><td class="text-right"><%- audit.qc_tp ? audit.qc_tp : 0 %></td></tr>
  54. <tr><th>本期完成计量</th><td class="text-right"><%- audit.gather_tp ? audit.gather_tp : 0 %></td></tr>
  55. <tr><th>截止上期完成计量</th><td class="text-right"><%- audit.pre_gather_tp ? audit.pre_gather_tp : 0 %></td></tr>
  56. <tr><th>截止本期完成计量</th><td class="text-right"><%- audit.end_gather_tp ? audit.end_gather_tp : 0 %></td></tr>
  57. <% if (!ctx.session.sessionProject.page_show.closeWapYfSf) { %>
  58. <tr><th>本期应付</th><td class="text-right"><%- audit.yf_tp ? audit.yf_tp : 0 %></td></tr>
  59. <tr><th>本期实付</th><td class="text-right"><%- audit.sf_tp ? audit.sf_tp : 0 %></td></tr>
  60. <% } %>
  61. </table>
  62. </div>
  63. <div class="">
  64. <a href="/wap/tender/<%- audit.tid %>/measure/stage/<%- audit.order %>" class="btn btn-block btn-success">审批</a>
  65. </div>
  66. </div>
  67. </div>
  68. <% } %>
  69. <% for (const revise of auditRevise) { %>
  70. <div class="card mb-3">
  71. <div class="card-header d-flex justify-content-between">
  72. <span><%- JSON.parse(revise.deal_info).buildName %></span>
  73. <span class="badge badge-pill badge-info">台账修订</span>
  74. </div>
  75. <div class="bg-light p-2 px-3"><b><%- revise.t_name %></b></div>
  76. <div class="card-body">
  77. <div class="d-flex justify-content-between"><span>第<%- revise.corder %>次修订</span></div>
  78. <div class="my-2">
  79. <table class="table table-sm table-bordered">
  80. <tr><th width="90">修订时间</th><td class="text-right"><%- ctx.moment(revise.in_time).format('YYYY-MM-DD') %></td></tr>
  81. <tr><th>修订人</th><td class="text-right"><%- revise.yb_name %></td></tr>
  82. <tr><th>修订详情</th><td class=""><% if (!revise.content || revise.content.length <= 22) { %><%- revise.content %><% } else { %><%- revise.content.substring(0,22) %><a class="show-content" data-content="<%- revise.content %>" href="javascript:void(0);">展开更多</a><% } %></td></tr>
  83. </table>
  84. </div>
  85. <div class="">
  86. <a href="/wap/tender/<%- revise.t_id %>/revise/<%- revise.id %>/info" class="btn btn-block btn-success">审批</a>
  87. </div>
  88. </div>
  89. </div>
  90. <% } %>
  91. <% for (const change of auditChanges) { %>
  92. <div class="card mb-3">
  93. <div class="card-header d-flex justify-content-between">
  94. <span><%- JSON.parse(change.deal_info).buildName %></span>
  95. <span class="badge badge-pill badge-danger">工程变更</span>
  96. </div>
  97. <div class="bg-light p-2 px-3"><b><%- change.name %></b></div>
  98. <div class="card-body">
  99. <div class="d-flex justify-content-between"><span><%- change.ccode %></span></div>
  100. <div class="my-2">
  101. <table class="table table-sm table-bordered">
  102. <tr><th width="90">工程名称</th><td><%- change.cname %></td></tr>
  103. <tr><th>变更性质</th><td><% for (const q in changeConst.quality) { %>
  104. <% const cQuality = changeConst.quality[q] %><% if (cQuality.value === change.quality) { %><%- cQuality.name %><% } %><% } %></td></tr>
  105. <tr><th>变更金额</th><td class="text-right"><%- ctx.helper.roundNum(change.total_price, JSON.parse(change.decimal).tp) %></td></tr>
  106. </table>
  107. </div>
  108. <div class="">
  109. <a href="/wap/tender/<%- change.tid %>/change/<%- change.cid %>/information#shenpi" class="btn btn-block btn-success">审批</a>
  110. </div>
  111. </div>
  112. </div>
  113. <% } %>
  114. <% for (const change of auditChangePlans) { %>
  115. <div class="card mb-3">
  116. <div class="card-header d-flex justify-content-between">
  117. <span><%- JSON.parse(change.deal_info).buildName %></span>
  118. <span class="badge badge-pill badge-danger">变更方案</span>
  119. </div>
  120. <div class="bg-light p-2 px-3"><b><%- change.t_name %></b></div>
  121. <div class="card-body">
  122. <div class="d-flex justify-content-between"><span><%- change.code %></span></div>
  123. <div class="my-2">
  124. <table class="table table-sm table-bordered">
  125. <tr><th width="90">工程名称</th><td><%- change.name %></td></tr>
  126. <tr><th>变更性质</th><td><%- change.quality %></td></tr>
  127. <tr><th>变更金额</th><td class="text-right"><%- ctx.helper.roundNum(change.total_price, JSON.parse(change.decimal).tp) %></td></tr>
  128. </table>
  129. </div>
  130. <div class="">
  131. <a href="/wap/tender/<%- change.tid %>/change/plan/<%- change.id %>/information#shenpi" class="btn btn-block btn-success">审批</a>
  132. </div>
  133. </div>
  134. </div>
  135. <% } %>
  136. <% for (const advance of auditAdvance) { %>
  137. <div class="card mb-3">
  138. <div class="card-header d-flex justify-content-between">
  139. <span><%- JSON.parse(advance.deal_info).buildName %></span>
  140. <span class="badge badge-pill badge-warning">预付款</span>
  141. </div>
  142. <div class="bg-light p-2 px-3"><b><%- advance.name %></b></div>
  143. <div class="card-body">
  144. <div class="d-flex justify-content-between"><span><%- advanceConst.typeCol[advance.type].name %>-第<%- advance.order %>期</span><span></span></div>
  145. <div class="my-2">
  146. <table class="table table-sm table-bordered">
  147. <% const advancePayTotal = JSON.parse(advance.deal_param)[advanceConst.typeCol[advance.type].key + 'Advance']; %>
  148. <tr><th>签约预付款</th><td class="text-right"><%- ctx.helper.formatMoney(advancePayTotal, ',', parseFloat(advancePayTotal).toString().split('.')[1] && parseFloat(advancePayTotal).toString().split('.')[1].length || 0) %></td></tr>
  149. <tr><th>本期支付比例</th><td class="text-right"><%- advance.pay_ratio %>%</td></tr>
  150. <tr><th>本期金额</th><td class="text-right"><%- advance.cur_amount %></td></tr>
  151. <tr><th>截止本期金额</th><td class="text-right"><%- advance.prev_total_amount %></td></tr>
  152. </table>
  153. </div>
  154. <div class="">
  155. <a href="/wap/tender/<%- advance.tid %>/advance/<%- advance.id %>/detail" class="btn btn-block btn-success">审批</a>
  156. </div>
  157. </div>
  158. </div>
  159. <% } %>
  160. <% } else { %>
  161. <h3 class="text-center text-muted">暂无待审批期计量</h3>
  162. <% } %>
  163. </div>
  164. <!--底栏菜单-->
  165. <nav class="fixed-bottom navbar-dark bg-light border-top">
  166. <ul class="nav nav-fill my-2">
  167. <li class="nav-item">
  168. <a class="nav-link active show-loading" href="/wap/dashboard"><i class="fa fa-check-square-o"></i> 待审批</a>
  169. </li>
  170. <li class="nav-item">
  171. <a class="nav-link text-muted show-loading" href="/wap/list"><i class="fa fa-list-ul"></i> 项目</a>
  172. </li>
  173. </ul>
  174. </nav>
  175. </div>
  176. <!-- JS. -->
  177. <script src="/public/js/jquery/jquery-3.2.1.min.js"></script>
  178. <script src="/public/js/popper/popper.min.js"></script>
  179. <script src="/public/js/bootstrap/bootstrap.min.js"></script>
  180. <script src="/public/js/cookies.js"></script>
  181. <script src="/public/js/toastr.min.js"></script>
  182. <script src="/public/js/wap/global.js"></script>
  183. <script>
  184. $(function () {
  185. $('.show-content').on('click', function () {
  186. $(this).parents('td').html($(this).data('content'));
  187. });
  188. })
  189. </script>
  190. </body>
  191. </html>