dashboard.ejs 10 KB

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