repairManual.js 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386
  1. var majorId = 0
  2. var shop_id = -1;
  3. var sousuo = 0;
  4. let arr = [{
  5. id: 0,
  6. name: "全部搜索"
  7. },
  8. {
  9. id: 1,
  10. name: "故障名称"
  11. },
  12. {
  13. id: 2,
  14. name: "系统"
  15. },
  16. {
  17. id: 3,
  18. name: "故障描述"
  19. },
  20. {
  21. id: 4,
  22. name: "故障原因"
  23. },
  24. ]
  25. $(function() {
  26. var defaultPage = 0;
  27. var defaultSize = 10;
  28. var currentPage = defaultPage;
  29. var currentSize = defaultSize;
  30. var tableFirstLoad = true;
  31. let type = ""
  32. layui.use(["form", "table", "laypage", "layer", "upload"], function() {
  33. var table = layui.table;
  34. var laypage = layui.laypage;
  35. var layer = layui.layer;
  36. var form = layui.form;
  37. var title = $("#realName");
  38. var searchTitleKey = "";
  39. function getMajorName() {
  40. fetchJSON("api/aircraft/listAll", {}, "get", function(bet) {
  41. if (bet.status === 0) {
  42. $("#major").empty();
  43. $("#major").append($("<option>", {
  44. value: -1,
  45. text: "请选择机型"
  46. }));
  47. for (var i = 0; i < bet.data.length; i++) {
  48. if (bet.data[i].id === majorId) {
  49. $("#major").append(
  50. $("<option>", {
  51. // value: bet.data[i].id,
  52. text: bet.data[i].aircraft_type,
  53. selected: true
  54. })
  55. );
  56. } else {
  57. $("#major").append(
  58. $("<option>", {
  59. // value: bet.data[i].id,
  60. text: bet.data[i].aircraft_type
  61. })
  62. );
  63. }
  64. }
  65. form.render('select');
  66. } else {
  67. showMsg(bet.msg, 2);
  68. }
  69. });
  70. };
  71. getMajorName()
  72. function getsou() {
  73. for (var i = 0; i < arr.length; i++) {
  74. $("#sou").append(
  75. $("<option>", {
  76. value: arr[i].id,
  77. text: arr[i].name
  78. })
  79. );
  80. }
  81. };
  82. getsou()
  83. function loadAirList(page, size, searchTitle) {
  84. if (page === null || page === undefined) page = defaultPage;
  85. if (size === null || size === undefined) size = defaultSize;
  86. var tableOption = {
  87. elem: "#airList",
  88. height: "full-81",
  89. limit: size,
  90. cols: [
  91. [{
  92. type: "checkbox"
  93. },
  94. {
  95. title: '序号',
  96. toolbar: '#index',
  97. align: 'center',
  98. width:60
  99. },
  100. {
  101. field: "manual_name",
  102. title: "故障名称",
  103. align: "left",
  104. width: 250
  105. },
  106. {
  107. field: "aircraft",
  108. title: "机型",
  109. align: "center"
  110. },
  111. {
  112. field: "manual_system",
  113. title: "系统",
  114. align: "center"
  115. },
  116. {
  117. field: "subsystem",
  118. title: "分系统",
  119. align: "center"
  120. },
  121. {
  122. field: "fault_part",
  123. title: "机件名称",
  124. align: "center"
  125. },
  126. {
  127. field: "major",
  128. title: "专业",
  129. align: "center"
  130. },
  131. {
  132. field: "fault_describe",
  133. title: "故障描述",
  134. align: "center"
  135. },
  136. {
  137. field: "fault_reason",
  138. title: "故障原因",
  139. align: "center"
  140. },
  141. {
  142. field: "repair_plan",
  143. title: "处置方式",
  144. align: "center"
  145. },
  146. {
  147. field: "hmc",
  148. title: "HMC",
  149. align: "center"
  150. },
  151. {
  152. field: "mfl",
  153. title: "MFL",
  154. align: "center"
  155. },
  156. {
  157. field: "pfl",
  158. title: "PFL",
  159. align: "center"
  160. },
  161. {
  162. field: "gmp",
  163. title: "GMP",
  164. align: "center"
  165. },
  166. {
  167. fixed: "right",
  168. title: "操作",
  169. width: 179,
  170. toolbar: "#operationToolbar",
  171. align: "center"
  172. }
  173. ]
  174. ]
  175. };
  176. if (searchTitle === null || searchTitle === undefined || searchTitle === "") {
  177. if (shop_id == -1) {
  178. var url = "api/repairManual/listpage?page=" + (page + 1) + "&size=" + size;
  179. } else {
  180. var url = "api/repairManual/listpageByAircraft?aircraftName=" + shop_id +
  181. "&size=" + size + "&page=" + (page + 1)
  182. }
  183. fetchJSON(url, {}, "get", 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",
  192. "refresh", "skip"
  193. ],
  194. jump: function(obj, first) {
  195. if (first) return;
  196. currentPage = obj.curr - 1;
  197. currentSize = obj.limit;
  198. loadAirList(currentPage, currentSize,
  199. searchTitleKey);
  200. }
  201. });
  202. }
  203. tableOption.data = data.data.list;
  204. table.render(tableOption);
  205. } else {
  206. showMsg(data.msg, 2, 2000);
  207. }
  208. });
  209. } else {
  210. var url = "api/repairManual/getByKeyword?keyword=" + searchTitle + "&type=" + sousuo +
  211. "&size=" + size + "&page=" + (page + 1)
  212. fetchJSON(url, {}, "get", function(data) {
  213. if (data.status === 0) {
  214. if (tableFirstLoad) {
  215. tableFirstLoad = false;
  216. laypage.render({
  217. curr: page + 1,
  218. elem: "pagination",
  219. count: data.data.total,
  220. layout: ["count", "prev", "page", "next", "limit",
  221. "refresh", "skip"
  222. ],
  223. jump: function(obj, first) {
  224. if (first) return;
  225. currentPage = obj.curr - 1;
  226. currentSize = obj.limit;
  227. loadAirList(currentPage, currentSize,
  228. searchTitleKey);
  229. }
  230. });
  231. }
  232. tableOption.data = data.data.list;
  233. table.render(tableOption);
  234. } else {
  235. showMsg(data.msg, 2, 2000);
  236. }
  237. });
  238. }
  239. }
  240. loadAirList();
  241. $("#searchArticle").on("click", function(e) {
  242. e.preventDefault();
  243. tableFirstLoad = true;
  244. searchTitleKey = title.val().trim();
  245. sousuo = $("#sou").find("option:selected").val();
  246. if (searchTitleKey === "")
  247. loadAirList(0, currentSize);
  248. else
  249. loadAirList(0, currentSize, searchTitleKey);
  250. });
  251. // 监听表内工具条
  252. table.on("tool(airList)", function(obj) {
  253. var data = obj.data;
  254. if (obj.event === "edit") {
  255. var dataflie = data.file_path;
  256. fetchJSON("api/article/browse", {
  257. filepath: dataflie
  258. }, "get", function(d) {
  259. if (d.status === 0) {
  260. sessionStorage.setItem("url", d.msg)
  261. x_admin_show(
  262. "在线查看",
  263. encodeURI(
  264. "../admin/repair.html"
  265. ),
  266. 1300,
  267. 600,
  268. function() {
  269. loadAirList(currentPage, currentSize);
  270. }
  271. );
  272. }
  273. });
  274. } else
  275. if (obj.event === "delete") {
  276. // 删除
  277. var ids = [];
  278. ids.push(data.id);
  279. layer.confirm("确认要删除吗?", function() {
  280. fetchJSON("api/repairManual/delete", {
  281. ids: ids
  282. }, "post", function(data) {
  283. if (data.status === 0) {
  284. showMsg("已删除!", 1, 2000);
  285. tableFirstLoad = true;
  286. loadAirList(currentPage, currentSize);
  287. } else {
  288. showMsg(data.msg, 2, 2000);
  289. }
  290. });
  291. });
  292. } else
  293. if (obj.event === 'download') {
  294. var file_path = data.file_path
  295. var newurl = file_path.substr(1, file_path.length);
  296. file_path = newurl.substr(newurl.indexOf('\\') + 1, file_path.length);
  297. newurl = file_path.substr(0, file_path.indexOf('.'))
  298. newurl = urlBase + "source\\" + newurl + ".docx"
  299. window.open(newurl)
  300. } else
  301. if (obj.event === 'particulars') {
  302. var fault_describe = data.fault_describe;
  303. var fault_reason = data.fault_reason;
  304. var img_path = data.img_path;
  305. var repair_plan = data.repair_plan;
  306. sessionStorage.setItem("describe", fault_describe)
  307. sessionStorage.setItem("reason", fault_reason)
  308. sessionStorage.setItem("path", img_path)
  309. sessionStorage.setItem("plan", repair_plan)
  310. x_admin_show(
  311. "在线查看",
  312. encodeURI(
  313. "../admin/fault_flow_chart.html"
  314. ),
  315. 1300,
  316. 600,
  317. function() {
  318. loadAirList(currentPage, currentSize);
  319. }
  320. );
  321. }
  322. });
  323. // 批量删除
  324. $("#batchDelete").on("click", function(e) {
  325. e.preventDefault();
  326. var checkedData = table.checkStatus("airList").data;
  327. if (checkedData.length === 0) {
  328. showMsg("未选择需要删除的日志", 2, 2000);
  329. return;
  330. }
  331. layer.confirm("确认要删除吗?", function() {
  332. var ids = [];
  333. for (var i = 0; i < checkedData.length; i++) {
  334. ids.push(checkedData[i].id);
  335. }
  336. fetchJSON("api/repairManual/delete", {
  337. ids: ids
  338. }, "post", function(data) {
  339. if (data.status === 0) {
  340. showMsg("已删除!");
  341. tableFirstLoad = true;
  342. loadAirList(currentPage, currentSize);
  343. } else {
  344. showMsg(data.msg, 2, 2000);
  345. }
  346. });
  347. });
  348. });
  349. // 新建用户
  350. $("#addair").on("click", function(e) {
  351. e.preventDefault();
  352. tableFirstLoad = true;
  353. x_admin_show("手动录入",
  354. "../admin/repairManual-add.html?id=0&manual_name=&fault_part=&aircraft=&manual_system=&subsystem=&manual_number=&fault_describe=&repair_plan=&file_path=&major=&fault_reason=&hmc=&mfl=&pfl=&gmp=",
  355. 790, 650,
  356. function() {
  357. loadAirList(currentPage, currentSize);
  358. });
  359. });
  360. //下拉框
  361. $('#sure').on("click", function() {
  362. shop_id = $("#major").find("option:selected").val();
  363. // console.log(shop_id)
  364. tableFirstLoad = true;
  365. loadAirList(currentPage, currentSize);
  366. })
  367. });
  368. });