ad_hoc.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356
  1. let arr = [{
  2. id: 0,
  3. name: "全部查询"
  4. }, {
  5. id: 1,
  6. name: "教材名称"
  7. }, {
  8. id: 2,
  9. name: "案例名称"
  10. }, {
  11. id: 3,
  12. name: "作者"
  13. }, {
  14. id: 4,
  15. name: "部门"
  16. }, {
  17. id: 5,
  18. name: "关键词"
  19. }, {
  20. id: 6,
  21. name: "机型"
  22. },
  23. ];
  24. var startTime = "";
  25. var endTime = "";
  26. $(function() {
  27. var defaultPage = 0;
  28. var defaultSize = 10;
  29. var currentPage = defaultPage;
  30. var currentSize = defaultSize;
  31. var tableFirstLoad = true;
  32. layui.use(["form", "table", "laypage", "layer"], function() {
  33. var table = layui.table;
  34. var laypage = layui.laypage;
  35. var layer = layui.layer;
  36. var title = $("#realName");
  37. var searchTitleKey = "";
  38. function loadAirList(page, size, searchTitle) {
  39. if (page === null || page === undefined) page = defaultPage;
  40. if (size === null || size === undefined) size = defaultSize;
  41. var tableOption = {
  42. elem: "#airList",
  43. height: "full-81",
  44. limit: size,
  45. cols: [
  46. [{
  47. title: '序号',
  48. templet: '#xuhao',
  49. align: "center",
  50. width: 60
  51. }, {
  52. field: "fault_name",
  53. title: "故障名称",
  54. templet: '#typeTpl',
  55. align: "center"
  56. },
  57. {
  58. field: "book_name",
  59. title: "教材",
  60. align: "center"
  61. },
  62. {
  63. field: "chapter",
  64. title: "章节",
  65. align: "center"
  66. },
  67. {
  68. field: "fault_number",
  69. title: "故障编号",
  70. align: "center"
  71. },
  72. {
  73. field: "department",
  74. title: "单位部门",
  75. align: "center"
  76. },
  77. {
  78. field: "aircraft_type",
  79. title: "机型",
  80. align: "center"
  81. },
  82. {
  83. field: "major_type",
  84. title: "专业",
  85. align: "center"
  86. },
  87. {
  88. field: "fault_time",
  89. title: "发生故障时间",
  90. align: "center"
  91. },
  92. {
  93. fixed: "right",
  94. title: "操作",
  95. width: 180,
  96. toolbar: "#operationToolbar",
  97. align: "center"
  98. }
  99. ]
  100. ]
  101. };
  102. var majorType = "特设";
  103. var name = "";
  104. if (searchTitle === null || searchTitle === undefined || searchTitle === "") {
  105. var url = "/api/fault/searchByMajor?page=" + (page + 1) + "&size=" + size + "&majorType=" + majorType + "&name=" + name;
  106. fetchJSON(url, {}, "get", function(data) {
  107. if (data.status === 0) {
  108. if (tableFirstLoad) {
  109. tableFirstLoad = false;
  110. laypage.render({
  111. curr: page + 1,
  112. elem: "pagination",
  113. count: data.data.total,
  114. layout: ["count", "prev", "page", "next", "limit", "refresh", "skip"],
  115. jump: function(obj, first) {
  116. if (first) return;
  117. currentPage = obj.curr - 1;
  118. currentSize = obj.limit;
  119. loadAirList(currentPage, currentSize, searchTitleKey);
  120. }
  121. });
  122. }
  123. // console.log(data.data)
  124. tableOption.data = data.data.list;
  125. table.render(tableOption);
  126. } else {
  127. showMsg(data.msg, 2, 2000);
  128. }
  129. });
  130. } else {
  131. let str = {
  132. type: search,
  133. major: "特设",
  134. keyword: searchTitle
  135. }
  136. var url = "api/fault/getByKeyword1?size=" + size + "&page=" + (page + 1)
  137. fetchJSON(url, str, "post", function(data) {
  138. if (data.status === 0) {
  139. if (tableFirstLoad) {
  140. tableFirstLoad = false;
  141. laypage.render({
  142. curr: page + 1,
  143. elem: "pagination",
  144. count: data.data.total,
  145. layout: ["count", "prev", "page", "next", "limit",
  146. "refresh", "skip"
  147. ],
  148. jump: function(obj, first) {
  149. if (first) return;
  150. currentPage = obj.curr - 1;
  151. currentSize = obj.limit;
  152. loadAirList(currentPage, currentSize,
  153. searchTitleKey);
  154. }
  155. });
  156. }
  157. tableOption.data = data.data.list;
  158. table.render(tableOption);
  159. } else {
  160. showMsg(data.msg, 2, 2000);
  161. }
  162. });
  163. }
  164. // 时间选择
  165. $("#sure").on("click", function() {
  166. // 拿到下拉框内容
  167. startTime = $("#fault_time").val().trim();
  168. endTime = $("#fault").val().trim();
  169. let type = {
  170. beginTime: startTime,
  171. major: "特设",
  172. finishTime: endTime
  173. }
  174. if (document.getElementById("fault_time").value == "" || document.getElementById("fault").value == "") {
  175. alert('请输入时间!');
  176. return false;
  177. } else
  178. if (document.getElementById("fault").value == "" || document.getElementById("fault_time").value == "") {
  179. alert('请输入时间!');
  180. return false;
  181. } else {
  182. var url = "api/fault/getByFaultTime?page=" + (page + 1) + "&size=" + size;
  183. fetchJSON(url, type, "post", function(data) {
  184. if (data.status === 0) {
  185. if (tableFirstLoad) {
  186. tableFirstLoad = false;
  187. laypage.render({
  188. curr: page + 1,
  189. elem: "pagination",
  190. count: data.data.total,
  191. layout: ["count", "prev", "page", "next", "limit", "refresh", "skip"],
  192. jump: function(obj, first) {
  193. if (first) return;
  194. currentPage = obj.curr - 1;
  195. currentSize = obj.limit;
  196. loadAirList(currentPage, currentSize, searchTitleKey);
  197. }
  198. });
  199. }
  200. tableOption.data = data.data.list;
  201. table.render(tableOption);
  202. } else {
  203. showMsg(data.msg, 2, 2000);
  204. }
  205. });
  206. }
  207. })
  208. }
  209. loadAirList();
  210. $("#searchArticle").on("click", function(e) {
  211. e.preventDefault();
  212. tableFirstLoad = true;
  213. searchTitleKey = title.val().trim();
  214. search = $("#find").find("option:selected").val();
  215. if (searchTitleKey === "")
  216. loadAirList(0, currentSize);
  217. else
  218. loadAirList(0, currentSize, searchTitleKey);
  219. });
  220. $("#keyword").on("keyup", function(e) {
  221. e.preventDefault();
  222. if (e.keyCode === 13) {
  223. $("#searchArticle").click();
  224. }
  225. });
  226. // 监听表内工具条
  227. table.on("tool(airList)", function(obj) {
  228. var data = obj.data;
  229. console.log(data)
  230. if (obj.event === "edit") {
  231. x_admin_show(
  232. "案例标引",
  233. encodeURI(
  234. "faultSee.html?id=" + data.id + "&fault_name=" + data.fault_name + "&fault_number=" + data.fault_number + "&aircraft_type=" + data.aircraft_type + "&book_name=" + data.book_name + "&chapter=" + data.chapter +
  235. "&author=" + data.author + "&department=" + data.department + "&major_type=" +
  236. data.major_type + "&description=" + data.description + "&file_path=" + data.file_path + "&input_time=" + data.input_time +
  237. "&fault_time=" + data.fault_time + "&remarks=" + data.remarks
  238. ),
  239. 1300, 600,
  240. function() {
  241. loadAirList(currentPage, currentSize);
  242. }
  243. );
  244. var data = obj.data.file_path
  245. sessionStorage.setItem("urls", data)
  246. } else if (obj.event === "delete") {
  247. // 删除
  248. var ids = [];
  249. ids.push(data.id);
  250. layer.confirm("确认要删除吗?", function() {
  251. fetchJSON("api/fault/delete", {
  252. ids: ids
  253. }, "post", function(data) {
  254. if (data.status === 0) {
  255. showMsg("已删除!", 1, 2000);
  256. tableFirstLoad = true;
  257. loadAirList(currentPage, currentSize);
  258. } else {
  259. showMsg(data.msg, 2, 2000);
  260. }
  261. });
  262. });
  263. }
  264. });
  265. // 批量删除
  266. $("#batchDelete").on("click", function(e) {
  267. e.preventDefault();
  268. var checkedData = table.checkStatus("airList").data;
  269. if (checkedData.length === 0) {
  270. showMsg("未选择需要删除的日志", 2, 2000);
  271. return;
  272. }
  273. layer.confirm("确认要删除吗?", function() {
  274. var ids = [];
  275. for (var i = 0; i < checkedData.length; i++) {
  276. ids.push(checkedData[i].id);
  277. }
  278. fetchJSON("api/fault/delete", {
  279. ids: ids
  280. }, "post", function(data) {
  281. if (data.status === 0) {
  282. showMsg("已删除!");
  283. tableFirstLoad = true;
  284. loadAirList(currentPage, currentSize);
  285. } else {
  286. showMsg(data.msg, 2, 2000);
  287. }
  288. });
  289. });
  290. });
  291. // 导入
  292. //表格导入
  293. $("#tolead").on("click", function(e) {
  294. e.preventDefault();
  295. tableFirstLoad = true;
  296. x_admin_show("导入",
  297. "faul-add.html",
  298. 350,
  299. 200,
  300. function() {
  301. loadAirList(currentPage, currentSize);
  302. });
  303. });
  304. // 新建用户
  305. $("#add").on("click", function(e) {
  306. e.preventDefault();
  307. tableFirstLoad = true;
  308. x_admin_show("添加",
  309. "fault-edit.html?id=0&fault_name=&fault_number=&author=&department=&aircraft_type=&major_type=&description=&input_time=&fault_time&chapter&remarks=",
  310. 1300,
  311. 450,
  312. function() {
  313. loadAirList(currentPage, currentSize);
  314. });
  315. });
  316. });
  317. function getfind() {
  318. for (var i = 0; i < arr.length; i++) {
  319. $("#find").append(
  320. $("<option>", {
  321. value: arr[i].id,
  322. text: arr[i].name
  323. })
  324. );
  325. }
  326. };
  327. getfind()
  328. });