userManager.js 8.3 KB

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