userManager.js 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264
  1. var zdata = [];
  2. var dept_tree = null;
  3. var edittype = "add";
  4. var cols = [{
  5. width: 10,
  6. text: '序号',
  7. type: 'number',
  8. flex: false,
  9. colClass: 'text-center'
  10. }, {
  11. width: 10,
  12. text: 'ID',
  13. type: 'number',
  14. flex: false,
  15. colClass: 'text-center'
  16. }, {
  17. width: 30,
  18. text: '姓名',
  19. type: 'string',
  20. flex: false,
  21. sort: 'down',
  22. colClass: 'text-center'
  23. }, {
  24. width: 40,
  25. text: '工号',
  26. type: 'string',
  27. flex: true,
  28. colClass: 'text-center'
  29. }, {
  30. width: 80,
  31. text: '手机号',
  32. type: 'string',
  33. flex: false,
  34. sort: 'down',
  35. colClass: 'text-center'
  36. }, {
  37. width: 80,
  38. text: '角色',
  39. type: 'string',
  40. flex: true,
  41. colClass: 'text-center'
  42. }, {
  43. width: 160,
  44. text: '操作',
  45. type: 'string',
  46. flex: true,
  47. colClass: 'text-center'
  48. }];
  49. $(document).ready(function() {
  50. $("#main_content_title").html("用户管理")
  51. $('#dashboard').dashboard({ draggable: true });
  52. var zTreeObj;
  53. var zNodes = [];
  54. dept_tree = $.fn.zTree.init($("#department_tree"), {}, zNodes);
  55. getDept();
  56. $("#user_add").on("click", function() {
  57. var nodedata = dept_tree.getSelectedNodes();
  58. edittype = "add"
  59. loadUserData(nodedata)
  60. $('#addUserModal').modal('show')
  61. })
  62. $("#dept_add").on("click", function() {
  63. var nodedata = dept_tree.getSelectedNodes();
  64. edittype = "add"
  65. loadData(nodedata)
  66. $('#addModal').modal('show')
  67. })
  68. $("#dept_edit").on("click", function() {
  69. //获取选中的节点
  70. var nodedata = dept_tree.getSelectedNodes();
  71. if (nodedata.length < 1) {
  72. layer.msg('请先选择部门!', {
  73. time: 2000, //20s后自动关闭
  74. });
  75. return;
  76. }
  77. edittype = "edit"
  78. loadData(nodedata)
  79. $('#addModal').modal('show');
  80. });
  81. $("#dept_delete").on("click", function() {
  82. //获取选中的节点
  83. var nodedata = dept_tree.getSelectedNodes();
  84. if (nodedata.length < 1) {
  85. layer.msg('请先选择部门!', {
  86. time: 2000, //20s后自动关闭
  87. });
  88. return;
  89. }
  90. DeptDelete(nodedata[0].id, function(data) {
  91. layer.msg('删除成功!', {
  92. time: 2000, //20s后自动关闭
  93. });
  94. dept_tree.removeNode(nodedata[0]);
  95. }, function(error) {
  96. });
  97. });
  98. $('.datatable').datatable({
  99. checkable: false,
  100. sortable: false,
  101. data: {
  102. cols: cols,
  103. rows: []
  104. }
  105. });
  106. });
  107. function getDept() {
  108. function zTreeOnRename(event, treeId, treeNode, isCancel) {
  109. alert(treeNode.tId + ", " + treeNode.name);
  110. }
  111. // function zTreeBeforeDrop(treeId, treeNodes, targetNode, moveType) {
  112. // return !(targetNode == null || (moveType != "inner" && !targetNode.parentTId));
  113. // };
  114. function zTreeOnRemove(event, treeId, treeNode) {
  115. alert(treeNode.tId + ", " + treeNode.name);
  116. }
  117. function zTreeOnClick(event, treeId, treeNode) {
  118. updateUser(treeNode.id)
  119. };
  120. var setting = {
  121. data: {
  122. simpleData: {
  123. enable: true,
  124. idKey: "id",
  125. pIdKey: "pId",
  126. rootPId: null
  127. }
  128. },
  129. view: { //表示tree的显示状态
  130. selectMulti: false //表示禁止多选
  131. },
  132. check: { //表示tree的节点在点击时的相关设置
  133. enable: false, //是否显示radio/checkbox
  134. chkStyle: "checkbox", //值为checkbox或者radio表示
  135. checkboxType: { p: "", s: "" }, //表示父子节点的联动效果
  136. radioType: "level" //设置tree的分组
  137. },
  138. callback: {
  139. onRename: zTreeOnRename,
  140. // beforeDrop: zTreeBeforeDrop,
  141. onRemove: zTreeOnRemove,
  142. onClick: zTreeOnClick
  143. },
  144. edit: {
  145. enable: true,
  146. drag: {
  147. autoExpandTrigger: true,
  148. isMove: true,
  149. prev: false,
  150. next: true,
  151. inner: true,
  152. autoOpenTime: 0
  153. },
  154. showRenameBtn: false,
  155. showRemoveBtn: false
  156. }
  157. };
  158. DeptGetAll(function(data) {
  159. zdata = [];
  160. for (var i = 0; i < data.length; i++) {
  161. var m = data[i];
  162. var zdataItem = {};
  163. zdataItem["id"] = m.id;
  164. zdataItem["value"] = m.id;
  165. zdataItem["pId"] = null;
  166. zdataItem["name"] = m.organname;
  167. zdataItem["children"] = addobj(m);
  168. zdata.push(zdataItem);
  169. }
  170. dept_tree = $.fn.zTree.init($("#department_tree"), setting, zdata)
  171. }, function(error) {
  172. });
  173. }
  174. function addobj(data) {
  175. var zdata = [];
  176. if (typeof(data.childs) != "undefined" && data.childs != null &&
  177. data.childs.length > 0) {
  178. for (var i = 0; i < data.childs.length; i++) {
  179. var m = data.childs[i];
  180. var zdataItem = {};
  181. zdataItem["id"] = m.id;
  182. zdataItem["value"] = m.id;
  183. zdataItem["pId"] = data.id;
  184. zdataItem["icon"] = "";
  185. zdataItem["name"] = m.organname;
  186. zdataItem["children"] = addobj(m);
  187. zdata.push(zdataItem);
  188. }
  189. return zdata;
  190. } else {
  191. return [];
  192. }
  193. }
  194. function updateUser(organid) {
  195. var userData = {
  196. "organid": organid
  197. }
  198. UserGetList(userData, function(data) {
  199. console.log(data)
  200. //跟新table
  201. var rowdata = [];
  202. if (data != null && data.length > 0) {
  203. for (var i = 0; i < data.length; i++) {
  204. var user = data[i];
  205. var attr = "";
  206. if (user.authorities.length > 0) {
  207. for (var j = 0; j < user.authorities.length; j++) {
  208. var at = user.authorities[j];
  209. if (attr.length > 0) {
  210. attr += "," + at.authority;
  211. continue;
  212. }
  213. attr += at.authority;
  214. }
  215. }
  216. var userdata = {};
  217. userdata["checked"] = false;
  218. userdata["data"] = [i + 1, user.id, user.username, user.workno == null ? -1 : user.workno, user.mobile, attr, '<a href="#" data-toggle="modal" data-target="#myModal"><i class="icon icon-edit"></i> 修改</a><a href="#"><i class="icon icon-remove-circle"></i> 删除</a>'];
  219. rowdata.push(userdata);
  220. }
  221. }
  222. // 使用data参数更新数据:
  223. $('.datatable').datatable('load', {
  224. cols: cols,
  225. rows: rowdata
  226. });
  227. },
  228. function(error) {
  229. });
  230. }