warzone.js 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. var departmentType = 1;
  2. var parentId = 0;
  3. $(function() {
  4. var defaultPage = 0;
  5. var defaultSize = 10;
  6. var currentPage = defaultPage;
  7. var currentSize = defaultSize;
  8. var tableFirstLoad = true;
  9. Date.prototype.Format = function(fmt) {
  10. var o = {
  11. "M+": this.getMonth() + 1, //月份
  12. "d+": this.getDate(), //日
  13. "h+": this.getHours(), //小时
  14. "m+": this.getMinutes(), //分
  15. "s+": this.getSeconds(), //秒
  16. "q+": Math.floor((this.getMonth() + 3) / 3), //季度
  17. "S": this.getMilliseconds() //毫秒
  18. };
  19. if (/(y+)/.test(fmt))
  20. fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
  21. for (var k in o)
  22. if (new RegExp("(" + k + ")").test(fmt))
  23. fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
  24. return fmt;
  25. };
  26. function formatDate(t) {
  27. var now = new Date(t),
  28. y = now.getFullYear(),
  29. m = now.getMonth() + 1,
  30. d = now.getDate();
  31. return y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d) + " " + now.toTimeString().substr(0, 8);
  32. }
  33. layui.use(["form", "table", "laypage", "layer"], function() {
  34. var table = layui.table;
  35. var laypage = layui.laypage;
  36. var layer = layui.layer;
  37. var title = $("#realName");
  38. var searchTitleKey = "";
  39. function loadDepartmentList(page, size, searchTitle) {
  40. if (page === null || page === undefined) page = defaultPage;
  41. if (size === null || size === undefined) size = defaultSize;
  42. var tableOption = {
  43. elem: "#departmentList",
  44. height: "full-81",
  45. limit: size,
  46. cols: [
  47. [{
  48. type: "checkbox"
  49. },
  50. {
  51. field: "departmentName",
  52. title: "部门名称",
  53. align: "center"
  54. },
  55. {
  56. field: "masterName",
  57. title: "负责人名称",
  58. align: "center"
  59. },
  60. {
  61. field: "parentName",
  62. title: "上级部门名称",
  63. align: "center"
  64. },
  65. {
  66. field: "remark",
  67. title: "备注",
  68. align: "center"
  69. },
  70. {
  71. fixed: "right",
  72. title: "操作",
  73. width: 150,
  74. toolbar: "#operationToolbar",
  75. align: "center"
  76. }
  77. ]
  78. ]
  79. };
  80. // var url = ;
  81. if (searchTitle === null || searchTitle === undefined || searchTitle === "") {
  82. fetchJSON("api/department/listpage?page=" + (page + 1) + "&size=" + size + "&departmentType=" + departmentType + "&parentId=" + parentId, {}, "get", function(data) {
  83. if (data.status === 0) {
  84. if (tableFirstLoad) {
  85. tableFirstLoad = false;
  86. laypage.render({
  87. curr: page + 1,
  88. elem: "pagination",
  89. count: data.data.total,
  90. layout: ["count", "prev", "page", "next", "limit", "refresh", "skip"],
  91. jump: function(obj, first) {
  92. if (first) return;
  93. // 分页控件index由1开始 后端分页index由0开始
  94. currentPage = obj.curr - 1;
  95. currentSize = obj.limit;
  96. loadDepartmentList(currentPage, currentSize, searchTitleKey);
  97. }
  98. });
  99. }
  100. tableOption.data = data.data.list;
  101. table.render(tableOption);
  102. } else {
  103. showMsg(data.msg, 2, 2000);
  104. }
  105. });
  106. } else {
  107. fetchJSON("api/department/getByName?name=" + searchTitle, {}, "get", function(data) {
  108. if (data.status === 0) {
  109. if (tableFirstLoad) {
  110. tableFirstLoad = false;
  111. laypage.render({
  112. curr: page + 1,
  113. elem: "pagination",
  114. count: data.data.totalElements,
  115. layout: ["count", "prev", "page", "next", "limit", "refresh", "skip"],
  116. jump: function(obj, first) {
  117. if (first) return;
  118. // 分页控件index由1开始 后端分页index由0开始
  119. currentPage = obj.curr - 1;
  120. currentSize = obj.limit;
  121. loadDepartmentList(currentPage, currentSize, searchTitleKey);
  122. }
  123. });
  124. }
  125. tableOption.data = data.data;
  126. table.render(tableOption);
  127. } else {
  128. showMsg(data.msg, 2, 2000);
  129. }
  130. });
  131. }
  132. }
  133. // 首次载入页面 载入默认用户列表
  134. loadDepartmentList();
  135. $("#searchArticle").on("click", function(e) {
  136. e.preventDefault();
  137. tableFirstLoad = true;
  138. searchTitleKey = title.val().trim();
  139. if (searchTitleKey === "")
  140. loadDepartmentList(0, currentSize);
  141. else
  142. loadDepartmentList(0, currentSize, searchTitleKey);
  143. });
  144. $("#keyword").on("keyup", function(e) {
  145. e.preventDefault();
  146. if (e.keyCode === 13) {
  147. $("#searchArticle").click();
  148. }
  149. });
  150. // 操作栏
  151. // 监听表内工具条
  152. table.on("tool(departmentList)", function(obj) {
  153. var data = obj.data;
  154. // if (data.id === 1) {
  155. // showMsg("默认部门不可操作!", 1, 2000);
  156. // return;
  157. // }
  158. if (obj.event === "edit") {
  159. // 打开编辑框 进行详细编辑
  160. x_admin_show("编辑单位", encodeURI("../admin/warzone-add.html?id=" + data.id + "&departmentName=" + data.departmentName + "&masterName=" + data.masterName + "&parentName=" + data.parentName + "&remark=" + data.remark), 510, 500, function() {
  161. loadDepartmentList(currentPage, currentSize);
  162. });
  163. } else if (obj.event === "delete") {
  164. // 删除
  165. var ids = [];
  166. ids.push(data.id);
  167. layer.confirm("确认要删除吗?", function() {
  168. fetchJSON("api/department/delete", { ids: ids }, "post", function(data) {
  169. if (data.status === 0) {
  170. showMsg("已删除!", 1, 2000);
  171. tableFirstLoad = true;
  172. loadDepartmentList(currentPage, currentSize);
  173. } else {
  174. showMsg(data.msg, 2, 2000);
  175. }
  176. });
  177. });
  178. }
  179. });
  180. // 新建用户
  181. $("#addDepartment").on("click", function(e) {
  182. e.preventDefault();
  183. tableFirstLoad = true;
  184. x_admin_show("添加单位", "../admin/warzone-add.html?id=0&departmentName=&masterName=&parentName=&remark=", 520, 500,
  185. function() {
  186. loadDepartmentList(currentPage, currentSize);
  187. });
  188. });
  189. // 批量删除
  190. $("#batchDelete").on("click", function(e) {
  191. e.preventDefault();
  192. var checkedData = table.checkStatus("departmentList").data;
  193. if (checkedData.length === 0) {
  194. showMsg("未选择需要删除的项目", 2, 2000);
  195. return;
  196. }
  197. layer.confirm("确认要删除吗?", function() {
  198. var ids = [];
  199. for (var i = 0; i < checkedData.length; i++) {
  200. if (checkedData[i].id === 1) {
  201. showMsg("默认部门不可操作!", 1, 2000);
  202. continue;
  203. }
  204. ids.push(checkedData[i].id);
  205. }
  206. if (ids.length < 1) return;
  207. fetchJSON("api/department/delete", { ids: ids }, "post", function(data) {
  208. if (data.status === 0) {
  209. showMsg("已删除!");
  210. tableFirstLoad = true;
  211. loadDepartmentList(currentPage, currentSize);
  212. } else {
  213. showMsg(data.msg, 2, 2000);
  214. }
  215. });
  216. });
  217. });
  218. });
  219. });