user.js 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. $(function () {
  2. $("#jqGrid").jqGrid({
  3. url: '../sys/user/list',
  4. datatype: "json",
  5. colModel: [
  6. {label: '用户ID', name: 'userId', index: "user_id", key: true, hidden: true},
  7. {label: '用户名', name: 'username', width: 75},
  8. // {label: '所属部门', name: 'deptName', width: 75},
  9. {label: '邮箱', name: 'email', width: 90},
  10. {label: '手机号', name: 'mobile', width: 100},
  11. {
  12. label: '状态', name: 'status', width: 80, formatter: function (value) {
  13. return value === 0 ?
  14. '<span class="label label-danger">禁用</span>' :
  15. '<span class="label label-success">正常</span>';
  16. }
  17. },
  18. {
  19. label: '创建时间', name: 'createTime', index: "create_time", width: 80, formatter: function (value) {
  20. return transDate(value);
  21. }
  22. }],
  23. viewrecords: true,
  24. height: 385,
  25. rowNum: 10,
  26. rowList: [10, 30, 50],
  27. rownumbers: true,
  28. rownumWidth: 25,
  29. autowidth: true,
  30. multiselect: true,
  31. pager: "#jqGridPager",
  32. jsonReader: {
  33. root: "page.list",
  34. page: "page.currPage",
  35. total: "page.totalPage",
  36. records: "page.totalCount"
  37. },
  38. prmNames: {
  39. page: "page",
  40. rows: "limit",
  41. order: "order"
  42. },
  43. gridComplete: function () {
  44. //隐藏grid底部滚动条
  45. $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "hidden"});
  46. }
  47. });
  48. });
  49. var setting = {
  50. data: {
  51. simpleData: {
  52. enable: true,
  53. idKey: "deptId",
  54. pIdKey: "parentId",
  55. rootPId: -1
  56. },
  57. key: {
  58. url: "nourl"
  59. }
  60. }
  61. };
  62. var ztree;
  63. var vm = new Vue({
  64. el: '#rrapp',
  65. data: {
  66. q: {
  67. username: null
  68. },
  69. showList: true,
  70. title: null,
  71. roleList: {},
  72. user: {
  73. status: 1,
  74. deptName: '',
  75. roleIdList: []
  76. },
  77. ruleValidate: {
  78. /*username: [
  79. {required: true, message: '姓名不能为空', trigger: 'blur'}
  80. ],
  81. email: [
  82. {required: true, message: '邮箱不能为空', trigger: 'blur'},
  83. {type: 'email', message: '邮箱格式不正确', trigger: 'blur'}
  84. ],
  85. mobile: [
  86. {required: true, message: '手机号不能为空', trigger: 'blur'}
  87. ]*/
  88. },
  89. storeList: []
  90. },
  91. methods: {
  92. query: function () {
  93. vm.reload();
  94. },
  95. add: function () {
  96. vm.showList = false;
  97. vm.title = "新增(默认密码:111111)";
  98. vm.roleList = {};
  99. vm.user = {status: 1, roleIdList: [], deptId: '', deptName: '', storeId: '', roleType: 2};
  100. vm.storeList = [];
  101. //获取角色信息
  102. this.getRoleList();
  103. vm.getDept();
  104. vm.getStoreList();
  105. },
  106. getStoreList: function() {
  107. $.get("../store/queryAll", function (r) {
  108. vm.storeList = r.list;
  109. });
  110. },
  111. getDept: function () {
  112. //加载部门树
  113. $.get("../sys/dept/list", function (r) {
  114. ztree = $.fn.zTree.init($("#deptTree"), setting, r.list);
  115. var node = ztree.getNodeByParam("deptId", vm.user.deptId);
  116. if (node != null) {
  117. ztree.selectNode(node);
  118. vm.user.deptName = node.name;
  119. }
  120. })
  121. },
  122. update: function () {
  123. var userId = getSelectedRow();
  124. if (userId == null) {
  125. return;
  126. }
  127. vm.showList = false;
  128. vm.title = "修改";
  129. $.get("../sys/user/info/" + userId, function (r) {
  130. vm.user = r.user;
  131. //获取角色信息
  132. vm.getStoreList();
  133. vm.getRoleList();
  134. vm.getDept();
  135. });
  136. },
  137. del: function () {
  138. var userIds = getSelectedRows();
  139. if (userIds == null) {
  140. return;
  141. }
  142. confirm('确定要删除选中的记录?', function () {
  143. $.ajax({
  144. type: "POST",
  145. url: "../sys/user/delete",
  146. contentType: "application/json",
  147. data: JSON.stringify(userIds),
  148. success: function (r) {
  149. if (r.code == 0) {
  150. alert('操作成功', function (index) {
  151. vm.reload();
  152. });
  153. } else {
  154. alert(r.msg);
  155. }
  156. }
  157. });
  158. });
  159. },
  160. saveOrUpdate: function (event) {
  161. var url = vm.user.userId == null ? "../sys/user/save" : "../sys/user/update";
  162. $.ajax({
  163. type: "POST",
  164. url: url,
  165. contentType: "application/json",
  166. data: JSON.stringify(vm.user),
  167. success: function (r) {
  168. if (r.code === 0) {
  169. alert('操作成功', function (index) {
  170. vm.reload();
  171. });
  172. } else {
  173. alert(r.msg);
  174. }
  175. }
  176. });
  177. },
  178. getRoleList: function () {
  179. $.get("../sys/role/select", function (r) {
  180. vm.roleList = r.list;
  181. });
  182. },
  183. reload: function (event) {
  184. vm.showList = true;
  185. var page = $("#jqGrid").jqGrid('getGridParam', 'page');
  186. $("#jqGrid").jqGrid('setGridParam', {
  187. postData: {'username': vm.q.username},
  188. page: page
  189. }).trigger("reloadGrid");
  190. vm.handleReset('formValidate');
  191. },
  192. deptTree: function () {
  193. openWindow({
  194. title: "选择部门",
  195. area: ['300px', '450px'],
  196. content: jQuery("#deptLayer"),
  197. btn: ['确定', '取消'],
  198. btn1: function (index) {
  199. var node = ztree.getSelectedNodes();
  200. //选择上级部门
  201. vm.user.deptId = node[0].deptId;
  202. vm.user.deptName = node[0].name;
  203. layer.close(index);
  204. }
  205. });
  206. },
  207. handleSubmit: function (name) {
  208. handleSubmitValidate(this, name, function () {
  209. vm.saveOrUpdate()
  210. });
  211. },
  212. handleReset: function (name) {
  213. handleResetForm(this, name);
  214. }
  215. }
  216. });