user.js 7.5 KB

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