IndexList.js 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. var refreshGirdData;
  2. var bootstrap = function ($, learun) {
  3. "use strict";
  4. var SrmRateData;
  5. var RobotRateData;
  6. var page = {
  7. init: function () {
  8. $("#beginTime").val(beginTime);
  9. $("#endTime").val(endTime);
  10. page.initGird();
  11. page.bind();
  12. },
  13. bind: function () {
  14. // 查询
  15. $('#btn_Search').on('click', function () {
  16. if (page.SearchValid('beginTime', 'endTime')) {
  17. return;
  18. }
  19. page.search({ queryJson: JSON.stringify({ beginTime: $("#beginTime").val(), endTime: $("#endTime").val(), DevType: '2' }) });
  20. });
  21. },
  22. SearchValid: function (begin,end) {
  23. let result = false;
  24. var beginTime = $("#"+begin).val().replace(/^[' ' || ' ']*/, '').replace(/[' ' | ' ']*$/, '');
  25. if (beginTime.length == 0) {
  26. learun.alert.error('开始时间不能为空!');
  27. result = true;
  28. return result;
  29. }
  30. var endTime = $("#"+end).val().replace(/^[' ' || ' ']*/, '').replace(/[' ' | ' ']*$/, '');
  31. if (endTime.length == 0) {
  32. learun.alert.error('结束时间不能为空!');
  33. result = true;
  34. return result;
  35. }
  36. if (!page.isDateValid(beginTime)) {
  37. learun.alert.error('开始时间格式不正确!');
  38. result = true;
  39. return result;
  40. }
  41. if (!page.isDateValid(endTime)) {
  42. learun.alert.error('结束时间格式不正确!');
  43. result = true;
  44. return result;
  45. }
  46. },
  47. isDateValid: function (dateString) {
  48. const date = new Date(dateString);
  49. return !isNaN(date.getTime());
  50. },
  51. // 初始化列表
  52. initGird: function () {
  53. $('#gridtable').jfGrid({
  54. url: top.$.rootUrl + '/PTManager/DeviceEffectives/GetSRMPageList',
  55. headData: [
  56. { label: "设备名", name: "Code", width: 80, align: "left" },
  57. { label: "出库", name: "OutDepot", width: 80, align: "left" },
  58. { label: "入库", name: "EnterDepot", width: 80, align: "left" },
  59. { label: "移库", name: "MoveDepot", width: 80, align: "left" },
  60. //{
  61. // label: "状态分析", name: "State", width: 500, align: "left"
  62. // , formatter: function (cellvalue) {
  63. // let w1 = cellvalue[0] <= 30 ? 30 : cellvalue[0] >= 100?100:cellvalue[0]*1;
  64. // let w2 = cellvalue[1] <= 30 ? 30 : cellvalue[1] >= 100?100:cellvalue[1]*1;
  65. // let w3 = cellvalue[2] <= 30 ? 30 : cellvalue[2] >= 100?100:cellvalue[2]*1;
  66. // let w4 = cellvalue[3] <= 30 ? 30 : cellvalue[3] >= 100?100:cellvalue[3]*1;
  67. // let w5 = cellvalue[4] <= 30 ? 30 : cellvalue[4] >= 100?100:cellvalue[4]*1;
  68. // return '<div class = \"bar-chart\"> <div class=\"bar\" title=\"空闲' + cellvalue[0] + '%\" style=\"background-color: #0ecb86; width: ' + w1 + 'px;\">' + cellvalue[0] + '%</div> <div class=\"bar\" title=\"手动' + cellvalue[1] + '%\" style=\"background-color: #fac82e; width: ' + w2 + 'px;\">' + cellvalue[1] + '%</div> <div class=\"bar\" title=\"自动' + cellvalue[2] + '%\" style=\"background-color: #00d6ce; width: ' + w3 + 'px;\">' + cellvalue[2] + '%</div> <div class=\"bar\" title=\"报警' + cellvalue[3] + '%\" style=\"background-color: #e7441f; width: ' + w4 + 'px;\">' + cellvalue[3] + '%</div> <div class=\"bar\" title=\"运行' + cellvalue[4] + '%\" style=\"background-color: #1890ff; width: ' + w5 + 'px;\">' + cellvalue[4] +'%</div></div>'
  69. //}
  70. //},
  71. {
  72. label: "空闲(分钟)", name: "Free", width: 80, align: "left", formatter: function (cellvalue) {
  73. return cellvalue % 1 >= 0.5 ? Math.ceil(cellvalue) : Math.floor(cellvalue);
  74. }
  75. },
  76. {
  77. label: "手动(分钟)", name: "Manual", width: 80, align: "left"
  78. , formatter: function (cellvalue) {
  79. return cellvalue % 1 >= 0.5 ? Math.ceil(cellvalue) : Math.floor(cellvalue);
  80. }
  81. },
  82. {
  83. label: "自动(分钟)", name: "Automatic", width: 80, align: "left", formatter: function (cellvalue) {
  84. return cellvalue % 1 >= 0.5 ? Math.ceil(cellvalue) : Math.floor(cellvalue);
  85. }
  86. },
  87. {
  88. label: "报警(分钟)", name: "Alarm", width: 80, align: "left", formatter: function (cellvalue) {
  89. return cellvalue % 1 >= 0.5 ? Math.ceil(cellvalue) : Math.floor(cellvalue);
  90. }
  91. },
  92. {
  93. label: "运行(分钟)", name: "Working", width: 80, align: "left", formatter: function (cellvalue) {
  94. return cellvalue % 1 >= 0.5 ? Math.ceil(cellvalue) : Math.floor(cellvalue);
  95. }
  96. },
  97. {
  98. label: "总时间(分钟)", name: "TotalTime", width: 80, align: "left", formatter: function (cellvalue) {
  99. return cellvalue % 1 >= 0.5 ? Math.ceil(cellvalue) : Math.floor(cellvalue);
  100. }
  101. },
  102. {
  103. label: "设备执行分析", name: "DevAction", width: 400, align: "left"
  104. , formatter: function (cellvalue) {
  105. let str = '<div class = \"gridflex-container\">';
  106. for (var i = 0; i < cellvalue.length; i++) {
  107. str += '<div class=\"gridflex-item\" title=\"' + cellvalue[i].Type + ',次数:' + cellvalue[i].ActionAmount + ',平均耗时:' + cellvalue[i].ActionTime + '\" >' + cellvalue[i].Type + ',次数:' + cellvalue[i].ActionAmount + ',平均耗时:' + cellvalue[i].ActionTime + '</div> '
  108. }
  109. str += '</div>';
  110. return str;
  111. }
  112. },
  113. {
  114. label: "工位使用", name: "StationCount", width: 400, align: "left"
  115. , formatter: function (cellvalue) {
  116. let str = '<div class = \"gridflex-container\">';
  117. for (var i = 0; i < cellvalue.length; i++) {
  118. str += '<div class=\"gridflex-item\" title=\"' + cellvalue[i].Type + ',工位数:' + cellvalue[i].StationIndex + ',执行数量:' + cellvalue[i].StationNum + '\" >' + cellvalue[i].Type + ',工位数:' + cellvalue[i].StationIndex + ',执行数量:' + cellvalue[i].StationNum + '</div> '
  119. }
  120. str += '</div>';
  121. return str;
  122. }
  123. },
  124. ],
  125. rowHeight: 70,
  126. mainId: 'Code',
  127. isPage: true,
  128. reloadSelected: true,
  129. autowWidth: true,
  130. sidx: 'Code',
  131. sord: 'DESC',
  132. });
  133. page.search({ queryJson: JSON.stringify({ beginTime: $("#beginTime").val(), endTime: $("#endTime").val(), DevType: '2' }) });
  134. },
  135. search: function (param) {
  136. $('#gridtable').jfGridSet('reload', param);
  137. },
  138. };
  139. refreshGirdData = function () {
  140. };
  141. page.init();
  142. }