|
@@ -16,7 +16,88 @@
|
|
|
</div>
|
|
|
</form>
|
|
|
</div>
|
|
|
-
|
|
|
+<!--审批流程/结果-->
|
|
|
+<div class="modal fade" id="sp-list" data-backdrop="static">
|
|
|
+ <div class="modal-dialog modal-lg" role="document">
|
|
|
+ <div class="modal-content">
|
|
|
+ <div class="modal-header">
|
|
|
+ <h5 class="modal-title">审批流程</h5>
|
|
|
+ </div>
|
|
|
+ <div class="modal-body">
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-4">
|
|
|
+ <div class="card mt-3">
|
|
|
+ <ul class="list-group list-group-flush" id="auditor-list">
|
|
|
+ <li class="list-group-item"><i class="fa fa fa-play-circle fa-rotate-90"></i> 布尔 <small class="text-muted">施工</small></li>
|
|
|
+ <li class="list-group-item"><i class="fa fa-chevron-circle-down"></i> 张三 <small class="text-muted">监理</small></li>
|
|
|
+ <li class="list-group-item"><i class="fa fa-chevron-circle-down"></i> 王五 <small class="text-muted">监理</small></li>
|
|
|
+ <li class="list-group-item"><i class="fa fa fa-stop-circle"></i> 李四 <small class="text-muted">监理</small></li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-8 modal-height-500" style="overflow: auto" id="auditor-list2">
|
|
|
+ <div class="card mt-3">
|
|
|
+ <ul class="list-group list-group-flush">
|
|
|
+ <li class="list-group-item">
|
|
|
+ <span class="text-success pull-right">上报</span>
|
|
|
+ <h5 class="card-title"><i class="fa fa-play-circle fa-rotate-90 text-success"></i> 布尔 <small class="text-muted">施工</small></h5>
|
|
|
+ <p class="card-text">2017-11-25</p>
|
|
|
+ </li>
|
|
|
+ <li class="list-group-item">
|
|
|
+ <span class="text-success pull-right">审批通过</span>
|
|
|
+ <h5 class="card-title"><i class="fa fa-chevron-circle-down text-success"></i> 张三 <small class="text-muted">监理</small></h5>
|
|
|
+ <p class="card-text">审批意见。2017-11-25</p>
|
|
|
+ </li>
|
|
|
+ <li class="list-group-item">
|
|
|
+ <span class="text-success pull-right">审批通过</span>
|
|
|
+ <h5 class="card-title"><i class="fa fa-chevron-circle-down text-success"></i> 王五 <small class="text-muted">监理</small></h5>
|
|
|
+ <p class="card-text">审批通过。2017-11-26</p>
|
|
|
+ </li>
|
|
|
+ <li class="list-group-item">
|
|
|
+ <span class="text-warning pull-right">审批退回 布尔</span>
|
|
|
+ <h5 class="card-title"><i class="fa fa-stop-circle text-warning"></i> 李四 <small class="text-muted">监理</small></h5>
|
|
|
+ <p class="card-text">审批退回,审批意见文本。2017-11-27</p>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+ <!--退回原报重新上报-->
|
|
|
+ <div class="card mt-3">
|
|
|
+ <ul class="list-group list-group-flush">
|
|
|
+ <li class="list-group-item">
|
|
|
+ <span class="text-success pull-right">重新上报</span>
|
|
|
+ <h5 class="card-title"><i class="fa fa-play-circle fa-rotate-90 text-success"></i> 布尔 <small class="text-muted">施工</small></h5>
|
|
|
+ <p class="card-text">2017-12-01</p>
|
|
|
+ </li>
|
|
|
+ <li class="list-group-item">
|
|
|
+ <span class="text-success pull-right">审批通过</span>
|
|
|
+ <h5 class="card-title"><i class="fa fa-chevron-circle-down text-success"></i> 张三 <small class="text-muted">监理</small></h5>
|
|
|
+ <p class="card-text">审批通过 2017-12-02</p>
|
|
|
+ </li>
|
|
|
+ <li class="list-group-item">
|
|
|
+ <span class="text-warning pull-right">审批退回 张三</span>
|
|
|
+ <h5 class="card-title"><i class="fa fa-chevron-circle-down text-warning"></i> 王五 <small class="text-muted">监理</small></h5>
|
|
|
+ <p class="card-text">审批退回 2017-12-02</p>
|
|
|
+ </li>
|
|
|
+ <!--王五退回上一审批人 张三,张三重新审批-->
|
|
|
+ <li class="list-group-item">
|
|
|
+ <span class="pull-right">审批中</span>
|
|
|
+ <h5 class="card-title"><i class="fa fa-chevron-circle-down"></i> 张三 <small class="text-muted">监理</small></h5>
|
|
|
+ <p class="card-text"></p>
|
|
|
+ </li>
|
|
|
+ <li class="list-group-item">
|
|
|
+ <h5 class="card-title"><i class="fa fa-stop-circle"></i> 李四 <small class="text-muted">监理</small></h5>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="modal-footer">
|
|
|
+ <button type="button" class="btn btn-secondary btn-sm" data-dismiss="modal">关闭</button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</div>
|
|
|
<% if (ledgerRevise.length > 0 && (ledgerRevise[0].status === auditConst.status.uncheck || ledgerRevise[0].status === auditConst.status.checkNo) && ctx.session.sessionUser.accountId === ledgerRevise[0].uid) { %>
|
|
|
<!--弹出作废-->
|
|
|
<div class="modal fade" id="remove" data-backdrop="static">
|
|
@@ -54,4 +135,85 @@
|
|
|
}
|
|
|
return dbClickFlag;
|
|
|
}
|
|
|
-</script>
|
|
|
+ const auditConst = JSON.parse('<%- auditConst2 %>');
|
|
|
+
|
|
|
+ $(function () {
|
|
|
+ // 获取审批流程
|
|
|
+ $('a[data-target="#sp-list" ]').on('click', function () {
|
|
|
+ const data = {
|
|
|
+ id: $(this).attr('lr-id'),
|
|
|
+ };
|
|
|
+ postData('<%- preUrl + "/revise/auditors" %>', data, function (result) {
|
|
|
+ const reviseAuditor = result.reviseAuditor;
|
|
|
+ const auditors = result.auditors;
|
|
|
+ const auditHistory = result.auditHistory;
|
|
|
+ // 生成左边列表流程
|
|
|
+ const lefthtml = [];
|
|
|
+ lefthtml.push('<li class="list-group-item"><i class="fa fa fa-play-circle fa-rotate-90"></i> '+ reviseAuditor.name +' <small class="text-muted">'+ reviseAuditor.role +'</small><span class="pull-right">原报</span></li>');
|
|
|
+ for (const [index,a] of auditors.entries()) {
|
|
|
+ if (index+1 === auditors.length) {
|
|
|
+ lefthtml.push('<li class="list-group-item"><i class="fa fa-stop-circle"></i> '+ a.name +' <small class="text-muted">'+ a.role +'</small><span class="pull-right">终审</span></li>');
|
|
|
+ } else {
|
|
|
+ lefthtml.push('<li class="list-group-item"><i class="fa fa-chevron-circle-down"></i> '+ a.name +' <small class="text-muted">'+ a.role +'</small><span class="pull-right">' + transFormToChinese(index+1) + '审</span></li>');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $('#auditor-list').html(lefthtml.join(''));
|
|
|
+
|
|
|
+ // 生成右边列表流程
|
|
|
+ const righthtml = [];
|
|
|
+ for(const ah of auditHistory) {
|
|
|
+ righthtml.push('<div class="card mt-3"><ul class="list-group list-group-flush">');
|
|
|
+ for (let iA = 0; iA < ah.length; iA++) {
|
|
|
+ if (iA === 0) {
|
|
|
+ righthtml.push('<li class="list-group-item">');
|
|
|
+ righthtml.push('<h5 class="card-title">');
|
|
|
+ righthtml.push('<i class="fa fa-play-circle fa-rotate-90 text-success"></i> '+ reviseAuditor.name +' <small class="text-muted">'+ reviseAuditor.role +'</small><span class="pull-right">原报</span></h5>');
|
|
|
+ righthtml.push('<div class="ml-3">');
|
|
|
+ righthtml.push('<span class="text-success"><small>' + (ah[iA].begin_time ? moment(ah[iA].begin_time).format('YYYY-MM-DD') : '') + '</small> '+ (auditHistory.indexOf(ah) > 0 ? '重新' : '') + '上报</span></div></li>');
|
|
|
+ righthtml.push('<li class="list-group-item">');
|
|
|
+ righthtml.push('<h5 class="card-title"><i class="fa '+ (iA === ah.length - 1 ? 'fa-stop-circle ' : '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">' + (ah[iA].sort === ah[iA].max_sort ? '终' : transFormToChinese(ah[iA].sort)) + '审</span></h5>');
|
|
|
+ righthtml.push('<div class="ml-3">');
|
|
|
+ if (ah[iA].status !== auditConst.status.uncheck) {
|
|
|
+ let timeHtml = '';
|
|
|
+ if (ah[iA].status === auditConst.status.checked || ah[iA].status === auditConst.status.checkNo) {
|
|
|
+ timeHtml = '<small>'+ (ah[iA].end_time ? moment(ah[iA].end_time).format('YYYY-MM-DD') : '') +'</small> ';
|
|
|
+ }
|
|
|
+ righthtml.push('<span class="' + auditConst.statusClass[ah[iA].status] +'">'+ timeHtml + auditConst.statusString[ah[iA].status] + (ah[iA].status === auditConst.status.checkNo ? ' ' + reviseAuditor.name : '') + '</span>');
|
|
|
+ }
|
|
|
+ righthtml.push('<p class="card-text">'+ (ah[iA].opinion !== null ? ah[iA].opinion : '') +'</p></div>');
|
|
|
+ righthtml.push('</li>');
|
|
|
+ } else if (iA === ah.length - 1) {
|
|
|
+ righthtml.push('<li class="list-group-item">');
|
|
|
+ righthtml.push('<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>');
|
|
|
+ righthtml.push('<div class="ml-3">');
|
|
|
+ if (ah[iA].status !== auditConst.status.uncheck) {
|
|
|
+ let timeHtml = '';
|
|
|
+ if (ah[iA].status === auditConst.status.checked || ah[iA].status === auditConst.status.checkNo) {
|
|
|
+ timeHtml = '<small>'+ (ah[iA].end_time ? moment(ah[iA].end_time).format('YYYY-MM-DD') : '') +'</small> ';
|
|
|
+ }
|
|
|
+ righthtml.push('<span class="' + auditConst.statusClass[ah[iA].status] +'">' + timeHtml + auditConst.statusString[ah[iA].status] + (ah[iA].status === auditConst.status.checkNo ? ' ' + reviseAuditor.name : '') + '</span>');
|
|
|
+ }
|
|
|
+ righthtml.push('<p class="card-text">'+ (ah[iA].opinion !== null ? ah[iA].opinion : '') +'</p></div>');
|
|
|
+ righthtml.push('</li>');
|
|
|
+ } else {
|
|
|
+ righthtml.push('<li class="list-group-item">');
|
|
|
+ righthtml.push('<h5 class="card-title"><i class="fa '+ (iA === ah.length - 1 ? 'fa-stop-circle ' : '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">' + (ah[iA].sort === ah[iA].max_sort ? '终' : transFormToChinese(ah[iA].sort)) + '审</span></h5>');
|
|
|
+ righthtml.push('<div class="ml-3">');
|
|
|
+ if (ah[iA].status !== auditConst.status.uncheck) {
|
|
|
+ let timeHtml = '';
|
|
|
+ if (ah[iA].status === auditConst.status.checked || ah[iA].status === auditConst.status.checkNo) {
|
|
|
+ timeHtml = '<small>'+ (ah[iA].end_time ? moment(ah[iA].end_time).format('YYYY-MM-DD') : '') +'</small> ';
|
|
|
+ }
|
|
|
+ righthtml.push('<span class="' + auditConst.statusClass[ah[iA].status] +'">'+ timeHtml + auditConst.statusString[ah[iA].status] + (ah[iA].status === auditConst.status.checkNo ? ' ' + reviseAuditor.name : '') + '</span>');
|
|
|
+ }
|
|
|
+ righthtml.push('<p class="card-text">'+ (ah[iA].opinion !== null ? ah[iA].opinion : '') +'</p></div>');
|
|
|
+ righthtml.push('</li>');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ righthtml.push('</ul></div>');
|
|
|
+ }
|
|
|
+ $('#auditor-list2').html(righthtml.join(''));
|
|
|
+ })
|
|
|
+ });
|
|
|
+ })
|
|
|
+</script>
|