Browse Source

标段概况台账和计量进度

laiguoran 4 years ago
parent
commit
717c009694

+ 1 - 1
app/const/sign.js

@@ -10,7 +10,7 @@
 
 const path = {
     oss: 'https://measure-sign-pdf.oss-cn-shenzhen.aliyuncs.com/archive',
-    api: 'http://14.18.158.147:9091/eseal',
+    api: 'http://106.52.243.222:9091/eseal',
 };
 
 

+ 35 - 0
app/controller/ledger_controller.js

@@ -753,6 +753,41 @@ module.exports = app => {
             const renderData = {};
             await this.layout('ledger/index.ejs', renderData);
         }
+
+        /**
+         * 审批流程(Get)
+         * @param ctx
+         * @return {Promise<void>}
+         */
+        async ledgerAuditors(ctx) {
+            try {
+                const responseData = {
+                    err: 0, msg: '', data: {},
+                };
+                const tender = ctx.tender;
+                const times = tender.data.ledger_status === auditConst.status.checkNo ? tender.data.ledger_times - 1 : tender.data.ledger_times;
+                const auditors = tender.data.ledger_status === auditConst.status.checkNo && tender.data.user_id !== ctx.session.sessionUser.accountId && !ctx.tender.isTourist ?
+                    await ctx.service.ledgerAudit.getAuditorsWithOwner(tender.id, times) :
+                    await ctx.service.ledgerAudit.getAuditorsWithOwner(tender.id, tender.data.ledger_times);
+                const user = await ctx.service.projectAccount.getAccountInfoById(ctx.tender.data.user_id);
+                const auditHistory = [];
+                if (times >= 1) {
+                    for (let i = 1; i <= times; i++) {
+                        auditHistory.push(await ctx.service.ledgerAudit.getAuditors(ctx.tender.id, i));
+                    }
+                }
+                responseData.data.auditHistory = auditHistory;
+                // 获取审批流程中左边列表
+                responseData.data.auditors = auditors;
+
+                responseData.data.user = user;
+                ctx.body = responseData;
+            } catch (error) {
+                this.log(error);
+                ctx.body = { err: 1, msg: error.toString(), data: null };
+            }
+        }
+
         /**
          * 上传附件
          * @param {Object} ctx - egg全局变量

+ 18 - 1
app/controller/tender_controller.js

@@ -408,6 +408,23 @@ module.exports = app => {
                     tender.cur_ratio = ctx.helper.mul(ctx.helper.div(tender.gather_tp, tender.sum, 2), 100);
                     tender.other_tp = ctx.helper.sub(ctx.helper.sub(tender.sum, tender.pre_gather_tp), tender.gather_tp);
                     tender.other_ratio = Math.max(0, 100 - tender.pre_ratio - tender.cur_ratio);
+                    if (lastStage.status === auditConst.stage.status.uncheck) {
+                        const status_name = await this.ctx.service.projectAccount.getAccountInfoById(lastStage.user_id);
+                        lastStage.status_users = status_name ? status_name.name : '';
+                        lastStage.auditors = [];
+                    } else {
+                        const status_name = await this.ctx.service.stageAudit.getAuditorByStatus(lastStage.id, lastStage.status, lastStage.times);
+                        lastStage.status_users = status_name ? status_name.name : '';
+                        const times = lastStage.status === auditConst.stage.status.checkNo ? lastStage.times - 1 : lastStage.times;
+                        lastStage.auditors = await ctx.service.stageAudit.getAuditors(lastStage.id, times);
+                    }
+                } else {
+                    if (tender.ledger_status !== auditConst.ledger.status.uncheck) {
+                        const status_name = await this.ctx.service.ledgerAudit.getStatusName(tender.id, tender.ledger_times);
+                        tender.status_users = status_name ? status_name.name : '';
+                        const times = tender.status === auditConst.ledger.status.checkNo ? tender.times - 1 : tender.times;
+                        tender.auditors = await ctx.service.ledgerAudit.getAuditors(tender.id, times);
+                    }
                 }
                 const monthProgress = [];
                 for (const s of stages) {
@@ -460,7 +477,7 @@ module.exports = app => {
                     materialData = materials[0];
                     materialData.curAuditor = await ctx.service.materialAudit.getAuditorByStatus(materialData.id, materialData.status, materialData.times);
                     const times = materialData.status === auditConst.material.status.checkNo ? materialData.times - 1 : materialData.times;
-                    materialData.auditors = await ctx.service.materialAudit.getAuditors(materialData.id, times);
+                    materialData.auditors = materialData.status === auditConst.material.status.uncheck ? [] : await ctx.service.materialAudit.getAuditors(materialData.id, times);
                 }
                 // 修订完成数目
                 const reviseNum = await ctx.service.ledgerRevise.count({ tid: tender.id, status: auditConst.revise.status.checked });

+ 1 - 0
app/router.js

@@ -168,6 +168,7 @@ module.exports = app => {
     app.post('/tender/:id/pos/paste', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.posPaste');
     app.post('/tender/:id/ledger/deal2sgfh', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.deal2sgfh');
     app.post('/tender/:id/ledger/check', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.check');
+    app.post('/tender/:id/measure/ledger/auditors', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.ledgerAuditors');
 
     // 台账附件
     app.post('/tender/:id/ledger/upload/file', sessionAuth, tenderCheck, uncheckTenderCheck, 'ledgerController.uploadFile');

File diff suppressed because it is too large
+ 52 - 22
app/view/tender/detail.ejs