static.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299
  1. $(function() {
  2. var defaultPage = 0;
  3. var defaultSize = 10;
  4. var currentPage = defaultPage;
  5. var currentSize = defaultSize;
  6. var tableFirstLoad = true;
  7. layui.config({
  8. base: './lib/layui_exts/'
  9. }).use(["form", "table", 'excel', "laypage", "layer"], function() {
  10. var table = layui.table;
  11. var laypage = layui.laypage;
  12. var layer = layui.layer;
  13. excel = layui.excel;
  14. var title = $("#realName");
  15. var searchTitleKey = "";
  16. var device_name = $("#device_name")
  17. var startTime = $("#startTime")
  18. var endTime = $("#endTime")
  19. // var searchTitleName = "";
  20. var searchTitleTime = "";
  21. var searchTitleTime1 = ""
  22. function loadAirList(page, size, searchTitle) {
  23. if (page === null || page === undefined) page = defaultPage;
  24. if (size === null || size === undefined) size = defaultSize;
  25. var tableOption = {
  26. elem: "#faultrecord",
  27. height: "full-81",
  28. limit: size,
  29. cols: [
  30. [{
  31. field: "device_name",
  32. title: "故障件名称",
  33. align: "center",
  34. },
  35. {
  36. field: "aircraft_type",
  37. title: "机型",
  38. align: "center"
  39. },
  40. {
  41. field: "fault_degree",
  42. title: "故障性质",
  43. align: "center"
  44. },
  45. {
  46. field: "#fault_reason",
  47. title: "故障原因",
  48. align: "center"
  49. },
  50. {
  51. field: "repair_method",
  52. title: "排除方法",
  53. align: "center"
  54. },
  55. ]
  56. ]
  57. };
  58. // var device_name.val() = "发动机"
  59. if (title.val() === "" || startTime.val() === "" || endTime.val() === "") {
  60. var url = "api/faultrecord/listpage?page=" + (page + 1) + "&size=" + size;
  61. } else {
  62. var url = "api/faultrecord/faultsta?name=" + device_name.val() + "&startTime=" + startTime.val() +
  63. "&endTime=" + endTime.val() + "&page=" + (page + 1) + "&size=" + size;
  64. }
  65. fetchJSON(url, {}, "get", function(data) {
  66. if (data.status === 0) {
  67. if (tableFirstLoad) {
  68. tableFirstLoad = false;
  69. laypage.render({
  70. curr: page + 1,
  71. elem: "pagination",
  72. count: data.data.total,
  73. layout: ["count", "prev", "page", "next", "limit", "refresh", "skip"],
  74. jump: function(obj, first) {
  75. if (first) return;
  76. currentPage = obj.curr - 1;
  77. currentSize = obj.limit;
  78. loadAirList(currentPage, currentSize, searchTitleKey);
  79. }
  80. });
  81. }
  82. // console.log(data.data.total)
  83. tableOption.data = data.data.list;
  84. table.render(tableOption);
  85. // var total = data.data.total
  86. // sessionStorage.setItem("name",total)
  87. } else {
  88. showMsg(data.msg, 2, 2000);
  89. }
  90. });
  91. }
  92. loadAirList();
  93. //统计
  94. $("#sure").on("click", function(e) {
  95. e.preventDefault();
  96. tableFirstLoad = true;
  97. var searchTitleKey = device_name.val().trim();
  98. var searchTitleTime = startTime.val().trim();
  99. var searchTitleTime1 = endTime.val().trim();
  100. if (searchTitleKey === "")
  101. loadAirList(0, currentSize);
  102. else
  103. loadAirList(0, currentSize, searchTitleKey);
  104. })
  105. $("#searchArticle").on("click", function(e) {
  106. e.preventDefault();
  107. tableFirstLoad = true;
  108. searchTitleKey = title.val().trim();
  109. if (searchTitleKey === "")
  110. loadAirList(0, currentSize);
  111. else
  112. loadAirList(0, currentSize, searchTitleKey);
  113. });
  114. $("#keyword").on("keyup", function(e) {
  115. e.preventDefault();
  116. if (e.keyCode === 13) {
  117. $("#searchArticle").click();
  118. }
  119. });
  120. // 监听表内工具条
  121. table.on("tool(faultrecord)", function(obj) {
  122. var data = obj.data;
  123. // console.log(data)
  124. if (obj.event === "edit") {
  125. console.log(data)
  126. // 打开编辑框 进行详细编辑
  127. x_admin_show(
  128. "查看",
  129. encodeURI(
  130. "../admin/faultrecord-add.html?id=" + data.id + "&War_zone=" + data.war_zone + "&army=" + data.army +
  131. "&division=" + data.division + "&brigade=" + data.brigade + "&fault_time=" + data.fault_time +
  132. "&Is_history=" + data.is_history + "&Aircraft_type=" + data.aircraft_type + "&Discover_opportunity=" +
  133. data.discover_opportunity + "&Up_down=" + data.up_down + "&Discoverer=" + data.discoverer +
  134. "&Info_sources=" + data.info_sources + "&fault_content=" + data.fault_content + "&Is_falsealarm=" + data.is_falsealarm +
  135. "&Fault_degree=" + data.fault_degree + "&Fault_consequence=" + data.fault_consequence +
  136. "&Miss_flight_times=" + data.missflight_times + "&Impact_times=" + data.impact_times + "&Fault_liability=" +
  137. data.fault_liability + "&Fault_location=" + data.fault_location + "&major=" + data.major +
  138. "&fault_reason=" + data.fault_reason + "&Reviewer=" + data.reviewer + "&review_time=" + data.review_time +
  139. "&repair_time=" + data.repair_time + "&repair_hours=" + data.repair_hours + "&repair_personnum=" + data.repair_personnum +
  140. "&repaired_time=" + data.repaired_time + "&classification=" + data.classification + "&is_grounded=" + data
  141. .is_grounded + "&Reporting_department=" + data.reporting_department + "&device_name=" + data.device_name +
  142. "&device_type=" + data.device_type + "&replace_device=" + data.replace_device + "&replace_type=" + data.replace_type +
  143. "&Diagnosis_method=" + data.diagnosis_method + "&diagnosis_people=" + data.diagnosis_people +
  144. "&faultparts_date=" + data.faultparts_date + "&faultparts_hours=" + data.faultparts_hours +
  145. "&faultparts_worktimes=" + data.faultparts_worktimes + "&faultparts_renovation_manu=" + data.faultparts_renovation_manu +
  146. "&Faultparts_Renovation_hours=" + data.faultparts_Renovation_hours + "&Faultparts_Renovation_times=" +
  147. data.faultparts_Renovation_times + "&repair_method=" + data.repair_method + "&Repair_person=" + data.repair_person +
  148. "&replace_device_hours=" + data.replace_device_hours + "&replace_device_repairhours" + data.replace_device_repairhours +
  149. "&replace_device_repairtimes=" + data.replace_device_repairtimes + "&replace_device_applytimes=" + data.replace_device_applytimes +
  150. "&replace_device_manufacturer=" + data.replace_device_manufacturer + "&Faultparts_system=" + data.faultparts_system +
  151. "&Inspector=" + data.inspector + "&Handling_opinions=" + data.handling_opinions + "&remark=" + data.remark
  152. ),
  153. 1300,
  154. 600,
  155. function() {
  156. loadAirList(currentPage, currentSize);
  157. }
  158. );
  159. } else
  160. if (obj.event === "delete") {
  161. // console.log(data)
  162. // 删除
  163. var ids = [];
  164. ids.push(data.id);
  165. layer.confirm("确认要删除吗?", function() {
  166. fetchJSON("api/faultrecord/delete", {
  167. ids: ids
  168. }, "post", function(data) {
  169. if (data.status === 0) {
  170. showMsg("已删除!", 1, 2000);
  171. tableFirstLoad = true;
  172. loadAirList(currentPage, currentSize);
  173. } else {
  174. showMsg(data.msg, 2, 2000);
  175. }
  176. });
  177. });
  178. }
  179. });
  180. //表格导入
  181. $("#tolead").on("click", function(e) {
  182. e.preventDefault();
  183. tableFirstLoad = true;
  184. x_admin_show("导入",
  185. "../admin/faul-add.html",
  186. 350,
  187. 200,
  188. function() {
  189. loadAirList(currentPage, currentSize);
  190. });
  191. });
  192. //表格导出
  193. function exportFile(id) {
  194. //根据传入tableID获取表头
  195. var headers = layui.$("div[lay-id='faultrecord'] .layui-table-box table").get(0);
  196. var htrs = Array.from(headers.querySelectorAll('tr'));
  197. var titles = {};
  198. for (var j = 0; j < htrs.length; j++) {
  199. var hths = Array.from(htrs[j].querySelectorAll("th"));
  200. for (var i = 1; i < hths.length - 1; i++) {
  201. //排除居左、具有、隐藏字段
  202. //修改:默认字段data-field+i,兼容部分数据表格中不存在data-field值的问题
  203. titles['data-field' + i] = hths[i].innerText;
  204. }
  205. }
  206. //根据传入tableID获取table内容
  207. var bodys = layui.$("div[lay-id='faultrecord'] .layui-table-box table").get(1);
  208. var btrs = Array.from(bodys.querySelectorAll("tr"))
  209. var bodysArr = new Array();
  210. for (var j = 0; j < btrs.length; j++) {
  211. var contents = {};
  212. var btds = Array.from(btrs[j].querySelectorAll("td"));
  213. for (var i = 1; i < btds.length - 1; i++) {
  214. for (var key in titles) {
  215. //修改:默认字段data-field+i,兼容部分数据表格中不存在data-field值的问题
  216. var field = 'data-field' + i;
  217. if (field === key) {
  218. //根据表头字段获取table内容字段
  219. contents[field] = btds[i].innerText;
  220. }
  221. }
  222. }
  223. bodysArr.push(contents)
  224. }
  225. //将标题行置顶添加到数组
  226. bodysArr.unshift(titles);
  227. //导出excel
  228. excel.exportExcel({
  229. sheet1: bodysArr
  230. }, '故障记录' + new Date().toLocaleString() + '.xlsx', 'xlsx');
  231. }
  232. $("#exportLog").on("click", function(e) {
  233. exportFile("faultrecord");
  234. });
  235. // 批量删除
  236. $("#batchDelete").on("click", function(e) {
  237. e.preventDefault();
  238. var checkedData = table.checkStatus("faultrecord").data;
  239. if (checkedData.length === 0) {
  240. showMsg("未选择需要删除的日志", 2, 2000);
  241. return;
  242. }
  243. layer.confirm("确认要删除吗?", function() {
  244. var ids = [];
  245. for (var i = 0; i < checkedData.length; i++) {
  246. ids.push(checkedData[i].id);
  247. }
  248. fetchJSON("api/faultrecord/delete", {
  249. ids: ids
  250. }, "post", function(data) {
  251. if (data.status === 0) {
  252. showMsg("已删除!");
  253. tableFirstLoad = true;
  254. loadAirList(currentPage, currentSize);
  255. } else {
  256. showMsg(data.msg, 2, 2000);
  257. }
  258. });
  259. });
  260. });
  261. // 新建用户
  262. $("#addair").on("click", function(e) {
  263. e.preventDefault();
  264. tableFirstLoad = true;
  265. x_admin_show("添加",
  266. "../admin/faultrecord-edit.html?id=0&war_zone=&army=&division=&brigade=&fault_time=&is_history=&aircraft_type=&Ddiscover_opportunity=&up_down=&discoverer=&info_sources=&fault_content=&is_falsealarm=&fault_degree=&fault_consequence=&miss_flight_times=&impact_times=&fault_liability=&fault_location=&major=&fault_reason=&reviewer=&review_time=&repair_time=&repair_hours=&repair_personnum=&repaired_time=&classification=&is_grounded=&reporting_department=&device_name=&device_type=&replace_device=&replace_type=&diagnosis_method=&diagnosis_people=&faultparts_date=&faultparts_hours=&faultparts_ worktimes=&faultparts_renovation_manu=&faultparts_Renovation_hours=&faultparts_Renovation_times=&repair_method=&repair_person=&replace_device_hours=&replace_device_repairhours=&replace_device_repairtimes=&replace_device_applytimes=&replace_device_manufacturer=&Faultparts_system=&Inspector=&handling_opinions=&remark=",
  267. 1300,
  268. 500,
  269. function() {
  270. loadAirList(currentPage, currentSize);
  271. });
  272. });
  273. });
  274. });