|
@@ -193,6 +193,7 @@ let selectableFiledTreeOprObj = {
|
|
|
let discreteFieldParamTreeOprObj = {
|
|
|
treeObj : null,
|
|
|
currentNode: null,
|
|
|
+ local_idx : 12000,
|
|
|
iniTree: function(rptTpl) {
|
|
|
var me = this;
|
|
|
let fieldMapList = me.buildTreeData(rptTpl);
|
|
@@ -200,9 +201,9 @@ let discreteFieldParamTreeOprObj = {
|
|
|
me.treeObj.expandAll(true);
|
|
|
},
|
|
|
buildTreeData: function(rptTpl){
|
|
|
- let rst = [];
|
|
|
- let disFieldNode = {Name: JV.NODE_NO_MAPPING_FIELDS, items: [], isParent: true};
|
|
|
- let disParamNode = {Name: JV.NODE_DISCRETE_PARAMS, items: [], isParent: true};
|
|
|
+ let me = this, rst = [];
|
|
|
+ let disFieldNode = {Name: JV.NODE_NO_MAPPING_FIELDS, items: [], isParent: true, Title: ""};
|
|
|
+ let disParamNode = {Name: JV.NODE_DISCRETE_PARAMS, items: [], isParent: true, Title: ""};
|
|
|
rst.push(disFieldNode);
|
|
|
rst.push(disParamNode);
|
|
|
if (rptTpl[JV.NODE_NO_MAPPING_FIELDS] && rptTpl[JV.NODE_NO_MAPPING_FIELDS].length > 0) {
|
|
@@ -212,7 +213,9 @@ let discreteFieldParamTreeOprObj = {
|
|
|
node[JV.PROP_FIELD_ID] = df[JV.PROP_ID];
|
|
|
node[JV.PROP_NAME] = df[JV.PROP_NAME];
|
|
|
node[JV.PROP_DATA_TYPE] = df[JV.PROP_DATA_TYPE];
|
|
|
+ node.Title = "ID: " + df[JV.PROP_ID];
|
|
|
disFieldNode.items.push(node);
|
|
|
+ if (parseInt(df[JV.PROP_ID]) >= me.local_idx) me.local_idx = parseInt(df[JV.PROP_ID]) + 1;
|
|
|
}
|
|
|
}
|
|
|
if (rptTpl[JV.NODE_DISCRETE_PARAMS]) {
|
|
@@ -223,11 +226,18 @@ let discreteFieldParamTreeOprObj = {
|
|
|
node[JV.PROP_NAME] = dp[JV.PROP_NAME];
|
|
|
node[JV.PROP_DATA_TYPE] = dp[JV.PROP_DATA_TYPE];
|
|
|
node[JV.PROP_DFT_VALUE] = dp[JV.PROP_DFT_VALUE];
|
|
|
+ node.Title = "ID: " + dp[JV.PROP_ID];
|
|
|
disParamNode.items.push(node);
|
|
|
+ if (parseInt(dp[JV.PROP_ID]) >= me.local_idx) me.local_idx = parseInt(dp[JV.PROP_ID]) + 1;
|
|
|
}
|
|
|
}
|
|
|
return rst;
|
|
|
},
|
|
|
+ getAndModifyLocalIdx: function() {
|
|
|
+ let me = discreteFieldParamTreeOprObj, rst = me.local_idx;
|
|
|
+ me.local_idx++;
|
|
|
+ return rst;
|
|
|
+ },
|
|
|
addHoverDom: function(treeId, treeNode) {
|
|
|
let me = discreteFieldParamTreeOprObj, sObj = $("#" + treeNode.tId + "_span");
|
|
|
if (treeNode.level > 0 || $("#addBtn_"+treeNode.tId).length > 0) return;
|
|
@@ -235,9 +245,35 @@ let discreteFieldParamTreeOprObj = {
|
|
|
sObj.after(addStr);
|
|
|
let btn = $("#addBtn_"+treeNode.tId);
|
|
|
if (btn) btn.bind("click", function(){
|
|
|
- //
|
|
|
+ if (treeNode[JV.PROP_NAME] === JV.NODE_NO_MAPPING_FIELDS) {
|
|
|
+ let field = me.private_setup_dummy_discrete_field_node();
|
|
|
+ let newNodes = [field];
|
|
|
+ me.treeObj.addNodes(treeNode, -1, newNodes, true);
|
|
|
+ } else if (treeNode[JV.PROP_NAME] === JV.NODE_DISCRETE_PARAMS) {
|
|
|
+ let param = me.private_setup_dummy_discrete_param_node;
|
|
|
+ let newNodes = [param];
|
|
|
+ me.treeObj.addNodes(treeNode, -1, newNodes, true);
|
|
|
+ }
|
|
|
});
|
|
|
},
|
|
|
+ private_setup_dummy_discrete_field_node: function () {
|
|
|
+ let me = discreteFieldParamTreeOprObj, rst = {};
|
|
|
+ rst[JV.PROP_ID] = me.getAndModifyLocalIdx();
|
|
|
+ rst[JV.PROP_NAME] = "新离散指标";
|
|
|
+ rst[JV.PROP_DATA_TYPE] = "string";
|
|
|
+ rst.descr = "";
|
|
|
+ rst.Title = "ID: " + rst[JV.PROP_ID];
|
|
|
+ return rst;
|
|
|
+ },
|
|
|
+ private_setup_dummy_discrete_param_node: function () {
|
|
|
+ let me = discreteFieldParamTreeOprObj, rst = {};
|
|
|
+ rst[JV.PROP_ID] = me.getAndModifyLocalIdx();
|
|
|
+ rst[JV.PROP_NAME] = "新离散参数";
|
|
|
+ rst[JV.PROP_DATA_TYPE] = "string";
|
|
|
+ rst[JV.PROP_DFT_VALUE] = "";
|
|
|
+ rst.Title = "ID: " + rst[JV.PROP_ID];
|
|
|
+ return rst;
|
|
|
+ },
|
|
|
removeHoverDom: function(treeId, treeNode) {
|
|
|
$("#addBtn_"+treeNode.tId).unbind().remove();
|
|
|
},
|
|
@@ -290,6 +326,37 @@ let discreteFieldParamTreeOprObj = {
|
|
|
},
|
|
|
onRename: function () {
|
|
|
//
|
|
|
+ },
|
|
|
+ extractFieldMaps: function (rptTpl) {
|
|
|
+ let me = this;
|
|
|
+ for (let rootNode of me.treeObj.getNodes()) {
|
|
|
+ if (rootNode[JV.PROP_NAME] === JV.NODE_NO_MAPPING_FIELDS) {
|
|
|
+ rptTpl[JV.NODE_NO_MAPPING_FIELDS] = [];
|
|
|
+ for (let fNode of rootNode.items) {
|
|
|
+ rptTpl[JV.NODE_NO_MAPPING_FIELDS].push(me.createDiscreteFieldByNode(fNode));
|
|
|
+ }
|
|
|
+ } else if (rootNode[JV.PROP_NAME] === JV.NODE_DISCRETE_PARAMS) {
|
|
|
+ rptTpl[JV.NODE_DISCRETE_PARAMS] = [];
|
|
|
+ for (let pNode of rootNode.items) {
|
|
|
+ rptTpl[JV.NODE_DISCRETE_PARAMS].push(me.createDiscreteParamByNode(pNode));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ createDiscreteFieldByNode: function (node) {
|
|
|
+ let rst = {};
|
|
|
+ rst[JV.PROP_ID] = node[JV.PROP_ID];
|
|
|
+ rst[JV.PROP_NAME] = node[JV.PROP_NAME];
|
|
|
+ rst[JV.PROP_DATA_TYPE] = node[JV.PROP_DATA_TYPE];
|
|
|
+ rst.descr = node.descr;
|
|
|
+ return rst;
|
|
|
+ },
|
|
|
+ createDiscreteParamByNode: function (node) {
|
|
|
+ let rst = {};
|
|
|
+ rst[JV.PROP_ID] = node[JV.PROP_ID];
|
|
|
+ rst[JV.PROP_NAME] = node[JV.PROP_NAME];
|
|
|
+ rst[JV.PROP_DATA_TYPE] = node[JV.PROP_DATA_TYPE];
|
|
|
+ rst[JV.PROP_DFT_VALUE] = node[JV.PROP_DFT_VALUE];
|
|
|
+ return rst;
|
|
|
}
|
|
|
-
|
|
|
};
|