system.js 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. $(function() {
  2. var defaultPage = 0;
  3. var defaultSize = 10;
  4. var currentPage = defaultPage;
  5. var currentSize = defaultSize;
  6. var tableFirstLoad = true;
  7. layui.use(["form", "table", "laypage", "layer"], function() {
  8. var table = layui.table;
  9. var laypage = layui.laypage;
  10. var layer = layui.layer;
  11. var title = $("#realName");
  12. var searchTitleKey = "";
  13. function loadAirList(page, size, searchTitle) {
  14. if (page === null || page === undefined) page = defaultPage;
  15. if (size === null || size === undefined) size = defaultSize;
  16. var tableOption = {
  17. elem: "#airList",
  18. height: "full-81",
  19. limit: size,
  20. cols: [
  21. [{
  22. type: "checkbox"
  23. },
  24. {
  25. field: "aircraft_type",
  26. title: "机型",
  27. align: "center",
  28. width: 200,
  29. },
  30. {
  31. field: "syst_name",
  32. title: "系统",
  33. align: "center"
  34. },
  35. {
  36. field: "device_describe",
  37. title: "描述",
  38. align: "center"
  39. },
  40. {
  41. fixed: "right",
  42. title: "操作",
  43. width: 265,
  44. toolbar: "#operationToolbar",
  45. align: "center"
  46. }
  47. ]
  48. ]
  49. };
  50. var deviceType = 0;
  51. if (searchTitle === null || searchTitle === undefined || searchTitle === "") {
  52. fetchJSON("api/device/listpage?page=" + (page + 1) + "&deviceType=" + deviceType + "&size=" + size, {}, "get", function(data) {
  53. if (data.status === 0) {
  54. if (tableFirstLoad) {
  55. tableFirstLoad = false;
  56. laypage.render({
  57. curr: page + 1,
  58. elem: "pagination",
  59. count: data.data.total,
  60. layout: ["count", "prev", "page", "next", "limit", "refresh", "skip"],
  61. jump: function(obj, first) {
  62. if (first) return;
  63. currentPage = obj.curr - 1;
  64. currentSize = obj.limit;
  65. loadAirList(currentPage, currentSize, searchTitleKey);
  66. }
  67. });
  68. }
  69. tableOption.data = data.data.list;
  70. table.render(tableOption);
  71. } else {
  72. showMsg(data.msg, 2, 2000);
  73. }
  74. });
  75. } else {
  76. fetchJSON("api/device/getByName?name=" + searchTitle + "&deviceType=" + deviceType, {}, "get", function(data) {
  77. if (data.status === 0) {
  78. if (tableFirstLoad) {
  79. tableFirstLoad = false;
  80. laypage.render({
  81. curr: page + 1,
  82. elem: "pagination",
  83. count: data.data.length,
  84. layout: ["count", "prev", "page", "next", "limit", "refresh", "skip"],
  85. jump: function(obj, first) {
  86. if (first) return;
  87. currentPage = obj.curr - 1;
  88. currentSize = obj.limit;
  89. loadAirList(currentPage, currentSize, searchTitleKey);
  90. }
  91. });
  92. }
  93. tableOption.data = data.data;
  94. table.render(tableOption);
  95. } else {
  96. showMsg(data.msg, 2, 2000);
  97. }
  98. });
  99. }
  100. }
  101. loadAirList();
  102. $("#searchArticle").on("click", function(e) {
  103. e.preventDefault();
  104. tableFirstLoad = true;
  105. searchTitleKey = title.val().trim();
  106. if (searchTitleKey === "")
  107. loadAirList(0, currentSize);
  108. else
  109. loadAirList(0, currentSize, searchTitleKey);
  110. });
  111. $("#keyword").on("keyup", function(e) {
  112. e.preventDefault();
  113. if (e.keyCode === 13) {
  114. $("#searchArticle").click();
  115. }
  116. });
  117. // 监听表内工具条
  118. table.on("tool(airList)", function(obj) {
  119. var data = obj.data;
  120. if (obj.event === "edit") {
  121. // 打开编辑框 进行详细编辑
  122. x_admin_show(
  123. "编辑",
  124. encodeURI(
  125. "../admin/system-edit.html?id=" + data.id + "&aircraft_type=" + data.aircraft_type + "&syst_name=" + data.syst_name + "&device_describe=" + data.device_describe
  126. ),
  127. 350,
  128. 300,
  129. function() {
  130. loadAirList(currentPage, currentSize);
  131. }
  132. );
  133. } else if (obj.event === "delete") {
  134. // 删除
  135. var ids = [];
  136. ids.push(data.id);
  137. layer.confirm("确认要删除吗?", function() {
  138. fetchJSON("api/device/delete", {
  139. ids: ids
  140. }, "post", function(data) {
  141. if (data.status === 0) {
  142. showMsg("已删除!", 1, 2000);
  143. tableFirstLoad = true;
  144. loadAirList(currentPage, currentSize);
  145. } else {
  146. showMsg(data.msg, 2, 2000);
  147. }
  148. });
  149. });
  150. }
  151. });
  152. // 批量删除
  153. $("#batchDelete").on("click", function(e) {
  154. e.preventDefault();
  155. var checkedData = table.checkStatus("airList").data;
  156. if (checkedData.length === 0) {
  157. showMsg("未选择需要删除的日志", 2, 2000);
  158. return;
  159. }
  160. layer.confirm("确认要删除吗?", function() {
  161. var ids = [];
  162. for (var i = 0; i < checkedData.length; i++) {
  163. ids.push(checkedData[i].id);
  164. }
  165. fetchJSON("api/device/delete", {
  166. ids: ids
  167. }, "post", function(data) {
  168. if (data.status === 0) {
  169. showMsg("已删除!");
  170. tableFirstLoad = true;
  171. loadAirList(currentPage, currentSize);
  172. } else {
  173. showMsg(data.msg, 2, 2000);
  174. }
  175. });
  176. });
  177. });
  178. // 新建用户
  179. $("#add").on("click", function(e) {
  180. e.preventDefault();
  181. tableFirstLoad = true;
  182. if (data == 0) {
  183. x_admin_show("添加",
  184. "../admin/system-edit.html?id=0&data.device_type=0&aircraft_type=&syst_name=&device_describe=",
  185. 350,
  186. 300,
  187. function() {
  188. loadAirList(currentPage, currentSize);
  189. });
  190. }
  191. });
  192. });
  193. });