浏览代码

动态投资的报表无法打开问题

Tony Kang 1 年之前
父节点
当前提交
08cdad28f0
共有 4 个文件被更改,包括 28 次插入4 次删除
  1. 13 1
      app/controller/report_controller.js
  2. 3 3
      app/lib/rm/budget.js
  3. 9 0
      app/public/report/js/rpt_main.js
  4. 3 0
      app/view/report/index.ejs

+ 13 - 1
app/controller/report_controller.js

@@ -273,6 +273,8 @@ module.exports = app => {
                     project_id: tender.data.project_id,
                     tender_id: tender.id,
                     tender_name: tender.data.name,
+                    budget_id: -1,
+                    sp_id: -1,
                     detail_id: -1,
                     stg_id: stage_id,
                     stg_order: stage_order,
@@ -308,6 +310,7 @@ module.exports = app => {
                     OSS_PATH: ctx.app.config.fujianOssPath,
                     viewPmData: PermissionCheck.viewPmData(this.ctx.session.sessionUser.permission),
                     auditType: auditConst.auditType,
+                    source_type: 1,
                 };
                 await this.layout('report/index.ejs', renderData, 'report/rpt_all_popup.ejs');
                 // await this.layout('report/index.ejs', renderData);
@@ -456,6 +459,8 @@ module.exports = app => {
                     tender_name: tender.name,
                     detail_id: paymentDetail_id,
                     stg_id: stage_id,
+                    budget_id: -1,
+                    sp_id: -1,
                     stg_order: stage_order,
                     cur_order: sorder,
                     stg_times: stage_times,
@@ -487,6 +492,7 @@ module.exports = app => {
                     prePay: JSON.stringify(advance),
                     OSS_PATH: ctx.app.config.fujianOssPath,
                     viewPmData: PermissionCheck.viewPmData(this.ctx.session.sessionUser.permission),
+                    source_type: 101,
                 };
                 /*
                 //*/
@@ -509,6 +515,9 @@ module.exports = app => {
                 const paymentDetail_id = -1;
                 // const tender = ctx.paymentTender;
                 const pid = ctx.budget.pid;
+                const budget_id = ctx.budget.id;
+                const subProj = await ctx.service.subProject.getDataByCondition({ budget_id });
+                const sp_id = subProj.id;
                 const treeNodes = await ctx.service.rptTreeNode.getNodesBySourceType([pid], 200); // 这个查定制的
                 const commonTreeNodes = await ctx.service.rptTreeNode.getNodesByProjectId([-1]); // 这个查通用的
                 const nodeItems = JSON.parse(commonTreeNodes[0].items);
@@ -619,6 +628,8 @@ module.exports = app => {
                     cust_cfg: JSON.stringify(custCfg),
                     project_id: pid,
                     tender_id: tenderId,
+                    budget_id,
+                    sp_id,
                     tender_name: '',
                     detail_id: paymentDetail_id,
                     stg_id: stage_id,
@@ -653,6 +664,7 @@ module.exports = app => {
                     prePay: JSON.stringify(advance),
                     OSS_PATH: ctx.app.config.fujianOssPath,
                     viewPmData: PermissionCheck.viewPmData(this.ctx.session.sessionUser.permission),
+                    source_type: 200,
                 };
                 await this.layout('report/index.ejs', renderData, 'report/rpt_all_popup.ejs');
 
@@ -707,7 +719,7 @@ module.exports = app => {
             if (!rptTpl || rptTpl.length !== 1) {
                 throw '获取模板失败';
             }
-            const source_type = rptTpl[0].source_type;
+            const source_type = params.source_type ? params.source_type : rptTpl[0].source_type;
             rptTpl = JSON.parse(rptTpl[0].rpt_content);
             rptTpl.source_type = source_type || sourceTypeConst.defaultSourceType;
             rptTpl.id = params.rpt_tpl_id;

+ 3 - 3
app/lib/rm/budget.js

@@ -20,7 +20,7 @@ class rptMemPaymentSafe extends RptMemBase {
     async doCheckSubProj(id) {
         if (this.ctx.subProject) return;
         this.ctx.subProject = await this.ctx.service.subProject.getDataById(id);
-        this.ctx.subProject.info = await this.ctx.service.subProjInfo.getInfo4Report(ctx.subProject.id);
+        this.ctx.subProject.info = await this.ctx.service.subProjInfo.getInfo4Report(this.ctx.subProject.id);
         if (!this.ctx.budget) {
             this.ctx.budget = await this.ctx.service.budget.getCurBudget(this.ctx.subProject.budget_id);
         }
@@ -31,7 +31,7 @@ class rptMemPaymentSafe extends RptMemBase {
         this.ctx.budget = await this.ctx.service.budget.getCurBudget(id);
         if (!this.ctx.subProject) {
             this.ctx.subProject = await this.ctx.service.subProject.getDataByCondition({ budget_id: id });
-            this.ctx.subProject.info = await this.ctx.service.subProjInfo.getInfo4Report(ctx.subProject.id);
+            this.ctx.subProject.info = await this.ctx.service.subProjInfo.getInfo4Report(this.ctx.subProject.id);
         }
     }
 
@@ -116,4 +116,4 @@ class rptMemPaymentSafe extends RptMemBase {
     }
 }
 
-module.exports = rptMemPaymentSafe;
+module.exports = rptMemPaymentSafe;

+ 9 - 0
app/public/report/js/rpt_main.js

@@ -299,6 +299,9 @@ let zTreeOprObj = {
             params.rpt_tpl_id = treeNode.refId;
             params.project_id = PROJECT_ID;
             params.tender_id = TENDER_ID;
+            params.budget_id = BUDGET_ID;
+            params.sp_id = SP_ID;
+            params.source_type = SOURCE_TYPE;
             params.stage_id = getStageId();
             params.stage_status = getStageStatus();
             params.stage_order = getStageOrder();
@@ -379,6 +382,9 @@ let zTreeOprObj = {
             params.rpt_tpl_id = me.currentNode.refId;
             params.project_id = PROJECT_ID;
             params.tender_id = TENDER_ID;
+            params.budget_id = BUDGET_ID;
+            params.sp_id = SP_ID;
+            params.source_type = SOURCE_TYPE;
             params.stage_id = getStageId();
             params.stage_status = getStageStatus();
             params.stage_order = getStageOrder();
@@ -697,6 +703,9 @@ let rptControlObj = {
         rst.orientation = ((zTreeOprObj.checkedRptTplNodes.length > 1)?null:rptControlObj.getCurrentOrientation());
         rst.project_id = PROJECT_ID;
         rst.tender_id = TENDER_ID;
+        rst.budget_id = BUDGET_ID;
+        rst.sp_id = SP_ID;
+        rst.source_type = SOURCE_TYPE;
         rst.stage_id = getStageId();
         rst.stage_status = getStageStatus();
         rst.stage_order = getStageOrder();

+ 3 - 0
app/view/report/index.ejs

@@ -367,6 +367,9 @@
 <script type="text/javascript">
     let TOP_TREE_NODES = <%- rpt_tpl_data %>;
     const DETAIL_ID = <%- detail_id %>;
+    const BUDGET_ID = <%- budget_id %>;
+    const SP_ID = '<%- sp_id %>';
+    const SOURCE_TYPE = <%- source_type %>;
     const PAGE_SHOW = {closeWatermark: 0, closeExportPdf: 0, closeExportExcel: 0, showArchive: 0, closeShowAllCustomized: 0, isTextSignature: 0};
     <% if (pageShow !== null) { %>
         <% if (parseInt(pageShow.closeWatermark) === 1) { %>