Преглед на файлове

台账退回功能修改

laiguoran преди 6 години
родител
ревизия
287f0b6851
променени са 4 файла, в които са добавени 59 реда и са изтрити 45 реда
  1. 5 5
      app/controller/ledger_audit_controller.js
  2. 2 1
      app/controller/ledger_controller.js
  3. 36 2
      app/public/js/ledger.js
  4. 16 37
      app/view/ledger/explode_modal.ejs

+ 5 - 5
app/controller/ledger_audit_controller.js

@@ -131,17 +131,17 @@ module.exports = app => {
                     throw '当前不允许添加审核人';
                 }
                 // 检查审核人是否已存在
-                const exist = await ctx.service.ledgerAudit.getAuditor(ctx.tender.id, id);
+                const exist = await ctx.service.ledgerAudit.getAuditor(ctx.tender.id, id, ctx.tender.data.ledger_times);
                 if (exist) {
                     throw '该审核人已存在,请勿重复添加';
                 }
 
-                const result = await ctx.service.ledgerAudit.addAuditor(ctx.tender.id, id);
+                const result = await ctx.service.ledgerAudit.addAuditor(ctx.tender.id, id, ctx.tender.data.ledger_times);
                 if (!result) {
                     throw '添加审核人失败';
                 }
 
-                responseData.data = await ctx.service.ledgerAudit.getAuditor(ctx.tender.id, id);
+                responseData.data = await ctx.service.ledgerAudit.getAuditor(ctx.tender.id, id, ctx.tender.data.ledger_times);
             } catch (err) {
                 responseData.err = 1;
                 responseData.msg = err.toString();
@@ -169,12 +169,12 @@ module.exports = app => {
                     throw '参数错误';
                 }
 
-                const result = await ctx.service.ledgerAudit.deleteAuditor(ctx.tender.id, id);
+                const result = await ctx.service.ledgerAudit.deleteAuditor(ctx.tender.id, id, ctx.tender.data.ledger_times);
                 if (!result) {
                     throw '移除审核人失败';
                 }
 
-                responseData.data = await ctx.service.ledgerAudit.getAuditors(ctx.tender.id);
+                responseData.data = await ctx.service.ledgerAudit.getAuditors(ctx.tender.id, ctx.tender.data.ledger_times);
             } catch (err) {
                 responseData.err = 1;
                 responseData.msg = err.toString();

+ 2 - 1
app/controller/ledger_controller.js

@@ -102,7 +102,7 @@ module.exports = app => {
 
                 const curAuditor = await ctx.service.ledgerAudit.getCurAuditor(tender.id, tender.data.ledger_times);
                 const times = tender.data.ledger_status === auditConst.status.checkNo ? tender.data.ledger_times - 1 : tender.data.ledger_times;
-                const auditors = await ctx.service.ledgerAudit.getAuditors(tender.id, times);
+                const auditors = await ctx.service.ledgerAudit.getAuditors(tender.id, tender.data.ledger_times);
                 const content = auditors.length > 0 ? await ctx.service.ledgerAuditContent.getAllDataByCondition({
                     where: { tender_id: tender.id, times, audit_id: auditors[0].audit_id },
                 }) : null;
@@ -114,6 +114,7 @@ module.exports = app => {
                         auditHistory.push(await ctx.service.ledgerAudit.getAuditors(ctx.tender.id, i));
                     }
                 }
+                console.log(auditHistory);
                 const renderData = {
                     tender: tender.data,
                     tenderInfo: tender.info,

+ 36 - 2
app/public/js/ledger.js

@@ -1334,6 +1334,27 @@ $(document).ready(function() {
                 html.push(data.role);
                 html.push('</small></li>');
                 $('#auditors').append(html.join(''));
+
+                // 如果是重新上报,添加到重新上报列表中
+                const auditorshtml = [];
+                // 重新上报时。令其它的审批人流程图标转换
+                $('#auditors-list li i').removeClass('fa-stop-circle').addClass('fa-chevron-circle-down');
+                // 添加新审批人
+                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('</li>');
+                $('#auditors-list').append(auditorshtml.join(''));
+
+                const auditorshtml2 = [];
+                // 重新上报时。令其它的审批人流程图标转换
+                $('#auditors-list2 li i').removeClass('fa-stop-circle').addClass('fa-chevron-circle-down');
+                // 添加新审批人
+                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>');
+                $('#auditors-list2').append(auditorshtml2.join(''));
             });
         }
     });
