|
@@ -17,7 +17,7 @@
|
|
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdownMenuButton" style="width:220px">
|
|
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdownMenuButton" style="width:220px">
|
|
<div class="mb-2 p-2"><input class="form-control form-control-sm" placeholder="姓名/手机 检索"
|
|
<div class="mb-2 p-2"><input class="form-control form-control-sm" placeholder="姓名/手机 检索"
|
|
id="gr-search" autocomplete="off"></div>
|
|
id="gr-search" autocomplete="off"></div>
|
|
- <dl class="list-unstyled book-list">
|
|
|
|
|
|
+ <dl class="list-unstyled book-list" id="book-list">
|
|
<% accountGroup.forEach((group, idx) => { %>
|
|
<% accountGroup.forEach((group, idx) => { %>
|
|
<dt><a href="javascript: void(0);" class="acc-btn" data-groupid="<%- idx %>"
|
|
<dt><a href="javascript: void(0);" class="acc-btn" data-groupid="<%- idx %>"
|
|
data-type="hide"><i class="fa fa-plus-square"></i></a> <%- group.groupName %></dt>
|
|
data-type="hide"><i class="fa fa-plus-square"></i></a> <%- group.groupName %></dt>
|
|
@@ -81,12 +81,12 @@
|
|
<div class="modal-body">
|
|
<div class="modal-body">
|
|
<div class="row">
|
|
<div class="row">
|
|
<div class="col-4">
|
|
<div class="col-4">
|
|
- <% if(ctx.stage.status === auditConst.status.checkNo) { %>
|
|
|
|
- <a class="sp-list-item" href="#sub-sp" data-toggle="modal" data-target="#sub-sp"
|
|
|
|
|
|
+ <% if(ctx.stage.status !== auditConst.status.checked && ctx.session.sessionUser.is_admin) { %>
|
|
|
|
+ <a class="sp-list-item" href="#sub-sp2" data-toggle="modal" data-target="#sub-sp2"
|
|
id="hideSp">修改审批流程</a>
|
|
id="hideSp">修改审批流程</a>
|
|
<% } %>
|
|
<% } %>
|
|
<div class="card mt-3">
|
|
<div class="card mt-3">
|
|
- <ul class="list-group list-group-flush" id="auditors-list">
|
|
|
|
|
|
+ <ul class="list-group list-group-flush auditors-list" id="auditors-list">
|
|
<% ctx.stage.auditors2.forEach((item, idx) => { %>
|
|
<% ctx.stage.auditors2.forEach((item, idx) => { %>
|
|
<% if (idx === 0) { %>
|
|
<% if (idx === 0) { %>
|
|
<li class="list-group-item" data-auditorId="<%- item.aid %>">
|
|
<li class="list-group-item" data-auditorId="<%- item.aid %>">
|
|
@@ -121,7 +121,7 @@
|
|
<% } %>
|
|
<% } %>
|
|
<div class="<%- idx < ctx.stage.auditHistory.length - 1 ? 'fold-card' : '' %>">
|
|
<div class="<%- idx < ctx.stage.auditHistory.length - 1 ? 'fold-card' : '' %>">
|
|
<div class="text-center text-muted"><%- idx+1 %>#</div>
|
|
<div class="text-center text-muted"><%- idx+1 %>#</div>
|
|
- <ul class="timeline-list list-unstyled mt-2">
|
|
|
|
|
|
+ <ul class="timeline-list list-unstyled mt-2 <% if (idx === ctx.stage.auditHistory.length - 1 && ctx.stage.auditHistory.length !== 1) { %>last-auditor-list<% } %>">
|
|
<% auditors.forEach((auditor, index) => { %>
|
|
<% auditors.forEach((auditor, index) => { %>
|
|
<% if (index === 0) { %>
|
|
<% if (index === 0) { %>
|
|
<li class="timeline-list-item pb-2">
|
|
<li class="timeline-list-item pb-2">
|
|
@@ -267,9 +267,13 @@
|
|
</div>
|
|
</div>
|
|
<div class="modal-body">
|
|
<div class="modal-body">
|
|
<div class="row">
|
|
<div class="row">
|
|
|
|
+ <% if(ctx.stage.status !== auditConst.status.checked && ctx.session.sessionUser.is_admin) { %>
|
|
|
|
+ <a class="sp-list-item" href="#sub-sp2" data-toggle="modal" data-target="#sub-sp2"
|
|
|
|
+ id="hideSp">修改审批流程</a>
|
|
|
|
+ <% } %>
|
|
<div class="col-4">
|
|
<div class="col-4">
|
|
<div class="card mt-3">
|
|
<div class="card mt-3">
|
|
- <ul class="list-group list-group-flush">
|
|
|
|
|
|
+ <ul class="list-group list-group-flush auditors-list">
|
|
<% ctx.stage.auditors2.forEach((item, idx) => { %>
|
|
<% ctx.stage.auditors2.forEach((item, idx) => { %>
|
|
<% if (idx === 0) { %>
|
|
<% if (idx === 0) { %>
|
|
<li class="list-group-item" data-auditorId="<%- item.aid %>">
|
|
<li class="list-group-item" data-auditorId="<%- item.aid %>">
|
|
@@ -304,7 +308,7 @@
|
|
<% } %>
|
|
<% } %>
|
|
<div class="<%- idx < ctx.stage.auditHistory.length - 1 ? 'fold-card' : '' %>">
|
|
<div class="<%- idx < ctx.stage.auditHistory.length - 1 ? 'fold-card' : '' %>">
|
|
<div class="text-center text-muted"><%- idx+1 %>#</div>
|
|
<div class="text-center text-muted"><%- idx+1 %>#</div>
|
|
- <ul class="timeline-list list-unstyled mt-2">
|
|
|
|
|
|
+ <ul class="timeline-list list-unstyled mt-2 <% if (idx === ctx.stage.auditHistory.length - 1 && ctx.stage.auditHistory.length !== 1) { %>last-auditor-list<% } %>">
|
|
<% auditors.forEach((auditor, index) => { %>
|
|
<% auditors.forEach((auditor, index) => { %>
|
|
<% if (index === 0) { %>
|
|
<% if (index === 0) { %>
|
|
<li class="timeline-list-item pb-2">
|
|
<li class="timeline-list-item pb-2">
|
|
@@ -457,9 +461,13 @@
|
|
</div>
|
|
</div>
|
|
<div class="modal-body">
|
|
<div class="modal-body">
|
|
<div class="row">
|
|
<div class="row">
|
|
|
|
+ <% if(ctx.stage.status !== auditConst.status.checked && ctx.session.sessionUser.is_admin) { %>
|
|
|
|
+ <a class="sp-list-item" href="#sub-sp2" data-toggle="modal" data-target="#sub-sp2"
|
|
|
|
+ id="hideSp">修改审批流程</a>
|
|
|
|
+ <% } %>
|
|
<div class="col-4">
|
|
<div class="col-4">
|
|
<div class="card mt-3">
|
|
<div class="card mt-3">
|
|
- <ul class="list-group list-group-flush">
|
|
|
|
|
|
+ <ul class="list-group list-group-flush auditors-list">
|
|
<% ctx.stage.auditors2.forEach((item, idx) => { %>
|
|
<% ctx.stage.auditors2.forEach((item, idx) => { %>
|
|
<% if (idx === 0) { %>
|
|
<% if (idx === 0) { %>
|
|
<li class="list-group-item" data-auditorId="<%- item.aid %>">
|
|
<li class="list-group-item" data-auditorId="<%- item.aid %>">
|
|
@@ -493,7 +501,7 @@
|
|
<% } %>
|
|
<% } %>
|
|
<div class="<%- idx < ctx.stage.auditHistory.length - 1 ? 'fold-card' : '' %>">
|
|
<div class="<%- idx < ctx.stage.auditHistory.length - 1 ? 'fold-card' : '' %>">
|
|
<div class="text-center text-muted"><%- idx+1 %>#</div>
|
|
<div class="text-center text-muted"><%- idx+1 %>#</div>
|
|
- <ul class="timeline-list list-unstyled mt-2">
|
|
|
|
|
|
+ <ul class="timeline-list list-unstyled mt-2 <% if (idx === ctx.stage.auditHistory.length - 1 && ctx.stage.auditHistory.length !== 1) { %>last-auditor-list<% } %>">
|
|
<% auditors.forEach((auditor, index) => { %>
|
|
<% auditors.forEach((auditor, index) => { %>
|
|
<% if (index === 0) { %>
|
|
<% if (index === 0) { %>
|
|
<li class="timeline-list-item pb-2">
|
|
<li class="timeline-list-item pb-2">
|
|
@@ -819,12 +827,158 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<% } %>
|
|
<% } %>
|
|
-
|
|
|
|
|
|
+<% if (ctx.stage && ctx.stage.status !== auditConst.status.checked && ctx.session.sessionUser.is_admin) { %>
|
|
|
|
+<!--上报审批-->
|
|
|
|
+<div class="modal fade" id="sub-sp2" data-backdrop="static">
|
|
|
|
+ <div class="modal-dialog" style="max-width: 650px" role="document">
|
|
|
|
+ <div class="modal-content">
|
|
|
|
+ <div class="modal-header">
|
|
|
|
+ <h5 class="modal-title">修改审批流程</h5>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="modal-body">
|
|
|
|
+ <div class="card mt-1">
|
|
|
|
+ <div class="modal-height-500" style="overflow: visible">
|
|
|
|
+ <style>
|
|
|
|
+ #admin-edit-shenpi thead th {
|
|
|
|
+ border-bottom: 0;
|
|
|
|
+ }
|
|
|
|
+ #admin-edit-shenpi td, #admin-edit-shenpi th {
|
|
|
|
+ padding: 0.75rem;
|
|
|
|
+ }
|
|
|
|
+ #admin-edit-shenpi th {
|
|
|
|
+ background: none;
|
|
|
|
+ color: #212529;
|
|
|
|
+ border-top: 0;
|
|
|
|
+ }
|
|
|
|
+ </style>
|
|
|
|
+ <table class="table table-hover" id="admin-edit-shenpi">
|
|
|
|
+ <thead>
|
|
|
|
+ <tr class="card-header">
|
|
|
|
+ <th>审批流程</th>
|
|
|
|
+ <th width="80" style="text-align: center">审批状态</th>
|
|
|
|
+ <th width="200" style="text-align: center">操作</th>
|
|
|
|
+ </tr>
|
|
|
|
+ </thead>
|
|
|
|
+ <% for (let i = 1, iLen = ctx.stage.auditors2.length; i < iLen; i++) { %>
|
|
|
|
+ <tr>
|
|
|
|
+ <td><span class="shenpi-order"><%- i %></span> <%- ctx.stage.auditors2[i].name %> <small class="text-muted"><%- ctx.stage.auditors2[i].role %></small></td>
|
|
|
|
+ <td style="text-align: center"><span class="<%- auditConst.auditStringClass[ctx.stage.auditors2[i].status] %>"><%- ctx.stage.auditors2[i].status !== auditConst.status.uncheck ? auditConst.auditString[ctx.stage.auditors2[i].status] : '待审批' %></span></td>
|
|
|
|
+ <td style="text-align: center">
|
|
|
|
+ <% if (ctx.stage.auditors2[i].status === auditConst.status.checking) { %>
|
|
|
|
+ <span class="dropdown mr-2">
|
|
|
|
+ <a href="javascript: void(0)" class="add-audit" id="<%- ctx.stage.auditors2[i].aid %>_add_dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">增加</a>
|
|
|
|
+ <div class="dropdown-menu dropdown-menu-right" id="<%- ctx.stage.auditors2[i].aid %>_add_dropdownMenu" aria-labelledby="<%- ctx.stage.auditors2[i].aid %>_add_dropdownMenuButton" style="width:220px">
|
|
|
|
+ <div class="mb-2 p-2"><input class="form-control form-control-sm gr-search"
|
|
|
|
+ placeholder="姓名/手机 检索" autocomplete="off" data-code="<%- ctx.stage.auditors2[i].aid %>_add"></div>
|
|
|
|
+ <dl class="list-unstyled book-list" data-aid="<%- ctx.stage.auditors2[i].aid %>" data-operate="add">
|
|
|
|
+ <% accountGroup.forEach((group, idx) => { %>
|
|
|
|
+ <dt><a href="javascript: void(0);" class="acc-btn" data-groupid="<%- idx %>"
|
|
|
|
+ data-type="hide"><i class="fa fa-plus-square"></i></a> <%- group.groupName %></dt>
|
|
|
|
+ <div class="dd-content" data-toggleid="<%- idx %>">
|
|
|
|
+ <% group.groupList.forEach(item => { %>
|
|
|
|
+ <% if (item.id !== ctx.stage.user_id) { %>
|
|
|
|
+ <dd class="border-bottom p-2 mb-0 " data-id="<%- item.id %>">
|
|
|
|
+ <p class="mb-0 d-flex"><span class="text-primary"><%- item.name %></span><span
|
|
|
|
+ class="ml-auto"><%- item.mobile %></span></p>
|
|
|
|
+ <span class="text-muted"><%- item.role %></span>
|
|
|
|
+ </dd>
|
|
|
|
+ <% } %>
|
|
|
|
+ <% });%>
|
|
|
|
+ </div>
|
|
|
|
+ <% }) %>
|
|
|
|
+ </dl>
|
|
|
|
+ </div>
|
|
|
|
+ </span>
|
|
|
|
+ <% } %>
|
|
|
|
+ <% if (ctx.stage.auditors2[i].status === auditConst.status.uncheck) { %>
|
|
|
|
+ <span class="dropdown mr-2">
|
|
|
|
+ <a href="javascript: void(0)" class="add-audit" id="<%- ctx.stage.auditors2[i].aid %>_add_dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">增加</a>
|
|
|
|
+ <div class="dropdown-menu dropdown-menu-right" id="<%- ctx.stage.auditors2[i].aid %>_add_dropdownMenu" aria-labelledby="<%- ctx.stage.auditors2[i].aid %>_add_dropdownMenuButton" style="width:220px">
|
|
|
|
+ <div class="mb-2 p-2"><input class="form-control form-control-sm gr-search"
|
|
|
|
+ placeholder="姓名/手机 检索" autocomplete="off" data-code="<%- ctx.stage.auditors2[i].aid %>_add"></div>
|
|
|
|
+ <dl class="list-unstyled book-list" data-aid="<%- ctx.stage.auditors2[i].aid %>" data-operate="add">
|
|
|
|
+ <% accountGroup.forEach((group, idx) => { %>
|
|
|
|
+ <dt><a href="javascript: void(0);" class="acc-btn" data-groupid="<%- idx %>"
|
|
|
|
+ data-type="hide"><i class="fa fa-plus-square"></i></a> <%- group.groupName %></dt>
|
|
|
|
+ <div class="dd-content" data-toggleid="<%- idx %>">
|
|
|
|
+ <% group.groupList.forEach(item => { %>
|
|
|
|
+ <% if (item.id !== ctx.stage.user_id) { %>
|
|
|
|
+ <dd class="border-bottom p-2 mb-0 " data-id="<%- item.id %>">
|
|
|
|
+ <p class="mb-0 d-flex"><span class="text-primary"><%- item.name %></span><span
|
|
|
|
+ class="ml-auto"><%- item.mobile %></span></p>
|
|
|
|
+ <span class="text-muted"><%- item.role %></span>
|
|
|
|
+ </dd>
|
|
|
|
+ <% } %>
|
|
|
|
+ <% });%>
|
|
|
|
+ </div>
|
|
|
|
+ <% }) %>
|
|
|
|
+ </dl>
|
|
|
|
+ </div>
|
|
|
|
+ </span>
|
|
|
|
+ <span class="dropdown mr-2">
|
|
|
|
+ <a href="javascript: void(0)" class="change-audit" id="<%- ctx.stage.auditors2[i].aid %>_change_dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">更换</a>
|
|
|
|
+ <div class="dropdown-menu dropdown-menu-right" id="<%- ctx.stage.auditors2[i].aid %>_change_dropdownMenu" aria-labelledby="<%- ctx.stage.auditors2[i].aid %>_change_dropdownMenuButton" style="width:220px">
|
|
|
|
+ <div class="mb-2 p-2"><input class="form-control form-control-sm gr-search"
|
|
|
|
+ placeholder="姓名/手机 检索" autocomplete="off" data-code="<%- ctx.stage.auditors2[i].aid %>_change"></div>
|
|
|
|
+ <dl class="list-unstyled book-list" data-aid="<%- ctx.stage.auditors2[i].aid %>" data-operate="change">
|
|
|
|
+ <% accountGroup.forEach((group, idx) => { %>
|
|
|
|
+ <dt><a href="javascript: void(0);" class="acc-btn" data-groupid="<%- idx %>"
|
|
|
|
+ data-type="hide"><i class="fa fa-plus-square"></i></a> <%- group.groupName %></dt>
|
|
|
|
+ <div class="dd-content" data-toggleid="<%- idx %>">
|
|
|
|
+ <% group.groupList.forEach(item => { %>
|
|
|
|
+ <% if (item.id !== ctx.stage.user_id) { %>
|
|
|
|
+ <dd class="border-bottom p-2 mb-0 " data-id="<%- item.id %>">
|
|
|
|
+ <p class="mb-0 d-flex"><span class="text-primary"><%- item.name %></span><span
|
|
|
|
+ class="ml-auto"><%- item.mobile %></span></p>
|
|
|
|
+ <span class="text-muted"><%- item.role %></span>
|
|
|
|
+ </dd>
|
|
|
|
+ <% } %>
|
|
|
|
+ <% });%>
|
|
|
|
+ </div>
|
|
|
|
+ <% }) %>
|
|
|
|
+ </dl>
|
|
|
|
+ </div>
|
|
|
|
+ </span>
|
|
|
|
+ <span class="dropdown">
|
|
|
|
+ <a href="javascript: void(0)" class="text-danger" title="移除" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">移除</a>
|
|
|
|
+ <div class="dropdown-menu">
|
|
|
|
+ <span class="dropdown-item" href="javascript:void(0);">确认移除审批人?</span>
|
|
|
|
+ <div class="dropdown-divider"></div>
|
|
|
|
+ <div class="px-2 py-1 text-center">
|
|
|
|
+ <button class="remove-audit btn btn-sm btn-danger" data-id="<%- ctx.stage.auditors2[i].aid %>">移除</button>
|
|
|
|
+ <button class="btn btn-sm btn-secondary">取消</button>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </span>
|
|
|
|
+ <% } %>
|
|
|
|
+ </td>
|
|
|
|
+ </tr>
|
|
|
|
+ <% } %>
|
|
|
|
+ </table>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <form class="modal-footer">
|
|
|
|
+ <button type="button" class="btn btn-secondary btn-sm" data-dismiss="modal">关闭</button>
|
|
|
|
+ </form>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+</div>
|
|
|
|
+<% } %>
|
|
<% include ../shares/check_data_modal.ejs %>
|
|
<% include ../shares/check_data_modal.ejs %>
|
|
<script type="text/javascript">
|
|
<script type="text/javascript">
|
|
const csrf = '<%= ctx.csrf %>';
|
|
const csrf = '<%= ctx.csrf %>';
|
|
const authMobile = '<%= authMobile %>';
|
|
const authMobile = '<%= authMobile %>';
|
|
</script>
|
|
</script>
|
|
|
|
+<% if (ctx.stage && ctx.stage.status !== auditConst.status.checked && ctx.session.sessionUser.is_admin) { %>
|
|
|
|
+<script type="text/javascript">
|
|
|
|
+ const accountGroup = JSON.parse(unescape('<%- escape(JSON.stringify(accountGroup)) %>'));
|
|
|
|
+ const accountList = JSON.parse(unescape('<%- escape(JSON.stringify(accountList)) %>'));
|
|
|
|
+ const stage_uid = parseInt('<%= ctx.stage.user_id %>');
|
|
|
|
+ const auditorList = JSON.parse(unescape('<%- escape(JSON.stringify(ctx.stage.auditors2)) %>'));
|
|
|
|
+ const cur_tenderid = parseInt('<%- ctx.tender.id %>');
|
|
|
|
+</script>
|
|
|
|
+<% } %>
|
|
<% if (ctx.stage && (ctx.session.sessionUser.accountId === ctx.stage.user_id && (ctx.stage.status === auditConst.status.uncheck || ctx.stage.status === auditConst.status.checkNo))) { %>
|
|
<% if (ctx.stage && (ctx.session.sessionUser.accountId === ctx.stage.user_id && (ctx.stage.status === auditConst.status.uncheck || ctx.stage.status === auditConst.status.checkNo))) { %>
|
|
<script>
|
|
<script>
|
|
const accountGroup = JSON.parse(unescape('<%- escape(JSON.stringify(accountGroup)) %>'));
|
|
const accountGroup = JSON.parse(unescape('<%- escape(JSON.stringify(accountGroup)) %>'));
|