stage.ejs 6.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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. <h2>
  7. 期列表
  8. </h2>
  9. <div class="ml-auto">
  10. <% if (ctx.session.sessionUser.accountId === ctx.tender.data.user_id && ctx.tender.data.ledger_status === auditConst.status.checked &&
  11. (stages.length === 0 || stages[0].status === auditConst.status.checked)) { %>
  12. <a href="#add-qi" data-toggle="modal" data-target="#add-qi" class="btn btn-primary btn-sm pull-right">开始新一期</a>
  13. <% } %>
  14. </div>
  15. </div>
  16. </div>
  17. <div class="content-wrap">
  18. <div class="c-body">
  19. <div class="sjs-height-0">
  20. <table class="table table-bordered">
  21. <thead>
  22. <tr>
  23. <th>期数</th>
  24. <th class="text-center">计量月份</th>
  25. <th class="text-center">本期合同计量</th>
  26. <th class="text-center">本期数量变更计量</th>
  27. <th class="text-center">本期完成计量</th>
  28. <th class="text-center">截止上期完成计量</th>
  29. <th class="text-center">截止本期完成计量</th>
  30. <th class="text-center">审批进度</th>
  31. <th class="text-center">操作</th>
  32. </tr>
  33. </thead>
  34. <tbody>
  35. <% for (const s of stages) { %>
  36. <tr>
  37. <td>
  38. <a href="<%- '/tender/' + ctx.tender.id + '/measure/stage/' + s.order %>">第 <%- s.order %> 期</a>
  39. <% if (s.status === auditConst.status.uncheck && s.user_id === ctx.session.sessionUser.accountId) { %>
  40. <a href="#edit" data-toggle="modal" data-target="#edit"><i class="fa fa-pencil-square-o "></i></a>
  41. <% } %>
  42. </td>
  43. <td class="text-center"><%- s.s_time %></td>
  44. <td class="text-right"><%- (s.contract_tp ? s.contract_tp : '')%></td>
  45. <td class="text-right"><%- (s.qc_tp ? s.qc_tp : '')%></td>
  46. <td class="text-right"><%- (s.tp ? s.tp : '')%></td>
  47. <td class="text-right"><%- (s.pre_tp ? s.pre_tp : '')%></td>
  48. <td class="text-right"><%- (s.end_tp ? s.end_tp : '')%></td>
  49. <td class="<%- auditConst.auditProgressClass[s.status] %>">
  50. <% if (s.curAuditor) { %>
  51. <a href="#sp-list" data-toggle="modal" data-target="#sp-list" s-order="<%- s.order %>"><%- s.curAuditor.name %><%if (s.curAuditor.role !== '' && s.curAuditor.role !== null) { %>-<%- s.curAuditor.role %><% } %></a>
  52. <% } %>
  53. <%- auditConst.auditProgress[s.status] %>
  54. </td>
  55. <td class="text-center">
  56. <% if (s.status === auditConst.status.uncheck && s.user_id === ctx.session.sessionUser.accountId) { %>
  57. <a href="<%- '/tender/' + ctx.tender.id + '/measure/stage/' + s.order %>" class="btn <%- auditConst.statusButtonClass[s.status] %> btn-sm"><%- auditConst.statusButton[s.status] %></a>
  58. <% } else if (s.status === auditConst.status.checkNo && s.curAuditor && s.user_id === ctx.session.sessionUser.accountId) { %>
  59. <a href="<%- '/tender/' + ctx.tender.id + '/measure/stage/' + s.order %>" class="btn <%- auditConst.statusButtonClass[s.status] %> btn-sm"><%- auditConst.statusButton[s.status] %></a>
  60. <% } else if (s.status === auditConst.status.checking && s.curAuditor && s.curAuditor.aid === ctx.session.sessionUser.accountId) { %>
  61. <a href="<%- '/tender/' + ctx.tender.id + '/measure/stage/' + s.order %>" class="btn <%- auditConst.statusButtonClass[s.status] %> btn-sm"><%- auditConst.statusButton[s.status] %></a>
  62. <% } else if (s.status === auditConst.status.checkNoPre && s.curAuditor && s.curAuditor2.aid === ctx.session.sessionUser.accountId) { %>
  63. <a href="<%- '/tender/' + ctx.tender.id + '/measure/stage/' + s.order %>" class="btn <%- auditConst.statusButtonClass[s.status] %> btn-sm"><%- auditConst.statusButton[s.status] %></a>
  64. <% } else { %>
  65. <span class="<%- auditConst.auditStringClass[s.status] %>"><%- auditConst.auditString[s.status] %></span>
  66. <% } %>
  67. <% if (s.user_id === ctx.session.sessionUser.accountId && s.order === stages.length) { %>
  68. <a href="#del-qi" class="btn btn-outline-danger btn-sm ml-1" data-toggle="modal" data-target="#del-qi">删除</a>
  69. <% } %>
  70. </td>
  71. </tr>
  72. <% } %>
  73. </tbody>
  74. </table>
  75. </div>
  76. </div>
  77. </div>
  78. </div>
  79. <script src="/public/js/sub_menu.js"></script>
  80. <script>
  81. const stages = JSON.parse('<%- JSON.stringify(stages) %>');
  82. $.subMenu({
  83. menu: '#sub-menu', miniMenu: '#sub-mini-menu', miniMenuList: '#mini-menu-list',
  84. toMenu: '#to-menu', toMiniMenu: '#to-mini-menu',
  85. key: 'menu.1.0.0',
  86. miniHint: '#sub-mini-hint', hintKey: 'menu.hint.1.0.1',
  87. callback: function (info) {
  88. if (info.mini) {
  89. $('.panel-title').addClass('fluid');
  90. $('#sub-menu').removeClass('panel-sidebar');
  91. } else {
  92. $('.panel-title').removeClass('fluid');
  93. $('#sub-menu').addClass('panel-sidebar');
  94. }
  95. autoFlashHeight();
  96. }
  97. });
  98. </script>