index.ejs 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. <div class="panel-content">
  2. <div class="panel-title fluid">
  3. <div class="title-main"><h2>主页</h2></div>
  4. </div>
  5. <div class="content-wrap">
  6. <div class="c-header mt-3">
  7. <h4>需要你处理</h4>
  8. </div>
  9. <div class="c-body">
  10. <ul class="list-unstyled m-0">
  11. <% for (const t of auditTenders) { %>
  12. <% if (t.ledger_status === acLedger.status.checking) { %>
  13. <li class="media">
  14. <img class="mr-3" src="public/images/avatar.png">
  15. <div class="media-body">
  16. <span class="pull-right text-muted"><%- t.begin_time.toLocaleString() %></span>
  17. <h5 class="mt-0"><%- ctx.session.sessionUser.name %><small class="ml-3 text-muted"><%- role %></small></h5>
  18. <p><a href="/tender/<%- t.id %>"><%- t.name %></a> 台帐 需要您 <a href="/tender/<%- t.id %>/ledger/audit">审批</a>。</p>
  19. </div>
  20. </li>
  21. <% } else { %>
  22. <li class="media">
  23. <img class="mr-3" src="public/images/avatar.png">
  24. <div class="media-body">
  25. <span class="pull-right text-muted"><%- t.end_time.toLocaleString() %></span>
  26. <h5 class="mt-0"><%- ctx.session.sessionUser.name %><small class="ml-3 text-muted"><%- role %></small></h5>
  27. <p><a href="/tender/<%- t.id %>"><%- t.name %></a> 台帐 需要您 <a href="/tender/<%- t.id %>/ledger">重新上报</a>。</p>
  28. </div>
  29. </li>
  30. <% } %>
  31. <% } %>
  32. <% for (const revise of auditRevise) { %>
  33. <li class="media">
  34. <img class="mr-3" src="public/images/avatar.png">
  35. <div class="media-body">
  36. <span class="pull-right text-muted"><%- (revise.end_time ? revise.end_time.toLocaleString() : '') %></span>
  37. <h5 class="mt-0"><%- revise.audit_name %><small class="ml-3 text-muted"><%- revise.audit_role %></small></h5>
  38. <p>
  39. <a href="/tender/<%- revise.t_id %>"><%- revise.t_name %></a>
  40. 台账修订(第<%- revise.corder %>次)
  41. <% if (revise.status === acRevise.status.checkNo) { %>
  42. <span style="color: indianred">被退回</span>
  43. <% } %>
  44. 需要您
  45. <a href="/tender/<%- revise.t_id %>/revise/info">
  46. <% if (revise.status === acRevise.status.checking) { %>
  47. 审批
  48. <% } else if (revise.status === acRevise.status.checkNo) { %>
  49. 重新上报
  50. <% } %>
  51. </a>。
  52. </p>
  53. </div>
  54. </li>
  55. <% } %>
  56. <% for (const audit of auditStages) { %>
  57. <% if (audit.sstatus !== acStage.status.checkNo) { %>
  58. <li class="media">
  59. <img class="mr-3" src="public/images/avatar.png">
  60. <div class="media-body">
  61. <span class="pull-right text-muted"><%- audit.begin_time.toLocaleString() %></span>
  62. <h5 class="mt-0"><%- ctx.session.sessionUser.name %><small class="ml-3 text-muted"><%- role %></small></h5>
  63. <p><a href="/tender/<%- audit.tid %>"><%- audit.name %></a>
  64. 第<%- audit.sorder %>期 <% if (audit.sstatus === acStage.status.checkNoPre) { %><span style="color: indianred">被退回</span> <% } %> 需要您
  65. <a href="/tender/<%- audit.tid %>/measure/stage/<%- audit.sorder %>">
  66. <% if (audit.sstatus === acStage.status.checkNoPre) { %>重新<% } %>审批
  67. </a>。
  68. </p>
  69. </div>
  70. </li>
  71. <% } else { %>
  72. <li class="media">
  73. <img class="mr-3" src="public/images/avatar.png">
  74. <div class="media-body">
  75. <span class="pull-right text-muted"><%- audit.end_time.toLocaleString() %></span>
  76. <h5 class="mt-0"><%- ctx.session.sessionUser.name %><small class="ml-3 text-muted"><%- role %></small></h5>
  77. <p><a href="/tender/<%- audit.tid %>"><%- audit.name %></a>
  78. 第<%- audit.sorder %>期 <% if (audit.sstatus === acStage.status.checkNoPre) { %><span style="color: indianred">被退回</span> <% } %> 需要您
  79. <a href="/tender/<%- audit.tid %>/measure/stage/<%- audit.sorder %>">
  80. 重新上报
  81. </a>。
  82. </p>
  83. </div>
  84. </li>
  85. <% } %>
  86. <% } %>
  87. <% for (const change of auditChanges) { %>
  88. <li class="media">
  89. <img class="mr-3" src="public/images/avatar.png">
  90. <div class="media-body">
  91. <span class="pull-right text-muted"><%- (change.sin_time ? change.sin_time.toLocaleString() : '') %></span>
  92. <h5 class="mt-0"><%- change.caname %><small class="ml-3 text-muted"><%- role %></small></h5>
  93. <p>
  94. <a href="/tender/<%- change.tid %>"><%- change.name %></a>
  95. 变更令 <%- change.ccode %>
  96. <% if (change.cstatus === acChange.status.backnew || change.cstatus === acChange.status.back) { %>
  97. <span style="color: indianred">被退回</span>
  98. <% } %>
  99. 需要您
  100. <a href="/tender/<%- change.tid %>/change/<%- change.cid %>/info">
  101. <% if (change.cstatus === acChange.status.checking) { %>
  102. 审批
  103. <% } else if (change.cstatus === acChange.status.backnew) { %>
  104. 重新审批
  105. <% } else { %>
  106. 重新上报
  107. <% } %>
  108. </a>。
  109. </p>
  110. </div>
  111. </li>
  112. <% } %>
  113. </ul>
  114. </div>
  115. <div class="c-header mt-4">
  116. <h4>需要你关注</h4>
  117. </div>
  118. <div class="c-body">
  119. <ul class="list-unstyled m-0">
  120. <% for (const nl of noticeLedger) { %>
  121. <li class="media">
  122. <img class="mr-3" src="public/images/avatar.png">
  123. <div class="media-body">
  124. <span class="pull-right text-muted"><%- nl.end_time.toLocaleString() %></span>
  125. <h5 class="mt-0"><%- nl.lu_name %><small class="ml-3 text-muted"><%- nl.lu_role %></small></h5>
  126. <p><a href="/tender/<%- nl.id %>"><%- nl.name %></a> 台帐 <%- acLedger.statusString[nl.status]%>。</p>
  127. </div>
  128. </li>
  129. <% } %>
  130. <% for (const nr of noticeRevise) { %>
  131. <li class="media">
  132. <img class="mr-3" src="public/images/avatar.png">
  133. <div class="media-body">
  134. <span class="pull-right text-muted"><%- (nr.end_time ? nr.end_time.toLocaleString() : '') %></span>
  135. <h5 class="mt-0"><%- nr.ru_name %><small class="ml-3 text-muted"><%- nr.ru_role %></small></h5>
  136. <p>
  137. <a href="/tender/<%- nr.id %>"><%- nr.name %></a>
  138. <a href="/tender/<%- nr.t_id %>/revise/info">台账修订(第<%- nr.corder %>次)</a>
  139. <%- acRevise.statusString[nr.status]%>。
  140. </p>
  141. </div>
  142. </li>
  143. <% } %>
  144. <% for (const ns of noticeStage) { %>
  145. <li class="media">
  146. <img class="mr-3" src="public/images/avatar.png">
  147. <div class="media-body">
  148. <span class="pull-right text-muted"><%- ns.end_time.toLocaleString() %></span>
  149. <h5 class="mt-0"><%- ns.su_name %><small class="ml-3 text-muted"><%- ns.su_role %></small></h5>
  150. <p>
  151. <a href="/tender/<%- ns.tid %>"><%- ns.name %></a>
  152. <a href="/tender/<%- ns.tid %>/measure/stage/<%- ns.s_order %>">第<%- ns.s_order %>期 </a>
  153. <%- acStage.statusString[ns.status]%>。
  154. </p>
  155. </div>
  156. </li>
  157. <% } %>
  158. <% for (const nc of noticeChange) { %>
  159. <li class="media">
  160. <img class="mr-3" src="public/images/avatar.png">
  161. <div class="media-body">
  162. <span class="pull-right text-muted"><%- nc.cu_time.toLocaleString() %></span>
  163. <h5 class="mt-0"><%- nc.cu_name %><small class="ml-3 text-muted"><%- nc.cu_role %></small></h5>
  164. <p>
  165. <a href="/tender/<%- nc.id %>"><%- nc.name %></a>
  166. <a href="/tender/<%- nc.id %>/change/<%- nc.cid %>/info"><%- nc.c_code %> </a>
  167. <%- acChange.statusString[nc.cu_status]%>。
  168. </p>
  169. </div>
  170. </li>
  171. <% } %>
  172. </ul>
  173. </div>
  174. </div>
  175. </div>