@@ -1359,12 +1380,25 @@ $(document).ready(function() {
         const data = {
             auditorId: parseInt(li.attr('auditorId')),
         };
-        postData('/tender/' + getTenderId() + '/ledger/audit/delete', data, (data) => {
+        postData('/tender/' + getTenderId() + '/ledger/audit/delete', data, (data2) => {
             li.remove();
-            for (const a of data) {
+            for (const a of data2) {
                 const aLi = $('li[auditorId=' + a.audit_id + ']');
                 $('span', aLi).text(a.audit_order + ' ' + a.name + ' ');
             }
+
+            // 如果是重新上报
+            // 令最后一个图标转换
+            $('#auditors-list li[data-auditid="' + data.auditorId + '"]').remove();
+            if ($('#auditors-list li').length !== 0 && !$('#auditors-list li i').hasClass('fa-stop-circle')) {
+                $('#auditors-list li').eq($('#auditors-list li').length-1).children('i')
+                    .removeClass('fa-chevron-circle-down').addClass('fa-stop-circle');
+            }
+            $('#auditors-list2 li[data-auditid="' + data.auditorId + '"]').remove();
+            if ($('#auditors-list2 li').length !== 0 && !$('#auditors-list2 li i').hasClass('fa-stop-circle')) {
+                $('#auditors-list2 li').eq($('#auditors-list2 li').length-1).children('i')
+                    .removeClass('fa-chevron-circle-down').addClass('fa-stop-circle');
+            }
         });
     });
     // 选择excel文件后,加载全部sheet

+ 16 - 37
app/view/ledger/explode_modal.ejs

@@ -147,8 +147,10 @@
                                 <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>
+                            </ul>
+                            <ul class="list-group list-group-flush" id="auditors-list">
                                 <% for (let i = 0; i < auditors.length; i++) { %>
-                                    <li class="list-group-item">
+                                    <li class="list-group-item" data-auditid="<%- auditors[i].audit_id %>">
                                         <% if (i < auditors.length - 1) { %>
                                             <i class="fa fa-chevron-circle-down"></i> <%- auditors[i].name %>  <small class="text-muted"><%- auditors[i].role %></small>
                                         <% } else {%>
@@ -207,47 +209,24 @@
                                 </ul>
                             </div>
                         <% } %>
-                        <% if (tender.ledger_status === auditConst.status.checking || tender.ledger_status === auditConst.status.checked) {%>
+                        <% if (tender.ledger_status === auditConst.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>
+                                </ul>
+                                <ul class="list-group list-group-flush" id="auditors-list2">
                                     <% for (let iA = 0; iA < auditors.length; iA++) { %>
-                                        <% if (iA === 0) { %>
-                                            <li class="list-group-item">
-                                                <span class="text-success pull-right"><% if (tender.ledger_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[iA].begin_time.toLocaleDateString() %></small></p>
-                                            </li>
-                                            <li class="list-group-item">
-                                                <% if (auditors[iA].status !== auditConst.status.uncheck) { %>
-                                                    <span class="<%- auditConst.statusClass[auditors[iA].status] %> pull-right"><%- auditConst.statusString[auditors[iA].status]%><% if (auditors[iA].status === auditConst.status.checkNo) { %> <%- user.name %><% } %></span>
-                                                <% } %>
-                                                <h5 class="card-title"><i class="fa fa-chevron-circle-down <%- auditConst.statusClass[auditors[iA].status] %>"></i> <%- auditors[iA].name %> <small class="text-muted"><%- auditors[iA].role %></small></h5>
-                                                <% if (auditors[iA].status === auditConst.status.checked || auditors[iA].status === auditConst.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>
-                                                <% } %>
-                                            </li>
-                                        <% } else if (iA === auditors.length - 1) { %>
-                                            <li class="list-group-item">
-                                                <% if (auditors[iA].status !== auditConst.status.uncheck) { %>
-                                                    <span class="<%- auditConst.statusClass[auditors[iA].status] %> pull-right"><%- auditConst.statusString[auditors[iA].status]%><% if (auditors[iA].status === auditConst.status.checkNo) { %> <%- user.name %><% } %></span>
-                                                <% } %>
-                                                <h5 class="card-title"><i class="fa fa-stop-circle <%- auditConst.statusClass[auditors[iA].status] %>"></i> <%- auditors[iA].name %> <small class="text-muted"><%- auditors[iA].role %></small></h5>
-                                                <% if (auditors[iA].status === auditConst.status.checked || auditors[iA].status === auditConst.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>
-                                                <% } %>
+                                        <% if (iA === auditors.length - 1) { %>
+                                            <li class="list-group-item" data-auditid="<%- auditors[iA].audit_id %>">
+                                                <h5 class="card-title"><i class="fa fa-stop-circle"></i> <%- auditors[iA].name %> <small class="text-muted"><%- auditors[iA].role %></small></h5>
                                             </li>
                                         <% } else { %>
-                                            <li class="list-group-item">
-                                                <% if (auditors[iA].status !== auditConst.status.uncheck) { %>
-                                                    <span class="<%- auditConst.statusClass[auditors[iA].status] %> pull-right"><%- auditConst.statusString[auditors[iA].status]%><% if (auditors[iA].status === auditConst.status.checkNo) { %> <%- user.name %><% } %></span>
-                                                <% } %>
-                                                <h5 class="card-title"><i class="fa fa-chevron-circle-down <%- auditConst.statusClass[auditors[iA].status] %>"></i> <%- auditors[iA].name %> <small class="text-muted"><%- auditors[iA].role %></small></h5>
-                                                <% if (auditors[iA].status === auditConst.status.checked || auditors[iA].status === auditConst.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>
-                                                <% } %>
+                                            <li class="list-group-item" data-auditid="<%- auditors[iA].audit_id %>">
+                                                <h5 class="card-title"><i class="fa fa-chevron-circle-down"></i> <%- auditors[iA].name %> <small class="text-muted"><%- auditors[iA].role %></small></h5>
                                             </li>
                                         <% } %>
                                     <% } %>