Преглед изворни кода

code sync from 报表模板改进

TonyKang пре 7 година
родитељ
комит
94b9596cc9

+ 9 - 7
modules/reports/rpt_component/jpc_flow_tab.js

@@ -148,14 +148,15 @@ JpcFlowTabSrv.prototype.createNew = function(){
             let actH = JpcFlowTabHelper.getActualContentAreaHeight(bands, rptTpl, me.segments, page);
             let offsetY = actH - (flowContentBand.Bottom - flowContentBand.Top);
             JpcBandHelper.resetBandPos(rptTpl[JV.NODE_BAND_COLLECTION], bands, flowContentBand, 0, offsetY);
-
+            // 2.1 Content-Tab
             tabRstLst.push(me.outputContent(rptTpl, dataObj, page, bands, unitFactor, controls, 0, $CURRENT_RPT));
             // 2.2 Column tab
             tabRstLst.push(me.outputColumn(rptTpl, dataObj, page, segIdx, bands, unitFactor, controls, 0));
             // 2.3 Sum Seg
             tabRstLst.push(me.outputSegSum(rptTpl, dataObj, page, segIdx, bands, unitFactor, controls));
             // 2.4 Sum Page
-            // 2.5 Discrete
+            // 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));
             //3. reset merge band position
             if (bands[JV.BAND_PROP_MERGE_BAND] && adHocMergePos) {
@@ -180,14 +181,15 @@ JpcFlowTabSrv.prototype.createNew = function(){
             //2. start to output detail-part
             for (let pi = 0; pi < me.multiCols; pi++) {
                 let actualPage = (page - 1) * me.multiCols + pi + 1;
-                //2.1 Content-Tab
+                // 2.1 Content-Tab
                 tabRstLst.push(me.outputContent(rptTpl, dataObj, actualPage, bands, unitFactor, controls, pi, $CURRENT_RPT));
-                //2.2 Column tab
+                // 2.2 Column tab
                 tabRstLst.push(me.outputColumn(rptTpl, dataObj, actualPage, segIdx, bands, unitFactor, controls, pi));
-                //2.3 Sum Seg
+                // 2.3 Sum Seg
                 tabRstLst.push(me.outputSegSum(rptTpl, dataObj, actualPage, segIdx, bands, unitFactor, controls));
-                //2.4 Sum Page
-                //2.5 Discrete
+                // 2.4 Sum Page
+                // 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));
                 }

+ 4 - 2
modules/reports/rpt_component/jpc_function.js

@@ -6,8 +6,10 @@ let JpcFunc = {
         if (rptTpl[JV.NODE_FORMULAS]) {
             for (let i = 0; i < rptTpl[JV.NODE_FORMULAS].length; i++) {
                 let item = {};
-                item[JV.PROP_RUN_TYPE] = rptTpl[JV.NODE_FORMULAS][i][JV.PROP_RUN_TYPE];
-                item[JV.PROP_EXPRESSION] = rptTpl[JV.NODE_FORMULAS][i][JV.PROP_EXPRESSION];
+                let propArr = Object.getOwnPropertyNames(rptTpl[JV.NODE_FORMULAS][i]);
+                for (let key of propArr) {
+                    item[key] = rptTpl[JV.NODE_FORMULAS][i][key];
+                }
                 rst.push(item);
             }
         }

+ 10 - 0
modules/reports/rpt_component/jpc_rte.js

@@ -45,6 +45,16 @@ let JE = {
             rst = $CURRENT_RPT.totalPages;
         }
         return rst;
+    },
+    setFieldValue: function (field, newValue, dataObj, valIdx) {
+        if (!(field.DataNodeName)) {
+            //that means this is a self-defined discrete field!
+            field.DataNodeName = JV.DATA_DISCRETE_DATA;
+            let len = dataObj[JV.DATA_DISCRETE_DATA];
+            field.DataSeq = len;
+            dataObj[JV.DATA_DISCRETE_DATA].push([]);
+        }
+        dataObj[field.DataNodeName][field.DataSeq][valIdx] = newValue;
     }
 }
 

+ 10 - 0
public/web/rpt_value_define.js

@@ -31,12 +31,20 @@ const JV = {
     NODE_FLOW_COLUMN : "流水式表_列",
     NODE_FLOW_CONTENT : "流水式表_数据",
     PROP_MULTI_COLUMN: "多列显示数量",
+    PROP_FLOW_EX_DISPLAY_MODE: "流水拓展显示模式",
+    DISPLAY_MODE_INDEPENDENT: "单独模式",
+    DISPLAY_MODE_FOLLOW: "紧随模式",
+
 
     NODE_MAIN_INFO: "主信息",
     NODE_MAIN_INFO_RPT_NAME: "报表名称",
     NODE_PAGE_INFO: "打印页面_信息",
     NODE_PAGE_SIZE: "纸张宽高",
     NODE_MARGINS: "页边距",
+    NODE_RPT_BIZ_TYPE: "报表业务类型",
+    NODE_BIZ_TYPE_AUDI: "审核类型",
+    NODE_BIZ_TYPE_SUM: "汇总类型",
+    NODE_BIZ_TYPE_DETAIL: "明细类型",
 
     NODE_FONT_COLLECTION: "font_collection",
     NODE_STYLE_COLLECTION: "style_collection",
@@ -49,6 +57,7 @@ const JV = {
     PROP_BAND_NAME: "BandName",
     PROP_BAND_NORMAL_ONLY: "normalOnly",
     PROP_BAND_EX_ONLY: "exOnly",
+    PROP_BAND_EX_JOIN_AFTER: "isJoinAfter",
 
     PROP_UNITS: "单位",
     PROP_PAGE_SIZE: "页规格",
@@ -79,6 +88,7 @@ const JV = {
     PROP_SUM_FIELDS: "sum_field_s",
     PROP_TEXTS: "text_s",
     PROP_TEXT: "text",
+    PROP_PARAMS: "param_s",
     PROP_FIELD_ID: "FieldID",
     PROP_PARAM_ID: "ParamID",
     PROP_PREFIX: "Prefix",