/**
* 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) {
//
}
}