index.vue 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  1. <template>
  2. <div class="main">
  3. <!-- 背景图片 -->
  4. <div>
  5. <img
  6. src="@/assets/img/drain/back.png"
  7. id="imgSwitch"
  8. />
  9. </div>
  10. <!-- 12个按钮 -->
  11. <div :class="['botton0', valve[0] ? 'green' : 'red']"></div>
  12. <div :class="['botton1', valve[1] ? 'green' : 'red']"></div>
  13. <div :class="['botton2', valve[2] ? 'green' : 'red']"></div>
  14. <div :class="['botton3', valve[3] ? 'green' : 'red']"></div>
  15. <div :class="['botton4', valve[4] ? 'green' : 'red']"></div>
  16. <div :class="['botton5', valve[5] ? 'green' : 'red']"></div>
  17. <div :class="['botton6', valve[6] ? 'green' : 'red']"></div>
  18. <div :class="['botton7', valve[7] ? 'green' : 'red']"></div>
  19. <div :class="['botton8', valve[8] ? 'green' : 'red']"></div>
  20. <div :class="['botton9', valve[9] ? 'green' : 'red']"></div>
  21. <div :class="['botton10', valve[10] ? 'green' : 'red']"></div>
  22. <div :class="['botton11', valve[11] ? 'green' : 'red']"></div>
  23. <!-- 3个数据表格 -->
  24. <div class="table1">
  25. <tableData
  26. :tableData="tableData[0]"
  27. id="1"
  28. ></tableData>
  29. </div>
  30. <div class="table2">
  31. <tableData
  32. :tableData="tableData[1]"
  33. id="2"
  34. ></tableData>
  35. </div>
  36. <div class="table3">
  37. <tableData
  38. :tableData="tableData[2]"
  39. id="3"
  40. ></tableData>
  41. </div>
  42. </div>
  43. </template>
  44. <script>
  45. import tableData from "@/views/drain/configImg/tableData";
  46. export default {
  47. data() {
  48. return {
  49. valve: [1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1],
  50. tableData:[{
  51. pipelineFlow: 15,
  52. pipelineFlowTotal: 17,
  53. runningTime: 5,
  54. UnattendedRuntime: 5,
  55. positivePressure: 3,
  56. negativePressure: 0,
  57. frontAxleTemp: 19,
  58. rearAxleTemp: 21,
  59. liquidLevel: 18,
  60. },{
  61. pipelineFlow: 12,
  62. pipelineFlowTotal: 14,
  63. runningTime: 5,
  64. UnattendedRuntime: 5,
  65. positivePressure: 0,
  66. negativePressure: 0,
  67. frontAxleTemp: 15,
  68. rearAxleTemp: 17,
  69. liquidLevel: 18,
  70. },{
  71. pipelineFlow: 3,
  72. pipelineFlowTotal: 0.0,
  73. runningTime: 5,
  74. UnattendedRuntime: 5,
  75. positivePressure: 0,
  76. negativePressure: 0,
  77. frontAxleTemp: 17,
  78. rearAxleTemp: 16,
  79. liquidLevel: 19,
  80. }],
  81. };
  82. },
  83. components: {
  84. tableData,
  85. },
  86. mounted() {
  87. // this.valve = this.valve.map((item) => {
  88. // return (item = !item);
  89. // });
  90. // 伪造数据
  91. this.getRandomData();
  92. setInterval(() => {
  93. console.log(this.valve);
  94. this.valve.shift();
  95. this.valve.push(parseInt(Math.random() * 2, 10));
  96. }, 3000);
  97. },
  98. methods: {
  99. getRandomData(){
  100. console.log("--------------");
  101. let interval = setInterval(() => {
  102. for(var i = 0;i < 3;i++){
  103. this.tableData[i]['pipelineFlow']=this.getRandomNum(15,20)
  104. this.tableData[i]['pipelineFlowTotal']=this.getRandomNum(17,23)
  105. this.tableData[i]['positivePressure']=this.getRandomNumWithDecimals(0,2.00)
  106. this.tableData[i]['negativePressure']=this.getRandomNumWithDecimals(0,3.00)
  107. this.tableData[i]['frontAxleTemp']=this.getRandomNum(15,20)
  108. this.tableData[i]['rearAxleTemp']=this.getRandomNum(15,23)
  109. this.tableData[i]['liquidLevel']=this.getRandomNum(15,20)
  110. }
  111. }, 3000);
  112. this.$once("hook:beforeDestroy", () => {
  113. clearInterval(interval);
  114. });
  115. }
  116. },
  117. };
  118. </script>
  119. <style scoped>
  120. .main {
  121. width: 100%;
  122. height: 850px;
  123. position: relative;
  124. background-image: linear-gradient(
  125. to right,
  126. #06133c 0%,
  127. #011669 5045 #06133c 100%
  128. );
  129. }
  130. .table1 {
  131. top: 0px;
  132. left: -10px;
  133. position: absolute;
  134. }
  135. .table2 {
  136. top: 0px;
  137. left: 450px;
  138. position: absolute;
  139. }
  140. .table3 {
  141. top: 0px;
  142. left: 910px;
  143. position: absolute;
  144. }
  145. #imgSwitch {
  146. width: 100%;
  147. height: 800px;
  148. margin-top: 20px;
  149. /* padding-bottom: 100px; */
  150. /* left: 50px; */
  151. /* margin-left: 30px; */
  152. }
  153. .botton0 {
  154. width: 10px;
  155. height: 30px;
  156. position: absolute;
  157. top: 64px;
  158. left: 62px;
  159. }
  160. .botton1 {
  161. width: 10px;
  162. height: 30px;
  163. position: absolute;
  164. top: 371px;
  165. left: 144px;
  166. }
  167. .botton2 {
  168. width: 15px;
  169. height: 15px;
  170. border-radius: 50%;
  171. position: absolute;
  172. top: 378px;
  173. left: 368px;
  174. }
  175. .botton3 {
  176. width: 15px;
  177. height: 15px;
  178. border-radius: 50%;
  179. position: absolute;
  180. top: 305px;
  181. left: 417px;
  182. }
  183. .botton4 {
  184. width: 10px;
  185. height: 30px;
  186. position: absolute;
  187. top: 140px;
  188. left: 527px;
  189. }
  190. .botton5 {
  191. width: 10px;
  192. height: 30px;
  193. position: absolute;
  194. top: 375px;
  195. left: 605px;
  196. }
  197. .botton6 {
  198. width: 15px;
  199. height: 15px;
  200. border-radius: 50%;
  201. position: absolute;
  202. top: 378px;
  203. left: 830px;
  204. }
  205. .botton7 {
  206. width: 15px;
  207. height: 15px;
  208. border-radius: 50%;
  209. position: absolute;
  210. top: 305px;
  211. left: 880px;
  212. }
  213. .botton8 {
  214. width: 10px;
  215. height: 30px;
  216. position: absolute;
  217. top: 140px;
  218. left: 990px;
  219. }
  220. .botton9 {
  221. width: 10px;
  222. height: 30px;
  223. position: absolute;
  224. top: 375px;
  225. left: 1070px;
  226. }
  227. .botton10 {
  228. width: 15px;
  229. height: 15px;
  230. border-radius: 50%;
  231. position: absolute;
  232. top: 378px;
  233. right: 240px;
  234. }
  235. .botton11 {
  236. width: 15px;
  237. height: 15px;
  238. border-radius: 50%;
  239. position: absolute;
  240. top: 305px;
  241. right: 190px;
  242. }
  243. .red {
  244. background-color: #f90005;
  245. }
  246. .green {
  247. background-color: #009966;
  248. }
  249. </style>