Browse Source

金额概况等,当前流程相关

MaiXinRong 7 months ago
parent
commit
71cea31c7a
1 changed files with 64 additions and 33 deletions
  1. 64 33
      app/service/tender_cache.js

+ 64 - 33
app/service/tender_cache.js

@@ -28,6 +28,20 @@ module.exports = app => {
             this.tableName = 'tender_cache';
         }
 
+        _tranLedgerCache(tender, cache) {
+            tender.cur_flow = (cache.ledger_status === auditConst.ledger.status.checkNo)
+                ? JSON.parse(cache.ledger_flow_pre_info) : JSON.parse(cache.ledger_flow_cur_info || cache.ledger_flow_pre_info);
+            tender.cur_flow.title = '台账';
+            tender.pre_flow = cache.ledger_flow_pre_info ? JSON.parse(cache.ledger_flow_pre_info) : null;
+            tender.stage_tp = {};
+            tender.stage_count = 0;
+            tender.stage_status = cache.stage_status;
+            tender.progress = {
+                title: '台账',
+                status: auditConst.ledger.tiStatusString[cache.ledger_status],
+                status_class: auditConst.ledger.tiStatusStringClass[cache.ledger_status],
+            };
+        }
         _analysisTenderCache(tender, cache, uid) {
             commonField.forEach(f => { tender[f] = cache[f]; });
             tender.ledger_tp = cache.ledger_tp ? JSON.parse(cache.ledger_tp) : {};
@@ -38,39 +52,16 @@ module.exports = app => {
             cache.stage_flow_cur_uid = cache.stage_flow_cur_uid ? cache.stage_flow_cur_uid.split(',') : [];
             cache.stage_flow_pre_uid = cache.stage_flow_pre_uid ? cache.stage_flow_pre_uid.split(',') : [];
             if (!cache.stage_count) {
-                tender.cur_flow = (cache.ledger_status === auditConst.ledger.status.checkNo)
-                    ? JSON.parse(cache.ledger_flow_pre_info) : JSON.parse(cache.ledger_flow_cur_info || cache.ledger_flow_pre_info);
-                tender.cur_flow.title = '台账';
-                tender.pre_flow = cache.ledger_flow_pre_info ? JSON.parse(cache.ledger_flow_pre_info) : null;
-                tender.stage_tp = {};
-                tender.stage_count = 0;
-                tender.stage_status = cache.stage_status;
-                tender.progress = {
-                    title: '台账',
-                    status: auditConst.ledger.tiStatusString[cache.ledger_status],
-                    status_class: auditConst.ledger.tiStatusStringClass[cache.ledger_status],
-                };
+                this._tranLedgerCache(tender, cache);
             } else if (cache.stage_count === 1 && cache.stage_status === auditConst.stage.status.uncheck && cache.stage_flow_cur_uid.indexOf(uid) < 0) {
-                tender.cur_flow = JSON.parse(cache.ledger_flow_cur_info || cache.ledger_flow_pre_info);
-                tender.cur_flow.title = '台账';
-                tender.pre_flow = cache.ledger_flow_pre_info ? JSON.parse(cache.ledger_flow_pre_info) : null;
-                tender.stage_tp = {};
-                tender.stage_count = 0;
-                tender.stage_status = cache.stage_status;
-                tender.progress = {
-                    title: '台账',
-                    status: auditConst.ledger.tiStatusString[cache.ledger_status],
-                    status_class: auditConst.ledger.tiStatusStringClass[cache.ledger_status],
-                };
-            } else if (cache.stage_status !== auditConst.stage.status.uncheck || cache.stage_flow_cur_uid.indexOf(uid) >= 0) {
-                tender.stage_status = cache.stage_status;
+                this._tranLedgerCache(tender, cache);
+            } else if (cache.stage_status === auditConst.stage.status.uncheck) {
+                tender.stage_status = cache.stage_flow_cur_uid.indexOf(uid) >= 0 ? auditConst.stage.status.uncheck : auditConst.stage.status.checked;
                 tender.stage_count = tender.stage_count;
                 tender.stage_complete_count = tender.stage_complete_count;
-                tender.cur_flow = cache.stage_status === auditConst.stage.status.checkNo
-                    ? JSON.parse(cache.stage_flow_pre_info)
-                    : JSON.parse(cache.stage_flow_cur_info || cache.stage_flow_pre_info);
+                tender.cur_flow = cache.stage_flow_cur_uid.indexOf(uid) >= 0 ?  JSON.parse(cache.stage_flow_cur_info || cache.stage_flow_pre_info) : JSON.parse(cache.stage_flow_pre_info);
                 tender.pre_flow = cache.stage_flow_pre_info ? JSON.parse(cache.stage_flow_pre_info) : null;
-                tender.stage_tp = JSON.parse(cache.stage_flow_cur_tp || cache.stage_flow_pre_tp);
+                tender.stage_tp =  cache.stage_flow_cur_uid.indexOf(uid) >= 0 ? JSON.parse(cache.stage_flow_cur_tp || cache.stage_flow_pre_tp) : JSON.parse(cache.stage_flow_pre_tp);
                 try {
                     tender.progress = {
                         title: `第${tender.cur_flow.order === undefined ? tender.cur_flow[0].order : tender.cur_flow.order}期`,
@@ -84,14 +75,53 @@ module.exports = app => {
                         status_class: auditConst.stage.tiStatusStringClass[cache.stage_status],
                     };
                 }
-            } else {
+            } else if (cache.stage_status === auditConst.stage.status.checkNo) {
+                tender.stage_status = auditConst.stage.status.checkNo;
+                tender.stage_count = tender.stage_count;
+                tender.stage_complete_count = tender.stage_complete_count;
+                tender.cur_flow = JSON.parse(cache.stage_flow_cur_info || cache.stage_flow_pre_info);
+                tender.pre_flow = cache.stage_flow_pre_info ? JSON.parse(cache.stage_flow_pre_info) : null;
+                tender.stage_tp =  cache.stage_flow_cur_uid.indexOf(uid) >= 0 ? JSON.parse(cache.stage_flow_cur_tp || cache.stage_flow_pre_tp) : JSON.parse(cache.stage_flow_pre_tp);
+                try {
+                    tender.progress = {
+                        title: `第${tender.cur_flow.order === undefined ? tender.cur_flow[0].order : tender.cur_flow.order}期`,
+                        status: auditConst.stage.statusButton[cache.stage_status],
+                        status_class: auditConst.stage.statusButton[cache.stage_status],
+                    };
+                } catch (err) {
+                    tender.progress = {
+                        title: `第${tender.stage_count}期`,
+                        status: auditConst.stage.tiStatusString[cache.stage_status],
+                        status_class: auditConst.stage.tiStatusStringClass[cache.stage_status],
+                    };
+                }
+            } else if (cache.stage_status !== auditConst.stage.status.checked) {
                 tender.stage_status = auditConst.stage.status.checked;
                 tender.stage_count = tender.stage_complete_count;
                 tender.stage_complete_count = tender.stage_complete_count;
-                tender.cur_flow = (cache.stage_status !== auditConst.stage.status.uncheck || cache.stage_flow_cur_uid.indexOf(uid) < 0)
-                    ? JSON.parse(cache.stage_flow_pre_info) : JSON.parse(cache.stage_flow_cur_info || cache.stage_flow_pre_info);
+                tender.cur_flow = JSON.parse(cache.stage_flow_pre_info || cache.stage_flow_cur_info);
+                tender.pre_flow = cache.stage_flow_pre_info ? JSON.parse(cache.stage_flow_pre_info) : null;
+                tender.stage_tp = JSON.parse(cache.stage_flow_pre_tp);
+                try {
+                    tender.progress = {
+                        title: `第${tender.cur_flow.order === undefined ? tender.cur_flow[0].order : tender.cur_flow.order}期`,
+                        status: auditConst.stage.tiStatusString[cache.stage_status],
+                        status_class: auditConst.stage.tiStatusStringClass[cache.stage_status],
+                    };
+                } catch (err) {
+                    tender.progress = {
+                        title: `第${tender.stage_count}期`,
+                        status: auditConst.stage.tiStatusString[cache.stage_status],
+                        status_class: auditConst.stage.tiStatusStringClass[cache.stage_status],
+                    };
+                }
+            } else {
+                tender.stage_status = auditConst.stage.status.checking;
+                tender.stage_count = tender.stage_count;
+                tender.stage_complete_count = tender.stage_complete_count;
+                tender.cur_flow =  cache.stage_flow_cur_uid.indexOf(uid) < 0 ? JSON.parse(cache.stage_flow_pre_info) : JSON.parse(cache.stage_flow_cur_info || cache.stage_flow_pre_info);
                 tender.pre_flow = cache.stage_flow_pre_info ? JSON.parse(cache.stage_flow_pre_info) : null;
-                tender.stage_tp = cache.stage_flow_pre_tp ? JSON.parse(cache.stage_flow_pre_tp) : {};
+                tender.stage_tp = cache.stage_flow_cur_uid.indexOf(uid) < 0 ? JSON.parse(cache.stage_flow_pre_tp) : JSON.parse(cache.stage_flow_cur_tp || cache.stage_flow_pre_tp);
                 try {
                     tender.progress = {
                         title: `第${tender.pre_flow.order === undefined ? tender.pre_flow[0].order : tender.pre_flow.order}期`,
@@ -117,6 +147,7 @@ module.exports = app => {
                 try {
                     this._analysisTenderCache(tender, cache, uid);
                 } catch(err) {
+                    console.log(err);
                     console.log(tender);
                 }
             }