experiment.js 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273
  1. $(function() {
  2. var defaultPage = 0;
  3. var defaultSize = 10;
  4. var currentPage = defaultPage;
  5. var currentSize = defaultSize;
  6. var tableFirstLoad = true;
  7. let type = ""
  8. layui.use(["form", "table", "laypage", "layer", "upload"], function() {
  9. var table = layui.table;
  10. var laypage = layui.laypage;
  11. var layer = layui.layer;
  12. var form = layui.form;
  13. var title = $("#realName");
  14. var searchTitleKey = "";
  15. function loadexperiment(page, size, searchTitle) {
  16. if (page === null || page === undefined) page = defaultPage;
  17. if (size === null || size === undefined) size = defaultSize;
  18. var tableOption = {
  19. elem: "#experiment",
  20. height: "full-81",
  21. limit: size,
  22. cols: [
  23. [{
  24. type: "checkbox"
  25. },
  26. {
  27. title: '序号',
  28. toolbar: '#index',
  29. align: 'center',
  30. width: 60
  31. },
  32. {
  33. field: "device_id",
  34. title: "元器件id",
  35. align: "center"
  36. },
  37. {
  38. field: "device_name",
  39. title: "元器件名称",
  40. align: "center"
  41. },
  42. {
  43. field: "experiment_name",
  44. title: "实验名称",
  45. align: "center"
  46. },
  47. {
  48. field: "start_time",
  49. title: "开始时间",
  50. align: "center"
  51. },
  52. {
  53. field: "end_time",
  54. title: "结束时间",
  55. align: "center"
  56. },
  57. {
  58. field: "data_type",
  59. title: "数据类型",
  60. align: "center"
  61. },
  62. // {
  63. // field: "source_id",
  64. // title: "数据id",
  65. // align: "center"
  66. // },
  67. {
  68. field: "origin_data_path",
  69. title: "数据文件路径",
  70. align: "center"
  71. },
  72. {
  73. field: "algorithm_id",
  74. title: "算法id",
  75. align: "center"
  76. },
  77. {
  78. field: "algorithm_name",
  79. title: "算法名称",
  80. align: "center"
  81. },
  82. // {
  83. // field: "process_data_path",
  84. // title: "处理数据路径",
  85. // align: "center"
  86. // },
  87. {
  88. fixed: "right",
  89. title: "操作",
  90. width: 200,
  91. toolbar: "#operationToolbar",
  92. align: "center"
  93. }
  94. ]
  95. ]
  96. };
  97. if (searchTitle === null || searchTitle === undefined || searchTitle === "") {
  98. var url = "api/experiment/listpage?page=" + (page + 1) + "&size=" + size;
  99. fetchJSON(url, {}, "get", function(data) {
  100. if (data.status === 0) {
  101. if (tableFirstLoad) {
  102. tableFirstLoad = false;
  103. laypage.render({
  104. curr: page + 1,
  105. elem: "pagination",
  106. count: data.data.total,
  107. layout: ["count", "prev", "page", "next", "limit",
  108. "refresh", "skip"
  109. ],
  110. jump: function(obj, first) {
  111. if (first) return;
  112. currentPage = obj.curr - 1;
  113. currentSize = obj.limit;
  114. loadexperiment(currentPage, currentSize,
  115. searchTitleKey);
  116. }
  117. });
  118. }
  119. tableOption.data = data.data.list;
  120. table.render(tableOption);
  121. } else {
  122. showMsg(data.msg, 2, 2000);
  123. }
  124. });
  125. } else {
  126. var url = "api/experiment/getByName?name=" + searchTitle +
  127. "&size=" + size + "&page=" + (page + 1)
  128. fetchJSON(url, {}, "get", function(data) {
  129. if (data.status === 0) {
  130. if (tableFirstLoad) {
  131. tableFirstLoad = false;
  132. laypage.render({
  133. curr: page + 1,
  134. elem: "pagination",
  135. count: data.data.total,
  136. layout: ["count", "prev", "page", "next", "limit",
  137. "refresh", "skip"
  138. ],
  139. jump: function(obj, first) {
  140. if (first) return;
  141. currentPage = obj.curr - 1;
  142. currentSize = obj.limit;
  143. loadexperiment(currentPage, currentSize,
  144. searchTitleKey);
  145. }
  146. });
  147. }
  148. tableOption.data = data.data;
  149. table.render(tableOption);
  150. } else {
  151. showMsg(data.msg, 2, 2000);
  152. }
  153. });
  154. }
  155. }
  156. loadexperiment();
  157. $("#searchArticle").on("click", function(e) {
  158. e.preventDefault();
  159. tableFirstLoad = true;
  160. searchTitleKey = title.val().trim();
  161. sousuo = $("#sou").find("option:selected").val();
  162. if (searchTitleKey === "")
  163. loadexperiment(0, currentSize);
  164. else
  165. loadexperiment(0, currentSize, searchTitleKey);
  166. });
  167. // 监听表内工具条
  168. table.on("tool(experiment)", function(obj) {
  169. var data = obj.data;
  170. if (obj.event === "edit") {
  171. // 打开编辑框 进行详细编辑
  172. x_admin_show(
  173. "编辑",
  174. encodeURI(
  175. "../admin/experiment-add.html?id=" + data.id + "&device_id=" + data
  176. .device_id + "&device_name=" + data.device_name +
  177. "&experiment_name=" + data.experiment_name + "&start_time=" + data
  178. .start_time + "&end_time=" + data.end_time +
  179. "&data_type=" + data.data_type + "&source_id=" + data.source_id +
  180. "&origin_data_path=" + data.origin_data_path + "&algorithm_id=" +
  181. data
  182. .algorithm_id + "&algorithm_name=" + data
  183. .algorithm_name + "&process_data_path=" + data
  184. .algorithm_name
  185. ),
  186. 800,
  187. 520,
  188. function() {
  189. loadexperiment(currentPage, currentSize);
  190. }
  191. );
  192. } else
  193. if (obj.event === "delete") {
  194. // 删除
  195. var ids = [];
  196. ids.push(data.id);
  197. layer.confirm("确认要删除吗?", function() {
  198. fetchJSON("api/experiment/delete", {
  199. ids: ids
  200. }, "post", function(data) {
  201. if (data.status === 0) {
  202. showMsg("已删除!", 1, 2000);
  203. tableFirstLoad = true;
  204. loadexperiment(currentPage, currentSize);
  205. } else {
  206. showMsg(data.msg, 2, 2000);
  207. }
  208. });
  209. });
  210. } else
  211. if (obj.event === 'download') {
  212. var file_path = data.origin_data_path;
  213. var newurl = file_path.substr(1, file_path.length);
  214. file_path = newurl.substr(newurl.indexOf('\\') + 1, file_path.length);
  215. newurl = file_path.substr(0, file_path.indexOf('.'));
  216. var newimg = file_path.substr(file_path.indexOf('.'),file_path.length);
  217. newurl = urlBase + "sourcekg/" + newurl + newimg;
  218. // console.log(newurl)
  219. window.open(newurl)
  220. }
  221. });
  222. // 批量删除
  223. $("#batchDelete").on("click", function(e) {
  224. e.preventDefault();
  225. var checkedData = table.checkStatus("experiment").data;
  226. if (checkedData.length === 0) {
  227. showMsg("未选择需要删除的日志", 2, 2000);
  228. return;
  229. }
  230. layer.confirm("确认要删除吗?", function() {
  231. var ids = [];
  232. for (var i = 0; i < checkedData.length; i++) {
  233. ids.push(checkedData[i].id);
  234. }
  235. fetchJSON("api/experiment/delete", {
  236. ids: ids
  237. }, "post", function(data) {
  238. if (data.status === 0) {
  239. showMsg("已删除!");
  240. tableFirstLoad = true;
  241. loadexperiment(currentPage, currentSize);
  242. } else {
  243. showMsg(data.msg, 2, 2000);
  244. }
  245. });
  246. });
  247. });
  248. // 新建用户
  249. $("#addair").on("click", function(e) {
  250. e.preventDefault();
  251. tableFirstLoad = true;
  252. x_admin_show("手动录入",
  253. "../admin/experiment-add.html?id=0&device_id=&device_name=&experiment_name=&start_time=&end_time=&data_type=&source_id=&origin_data_path=&algorithm_id=&algorithm_name=&process_data_path=",
  254. 790, 520,
  255. function() {
  256. loadexperiment(currentPage, currentSize);
  257. });
  258. });
  259. });
  260. });