mac-alarm-detail.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. var ip = server;
  2. var macCode = getQueryStringByName("fcode");
  3. var dateStr = getQueryStringByName("date");
  4. var shift = unescape(getQueryStringByName("shift"));
  5. function showToast() {
  6. var loading = layer.load(2);
  7. }
  8. // 根据传入的日期及班次获取该班次的开始时间及结束时间
  9. function getStartAndEndTime(dateStr, shift) {
  10. var obj = {};
  11. if (!dateStr || !shift) return undefined;
  12. var arr = dateStr.split("-");
  13. var year = parseInt(arr[0]);
  14. var month = parseInt(arr[1]) - 1;
  15. var day = parseInt(arr[2]);
  16. var date = new Date(year, month, day);
  17. if (shift === "白班") {
  18. obj.startTime = dateStr + " 08:30:00";
  19. obj.endTime = dateStr + " 20:30:00";
  20. } else {
  21. obj.startTime = dateStr + " 20:30:00";
  22. date = date.setDate(date.getDate() + 1);
  23. date = new Date(date);
  24. obj.endTime = dateFormat("yyyy-MM-dd", date) + " 08:30:00";
  25. }
  26. return obj;
  27. }
  28. var layer, eTbl;
  29. layui.use(["table", "layer", "form"], function () {
  30. var table = layui.table;
  31. layer = layui.layer;
  32. var form = layui.form;
  33. var obj = getStartAndEndTime(dateStr, shift);
  34. if (!obj) {
  35. layer.msg("请传入正确的日期及班次", { icon: 5 });
  36. return;
  37. }
  38. var start = obj.startTime;
  39. var end = obj.endTime;
  40. showToast();
  41. mgr.getUser().then((res) => {
  42. if (!res || !res.access_token || res.expired) {
  43. login();
  44. return;
  45. }
  46. const token = res.access_token;
  47. eTbl = table.render({
  48. elem: "#tbl",
  49. url:
  50. ip +
  51. `/eap/api/MacStatusTotalInfo/GetAlarmDetail?fcode=${macCode}&startTime=${start}&endTime=${end}`, //数据接口
  52. headers: {
  53. Authorization:`Bearer ${token}`
  54. },
  55. page: true, //开启分页
  56. toolbar: "#toolbar",
  57. height: "full-20",
  58. limit: 30,
  59. cols: [
  60. [
  61. //表头
  62. { type: "numbers" },
  63. { field: "macCode", title: "机台", width: 135, sort: false },
  64. {
  65. field: "sTime",
  66. title: "开始时间",
  67. width: 200,
  68. sort: true,
  69. templet: function (d) {
  70. return d.sTime == null || d.sTime == undefined
  71. ? ""
  72. : d.sTime.replace(/T/g, " ");
  73. },
  74. },
  75. { field: "flenD", title: "时长", width: 100, sort: false },
  76. { field: "alarmCode", title: "报警代码", width: 120, sort: false },
  77. { field: "alarmDescribe", title: "报警描述", sort: false },
  78. ],
  79. ],
  80. done: () => {
  81. layer.closeAll("loading");
  82. $.ajaxSettings.async = false;
  83. },
  84. });
  85. });
  86. table.on("toolbar(macmodel)", function (obj) {
  87. if (obj.event == "search") {
  88. showToast();
  89. var alarmCode = $("input[name=fcode]").val();
  90. var alarmname = $("input[name=fname]").val();
  91. eTbl.reload({
  92. where: {
  93. alarmCode: alarmCode,
  94. alarmname: alarmname,
  95. },
  96. done: () => {
  97. form.val("searchForm", {
  98. fcode: alarmCode,
  99. fname: alarmname,
  100. });
  101. layer.closeAll("loading");
  102. },
  103. });
  104. } else if (obj.event == "all") {
  105. showToast();
  106. $("input[name=fcode]").val("");
  107. $("input[name=fname]").val("");
  108. eTbl.reload({
  109. where: {
  110. alarmCode: "",
  111. alarmname: "",
  112. },
  113. done: () => {
  114. layer.closeAll("loading");
  115. },
  116. });
  117. }
  118. });
  119. table.on("sort(macmodel)", function (obj) {
  120. eTbl.reload({
  121. initSort: obj,
  122. where: {
  123. sort: obj.field,
  124. order: obj.type,
  125. },
  126. });
  127. });
  128. });
  129. function reloadTable() {
  130. eTbl.reload();
  131. }