|
@@ -105,6 +105,63 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="col-8 modal-height-500" style="overflow: auto">
|
|
|
+ <% for (const ah of ctx.stage.auditHistory) { %>
|
|
|
+ <div class="card mt-3">
|
|
|
+ <ul class="list-group list-group-flush">
|
|
|
+ <% for (let iA = 0; iA < ah.length; iA++) { %>
|
|
|
+ <% if (iA === 0) { %>
|
|
|
+ <li class="list-group-item">
|
|
|
+ <h5 class="card-title"><i class="fa fa-play-circle fa-rotate-90 text-success"></i> <%- ctx.stage.user.name %> <small class="text-muted"><%- ctx.stage.user.role %></small><span class="pull-right">原报</span></h5>
|
|
|
+ <div class="ml-3">
|
|
|
+ <span class="text-success"><%- ah[iA].begin_time.toLocaleDateString() %> <% if (ctx.stage.auditHistory.indexOf(ah) > 0) { %>重新<% } %>上报</span>
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ <li class="list-group-item">
|
|
|
+ <h5 class="card-title">
|
|
|
+ <i class="fa <%if (iA === ah.length - 1) { %>fa-stop-circle<% } else { %>fa-chevron-circle-down<% } %> <%- auditConst.statusClass[ah[iA].status] %>"></i> <%- ah[iA].name %> <small class="text-muted"><%- ah[iA].role %></small><span class="pull-right"><%= parseInt(ah[iA].sort) === parseInt(ah[iA].max_sort) ? '终' : ctx.helper.transFormToChinese(ah[iA].sort) %>审</span>
|
|
|
+ </h5>
|
|
|
+ <div class="ml-3">
|
|
|
+ <% if (ah[iA].status !== auditConst.status.uncheck) { %>
|
|
|
+ <span class="<%- auditConst.statusClass[ah[iA].status] %>">
|
|
|
+ <% if (ah[iA].status === auditConst.status.checked || ah[iA].status === auditConst.status.checkNo || ah[iA].status === auditConst.status.checkNoPre || ah[iA].status === auditConst.status.checkAgain) { %><small><%- ah[iA].end_time.toLocaleDateString() %></small> <% } %><%- auditConst.statusString[ah[iA].status]%><% if (ah[iA].status === auditConst.status.checkNo) { %> <%- ctx.stage.user.name %><% } %>
|
|
|
+ </span>
|
|
|
+ <% } %>
|
|
|
+ <p class="card-text"><%- ah[iA].opinion %></p>
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ <% } else if (iA === ah.length - 1) { %>
|
|
|
+ <li class="list-group-item">
|
|
|
+ <h5 class="card-title">
|
|
|
+ <i class="fa fa-stop-circle <%- auditConst.statusClass[ah[iA].status] %>"></i> <%- ah[iA].name %> <small class="text-muted"><%- ah[iA].role %></small><span class="pull-right">终审</span>
|
|
|
+ </h5>
|
|
|
+ <div class="ml-3">
|
|
|
+ <% if (ah[iA].status !== auditConst.status.uncheck) { %>
|
|
|
+ <span class="<%- auditConst.statusClass[ah[iA].status] %>">
|
|
|
+ <% if (ah[iA].status === auditConst.status.checked || ah[iA].status === auditConst.status.checkNo || ah[iA].status === auditConst.status.checkNoPre || ah[iA].status === auditConst.status.checkAgain) { %><small><%- ah[iA].end_time.toLocaleDateString() %></small> <% } %><%- auditConst.statusString[ah[iA].status]%><% if (ah[iA].status === auditConst.status.checkNo) { %> <%- ctx.stage.user.name %><% } %>
|
|
|
+ </span>
|
|
|
+ <% } %>
|
|
|
+ <p class="card-text"><%- ah[iA].opinion %></p>
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ <% } else { %>
|
|
|
+ <li class="list-group-item">
|
|
|
+ <h5 class="card-title">
|
|
|
+ <i class="fa fa-chevron-circle-down <%- auditConst.statusClass[ah[iA].status] %>"></i> <%- ah[iA].name %> <small class="text-muted"><%- ah[iA].role %></small><span class="pull-right"><%= parseInt(ah[iA].sort) === parseInt(ah[iA].max_sort) ? '终' : ctx.helper.transFormToChinese(ah[iA].sort) %>审</span>
|
|
|
+ </h5>
|
|
|
+ <div class="ml-3">
|
|
|
+ <% if (ah[iA].status !== auditConst.status.uncheck) { %>
|
|
|
+ <span class="<%- auditConst.statusClass[ah[iA].status] %>">
|
|
|
+ <% if (ah[iA].status === auditConst.status.checked || ah[iA].status === auditConst.status.checkNo || ah[iA].status === auditConst.status.checkNoPre || ah[iA].status === auditConst.status.checkAgain) { %><small><%- ah[iA].end_time.toLocaleDateString() %></small> <% } %><%- auditConst.statusString[ah[iA].status]%><% if (ah[iA].status === auditConst.status.checkNo) { %> <%- ctx.stage.user.name %><% } %>
|
|
|
+ </span>
|
|
|
+ <% } %>
|
|
|
+ <p class="card-text"><%- ah[iA].opinion %></p>
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ <% } %>
|
|
|
+ <% } %>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+ <% } %>
|
|
|
<div class="card mt-3">
|
|
|
<ul class="list-group list-group-flush">
|
|
|
<li class="list-group-item">
|
|
@@ -206,6 +263,63 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="col-8 modal-height-500" style="overflow: auto">
|
|
|
+ <% for (const ah of ctx.stage.auditHistory) { %>
|
|
|
+ <div class="card mt-3">
|
|
|
+ <ul class="list-group list-group-flush">
|
|
|
+ <% for (let iA = 0; iA < ah.length; iA++) { %>
|
|
|
+ <% if (iA === 0) { %>
|
|
|
+ <li class="list-group-item">
|
|
|
+ <h5 class="card-title"><i class="fa fa-play-circle fa-rotate-90 text-success"></i> <%- ctx.stage.user.name %> <small class="text-muted"><%- ctx.stage.user.role %></small><span class="pull-right">原报</span></h5>
|
|
|
+ <div class="ml-3">
|
|
|
+ <span class="text-success"><%- ah[iA].begin_time.toLocaleDateString() %> <% if (ctx.stage.auditHistory.indexOf(ah) > 0) { %>重新<% } %>上报</span>
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ <li class="list-group-item">
|
|
|
+ <h5 class="card-title">
|
|
|
+ <i class="fa <%if (iA === ah.length - 1) { %>fa-stop-circle<% } else { %>fa-chevron-circle-down<% } %> <%- auditConst.statusClass[ah[iA].status] %>"></i> <%- ah[iA].name %> <small class="text-muted"><%- ah[iA].role %></small><span class="pull-right"><%= parseInt(ah[iA].sort) === parseInt(ah[iA].max_sort) ? '终' : ctx.helper.transFormToChinese(ah[iA].sort) %>审</span>
|
|
|
+ </h5>
|
|
|
+ <div class="ml-3">
|
|
|
+ <% if (ah[iA].status !== auditConst.status.uncheck) { %>
|
|
|
+ <span class="<%- auditConst.statusClass[ah[iA].status] %>">
|
|
|
+ <% if (ah[iA].status === auditConst.status.checked || ah[iA].status === auditConst.status.checkNo || ah[iA].status === auditConst.status.checkNoPre || ah[iA].status === auditConst.status.checkAgain) { %><small><%- ah[iA].end_time.toLocaleDateString() %></small> <% } %><%- auditConst.statusString[ah[iA].status]%><% if (ah[iA].status === auditConst.status.checkNo) { %> <%- ctx.stage.user.name %><% } %>
|
|
|
+ </span>
|
|
|
+ <% } %>
|
|
|
+ <p class="card-text"><%- ah[iA].opinion %></p>
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ <% } else if (iA === ah.length - 1) { %>
|
|
|
+ <li class="list-group-item">
|
|
|
+ <h5 class="card-title">
|
|
|
+ <i class="fa fa-stop-circle <%- auditConst.statusClass[ah[iA].status] %>"></i> <%- ah[iA].name %> <small class="text-muted"><%- ah[iA].role %></small><span class="pull-right">终审</span>
|
|
|
+ </h5>
|
|
|
+ <div class="ml-3">
|
|
|
+ <% if (ah[iA].status !== auditConst.status.uncheck) { %>
|
|
|
+ <span class="<%- auditConst.statusClass[ah[iA].status] %>">
|
|
|
+ <% if (ah[iA].status === auditConst.status.checked || ah[iA].status === auditConst.status.checkNo || ah[iA].status === auditConst.status.checkNoPre || ah[iA].status === auditConst.status.checkAgain) { %><small><%- ah[iA].end_time.toLocaleDateString() %></small> <% } %><%- auditConst.statusString[ah[iA].status]%><% if (ah[iA].status === auditConst.status.checkNo) { %> <%- ctx.stage.user.name %><% } %>
|
|
|
+ </span>
|
|
|
+ <% } %>
|
|
|
+ <p class="card-text"><%- ah[iA].opinion %></p>
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ <% } else { %>
|
|
|
+ <li class="list-group-item">
|
|
|
+ <h5 class="card-title">
|
|
|
+ <i class="fa fa-chevron-circle-down <%- auditConst.statusClass[ah[iA].status] %>"></i> <%- ah[iA].name %> <small class="text-muted"><%- ah[iA].role %></small><span class="pull-right"><%= parseInt(ah[iA].sort) === parseInt(ah[iA].max_sort) ? '终' : ctx.helper.transFormToChinese(ah[iA].sort) %>审</span>
|
|
|
+ </h5>
|
|
|
+ <div class="ml-3">
|
|
|
+ <% if (ah[iA].status !== auditConst.status.uncheck) { %>
|
|
|
+ <span class="<%- auditConst.statusClass[ah[iA].status] %>">
|
|
|
+ <% if (ah[iA].status === auditConst.status.checked || ah[iA].status === auditConst.status.checkNo || ah[iA].status === auditConst.status.checkNoPre || ah[iA].status === auditConst.status.checkAgain) { %><small><%- ah[iA].end_time.toLocaleDateString() %></small> <% } %><%- auditConst.statusString[ah[iA].status]%><% if (ah[iA].status === auditConst.status.checkNo) { %> <%- ctx.stage.user.name %><% } %>
|
|
|
+ </span>
|
|
|
+ <% } %>
|
|
|
+ <p class="card-text"><%- ah[iA].opinion %></p>
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ <% } %>
|
|
|
+ <% } %>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+ <% } %>
|
|
|
<div class="card mt-3">
|
|
|
<ul class="list-group list-group-flush">
|
|
|
<li class="list-group-item">
|
|
@@ -1014,6 +1128,63 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="col-8 modal-height-500" style="overflow: auto">
|
|
|
+ <% for (const ah of ctx.stage.auditHistory) { %>
|
|
|
+ <div class="card mt-3">
|
|
|
+ <ul class="list-group list-group-flush">
|
|
|
+ <% for (let iA = 0; iA < ah.length; iA++) { %>
|
|
|
+ <% if (iA === 0) { %>
|
|
|
+ <li class="list-group-item">
|
|
|
+ <h5 class="card-title"><i class="fa fa-play-circle fa-rotate-90 text-success"></i> <%- ctx.stage.user.name %> <small class="text-muted"><%- ctx.stage.user.role %></small><span class="pull-right">原报</span></h5>
|
|
|
+ <div class="ml-3">
|
|
|
+ <span class="text-success"><%- ah[iA].begin_time.toLocaleDateString() %> <% if (ctx.stage.auditHistory.indexOf(ah) > 0) { %>重新<% } %>上报</span>
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ <li class="list-group-item">
|
|
|
+ <h5 class="card-title">
|
|
|
+ <i class="fa <%if (iA === ah.length - 1) { %>fa-stop-circle<% } else { %>fa-chevron-circle-down<% } %> <%- auditConst.statusClass[ah[iA].status] %>"></i> <%- ah[iA].name %> <small class="text-muted"><%- ah[iA].role %></small><span class="pull-right"><%= parseInt(ah[iA].sort) === parseInt(ah[iA].max_sort) ? '终' : ctx.helper.transFormToChinese(ah[iA].sort) %>审</span>
|
|
|
+ </h5>
|
|
|
+ <div class="ml-3">
|
|
|
+ <% if (ah[iA].status !== auditConst.status.uncheck) { %>
|
|
|
+ <span class="<%- auditConst.statusClass[ah[iA].status] %>">
|
|
|
+ <% if (ah[iA].status === auditConst.status.checked || ah[iA].status === auditConst.status.checkNo || ah[iA].status === auditConst.status.checkNoPre || ah[iA].status === auditConst.status.checkAgain) { %><small><%- ah[iA].end_time.toLocaleDateString() %></small> <% } %><%- auditConst.statusString[ah[iA].status]%><% if (ah[iA].status === auditConst.status.checkNo) { %> <%- ctx.stage.user.name %><% } %>
|
|
|
+ </span>
|
|
|
+ <% } %>
|
|
|
+ <p class="card-text"><%- ah[iA].opinion %></p>
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ <% } else if (iA === ah.length - 1) { %>
|
|
|
+ <li class="list-group-item">
|
|
|
+ <h5 class="card-title">
|
|
|
+ <i class="fa fa-stop-circle <%- auditConst.statusClass[ah[iA].status] %>"></i> <%- ah[iA].name %> <small class="text-muted"><%- ah[iA].role %></small><span class="pull-right">终审</span>
|
|
|
+ </h5>
|
|
|
+ <div class="ml-3">
|
|
|
+ <% if (ah[iA].status !== auditConst.status.uncheck) { %>
|
|
|
+ <span class="<%- auditConst.statusClass[ah[iA].status] %>">
|
|
|
+ <% if (ah[iA].status === auditConst.status.checked || ah[iA].status === auditConst.status.checkNo || ah[iA].status === auditConst.status.checkNoPre || ah[iA].status === auditConst.status.checkAgain) { %><small><%- ah[iA].end_time.toLocaleDateString() %></small> <% } %><%- auditConst.statusString[ah[iA].status]%><% if (ah[iA].status === auditConst.status.checkNo) { %> <%- ctx.stage.user.name %><% } %>
|
|
|
+ </span>
|
|
|
+ <% } %>
|
|
|
+ <p class="card-text"><%- ah[iA].opinion %></p>
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ <% } else { %>
|
|
|
+ <li class="list-group-item">
|
|
|
+ <h5 class="card-title">
|
|
|
+ <i class="fa fa-chevron-circle-down <%- auditConst.statusClass[ah[iA].status] %>"></i> <%- ah[iA].name %> <small class="text-muted"><%- ah[iA].role %></small><span class="pull-right"><%= parseInt(ah[iA].sort) === parseInt(ah[iA].max_sort) ? '终' : ctx.helper.transFormToChinese(ah[iA].sort) %>审</span>
|
|
|
+ </h5>
|
|
|
+ <div class="ml-3">
|
|
|
+ <% if (ah[iA].status !== auditConst.status.uncheck) { %>
|
|
|
+ <span class="<%- auditConst.statusClass[ah[iA].status] %>">
|
|
|
+ <% if (ah[iA].status === auditConst.status.checked || ah[iA].status === auditConst.status.checkNo || ah[iA].status === auditConst.status.checkNoPre || ah[iA].status === auditConst.status.checkAgain) { %><small><%- ah[iA].end_time.toLocaleDateString() %></small> <% } %><%- auditConst.statusString[ah[iA].status]%><% if (ah[iA].status === auditConst.status.checkNo) { %> <%- ctx.stage.user.name %><% } %>
|
|
|
+ </span>
|
|
|
+ <% } %>
|
|
|
+ <p class="card-text"><%- ah[iA].opinion %></p>
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ <% } %>
|
|
|
+ <% } %>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+ <% } %>
|
|
|
<div class="card mt-3">
|
|
|
<ul class="list-group list-group-flush">
|
|
|
<li class="list-group-item">
|
|
@@ -1115,6 +1286,63 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="col-8 modal-height-500" style="overflow: auto">
|
|
|
+ <% for (const ah of ctx.stage.auditHistory) { %>
|
|
|
+ <div class="card mt-3">
|
|
|
+ <ul class="list-group list-group-flush">
|
|
|
+ <% for (let iA = 0; iA < ah.length; iA++) { %>
|
|
|
+ <% if (iA === 0) { %>
|
|
|
+ <li class="list-group-item">
|
|
|
+ <h5 class="card-title"><i class="fa fa-play-circle fa-rotate-90 text-success"></i> <%- ctx.stage.user.name %> <small class="text-muted"><%- ctx.stage.user.role %></small><span class="pull-right">原报</span></h5>
|
|
|
+ <div class="ml-3">
|
|
|
+ <span class="text-success"><%- ah[iA].begin_time.toLocaleDateString() %> <% if (ctx.stage.auditHistory.indexOf(ah) > 0) { %>重新<% } %>上报</span>
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ <li class="list-group-item">
|
|
|
+ <h5 class="card-title">
|
|
|
+ <i class="fa <%if (iA === ah.length - 1) { %>fa-stop-circle<% } else { %>fa-chevron-circle-down<% } %> <%- auditConst.statusClass[ah[iA].status] %>"></i> <%- ah[iA].name %> <small class="text-muted"><%- ah[iA].role %></small><span class="pull-right"><%= parseInt(ah[iA].sort) === parseInt(ah[iA].max_sort) ? '终' : ctx.helper.transFormToChinese(ah[iA].sort) %>审</span>
|
|
|
+ </h5>
|
|
|
+ <div class="ml-3">
|
|
|
+ <% if (ah[iA].status !== auditConst.status.uncheck) { %>
|
|
|
+ <span class="<%- auditConst.statusClass[ah[iA].status] %>">
|
|
|
+ <% if (ah[iA].status === auditConst.status.checked || ah[iA].status === auditConst.status.checkNo || ah[iA].status === auditConst.status.checkNoPre || ah[iA].status === auditConst.status.checkAgain) { %><small><%- ah[iA].end_time.toLocaleDateString() %></small> <% } %><%- auditConst.statusString[ah[iA].status]%><% if (ah[iA].status === auditConst.status.checkNo) { %> <%- ctx.stage.user.name %><% } %>
|
|
|
+ </span>
|
|
|
+ <% } %>
|
|
|
+ <p class="card-text"><%- ah[iA].opinion %></p>
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ <% } else if (iA === ah.length - 1) { %>
|
|
|
+ <li class="list-group-item">
|
|
|
+ <h5 class="card-title">
|
|
|
+ <i class="fa fa-stop-circle <%- auditConst.statusClass[ah[iA].status] %>"></i> <%- ah[iA].name %> <small class="text-muted"><%- ah[iA].role %></small><span class="pull-right">终审</span>
|
|
|
+ </h5>
|
|
|
+ <div class="ml-3">
|
|
|
+ <% if (ah[iA].status !== auditConst.status.uncheck) { %>
|
|
|
+ <span class="<%- auditConst.statusClass[ah[iA].status] %>">
|
|
|
+ <% if (ah[iA].status === auditConst.status.checked || ah[iA].status === auditConst.status.checkNo || ah[iA].status === auditConst.status.checkNoPre || ah[iA].status === auditConst.status.checkAgain) { %><small><%- ah[iA].end_time.toLocaleDateString() %></small> <% } %><%- auditConst.statusString[ah[iA].status]%><% if (ah[iA].status === auditConst.status.checkNo) { %> <%- ctx.stage.user.name %><% } %>
|
|
|
+ </span>
|
|
|
+ <% } %>
|
|
|
+ <p class="card-text"><%- ah[iA].opinion %></p>
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ <% } else { %>
|
|
|
+ <li class="list-group-item">
|
|
|
+ <h5 class="card-title">
|
|
|
+ <i class="fa fa-chevron-circle-down <%- auditConst.statusClass[ah[iA].status] %>"></i> <%- ah[iA].name %> <small class="text-muted"><%- ah[iA].role %></small><span class="pull-right"><%= parseInt(ah[iA].sort) === parseInt(ah[iA].max_sort) ? '终' : ctx.helper.transFormToChinese(ah[iA].sort) %>审</span>
|
|
|
+ </h5>
|
|
|
+ <div class="ml-3">
|
|
|
+ <% if (ah[iA].status !== auditConst.status.uncheck) { %>
|
|
|
+ <span class="<%- auditConst.statusClass[ah[iA].status] %>">
|
|
|
+ <% if (ah[iA].status === auditConst.status.checked || ah[iA].status === auditConst.status.checkNo || ah[iA].status === auditConst.status.checkNoPre || ah[iA].status === auditConst.status.checkAgain) { %><small><%- ah[iA].end_time.toLocaleDateString() %></small> <% } %><%- auditConst.statusString[ah[iA].status]%><% if (ah[iA].status === auditConst.status.checkNo) { %> <%- ctx.stage.user.name %><% } %>
|
|
|
+ </span>
|
|
|
+ <% } %>
|
|
|
+ <p class="card-text"><%- ah[iA].opinion %></p>
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ <% } %>
|
|
|
+ <% } %>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+ <% } %>
|
|
|
<div class="card mt-3">
|
|
|
<ul class="list-group list-group-flush">
|
|
|
<li class="list-group-item">
|