1
0

user.js 12 KB

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