|
@@ -33,6 +33,8 @@ let zTreeOprObj = {
|
|
|
treeObj: null,
|
|
|
currentNode: null,
|
|
|
moveSrcTopNode: null,
|
|
|
+ dupTplIds: null,
|
|
|
+ hasRefreshedDupRefIds: false,
|
|
|
iniEngineerIdList: function() {
|
|
|
for (let item of engineeringList) {
|
|
|
$("#engineerIds").append("<option value='" + item.value + "'>" + item.name + "</option>");
|
|
@@ -573,6 +575,56 @@ let zTreeOprObj = {
|
|
|
}
|
|
|
}, null, null);
|
|
|
},
|
|
|
+ chkAndSetDupRefTplIds: function (tplNodes, selectedRefId) {
|
|
|
+ let me = zTreeOprObj, tmpRefIds = [];
|
|
|
+ me.dupTplIds = [];
|
|
|
+ let private_get_dup_ids = function (tplNode) {
|
|
|
+ if (tplNode.refId && tplNode.refId !== -1) {
|
|
|
+ let refId = tplNode.refId;
|
|
|
+ if (tmpRefIds.indexOf(refId) < 0) {
|
|
|
+ tmpRefIds.push(refId);
|
|
|
+ } else {
|
|
|
+ if (me.dupTplIds.indexOf(refId) < 0) {
|
|
|
+ me.dupTplIds.push(refId);
|
|
|
+ } else {
|
|
|
+ //
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (tplNode.items && tplNode.items.length > 0) {
|
|
|
+ for (let subTplNode of tplNode.items) {
|
|
|
+ private_get_dup_ids(subTplNode);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
+ let private_set_dup_icon = function (tplNode) {
|
|
|
+ if (me.dupTplIds.indexOf(tplNode.refId) >= 0) {
|
|
|
+ // tplNode.icon = "../../../../lib/ztree/css/img/diy/3.png"; //or below:
|
|
|
+ if (selectedRefId && selectedRefId === tplNode.refId) {
|
|
|
+ tplNode.icon = "/lib/ztree/css/img/diy/5.png";
|
|
|
+ } else {
|
|
|
+ tplNode.icon = "/lib/ztree/css/img/diy/3.png";
|
|
|
+ }
|
|
|
+ // tplNode.style = "background:url(/lib/ztree/css/img/diy/3.png) 0 0 no-repeat;"
|
|
|
+ }
|
|
|
+ if (tplNode.items && tplNode.items.length > 0) {
|
|
|
+ for (let subTplNode of tplNode.items) {
|
|
|
+ private_set_dup_icon(subTplNode);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
+ for (let tplNodeItem of tplNodes) {
|
|
|
+ private_get_dup_ids(tplNodeItem);
|
|
|
+ }
|
|
|
+ for (let tplNodeItem of tplNodes) {
|
|
|
+ private_set_dup_icon(tplNodeItem);
|
|
|
+ }
|
|
|
+ if (selectedRefId) {
|
|
|
+ me.hasRefreshedDupRefIds = true;
|
|
|
+ } else {
|
|
|
+ me.hasRefreshedDupRefIds = false;
|
|
|
+ }
|
|
|
+ },
|
|
|
getReportTemplateTreeFirstTime: function (compilationSelect) {
|
|
|
let me = zTreeOprObj, params = {};
|
|
|
params.compilationId = compilationSelect.value;
|
|
@@ -586,7 +638,8 @@ let zTreeOprObj = {
|
|
|
}
|
|
|
return rst;
|
|
|
});
|
|
|
- let allTopUserIdNodes = ["-100"];
|
|
|
+ // me.chkAndSetDupRefTplIds(result);
|
|
|
+ // console.log(dupRefIds);
|
|
|
let allTopTplNodes = [{userId: "-100", name: "公共模板", items:[], isParent: true}];
|
|
|
allTopTplNodes[0].items.push(result[0]);
|
|
|
let userIds = [];
|
|
@@ -594,39 +647,44 @@ let zTreeOprObj = {
|
|
|
let item = result[idx];
|
|
|
userIds.push(item.userId);
|
|
|
}
|
|
|
- userListObj.findUsersByIds(userIds, function () {
|
|
|
- // for (let item of result) {
|
|
|
- // let uidx = allTopUserIdNodes.indexOf(item.userId);
|
|
|
- // item.isParent = true;
|
|
|
- // let topItem = {userId: item.userId, name: item.name, items: [], isParent: true};
|
|
|
- // allTopTplNodes[uidx].items.push(item);
|
|
|
- // }
|
|
|
- });
|
|
|
- zTreeHelper.createTreeDirectly(allTopTplNodes, setting, "rptTplTree", me);
|
|
|
- me.refreshNodes();
|
|
|
- let private_setup_checked = function (itemNode) {
|
|
|
- if (itemNode.nodeType === RT.NodeType.NODE) {
|
|
|
- me.treeObj.setChkDisabled(itemNode, true);
|
|
|
- } else if (itemNode.nodeType === RT.NodeType.TEMPLATE) {
|
|
|
- me.treeObj.checkNode(itemNode, !!(itemNode.released));
|
|
|
- }
|
|
|
- if (itemNode.items && itemNode.items.length > 0) {
|
|
|
- for (let subItem of itemNode.items) {
|
|
|
- private_setup_checked(subItem);
|
|
|
+ userListObj.findUsersByIds(userIds, function (userObjs) {
|
|
|
+ for (let user of userObjs) {
|
|
|
+ for (let itemIdx = 1; itemIdx < result.length; itemIdx++) {
|
|
|
+ let item = result[itemIdx];
|
|
|
+ if (item.userId === user._id) {
|
|
|
+ allTopTplNodes.push({userId: user.userId, name: user.real_name, items: [], isParent: true});
|
|
|
+ allTopTplNodes[allTopTplNodes.length - 1].items.push(result[itemIdx]);
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- };
|
|
|
- let topNodes = me.treeObj.getNodes();
|
|
|
- me.treeObj.expandAll(true);
|
|
|
- for (let node of topNodes) {
|
|
|
- me.treeObj.setChkDisabled(node, true);
|
|
|
- if (node.items && node.items.length > 0) {
|
|
|
- for (let item of node.items) {
|
|
|
- me.treeObj.setChkDisabled(item, true);
|
|
|
- private_setup_checked(item);
|
|
|
+ zTreeHelper.createTreeDirectly(allTopTplNodes, setting, "rptTplTree", me);
|
|
|
+ let topNodes = me.treeObj.getNodes();
|
|
|
+ me.chkAndSetDupRefTplIds(topNodes, null);
|
|
|
+ me.refreshNodes();
|
|
|
+ let private_setup_checked = function (itemNode) {
|
|
|
+ if (itemNode.nodeType === RT.NodeType.NODE) {
|
|
|
+ me.treeObj.setChkDisabled(itemNode, true);
|
|
|
+ } else if (itemNode.nodeType === RT.NodeType.TEMPLATE) {
|
|
|
+ me.treeObj.checkNode(itemNode, !!(itemNode.released));
|
|
|
+ }
|
|
|
+ if (itemNode.items && itemNode.items.length > 0) {
|
|
|
+ for (let subItem of itemNode.items) {
|
|
|
+ private_setup_checked(subItem);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
+ me.treeObj.expandAll(true);
|
|
|
+ for (let node of topNodes) {
|
|
|
+ me.treeObj.setChkDisabled(node, true);
|
|
|
+ if (node.items && node.items.length > 0) {
|
|
|
+ for (let item of node.items) {
|
|
|
+ me.treeObj.setChkDisabled(item, true);
|
|
|
+ private_setup_checked(item);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
+ });
|
|
|
}, null, null);
|
|
|
},
|
|
|
getNewNodeID: function (scope, callback) {
|
|
@@ -798,6 +856,19 @@ let zTreeOprObj = {
|
|
|
);
|
|
|
}
|
|
|
},
|
|
|
+ beforeClick: function (treeId, treeNode, clickFlag) {
|
|
|
+ let me = zTreeOprObj;
|
|
|
+ if (me.dupTplIds && me.dupTplIds.indexOf(treeNode.refId) >= 0) {
|
|
|
+ let topNodes = me.treeObj.getNodes();
|
|
|
+ me.chkAndSetDupRefTplIds(topNodes, treeNode.refId);
|
|
|
+ me.refreshNodes();
|
|
|
+ } else if (me.hasRefreshedDupRefIds) {
|
|
|
+ let topNodes = me.treeObj.getNodes();
|
|
|
+ me.chkAndSetDupRefTplIds(topNodes, null);
|
|
|
+ me.refreshNodes();
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ },
|
|
|
onClick: function(event,treeId,treeNode) {
|
|
|
let me = zTreeOprObj;
|
|
|
me.currentNode = treeNode;
|
|
@@ -923,7 +994,17 @@ let userListObj = {
|
|
|
});
|
|
|
},
|
|
|
findUsersByIds: function (userIds, cb) {
|
|
|
- //
|
|
|
+ let params = {};
|
|
|
+ params.userIds = userIds;
|
|
|
+ CommonAjax.postEx("user/getUserList", params, 20000, true, function(result){
|
|
|
+ for (let user of result) {
|
|
|
+ userListObj.pushUser(user, null);
|
|
|
+ }
|
|
|
+ if (cb) {
|
|
|
+ cb(result);
|
|
|
+ }
|
|
|
+ }, null, null
|
|
|
+ );
|
|
|
}
|
|
|
};
|
|
|
|