|
@@ -141,34 +141,38 @@ let preHandleObj = {
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- addNewNode: function(nodeType) {
|
|
|
- let me = this, item = null, preHandleType = nodeType;
|
|
|
+ createNewNode: function (nodeType) {
|
|
|
+ let rst = null, preHandleType = nodeType;
|
|
|
if (!nodeType) {
|
|
|
preHandleType = JV.PROP_HANDLE_TYPE_SORT;
|
|
|
}
|
|
|
switch (nodeType) {
|
|
|
case JV.PROP_HANDLE_TYPE_SORT:
|
|
|
- item = {Name: "预处理环节", Title: "", "映射数据对象": "bills", "预处理类型": preHandleType, "排序方式": "normal", "排序键值集":[]};
|
|
|
+ rst = {Name: "预处理环节", Title: "", "映射数据对象": "bills", "预处理类型": preHandleType, "排序方式": "normal", "排序键值集":[]};
|
|
|
break;
|
|
|
case JV.PROP_HANDLE_TYPE_FILTER:
|
|
|
- item = {Name: "预处理环节", Title: "", "映射数据对象": "bills", "预处理类型": preHandleType, "过滤键值集": []};
|
|
|
+ rst = {Name: "预处理环节", Title: "", "映射数据对象": "bills", "预处理类型": preHandleType, "过滤键值集": []};
|
|
|
break;
|
|
|
case JV.PROP_HANDLE_TYPE_BILLS_DATA_MOVE:
|
|
|
- item = {Name: "预处理环节", Title: "", "映射数据对象": "ration", "预处理类型": preHandleType};
|
|
|
+ rst = {Name: "预处理环节", Title: "", "映射数据对象": "ration", "预处理类型": preHandleType};
|
|
|
break;
|
|
|
case JV.PROP_HANDLE_TYPE_SUM:
|
|
|
- item = {Name: "预处理环节", Title: "", "映射数据对象": "bills", "预处理类型": preHandleType, "分组键值集": [], "统计键值集":[]};
|
|
|
+ rst = {Name: "预处理环节", Title: "", "映射数据对象": "bills", "预处理类型": preHandleType, "分组键值集": [], "统计键值集":[]};
|
|
|
break;
|
|
|
case JV.PROP_HANDLE_TYPE_ADJUST:
|
|
|
- item = {Name: "预处理环节", Title: "", "映射数据对象": "bills", "预处理类型": preHandleType, "数据调整集":[]};
|
|
|
+ rst = {Name: "预处理环节", Title: "", "映射数据对象": "bills", "预处理类型": preHandleType, "数据调整集":[]};
|
|
|
break;
|
|
|
case JV.PROP_HANDLE_TYPE_ADD_DUMMY:
|
|
|
- item = {Name: "预处理环节", Title: "", "映射数据对象": "bills", "预处理类型": preHandleType, "Dummy数据集":[]};
|
|
|
+ rst = {Name: "预处理环节", Title: "", "映射数据对象": "bills", "预处理类型": preHandleType, "Dummy数据集":[]};
|
|
|
break;
|
|
|
default:
|
|
|
- item = {Name: "预处理环节", Title: "", "映射数据对象": "bills", "预处理类型": "排序", "排序方式": "normal", "排序键值集":[]};
|
|
|
+ rst = {Name: "预处理环节", Title: "", "映射数据对象": "bills", "预处理类型": "排序", "排序方式": "normal", "排序键值集":[]};
|
|
|
break;
|
|
|
}
|
|
|
+ return rst;
|
|
|
+ },
|
|
|
+ addNewNode: function(nodeType) {
|
|
|
+ let me = this, item = me.createNewNode(nodeType);
|
|
|
me.private_set_title(item);
|
|
|
me.treeObj.addNodes(null, -1, [item], true);
|
|
|
},
|
|
@@ -323,6 +327,44 @@ let preHandleObj = {
|
|
|
}
|
|
|
return rst;
|
|
|
},
|
|
|
+ addHoverDom: function(treeId, treeNode) {
|
|
|
+ let me = preHandleObj, sObj = $("#" + treeNode.tId + "_span");
|
|
|
+ if (treeNode.level > 0 || $("#addBtn_"+treeNode.tId).length > 0) return;
|
|
|
+ if (treeNode[JV.PROP_HANDLE_TYPE] === JV.PROP_HANDLE_TYPE_SORT && treeNode[JV.PROP_SORT_TYPE] === "accord_to_parent") {
|
|
|
+ let addStr = "<span class='button add' id='addBtn_" + treeNode.tId + "' title='新增子排序' onfocus='this.blur();'></span>";
|
|
|
+ sObj.after(addStr);
|
|
|
+ let btn = $("#addBtn_"+treeNode.tId);
|
|
|
+ if (btn) btn.bind("click", function(){
|
|
|
+ let newSubNodes = [];
|
|
|
+ let newNode = me.createNewNode(treeNode[JV.PROP_HANDLE_TYPE]);
|
|
|
+ newNode.Name = "子排序";
|
|
|
+ newNode[JV.PROP_DATA_KEY] = treeNode[JV.PROP_DATA_KEY];
|
|
|
+ me.private_set_title(newNode);
|
|
|
+ newSubNodes.push(newNode);
|
|
|
+ treeNode.isParent = true;
|
|
|
+ me.treeObj.addNodes(treeNode, -1, newSubNodes, true);
|
|
|
+ me.treeObj.expandNode(treeNode, true, false);
|
|
|
+ });
|
|
|
+ } else if (treeNode[JV.PROP_HANDLE_TYPE] === JV.PROP_HANDLE_TYPE_FILTER) {
|
|
|
+ let addStr = "<span class='button add' id='addBtn_" + treeNode.tId + "' title='新增子过滤' onfocus='this.blur();'></span>";
|
|
|
+ sObj.after(addStr);
|
|
|
+ let btn = $("#addBtn_"+treeNode.tId);
|
|
|
+ if (btn) btn.bind("click", function(){
|
|
|
+ let newSubNodes = [];
|
|
|
+ let newNode = me.createNewNode(treeNode[JV.PROP_HANDLE_TYPE]);
|
|
|
+ newNode.Name = "子过滤";
|
|
|
+ newNode[JV.PROP_DATA_KEY] = treeNode[JV.PROP_DATA_KEY];
|
|
|
+ me.private_set_title(newNode);
|
|
|
+ newSubNodes.push(newNode);
|
|
|
+ treeNode.isParent = true;
|
|
|
+ me.treeObj.addNodes(treeNode, -1, newSubNodes, true);
|
|
|
+ me.treeObj.expandNode(treeNode, true, false);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ removeHoverDom: function (treeId, treeNode) {
|
|
|
+ $("#addBtn_"+treeNode.tId).unbind().remove();
|
|
|
+ },
|
|
|
extractTabFields: function (rptTpl) {
|
|
|
let me = this, nodes = me.treeObj.getNodes();
|
|
|
let rst = [];
|
|
@@ -360,6 +402,7 @@ let preHandleSortObj = {
|
|
|
topBillsTreeObj: null,
|
|
|
otherBillsTreeObj: null,
|
|
|
copyNode: function (src, dest) {
|
|
|
+ let me = preHandleSortObj;
|
|
|
dest[JV.PROP_SORT_TYPE] = src[JV.PROP_SORT_TYPE];
|
|
|
switch (sort_types.indexOf(src[JV.PROP_SORT_TYPE])) {
|
|
|
case -1:
|
|
@@ -390,7 +433,6 @@ let preHandleSortObj = {
|
|
|
case 2 :
|
|
|
//according to parent
|
|
|
dest[JV.PROP_PARENT_CHILD_SORT_KEY] = {};
|
|
|
- dest[JV.PROP_OTHER_SUB_SORT] = [];
|
|
|
dest[JV.PROP_PARENT_CHILD_SORT_KEY][JV.PROP_PARENT_DATA_KEY] = src[JV.PROP_PARENT_CHILD_SORT_KEY][JV.PROP_PARENT_DATA_KEY];
|
|
|
dest[JV.PROP_PARENT_CHILD_SORT_KEY][JV.PROP_PARENT_SORT_KEYS] = [];
|
|
|
for (let item of src[JV.PROP_PARENT_CHILD_SORT_KEY][JV.PROP_PARENT_SORT_KEYS]) {
|
|
@@ -400,19 +442,14 @@ let preHandleSortObj = {
|
|
|
for (let item of src[JV.PROP_PARENT_CHILD_SORT_KEY][JV.PROP_CHILD_SORT_KEYS]) {
|
|
|
dest[JV.PROP_PARENT_CHILD_SORT_KEY][JV.PROP_CHILD_SORT_KEYS].push(item);
|
|
|
}
|
|
|
+ dest[JV.PROP_OTHER_SUB_SORT] = [];
|
|
|
if (src[JV.PROP_OTHER_SUB_SORT] !== null && src[JV.PROP_OTHER_SUB_SORT] !== undefined) {
|
|
|
+ dest.items = [];
|
|
|
for (let subSort of src[JV.PROP_OTHER_SUB_SORT]) {
|
|
|
- let st = {};
|
|
|
- st[JV.PROP_SORT_TYPE] = subSort[JV.PROP_SORT_TYPE];
|
|
|
- if (subSort[JV.PROP_SORT_TYPE] === "normal") {
|
|
|
- st[JV.PROP_SORT_KEYS] = [];
|
|
|
- for (let item of subSort[JV.PROP_SORT_KEYS]) {
|
|
|
- let di = {key: item.key, order: item.order};
|
|
|
- st[JV.PROP_SORT_KEYS].push(di);
|
|
|
- }
|
|
|
- } else {
|
|
|
- //其他暂时不实现,目前没那么复杂
|
|
|
- }
|
|
|
+ let destSubSort = {Name: "子排序"};
|
|
|
+ me.copyNode(subSort, destSubSort);
|
|
|
+ destSubSort[JV.PROP_DATA_KEY] = src[JV.PROP_DATA_KEY];
|
|
|
+ dest.items.push(destSubSort);
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
@@ -639,6 +676,17 @@ let preHandleSortObj = {
|
|
|
case 2 :
|
|
|
//according to parent
|
|
|
rst[JV.PROP_PARENT_CHILD_SORT_KEY] = handleObj[JV.PROP_PARENT_CHILD_SORT_KEY];
|
|
|
+ rst[JV.PROP_OTHER_SUB_SORT] = [];
|
|
|
+ if (handleObj.items && handleObj.items.length > 0) {
|
|
|
+ for (let subSort of handleObj.items) {
|
|
|
+ let dtlRst = {};
|
|
|
+ me.copyNode(subSort, dtlRst);
|
|
|
+ delete dtlRst.Name;
|
|
|
+ delete dtlRst.PROP_DATA_KEY;
|
|
|
+ rst[JV.PROP_OTHER_SUB_SORT].push(dtlRst);
|
|
|
+ dtlRst = null;
|
|
|
+ }
|
|
|
+ }
|
|
|
break;
|
|
|
case 3 :
|
|
|
//self define
|
|
@@ -653,7 +701,7 @@ let preHandleSortObj = {
|
|
|
let preHandleFilterObj = {
|
|
|
treeObj: null,
|
|
|
copyNode: function (src, dest) {
|
|
|
- let keys = [];
|
|
|
+ let me = preHandleFilterObj, keys = [];
|
|
|
for (let filterItem of src[JV.PROP_FILTER_KEYS]) {
|
|
|
let item = {key: filterItem.key};
|
|
|
item[JV.PROP_FILTER_CONDITION] = filterItem[JV.PROP_FILTER_CONDITION];
|
|
@@ -664,7 +712,20 @@ let preHandleFilterObj = {
|
|
|
}
|
|
|
keys.push(item);
|
|
|
}
|
|
|
+ dest[JV.PROP_HANDLE_TYPE] = src[JV.PROP_HANDLE_TYPE];
|
|
|
+ dest[JV.PROP_DATA_KEY] = src[JV.PROP_DATA_KEY];
|
|
|
dest[JV.PROP_FILTER_KEYS] = keys;
|
|
|
+
|
|
|
+ if (src[JV.PROP_OTHER_SUB_FILTER] && src[JV.PROP_OTHER_SUB_FILTER].length > 0) {
|
|
|
+ dest.items = [];
|
|
|
+ for (let subFilter of src[JV.PROP_OTHER_SUB_FILTER]) {
|
|
|
+ let dtlRst = {Name: "子过滤"};
|
|
|
+ me.copyNode(subFilter, dtlRst);
|
|
|
+ dtlRst[JV.PROP_HANDLE_TYPE] = src[JV.PROP_HANDLE_TYPE];
|
|
|
+ dtlRst[JV.PROP_DATA_KEY] = src[JV.PROP_DATA_KEY];
|
|
|
+ dest.items.push(dtlRst);
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
refresh_node: function () {
|
|
|
let me = this;
|
|
@@ -816,18 +877,21 @@ let preHandleFilterObj = {
|
|
|
me.resetFilter();
|
|
|
},
|
|
|
extractTabFields: function (handleObj) {
|
|
|
- let me = this, rst = {};
|
|
|
- rst[JV.PROP_HANDLE_TYPE] = handleObj[JV.PROP_HANDLE_TYPE];
|
|
|
- rst[JV.PROP_DATA_KEY] = handleObj[JV.PROP_DATA_KEY];
|
|
|
- rst[JV.PROP_FILTER_KEYS] = [];
|
|
|
- for (let item of handleObj[JV.PROP_FILTER_KEYS]) {
|
|
|
- let dtl = {};
|
|
|
- dtl.key = item.key;
|
|
|
- dtl[JV.PROP_FILTER_CONDITION] = item[JV.PROP_FILTER_CONDITION];
|
|
|
- dtl[JV.PROP_FILTER_COMPARE_VAL] = item[JV.PROP_FILTER_COMPARE_VAL]?item[JV.PROP_FILTER_COMPARE_VAL]:null;
|
|
|
- dtl[JV.PROP_FILTER_COMPARE_OBJ] = item[JV.PROP_FILTER_COMPARE_OBJ]?item[JV.PROP_FILTER_COMPARE_OBJ]:null;
|
|
|
- dtl[JV.PROP_FILTER_COMPARE_OBJ_KEY] = item[JV.PROP_FILTER_COMPARE_OBJ_KEY]?item[JV.PROP_FILTER_COMPARE_OBJ_KEY]:null;
|
|
|
- rst[JV.PROP_FILTER_KEYS].push(dtl);
|
|
|
+ let me = preHandleFilterObj, rst = {};
|
|
|
+ // rst[JV.PROP_HANDLE_TYPE] = handleObj[JV.PROP_HANDLE_TYPE];
|
|
|
+ // rst[JV.PROP_DATA_KEY] = handleObj[JV.PROP_DATA_KEY];
|
|
|
+ // rst[JV.PROP_FILTER_KEYS] = [];
|
|
|
+ me.copyNode(handleObj, rst);
|
|
|
+ rst[JV.PROP_OTHER_SUB_FILTER] = [];
|
|
|
+ if (handleObj.items && handleObj.items.length > 0) {
|
|
|
+ for (let subFilter of handleObj.items) {
|
|
|
+ let dtlRst = {};
|
|
|
+ me.copyNode(subFilter, dtlRst);
|
|
|
+ delete dtlRst.Name;
|
|
|
+ delete dtlRst[JV.PROP_DATA_KEY];
|
|
|
+ rst[JV.PROP_OTHER_SUB_FILTER].push(dtlRst);
|
|
|
+ dtlRst = null;
|
|
|
+ }
|
|
|
}
|
|
|
return rst;
|
|
|
}
|