datasource.js 5.5 KB

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