dashboard.ejs 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  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. .badge {
  19. height: 18px;
  20. }
  21. </style>
  22. </head>
  23. <body>
  24. <div class="container">
  25. <!--顶部-->
  26. <nav class="fixed-top bg-dark">
  27. <div class="my-2 d-flex justify-content-between">
  28. <span class="text-white ml-3">待审批</span>
  29. <div class="mr-3">
  30. <div class="dropdown">
  31. <button class="btn btn-sm btn-light dropdown-toggle" type="button" data-toggle="dropdown">
  32. <%- ctx.session.sessionUser.name.substr(ctx.session.sessionUser.name.length > 2 ? ctx.session.sessionUser.name.length - 2 : 0) %>
  33. </button>
  34. <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
  35. <a class="dropdown-item" href="/wap/logout">退出登录</a>
  36. </div>
  37. </div>
  38. </div>
  39. </div>
  40. </nav>
  41. <!--待审批期列表-->
  42. <div class="py-6">
  43. <% if (auditStages.length !== 0 || auditChanges.length !== 0 || auditRevise.length !== 0 || auditAdvance.length !== 0 || auditChangeProjects.length !== 0|| auditChangeApplys.length !== 0 || auditChangePlans.length !== 0) { %>
  44. <% for (const audit of auditStages) { %>
  45. <div class="card mb-3">
  46. <div class="card-header d-flex justify-content-between">
  47. <span><%- JSON.parse(audit.deal_info).buildName %></span>
  48. <span class="badge badge-pill badge-info">计量期</span>
  49. </div>
  50. <div class="bg-light p-2 px-3"><b><%- audit.name %></b></div>
  51. <div class="card-body">
  52. <div class="d-flex justify-content-between"><span>第<%- audit.order %>期</span><span><%- audit.s_time %></span></div>
  53. <div class="my-2">
  54. <table class="table table-sm table-bordered">
  55. <tr><th>本期合同计量</th><td class="text-right"><%- audit.contract_tp ? audit.contract_tp : 0 %></td></tr>
  56. <tr><th>本期数量变更计量</th><td class="text-right"><%- audit.qc_tp ? audit.qc_tp : 0 %></td></tr>
  57. <tr><th>本期完成计量</th><td class="text-right"><%- audit.gather_tp ? audit.gather_tp : 0 %></td></tr>
  58. <tr><th>截止上期完成计量</th><td class="text-right"><%- audit.pre_gather_tp ? audit.pre_gather_tp : 0 %></td></tr>
  59. <tr><th>截止本期完成计量</th><td class="text-right"><%- audit.end_gather_tp ? audit.end_gather_tp : 0 %></td></tr>
  60. <% if (!audit.closeWapYfSf) { %>
  61. <tr><th>本期应付</th><td class="text-right"><%- audit.yf_tp ? audit.yf_tp : 0 %></td></tr>
  62. <tr><th>本期实付</th><td class="text-right"><%- audit.sf_tp ? audit.sf_tp : 0 %></td></tr>
  63. <% } %>
  64. </table>
  65. </div>
  66. <div class="">
  67. <a href="/wap/tender/<%- audit.tid %>/measure/stage/<%- audit.order %>" class="btn btn-block btn-success">审批</a>
  68. </div>
  69. </div>
  70. </div>
  71. <% } %>
  72. <% for (const revise of auditRevise) { %>
  73. <div class="card mb-3">
  74. <div class="card-header d-flex justify-content-between">
  75. <span><%- JSON.parse(revise.deal_info).buildName %></span>
  76. <span class="badge badge-pill badge-info">台账修订</span>
  77. </div>
  78. <div class="bg-light p-2 px-3"><b><%- revise.t_name %></b></div>
  79. <div class="card-body">
  80. <div class="d-flex justify-content-between"><span>第<%- revise.corder %>次修订</span></div>
  81. <div class="my-2">
  82. <table class="table table-sm table-bordered">
  83. <tr><th width="90">修订时间</th><td class="text-right"><%- ctx.moment(revise.in_time).format('YYYY-MM-DD') %></td></tr>
  84. <tr><th>修订人</th><td class="text-right"><%- revise.yb_name %></td></tr>
  85. <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>
  86. </table>
  87. </div>
  88. <div class="">
  89. <a href="/wap/tender/<%- revise.t_id %>/revise/<%- revise.id %>/info" class="btn btn-block btn-success">审批</a>
  90. </div>
  91. </div>
  92. </div>
  93. <% } %>
  94. <% for (const change of auditChanges) { %>
  95. <div class="card mb-3">
  96. <div class="card-header d-flex justify-content-between">
  97. <span><%- JSON.parse(change.deal_info).buildName %></span>
  98. <span class="badge badge-pill badge-danger">工程变更</span>
  99. </div>
  100. <div class="bg-light p-2 px-3"><b><%- change.name %></b></div>
  101. <div class="card-body">
  102. <div class="d-flex justify-content-between"><span><%- change.ccode %></span></div>
  103. <div class="my-2">
  104. <table class="table table-sm table-bordered">
  105. <tr><th width="90">工程名称</th><td><%- change.cname %></td></tr>
  106. <tr><th>变更性质</th><td><% for (const q in changeConst.quality) { %>
  107. <% const cQuality = changeConst.quality[q] %><% if (cQuality.value === change.quality) { %><%- cQuality.name %><% } %><% } %></td></tr>
  108. <tr><th>变更金额</th><td class="text-right"><%- ctx.helper.roundNum(change.total_price, JSON.parse(change.decimal).tp) %></td></tr>
  109. </table>
  110. </div>
  111. <div class="">
  112. <a href="/wap/tender/<%- change.tid %>/change/<%- change.cid %>/information#shenpi" class="btn btn-block btn-success">审批</a>
  113. </div>
  114. </div>
  115. </div>
  116. <% } %>
  117. <% for (const change of auditChangeProjects) { %>
  118. <div class="card mb-3">
  119. <div class="card-header d-flex justify-content-between">
  120. <span><%- JSON.parse(change.deal_info).buildName %></span>
  121. <span class="badge badge-pill badge-danger">变更立项</span>
  122. </div>
  123. <div class="bg-light p-2 px-3"><b><%- change.t_name %></b></div>
  124. <div class="card-body">
  125. <div class="d-flex justify-content-between"><span><%- change.code %></span></div>
  126. <div class="my-2">
  127. <table class="table table-sm table-bordered">
  128. <tr><th width="90">工程名称</th><td><%- change.name %></td></tr>
  129. <tr><th>变更性质</th><td><%- change.quality %></td></tr>
  130. <tr><th>增减金额</th><td class="text-right"><%- change.crease_price %></td></tr>
  131. </table>
  132. </div>
  133. <div class="">
  134. <a href="/wap/tender/<%- change.tid %>/change/project/<%- change.id %>/information#shenpi" class="btn btn-block btn-success">审批</a>
  135. </div>
  136. </div>
  137. </div>
  138. <% } %>
  139. <% for (const change of auditChangeApplys) { %>
  140. <div class="card mb-3">
  141. <div class="card-header d-flex justify-content-between">
  142. <span><%- JSON.parse(change.deal_info).buildName %></span>
  143. <span class="badge badge-pill badge-danger">变更申请</span>
  144. </div>
  145. <div class="bg-light p-2 px-3"><b><%- change.t_name %></b></div>
  146. <div class="card-body">
  147. <div class="d-flex justify-content-between"><span><%- change.code %></span></div>
  148. <div class="my-2">
  149. <table class="table table-sm table-bordered">
  150. <tr><th width="90">工程名称</th><td><%- change.name %></td></tr>
  151. <tr><th>变更性质</th><td><%- change.quality %></td></tr>
  152. <tr><th>增减金额</th><td class="text-right"><%- change.crease_price %></td></tr>
  153. </table>
  154. </div>
  155. <div class="">
  156. <a href="/wap/tender/<%- change.tid %>/change/apply/<%- change.id %>/information#shenpi" class="btn btn-block btn-success">审批</a>
  157. </div>
  158. </div>
  159. </div>
  160. <% } %>
  161. <% for (const change of auditChangePlans) { %>
  162. <div class="card mb-3">
  163. <div class="card-header d-flex justify-content-between">
  164. <span><%- JSON.parse(change.deal_info).buildName %></span>
  165. <span class="badge badge-pill badge-danger">变更方案</span>
  166. </div>
  167. <div class="bg-light p-2 px-3"><b><%- change.t_name %></b></div>
  168. <div class="card-body">
  169. <div class="d-flex justify-content-between"><span><%- change.code %></span></div>
  170. <div class="my-2">
  171. <table class="table table-sm table-bordered">
  172. <tr><th width="90">工程名称</th><td><%- change.name %></td></tr>
  173. <tr><th>变更性质</th><td><%- change.quality %></td></tr>
  174. <tr><th>变更金额</th><td class="text-right"><%- ctx.helper.roundNum(change.total_price, JSON.parse(change.decimal).tp) %></td></tr>
  175. </table>
  176. </div>
  177. <div class="">
  178. <a href="/wap/tender/<%- change.tid %>/change/plan/<%- change.id %>/information#shenpi" class="btn btn-block btn-success">审批</a>
  179. </div>
  180. </div>
  181. </div>
  182. <% } %>
  183. <% for (const advance of auditAdvance) { %>
  184. <div class="card mb-3">
  185. <div class="card-header d-flex justify-content-between">
  186. <span><%- JSON.parse(advance.deal_info).buildName %></span>
  187. <span class="badge badge-pill badge-warning">预付款</span>
  188. </div>
  189. <div class="bg-light p-2 px-3"><b><%- advance.name %></b></div>
  190. <div class="card-body">
  191. <div class="d-flex justify-content-between"><span><%- advanceConst.typeCol[advance.type].name %>-第<%- advance.order %>期</span><span></span></div>
  192. <div class="my-2">
  193. <table class="table table-sm table-bordered">
  194. <% const advancePayTotal = JSON.parse(advance.deal_param)[advanceConst.typeCol[advance.type].key + 'Advance']; %>
  195. <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>
  196. <tr><th>本期支付比例</th><td class="text-right"><%- advance.pay_ratio %>%</td></tr>
  197. <tr><th>本期金额</th><td class="text-right"><%- advance.cur_amount %></td></tr>
  198. <tr><th>截止本期金额</th><td class="text-right"><%- advance.prev_total_amount %></td></tr>
  199. </table>
  200. </div>
  201. <div class="">
  202. <a href="/wap/tender/<%- advance.tid %>/advance/<%- advance.id %>/detail" class="btn btn-block btn-success">审批</a>
  203. </div>
  204. </div>
  205. </div>
  206. <% } %>
  207. <% } else { %>
  208. <h3 class="text-center text-muted">暂无待审批期计量</h3>
  209. <% } %>
  210. </div>
  211. <!--底栏菜单-->
  212. <nav class="fixed-bottom navbar-dark bg-light border-top">
  213. <ul class="nav nav-fill my-2">
  214. <li class="nav-item">
  215. <a class="nav-link active show-loading" href="/wap/dashboard"><i class="fa fa-check-square-o"></i> 待审批</a>
  216. </li>
  217. <li class="nav-item">
  218. <a class="nav-link text-muted show-loading" href="/wap/subproj"><i class="fa fa-list-ul"></i> 项目</a>
  219. </li>
  220. </ul>
  221. </nav>
  222. </div>
  223. <!-- JS. -->
  224. <script src="/public/js/jquery/jquery-3.2.1.min.js"></script>
  225. <script src="/public/js/popper/popper.min.js"></script>
  226. <script src="/public/js/bootstrap/bootstrap.min.js"></script>
  227. <script src="/public/js/cookies.js"></script>
  228. <script src="/public/js/toastr.min.js"></script>
  229. <script src="/public/js/wap/global.js"></script>
  230. <script>
  231. $(function () {
  232. $('.show-content').on('click', function () {
  233. $(this).parents('td').html($(this).data('content'));
  234. });
  235. })
  236. </script>
  237. </body>
  238. </html>