|
@@ -89,7 +89,7 @@ const fixed_bills_types = [
|
|
|
const exposed_bills_properties = [
|
|
|
{Name: "清单_所属项目ID", Title: "", Key: "projectID", Order: "ascend"}
|
|
|
,{Name: "清单_ID", Title: "", Key: "ID", Order: "ascend"}
|
|
|
- ,{Name: "顶层父清单_ID", Title: "", Key: "topBillID", Order: "ascend", individualType: fixed_top_bills_nodes}
|
|
|
+ ,{Name: "顶层父清单_标记", Title: "", Key: "topBillID", Order: "ascend", individualType: fixed_top_bills_nodes}
|
|
|
,{Name: "清单_层次", Title: "", Key: "treeLevel", Order: "ascend"}
|
|
|
,{Name: "清单_类别", Title: "", Key: "type", Order: "ascend", individualType: fixed_bills_types}
|
|
|
,{Name: "清单_标记", Title: "", Key: "flags.flag", Order: "ascend", individualType: fixed_bills_flags}
|
|
@@ -379,7 +379,7 @@ let preHandleObj = {
|
|
|
},
|
|
|
addHoverDom: function(treeId, treeNode) {
|
|
|
let me = preHandleObj, sObj = $("#" + treeNode.tId + "_span");
|
|
|
- if (treeNode.level > 0 || $("#addBtn_"+treeNode.tId).length > 0) return;
|
|
|
+ if ((treeNode.level > 0 && treeNode[JV.PROP_HANDLE_TYPE] !== JV.PROP_HANDLE_TYPE_FILTER) || ($("#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);
|
|
@@ -405,7 +405,8 @@ let preHandleObj = {
|
|
|
newNode.Name = "子过滤";
|
|
|
newNode[JV.PROP_DATA_KEY] = treeNode[JV.PROP_DATA_KEY];
|
|
|
newNode.Title = "";
|
|
|
- me.private_set_title(newNode);
|
|
|
+ newNode[JV.PROP_HANDLE_TYPE] = JV.PROP_HANDLE_TYPE_FILTER;
|
|
|
+ // me.private_set_title(newNode);
|
|
|
newSubNodes.push(newNode);
|
|
|
treeNode.isParent = true;
|
|
|
me.treeObj.addNodes(treeNode, -1, newSubNodes, true);
|
|
@@ -771,6 +772,7 @@ let preHandleFilterObj = {
|
|
|
dest.items = [];
|
|
|
for (let subFilter of src[JV.PROP_OTHER_SUB_FILTER]) {
|
|
|
let dtlRst = {Name: "子过滤", Title: ""};
|
|
|
+ subFilter[JV.PROP_DATA_KEY] = src[JV.PROP_DATA_KEY];
|
|
|
me.copyNode(subFilter, dtlRst);
|
|
|
dtlRst[JV.PROP_HANDLE_TYPE] = src[JV.PROP_HANDLE_TYPE];
|
|
|
dtlRst[JV.PROP_DATA_KEY] = src[JV.PROP_DATA_KEY];
|
|
@@ -1006,19 +1008,25 @@ let preHandleFilterObj = {
|
|
|
},
|
|
|
extractTabFields: function (handleObj) {
|
|
|
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] = [];
|
|
|
+ let private_extract_other_sub_filter = function (parentFilter, currentFilterNode) {
|
|
|
+ let dtlRst = {};
|
|
|
+ me.copyNode(currentFilterNode, dtlRst);
|
|
|
+ parentFilter[JV.PROP_OTHER_SUB_FILTER].push(dtlRst);
|
|
|
+ if (currentFilterNode.items && currentFilterNode.items.length > 0) {
|
|
|
+ dtlRst[JV.PROP_OTHER_SUB_FILTER] = [];
|
|
|
+ for (let subFilterNode of currentFilterNode.items) {
|
|
|
+ private_extract_other_sub_filter(dtlRst, subFilterNode);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ delete dtlRst.Name;
|
|
|
+ delete dtlRst[JV.PROP_DATA_KEY];
|
|
|
+ dtlRst = null;
|
|
|
+ };
|
|
|
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;
|
|
|
+ private_extract_other_sub_filter(rst, subFilter);
|
|
|
}
|
|
|
}
|
|
|
return rst;
|