Ver código fonte

task#4461补漏

Tony Kang 2 anos atrás
pai
commit
87a2d164e1
2 arquivos alterados com 58 adições e 11 exclusões
  1. 30 0
      app/const/report_defined_properties.js
  2. 28 11
      app/public/report/js/rpt_main.js

+ 30 - 0
app/const/report_defined_properties.js

@@ -197,6 +197,36 @@ module.exports = {
             CfgDispName: '上靠_右',
             CloseOutput: 'T',
             ShrinkFirst: 'F',
+        }, {
+            ID: 'Left_Center',
+            Wrap: 'T',
+            Shrink: 'F',
+            Horizon: 'left',
+            ShowZero: 'T',
+            Vertical: 'center',
+            CfgDispName: '中靠_左',
+            CloseOutput: 'T',
+            ShrinkFirst: 'F',
+        }, {
+            ID: 'Center_Center',
+            Wrap: 'T',
+            Shrink: 'F',
+            Horizon: 'center',
+            ShowZero: 'T',
+            Vertical: 'center',
+            CfgDispName: '中靠_中',
+            CloseOutput: 'T',
+            ShrinkFirst: 'F',
+        }, {
+            ID: 'Right_Center',
+            Wrap: 'T',
+            Shrink: 'F',
+            Horizon: 'right',
+            ShowZero: 'T',
+            Vertical: 'center',
+            CfgDispName: '中靠_右',
+            CloseOutput: 'T',
+            ShrinkFirst: 'F',
         },
     ],
     fonts: [

+ 28 - 11
app/public/report/js/rpt_main.js

@@ -307,7 +307,8 @@ let zTreeOprObj = {
             params.closeWatermark = getCloseWatermark();
             params.isTextSignature = getTxtSignature();
             params.custCfg = CUST_CFG;
-
+            _getSplitAmendmentParam(params, treeNode);
+        
             rptArchiveObj.toggleBtn(false);
             const gather_select = customSelects.gather_select.find(function (x) {
                 return x.id === treeNode.refId;
@@ -382,6 +383,7 @@ let zTreeOprObj = {
             params.material_order = getMaterialOrder();
             params.closeWatermark = getCloseWatermark();
             params.isTextSignature = getTxtSignature();
+            _getSplitAmendmentParam(params, me.currentNode);
             // me.requestNormalReport(params);
             localStorage[CUST_NAME + '_custCfg'] = JSON.stringify(CUST_CFG);
 
@@ -669,13 +671,16 @@ let rptControlObj = {
             //me.currentOutputType = newType;
         }
     },
-    getTplIdsCommon: function (refRptTplIds, rpt_names) {
+    getTplIdsCommon: function (refRptTplIds, rpt_names, splitArchives = []) {
         for (let node of zTreeOprObj.checkedRptTplNodes) {
             refRptTplIds.push(node.refId);
             if (rpt_names) rpt_names.push(node.name);
             if (node.hasOwnProperty('flags') && node.flags.hasOwnProperty('reportType') && node['flags']['reportType'] !== 'NA') {
                 // 未来可能会有额外处理,目前空着
             }
+            if (node.flags && node.flags.amendmentType === 'splitArchive') {
+                splitArchives.push(node.refId);
+            }
         }
     },
     creatCommonExportParam: function (refRptTplIds) {
@@ -693,20 +698,21 @@ let rptControlObj = {
         rst.custCfg = CUST_CFG;
         rst.closeWatermark = getCloseWatermark();
         rst.isTextSignature = getTxtSignature();
-
+        // rst.amendmentType = 
         return rst;
     },
     getAllInOneBook: async function () {
         if (zTreeOprObj.checkedRptTplNodes && zTreeOprObj.checkedRptTplNodes.length > 0) {
             let me = rptControlObj;
-            let refRptTplIds = [], rpt_sheet_names = [];
-            rptControlObj.getTplIdsCommon(refRptTplIds, rpt_sheet_names);
+            let refRptTplIds = [], rpt_sheet_names = [], splitArchives = [];
+            rptControlObj.getTplIdsCommon(refRptTplIds, rpt_sheet_names, splitArchives);
             let params = rptControlObj.creatCommonExportParam(refRptTplIds);
             params.closeWatermark = getCloseWatermarkForExcel();
             await rptCustomObj.getCustomSelect(params);
             params.rpt_names = rpt_sheet_names;
             params.rptName = TENDER_NAME;
             params.option = getExcelOutputOption();
+            params.splitArchives = splitArchives;
             let chkNodes = zTreeOprObj.treeObj.getCheckedNodes(true);
             if (chkNodes.length > 0) {
                 delete params.orientation; // 打印时有勾选的话,不需要提供方向
@@ -740,14 +746,15 @@ let rptControlObj = {
         let me = rptControlObj;
         if (zTreeOprObj.checkedRptTplNodes && zTreeOprObj.checkedRptTplNodes.length > 0) {
             let refRptTplIds = [];
-            let rpt_names = [];
-            rptControlObj.getTplIdsCommon(refRptTplIds, rpt_names);
+            let rpt_names = [], splitArchives = [];
+            rptControlObj.getTplIdsCommon(refRptTplIds, rpt_names, splitArchives);
             let params = rptControlObj.creatCommonExportParam(refRptTplIds);
             params.closeWatermark = getCloseWatermarkForExcel();
             await rptCustomObj.getCustomSelect(params);
             params.isOneSheet = true;
             params.rpt_names = rpt_names;
             params.rptName = 'All';
+            params.splitArchives = splitArchives;
             // 测试连续输出
             params.option = getExcelOutputOption();
             let chkNodes = zTreeOprObj.treeObj.getCheckedNodes(true);
@@ -861,8 +868,8 @@ let rptControlObj = {
         let me = rptControlObj;
         if (zTreeOprObj.checkedRptTplNodes && zTreeOprObj.checkedRptTplNodes.length > 0 && PAGE_SHOW['closeExportExcel'] !== 1) {
             let refRptTplIds = [];
-            let rpt_names = [];
-            rptControlObj.getTplIdsCommon(refRptTplIds, rpt_names);
+            let rpt_names = [], splitArchives = [];
+            rptControlObj.getTplIdsCommon(refRptTplIds, rpt_names, splitArchives);
             const signatureRelArr = [];
             if (refRptTplIds.length === 0) {
                 if (zTreeOprObj.currentNode) {
@@ -874,6 +881,7 @@ let rptControlObj = {
             if (refRptTplIds.length > 0) {
                 let params = rptControlObj.creatCommonExportParam(refRptTplIds);
                 params.option = getExcelOutputOption();
+                params.splitArchives = splitArchives;
 
                 // params.getPicFlag = true; //专门针对草图项,只有此项为true,才需要把草图信息带过来,预览及打印动态加载草图 // 纠结:但这样还是解决不了效率问题,得另外想交互方式
                 await rptCustomObj.getCustomSelect(params);
@@ -1033,8 +1041,8 @@ let rptControlObj = {
         let me = rptControlObj;
         if (zTreeOprObj.checkedRptTplNodes && zTreeOprObj.checkedRptTplNodes.length > 0 && PAGE_SHOW['closeExportPdf'] !== 1) {
             let refRptTplIds = [];
-            let rpt_names = [];
-            rptControlObj.getTplIdsCommon(refRptTplIds, rpt_names);
+            let rpt_names = [], splitArchives = [];
+            rptControlObj.getTplIdsCommon(refRptTplIds, rpt_names, splitArchives);
             const signatureRelArr = [];
             if (refRptTplIds.length > 0) {
                 let params = rptControlObj.creatCommonExportParam(refRptTplIds);
@@ -1407,3 +1415,12 @@ function getExcelOutputOption() {
         return 'normal'; // 目前是普通方式
     }
 }
+function _getSplitAmendmentParam(params, tplNode) {
+    if (params.amendmentType === undefined || params.amendmentType === null) {
+        params.splitArchiveReports = [];
+    }
+    if (tplNode.flags && tplNode.flags.amendmentType === 'splitArchive' && !params.splitArchiveReports.includes(tplNode.refId)) {
+        params.splitArchiveReports.push(tplNode.refId);
+    }
+}
+