Просмотр исходного кода

变更列表及wap页列表展示状态修正

ellisran 1 год назад
Родитель
Сommit
38be4e6e45

+ 19 - 2
app/controller/wap_controller.js

@@ -259,7 +259,24 @@ module.exports = app => {
                 const changes = await ctx.service.change.getListByStatus(tender.id, 0, 0);
 
                 for (const c of changes) {
-                    c.curAuditor = await ctx.service.changeAudit.getLastUser(c.cid, c.times);
+                    c.showApprovalBtn = false;
+                    c.curAuditors = await ctx.service.changeAudit.getAuditorsByStatus(c.cid, c.status, c.times);
+                    if (c.status === auditConst.change.status.checkNoPre) {
+                        c.curAuditors2 = await ctx.service.stageAudit.getAuditorsByStatus(c.cid, auditConst.change.status.checking, c.times);
+                        const curAudit = c.curAuditors2.find(function(x) {
+                            return x.uid === ctx.session.sessionUser.accountId;
+                        });
+                        if (curAudit && curAudit.status === auditConst.change.status.checking) {
+                            c.showApprovalBtn = true;
+                        }
+                    } else {
+                        const curAudit = c.curAuditors.find(function(x) {
+                            return x.uid === ctx.session.sessionUser.accountId;
+                        });
+                        if (curAudit && curAudit.status === auditConst.change.status.checking) {
+                            c.showApprovalBtn = true;
+                        }
+                    }
                 }
 
                 // 变更令列表
@@ -294,7 +311,7 @@ module.exports = app => {
                     revises,
                     advanceList,
                     auditConst: auditConst.stage,
-                    auditChangeConst: auditConst.flow,
+                    auditChangeConst: auditConst.change,
                     auditChangePlanConst: auditConst.changePlan,
                     auditReviseConst: auditConst.revise,
                     changeConst,

+ 3 - 3
app/service/change_audit.js

@@ -1215,7 +1215,7 @@ module.exports = app => {
                     cur = await this.db.queryOne(`SELECT * From ${this.tableName} where cid = ? AND times = ? AND status = ? AND audit_order != 0 ORDER By times DESC, ` + '`usort` DESC', [cid, times, status]);
                     if (!cur) return [];
 
-                    sql = 'SELECT la.`uid`, pa.`name`, pa.`company`, pa.`role`, la.`times`, la.`cid`, la.`usort`, la.`usite`, la.audit_order, la.audit_type ' +
+                    sql = 'SELECT la.`uid`, pa.`name`, pa.`company`, pa.`role`, la.`times`, la.`cid`, la.`status`, la.`usort`, la.`usite`, la.audit_order, la.audit_type ' +
                         '  FROM ?? AS la Left Join ?? AS pa On la.`uid` = pa.`id` ' +
                         '  WHERE la.`cid` = ? and la.`usort` = ? and la.`times` = ?';
                     sqlParam = [this.tableName, this.ctx.service.projectAccount.tableName, cid, cur.usort, times];
@@ -1225,7 +1225,7 @@ module.exports = app => {
                     cur = await this.db.queryOne(`SELECT * From ${this.tableName} where cid = ? AND times = ? AND status = ? AND audit_order != 0 ORDER By times DESC, ` + '`usort` DESC', [cid, parseInt(times) - 1, status]);
                     if (!cur) return [];
 
-                    sql = 'SELECT la.`uid`, pa.`name`, pa.`company`, pa.`role`, la.`times`, la.`cid`, la.`usort`, la.`usite`, la.audit_order, la.audit_type ' +
+                    sql = 'SELECT la.`uid`, pa.`name`, pa.`company`, pa.`role`, la.`times`, la.`cid`, la.`status`, la.`usort`, la.`usite`, la.audit_order, la.audit_type ' +
                         '  FROM ?? AS la Left Join ?? AS pa On la.`uid` = pa.`id` ' +
                         '  WHERE la.`cid` = ? and la.`usort` = ? and la.`times` = ?';
                     sqlParam = [this.tableName, this.ctx.service.projectAccount.tableName, cid, cur.usort, parseInt(times) - 1];
@@ -1235,7 +1235,7 @@ module.exports = app => {
                     cur = await this.db.queryOne(`SELECT * From ${this.tableName} where cid = ? AND times = ? AND status = ? ORDER By times DESC, ` + '`usort` DESC', [cid, parseInt(times) - 1, status]);
                     if (!cur) return [];
 
-                    sql = 'SELECT la.`uid`, pa.`name`, pa.`company`, pa.`role`, la.`times`, la.`cid`, la.`usort`, la.`usite`, la.audit_order, la.audit_type ' +
+                    sql = 'SELECT la.`uid`, pa.`name`, pa.`company`, pa.`role`, la.`times`, la.`cid`, la.`status`, la.`usort`, la.`usite`, la.audit_order, la.audit_type ' +
                         '  FROM ?? AS la Left Join ?? AS pa On la.`uid` = pa.`id` ' +
                         '  WHERE la.`cid` = ? and la.`usort` = ? and la.`times` = ?';
                     sqlParam = [this.tableName, this.ctx.service.projectAccount.tableName, cid, cur.usort, parseInt(times) - 1];

+ 10 - 0
app/view/change/index.ejs

@@ -117,9 +117,19 @@
                             <% } else if ((c.status === auditConst.status.checkNo || c.status === auditConst.status.revise) && c.curAuditors && c.uid === ctx.session.sessionUser.accountId) { %>
                                 <a href="<%- '/tender/' + ctx.tender.id + '/change/' + c.cid %>/information" class="btn <%- auditConst.statusButtonClass[c.status] %> btn-sm"><%- auditConst.statusButton[c.status] %></a>
                             <% } else if (c.status === auditConst.status.checking && c.curAuditors && c.curAuditors.findIndex(x => { return x.uid === ctx.session.sessionUser.accountId; }) >= 0) { %>
+                                <% const curAudit = c.curAuditors.find(x => { return x.uid === ctx.session.sessionUser.accountId; }); %>
+                                <% if (curAudit.status === auditConst.status.checking) { %>
                                 <a href="<%- '/tender/' + ctx.tender.id + '/change/' + c.cid %>/information" class="btn <%- auditConst.statusButtonClass[c.status] %> btn-sm"><%- auditConst.statusButton[c.status] %></a>
+                                <% } else { %>
+                                <span class="<%- auditConst.auditStringClass[curAudit.status] %>"><%- auditConst.auditString[curAudit.status] %></span>
+                                <% } %>
                             <% } else if (c.status === auditConst.status.checkNoPre && c.curAuditor2 && c.curAuditor2.findIndex(x => { return x.uid === ctx.session.sessionUser.accountId; }) >= 0) { %>
+                                <% const curAudit = c.curAuditors2.find(x => { return x.uid === ctx.session.sessionUser.accountId; }); %>
+                                <% if (curAudit.status === auditConst.status.checking) { %>
                                 <a href="<%- '/tender/' + ctx.tender.id + '/change/' + c.cid %>/information" class="btn <%- auditConst.statusButtonClass[c.status] %> btn-sm"><%- auditConst.statusButton[c.status] %></a>
+                                <% } else { %>
+                                    <span class="<%- auditConst.auditStringClass[curAudit.status] %>"><%- auditConst.auditString[curAudit.status] %></span>
+                                <% } %>
                             <% } else { %>
                                 <span class="<%- auditConst.auditStringClass[c.status] %>"><%- auditConst.auditString[c.status] %></span>
                             <% } %>

+ 9 - 3
app/view/wap/tender.ejs

@@ -270,12 +270,18 @@
                             </tr>
                             <tr>
                                 <td colspan="2">
-                                    <% if ((c.status === auditChangeConst.status.checking || c.status === auditChangeConst.status.backnew) && c.curAuditor.uid === ctx.session.sessionUser.accountId) { %>
-                                    <a href="/wap/tender/<%- tender.id %>/change/<%- c.cid %>/info#shenpi" class="btn btn-block btn-success">审批变更</a>
+                                    <% if (c.showApprovalBtn){ %>
+                                    <a href="/wap/tender/<%- tender.id %>/change/<%- c.cid %>/information#shenpi" class="btn btn-block btn-success">审批变更</a>
                                     <% } else if (c.status === auditChangeConst.status.uncheck) { %>
                                     <span>待上报</span>
                                     <% } else { %>
-                                    <span class="<%- auditChangeConst.auditStatusClass[c.curAuditor.status] %>"><%- c.curAuditor.name %>-<%- c.curAuditor.jobs %> <%- auditChangeConst.auditStatusString[c.curAuditor.status] %></span>
+                                        <% if (c.curAuditors.length > 0) { %>
+                                            <% if (c.curAuditors[0].audit_type === auditType.key.common) { %>
+                                                <span class="<%- auditChangeConst.statusClass[c.status] %>"><%- c.curAuditors[0].name %>-<%- c.curAuditors[0].role %> <%- auditChangeConst.statusString[c.status] %></span>
+                                            <% } else { %>
+                                                <span class="<%- auditChangeConst.statusClass[c.status] %>"><%- ctx.helper.transFormToChinese(c.curAuditors[0].audit_order) + '审' %> <%- auditChangeConst.statusString[c.status] %></span>
+                                            <% } %>
+                                        <% } %>
                                     <% } %>
                                 </td>
                             </tr>