department_list.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. /**
  2. * 初始化树
  3. */
  4. function inintTree(){
  5. var setting = {
  6. view: {
  7. dblClickExpand: false,
  8. showLine: false,
  9. selectedMulti: false
  10. },
  11. data : {
  12. simpleData : {
  13. enable : true,
  14. idKey : "id",
  15. pIdKey : "parentId",
  16. rootPId : 0
  17. }
  18. },
  19. callback: {
  20. beforeClick: function(treeId, treeNode) {
  21. var zTree = $.fn.zTree.getZTreeObj("treeDemo");
  22. if (treeNode.isParent) {
  23. zTree.expandNode(treeNode);
  24. return false;
  25. } else {
  26. //demoIframe.attr("src",treeNode.file + ".html");
  27. return true;
  28. }
  29. },
  30. onRightClick : onRightClick //右键事件
  31. }
  32. };
  33. $.ajax({
  34. url : "/admin/content/cat/tree",
  35. type : "GET",
  36. async : true,
  37. success : function(data) {
  38. $.fn.zTree.init($("#treeDemo"), setting, data);
  39. zTree = $.fn.zTree.getZTreeObj("treeDemo");
  40. },
  41. error : function() {
  42. errorMessage("加载失败!");
  43. }
  44. });
  45. }
  46. /**
  47. * 右键事件
  48. * @param event
  49. * @param treeId
  50. * @param treeNode
  51. * @constructor
  52. */
  53. function onRightClick(event, treeId, treeNode) {
  54. if (!treeNode && event.target.tagName.toLowerCase() != "button" && $(event.target).parents("a").length == 0) {
  55. zTree.cancelSelectedNode();
  56. showRMenu("root", event.clientX, event.clientY);
  57. } else if (treeNode && !treeNode.noR) {
  58. zTree.selectNode(treeNode);
  59. showRMenu("node", event.clientX, event.clientY);
  60. }
  61. }
  62. /**
  63. * 显示右键菜单
  64. * @param type
  65. * @param x
  66. * @param y
  67. */
  68. function showRMenu(type, x, y) {
  69. $("#rMenu ul").show();
  70. console.log(type);
  71. if (type=="root") {
  72. $("#m_del").hide();
  73. } else {
  74. $("#m_del").show();
  75. }
  76. rMenu.css({"top":y+"px", "left":x+"px", "visibility":"visible"});
  77. $("body").bind("mousedown", onBodyMouseDown);
  78. }
  79. /**
  80. * 隐藏右键菜单
  81. */
  82. function hideRMenu() {
  83. if (rMenu) rMenu.css({"visibility": "hidden"});
  84. $("body").unbind("mousedown", onBodyMouseDown);
  85. }
  86. /**
  87. * 点击树以外的地方隐藏右键菜单
  88. * @param event
  89. */
  90. function onBodyMouseDown(event){
  91. if (!(event.target.id == "rMenu" || $(event.target).parents("#rMenu").length>0)) {
  92. rMenu.css({"visibility" : "hidden"});
  93. }
  94. }
  95. // var addCount = 1;
  96. /**
  97. * 新增节点
  98. * @type {number}
  99. */
  100. function addTreeNode() {
  101. hideRMenu();
  102. var newNode = { name:"新建节点"};
  103. // var newNode = { name:"增加" + (addCount++)};
  104. if (zTree.getSelectedNodes()[0]) {
  105. newNode.checked = zTree.getSelectedNodes()[0].checked;
  106. zTree.addNodes(zTree.getSelectedNodes()[0], newNode);
  107. } else {
  108. zTree.addNodes(null, newNode);
  109. }
  110. }
  111. /**
  112. * 移除节点
  113. */
  114. function removeTreeNode() {
  115. hideRMenu();
  116. var nodes = zTree.getSelectedNodes();
  117. if (nodes && nodes.length>0) {
  118. if (nodes[0].children && nodes[0].children.length > 0) {
  119. var msg = "要删除的节点是父节点,如果删除将连同子节点一起删掉。\n\n请确认!";
  120. if (confirm(msg)==true){
  121. zTree.removeNode(nodes[0]);
  122. }
  123. } else {
  124. zTree.removeNode(nodes[0]);
  125. }
  126. }
  127. }
  128. /**
  129. * 修改节点
  130. */
  131. function editTreeNode() {
  132. hideRMenu();
  133. }