PostRe.html 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>主机报表</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
  8. <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
  9. <meta http-equiv="pragma" content="no-cache">
  10. <meta http-equiv="Cache" content="no-cache">
  11. <meta http-equiv="cache-control" content="no-cache, must-revalidate">
  12. <meta http-equiv="expires" content="0">
  13. <meta name="viewport"
  14. content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
  15. <!--引入 element-ui 的样式,-->
  16. <link rel="stylesheet" href="../layui/css/layui.css" media="all">
  17. <link rel="stylesheet" href="../css/element.css">
  18. <link rel="stylesheet" href="../css/style.css">
  19. <link rel="stylesheet" href="../css/base.css">
  20. <script src="../layui/layui.js" type="text/javascript" charset="utf-8"></script>
  21. <script src="../js/jquery.min.js" type="text/javascript" charset="utf-8"></script>
  22. <script src="../js/echarts.min.js" type="text/javascript" charset="utf-8"></script>
  23. <script type="text/javascript">
  24. document.write('<script src="../js/yz/init.js?id='+(new Date().getTime())+'" type="text/javascript" charset="utf-8"><\/script>');
  25. document.write('<script src="../js/yz/shipLi.js?id='+(new Date().getTime())+'" type="text/javascript" charset="utf-8"><\/script>');
  26. document.write('<script src="../js/yz/ajax.js?id='+(new Date().getTime())+'" type="text/javascript" charset="utf-8"><\/script>');
  27. document.write('<script src="../js/yz/configuration.js?id='+(new Date().getTime())+'" type="text/javascript" charset="utf-8"><\/script>');
  28. </script>
  29. <script>
  30. checkLogin();
  31. </script>
  32. </head>
  33. <style type="text/css">
  34. * {
  35. margin: 0;
  36. padding: 0;
  37. box-sizing: border-box;
  38. }
  39. body {
  40. height: 100vh;
  41. color: #fff;
  42. overflow: auto;
  43. background-color: #040d32;
  44. }
  45. ._day{
  46. height: 28px;
  47. font-size: 14px;
  48. line-height: 28px;
  49. width: 60px;
  50. cursor: pointer;
  51. border-radius: 4px;
  52. text-align: center;
  53. background-color: #5793f3;
  54. }
  55. .layui-nav .layui-nav-item{
  56. cursor: pointer;
  57. line-height: 45px;
  58. }
  59. .layui-nav .layui-nav-item .layui-nav-child{
  60. top:50px;
  61. }
  62. .layui-nav .layui-nav-item .layui-nav-child dd{
  63. cursor: pointer;
  64. }
  65. @media screen and (max-width: 500px){
  66. .tabUl div {
  67. padding: 0 12px;
  68. font-size: 13px;
  69. }
  70. }
  71. .layui-nav .layui-this:after{
  72. background-color: #5793f3;
  73. }
  74. </style>
  75. <body>
  76. <div style="height:60px;padding:7.5px;">
  77. <ul class="layui-nav yz-tab" style="background-color: #082041;">
  78. <li class="layui-nav-item layui-this">
  79. <a><span style="font-size: 15px;">主机数据</span><span class="layui-nav-more"></span></a>
  80. <dl class="layui-nav-child">
  81. <dd data-open="onePost"><a>关键数据</a></dd>
  82. <dd data-open="sixPost"><a>1-6#缸排气温度</a></dd>
  83. <dd data-open="sevPost"><a>0-7#主轴承温度</a></dd>
  84. <dd data-open="twoPost"><a>涡轮、滑油、高温水</a></dd>
  85. <dd data-open="thrPost"><a>中冷器</a></dd>
  86. </dl>
  87. </li>
  88. <li class="layui-nav-item Enthus">
  89. <a><span style="font-size: 15px;">齿轮箱数据</span><span class="layui-nav-more"></span></a>
  90. <dl class="layui-nav-child">
  91. <dd data-open="forPost"><a>滤前、滑油</a></dd>
  92. <dd data-open="fivPost"><a>正车、倒车、输出</a></dd>
  93. </dl>
  94. </li>
  95. <li class="layui-nav-item Inova">
  96. <a><span style="font-size: 15px;">滤前、滑油、正车、倒车</span><span class="layui-nav-more"></span></a>
  97. <dl class="layui-nav-child">
  98. <dd data-open="forPost"><a>滤前、滑油、正车、倒车</a></dd>
  99. </dl>
  100. </li>
  101. <li class="layui-nav-item Inova">
  102. <a><span style="font-size: 15px;">燃油舱、柴油舱</span><span class="layui-nav-more"></span></a>
  103. <dl class="layui-nav-child">
  104. <dd data-open="fivPost"><a>柴油舱液位</a></dd>
  105. <dd data-open="eigPost"><a>燃油舱液位</a></dd>
  106. <dd data-open="ninPost"><a>燃油舱温度</a></dd>
  107. </dl>
  108. </li>
  109. </ul>
  110. </div>
  111. <div class="search_ flex justify-center align-center">
  112. <div class="_day" data-num="-1">前一天</div>
  113. <input type="date" class="startDate text-center margin-lr" style="width: 140px;padding: 0;"/>
  114. <div class="_day" data-num="1">后一天</div>
  115. </div>
  116. <div class="yz_clm15" style="height: calc(100% - 95px);">
  117. <div class="yz_clm4 reportli">
  118. <div class="Sense">
  119. <div class="yz_title">主机转速</div>
  120. <div id="myChart1" style="height: calc(100% - 30px);">
  121. </div>
  122. </div>
  123. </div>
  124. <div class="yz_clm4 reportli">
  125. <div class="Sense">
  126. <div class="yz_title">燃油进机压力</div>
  127. <div id="myChart2" style="height: calc(100% - 30px);">
  128. </div>
  129. </div>
  130. </div>
  131. <div class="yz_clm4 reportli">
  132. <div class="Sense">
  133. <div class="yz_title">燃油进机温度</div>
  134. <div id="myChart3" style="height: calc(100% - 30px);">
  135. </div>
  136. </div>
  137. </div>
  138. <div class="yz_clm4 reportli">
  139. <div class="Sense">
  140. <div class="yz_title">起动空气压力</div>
  141. <div id="myChart4" style="height: calc(100% - 30px);">
  142. </div>
  143. </div>
  144. </div>
  145. <div class="yz_clm4 reportli">
  146. <div class="Sense">
  147. <div class="yz_title">控制空气压力</div>
  148. <div id="myChart5" style="height: calc(100% - 30px);">
  149. </div>
  150. </div>
  151. </div>
  152. <div class="yz_clm4 reportli">
  153. <div class="Sense">
  154. <div class="yz_title">预润滑油压力</div>
  155. <div id="myChart6" style="height: calc(100% - 30px);">
  156. </div>
  157. </div>
  158. </div>
  159. <div class="yz_clm3 reportli">
  160. <div class="Sense">
  161. <div class="yz_title">高温水进机温度</div>
  162. <div id="myChart7" style="height: calc(100% - 30px);">
  163. </div>
  164. </div>
  165. </div>
  166. <div class="yz_clm3 reportli">
  167. <div class="Sense">
  168. <div class="yz_title">高温水出机温度</div>
  169. <div id="myChart8" style="height: calc(100% - 30px);">
  170. </div>
  171. </div>
  172. </div>
  173. </div>
  174. </body>
  175. <script>
  176. var _Tok = JSON.parse(localStorage.getItem("_yz_TT")).yzTok;
  177. var _ship = localStorage.getItem("shipSn"),_shipMmsi=undefined;
  178. var _XAxis = [],_myChart = [],nowCar = "onePost",nowTime = null;
  179. var _ChartU = ["myChart1","myChart2","myChart3","myChart4","myChart5","myChart6","myChart7","myChart8"];
  180. layui.use(['layer', 'form','element'], function(){
  181. var layer = layui.layer,
  182. element = layui.element,
  183. $ = layui.jquery;
  184. })
  185. window.addEventListener('message',(data)=>{
  186. initFn();
  187. })
  188. var _eCchart = {},_eChartTxt = {};
  189. $(document).ready(function() {
  190. initFn();
  191. });
  192. function initFn(){
  193. _ship = localStorage.getItem("shipSn");
  194. let _shipdata = ShipData();
  195. _shipMmsi = _shipdata.filter(item => item.sn == _ship)[0].mmsi;
  196. let _Config = Config((_ship == "381001400"||_ship == "480000618"?"381001400":"382001400"),_ship)["Post"];
  197. _eCchart = _Config["eCchart"];
  198. _eChartTxt = _Config["eChartTxt"];
  199. let _sta = _Config["eCchartSta"];
  200. $(".yz-tab .Enthus").css("display",_sta[0]);
  201. $(".yz-tab .Inova").css("display",_sta[1]);
  202. $(".yz-tab dd[data-open='sixPost'] a").text(_sta[2]);
  203. $(".yz-tab dd[data-open='sevPost'] a").text(_sta[3]);
  204. $(".yz-tab dd[data-open='twoPost'] a").text(_sta[5]);
  205. $(".yz-tab dd[data-open='thrPost']").css("display",_sta[4]);
  206. _myChart = [];
  207. nowCar = "onePost";
  208. $(".yz-tab li").removeClass("layui-this").eq(0).addClass("layui-this");
  209. $(".yz-tab li dd").removeClass("layui-this");
  210. $(".yz-tab dd[data-open='onePost']").addClass("layui-this");
  211. $(".startDate").val(getTime(new Date())[0]);
  212. setXAxis();
  213. setEcharts(nowCar);
  214. }
  215. function setEcharts(_key){
  216. var _sta = 0;
  217. yzkj.load("load1");
  218. setTimeout(()=>{
  219. let _obj = _eCchart[_key];
  220. nowTime = $(".startDate").val().replace(/\//g, '-');
  221. $(".reportli").css("display","block");
  222. if(_obj.length == 8){
  223. $(".reportli").removeClass("yz_clm4").addClass("yz_clm3");
  224. }else if(_obj.length == 7){
  225. $(".reportli").removeClass("yz_clm4").addClass("yz_clm3");
  226. $(".reportli").eq(7).css("display","none");
  227. }else if(_obj.length < 7){
  228. $(".reportli").removeClass("yz_clm3").addClass("yz_clm4");
  229. $(".reportli").eq(6).css("display","none");
  230. $(".reportli").eq(7).css("display","none");
  231. if(_obj.length == 5){
  232. $(".reportli").eq(5).css("display","none");
  233. }else if(_obj.length == 4){
  234. $(".reportli").eq(4).css("display","none");
  235. $(".reportli").eq(5).css("display","none");
  236. }
  237. }
  238. let _sta = false;
  239. for(var i=0;i<_obj.length;i++){
  240. let _acb = _obj[i],_ind = i;
  241. $(".reportli .yz_title").eq(i).text(_eChartTxt[_key][i]);
  242. _sta += 1;
  243. if(_shipMmsi==undefined){
  244. reportAjax({
  245. "_url":_acb[0],
  246. "_time": nowTime,
  247. "sn": _ship,
  248. "callback":function(res){
  249. setData(res,_ind,_acb[1],(_sta == _obj.length?true:false));
  250. }
  251. })
  252. }else{
  253. if(_sta == _obj.length){
  254. yzkj.closeLoad("load1");
  255. }
  256. _myChart[_ind].setOption(setoption1([],_XAxis,_acb[1]));
  257. _myChart[_ind].resize();
  258. }
  259. }
  260. },100);
  261. }
  262. function setData(_data,_i,_unit,_ft){
  263. let _newD = [];
  264. for(var i=0;i<6*24;i++){
  265. let _tim = getTime(new Date(new Date(nowTime+" 00:00:00").getTime() + (i*60*1000*10)));
  266. _newD.push(_data[_tim[0]+_tim[2]] || 0);
  267. }
  268. _myChart[_i].setOption(setoption1(_newD,_XAxis,_unit));
  269. _myChart[_i].resize();
  270. if(_ft){
  271. yzkj.closeLoad("load1");
  272. }
  273. }
  274. $(window).resize(function(){
  275. for(var i=0;i<_myChart.length;i++){
  276. _myChart[i].resize();
  277. }
  278. })
  279. $(".startDate").on("change","",function(e){
  280. setEcharts(nowCar);
  281. })
  282. $(".layui-nav-child").on("click","dd",function(){
  283. let _id = $(this).data("open");
  284. nowCar = _id;
  285. setEcharts(nowCar);
  286. $(this).parent().parent().addClass("layui-this").siblings().removeClass("layui-this");
  287. })
  288. $(".search_ ._day").on("click","",function(){
  289. let _id = parseInt($(this).data("num"));
  290. let _key = $(".startDate").val().replace(/\//g, '-');
  291. let _a = dayChange(_key,_id);
  292. if(_a != undefined){
  293. $(".startDate").val(getTime(dayChange(_key,_id))[0]);
  294. setEcharts(nowCar);
  295. }
  296. })
  297. </script>
  298. </html>