Ver código fonte

台账修订和标段列表不选置最后

laiguoran 5 anos atrás
pai
commit
0f8bc1f817

+ 1 - 1
app/public/js/tender_list.js

@@ -143,10 +143,10 @@ function getCategoryHtml() {
         html.push('<div class="form-group" cate-id="' + cate.id + '">');
         html.push('<label>', cate.name, '</label>');
         html.push('<select class="form-control form-control-sm">');
-        html.push('<option value="0">不选</option>');
         for (const v of cate.value) {
             html.push('<option value="' + v.id + '">', v.value, '</option>');
         }
+        html.push('<option value="0">不选</option>');
         html.push('</select>');
         html.push('</div>');
         return html.join('');

+ 2 - 1
app/public/js/tender_list_info.js

@@ -142,10 +142,11 @@ function getCategoryHtml() {
         const html = [];
         html.push('<div class="form-group" cate-id="' + cate.id + '">');
         html.push('<lable>', cate.name, '</lable>');
-        html.push('<select class="form-control">');
+        html.push('<select class="form-control form-control-sm">');
         for (const v of cate.value) {
             html.push('<option value="' + v.id + '">', v.value, '</option>');
         }
+        html.push('<option value="0">不选</option>');
         html.push('</select>');
         html.push('</div>');
         return html.join('');

+ 3 - 2
app/public/js/tender_list_manage.js

@@ -143,10 +143,10 @@ function getCategoryHtml() {
         html.push('<div class="form-group" cate-id="' + cate.id + '">');
         html.push('<label>', cate.name, '</label>');
         html.push('<select class="form-control form-control-sm">');
-        html.push('<option value="0">不选</option>');
         for (const v of cate.value) {
             html.push('<option value="' + v.id + '">', v.value, '</option>');
         }
+        html.push('<option value="0">不选</option>');
         html.push('</select>');
         html.push('</div>');
         return html.join('');
@@ -334,8 +334,9 @@ function bindTenderUrl() {
         const tender = _.find(tenders, {id: tid});
         $('[name=name]', '#edit-bd').val(tender.name);
         $('input[type=radio]', '#add-bd').prop('checked', false);
+        $('option[value=0]', '#edit-bd').prop('selected', true);
         for (const c of tender.category) {
-            $('input[value=' + c.value + ']', '#edit-bd').prop('checked', 'checked');
+            // $('input[value=' + c.value + ']', '#edit-bd').prop('checked', 'checked');
             $('option[value=' + c.value + ']', '#edit-bd').prop('selected', true);
         }
         $('#edit-bd-ok').attr('tid', tid);

+ 2 - 1
app/public/js/tender_list_progress.js

@@ -142,10 +142,11 @@ function getCategoryHtml() {
         const html = [];
         html.push('<div class="form-group" cate-id="' + cate.id + '">');
         html.push('<lable>', cate.name, '</lable>');
-        html.push('<select class="form-control">');
+        html.push('<select class="form-control form-control-sm">');
         for (const v of cate.value) {
             html.push('<option value="' + v.id + '">', v.value, '</option>');
         }
+        html.push('<option value="0">不选</option>');
         html.push('</select>');
         html.push('</div>');
         return html.join('');

+ 12 - 1
app/service/tender.js

@@ -200,7 +200,18 @@ module.exports = app => {
                     throw '新增合同支付数据失败';
                 }
                 await this.transaction.commit();
-                return await this.getTender(operate.insertId);
+                const sql = 'SELECT t.`id`, t.`project_id`, t.`name`, t.`status`, t.`category`, t.`ledger_times`, t.`ledger_status`, t.`measure_type`, t.`user_id`, t.`create_time`, t.`total_price`, t.`deal_tp`,' +
+                    '    pa.`name` As `user_name`, pa.`role` As `user_role`, pa.`company` As `user_company` ' +
+                    '  FROM ?? As t ' +
+                    '  Left Join ?? As pa ' +
+                    '  ON t.`user_id` = pa.`id` ' +
+                    '  WHERE t.`id` = ?';
+                const sqlParam = [this.tableName, this.ctx.service.projectAccount.tableName, operate.insertId];
+                const tender = await this.db.queryOne(sql, sqlParam);
+                if (tender) {
+                    tender.category = tender.category && tender.category !== '' ? JSON.parse(tender.category) : null;
+                }
+                return tender;
             } catch (error) {
                 await this.transaction.rollback();
                 throw error;

+ 4 - 4
app/view/revise/index.ejs

@@ -1,9 +1,9 @@
 <% include ../tender/tender_sub_menu.ejs %>
 <div class="panel-content">
     <div class="panel-title">
-        <div class="title-main d-flex"><!--工具-->
+        <div class="title-main d-flex justify-content-between"><!--工具-->
             <% include ../tender/tender_sub_mini_menu.ejs %>
-            <div class="fluid">
+            <div>
                 <div class="d-inline-block">
                     <div class="input-group input-group-sm">
                         <input class="datepicker-here form-control form-control-sm mt-0" placeholder="按时间筛选" data-range="true" data-multiple-dates-separator=" - " data-language="zh" type="text" style="width:190px">
@@ -13,7 +13,7 @@
                     </div>
                 </div>
             </div>
-            <div class="ml-1">
+            <div>
                 <% if (addValid) { %>
                 <div class="d-inline-block">
                     <a href="#add-bg" data-toggle="modal" data-target="#add-bg" class="btn btn-primary btn-sm pull-right">新建修订</a>
@@ -93,4 +93,4 @@
             autoFlashHeight();
         }
     });
-</script>
+</script>

+ 251 - 144
app/view/revise/info_modal.ejs

@@ -84,7 +84,7 @@
 <% if (revise.status === audit.status.checkNo && ctx.session.sessionUser.accountId === revise.uid) { %>
 <!--重新上报-->
 <div class="modal fade" id="sub-sp2" data-backdrop="static">
-    <div class="modal-dialog" role="document">
+    <div class="modal-dialog modal-lg" role="document">
         <div class="modal-content">
             <div class="modal-header">
                 <h5 class="modal-title">重新上报</h5>
@@ -95,17 +95,17 @@
                         <a href="#sub-sp" data-toggle="modal" data-target="#sub-sp" id="hideSp">修改审批流程</a>
                         <div class="card mt-3">
                             <ul class="list-group list-group-flush">
-                                <li class="list-group-item">
-                                    <i class="fa fa fa-play-circle fa-rotate-90"></i> <%- user.name %>  <small class="text-muted"><%- user.role %></small>
+                                <li class="list-group-item" style="border-bottom: 0">
+                                    <i class="fa fa fa-play-circle fa-rotate-90"></i> <%- user.name %>  <small class="text-muted"><%- user.role %></small><span class="pull-right">原报</span>
                                 </li>
                             </ul>
                             <ul class="list-group list-group-flush" id="auditors-list">
                                 <% for (let i = 0; i < auditorList.length; i++) { %>
                                 <li class="list-group-item" data-auditid="<%- auditorList[i].audit_id %>">
                                     <% if (i < auditorList.length - 1) { %>
-                                    <i class="fa fa-chevron-circle-down"></i> <%- auditorList[i].name %>  <small class="text-muted"><%- auditorList[i].role %></small>
+                                    <i class="fa fa-chevron-circle-down"></i> <%- auditorList[i].name %>  <small class="text-muted"><%- auditorList[i].role %></small><span class="pull-right"><%= ctx.helper.transFormToChinese(i+1) %>审</span>
                                     <% } else {%>
-                                    <i class="fa fa fa-stop-circle"></i> <%- auditorList[i].name %>  <small class="text-muted"><%- auditorList[i].role %></small>
+                                    <i class="fa fa fa-stop-circle"></i> <%- auditorList[i].name %>  <small class="text-muted"><%- auditorList[i].role %></small><span class="pull-right">终审</span>
                                     <% } %>
                                 </li>
                                 <% } %>
@@ -114,70 +114,66 @@
                     </div>
                     <div class="col-8 modal-height-500" style="overflow: auto">
                         <% for (const ah of 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">
-                                    <span class="text-success pull-right"><% if (auditHistory.indexOf(ah) > 0) { %>重新<% } %>上报</span>
-                                    <h5 class="card-title"><i class="fa fa-play-circle fa-rotate-90 text-success"></i> <%- user.name %> <small class="text-muted"><%- user.role %></small></h5>
-                                    <p class="card-text"><small class="text-muted"><%- ah[iA].begin_time.toLocaleDateString() %></small></p>
-                                </li>
-                                <li class="list-group-item">
-                                    <% if (ah[iA].status !== audit.status.uncheck) { %>
-                                    <span class="<%- audit.statusClass[ah[iA].status] %> pull-right"><%- audit.statusString[ah[iA].status]%><% if (ah[iA].status === audit.status.checkNo) { %> <%- user.name %><% } %></span>
-                                    <% } %>
-                                    <h5 class="card-title"><i class="fa fa-chevron-circle-down <%- audit.statusClass[ah[iA].status] %>"></i> <%- ah[iA].name %> <small class="text-muted"><%- ah[iA].role %></small></h5>
-                                    <% if (ah[iA].status === audit.status.checked || ah[iA].status === audit.status.checkNo) { %>
-                                    <p class="card-text mb-1"><%- ah[iA].opinion %></p>
-                                    <p class="card-text"><small class="text-muted"><%- ah[iA].end_time.toLocaleDateString() %></small></p>
-                                    <% } %>
-                                </li>
-                                <% } else if (iA === ah.length - 1) { %>
-                                <li class="list-group-item">
-                                    <% if (ah[iA].status !== audit.status.uncheck) { %>
-                                    <span class="<%- audit.statusClass[ah[iA].status] %> pull-right"><%- audit.statusString[ah[iA].status]%><% if (ah[iA].status === audit.status.checkNo) { %> <%- user.name %><% } %></span>
+                            <div class="card mt-3">
+                                <ul class="list-group list-group-flush">
+                                    <li class="list-group-item">
+                                        <h5 class="card-title">
+                                            <i class="fa fa-play-circle fa-rotate-90 text-success"></i> <%- user.name %> <small class="text-muted"><%- user.role %></small><span class="pull-right">原报</span>
+                                        </h5>
+                                        <div class="ml-3">
+                                            <span class="text-success"><%- ah[0].begin_time.toLocaleDateString() %> <% if (auditHistory.indexOf(ah) > 0) { %>重新<% } %>上报</span>
+                                        </div>
+                                    </li>
+                                    <% for (let iA = 0; iA < ah.length; iA++) { %>
+                                        <% if (iA === ah.length - 1) { %>
+                                            <li class="list-group-item">
+                                                <h5 class="card-title">
+                                                    <i class="fa fa-stop-circle <%- audit.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 !== audit.status.uncheck) { %>
+                                                        <span class="<%- audit.statusClass[ah[iA].status] %>"><% if (ah[iA].status === audit.status.checked || ah[iA].status === audit.status.checkNo) { %><%- ah[iA].end_time.toLocaleDateString() %> <% } %><%- audit.statusString[ah[iA].status]%><% if (ah[iA].status === audit.status.checkNo) { %> <%- 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 <%- audit.statusClass[ah[iA].status] %>"></i> <%- ah[iA].name %> <small class="text-muted"><%- ah[iA].role %></small><span class="pull-right"><%= ctx.helper.transFormToChinese(iA+1) %>审</span>
+                                                </h5>
+                                                <div class="ml-3">
+                                                    <% if (ah[iA].status !== audit.status.uncheck) { %>
+                                                        <span class="<%- audit.statusClass[ah[iA].status] %>"><% if (ah[iA].status === audit.status.checked || ah[iA].status === audit.status.checkNo) { %><%- ah[iA].end_time.toLocaleDateString() %> <% } %><%- audit.statusString[ah[iA].status]%><% if (ah[iA].status === audit.status.checkNo) { %> <%- user.name %><% } %></span>
+                                                    <% } %>
+                                                    <p class="card-text"><%- ah[iA].opinion %></p>
+                                                </div>
+                                            </li>
+                                        <% } %>
                                     <% } %>
-                                    <h5 class="card-title"><i class="fa fa-stop-circle <%- audit.statusClass[ah[iA].status] %>"></i> <%- ah[iA].name %> <small class="text-muted"><%- ah[iA].role %></small></h5>
-                                    <% if (ah[iA].status === audit.status.checked || ah[iA].status === audit.status.checkNo) { %>
-                                    <p class="card-text mb-1"><%- ah[iA].opinion %></p>
-                                    <p class="card-text"><small class="text-muted"><%- ah[iA].end_time.toLocaleDateString() %></small></p>
-                                    <% } %>
-                                </li>
-                                <% } else { %>
-                                <li class="list-group-item">
-                                    <% if (ah[iA].status !== audit.status.uncheck) { %>
-                                    <span class="<%- audit.statusClass[ah[iA].status] %> pull-right"><%- audit.statusString[ah[iA].status]%><% if (ah[iA].status === audit.status.checkNo) { %> <%- user.name %><% } %></span>
-                                    <% } %>
-                                    <h5 class="card-title"><i class="fa fa-chevron-circle-down <%- audit.statusClass[ah[iA].status] %>"></i> <%- ah[iA].name %> <small class="text-muted"><%- ah[iA].role %></small></h5>
-                                    <% if (ah[iA].status === audit.status.checked || ah[iA].status === audit.status.checkNo) { %>
-                                    <p class="card-text mb-1"><%- ah[iA].opinion %></p>
-                                    <p class="card-text"><small class="text-muted"><%- ah[iA].end_time.toLocaleDateString() %></small></p>
-                                    <% } %>
-                                </li>
-                                <% } %>
-                                <% } %>
-                            </ul>
-                        </div>
+                                </ul>
+                            </div>
                         <% } %>
                         <% if (revise.status === audit.status.checkNo) {%>
                         <div class="card mt-3">
                             <ul class="list-group list-group-flush">
-                                <li class="list-group-item">
-                                    <span class="pull-right">重新上报中</span>
-                                    <h5 class="card-title"><i class="fa fa-play-circle fa-rotate-90"></i> <%- user.name %> <small class="text-muted"><%- user.role %></small></h5>
-                                    <p class="card-text"><small class="text-muted"></small></p>
+                                <li class="list-group-item" style="border-bottom: 0">
+                                    <h5 class="card-title"><i class="fa fa-play-circle fa-rotate-90"></i> <%- user.name %> <small class="text-muted"><%- user.role %></small><span class="pull-right">原报</span></h5>
+                                    <div class="ml-3">
+                                        <span>重新上报中</span>
+                                        <p class="card-text"></p>
+                                    </div>
                                 </li>
                             </ul>
                             <ul class="list-group list-group-flush" id="auditors-list2">
                                 <% for (let iA = 0; iA < auditorList.length; iA++) { %>
                                 <% if (iA === auditorList.length - 1) { %>
                                 <li class="list-group-item" data-auditid="<%- auditorList[iA].audit_id %>">
-                                    <h5 class="card-title"><i class="fa fa-stop-circle"></i> <%- auditorList[iA].name %> <small class="text-muted"><%- auditorList[iA].role %></small></h5>
+                                    <h5 class="card-title"><i class="fa fa-stop-circle"></i> <%- auditorList[iA].name %> <small class="text-muted"><%- auditorList[iA].role %></small><span class="pull-right">终审</span></h5>
                                 </li>
                                 <% } else { %>
                                 <li class="list-group-item" data-auditid="<%- auditorList[iA].audit_id %>">
-                                    <h5 class="card-title"><i class="fa fa-chevron-circle-down"></i> <%- auditorList[iA].name %> <small class="text-muted"><%- auditorList[iA].role %></small></h5>
+                                    <h5 class="card-title"><i class="fa fa-chevron-circle-down"></i> <%- auditorList[iA].name %> <small class="text-muted"><%- auditorList[iA].role %></small><span class="pull-right"><%= ctx.helper.transFormToChinese(iA+1) %>审</span></h5>
                                 </li>
                                 <% } %>
                                 <% } %>
@@ -188,9 +184,9 @@
                 </div>
             </div>
             <form class="modal-footer" action="/tender/<%- ctx.tender.id %>/revise/audit/start" method="post" onsubmit="return checkAuditorFrom()">
-                <button type="submit" class="btn btn-primary btn-sm">确认上报</button>
-                <input type="hidden" name="_csrf" value="<%= ctx.csrf %>">
                 <button type="button" class="btn btn-secondary btn-sm" data-dismiss="modal">关闭</button>
+                <input type="hidden" name="_csrf" value="<%= ctx.csrf %>">
+                <button type="submit" class="btn btn-primary btn-sm">确认上报</button>
             </form>
         </div>
     </div>
@@ -199,31 +195,73 @@
 <% if (revise.status === audit.status.checking && curAuditor.audit_id === ctx.session.sessionUser.accountId) { %>
 <!--审批通过-->
 <div class="modal fade" id="sp-done" data-backdrop="static">
-    <div class="modal-dialog" role="document">
-        <form class="modal-content" action="/tender/<%- ctx.tender.id %>/revise/audit/check" method="post">
+    <div class="modal-dialog modal-lg" role="document">
+        <form class="modal-content" action="/tender/<%- ctx.tender.id %>/revise/audit/check" method="post" onsubmit="return auditCheck(0);">
             <div class="modal-header">
                 <h5 class="modal-title">审批通过</h5>
             </div>
             <div class="modal-body">
-                <div class="card mt-3">
-                    <ul class="list-group list-group-flush">
-                        <% for (let i = 0, iLen = auditors.length; i < iLen; i++) { %>
-                        <li class="list-group-item" auditorId="<%- auditors[i].audit_id %>">
-                            <% if (auditors[i].status !== audit.status.uncheck) { %>
-                            <span class="<%- audit.statusClass[auditors[i].status] %> pull-right"><%- audit.statusString[auditors[i].status] %></span>
-                            <% } %>
-                            <h5 class="card-title"><%- auditors[i].audit_order %> <%- auditors[i].name %> <small class="text-muted"><%- auditors[i].role %></small></h5>
-                            <% if (auditors[i].status === audit.status.checked) { %>
-                            <p class="card-text"><%- auditors[i].opinion %> <%- auditors[i].end_time ? auditors[i].end_time.toLocaleString() : '' %></p>
-                            <% } else if (auditors[i].status === audit.status.checking) { %>
-                            <div class="form-group">
-                                <label>审批意见<b class="text-danger">*</b></label>
-                                <textarea class="form-control form-control-sm" name="opinion">同意</textarea>
-                            </div>
-                            <% } %>
-                        </li>
-                        <% } %>
-                    </ul>
+                <div class="row">
+                    <div class="col-4">
+                        <div class="card mt-3">
+                            <ul class="list-group list-group-flush">
+                                <li class="list-group-item">
+                                    <i class="fa fa fa-play-circle fa-rotate-90"></i> <%- user.name %>  <small class="text-muted"><%- user.role %></small><span class="pull-right">原报</span>
+                                </li>
+                                <% for (let i = 0; i < auditors.length; i++) { %>
+                                    <li class="list-group-item">
+                                        <% if (i < auditors.length - 1) { %>
+                                            <i class="fa fa-chevron-circle-down"></i> <%- auditors[i].name %>  <small class="text-muted"><%- auditors[i].role %></small><span class="pull-right"><%= ctx.helper.transFormToChinese(i+1) %>审</span>
+                                        <% } else {%>
+                                            <i class="fa fa fa-stop-circle"></i> <%- auditors[i].name %>  <small class="text-muted"><%- auditors[i].role %></small><span class="pull-right">终审</span>
+                                        <% } %>
+                                    </li>
+                                <% } %>
+                            </ul>
+                        </div>
+                    </div>
+                    <div class="col-8 modal-height-500" style="overflow: auto">
+                        <div class="card mt-3">
+                            <ul class="list-group list-group-flush">
+                                <li class="list-group-item">
+                                    <h5 class="card-title">
+                                        <i class="fa fa-play-circle fa-rotate-90 text-success"></i> <%- user.name %> <small class="text-muted"><%- user.role %></small><span class="pull-right">原报</span>
+                                    </h5>
+                                    <div class="ml-3">
+                                        <span class="text-success"><%- auditors[0].begin_time ? auditors[0].begin_time.toLocaleDateString() : ''%> <% if (revise.times > 1) { %>重新<% } %>上报</span>
+                                    </div>
+                                </li>
+                                <% for (let i = 0, iLen = auditors.length; i < iLen; i++) { %>
+                                    <li class="list-group-item" auditorId="<%- auditors[i].audit_id %>">
+                                        <% if (auditors[i].status === audit.status.checked) { %>
+                                        <h5 class="card-title">
+                                            <i class="<%- (i < iLen - 1 ? 'fa fa-chevron-circle-down text-success' : 'fa fa-stop-circle text-success') %>"></i> <%- auditors[i].name %> <small class="text-muted"><%- auditors[i].role %></small><span class="pull-right"><%= i < iLen - 1 ? ctx.helper.transFormToChinese(i+1) : '终' %>审</span>
+                                        </h5>
+                                        <div class="ml-3">
+                                            <span class="<%- audit.statusClass[auditors[i].status] %>"><%- auditors[i].end_time ? auditors[i].end_time.toLocaleDateString() : '' %> <%- audit.statusString[auditors[i].status] %></span>
+                                            <p class="card-text"><%- auditors[i].opinion %></p>
+                                        </div>
+                                        <% } else if (auditors[i].status === audit.status.checking) { %>
+                                        <h5 class="card-title">
+                                            <i class="<%- (i < iLen - 1 ? 'fa fa-chevron-circle-down' : 'fa fa-stop-circle') %>"></i> <%- auditors[i].name %> <small class="text-muted"><%- auditors[i].role %></small><span class="pull-right"><%= i < iLen - 1 ? ctx.helper.transFormToChinese(i+1) : '终' %>审</span>
+                                        </h5>
+                                        <div class="form-group">
+                                            <label>审批意见<b class="text-danger">*</b></label>
+                                            <textarea class="form-control form-control-sm" name="opinion">同意</textarea>
+                                        </div>
+                                        <% } else { %>
+                                        <h5 class="card-title">
+                                            <i class="<%- (i < iLen - 1 ? 'fa fa-chevron-circle-down' : 'fa fa-stop-circle') %>"></i> <%- auditors[i].name %> <small class="text-muted"><%- auditors[i].role %></small><span class="pull-right"><%= i < iLen - 1 ? ctx.helper.transFormToChinese(i+1) : '终' %>审</span>
+                                        </h5>
+                                        <div class="ml-3">
+                                            <p class="card-text"></p>
+                                        </div>
+                                        <% } %>
+                                    </li>
+                                <% } %>
+                            </ul>
+                        </div>
+                    </div>
                 </div>
             </div>
             <div class="modal-footer">
@@ -237,32 +275,74 @@
 </div>
 <!--审批退回-->
 <div class="modal fade" id="sp-back" data-backdrop="static">
-    <div class="modal-dialog" role="document">
-        <form class="modal-content" action="/tender/<%- ctx.tender.id %>/revise/audit/check" method="post">
+    <div class="modal-dialog modal-lg" role="document">
+        <form class="modal-content" action="/tender/<%- ctx.tender.id %>/revise/audit/check" method="post" onsubmit="return auditCheck(1);">
             <div class="modal-header">
                 <h5 class="modal-title">审批退回</h5>
             </div>
             <div class="modal-body">
-                <div class="card mt-3">
-                    <ul class="list-group list-group-flush">
-                        <% for (let i = 0, iLen = auditors.length; i < iLen; i++) { %>
-                        <li class="list-group-item" auditorId="<%- auditors[i].audit_id %>">
-                            <% if (auditors[i].status !== audit.status.uncheck) { %>
-                            <span class="<%- audit.statusClass[auditors[i].status] %> pull-right"><%- audit.statusString[auditors[i].status] %></span>
-                            <% } %>
-                            <h5 class="card-title"><%- auditors[i].audit_order %> <%- auditors[i].name %> <small class="text-muted"><%- auditors[i].role %></small></h5>
-                            <% if (auditors[i].status === audit.status.checked) { %>
-                            <p class="card-text"><%- auditors[i].opinion %> <%- auditors[i].end_time ? auditors[i].end_time.toLocaleString() : '' %></p>
-                            <% } else if (auditors[i].status === audit.status.checking) { %>
-                            <div class="form-group">
-                                <label>审批意见<b class="text-danger">*</b></label>
-                                <textarea class="form-control form-control-sm" name="opinion">不同意</textarea>
-                            </div>
-                            <div class="alert alert-warning">审批退回,将直接退回给上报人。</div>
-                            <% } %>
-                        </li>
-                        <% } %>
-                    </ul>
+                <div class="row">
+                    <div class="col-4">
+                        <div class="card mt-3">
+                            <ul class="list-group list-group-flush">
+                                <li class="list-group-item">
+                                    <i class="fa fa fa-play-circle fa-rotate-90"></i> <%- user.name %>  <small class="text-muted"><%- user.role %></small><span class="pull-right">原报</span>
+                                </li>
+                                <% for (let i = 0; i < auditors.length; i++) { %>
+                                    <li class="list-group-item">
+                                        <% if (i < auditors.length - 1) { %>
+                                            <i class="fa fa-chevron-circle-down"></i> <%- auditors[i].name %>  <small class="text-muted"><%- auditors[i].role %></small><span class="pull-right"><%= ctx.helper.transFormToChinese(i+1) %>审</span>
+                                        <% } else {%>
+                                            <i class="fa fa fa-stop-circle"></i> <%- auditors[i].name %>  <small class="text-muted"><%- auditors[i].role %></small><span class="pull-right">终审</span>
+                                        <% } %>
+                                    </li>
+                                <% } %>
+                            </ul>
+                        </div>
+                    </div>
+                    <div class="col-8 modal-height-500" style="overflow: auto">
+                        <div class="card mt-3">
+                            <ul class="list-group list-group-flush">
+                                <li class="list-group-item">
+                                    <h5 class="card-title">
+                                        <i class="fa fa-play-circle fa-rotate-90 text-success"></i> <%- user.name %> <small class="text-muted"><%- user.role %></small><span class="pull-right">原报</span>
+                                    </h5>
+                                    <div class="ml-3">
+                                        <span class="text-success"><%- auditors[0].begin_time ? auditors[0].begin_time.toLocaleDateString() : ''%> <% if (revise.times > 1) { %>重新<% } %>上报</span>
+                                    </div>
+                                </li>
+                                <% for (let i = 0, iLen = auditors.length; i < iLen; i++) { %>
+                                    <li class="list-group-item" auditorId="<%- auditors[i].audit_id %>">
+                                        <% if (auditors[i].status === audit.status.checked) { %>
+                                            <h5 class="card-title">
+                                                <i class="<%- (i < iLen - 1 ? 'fa fa-chevron-circle-down text-success' : 'fa fa-stop-circle text-success') %>"></i> <%- auditors[i].name %> <small class="text-muted"><%- auditors[i].role %></small><span class="pull-right"><%= i < iLen - 1 ? ctx.helper.transFormToChinese(i+1) : '终' %>审</span>
+                                            </h5>
+                                            <div class="ml-3">
+                                                <span class="<%- audit.statusClass[auditors[i].status] %>"><%- auditors[i].end_time ? auditors[i].end_time.toLocaleDateString() : '' %> <%- audit.statusString[auditors[i].status] %></span>
+                                                <p class="card-text"><%- auditors[i].opinion %></p>
+                                            </div>
+                                        <% } else if (auditors[i].status === audit.status.checking) { %>
+                                            <h5 class="card-title">
+                                                <i class="<%- (i < iLen - 1 ? 'fa fa-chevron-circle-down' : 'fa fa-stop-circle') %>"></i> <%- auditors[i].name %> <small class="text-muted"><%- auditors[i].role %></small><span class="pull-right"><%= i < iLen - 1 ? ctx.helper.transFormToChinese(i+1) : '终' %>审</span>
+                                            </h5>
+                                            <div class="form-group">
+                                                <label>审批意见<b class="text-danger">*</b></label>
+                                                <textarea class="form-control form-control-sm" name="opinion">不同意</textarea>
+                                            </div>
+                                            <div class="alert alert-warning">审批退回,将直接退回给上报人。</div>
+                                        <% } else { %>
+                                            <h5 class="card-title">
+                                                <i class="<%- (i < iLen - 1 ? 'fa fa-chevron-circle-down' : 'fa fa-stop-circle') %>"></i> <%- auditors[i].name %> <small class="text-muted"><%- auditors[i].role %></small><span class="pull-right"><%= i < iLen - 1 ? ctx.helper.transFormToChinese(i+1) : '终' %>审</span>
+                                            </h5>
+                                            <div class="ml-3">
+                                                <p class="card-text"></p>
+                                            </div>
+                                        <% } %>
+                                    </li>
+                                <% } %>
+                            </ul>
+                        </div>
+                    </div>
                 </div>
             </div>
             <div class="modal-footer">
@@ -278,7 +358,7 @@
 <% if (revise.status !== audit.status.uncheck || revise.times > 1) { %>
 <!--审批流程/结果-->
 <div class="modal fade" id="sp-list" data-backdrop="static">
-    <div class="modal-dialog" role="document">
+    <div class="modal-dialog modal-lg" role="document">
         <div class="modal-content">
             <div class="modal-header">
                 <h5 class="modal-title">审批流程</h5>
@@ -289,14 +369,14 @@
                         <div class="card mt-3">
                             <ul class="list-group list-group-flush">
                                 <li class="list-group-item">
-                                    <i class="fa fa fa-play-circle fa-rotate-90"></i> <%- user.name %>  <small class="text-muted"><%- user.role %></small>
+                                    <i class="fa fa fa-play-circle fa-rotate-90"></i> <%- user.name %>  <small class="text-muted"><%- user.role %></small><span class="pull-right">原报</span>
                                 </li>
                                 <% for (let i = 0; i < auditors.length; i++) { %>
                                 <li class="list-group-item">
                                     <% if (i < auditors.length - 1) { %>
-                                    <i class="fa fa-chevron-circle-down"></i> <%- auditors[i].name %>  <small class="text-muted"><%- auditors[i].role %></small>
+                                    <i class="fa fa-chevron-circle-down"></i> <%- auditors[i].name %>  <small class="text-muted"><%- auditors[i].role %></small><span class="pull-right"><%= ctx.helper.transFormToChinese(i+1) %>审</span>
                                     <% } else {%>
-                                    <i class="fa fa fa-stop-circle"></i> <%- auditors[i].name %>  <small class="text-muted"><%- auditors[i].role %></small>
+                                    <i class="fa fa fa-stop-circle"></i> <%- auditors[i].name %>  <small class="text-muted"><%- auditors[i].role %></small><span class="pull-right">终审</span>
                                     <% } %>
                                 </li>
                                 <% } %>
@@ -308,32 +388,37 @@
                         <div class="card mt-3">
                             <ul class="list-group list-group-flush">
                                 <li class="list-group-item">
-                                    <span class="text-success pull-right"><% if (auditHistory.indexOf(ah) > 0) { %>重新<% } %>上报</span>
-                                    <h5 class="card-title"><i class="fa fa-play-circle fa-rotate-90 text-success"></i> <%- user.name %> <small class="text-muted"><%- user.role %></small></h5>
-                                    <p class="card-text"><small class="text-muted"><%- ah[0].begin_time.toLocaleDateString() %></small></p>
+                                    <h5 class="card-title">
+                                        <i class="fa fa-play-circle fa-rotate-90 text-success"></i> <%- user.name %> <small class="text-muted"><%- user.role %></small><span class="pull-right">原报</span>
+                                    </h5>
+                                    <div class="ml-3">
+                                        <span class="text-success"><%- ah[0].begin_time.toLocaleDateString() %> <% if (auditHistory.indexOf(ah) > 0) { %>重新<% } %>上报</span>
+                                    </div>
                                 </li>
                                 <% for (let iA = 0; iA < ah.length; iA++) { %>
                                 <% if (iA === ah.length - 1) { %>
                                 <li class="list-group-item">
-                                    <% if (ah[iA].status !== audit.status.uncheck) { %>
-                                    <span class="<%- audit.statusClass[ah[iA].status] %> pull-right"><%- audit.statusString[ah[iA].status]%><% if (ah[iA].status === audit.status.checkNo) { %> <%- user.name %><% } %></span>
-                                    <% } %>
-                                    <h5 class="card-title"><i class="fa fa-stop-circle <%- audit.statusClass[ah[iA].status] %>"></i> <%- ah[iA].name %> <small class="text-muted"><%- ah[iA].role %></small></h5>
-                                    <% if (ah[iA].status === audit.status.checked || ah[iA].status === audit.status.checkNo) { %>
-                                    <p class="card-text mb-1"><%- ah[iA].opinion %></p>
-                                    <p class="card-text"><small class="text-muted"><%- ah[iA].end_time.toLocaleDateString() %></small></p>
-                                    <% } %>
+                                    <h5 class="card-title">
+                                        <i class="fa fa-stop-circle <%- audit.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 !== audit.status.uncheck) { %>
+                                        <span class="<%- audit.statusClass[ah[iA].status] %>"><% if (ah[iA].status === audit.status.checked || ah[iA].status === audit.status.checkNo) { %><%- ah[iA].end_time.toLocaleDateString() %> <% } %><%- audit.statusString[ah[iA].status]%><% if (ah[iA].status === audit.status.checkNo) { %> <%- user.name %><% } %></span>
+                                        <% } %>
+                                        <p class="card-text"><%- ah[iA].opinion %></p>
+                                    </div>
                                 </li>
                                 <% } else { %>
                                 <li class="list-group-item">
-                                    <% if (ah[iA].status !== audit.status.uncheck) { %>
-                                    <span class="<%- audit.statusClass[ah[iA].status] %> pull-right"><%- audit.statusString[ah[iA].status]%><% if (ah[iA].status === audit.status.checkNo) { %> <%- user.name %><% } %></span>
-                                    <% } %>
-                                    <h5 class="card-title"><i class="fa fa-chevron-circle-down <%- audit.statusClass[ah[iA].status] %>"></i> <%- ah[iA].name %> <small class="text-muted"><%- ah[iA].role %></small></h5>
-                                    <% if (ah[iA].status === audit.status.checked || ah[iA].status === audit.status.checkNo) { %>
-                                    <p class="card-text mb-1"><%- ah[iA].opinion %></p>
-                                    <p class="card-text"><small class="text-muted"><%- ah[iA].end_time.toLocaleDateString() %></small></p>
-                                    <% } %>
+                                    <h5 class="card-title">
+                                        <i class="fa fa-chevron-circle-down <%- audit.statusClass[ah[iA].status] %>"></i> <%- ah[iA].name %> <small class="text-muted"><%- ah[iA].role %></small><span class="pull-right"><%= ctx.helper.transFormToChinese(iA+1) %>审</span>
+                                    </h5>
+                                    <div class="ml-3">
+                                        <% if (ah[iA].status !== audit.status.uncheck) { %>
+                                        <span class="<%- audit.statusClass[ah[iA].status] %>"><% if (ah[iA].status === audit.status.checked || ah[iA].status === audit.status.checkNo) { %><%- ah[iA].end_time.toLocaleDateString() %> <% } %><%- audit.statusString[ah[iA].status]%><% if (ah[iA].status === audit.status.checkNo) { %> <%- user.name %><% } %></span>
+                                        <% } %>
+                                        <p class="card-text"><%- ah[iA].opinion %></p>
+                                    </div>
                                 </li>
                                 <% } %>
                                 <% } %>
@@ -344,32 +429,37 @@
                         <div class="card mt-3">
                             <ul class="list-group list-group-flush">
                                 <li class="list-group-item">
-                                    <span class="text-success pull-right"><% if (revise.times > 1) { %>重新<% } %>上报</span>
-                                    <h5 class="card-title"><i class="fa fa-play-circle fa-rotate-90 text-success"></i> <%- user.name %> <small class="text-muted"><%- user.role %></small></h5>
-                                    <p class="card-text"><small class="text-muted"><%- auditors[0].begin_time ? auditors[0].begin_time.toLocaleDateString() : ''%></small></p>
+                                    <h5 class="card-title">
+                                        <i class="fa fa-play-circle fa-rotate-90 text-success"></i> <%- user.name %> <small class="text-muted"><%- user.role %></small><span class="pull-right">原报</span>
+                                    </h5>
+                                    <div class="ml-3">
+                                        <span class="text-success"><%- auditors[0].begin_time ? auditors[0].begin_time.toLocaleDateString() : ''%> <% if (revise.times > 1) { %>重新<% } %>上报</span>
+                                    </div>
                                 </li>
                                 <% for (let iA = 0; iA < auditors.length; iA++) { %>
                                 <% if (iA === auditors.length - 1) { %>
                                 <li class="list-group-item">
-                                    <% if (auditors[iA].status !== audit.status.uncheck) { %>
-                                    <span class="<%- audit.statusClass[auditors[iA].status] %> pull-right"><%- audit.statusString[auditors[iA].status]%><% if (auditors[iA].status === audit.status.checkNo) { %> <%- user.name %><% } %></span>
-                                    <% } %>
-                                    <h5 class="card-title"><i class="fa fa-stop-circle <%- audit.statusClass[auditors[iA].status] %>"></i> <%- auditors[iA].name %> <small class="text-muted"><%- auditors[iA].role %></small></h5>
-                                    <% if (auditors[iA].status === audit.status.checked || auditors[iA].status === audit.status.checkNo) { %>
-                                    <p class="card-text mb-1"><%- auditors[iA].opinion %></p>
-                                    <p class="card-text"><small class="text-muted"><%- auditors[iA].end_time.toLocaleDateString() %></small></p>
-                                    <% } %>
+                                    <h5 class="card-title">
+                                        <i class="fa fa-stop-circle <%- audit.statusClass[auditors[iA].status] %>"></i> <%- auditors[iA].name %> <small class="text-muted"><%- auditors[iA].role %></small><span class="pull-right">终审</span>
+                                    </h5>
+                                    <div class="ml-3">
+                                        <% if (auditors[iA].status !== audit.status.uncheck) { %>
+                                            <span class="<%- audit.statusClass[auditors[iA].status] %>"><% if (auditors[iA].status === audit.status.checked || auditors[iA].status === audit.status.checkNo) { %><%- auditors[iA].end_time.toLocaleDateString() %> <% } %><%- audit.statusString[auditors[iA].status]%><% if (auditors[iA].status === audit.status.checkNo) { %> <%- user.name %><% } %></span>
+                                        <% } %>
+                                        <p class="card-text"><%- auditors[iA].opinion %></p>
+                                    </div>
                                 </li>
                                 <% } else { %>
                                 <li class="list-group-item">
-                                    <% if (auditors[iA].status !== audit.status.uncheck) { %>
-                                    <span class="<%- audit.statusClass[auditors[iA].status] %> pull-right"><%- audit.statusString[auditors[iA].status]%><% if (auditors[iA].status === audit.status.checkNo) { %> <%- user.name %><% } %></span>
-                                    <% } %>
-                                    <h5 class="card-title"><i class="fa fa-chevron-circle-down <%- audit.statusClass[auditors[iA].status] %>"></i> <%- auditors[iA].name %> <small class="text-muted"><%- auditors[iA].role %></small></h5>
-                                    <% if (auditors[iA].status === audit.status.checked || auditors[iA].status === audit.status.checkNo) { %>
-                                    <p class="card-text mb-1"><%- auditors[iA].opinion %></p>
-                                    <p class="card-text"><small class="text-muted"><%- auditors[iA].end_time.toLocaleDateString() %></small></p>
-                                    <% } %>
+                                    <h5 class="card-title">
+                                        <i class="fa fa-chevron-circle-down <%- audit.statusClass[auditors[iA].status] %>"></i> <%- auditors[iA].name %> <small class="text-muted"><%- auditors[iA].role %></small><span class="pull-right"><%= ctx.helper.transFormToChinese(iA+1) %>审</span>
+                                    </h5>
+                                    <div class="ml-3">
+                                        <% if (auditors[iA].status !== audit.status.uncheck) { %>
+                                            <span class="<%- audit.statusClass[auditors[iA].status] %>"><% if (auditors[iA].status === audit.status.checked || auditors[iA].status === audit.status.checkNo) { %><%- auditors[iA].end_time.toLocaleDateString() %> <% } %><%- audit.statusString[auditors[iA].status]%><% if (auditors[iA].status === audit.status.checkNo) { %> <%- user.name %><% } %></span>
+                                        <% } %>
+                                        <p class="card-text"><%- auditors[iA].opinion %></p>
+                                    </div>
                                 </li>
                                 <% } %>
                                 <% } %>
@@ -425,10 +515,15 @@
                 const auditorshtml = [];
                 // 重新上报时。令其它的审批人流程图标转换
                 $('#auditors-list li i').removeClass('fa-stop-circle').addClass('fa-chevron-circle-down');
+                for (let i = 0; i < $('#auditors-list li').length; i++) {
+                    $('#auditors-list li').eq(i).find('.pull-right').text(transFormToChinese(i+1) + '审');
+                    $('#auditors-list2 li').eq(i).find('.pull-right').text(transFormToChinese(i+1) + '审');
+                }
                 // 添加新审批人
                 auditorshtml.push('<li class="list-group-item" data-auditid="' + data.audit_id + '">');
                 auditorshtml.push('<i class="fa fa-stop-circle"></i> ');
                 auditorshtml.push(data.name + ' <small class="text-muted">' + data.role + '</small>');
+                auditorshtml.push('<span class="pull-right">终审</span>');
                 auditorshtml.push('</li>');
                 $('#auditors-list').append(auditorshtml.join(''));
 
@@ -438,8 +533,9 @@
                 // 添加新审批人
                 auditorshtml2.push('<li class="list-group-item" data-auditid="' + data.audit_id + '">');
                 auditorshtml2.push('<h5 class="card-title"><i class="fa fa-stop-circle"></i> ');
-                auditorshtml2.push(data.name + ' <small class="text-muted">' + data.role + '</small></h5>');
-                auditorshtml2.push('</li>');
+                auditorshtml2.push(data.name + ' <small class="text-muted">' + data.role + '</small>');
+                auditorshtml2.push('<span class="pull-right">终审</span>');
+                auditorshtml2.push('</h5></li>');
                 $('#auditors-list2').append(auditorshtml2.join(''));
             });
         }
@@ -468,6 +564,10 @@
                 $('#auditors-list2 li').eq($('#auditors-list2 li').length-1).children('i')
                     .removeClass('fa-chevron-circle-down').addClass('fa-stop-circle');
             }
+            for (let i = 0; i < $('#auditors-list li').length; i++) {
+                $('#auditors-list li').eq(i).find('.pull-right').text((i+1 === $('#auditors-list li').length ? '终' : transFormToChinese(i+1)) + '审');
+                $('#auditors-list2 li').eq(i).find('.pull-right').text((i+1 === $('#auditors-list2 li').length ? '终' : transFormToChinese(i+1)) + '审');
+            }
         });
     });
     $('#hideSp').click(function () {
@@ -492,4 +592,11 @@
         }
         $('#hide-all').show();
     }
