1
0

user.js 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  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. merchList: []
  91. },
  92. methods: {
  93. query: function () {
  94. vm.reload();
  95. },
  96. add: function () {
  97. vm.showList = false;
  98. vm.title = "新增(默认密码:111111)";
  99. vm.roleList = {};
  100. vm.user = {status: 1, roleIdList: [], deptId: '', deptName: '', storeId: '', roleType: 2,merchSn:''};
  101. vm.storeList = [];
  102. vm.merchList = [];
  103. //获取角色信息
  104. this.getRoleList();
  105. // vm.getDept();
  106. vm.getStoreList();
  107. vm.getMerchList();
  108. },
  109. getStoreList: function() {
  110. $.get("../store/queryAll", function (r) {
  111. vm.storeList = r.list;
  112. });
  113. },
  114. getMerchList: function() {
  115. $.get("../merch/queryAll", function (r) {
  116. vm.merchList = r.list;
  117. });
  118. },
  119. getDept: function () {
  120. //加载部门树
  121. $.get("../sys/dept/list", function (r) {
  122. ztree = $.fn.zTree.init($("#deptTree"), setting, r.list);
  123. var node = ztree.getNodeByParam("deptId", vm.user.deptId);
  124. if (node != null) {
  125. ztree.selectNode(node);
  126. vm.user.deptName = node.name;
  127. }
  128. })
  129. },
  130. update: function () {
  131. var userId = getSelectedRow();
  132. if (userId == null) {
  133. return;
  134. }
  135. vm.showList = false;
  136. vm.title = "修改";
  137. $.get("../sys/user/info/" + userId, function (r) {
  138. vm.user = r.user;
  139. //获取角色信息
  140. vm.getStoreList();
  141. vm.getRoleList();
  142. vm.getMerchList();
  143. // vm.getDept();
  144. });
  145. },
  146. del: function () {
  147. var userIds = getSelectedRows();
  148. if (userIds == null) {
  149. return;
  150. }
  151. confirm('确定要删除选中的记录?', function () {
  152. $.ajax({
  153. type: "POST",
  154. url: "../sys/user/delete",
  155. contentType: "application/json",
  156. data: JSON.stringify(userIds),
  157. success: function (r) {
  158. if (r.code == 0) {
  159. alert('操作成功', function (index) {
  160. vm.reload();
  161. });
  162. } else {
  163. alert(r.msg);
  164. }
  165. }
  166. });
  167. });
  168. },
  169. saveOrUpdate: function (event) {
  170. var url = vm.user.userId == null ? "../sys/user/save" : "../sys/user/update";
  171. $.ajax({
  172. type: "POST",
  173. url: url,
  174. contentType: "application/json",
  175. data: JSON.stringify(vm.user),
  176. success: function (r) {
  177. if (r.code === 0) {
  178. alert('操作成功', function (index) {
  179. vm.reload();
  180. });
  181. } else {
  182. alert(r.msg);
  183. }
  184. }
  185. });
  186. },
  187. getRoleList: function () {
  188. $.get("../sys/role/select", function (r) {
  189. vm.roleList = r.list;
  190. });
  191. },
  192. reload: function (event) {
  193. vm.showList = true;
  194. var page = $("#jqGrid").jqGrid('getGridParam', 'page');
  195. $("#jqGrid").jqGrid('setGridParam', {
  196. postData: {'username': vm.q.username},
  197. page: page
  198. }).trigger("reloadGrid");
  199. vm.handleReset('formValidate');
  200. },
  201. deptTree: function () {
  202. openWindow({
  203. title: "选择部门",
  204. area: ['300px', '450px'],
  205. content: jQuery("#deptLayer"),
  206. btn: ['确定', '取消'],
  207. btn1: function (index) {
  208. var node = ztree.getSelectedNodes();
  209. //选择上级部门
  210. vm.user.deptId = node[0].deptId;
  211. vm.user.deptName = node[0].name;
  212. layer.close(index);
  213. }
  214. });
  215. },
  216. handleSubmit: function (name) {
  217. handleSubmitValidate(this, name, function () {
  218. vm.saveOrUpdate()
  219. });
  220. },
  221. handleReset: function (name) {
  222. handleResetForm(this, name);
  223. }
  224. }
  225. });