user_manage.js 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. //@ sourceURL=user_manage.js
  2. $(function () {
  3. //新增按钮点击事件
  4. $("#btn_add").click(function (t) {
  5. $("#editModal").modal();
  6. $("#classTitle").text("新增");
  7. clearInput();
  8. });
  9. //角色保存按钮点击事件
  10. $("#btn_save").click(function (t) {
  11. saveUser();
  12. });
  13. //初始化表格数据
  14. getAllUser();
  15. getAllRole();
  16. });
  17. //初始化角色下拉
  18. function getAllRole() {
  19. $.ajax({
  20. type: "POST",
  21. url: '/thmz/getAllRole',
  22. contentType: "application/json;charset=UTF-8",
  23. dataType: "json",
  24. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  25. success: function (res) {
  26. if (res == '401' || res == 401) {
  27. window.location.href = '/thmz/login/view';
  28. return;
  29. }
  30. if (res.code == 0) {
  31. //初始化角色下拉
  32. var arr = res.data;
  33. if (arr != null && arr.length > 0) {
  34. var html = "";
  35. for (var i = 0; i < arr.length; i++) {
  36. html += "<option value='" + arr[i].id + "'>" + arr[i].roleName + "</option>";
  37. }
  38. $('#roleName').html(html);
  39. $('#roleName').selectpicker('refresh');
  40. } else {
  41. errorMesage(res);
  42. }
  43. }
  44. }
  45. });
  46. }
  47. /**
  48. * 保存用户数据
  49. */
  50. function saveUser() {
  51. var id = $("#id").val();
  52. var roles = $("#roleName").val();
  53. var roleIds = null;
  54. if (roles.length > 0) {
  55. for (var i = 0; i < roles.length; i++) {
  56. if (roleIds == null) {
  57. roleIds = roles[i];
  58. } else {
  59. roleIds += "," + roles[i];
  60. }
  61. }
  62. }
  63. var data = null;
  64. //修改用户
  65. if (id != null) {
  66. data = JSON.stringify({
  67. user: {
  68. id: id
  69. },
  70. roleIds: roleIds
  71. });
  72. } else {
  73. //新增用户
  74. }
  75. console.log(data);
  76. $.ajax({
  77. type: "POST",
  78. url: '/thmz/saveUserRoleRelation',
  79. contentType: "application/json;charset=UTF-8",
  80. dataType: "json",
  81. headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
  82. data: data,
  83. success: function (res) {
  84. if (res == '401' || res == 401) {
  85. window.location.href = '/thmz/login/view'
  86. return;
  87. }
  88. if (res.code == 0) {
  89. $("#editModal").modal("hide");
  90. clearInput();
  91. $('#tb_table').bootstrapTable('refresh');
  92. successMesage(res);
  93. } else {
  94. errorMesage(res);
  95. }
  96. }
  97. });
  98. }
  99. /**
  100. * 清空输入框
  101. */
  102. function clearInput() {
  103. $("#id").val(null);
  104. $("#roleName").attr("lang", '0');
  105. $("#roleName").selectpicker('refresh');
  106. $('#userCode').val(null);
  107. $('#userName').val(null);
  108. }
  109. /**
  110. * 查询角色列表
  111. */
  112. function getAllUser() {
  113. $('#tb_table').bootstrapTable("destroy");
  114. $('#tb_table').bootstrapTable({
  115. url: '/thmz/getUserPage', //请求后台的URL(*)
  116. method: 'post', //请求方式(*)
  117. toolbar: '#toolbar', //工具按钮用哪个容器
  118. striped: true, //是否显示行间隔色
  119. cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
  120. pagination: true, //是否显示分页(*)
  121. sortable: true, //是否启用排序
  122. sortOrder: "asc", //排序方式
  123. queryParams: queryParams, //传递参数(*)
  124. sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
  125. pageNumber: 1, //初始化加载第一页,默认第一页
  126. pageSize: 10, //每页的记录行数(*)
  127. pageList: [10, 25, 50, 100], //可供选择的每页的行数(*)
  128. search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
  129. strictSearch: true,
  130. showColumns: false, //是否显示所有的列
  131. showRefresh: false, //是否显示刷新按钮
  132. minimumCountColumns: 2, //最少允许的列数
  133. clickToSelect: true, //是否启用点击选中行
  134. uniqueId: "ID", //每一行的唯一标识,一般为主键列
  135. showToggle: false, //是否显示详细视图和列表视图的切换按钮
  136. cardView: false, //是否显示详细视图
  137. detailView: false,
  138. //rowStyle:rowStyle,//通过自定义函数设置行样式
  139. ajaxOptions: {
  140. headers: {
  141. 'Accept': 'application/json',
  142. 'Authorization': 'Bearer ' + localStorage.getItem("token")
  143. }
  144. },
  145. columns: [
  146. {
  147. title: '操作',
  148. align: "center",
  149. valign: 'middle',
  150. formatter: function (value, row, index) {
  151. row = JSON.stringify(row);
  152. var str = '<button type="button" class="btn btn-primary btn-sm" onclick=editUser(' + row + ')>设置角色</button>';
  153. return [str].join('');
  154. }
  155. },
  156. {
  157. field: 'userIdCode',
  158. title: '员工编号',
  159. align: "center",
  160. valign: 'middle',
  161. formatter: function (value, row, index) {
  162. return row.user.userIdCode;
  163. }
  164. },
  165. {
  166. field: 'userCode',
  167. title: '工号',
  168. align: "center",
  169. valign: 'middle',
  170. formatter: function (value, row, index) {
  171. return row.user.userCode;
  172. }
  173. }, {
  174. field: 'userName',
  175. title: '姓名',
  176. align: "center",
  177. valign: 'middle',
  178. formatter: function (value, row, index) {
  179. return row.user.userName;
  180. }
  181. }, {
  182. field: 'roleName',
  183. title: '角色',
  184. align: "center",
  185. valign: 'middle',
  186. formatter: function (value, row, index) {
  187. return row.roleName;
  188. }
  189. }, {
  190. field: 'createTime',
  191. title: '更新时间',
  192. align: "center",
  193. valign: 'middle',
  194. formatter: function (value, row, index) {
  195. return value == null ? "-" : format(value, "yyyy-MM-dd HH:mm:ss");
  196. }
  197. }, {
  198. field: 'createName',
  199. title: '更新人',
  200. align: "center",
  201. valign: 'middle'
  202. }
  203. ],
  204. responseHandler: function (res) {
  205. if (res == '401' || res == 401) {
  206. window.location.href = '/thmz/login/view'
  207. return;
  208. }
  209. var ress = eval(res);
  210. if (ress.code == -1) {
  211. if (ress.message != null && ress.message != '') {
  212. new PNotify({
  213. title: '错误提示',
  214. text: ress.message,
  215. type: 'error',
  216. hide: true,
  217. styling: 'bootstrap3'
  218. });
  219. }
  220. return {
  221. "total": 0,//总页数
  222. "rows": {} //数据
  223. };
  224. }
  225. return {
  226. "total": ress.total,//总页数
  227. "rows": ress.data //数据
  228. };
  229. },
  230. });
  231. }
  232. /**
  233. * 构建列表查询参数
  234. * @param params
  235. * @returns {{mzChargeDetail: {patientId: string | number | string[] | undefined | jQuery, warnDept: string | number | string[] | undefined | jQuery, doctorCode: string | number | string[] | undefined | jQuery, name: string | number | string[] | undefined | jQuery, payMark: number}, beginTime: Date, endTime: Date, pageSize: *, pageIndex: number}}
  236. */
  237. function queryParams(params) {
  238. var temp = {
  239. pageSize: params.limit,
  240. offset:params.offset,
  241. };
  242. return temp;
  243. };
  244. /**
  245. * 打开编辑窗口
  246. * @param row
  247. */
  248. function editUser(row) {
  249. console.log(row);
  250. clearInput();
  251. $("#classTitle").text("修改");
  252. $("#id").val(row.user.id);
  253. $("#userName").val(row.user.userName);
  254. $("#userCode").val(row.user.userCode);
  255. row.roleIds != null ? $("#roleName").val(row.roleIds.split(",")) : $("#roleName").val("");
  256. $("#roleName").selectpicker('refresh');
  257. $("#editModal").modal();
  258. }