|
@@ -12,6 +12,7 @@ $(document).ready(function() {
|
|
|
const ProjectTree = createDragTree(setting.treeSetting);
|
|
|
ProjectTree.loadDatas(setting.source);
|
|
|
const TableObj = $(setting.table);
|
|
|
+ let tenderTreeShowLevel;
|
|
|
|
|
|
const Utils = {
|
|
|
getRowTdHtml: function (node, tree) {
|
|
@@ -134,6 +135,22 @@ $(document).ready(function() {
|
|
|
postData('/subproj/move', { id: node.id, type }, function (result) {
|
|
|
Utils.refreshTreeTable(result);
|
|
|
});
|
|
|
+ },
|
|
|
+ expandByLevel: function(level){
|
|
|
+ ProjectTree.expandByLevel(level);
|
|
|
+ for (const node of ProjectTree.nodes) {
|
|
|
+ const tr = $(`tr[tree_id=${node.id}]`);
|
|
|
+ if (node.expanded) {
|
|
|
+ $('.fold-switch', tr).html(`<i class="fa fa-minus-square-o"></i>`);
|
|
|
+ } else {
|
|
|
+ $('.fold-switch', tr).html(`<i class="fa fa-plus-square-o"></i>`);
|
|
|
+ }
|
|
|
+ if (node.visible) {
|
|
|
+ tr.show();
|
|
|
+ } else {
|
|
|
+ tr.hide();
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
};
|
|
|
|
|
@@ -236,6 +253,49 @@ $(document).ready(function() {
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
+
|
|
|
+ const getChildrenLevel = function (node) {
|
|
|
+ let iLevel = node.tree_level || 1;
|
|
|
+ if (node.children && node.children.length > 0) {
|
|
|
+ for (const c of node.children) {
|
|
|
+ iLevel = Math.max(iLevel, getChildrenLevel(c));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return iLevel;
|
|
|
+ };
|
|
|
+ tenderTreeShowLevel = $.cs_showLevel({
|
|
|
+ selector: '#show-level',
|
|
|
+ levels: [
|
|
|
+ {
|
|
|
+ type: 'sort', count: 5, visible_count: function () {
|
|
|
+ return ProjectTree.children.map(getChildrenLevel).reduce((x, y) => { return Math.max(x, y); }, 0) - 1;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: 'last', title: '最底层', visible: function () {
|
|
|
+ const count = ProjectTree.children.map(getChildrenLevel).reduce((x, y) => { return Math.max(x, y); }, 0) - 1;
|
|
|
+ return count > 0;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ showLevel: function (tag) {
|
|
|
+ switch (tag) {
|
|
|
+ case "1":
|
|
|
+ case "2":
|
|
|
+ case "3":
|
|
|
+ case "4":
|
|
|
+ case "5":
|
|
|
+ Utils.expandByLevel(parseInt(tag));
|
|
|
+ break;
|
|
|
+ case "last":
|
|
|
+ Utils.expandByLevel(20);
|
|
|
+ break;
|
|
|
+ default: return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ tenderTreeShowLevel.initShowLevel();
|
|
|
+ tenderTreeShowLevel.refreshMenuVisible();
|
|
|
return { ProjectTree, TableObj, ...Utils };
|
|
|
})({
|
|
|
treeSetting: { id: 'id', pid: 'tree_pid', level: 'tree_level', order: 'tree_order', rootId: '-1' },
|