user.js 10.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310
  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: 'merchName', width: 75,
  9. formatter: function (value) {
  10. if (value == '' || value == null) {
  11. return '-';
  12. }else {
  13. return value;
  14. }
  15. }
  16. },
  17. {label: '所属第三方商户', name: 'thirdPartyMerchCode', width: 75,
  18. formatter: function (value) {
  19. if (value == '' || value == null) {
  20. return '-';
  21. }else {
  22. return value;
  23. }
  24. }
  25. },
  26. {label: '所属门店', name: 'storeName', width: 75,
  27. formatter: function (value) {
  28. if (value == '' || value == null) {
  29. return '-';
  30. }else {
  31. return value;
  32. }
  33. }
  34. },
  35. {label: '邮箱', name: 'email', width: 90},
  36. {label: '手机号', name: 'mobile', width: 100},
  37. {
  38. label: '状态', name: 'status', width: 80, formatter: function (value) {
  39. return value === 0 ?
  40. '<span class="label label-danger">禁用</span>' :
  41. '<span class="label label-success">正常</span>';
  42. }
  43. },
  44. {
  45. label: '创建时间', name: 'createTime', index: "create_time", width: 80, formatter: function (value) {
  46. return transDate(value);
  47. }
  48. }],
  49. viewrecords: true,
  50. height: 385,
  51. rowNum: 10,
  52. rowList: [10, 30, 50],
  53. rownumbers: true,
  54. rownumWidth: 25,
  55. autowidth: true,
  56. multiselect: true,
  57. pager: "#jqGridPager",
  58. jsonReader: {
  59. root: "page.list",
  60. page: "page.currPage",
  61. total: "page.totalPage",
  62. records: "page.totalCount"
  63. },
  64. prmNames: {
  65. page: "page",
  66. rows: "limit",
  67. order: "order"
  68. },
  69. gridComplete: function () {
  70. //隐藏grid底部滚动条
  71. $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "hidden"});
  72. }
  73. });
  74. });
  75. var setting = {
  76. data: {
  77. simpleData: {
  78. enable: true,
  79. idKey: "deptId",
  80. pIdKey: "parentId",
  81. rootPId: -1
  82. },
  83. key: {
  84. url: "nourl"
  85. }
  86. }
  87. };
  88. var ztree;
  89. var vm = new Vue({
  90. el: '#rrapp',
  91. data: {
  92. q: {
  93. username: null
  94. },
  95. showList: true,
  96. title: null,
  97. roleList: {},
  98. user: {
  99. status: 1,
  100. deptName: '',
  101. roleIdList: []
  102. },
  103. ruleValidate: {
  104. /*username: [
  105. {required: true, message: '姓名不能为空', trigger: 'blur'}
  106. ],
  107. email: [
  108. {required: true, message: '邮箱不能为空', trigger: 'blur'},
  109. {type: 'email', message: '邮箱格式不正确', trigger: 'blur'}
  110. ],
  111. mobile: [
  112. {required: true, message: '手机号不能为空', trigger: 'blur'}
  113. ]*/
  114. },
  115. storeList: [],
  116. merchList: [],
  117. thirdMerchantBizList: [],
  118. isMerchShow:false,
  119. isStoreShow:false,
  120. isThirdMerchShow:false
  121. },
  122. methods: {
  123. query: function () {
  124. vm.reload();
  125. },
  126. add: function () {
  127. vm.showList = false;
  128. vm.title = "新增(默认密码:111111)";
  129. vm.roleList = {};
  130. vm.user = {status: 1, roleIdList: [], deptId: '', deptName: '', storeId: '', roleType: 2,merchSn:''};
  131. vm.storeList = [];
  132. vm.merchList = [];
  133. vm.thirdMerchantBizList = [];
  134. //获取角色信息
  135. this.getRoleList();
  136. // vm.getDept();
  137. //vm.getStoreList();
  138. vm.changeRole(2);
  139. vm.getMerchList();
  140. },
  141. changeRole:function (opt) {
  142. var value = opt;
  143. if(value == 1){
  144. vm.isMerchShow = false;
  145. vm.isStoreShow = false;
  146. vm.isThirdMerchShow = false;
  147. }
  148. if(value == 2){//店员
  149. vm.isMerchShow = true;
  150. vm.isThirdMerchShow = true;
  151. vm.isStoreShow = true;
  152. }
  153. if(value == 3){//一级商户
  154. vm.isMerchShow = true;
  155. vm.isThirdMerchShow = false;
  156. vm.isStoreShow = false;
  157. }
  158. if(value == 4){//第三方商户
  159. vm.isMerchShow = true;
  160. vm.isThirdMerchShow = true;
  161. vm.isStoreShow = false;
  162. }
  163. },
  164. getStoreList: function() {
  165. $.get("../store/queryAll", function (r) {
  166. vm.storeList = r.list;
  167. });
  168. },
  169. getStoresByMerch: function (opt) {
  170. var value = opt.value;
  171. vm.getThirdMerchantBizList(value);
  172. },
  173. getMerchList: function() {
  174. $.get("../merch/queryAll", function (r) {
  175. vm.merchList = r.list;
  176. });
  177. },
  178. getDept: function () {
  179. //加载部门树
  180. $.get("../sys/dept/list", function (r) {
  181. ztree = $.fn.zTree.init($("#deptTree"), setting, r.list);
  182. var node = ztree.getNodeByParam("deptId", vm.user.deptId);
  183. if (node != null) {
  184. ztree.selectNode(node);
  185. vm.user.deptName = node.name;
  186. }
  187. })
  188. },
  189. update: function () {
  190. var userId = getSelectedRow();
  191. if (userId == null) {
  192. return;
  193. }
  194. vm.showList = false;
  195. vm.title = "修改";
  196. vm.thirdMerchantBizList = [];
  197. $.get("../sys/user/info/" + userId, function (r) {
  198. vm.user = r.user;
  199. //获取角色信息
  200. // vm.getStoreList();
  201. vm.getStoresByMerchAndUpd(r.user.merchSn);
  202. vm.getRoleList();
  203. vm.changeRole(r.user.roleType);
  204. vm.getMerchList();
  205. // vm.getDept();
  206. });
  207. },
  208. getStoresByMerchAndUpd: function (merchSn) {
  209. $.get("../store/getStoresByMerch?merchSn=" + merchSn, function (r) {
  210. vm.storeList = r.list;
  211. });
  212. },
  213. getStoresByThirdMerch:function (opt) {
  214. var value = opt.value;
  215. $.get("../store/getStoresByThirdMerch?thirdPartyMerchCode=" + value, function (r) {
  216. vm.storeList = r.list;
  217. });
  218. },
  219. getThirdMerchantBizList: function(merchSn) {
  220. $.get("../thirdmerchantbiz/queryAll?merchSn=" + merchSn, function (r) {
  221. vm.thirdMerchantBizList = r.list;
  222. });
  223. },
  224. del: function () {
  225. var userIds = getSelectedRows();
  226. if (userIds == null) {
  227. return;
  228. }
  229. confirm('确定要删除选中的记录?', function () {
  230. $.ajax({
  231. type: "POST",
  232. url: "../sys/user/delete",
  233. contentType: "application/json",
  234. data: JSON.stringify(userIds),
  235. success: function (r) {
  236. if (r.code == 0) {
  237. alert('操作成功', function (index) {
  238. vm.reload();
  239. });
  240. } else {
  241. alert(r.msg);
  242. }
  243. }
  244. });
  245. });
  246. },
  247. saveOrUpdate: function (event) {
  248. var url = vm.user.userId == null ? "../sys/user/save" : "../sys/user/update";
  249. $.ajax({
  250. type: "POST",
  251. url: url,
  252. contentType: "application/json",
  253. data: JSON.stringify(vm.user),
  254. success: function (r) {
  255. if (r.code === 0) {
  256. alert('操作成功', function (index) {
  257. vm.reload();
  258. });
  259. } else {
  260. alert(r.msg);
  261. }
  262. }
  263. });
  264. },
  265. getRoleList: function () {
  266. $.get("../sys/role/select", function (r) {
  267. vm.roleList = r.list;
  268. });
  269. },
  270. reload: function (event) {
  271. vm.showList = true;
  272. var page = $("#jqGrid").jqGrid('getGridParam', 'page');
  273. $("#jqGrid").jqGrid('setGridParam', {
  274. postData: {'username': vm.q.username},
  275. page: page
  276. }).trigger("reloadGrid");
  277. vm.handleReset('formValidate');
  278. },
  279. deptTree: function () {
  280. openWindow({
  281. title: "选择部门",
  282. area: ['300px', '450px'],
  283. content: jQuery("#deptLayer"),
  284. btn: ['确定', '取消'],
  285. btn1: function (index) {
  286. var node = ztree.getSelectedNodes();
  287. //选择上级部门
  288. vm.user.deptId = node[0].deptId;
  289. vm.user.deptName = node[0].name;
  290. layer.close(index);
  291. }
  292. });
  293. },
  294. handleSubmit: function (name) {
  295. handleSubmitValidate(this, name, function () {
  296. vm.saveOrUpdate()
  297. });
  298. },
  299. handleReset: function (name) {
  300. handleResetForm(this, name);
  301. }
  302. }
  303. });