/** * Created by Tony on 2017/10/5. */ 'use strict' let dataInfoMapTreeOprObj = { treeObj : null, currentNode: null, dataTypeDef: ['string', 'int32', 'int64', 'double', 'currency', 'date', 'image'], iniTree: function(rptTpl) { var me = this; let fieldMapList = me.buildTreeData(rptTpl); me.treeObj = $.fn.zTree.init($("#tpl_data_info_reversed"), rptDataInfoSetting, fieldMapList); me.treeObj.expandAll(true); }, iniDataMap: function () { let me = this, bandList = bandTreeOprObj.copyBandList(true); if (bandList) { let bandTree = $.fn.zTree.init($("#band_tree2_reversed"), bandSetting2, bandList); bandTree.expandAll(true); } let selectedFieldList = fieldMapTreeOprObj.copySelectedFieldList(); let selectedFieldTree = $.fn.zTree.init($("#tpl_data_selected_field_map_reversed"), selectedFieldMapSetting, selectedFieldList); selectedFieldTree.expandAll(true); }, buildTreeData: function (rptTpl) { let me = this, rst = null; $("#dispRowHeight")[0].style.display = ""; $("#dispColWidth")[0].style.display = ""; if (rptTpl[JV.NODE_FLOW_INFO]) { // } else if (rptTpl[JV.NODE_CROSS_INFO]) { // } else if (rptTpl[JV.NODE_BILL_INFO]) { rst = me.buildBillData(rptTpl); $("#dispRowHeight")[0].style.display = "none"; $("#dispColWidth")[0].style.display = "none"; } return rst; }, buildBillData: function(rptTpl) { let me = this, rst = []; let rootFieldNode = {Name: JV.NODE_BILL_CONTENT, type: "bill_data", isParent: true}; let discreteNode = {Name: JV.NODE_DISCRETE_INFO}; rst.push(rootFieldNode); rst.push(discreteNode); me.private_build_bill_data(rootFieldNode, rptTpl[JV.NODE_BILL_INFO][JV.NODE_BILL_CONTENT]); me.private_build_bill_discrete_data(discreteNode, rptTpl[JV.NODE_BILL_INFO][JV.NODE_DISCRETE_INFO]); return rst; }, private_build_bill_data: function (rootFieldNode, billData) { let me = this, bandName = billData[JV.PROP_BAND_NAME]; if (rootFieldNode) { rootFieldNode.items = []; for (let fieldItem of billData[JV.PROP_BILL_FIELDS]) { rootFieldNode.items.push(me.private_build_field_node(bandName, fieldItem)); } } }, private_build_bill_discrete_data: function (discreteNode, discreteData) { let me = this; if (discreteNode) { discreteNode.items = []; let fieldItem = {Name: "Fields", items:[], isParent: true}; let paramItem = {Name: "Params", items:[], isParent: true}; let textItem = {Name: "Texts", items:[], isParent: true}; discreteNode.items.push(fieldItem); discreteNode.items.push(paramItem); discreteNode.items.push(textItem); for (let bandItem of discreteData) { let bandName = bandItem[JV.PROP_BAND_NAME]; if (bandItem[JV.PROP_DISCRETE_FIELDS]) { for (let dtlItem of bandItem[JV.PROP_DISCRETE_FIELDS]) { fieldItem.items.push(me.private_build_field_node(bandName, dtlItem)); } } if (bandItem[JV.PROP_PARAMS]) { for (let dtlItem of bandItem[JV.PROP_PARAMS]) { paramItem.items.push(me.private_build_param_node(bandName, dtlItem)); } } if (bandItem[JV.PROP_TEXTS]) { for (let dtlItem of bandItem[JV.PROP_TEXTS]) { textItem.items.push(me.private_build_text_node(bandName, dtlItem)); } } if (bandItem[JV.PROP_TEXT]) { textItem.items.push(me.private_build_text_node(bandName, bandItem[JV.PROP_TEXT])); } } } }, private_build_field_node: function (bandName, fieldData) { let me = this, rst = null; if (fieldData) { rst = {}; rst[JV.PROP_BAND_NAME] = bandName; rst[JV.PROP_FIELD_ID] = fieldData[JV.PROP_FIELD_ID]; rst[JV.TAB_FIELD_PROP_SORT] = fieldData[JV.TAB_FIELD_PROP_SORT]; rst[JV.PROP_FONT] = fieldData[JV.PROP_FONT]; rst[JV.PROP_CONTROL] = fieldData[JV.PROP_CONTROL]; rst[JV.PROP_STYLE] = fieldData[JV.PROP_STYLE]; rst[JV.PROP_PREFIX] = fieldData[JV.PROP_PREFIX]; rst[JV.PROP_SUFFIX] = fieldData[JV.PROP_SUFFIX]; rst[JV.PROP_AREA] = {}; me.private_copy_area(fieldData[JV.PROP_AREA], rst[JV.PROP_AREA]); } return rst; }, private_copy_area: function (orgArea, destArea) { destArea[JV.PROP_LEFT] = orgArea[[JV.PROP_LEFT]]; destArea[JV.PROP_RIGHT] = orgArea[[JV.PROP_RIGHT]]; destArea[JV.PROP_TOP] = orgArea[[JV.PROP_TOP]]; destArea[JV.PROP_BOTTOM] = orgArea[[JV.PROP_BOTTOM]]; destArea[JV.PROP_H_CALCULATION] = orgArea[[JV.PROP_H_CALCULATION]]; destArea[JV.PROP_V_CALCULATION] = orgArea[[JV.PROP_V_CALCULATION]]; }, private_build_param_node: function (bandName, param) { let me = this, rst = null; if (param) { rst = {}; rst[JV.PROP_BAND_NAME] = bandName; rst[JV.PROP_PARAM_ID] = param[JV.PROP_PARAM_ID]; rst[JV.PROP_FONT] = param[JV.PROP_FONT]; rst[JV.PROP_CONTROL] = param[JV.PROP_CONTROL]; rst[JV.PROP_STYLE] = param[JV.PROP_STYLE]; rst[JV.PROP_PREFIX] = param[JV.PROP_PREFIX]; rst[JV.PROP_SUFFIX] = param[JV.PROP_SUFFIX]; rst[JV.PROP_AREA] = {}; me.private_copy_area(param[JV.PROP_AREA], rst[JV.PROP_AREA]); } return rst; }, private_build_text_node: function (bandName, text) { // }, onClick: function (event,treeId,treeNode) { // }, onBandClick: function (event,treeId,treeNode) { // }, onBeforeRemove: function(treeId, treeNode){ let rst = true; if (treeNode.isParent) { rst = false; } else { // } return rst; }, beforeRename: function(treeId, treeNode, newName, isCancel) { // }, onBeforeDrag: function (treeId, treeNodes) { let rst = true; for (let node of treeNodes) { if (node.level === 0) { rst = false; break; } } return rst; }, onBeforeDrop: function(treeId, treeNodes, targetNode, moveType){ let rst = false; if (targetNode.tId && targetNode.tId.indexOf("tpl_data_info_reversed") >= 0 && (!(targetNode.isParent && moveType !== 'inner')) ) { if (targetNode.level === 0) { if (targetNode.Name !== "离散信息" && moveType === 'inner') { rst = true; } } else { let parentNode = targetNode.getParentNode(); if (parentNode.Name === "离散信息") { if (targetNode.Name === "Fields") { rst = true; } } else if (parentNode.Name === "Fields") { rst = true; } } } return rst; }, onRemove: function () { // }, onRename: function () { // }, extractFieldMaps: function (rptTpl) { // }, createMapFieldByNode: function (node) { // } };