TonyKang 6 years ago
parent
commit
a7a70f9fc6

+ 36 - 16
web/maintain/report/js/rpt_tpl_vis_common.js

@@ -173,7 +173,7 @@ let visualCommonOprObj = {
                 let rptTpl = (zTreeOprObj.currentNode)?zTreeOprObj.currentNode.rptTpl:null;
                 let cellType = new GC.Spread.Sheets.CellTypes.ComboBox();
                 // let selectableFields = me.getSelectedFields(rptTpl);
-                let selectableFields = me.getAllSelectedFields(rptTpl);
+                let selectableFields = me.getAllSelectedFields();
                 cellType.items(selectableFields);
                 cell.cellType(cellType);
                 if (newColor) {
@@ -317,24 +317,44 @@ let visualCommonOprObj = {
     },
     getAllSelectedFields: function (rptTpl) {
         let rst = [];
-        if (rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS] !== undefined && rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS].length > 0) {
-            for (let field of rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS]) {
-                rst.push(field[JV.PROP_NAME]);
+        if (rptTpl) {
+            if (rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS] !== undefined && rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS].length > 0) {
+                for (let field of rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS]) {
+                    rst.push(field[JV.PROP_NAME]);
+                }
             }
-        }
-        if (rptTpl[JV.NODE_NO_MAPPING_FIELDS] !== undefined && rptTpl[JV.NODE_NO_MAPPING_FIELDS].length > 0) {
-            for (let field of rptTpl[JV.NODE_NO_MAPPING_FIELDS]) {
-                rst.push(field[JV.PROP_NAME]);
+            if (rptTpl[JV.NODE_NO_MAPPING_FIELDS] !== undefined && rptTpl[JV.NODE_NO_MAPPING_FIELDS].length > 0) {
+                for (let field of rptTpl[JV.NODE_NO_MAPPING_FIELDS]) {
+                    rst.push(field[JV.PROP_NAME]);
+                }
             }
-        }
-        if (rptTpl[JV.NODE_FIELD_MAP][JV.NODE_MASTER_FIELDS] !== undefined && rptTpl[JV.NODE_FIELD_MAP][JV.NODE_MASTER_FIELDS].length > 0) {
-            for (let field of rptTpl[JV.NODE_FIELD_MAP][JV.NODE_MASTER_FIELDS]) {
-                rst.push(field[JV.PROP_NAME]);
+            if (rptTpl[JV.NODE_FIELD_MAP][JV.NODE_MASTER_FIELDS] !== undefined && rptTpl[JV.NODE_FIELD_MAP][JV.NODE_MASTER_FIELDS].length > 0) {
+                for (let field of rptTpl[JV.NODE_FIELD_MAP][JV.NODE_MASTER_FIELDS]) {
+                    rst.push(field[JV.PROP_NAME]);
+                }
             }
-        }
-        if (rptTpl[JV.NODE_DISCRETE_PARAMS] !== undefined && rptTpl[JV.NODE_DISCRETE_PARAMS].length > 0) {
-            for (let field of rptTpl[JV.NODE_DISCRETE_PARAMS]) {
-                rst.push(field[JV.PROP_NAME]);
+            if (rptTpl[JV.NODE_DISCRETE_PARAMS] !== undefined && rptTpl[JV.NODE_DISCRETE_PARAMS].length > 0) {
+                for (let field of rptTpl[JV.NODE_DISCRETE_PARAMS]) {
+                    rst.push(field[JV.PROP_NAME]);
+                }
+            }
+        } else {
+            let private_getNameByTree = function (treeObj, isReverse) {
+                let nodes = treeObj.getNodes();
+                if (isReverse) nodes.reverse();
+                for (let node of nodes) {
+                    if (node.items && node.items.length > 0) {
+                        for (let subItem of node.items) {
+                            rst.push(subItem[JV.PROP_NAME]);
+                        }
+                    }
+                }
+            };
+            if (fieldMapTreeOprObj.treeObj) {
+                private_getNameByTree(fieldMapTreeOprObj.treeObj, true);
+            }
+            if (discreteFieldParamTreeOprObj.treeObj) {
+                private_getNameByTree(discreteFieldParamTreeOprObj.treeObj, false);
             }
         }
         return rst;

+ 2 - 2
web/maintain/report/js/rpt_tpl_vis_jumbo.js

@@ -760,7 +760,7 @@ let visualJumbo = {
                     let rptTpl = (zTreeOprObj.currentNode)?zTreeOprObj.currentNode.rptTpl:null;
                     let cellType = new GC.Spread.Sheets.CellTypes.ComboBox();
                     // let selectableFields = me.getSelectedFields(rptTpl);
-                    let selectableFields = visualCommonOprObj.getAllSelectedFields(rptTpl);
+                    let selectableFields = visualCommonOprObj.getAllSelectedFields();
                     cellType.items(selectableFields);
                     cell.cellType(cellType);
                     break;
@@ -1044,8 +1044,8 @@ let visualJumbo = {
         let startRow = me.collectSheetTxtFldByArea(sheet, me.bandMappingObj[cotentBand[JV.PROP_NAME]][JV.PROP_COLOR] , textFldArr, colWidthArr, rowHeightArr);
         let contentNodes = [];
         for (let field of textFldArr) {
-            let node = me.private_create_field_param_node(sheet, field, startRow, colWidthArr, rowHeightArr, rptTpl);
             if (field.isField) {
+                let node = me.private_create_field_param_node(sheet, field, startRow, colWidthArr, rowHeightArr, rptTpl);
                 contentNodes.push(node);
             }
         }