PostCx.html 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774
  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. <link rel="stylesheet" href="../../css/element.css">
  16. <link rel="stylesheet" href="../../css/style.css">
  17. <link rel="stylesheet" id="linkSource" href="../../css/base.css">
  18. <script src="../../js/jquery.min.js" type="text/javascript" charset="utf-8"></script>
  19. <script src="../../js/yz/init.js" type="text/javascript" charset="utf-8"></script>
  20. <script src="../../js/echarts.min.js" type="text/javascript" charset="utf-8"></script>
  21. <script src="../../js/pako.js"></script>
  22. <script type="text/javascript">
  23. document.write('<script src="../../js/yz/shipLi.js?id='+(new Date().getTime())+'" type="text/javascript" charset="utf-8"><\/script>');
  24. document.write('<script src="../../js/yz/defailt.js?id='+(new Date().getTime())+'" type="text/javascript" charset="utf-8"><\/script>');
  25. document.write('<script src="../../js/yz/ajax.js?id='+(new Date().getTime())+'" type="text/javascript" charset="utf-8"><\/script>');
  26. checkLogin();
  27. </script>
  28. </head>
  29. <style type="text/css">
  30. *{
  31. margin: 0;
  32. padding: 0;
  33. }
  34. body {
  35. color: #fff;
  36. height: 100%;
  37. background-color: #103151;
  38. }
  39. div,td {
  40. box-sizing: border-box;
  41. }
  42. .swi_li>div{
  43. font-size: 12px;
  44. width: 25%;
  45. text-align: center;
  46. padding: 10px 5px;
  47. border-bottom: 1px solid rgba(125,125,125,0.4);
  48. border-right: 1px solid rgba(125,125,125,0.4);
  49. }
  50. .swi_li>div:nth-child(4n){
  51. border-right: none;
  52. }
  53. .icon-cloud-state{
  54. font-size: 22px;
  55. color: #9e9e9e;
  56. }
  57. .icon-cloud-state+div{
  58. color: #8799a3;
  59. }
  60. .brr{
  61. border-right: 1px solid rgba(125,125,125,0.4);
  62. }
  63. .key_data>div{
  64. display: flex;
  65. align-items: center;
  66. border-top: 1px solid rgba(125,125,125,0.4);
  67. }
  68. .key_data>div>div{
  69. flex: 1;
  70. font-size: 12px;
  71. color: #8799a3;
  72. text-align: center;
  73. padding: 8px 0;
  74. }
  75. .key_data>div>div:nth-child(2){
  76. border-left: 1px solid rgba(125,125,125,0.4);
  77. border-right: 1px solid rgba(125,125,125,0.4);
  78. }
  79. ._val{
  80. font-size: 18px !important;
  81. font-weight: bold;
  82. color:#fbbd08 !important;
  83. margin:0 4px;
  84. }
  85. .show_act{
  86. transform: rotate(90deg);
  87. transition: transform 300ms linear
  88. }
  89. .info_li{
  90. display: flex;
  91. align-items: center;
  92. justify-content: space-between;
  93. padding: 8px 10px;
  94. background-color: #173862;
  95. }
  96. .info_li .iconfont.act{
  97. transform:rotate(90deg);
  98. transition:transform 0.3s linear;
  99. }
  100. ._Num{
  101. font-size: 20px;
  102. border: none;
  103. }
  104. .tabCont>div{
  105. text-align: center;
  106. margin: 7px;
  107. border: 1px solid rgba(125,125,125,0.4);
  108. }
  109. .temBox{
  110. width: 50px;
  111. height: 80px;
  112. background-color: #005eb6;
  113. border: 1px solid #fff;
  114. margin-left: 5px;
  115. background-image: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 0%, #103151 1%);
  116. }
  117. </style>
  118. <script type="text/javascript">
  119. </script>
  120. <body>
  121. <div class="topParen">
  122. <div class="topBox">
  123. <div>主机管理</div>
  124. <i class="iconfont icon-left" onclick="javascript:history.back(-1);"></i>
  125. </div>
  126. <div class="tabli">
  127. <div class="yz_this" name="oneEng">主机数据</div>
  128. <div name="twoEng">齿轮箱</div>
  129. <div name="thrEng">综合报警</div>
  130. </div>
  131. <div class="tabCont oneEng">
  132. <div>
  133. <div class="info_li" data-type="post_zs">
  134. <div>主机转速</div>
  135. <div class="iconfont icon-right text-grey show_act"></div>
  136. </div>
  137. <div class="text-center post_zs">
  138. <div style="height: 180px;" class="br_b">
  139. <div id="myChart1" style="height:98%;"></div>
  140. <div style="margin-top: -24px;">转速:<span class="_Num speedNum">0</span> RPM</div>
  141. </div>
  142. <div>
  143. <div class="flex padding-sm setgz">
  144. <div class="flex text-grey" onclick="setGz(0);">
  145. <div class="check_ check_act"></div><span style="line-height: 14px;">1-6#缸</span>
  146. </div>
  147. <div class="flex text-grey margin-lr-lg" onclick="setGz(1);">
  148. <div class="check_"></div><span style="line-height: 14px;">0-7#主轴承</span>
  149. </div>
  150. </div>
  151. <div class="margin-tb-sm" id="averAge"></div>
  152. <div style="height: 180px;">
  153. <div id="myChart2" style="height:100%;"></div>
  154. </div>
  155. <div class="flex flex-wrap swi_li br_t" id="gzSwit">
  156. </div>
  157. </div>
  158. </div>
  159. </div>
  160. <div>
  161. <div class="info_li" data-type="post_data">
  162. <div>燃油、滑油</div>
  163. <div class="iconfont icon-right text-grey show_act"></div>
  164. </div>
  165. <div class="post_data">
  166. <div class="key_data">
  167. <div>
  168. <div style="flex: 1;">数据更新时间</div>
  169. <div style="flex: 2;border-right:none;" id="uTate">2021-01-01 00:00:00</div>
  170. </div>
  171. <div>
  172. <div>滑油进机温度</div>
  173. <div id="hOil_J" class="_val">0</div>
  174. <div>℃</div>
  175. </div>
  176. <div>
  177. <div>滑油出机温度</div>
  178. <div id="hOil_C" class="_val">0</div>
  179. <div>℃</div>
  180. </div>
  181. <div>
  182. <div>燃油进机压力</div>
  183. <div id="rOil_J" class="_val">0</div>
  184. <div>MPa</div>
  185. </div>
  186. <div>
  187. <div>燃油出机温度</div>
  188. <div id="rOil_C" class="_val">0</div>
  189. <div>℃</div>
  190. </div>
  191. </div>
  192. </div>
  193. </div>
  194. <div>
  195. <div class="info_li" data-type="zy_data">
  196. <div>增压器、中冷器</div>
  197. <div class="iconfont icon-right text-grey"></div>
  198. </div>
  199. <div class="zy_data" style="display: none;">
  200. <div class="key_data"></div>
  201. </div>
  202. </div>
  203. <div>
  204. <div class="info_li" data-type="lqs_data">
  205. <div>涡轮排气温度</div>
  206. <div class="iconfont icon-right text-grey"></div>
  207. </div>
  208. <div class="lqs_data" style="display: none;">
  209. <div class="padding-sm flex flex-wrap" id="wlWd">
  210. </div>
  211. </div>
  212. </div>
  213. <div>
  214. <div class="info_li" data-type="wz_data">
  215. <div>高温水</div>
  216. <div class="iconfont icon-right text-grey"></div>
  217. </div>
  218. <div class="wz_data" style="display: none;">
  219. <div class="flex flex-wrap" id="gwsWd">
  220. </div>
  221. <div class="flex text-center br_t">
  222. <div class="padding-tb-xs flex-sub">
  223. <div class="iconfont icon-cloud-state"></div>
  224. <div>进机温度报警</div>
  225. </div>
  226. <div class="padding-tb-xs flex-sub br_r br_l">
  227. <div class="iconfont icon-cloud-state"></div>
  228. <div>出机温度过高</div>
  229. </div>
  230. <div class="padding-tb-xs flex-sub">
  231. <div class="iconfont icon-cloud-state"></div>
  232. <div>出机温度报警</div>
  233. </div>
  234. </div>
  235. </div>
  236. </div>
  237. </div>
  238. <div class="tabCont twoEng" style="display: none;">
  239. <div>
  240. <div class="info_li" data-type="hy_data">
  241. <div>滑油</div>
  242. <div class="iconfont icon-right text-grey show_act"></div>
  243. </div>
  244. <div class="hy_data">
  245. <div class="flex">
  246. <div style="height: 120px;width: 60%;">
  247. <div id="myChart3" style="height:98%;"></div>
  248. <div style="margin-top: -22px;" class="text-sm">
  249. 压力:<span class="_val paRuse">3.32</span> kPa
  250. </div>
  251. </div>
  252. <div class="margin-tb-sm hyTem" style="width: 40%;">
  253. <div class="flex align-center justify-center">
  254. <div style="height: 80px;" class="flex flex-direction justify-between text-grey align-end">
  255. <span>150</span>
  256. <span>100</span>
  257. <span>50</span>
  258. <span>0</span>
  259. </div>
  260. <div class="temBox"></div>
  261. </div>
  262. <div class="margin-top-xs text-sm">温度:<span class="_val">4.9</span>℃</div>
  263. </div>
  264. </div>
  265. </div>
  266. </div>
  267. <div>
  268. <div class="info_li" data-type="gzy_data">
  269. <div>工作压力</div>
  270. <div class="iconfont icon-right text-grey"></div>
  271. </div>
  272. <div class="gzy_data padding-sm" style="display: none;">
  273. <div class="br_all key_data" style="border-top: none;">
  274. <div><div>滤后油压</div><div class="_val">0</div><div>kPa</div></div>
  275. <div><div>滤前油压</div><div class="_val">0</div><div>kPa</div></div>
  276. <div><div>滤前工作油压</div><div class="_val">0</div><div>kPa</div></div>
  277. <div><div>正车油压</div><div class="_val">0</div><div>kPa</div></div>
  278. <div><div>倒车油压</div><div class="_val">0</div><div>kPa</div></div>
  279. </div>
  280. </div>
  281. </div>
  282. <div>
  283. <div class="info_li" data-type="kqp_data">
  284. <div>空气瓶压力</div>
  285. <div class="iconfont icon-right text-grey"></div>
  286. </div>
  287. <div class="kqp_data padding-sm" style="display: none;">
  288. <div class="br_all key_data" style="border-top: none;">
  289. <div><div>1#主</div><div class="_val">0</div><div>kPa</div></div>
  290. <div><div>2#主</div><div class="_val">0</div><div>kPa</div></div>
  291. <div><div>甲板及杂用</div><div class="_val">0</div><div>kPa</div></div>
  292. <div><div>控制</div><div class="_val">0</div><div>kPa</div></div>
  293. </div>
  294. </div>
  295. </div>
  296. <div>
  297. <div class="info_li" data-type="cyc_data">
  298. <div>柴油舱</div>
  299. <div class="iconfont icon-right text-grey"></div>
  300. </div>
  301. <div class="cyc_data" style="display: none;">
  302. <div class="key_data" style="border-top: none;">
  303. </div>
  304. </div>
  305. </div>
  306. <div>
  307. <div class="info_li" data-type="ryc_data">
  308. <div>柴油舱</div>
  309. <div class="iconfont icon-right text-grey"></div>
  310. </div>
  311. <div class="ryc_data" style="display: none;">
  312. <div class="key_data" style="border-top: none;">
  313. </div>
  314. </div>
  315. </div>
  316. </div>
  317. <div class="tabCont thrEng" style="display: none;">
  318. <div>
  319. <div class="info_li" data-type="swit1_data">
  320. <div></div><div class="iconfont icon-right text-grey"></div>
  321. </div>
  322. <div class="swit1_data" style="display: none;">
  323. <div class="flex flex-wrap swi_li" id="allSwit"></div>
  324. </div>
  325. </div>
  326. <div>
  327. <div class="info_li" data-type="swit2_data">
  328. <div></div><div class="iconfont icon-right text-grey"></div>
  329. </div>
  330. <div class="swit2_data" style="display: none;">
  331. <div class="flex flex-wrap swi_li" id="allSwit1"></div>
  332. </div>
  333. </div>
  334. <div>
  335. <div class="info_li" data-type="swit3_data">
  336. <div></div><div class="iconfont icon-right text-grey"></div>
  337. </div>
  338. <div class="swit3_data" style="display: none;">
  339. <div class="flex flex-wrap swi_li" id="allSwit2"></div>
  340. </div>
  341. </div>
  342. <div>
  343. <div class="info_li" data-type="swit4_data">
  344. <div></div><div class="iconfont icon-right text-grey"></div>
  345. </div>
  346. <div class="swit4_data" style="display: none;">
  347. <div class="flex flex-wrap swi_li" id="allSwit3"></div>
  348. </div>
  349. </div>
  350. <div>
  351. <div class="info_li" data-type="swit5_data">
  352. <div></div><div class="iconfont icon-right text-grey"></div>
  353. </div>
  354. <div class="swit5_data" style="display: none;">
  355. <div class="flex flex-wrap swi_li" id="allSwit4"></div>
  356. </div>
  357. </div>
  358. <div>
  359. <div class="info_li" data-type="swit6_data">
  360. <div></div><div class="iconfont icon-right text-grey"></div>
  361. </div>
  362. <div class="swit6_data" style="display: none;">
  363. <div class="flex flex-wrap swi_li" id="allSwit5"></div>
  364. </div>
  365. </div>
  366. <div>
  367. <div class="info_li" data-type="swit7_data">
  368. <div></div><div class="iconfont icon-right text-grey"></div>
  369. </div>
  370. <div class="swit7_data" style="display: none;">
  371. <div class="flex flex-wrap swi_li" id="allSwit6"></div>
  372. </div>
  373. </div>
  374. <div>
  375. <div class="info_li" data-type="swit8_data">
  376. <div></div><div class="iconfont icon-right text-grey"></div>
  377. </div>
  378. <div class="swit8_data" style="display: none;">
  379. <div class="flex flex-wrap swi_li" id="allSwit7"></div>
  380. </div>
  381. </div>
  382. </div>
  383. </div>
  384. <script type="text/javascript">
  385. let nowSn = localStorage.getItem("shipSn");
  386. let charCool = [["起动空气压力", "00L1", "MPa"],["控制空气压力", "00M1", "MPa"],["滑油滤器压差", "01O", "MPa"],["主机转速抑制(≤500rpm)", "01Z", "RPM"],["增压器滑油出口温度", "00O1", "℃"],["增压器滑油进口压力(>500rpm)", "01G", "MPa"],["增压器滑油进口压力(≤500rpm)", "01H", "MPa"],["中冷器后进气温度", "01P", "℃"],["中冷器后进气温度低(>500rpm)", "01Q", "℃"],["中冷器高温水进口压力(>500rpm)","01I","Mpa"],["中冷器高温水进口压力(≤500rpm)","01J","MPa"],["中冷器低温水进口压力(>500rpm)","01K","MPa"],["中冷器低温水进口压力(≤500rpm)","01L","Mpa"]];
  387. let cycWt = [["日用舱液位(左)","0K9","m",["Q07_12","Q07_11"]],["日用舱液位(右)","0KD","m",["Q07_10","Q07_9"]],["沉淀舱液位(左)","0KA","m",["Q06_0","Q07_15"]],["沉淀舱液位(右)","0KE","m",["Q07_14","Q07_13"]],["储存舱液位(左)","0K5","m",["Q07_8"]],["储存舱容量(左)","0ez","m³"],["储存舱液位(右)","0K6","m",["Q07_7"]],["储存舱容量(右)","0f0","m³"]]
  388. let rycWt = [["日用舱液位","0KB","m",["Q06_2","Q06_1"]],["日用舱温度(右)","0KW","℃"],["沉淀舱液位","0KC","m",["Q06_4","Q06_3"]],["沉淀舱温度(右)","0KV","℃"],["储存舱液位(左)","0K1","m",["Q06_6"]],["储存舱温度(左)","0KX","℃"],["储存舱容量(左)","0ep","m³"],["储存舱液位(右)","0K2","m",["Q06_5"]],["储存舱温度(右)","0KY","℃"],["储存舱容量(左)","0eq","m³"]];
  389. var wlpWd = [["进口","00b"],["出口","00e"], ["进口(上)","00c"],["进口(下)","00d"]];
  390. var gwsWd = [["进机","00h"],["出机","00i"], ["出机温度过高","00j"]];
  391. var allSwit = [['死人系统报警',"Q04_9_2"],['紫外线消毒器公共报警',"Q05_0"],['同步屏PMS综合故障',"Q03_9"],['防海生物系统公共报警',"Q09_15"],['主配-主汇流排电压高报警',"Q0F_4"],['主配-主汇流排电压低报警',"Q0F_3"],['主配-主汇流排频率高报警',"Q0F_2"],['主配-主汇流排频率低报警',"Q0F_1"],['主配-自动卸载失败报警',"Q0F_0"],['主配-应急切断电源故障报警',"Q0G_15"],
  392. ['主配-应急切断线路断线报警',"Q0G_14"],['主配-DC24V电源故障报警',"Q0G_13"],['主配-AC380V绝缘低报警',"Q0G_12"],['主配-AC220V绝缘低报警',"Q0G_11"],['应配-电板DC24V电源故障',"Q02_1"],['应配-电板AC400V绝缘低报警',"Q02_0"],['应配-电板AC220V绝缘低报警',"Q03_15"],['应配-电板应急停止电源故障',"Q03_14"],['应配-电板公共故障',"Q03_13"],['应配-电板应急停止线路断开',"Q03_12"]];
  393. var allSwit1 = [['齿轮箱正车压力低报警',"Q08_10"],['齿轮箱倒车压力低报警',"Q08_9"],['齿轮箱工作油压力低报警',"Q08_4"],['齿轮箱润滑油压力低报警',"Q08_8"],['齿轮箱压差报警',"Q08_7"],['齿轮箱滑油温度高报警',"Q08_6"],['齿轮箱滑油备用泵启动',"Q0G_3"],['齿轮箱滑油压力过低',"Q0I_1"],['1#压缩机运行指示信号',"Q00_6_1"],["1#压缩机异常","Q00_5"],["2#压缩机运行指示信号","Q00_4_1"],
  394. ["2#压缩机异常","Q00_3"],["1号主空压机公共报警","Q06_15_2"],["2号主空压机公共报警","Q06_14_2"],["3号主空压机公共报警","Q06_13_2"],["生活污水处理装置公共报警","Q06_12"],["生活污水处理装置运行指示","Q06_11_1"],["生活污水处理装置溢流报警","Q06_10"],["水手长舱室(左)液位高报警","Q03_3"],["水手长舱室(右)液位高报警","Q03_2"]];
  395. var allSwit2 = [["LTS3主电源故障","Q0K_7"],["LTS3辅电源故障","Q0K_6"],["LTS5主电源故障","Q0K_5"],["LTS5辅电源故障","Q0K_4"],["NO.1 BMS 无关联","Q0K_3"],["NO.2 BMS 无关联","Q0K_2"],["N0.1 BMS 压力低","Q0K_1"],["N0.2 BMS 压力低","Q0K_0"],["N0.1 PI 无关联","Q0L_15"],["N0.2 PI 无关联","Q0L_14"],["N0.3 PI 无关联","Q0L_13"]];
  396. var allSwit3 = [["LTS15主电源故障","Q03_15"],["LTS15辅电源故障","Q03_14"],["液压单元公共报警","Q0L_10"],["液压单元主电机故障","Q0L_9"],["液压单元备用电机故障","Q0L_8"],["液压单元压力低报警","Q0L_7"],["液压单元油温度高","Q0L_6"],["液压单元反过滤器锁定","Q0L_5"],["液压单元液位低报警","Q0L_3"],["液压单元液位低低报警","Q0L_3"],["液压单元电源故障","Q0L_2"]];
  397. var allSwit4 = [["燃油锅炉综合故障","Q05_14"],["燃油锅炉正常燃烧运行","Q05_13_1"],["燃油锅炉1#水泵运行","Q05_12_1"],["燃油锅炉2#水泵运行","Q05_11_1"],["燃油锅炉1#油泵运行","Q05_10_1"],["燃油锅炉2#油泵运行","Q05_9_1"],["燃油锅炉燃烧器运行","Q05_8_1"],["燃油锅炉电源故障","Q05_7"],["组合锅炉综合故障","Q05_6"],["组合锅炉正常燃烧运行","Q05_5_1"],["组合锅炉1#水泵运行","Q05_4_1"],
  398. ["组合锅炉2#水泵运行","Q05_3_1"],["组合锅炉燃烧器运行","Q05_2_1"],["组合锅炉电源故障","Q05_1"],["组合锅炉柴油日用柜液位高","Q03_6"],["组合锅炉柴油日用柜液位低","Q03_5"],["1#燃油分油机控制箱公共报警","Q04_8"],["1#燃油分油机控制箱运行指示","Q04_7_1"],["2#燃油分油机控制箱公共报警","Q04_6"],["2#燃油分油机控制箱运行指示","Q04_5_1"],["燃油溢流舱液位高报警","Q09_7"],
  399. ["燃油泄放舱液位高报警","Q09_6"],["滑油泄放舱液位高报警","Q09_5"],["油渣舱液位高","Q09_4"]];
  400. var allSwit5 = [["LTS15主电源故障","Q03_15"],["LTS15辅电源故障","Q03_14"],["液压单元公共报警","Q0L_10"],["液压单元主电机故障","Q0L_9"],["液压单元备用电机故障","Q0L_8"],["液压单元压力低报警","Q0L_7"],["液压单元油温度高","Q0L_6"],["液压单元反过滤器锁定","Q0L_5"],["液压单元液位低报警","Q0L_4"],["液压单元液位低低报警","Q0L_3"],["液压单元电源故障","Q0L_2"]];
  401. var allSwit6 = [["主机报警箱主电源失电","Q0I_12"],["主机超速停车","Q0I_14"],["主机紧急停车","Q0I_13"],["主机故障降速","Q0I_6"],["主机故障停车","Q0I_7"],["主机故障降速预报警","Q0I_5"],["主机故障停车预报警","Q0I_4"],["主机报警箱备用电源失电","Q0I_11"],["主机调速器控制箱主电源失电","Q0I_10"],["主机高压燃油管泄漏","Q0I_9"],["主-遥控系统错向报警","Q09_14_2"],
  402. ["主-遥控主电源失电","Q03_11"],["主-遥控应急电源失电","Q03_10"],["1#舵机运行","Q0H_12_1"],["1#舵机动力失电","Q0G_2"],["2#舵机动力失电","Q0G_1"],["1#舵机电源指示","Q0H_14"],["1#舵机油箱液位低","Q0H_10"],["1#舵机油箱油温高","Q0H_8"],["1#舵机电源断相","Q0H_6"],["1#舵机电机过载","Q0H_4"],["1#舵机失油压","Q0H_2"],["1#舵机滤器堵塞","Q0H_0"],
  403. ["2#舵机运行","Q0H_11_1"],["2#舵机控制失电","Q0H_15"],["2#舵机电源指示","Q0H_13"],["2#舵机油箱液位低","Q0H_9"],["2#舵机油箱油温高","Q0H_7"],["2#舵机电源断相","Q0H_5"],["2#舵机电机过载","Q0H_3"],["2#舵机失油压","Q0H_1"],["2#舵机滤器堵塞","Q0I_15"],["舵机舱污水井(左)液位高报警","Q04_15"],["舵机舱污水井(右)液位高报警","Q04_14"],["舵机报警箱综合报警","Q01_1"],
  404. ["充放电板绝缘低","Q01_0"],["充放电板电池低电压","Q02_15"],["充放电板充电器故障","Q02_14"],["充放电板综合报警","Q02_13"],["阴极保护系统公共报警","Q08_0"],["舱底油水分离器运行指示","Q08_3_1"],["舱底油水分离器公共报警","Q08_2"],["舱底油水分离器15PPM 报警","Q08_1"],["舱底水舱液位高报警","Q09_9"]];
  405. var allSwit7 = [["监测报警1#不间断电源故障","Q00_15"],["监测报警2#不间断电源故障","Q00_14"],["监测报警DC24V电源故障","Q00_13"],["火警系统故障","Q00_12"],["艏侧推系统故障","Q00_10"],["压载水处理系统公共报警","Q00_9"],["艏部锚机报警箱公共报警","Q00_8"],["艉部系泊绞车报警箱公共报警","Q00_7"],["通用报警控制板失电报警","Q00_2"],["机舱报警灯柱电源故障","Q00_1"],
  406. ["机舱艉污水井液位高报警","Q09_13"],["机舱前左污水井液位高报警","Q09_12"],["机舱前右污水井液位高报警","Q09_11"],["机舱空舱液位高报警","Q09_10"],["机舱浸水报警","Q09_8"],["机舱局部水雾消防系统故障","Q01_3"],["机舱局部水雾消防系统火灾报警","Q01_2"],["驱气风机起动器运行","Q00_0_1"],["泵舱抽风机起动器故障报警","Q01_15"],["泵舱抽风机起动器运行信号","Q01_14_1"],
  407. ["405P厨房分电箱低绝缘报警","Q01_13"],["205P厨房分电箱低绝缘报警","Q01_12"],["机舱CO2施放阀开关报警","Q01_10"],["泵舱CO2施放阀开关报警","Q01_9"],["CO2泄漏报警","Q01_8"],["CO2电源故障","Q01_7"],["燃油供油单元粘度异常报警","Q01_6"],["燃油供油单元粘度综合报警","Q01_5"],["燃油供油单元粘度低硫油高温","Q01_4"],["排油监控系统电脑单元综合报警","Q02_12_2"],
  408. ["人员报警系统预报警","Q02_11_2"],["人员报警系统主报警","Q02_10_2"],["氮气系统控制箱综合报警","Q02_9"],["货泵系统遥控台综合报警","Q02_8"],["船到岸ESD先动作","Q02_7"],["岸到船ESD先动作","Q02_6"],["船/岸ESD连接系统公共报警","Q02_5"],["可燃气体探测系统电源故障","Q02_4"],["可燃气体探测系统气体故障","Q02_3"]];
  409. var allSwit8 = [["LTS15主电源故障","Q0K_7"],["LTS15备用电源故障","Q0K_6"],["HPU 公共报警","Q0K_5"],["HPU 主马达故障","Q0K_4"],["HPU 备用马达故障","Q0K_3"],["HPU 压力低报警","Q0K_2"],["HPU 油温高报警","Q0K_1"],["HPU 回滤器闭锁","Q0K_0"],["HPU 液位低报警","Q0L_15"],["HPU 液位过低报警","Q0L_14"],["HPU 失电","Q0L_13"]];
  410. var allSwit9 = [["NO.1压载泵进口压力高","Q03_15"],["NO.1压载泵出口压力高","Q03_14"],["NO.2压载泵进口压力高","Q0L_10"],["NO.2压载泵出口压力高","Q0L_9"],["NO.1压载泵密封温度高","Q0L_8"],["NO.2压载泵密封温度高","Q0L_7"],["NO.1压载泵进口压力低","Q0L_6"],["NO.1压载泵出口压力低","Q0L_5"],["NO.2压载泵进口压力低","Q0L_3"],["NO.2压载泵出口压力低","Q0L_3"],["NO.1压载泵密封温度低","Q0L_2"],["NO.2压载泵密封温度低","Q0L_1"]];
  411. var allSobj = {"allSwit": allSwit,"allSwit1": allSwit1,"allSwit2":nowSn=="480000001"?allSwit8:allSwit2,"allSwit3":nowSn=="480000001"?allSwit9:allSwit3,"allSwit4": allSwit4,"allSwit5": allSwit5,"allSwit6": allSwit6,"allSwit7": allSwit7};
  412. var myChart1 = echarts.init(document.getElementById('myChart1'));
  413. var myChart2 = echarts.init(document.getElementById('myChart2'));
  414. var myChart3 = echarts.init(document.getElementById('myChart3'));
  415. function setoption1(num,max,snu,txt){
  416. num = num != undefined&& num != null?num:0;
  417. $("."+txt).text(num);
  418. option = {
  419. series: [
  420. {
  421. name: '实时数据',
  422. min: 0,
  423. max: max,
  424. splitNumber: snu,
  425. type: 'gauge',
  426. fontSize: 13,
  427. center: ['50%', '50%'],
  428. radius: '90%',
  429. detail: {
  430. show: false
  431. },
  432. data: [{value:isNaN(Number(num,10))?0:num,itemStyle:{color:"#1890ff"}}],
  433. axisLine: {
  434. lineStyle: {
  435. width: 0
  436. }
  437. },
  438. axisTick: {
  439. distance: 4,
  440. lineStyle: {
  441. color: '#1890ff',
  442. }
  443. },
  444. pointer: {
  445. width:3,
  446. length:"50%"
  447. },
  448. axisLabel:{
  449. distance: 4,
  450. textStyle: {
  451. color: '#fff',
  452. fontSize:9
  453. }
  454. },
  455. splitLine: {
  456. distance: 4,
  457. length: 10,
  458. lineStyle: {
  459. width: 2,
  460. color: '#1890ff'
  461. }
  462. }
  463. }
  464. ]
  465. };
  466. return option;
  467. }
  468. function setoption2(_data, _xais){
  469. option = {
  470. color: ['#3398DB'],
  471. grid: {
  472. top: '10%',
  473. left: '0%',
  474. right: '0%',
  475. bottom: '3%',
  476. containLabel: true
  477. },
  478. xAxis: [{
  479. type: 'category',
  480. data: _xais,
  481. axisTick: {
  482. alignWithLabel: true
  483. },
  484. axisLine: {
  485. lineStyle: {
  486. color: '#fff'
  487. }
  488. },
  489. axisLabel: {
  490. textStyle: {
  491. fontSize:10,
  492. }
  493. }
  494. }
  495. ],
  496. yAxis: [{
  497. type: 'value',
  498. axisLine: {
  499. show: false,
  500. },
  501. splitLine: {
  502. lineStyle: {
  503. color: ['rgba(132, 132, 132, 0.5)']
  504. }
  505. },
  506. axisLabel:{
  507. formatter: function(){
  508. return "";
  509. }
  510. }
  511. }
  512. ],
  513. series: [{
  514. name: '实时数据',
  515. type: 'bar',
  516. barWidth: '20',
  517. itemStyle:{
  518. normal: {
  519. label:{
  520. color:'#fff'
  521. },
  522. color: new echarts.graphic.LinearGradient(
  523. 0, 0, 0, 1,
  524. [
  525. {offset: 0, color: '#009dff'},
  526. {offset: 1, color: '#009dff'}
  527. ]
  528. )
  529. }
  530. },
  531. label: {
  532. normal: {
  533. show: true,
  534. position: 'top',
  535. color:'#fbbd08',
  536. formatter: function (params) {
  537. var index = params.dataIndex;
  538. return _data[index]
  539. }
  540. }
  541. },
  542. data: _data
  543. }
  544. ]
  545. };
  546. return option;
  547. }
  548. $(document).ready(function(){
  549. firstData();
  550. })
  551. function firstData(){
  552. awData = {};
  553. deviceList(function(_obj){
  554. awData = _obj;
  555. setVal();
  556. setGz(0);
  557. setWlwd();
  558. setWdT(gwsWd,"#gwsWd","33.33%");
  559. setCry(cycWt,".cyc_data");
  560. setCry(rycWt,".ryc_data");
  561. setSwitch();
  562. })
  563. }
  564. function setVal(){
  565. myChart1.setOption(setoption1(awData["005"], 3000, 8,"speedNum"));
  566. myChart3.setOption(setoption1(awData["0M5"], 1500, 4,"paRuse"));
  567. let _sgf = awData["0M6"] == undefined?0 : parseFloat(awData["0M6"]);
  568. $(".hyTem .temBox").css("backgroundImage",`linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) ${((_sgf/150)*100)}%, #103151 1%)`)
  569. $(".hyTem ._val").text(_sgf);
  570. $(".wz_data .icon-cloud-state").eq(0).css("color",getWarm("Q1H_1_3", awData["Q1H"]));
  571. $(".wz_data .icon-cloud-state").eq(1).css("color",getWarm("Q1H_0_3", awData["Q1H"]));
  572. $(".wz_data .icon-cloud-state").eq(2).css("color",getWarm("Q1I_1_3", awData["Q1I"]));
  573. $("#uTate").text(awData["time"]);
  574. $("#hOil_J").text(awData["00Q1"] == undefined?0 : awData["00Q1"]);
  575. $("#hOil_C").text(awData["00R1"] == undefined?0 : awData["00R1"]);
  576. $("#rOil_J").text(awData["00K1"] == undefined?0 : awData["00K1"]);
  577. $("#rOil_C").text(awData["00P1"] == undefined?0 : awData["00P1"]);
  578. $(".gzy_data ._val").eq(0).text(awData["0M4"] != undefined?awData["0M4"]:0);
  579. $(".gzy_data ._val").eq(1).text(awData["0M3"] != undefined?awData["0M3"]:0);
  580. $(".gzy_data ._val").eq(2).text(awData["0MH"] != undefined?awData["0MH"]:0);
  581. $(".gzy_data ._val").eq(3).text(awData["0M1"] != undefined?awData["0M1"]:0);
  582. $(".gzy_data ._val").eq(4).text(awData["0M2"] != undefined?awData["0M2"]:0);
  583. $(".kqp_data ._val").eq(0).text(awData["0V0"] != undefined?awData["0V0"]:0);
  584. $(".kqp_data ._val").eq(1).text(awData["0V1"] != undefined?awData["0V1"]:0);
  585. $(".kqp_data ._val").eq(2).text(awData["0V2"] != undefined?awData["0V2"]:0);
  586. $(".kqp_data ._val").eq(3).text(awData["0V3"] != undefined?awData["0V3"]:0);
  587. let _html = "";
  588. for(let f=0;f<charCool.length;f++){
  589. let _nj = charCool[f];
  590. _html += `<div>
  591. <div style="flex: 2;">${_nj[0]}</div>
  592. <div class="_val">${awData[_nj[1]] == undefined?0: awData[_nj[1]]}</div>
  593. <div>${_nj[2]}</div>
  594. </div>`
  595. }
  596. $(".zy_data>.key_data").html(_html);
  597. }
  598. // 涡轮排气温度
  599. function setWlwd(){
  600. let _htm = "";
  601. for(let d=0;d<wlpWd.length;d++){
  602. let sf = wlpWd[d];
  603. let _h = awData[sf[1]] != undefined&&!isNaN(Number(awData[sf[1]],10))? parseFloat(awData[sf[1]]): "---"
  604. _htm += `<div class="text-center margin-tb-sm" style="width: 50%;">
  605. <div class="flex align-center justify-center">
  606. <div style="height: 80px;" class="flex flex-direction justify-between text-grey align-end">
  607. <span>800</span>
  608. <span>600</span>
  609. <span>400</span>
  610. <span>200</span>
  611. <span>0</span>
  612. </div>
  613. <div class="temBox" style="background-image: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) ${(((isNaN(Number(_h,10))?0:_h)/800)*100)}%, #103151 1%);"></div>
  614. </div>
  615. <div class="margin-top-xs text-sm">${sf[0]}:<span class="_val">${_h}</span>℃</div>
  616. </div>`
  617. }
  618. $("#wlWd").html(_htm);
  619. }
  620. function setWdT(_obj,_name,_w){
  621. let _strr = "";
  622. for(let d=0;d<_obj.length;d++){
  623. let sf = _obj[d];
  624. let _h = awData[sf[1]] != undefined&&!isNaN(Number(awData[sf[1]],10))? parseFloat(awData[sf[1]]): "---"
  625. _strr += `<div class="text-center margin-tb-sm" style="width: ${_w};">
  626. <div class="flex align-center justify-center">
  627. <div style="height: 80px;" class="flex flex-direction justify-between text-grey align-end">
  628. <span>150</span>
  629. <span>100</span>
  630. <span>50</span>
  631. <span>0</span>
  632. </div>
  633. <div class="temBox" style="background-image: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) ${(((isNaN(Number(_h,10))?0:_h))*100)}%, #103151 1%);"></div>
  634. </div>
  635. <div class="margin-top-xs text-sm">${sf[0]}:<span class="_val">${_h}</span>℃</div>
  636. </div>`
  637. }
  638. $(_name).html(_strr);
  639. }
  640. // 缸、轴承
  641. function setGz(num){
  642. let xais = [],_obj = [], _str = "",_swit = [];
  643. if(num == 0){
  644. _str = '1-6#缸排气温度(平均温度:<span class="_val">'+(awData['00v'] != undefined?awData['00v']:0)+'</span>℃)';
  645. xais = ['1#','2#', '3#', '4#', '5#', '6#'];
  646. _obj = [awData["00S1"] == undefined?0: awData["00S1"],
  647. awData["00T1"] == undefined?0: awData["00T1"],
  648. awData["00U1"] == undefined?0: awData["00U1"],
  649. awData["00V1"] == undefined?0: awData["00V1"],
  650. awData["00W1"] == undefined?0: awData["00W1"],
  651. awData["00X1"] == undefined?0: awData["00X1"]];
  652. _swit = [["1#", "00S1"],["2#", "00T1"],["3#", "00U1"],["4#", "00V1"],["5#", "00W1"],["6#", "00X1"]];
  653. }else{
  654. _str = '0-7#主轴承温度(滑油压力:<span class="_val">'+(awData['01M'] != undefined?awData['01M']:0)+'</span>Mpa)';
  655. xais = ['0#', '1#','2#', '3#', '4#', '5#', '6#', '7#'];
  656. _obj = [awData["00m"] == undefined?0: awData["00m"],
  657. awData["00n"] == undefined?0: awData["00n"],
  658. awData["00o"] == undefined?0: awData["00o"],
  659. awData["00p"] == undefined?0: awData["00p"],
  660. awData["00q"] == undefined?0: awData["00q"],
  661. awData["00r"] == undefined?0: awData["00r"],
  662. awData["00s"] == undefined?0: awData["00s"],
  663. awData["00t"] == undefined?0: awData["00t"]];
  664. _swit = [["0#", "01R"],["1#", "01S"],["2#", "01T"],["3#", "01U"],["4#", "01V"],["5#", "01W"],["6#", "01X"],["7#", "01Y"]]
  665. }
  666. let _htm = "";
  667. for(let i=0;i<_swit.length;i++){
  668. let _nj = _swit[i];
  669. _htm += `<div class="padding-tb-sm brr">
  670. <div style="color:#fbbd08;">
  671. ${
  672. awData[_nj[1]] != undefined&&!isNaN(Number(awData[_nj[1]],10))?(num == 0?(parseFloat(awData[_nj[1]]) - (awData["00v"] == undefined?0:parseFloat(awData["00v"]))).toFixed(2)
  673. :awData[_nj[1]]):"---"
  674. }
  675. </div>
  676. <div>${_nj[0]}</div>
  677. </div>`
  678. }
  679. $("#averAge").html(_str);
  680. $("#gzSwit").html(_htm);
  681. $(".setgz .check_").removeClass("check_act");
  682. $(".setgz .check_").eq(num).addClass("check_act");
  683. myChart2.setOption(setoption2(_obj, xais));
  684. }
  685. function setSwitch(){
  686. for(let key in allSobj){
  687. let _obj = allSobj[key];
  688. let _htm = "";
  689. for(let i=0;i<_obj.length;i++){
  690. let _nj = _obj[i];
  691. _htm += `<div class="padding-tb-sm brr">
  692. <div class="iconfont icon-cloud-state" style="color: ${getWarm(_nj[1], awData[_nj[1].split('_')[0]])}"></div>
  693. <div>${_nj[0]}</div>
  694. </div>`
  695. }
  696. $("#"+key).html(_htm);
  697. }
  698. }
  699. // 柴油舱、燃油舱
  700. function setCry(_obj,_name){
  701. let _html = "";
  702. for(let f=0;f<_obj.length;f++){
  703. let _nj = _obj[f];
  704. _html += `<div>
  705. <div style="flex: 2;">
  706. ${_nj[3] != undefined&&nowSn!="480000001"?('<span class="text-lg '+(anWarm(_nj[3]))+'">●</span><span>'+_nj[0]+'</span>'):('<span>'+_nj[0]+'</span>')}
  707. </div>
  708. <div class="_val">${awData[_nj[1]] == undefined?0: awData[_nj[1]]}</div>
  709. <div>${_nj[2]}</div>
  710. </div>`
  711. }
  712. $(_name+">.key_data").html(_html);
  713. }
  714. function anWarm(_key){
  715. let _ab = _key[0].split("_");
  716. let _df = awData[_ab[0]] == undefined?0:awData[_ab[0]].charAt(parseInt(_ab[1]));
  717. let _ij = "";
  718. if(_key[1] == undefined){
  719. if(_df == 1){
  720. _ij = "text-red";
  721. }else{
  722. _ij = "";
  723. }
  724. }else{
  725. let _cb = _key[1].split("_");
  726. let _eh = awData[_cb[0]] == undefined?0:awData[_cb[0]].charAt(parseInt(_cb[1]));
  727. if(_df == 0&&_eh==0){
  728. _ij = "";
  729. }else if(_df == 1&&_eh==0){
  730. _ij = "text-red";
  731. }else if(_df == 0&&_eh==1){
  732. _ij = "text-orange";
  733. }
  734. }
  735. return _ij
  736. }
  737. $(".tabli>div").on("click","",function(){
  738. $(".tabCont").css("display","none");
  739. $("."+$(this).attr("name")).css("display","block");
  740. $(this).addClass("yz_this").siblings().removeClass("yz_this");
  741. myChart1.resize();
  742. myChart2.resize();
  743. myChart3.resize();
  744. })
  745. $(".info_li").on("click","",function(){
  746. let _chi = $(this).find(".icon-right");
  747. if(_chi.hasClass("show_act")){
  748. _chi.removeClass("show_act");
  749. $("."+$(this).data("type")).css("display","none");
  750. }else{
  751. _chi.addClass("show_act");
  752. $("."+$(this).data("type")).css("display","block");
  753. }
  754. myChart1.resize();
  755. myChart2.resize();
  756. myChart3.resize();
  757. })
  758. </script>
  759. </body>
  760. </html>