SingleEquipInfo.vue 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379
  1. <template>
  2. <div class="singleEquipinfo">
  3. <div class="other-people">
  4. <div class="image-border image-border1"></div>
  5. <div class="image-border image-border2"></div>
  6. <div class="image-border image-border3"></div>
  7. <div class="image-border image-border4"></div>
  8. <div class="other-people-title">
  9. 设备信息统计
  10. </div>
  11. <div class="timePart">
  12. <div class="lt">
  13. <h5>设备运行时间 <s>EQUIP ACTIVE TIME</s></h5>
  14. <P>{{time}}</P>
  15. <span><s>可疑事件 WARNING EVENT</s> <em>{{dangerItem }}</em></span>
  16. <ul>
  17. <li>
  18. <em>STOP</em>
  19. <i v-if="i == 1"></i>
  20. </li>
  21. <li>
  22. <em>SLOW</em>
  23. <i v-if="i == 2"></i>
  24. </li>
  25. <li>
  26. <em>NORMAL</em>
  27. <i v-if="i == 3"></i>
  28. </li>
  29. <li>
  30. <em>RACING</em>
  31. <i v-if="i == 4"></i>
  32. </li>
  33. </ul>
  34. </div>
  35. <div class="rt">
  36. <div class="top">
  37. <h5>安全</h5>
  38. <s>SAFE</s>
  39. <i v-if="state"></i>
  40. </div>
  41. <div class="middle">
  42. <span>设备探测结果</span>
  43. <s>DETECT RESULT</s>
  44. </div>
  45. <div class="bottom">
  46. <h5>可疑</h5>
  47. <s>WARNING</s>
  48. <i v-if="!state"></i>
  49. </div>
  50. </div>
  51. </div>
  52. </div>
  53. </div>
  54. </template>
  55. <script>
  56. export default {
  57. data() {
  58. return {
  59. i: 3,
  60. state: true,
  61. time: '00:00:00',
  62. dangerItem: '0',
  63. }
  64. },
  65. props: ['totalRs'],
  66. mounted() {
  67. let that = this;
  68. this.timer = setInterval(() => {
  69. that.getTime();
  70. }, 1000);
  71. },
  72. watch: {
  73. totalRs: function (val) {
  74. let that = this;
  75. that.state = val.BoolSafe == 0 ? true : false;
  76. that.dangerItem = val.DetRs[0].WarnNum;
  77. },
  78. },
  79. filters: {
  80. fmtDate: function (value) {
  81. if (!value) {
  82. return '---';
  83. } else {
  84. return value.substr(11, 8);
  85. }
  86. }
  87. },
  88. methods: {
  89. test: function () {
  90. let house = new Date().getHours();
  91. let min = new Date().getMinutes();
  92. let sec = new Date().getSeconds();
  93. house = house > 9 ? house : '0' + house;
  94. min = min > 9 ? min : '0' + min;
  95. sec = sec > 9 ? sec : '0' + sec;
  96. this.time = house + ":" + min + ":" + sec;
  97. this.dangerItem = Math.floor(Math.random() * 10) * 2;
  98. this.state = Math.floor(Math.random() * 2) == 2;
  99. this.i = Math.floor(Math.random() * 3);
  100. },
  101. getTime() {
  102. let that = this;
  103. let date = new Date();
  104. let Hours = date.getHours();
  105. let Minutes = date.getMinutes();
  106. let Seconds = date.getSeconds();
  107. if (Hours >= 0 && Hours <= 9) {
  108. Hours = "0" + Hours;
  109. }
  110. if (Minutes >= 0 && Minutes <= 9) {
  111. Minutes = "0" + Minutes;
  112. }
  113. if (Seconds >= 0 && Seconds <= 9) {
  114. Seconds = "0" + Seconds;
  115. }
  116. let thisdata = Hours + ':' + Minutes + ':' + Seconds;
  117. that.time = thisdata;
  118. }
  119. },
  120. }
  121. </script>
  122. <style scoped>
  123. .singleEquipinfo {
  124. width: 100%;
  125. overflow: hidden;
  126. display: block;
  127. margin: 0 auto;
  128. }
  129. .other-people {
  130. width: 439px;
  131. height: 432px;
  132. margin-left: 0;
  133. overflow: hidden;
  134. background: #000F2A;
  135. }
  136. .singleEquipinfo .image-border2 {
  137. right: 0;
  138. }
  139. .singleEquipinfo .image-border4 {
  140. right: 0;
  141. }
  142. ul, li {
  143. list-style: none;
  144. padding: 0;
  145. margin: 0;
  146. }
  147. em, s, i {
  148. font-style: normal;
  149. text-decoration: none;
  150. }
  151. .timePart {
  152. width: 385px;
  153. height: 170px;
  154. overflow: hidden;
  155. display: block;
  156. margin: 0 auto;
  157. margin-top: 120px;
  158. }
  159. .timePart .lt {
  160. width: 240px;
  161. overflow: hidden;
  162. float: left;
  163. }
  164. .timePart .rt {
  165. width: 140px;
  166. overflow: hidden;
  167. float: right;
  168. }
  169. .timePart .lt h5 {
  170. width: 100%;
  171. overflow: hidden;
  172. display: block;
  173. margin: 0 auto;
  174. font-size: 16px;
  175. font-weight: normal;
  176. color: #6DC1FF;
  177. text-align: left;
  178. }
  179. .timePart .lt s {
  180. font-size: 14px;
  181. }
  182. .timePart .lt p {
  183. width: 100%;
  184. height: 72px;
  185. overflow: hidden;
  186. display: block;
  187. margin: 0 auto;
  188. padding-top: 10px;
  189. font-size: 60px;
  190. color: #6DC1FF;
  191. text-align: left;
  192. font-family: UniDreamLED;
  193. }
  194. .timePart .lt span {
  195. width: 100%;
  196. overflow: hidden;
  197. display: block;
  198. margin: 0 auto;
  199. font-size: 24px;
  200. color: #6DC1FF;
  201. text-align: right;
  202. line-height: 20px;
  203. padding-bottom: 5px;
  204. }
  205. .timePart .lt span em {
  206. font-family: UniDreamLED;
  207. }
  208. .timePart .lt ul {
  209. width: 100%;
  210. overflow: hidden;
  211. display: block;
  212. margin: 0 auto;
  213. }
  214. .timePart .lt li {
  215. width: 23%;
  216. height: 25px;
  217. background: #005EA2;
  218. color: #fff;
  219. text-align: center;
  220. float: left;
  221. margin-right: 6px;
  222. font-size: 12px;
  223. padding-top: 5px;
  224. padding-bottom: 5px;
  225. }
  226. .timePart .lt li:nth-child(4) {
  227. margin-right: 0;
  228. }
  229. .timePart .lt li i {
  230. width: 90%;
  231. overflow: hidden;
  232. display: block;
  233. margin: 0 auto;
  234. margin-top: 5px;
  235. height: 5px;
  236. background: #fff;
  237. }
  238. .rt .top {
  239. width: 100%;
  240. height: 50px;
  241. overflow: hidden;
  242. display: block;
  243. margin: 0 auto;
  244. background: #005EA2;
  245. color: #fff;
  246. padding-top: 3px;
  247. padding-bottom: 3px;
  248. }
  249. .rt .top h5 {
  250. width: 80px;
  251. font-size: 24px;
  252. margin: 0;
  253. float: left;
  254. text-align: left;
  255. padding-left: 20px;
  256. }
  257. .rt .top s {
  258. float: left;
  259. font-size: 12px;
  260. text-align: left;
  261. padding-left: 20px;
  262. }
  263. .rt .top i {
  264. position: relative;
  265. top: -20px;
  266. right: 10px;
  267. float: right;
  268. width: 15px;
  269. height: 30px;
  270. background: linear-gradient(135deg, #fff 25%, #005EA2 0,
  271. #005EA2 50%, #fff 0,
  272. #fff 75%, #005EA2 0);
  273. background-size: 12px 12px;
  274. }
  275. .rt .middle {
  276. width: 100%;
  277. overflow: hidden;
  278. display: block;
  279. margin: 0 auto;
  280. margin-top: 6px;
  281. margin-bottom: 6px;
  282. background: #005EA2;
  283. color: #fff;
  284. padding-top: 4px;
  285. padding-bottom: 5px;
  286. }
  287. .middle span {
  288. width: 100%;
  289. margin: 0 auto;
  290. display: block;
  291. font-size: 14px;
  292. text-align: left;
  293. padding-left: 10px;
  294. }
  295. .middle s {
  296. width: 100%;
  297. overflow: hidden;
  298. display: block;
  299. margin: 0 auto;
  300. font-size: 12px;
  301. text-align: left;
  302. padding-left: 10px;
  303. }
  304. .rt .bottom {
  305. width: 100%;
  306. height: 50px;
  307. overflow: hidden;
  308. display: block;
  309. margin: 0 auto;
  310. background: #005EA2;
  311. color: #fff;
  312. padding-top: 3px;
  313. padding-bottom: 3px;
  314. }
  315. .rt .bottom h5 {
  316. width: 80px;
  317. font-size: 24px;
  318. margin: 0;
  319. float: left;
  320. text-align: left;
  321. padding-left: 20px;
  322. }
  323. .rt .bottom s {
  324. float: left;
  325. font-size: 12px;
  326. text-align: left;
  327. padding-left: 20px;
  328. }
  329. .rt .bottom s {
  330. font-size: 12px;
  331. }
  332. .rt .bottom i {
  333. position: relative;
  334. top: -20px;
  335. right: 10px;
  336. float: right;
  337. width: 15px;
  338. height: 30px;
  339. background: linear-gradient(135deg, #fff 25%, #005EA2 0,
  340. #005EA2 50%, #fff 0,
  341. #fff 75%, #005EA2 0);
  342. background-size: 12px 12px;
  343. }
  344. </style>