index.ejs 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <% include ../tender/tender_sub_menu.ejs %>
  2. <div class="panel-content">
  3. <div class="panel-title">
  4. <div class="title-main d-flex">
  5. <% include ../tender/tender_sub_mini_menu.ejs %>
  6. <div>
  7. <div class="d-inline-block">
  8. <div class="btn-group" id="sort-dropdown">
  9. <button type="button" class="btn btn-sm btn-light text-primary dropdown-toggle" data-toggle="dropdown" id="bpaixu">排序:创建时间</button>
  10. <div class="dropdown-menu" aria-labelledby="bpaixu">
  11. <ul class="list-unstyled px-3 mb-0" id="sort-radio">
  12. <li class="mb-2">
  13. <div class="custom-control custom-radio">
  14. <input type="radio" class="custom-control-input" id="pai1" name="paizhi" value="time" checked="">
  15. <label class="custom-control-label" for="pai1">创建时间</label>
  16. </div>
  17. </li>
  18. <li class="mb-2">
  19. <div class="custom-control custom-radio">
  20. <input type="radio" class="custom-control-input" id="pai3" name="paizhi" value="code">
  21. <label class="custom-control-label" for="pai3">变更令号</label>
  22. </div>
  23. </li>
  24. </ul>
  25. <ul class="list-unstyled px-3 pt-2 mb-0 border-top" id="order-radio">
  26. <li class="mb-2">
  27. <div class="custom-control custom-radio">
  28. <input type="radio" class="custom-control-input" id="pdown" name="paixu" value="desc" checked="">
  29. <label class="custom-control-label" for="pdown">降序</label>
  30. </div>
  31. </li>
  32. <li class="mb-2">
  33. <div class="custom-control custom-radio">
  34. <input type="radio" class="custom-control-input" id="pup" name="paixu" value="asc">
  35. <label class="custom-control-label" for="pup">升序</label>
  36. </div>
  37. </li>
  38. </ul>
  39. </div>
  40. </div>
  41. </div>
  42. <div class="d-inline-block">
  43. <select class="form-control form-control-sm" id="status_select">
  44. <option value="0">全部</option>
  45. <% for (const fs in filter.status) { %>
  46. <% const f = filter.status[fs]; %>
  47. <option value="<%- f %>" <% if (f === status) { %>selected="selected"<% } %>><%- filter.statusString[f] %>(<%- filter.count[f] %>)</option>
  48. <% } %>
  49. </select>
  50. </div>
  51. </div>
  52. <% if (tender.user_id === uid) { %>
  53. <div class="ml-auto">
  54. <a href="#add-bj" data-toggle="modal" data-target="#add-bj" class="btn btn-sm btn-primary pull-right ml-1">新建变更令</a>
  55. <a href="#setting" data-toggle="modal" data-target="#setting" class="btn btn-sm btn-outline-primary pull-right ml-1"><i class="fa fa-cog"></i></a>
  56. </div>
  57. <% } %>
  58. </div>
  59. </div>
  60. <div class="content-wrap">
  61. <div class="c-body">
  62. <input id="tenderName" value="<%= tender.name %>" type="hidden">
  63. <input id="dealCode" value="<%= dealCode %>" type="hidden">
  64. <input id="tenderId" value="<%= tender.id %>" type="hidden">
  65. <div class="sjs-height-0">
  66. <table class="table table-bordered">
  67. <thead>
  68. <tr>
  69. <th width="20%" id="sort_change">申请编号/变更令号</th><th width="30%">工程名称</th>
  70. <th width="10%">变更类别</th><th width="10%">变更金额</th>
  71. <th width="10%">审批状态</th><th width="15%">审批进度</th><th></th>
  72. </tr>
  73. </thead>
  74. <tbody id="changeList">
  75. <% const classArray = []; %>
  76. <% for (const t in changeConst.class) { %>
  77. <% const cClass = changeConst.class[t] %>
  78. <% classArray[cClass.value] = cClass.name %>
  79. <% } %>
  80. <% for (const c of changes) { %>
  81. <tr>
  82. <td><a href="/tender/<%- tender.id %>/change/<%- c.cid %>/information"><% if (c.status !== auditConst.status.checked) { %><%- c.code %><% } else { %><%- c.p_code %><% } %></a></td>
  83. <td><%- c.name %></td>
  84. <td><%- classArray[c.class] %><% c.class %></td>
  85. <td style="text-align: right"><%= ctx.helper.roundNum(c.total_price, tpUnit) %></td>
  86. <% if (c.status === auditConst.status.uncheck && ctx.tender.isTourist) { %>
  87. <td>
  88. 上报中
  89. </td>
  90. <% } else if (c.auditStatus) { %>
  91. <td>
  92. <a href="/tender/<%- tender.id %>/change/<%- c.cid %>/information" class="btn <%- auditConst.statusButtonClass[c.status] %> btn-sm">
  93. <%- auditConst.statusButton[c.status] %>
  94. </a>
  95. </td>
  96. <% } else { %>
  97. <td>
  98. <span class="<%- auditConst.statusClass[c.status] %>"><%- auditConst.statusString[c.status] %></span>
  99. </td>
  100. <% } %>
  101. <% if (c.status === auditConst.status.uncheck) { %>
  102. <td>
  103. 待上报
  104. </td>
  105. <% } else if (c.status === auditConst.status.revise) { %>
  106. <td>
  107. 待修订
  108. </td>
  109. <% } else { %>
  110. <td>
  111. <%- c.changeAudit.name %>-<%- c.changeAudit.jobs %>
  112. <span class="<%- auditConst.auditStatusClass[c.changeAudit.status] %>"><%- auditConst.auditStatusString[c.changeAudit.status] %></span>
  113. </td>
  114. <% } %>
  115. <td><% if ((c.status === auditConst.status.uncheck || ((c.status === auditConst.status.back || (c.status === auditConst.status.revise && c.stageChangeNum === 0)) && c.uid === uid)) && !ctx.tender.isTourist) { %><a href="#del-bg" cid="<%= c.cid %>" data-toggle="modal" data-target="#del-bg" class="btn btn-outline-danger btn-sm delete-cid-modal">删除</a><% } %></td>
  116. </tr>
  117. <% } %>
  118. </tbody>
  119. </table>
  120. <!--翻页-->
  121. <% include ../layout/page.ejs %>
  122. </div>
  123. </div>
  124. </div>
  125. </div>
  126. <script src="/public/js/sub_menu.js"></script>
  127. <script>
  128. $.subMenu({
  129. menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list',
  130. toMenu: '#to-menu', toMiniMenu: '#to-mini-menu',
  131. key: 'menu.1.0.0',
  132. miniHint: '#sub-mini-hint', hintKey: 'menu.hint.1.0.1',
  133. callback: function (info) {
  134. if (info.mini) {
  135. $('.panel-title').addClass('fluid');
  136. $('#sub-menu').removeClass('panel-sidebar');
  137. } else {
  138. $('.panel-title').removeClass('fluid');
  139. $('#sub-menu').addClass('panel-sidebar');
  140. }
  141. autoFlashHeight();
  142. }
  143. });
  144. </script>
  145. <script src="/public/js/change.js"></script>