浏览代码

code sync

TonyKang 5 年之前
父节点
当前提交
cdff94bed0

+ 0 - 24
app/public/report/js/rpt_signature.js

@@ -367,25 +367,6 @@ let rptSignatureHelper = {
     },
     resetSignAudit: function () {
         rptSignatureHelper.mergeSignAudit(zTreeOprObj.currentRptPageRst, ROLE_REL_LIST, STAGE_AUDIT);
-        // for (const page of zTreeOprObj.currentRptPageRst.items) {
-        //     if (page.signature_audit_cells) {
-        //         for (const sCell of page.signature_audit_cells) {
-        //             sCell.Value = '同意';
-        //             for (let idx = 0; idx < ROLE_REL_LIST.length; idx++) {
-        //                 const role_rel = ROLE_REL_LIST[idx];
-        //                 if (sCell.signature_name === role_rel.signature_name + '_审核意见') {
-        //                     for (const audit_rel of STAGE_AUDIT) {
-        //                         if (role_rel.acc_id === audit_rel.aid) {
-        //                             sCell.Value = audit_rel.opinion;
-        //                             break;
-        //                         }
-        //                     }
-        //                     break;
-        //                 }
-        //             }
-        //         }
-        //     }
-        // }
     },
     resetSignDate: function() {
         for (const page of zTreeOprObj.currentRptPageRst.items) {
@@ -399,11 +380,6 @@ let rptSignatureHelper = {
                         if (dtDom.length === 1) {
                             const dtStr = dtDom[0].value;
                             if (dtStr && dtStr !== '' && dtStr.length >= 8 && dtStr.length <= 10) {
-                                // const tmpDt = new Date(dtStr);
-                                // const year = parseInt(tmpDt.getFullYear());
-                                // const month = parseInt(tmpDt.getMonth());
-                                // const dt = parseInt(tmpDt.getDate());
-                                // role_rel.sign_date = new Date(year, month, dt);
                                 role_rel.sign_date = new Date(dtStr);
                             } else {
                                 role_rel.sign_date = '';

+ 5 - 0
app/reports/rpt_component/helper/jpc_helper_common.js

@@ -142,6 +142,11 @@ const JpcCommonHelper = {
         }
         return rst;
     },
+    getSegPageIdxByPage: function(page, page_seg_map) {
+        let rst = 0;
+        //
+        return rst;
+    },
     getStringLinesInArea: function(area, strVal, chnW, otherW) {
         // 备注: 因后台的pdf kit判断字符串长度与前端的不一样,需要做些调整,不一次性地判断字符串长度。
         //      分2种字符:中文与非中文,按照各种字符的数量分别乘以相关一个字符的宽度再累计。

+ 17 - 1
app/reports/rpt_component/helper/jpc_helper_discrete.js

@@ -6,9 +6,10 @@ const JpcTextHelper = require('./jpc_helper_text');
 const JpcCommonOutputHelper = require('./jpc_helper_common_output');
 const JpcAreaHelper = require('./jpc_helper_area');
 const JpcFieldHelper = require('./jpc_helper_field');
+const SEG_PAGE_SPLIT_STR = '`';
 
 const JpcDiscreteHelper = {
-    outputDiscreteInfo: function(discreteArray, bands, dataObj, unitFactor, pageStatus, segIdx, multiCols, multiColIdx, $CURRENT_RPT, customizeCfg, signatureRst, signatureDateRst, signatureAuditRst) {
+    outputDiscreteInfo: function(discreteArray, bands, dataObj, unitFactor, pageStatus, segIdx, segPageIdx, multiCols, multiColIdx, $CURRENT_RPT, customizeCfg, signatureRst, signatureDateRst, signatureAuditRst) {
         const rst = [];
         if (discreteArray && dataObj) {
             for (let i = 0; i < discreteArray.length; i++) {
@@ -88,6 +89,7 @@ const JpcDiscreteHelper = {
                                             } else {
                                                 value = data[0];
                                             }
+                                            value = this._getSegPageValue(value, segPageIdx);
                                         }
                                     } else {
                                         if (map_data_field[JV.PROP_AD_HOC_DATA] && map_data_field[JV.PROP_AD_HOC_DATA].length > 0) {
@@ -153,6 +155,20 @@ const JpcDiscreteHelper = {
         }
         return rst;
     },
+    _getSegPageValue: function(orgData, segPageIdx) {
+        let rst = orgData;
+        if (typeof orgData === 'string') {
+            const splitStrs = orgData.split(SEG_PAGE_SPLIT_STR);
+            if (splitStrs.length > 1) {
+                if (splitStrs.length > segPageIdx) {
+                    rst = splitStrs[segPageIdx];
+                } else {
+                    rst = splitStrs[splitStrs.length - 1];
+                }
+            }
+        }
+        return rst;
+    },
     outputPreviewDiscreteInfo: function(discreteArray, bands, unitFactor, pageStatus) {
         const rst = [];
         for (let i = 0; i < discreteArray.length; i++) {

+ 2 - 2
app/reports/rpt_component/jpc_bill_tab.js

@@ -73,7 +73,7 @@ JpcBillTabSrv.prototype.createNew = function() {
         //  2.1 output content
         tabRstLst.push(me.outputContent(rptTpl, dataObj, page, bands, unitFactor, controls, pageStatus, $CURRENT_RPT, customizeCfg));
         //  2.2 output discrete
-        tabRstLst.push(JpcDiscreteHelper.outputDiscreteInfo(rptTpl[JV.NODE_BILL_INFO][JV.NODE_DISCRETE_INFO], bands, dataObj, unitFactor, pageStatus, page - 1, 1, 0, $CURRENT_RPT, customizeCfg, me.signatureRst, me.signatureDateRst, me.signatureAuditRst));
+        tabRstLst.push(JpcDiscreteHelper.outputDiscreteInfo(rptTpl[JV.NODE_BILL_INFO][JV.NODE_DISCRETE_INFO], bands, dataObj, unitFactor, pageStatus, page - 1, 0, 1, 0, $CURRENT_RPT, customizeCfg, me.signatureRst, me.signatureDateRst, me.signatureAuditRst));
         for (let i = 0; i < tabRstLst.length; i++) {
             rst = rst.concat(tabRstLst[i]);
             tabRstLst[i] = null;
@@ -183,7 +183,7 @@ JpcBillTabSrv.prototype.createNew = function() {
                     }
                 }
                 if (tab[JV.NODE_DISCRETE_INFO]) {
-                    rst = rst.concat(JpcDiscreteHelper.outputDiscreteInfo(tab[JV.NODE_DISCRETE_INFO], bands, dataObj, unitFactor, pageStatus, page - 1, 1, 0, customizeCfg, me.signatureRst, me.signatureDateRst, me.signatureAuditRst));
+                    rst = rst.concat(JpcDiscreteHelper.outputDiscreteInfo(tab[JV.NODE_DISCRETE_INFO], bands, dataObj, unitFactor, pageStatus, page - 1, 0, 1, 0, customizeCfg, me.signatureRst, me.signatureDateRst, me.signatureAuditRst));
                 }
             }
         }

+ 2 - 1
app/reports/rpt_component/jpc_cross_tab.js

@@ -501,6 +501,7 @@ JpcCrossTabSrv.prototype.createNew = function() {
              //*/
         } else {
             const segIdx = JpcCommonHelper.getSegIdxByPageIdx(page, me.page_seg_map);
+            const segPageIdx = 0; // 暂时设置为0
             // 1 calculate the band position
             JpcBandHelper.setBandArea(bands, rptTpl, me.pageStatusLst[page - 1]);
             // 2. start to output detail-part
@@ -519,7 +520,7 @@ JpcCrossTabSrv.prototype.createNew = function() {
             tabRstLst.push(me.outputTabExt(rptTpl, dataObj, page, bands, unitFactor, controls, $CURRENT_RPT, customizeCfg));
             tabRstLst.push(me.outputSumTabExt(rptTpl, dataObj, page, bands, unitFactor, segIdx, controls, $CURRENT_RPT, customizeCfg));
             //  2.5 Discrete
-            tabRstLst.push(JpcDiscreteHelper.outputDiscreteInfo(rptTpl[JV.NODE_CROSS_INFO][JV.NODE_DISCRETE_INFO], bands, dataObj, unitFactor, me.pageStatusLst[page - 1], segIdx, 1, 0, $CURRENT_RPT, customizeCfg, me.signatureRst, me.signatureDateRst, me.signatureAuditRst));
+            tabRstLst.push(JpcDiscreteHelper.outputDiscreteInfo(rptTpl[JV.NODE_CROSS_INFO][JV.NODE_DISCRETE_INFO], bands, dataObj, unitFactor, me.pageStatusLst[page - 1], segIdx, segPageIdx, 1, 0, $CURRENT_RPT, customizeCfg, me.signatureRst, me.signatureDateRst, me.signatureAuditRst));
         }
         for (let i = 0; i < tabRstLst.length; i++) {
             rst = rst.concat(tabRstLst[i]);

+ 2 - 0
app/reports/rpt_component/jpc_ex.js

@@ -368,6 +368,8 @@ JpcExSrv.prototype.createNew = function() {
             // rst.cells = [];
             let adHocMergePos = null;
             if (me.flowTab) {
+                // console.log('page_seg_map:');
+                // console.log(me.flowTab.page_seg_map);
                 if (me.totalPages - me.exTotalPages >= page) {
                     if (me.flowTab.paging_option === JV.PAGING_OPTION_INFINITY) {
                         adHocMergePos = {};

+ 12 - 11
app/reports/rpt_component/jpc_flow_tab.js

@@ -771,7 +771,7 @@ JpcFlowTabSrv.prototype.createNew = function() {
         }
         const unitFactor = JpcCommonHelper.getUnitFactor(rptTpl);
         // 2.2 Column tab
-        rst = rst.concat(me.outputColumn(rptTpl, null, 1, 0, bands, unitFactor, 0, $CURRENT_RPT, null));
+        rst = rst.concat(me.outputColumn(rptTpl, null, 1, 0, 0, bands, unitFactor, 0, $CURRENT_RPT, null));
         // 2.1 Content-Tab
         rst = rst.concat(me.outputPreviewContent(rptTpl, bands, unitFactor, controls, pageStatus, maxRowRec));
         // 2.3 Sum Seg
@@ -806,14 +806,14 @@ JpcFlowTabSrv.prototype.createNew = function() {
             // 2.1 Content-Tab
             tabRstLst.push(me.outputContent(rptTpl, dataObj, page, bands, unitFactor, controls, 0, $CURRENT_RPT, customizeCfg));
             // 2.2 Column tab
-            tabRstLst.push(me.outputColumn(rptTpl, dataObj, page, segIdx, bands, unitFactor, 0, $CURRENT_RPT, customizeCfg));
+            tabRstLst.push(me.outputColumn(rptTpl, dataObj, page, segIdx, 0, bands, unitFactor, 0, $CURRENT_RPT, customizeCfg));
             // 2.3 Sum Seg
             tabRstLst.push(me.outputSegSum(rptTpl, dataObj, page, segIdx, bands, unitFactor, controls, $CURRENT_RPT, customizeCfg));
             // 2.4 Sum Page
             tabRstLst.push(me.outputPageSum(rptTpl, dataObj, page, segIdx, bands, unitFactor, controls, $CURRENT_RPT, customizeCfg));
             // 2.5 Group
             // 2.6 Discrete
-            tabRstLst.push(JpcDiscreteHelper.outputDiscreteInfo(rptTpl[FLOW_NODE_STR][JV.NODE_DISCRETE_INFO], bands, dataObj, unitFactor, me.pageStatusLst[page - 1], segIdx, 1, 0, $CURRENT_RPT, customizeCfg, me.signatureRst, me.signatureDateRst, me.signatureAuditRst));
+            tabRstLst.push(JpcDiscreteHelper.outputDiscreteInfo(rptTpl[FLOW_NODE_STR][JV.NODE_DISCRETE_INFO], bands, dataObj, unitFactor, me.pageStatusLst[page - 1], segIdx, 0, 1, 0, $CURRENT_RPT, customizeCfg, me.signatureRst, me.signatureDateRst, me.signatureAuditRst));
             // 3. reset merge band position
             if (bands[JV.BAND_PROP_MERGE_BAND] && adHocMergePos) {
                 const mergedBand = bands[JV.BAND_PROP_MERGE_BAND];
@@ -832,6 +832,7 @@ JpcFlowTabSrv.prototype.createNew = function() {
             }
         } else {
             const segIdx = JpcCommonHelper.getSegIdxByPageIdx(page, me.page_seg_map);
+            const segPageIdx = JpcCommonHelper.getSegPageIdxByPage(page, me.page_seg_map);
             // 1 calculate the band position
             JpcBandHelper.setBandArea(bands, rptTpl, me.pageStatusLst[page - 1], !me.isEx, me.isEx);
             // 2. start to output detail-part
@@ -840,7 +841,7 @@ JpcFlowTabSrv.prototype.createNew = function() {
                 // 2.1 Content-Tab
                 tabRstLst.push(me.outputContent(rptTpl, dataObj, actualPage, bands, unitFactor, controls, pi, $CURRENT_RPT, customizeCfg));
                 // 2.2 Column tab
-                tabRstLst.push(me.outputColumn(rptTpl, dataObj, actualPage, segIdx, bands, unitFactor, pi, $CURRENT_RPT, customizeCfg));
+                tabRstLst.push(me.outputColumn(rptTpl, dataObj, actualPage, segIdx, segPageIdx, bands, unitFactor, pi, $CURRENT_RPT, customizeCfg));
                 // 2.3 Sum Seg
                 tabRstLst.push(me.outputSegSum(rptTpl, dataObj, actualPage, segIdx, bands, unitFactor, controls, $CURRENT_RPT, customizeCfg));
                 // 2.4 Sum Page
@@ -848,7 +849,7 @@ JpcFlowTabSrv.prototype.createNew = function() {
                 // 2.5 Group
                 // 2.6 Discrete
                 if (pi === 0) {
-                    tabRstLst.push(JpcDiscreteHelper.outputDiscreteInfo(rptTpl[FLOW_NODE_STR][JV.NODE_DISCRETE_INFO], bands, dataObj, unitFactor, me.pageStatusLst[actualPage - 1], segIdx, 1, pi, $CURRENT_RPT, customizeCfg, me.signatureRst, me.signatureDateRst, me.signatureAuditRst));
+                    tabRstLst.push(JpcDiscreteHelper.outputDiscreteInfo(rptTpl[FLOW_NODE_STR][JV.NODE_DISCRETE_INFO], bands, dataObj, unitFactor, me.pageStatusLst[actualPage - 1], segIdx, segPageIdx, 1, pi, $CURRENT_RPT, customizeCfg, me.signatureRst, me.signatureDateRst, me.signatureAuditRst));
                 }
             }
         }
@@ -1214,7 +1215,7 @@ JpcFlowTabSrv.prototype.createNew = function() {
             }
         }
     };
-    JpcFlowTabResult.outputColumn = function(rptTpl, dataObj, page, segIdx, bands, unitFactor, multiColIdx, $CURRENT_RPT, customizeCfg) {
+    JpcFlowTabResult.outputColumn = function(rptTpl, dataObj, page, segIdx, segPageIdx, bands, unitFactor, multiColIdx, $CURRENT_RPT, customizeCfg) {
         const me = this;
         let rst = [];
         const FLOW_NODE_STR = me.isEx ? JV.NODE_FLOW_INFO_EX : JV.NODE_FLOW_INFO;
@@ -1223,7 +1224,7 @@ JpcFlowTabSrv.prototype.createNew = function() {
         if (band) {
             const pageStatus = me.pageStatusLst[page - 1];
             if (pageStatus[band[JV.BAND_PROP_DISPLAY_TYPE]]) {
-                rst = rst.concat(me.commonTabRestOutput(dataObj, page, segIdx, bands, band, unitFactor, tab, multiColIdx, $CURRENT_RPT, customizeCfg));
+                rst = rst.concat(me.commonTabRestOutput(dataObj, page, segIdx, segPageIdx, bands, band, unitFactor, tab, multiColIdx, $CURRENT_RPT, customizeCfg));
             }
         }
         return rst;
@@ -1281,7 +1282,7 @@ JpcFlowTabSrv.prototype.createNew = function() {
                     cellItem[JV.PROP_AREA] = JpcAreaHelper.outputArea(tab_fields[i][JV.PROP_AREA], band, unitFactor, 1, 0, 1, 0, me.multiCols, 0, false, false);
                     rst.push(cellItem);
                 }
-                rst = rst.concat(me.commonTabRestOutput(dataObj, page, segIdx, bands, band, unitFactor, tab, 0, $CURRENT_RPT, customizeCfg));
+                rst = rst.concat(me.commonTabRestOutput(dataObj, page, segIdx, 0, bands, band, unitFactor, tab, 0, $CURRENT_RPT, customizeCfg));
             }
         }
         return rst;
@@ -1312,7 +1313,7 @@ JpcFlowTabSrv.prototype.createNew = function() {
                     cellItem[JV.PROP_AREA] = JpcAreaHelper.outputArea(tab_fields[i][JV.PROP_AREA], band, unitFactor, 1, 0, 1, 0, me.multiCols, 0, false, false);
                     rst.push(cellItem);
                 }
-                rst = rst.concat(me.commonTabRestOutput(dataObj, page, segIdx, bands, band, unitFactor, tab, 0, $CURRENT_RPT, customizeCfg));
+                rst = rst.concat(me.commonTabRestOutput(dataObj, page, segIdx, 0, bands, band, unitFactor, tab, 0, $CURRENT_RPT, customizeCfg));
             }
         }
         return rst;
@@ -1398,7 +1399,7 @@ JpcFlowTabSrv.prototype.createNew = function() {
         }
     };
 
-    JpcFlowTabResult.commonTabRestOutput = function(dataObj, page, segIdx, bands, band, unitFactor, tab, multiColIdx, $CURRENT_RPT, customizeCfg) {
+    JpcFlowTabResult.commonTabRestOutput = function(dataObj, page, segIdx, segPageIdx, bands, band, unitFactor, tab, multiColIdx, $CURRENT_RPT, customizeCfg) {
         const me = this;
         let rst = [];
         if (tab[JV.PROP_TEXT]) {
@@ -1410,7 +1411,7 @@ JpcFlowTabSrv.prototype.createNew = function() {
             }
         }
         if (tab[JV.NODE_DISCRETE_INFO]) {
-            rst = rst.concat(JpcDiscreteHelper.outputDiscreteInfo(tab[JV.NODE_DISCRETE_INFO], bands, dataObj, unitFactor, me.pageStatusLst[page - 1], segIdx, 1, 0, $CURRENT_RPT, customizeCfg, me.signatureRst, me.signatureDateRst, me.signatureAuditRst));
+            rst = rst.concat(JpcDiscreteHelper.outputDiscreteInfo(tab[JV.NODE_DISCRETE_INFO], bands, dataObj, unitFactor, me.pageStatusLst[page - 1], segIdx, segPageIdx, 1, 0, $CURRENT_RPT, customizeCfg, me.signatureRst, me.signatureDateRst, me.signatureAuditRst));
         }
         return rst;
     };

文件差异内容过多而无法显示
+ 4 - 0
sql/update.sql