+
+    // texterea换行
+    function auditCheck(i) {
+        const opinion = $('textarea[name="opinion"]').eq(i).val().replace(/\r\n/g, '<br/>').replace(/\n/g, '<br/>').replace(/\s/g, ' ');
+        $('textarea[name="opinion"]').eq(i).val(opinion);
+        return true;
+    }
 </script>

+ 0 - 2
app/view/stage/audit_modal.ejs

@@ -1133,7 +1133,6 @@
                                                         <p class="card-text"><%- auditors[iA].opinion %></p>
                                                     </div>
                                                 <% } else if (auditors[iA].stauts == auditConst.status.checking) { %>
-                                                    <span class="pull-right">审批中</span>
                                                     <h5 class="card-title">
                                                         <i class="<%- (iA < auditors.length - 1 ? 'fa fa-chevron-circle-down' : 'fa fa-stop-circle') %>"></i> <%- auditors[iA].name %> <small class="text-muted"><%- auditors[iA].role %></small><span class="pull-right"><%= auditors[iA].sort === auditors[iA].max_sort ? '终' : ctx.helper.transFormToChinese(auditors[iA].sort) %>审</span>
                                                     </h5>
@@ -1142,7 +1141,6 @@
                                                         <p class="card-text"><%- auditors[iA].opinion %></p>
                                                     </div>
                                                 <% } else if (auditors[iA].status === auditConst.status.checkNoPre) { %>
-
                                                     <h5 class="card-title">
                                                         <i class="<%- (iA < auditors.length - 1 ? 'fa fa-chevron-circle-down text-warning' : 'fa fa-stop-circle text-warning') %>"></i> <%- auditors[iA].name %> <small class="text-muted"><%- auditors[iA].role %></small><span class="pull-right"><%= auditors[iA].sort === auditors[iA].max_sort ? '终' : ctx.helper.transFormToChinese(auditors[iA].sort) %>审</span>
                                                     </h5>