1 var zNodes;
2 $("#department").click(function () {
3 var obj = $(this);
4 //加载后,根据默认选中值设置文字
5 var arr = [];
6 var obm = obj.find("span");
7 if (obm.length > 0) {
8 for (var i = 0; i < obm.length; i++) {
9 arr.push(obm.eq(i).attr("data-id"));
10 }
11 }
12 layer.load(5);
13 $.ajax({
14 dataType:"json",
15 url:"/sysadmin/depart/GetDataForTree",
16 data:{isLoadAll: false},
17 complete:function(xtr,status){layer.closeAll("loading");},
18 success:function(json){
19 if(json.Err==1){
20 art.dialog({title:"错误",content:json.Msg,lock:true,icon:"error"});
21 }else{
22 art.dialog({
23 title:"设置部门",
24 content:"<div><ul id=\"ztree\" class=\"ztree\"></ul></div>",
25 lock: true,
26 cancel:true,
27 ok:function(){
28 var ztree = $.fn.zTree.getZTreeObj("ztree");
29 var nodes = ztree.getCheckedNodes();
30 var sarr = [];
31 for (var i = 0; i < nodes.length; i++) {
32 sarr.push("<span data-id=\"" + nodes[i].DepartId + "\">" + nodes[i].DepartName + "</span>");
33 }
34 obj.html(sarr.join(";"));
35 },
36 init: function () {
37 /*初始化ztree begin*/
38 this.zNodes = json.Data;
39 var setting = {
40 view: {
41 showIcon: false,
42 dblClickExpand: false,
43 selectedMulti: true//多选
44 },
45 check: {
46 enable: true,
47 nocheckInherit: true,
48 //chkStyle: "checkbox",
49 chkboxType: { "Y": "", "N": "" }
50 },
51 key: {
52 name: "DepartName",
53 id: "DepartId"
54 },
55 data: {
56 simpleData: {
57 enable: true,
58 idKey: "DepartId",
59 pIdKey: "ParentId"
60 },
61 key: {
62 name: "DepartName"
63 }
64 },
65 callback: {
66 onMouseDown: function (event, treeId, treeNode) { },
67 onClick: function (event, treeId, treeNode) { }
68 }
69 };
70 $.fn.zTree.init($("#ztree"), setting, this.zNodes);
71 /*初始化ztree end*/
72
73 var ztree = $.fn.zTree.getZTreeObj("ztree");
74 /*默认打开一级树 begin*/
75 var openTreeNode = ztree.getNodeByParam("DepartId", 1);
76 if (openTreeNode != undefined) {
77 ztree.expandNode(openTreeNode,true);
78 }
79 /*默认打开一级树 end*/
80 if (arr.length > 0) {
81 for (var i = 0; i < arr.length; i++) {
82 for (var j = 0; j < this.zNodes.length; j++) {
83 if (this.zNodes[j].DepartId == parseInt(arr[i])) {
84 //设置勾选
85 var ckedNode = ztree.getNodeByParam("DepartId", arr[i]);
86 ztree.checkNode(ckedNode, true);
87 //默认展开选中项的父结点
88 ztree.expandNode(ckedNode.getParentNode(), true);
89 break;
90 }
91 }
92 }
93 }
94 }
95 });
96 }
97 }
98 });
99 });