/** * Created by Tony on 2017/7/7. */ let calculationTreeOprObj = { treeObj : null, currentNode: null, iniTree: function(rptTpl) { var me = this; let fieldMapList = me.buildTreeData(rptTpl); me.treeObj = $.fn.zTree.init($("#rpt_tpl_formulas"), caculationSetting, fieldMapList); me.treeObj.expandAll(true); let et = $("#exprRunType"); et.append(""); et.append(""); }, buildTreeData: function (rptTpl) { let me = this, rst = {"Name": "计算式", items: []}; if (rptTpl[JV.NODE_FORMULAS]) { for (let cItem of rptTpl[JV.NODE_FORMULAS]) { let node = {}; node[JV.PROP_NAME] = cItem[JV.PROP_NAME]; node[JV.PROP_RUN_TYPE] = cItem[JV.PROP_RUN_TYPE]; node[JV.PROP_EXPRESSION] = cItem[JV.PROP_EXPRESSION]; node["format"] = (cItem["format"])?cItem["format"]:""; rst.items.push(node); } } return rst; }, changeRunType: function (dom) { let me = calculationTreeOprObj; if (me.currentNode) { me.currentNode[JV.PROP_RUN_TYPE] = dom.value; } }, changeFormat: function (dom) { let me = calculationTreeOprObj; if (me.currentNode) { me.currentNode["format"] = dom.value; } }, changeExpression: function (dom) { let me = calculationTreeOprObj; if (me.currentNode) { me.currentNode[JV.PROP_EXPRESSION] = dom.value; } }, onClick: function (event,treeId,treeNode) { let me = calculationTreeOprObj; me.currentNode = treeNode; if (treeNode.level === 0) { $("#exprDetail")[0].style.display = "none"; } else { $("#exprDetail")[0].style.display = ""; if (treeNode[JV.PROP_RUN_TYPE] === JV.RUN_TYPE_BEFORE_PAGING) { $("#exprRunType")[0].selectedIndex = 0; } else { $("#exprRunType")[0].selectedIndex = 1; } $("#exprFormat")[0].value = (treeNode["format"])?treeNode["format"]:""; $("#exprContent")[0].value = treeNode[JV.PROP_EXPRESSION]; // } }, onBeforeRemove: function(treeId, treeNode){ let rst = false; if (treeNode.level > 0) { rst = confirm('请确认是否真的删除?'); } return rst; }, beforeRename: function(treeId, treeNode, newName, isCancel) { if (isCancel) { return true; } if (treeNode.level === 0) { return false; } return true; }, onBeforeDrop: function (treeId, treeNodes, targetNode, moveType) { let rst = false; if (targetNode.level === 1 && (moveType === "next" || moveType === "prev")) { return true; } return rst; }, extractCalculation: function (rptTpl) { // } }