大空间消毒机
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

276 lines
6.9 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. <template>
  2. <div class="test_container">
  3. <div class="common_set switch_wrap">
  4. <p class="title">加液蠕动泵</p>
  5. <p class="num">000 RPM</p>
  6. <div class="btn_wrap">
  7. <div
  8. :class="testStore.feedingPeristalticPumpStatus ? 'close' : 'open'"
  9. @click="changeFeedingStatus(1)"
  10. >
  11. 打开
  12. </div>
  13. <div
  14. :class="!testStore.feedingPeristalticPumpStatus ? 'close' : 'open'"
  15. @click="changeFeedingStatus(2)"
  16. >
  17. 关闭
  18. </div>
  19. </div>
  20. </div>
  21. <div class="common_set switch_wrap">
  22. <p class="title">喷液蠕动泵</p>
  23. <p class="num">000 RPM</p>
  24. <div class="btn_wrap">
  25. <div
  26. :class="testStore.sprayPeristalticPump ? 'close' : 'open'"
  27. @click="changeSprayStatus(1)"
  28. >
  29. 打开
  30. </div>
  31. <div
  32. :class="!testStore.sprayPeristalticPump ? 'close' : 'open'"
  33. @click="changeSprayStatus(2)"
  34. >
  35. 关闭
  36. </div>
  37. </div>
  38. </div>
  39. <div class="common_set switch_wrap">
  40. <p class="title">空压机</p>
  41. <p class="num">000 A</p>
  42. <div class="btn_wrap">
  43. <div
  44. :class="testStore.airCompressor ? 'close' : 'open'"
  45. @click="changeAirStatus(1)"
  46. >
  47. 打开
  48. </div>
  49. <div
  50. :class="!testStore.airCompressor ? 'close' : 'open'"
  51. @click="changeAirStatus(2)"
  52. >
  53. 关闭
  54. </div>
  55. </div>
  56. </div>
  57. <div class="common_set switch_wrap">
  58. <p class="title">风机</p>
  59. <p class="num">000 RPM</p>
  60. <div class="btn_wrap">
  61. <div
  62. :class="testStore.draughtFan ? 'close' : 'open'"
  63. @click="changeDraughtStatus(1)"
  64. >
  65. 打开
  66. </div>
  67. <div
  68. :class="!testStore.draughtFan ? 'close' : 'open'"
  69. @click="changeDraughtStatus(2)"
  70. >
  71. 关闭
  72. </div>
  73. </div>
  74. </div>
  75. <div class="common_set update_wrap">
  76. <p class="title">水浸</p>
  77. <p class="num">有水</p>
  78. <div class="btn_wrap">更新读取水浸状态</div>
  79. </div>
  80. <div class="common_set update_wrap">
  81. <p class="title">液位</p>
  82. <p class="num">000 kPa/100g</p>
  83. <div class="btn_wrap">更新读取液位状态</div>
  84. </div>
  85. <div class="common_set info_wrap">
  86. <p class="title">仓内</p>
  87. <p class="info">温度 {{ deviceStore.binTemperature }} </p>
  88. <p class="info">湿度 {{ deviceStore.binHumidity }} </p>
  89. <p class="info">过氧化氢浓度 {{ deviceStore.binHP }} PPM</p>
  90. </div>
  91. <div class="common_set info_wrap">
  92. <p class="title">环境1</p>
  93. <p class="info">温度 {{ deviceStore.envirTemperature1 }} </p>
  94. <p class="info">湿度 {{ deviceStore.envirHumidity1 }} </p>
  95. <p class="info">过氧化氢浓度 {{ deviceStore.envirHP1 }} PPM</p>
  96. </div>
  97. <div class="common_set info_wrap">
  98. <p class="title">环境2</p>
  99. <p class="info">温度 {{ deviceStore.envirTemperature2 }} </p>
  100. <p class="info">湿度 {{ deviceStore.envirHumidity2 }} </p>
  101. <p class="info">过氧化氢浓度 {{ deviceStore.envirHP2 }} PPM</p>
  102. </div>
  103. </div>
  104. </template>
  105. <script setup>
  106. import { ref } from 'vue'
  107. import { useTestStore, useDeviceStore } from '@/store'
  108. const testStore = useTestStore()
  109. const deviceStore = useDeviceStore()
  110. const changeFeedingStatus = flag => {
  111. if (flag == 1) {
  112. if (!testStore.feedingPeristalticPumpStatus) {
  113. testStore.updateFeedingPeristalticPumpStatus(true)
  114. }
  115. } else {
  116. if (testStore.feedingPeristalticPumpStatus) {
  117. testStore.updateFeedingPeristalticPumpStatus(false)
  118. }
  119. }
  120. }
  121. const changeSprayStatus = flag => {
  122. if (flag == 1) {
  123. if (!testStore.sprayPeristalticPump) {
  124. testStore.updateSprayPeristalticPump(true)
  125. }
  126. } else {
  127. if (testStore.sprayPeristalticPump) {
  128. testStore.updateSprayPeristalticPump(false)
  129. }
  130. }
  131. }
  132. const changeAirStatus = flag => {
  133. if (flag == 1) {
  134. if (!testStore.airCompressor) {
  135. testStore.updateAirCompressor(true)
  136. }
  137. } else {
  138. if (testStore.airCompressor) {
  139. testStore.updateAirCompressor(false)
  140. }
  141. }
  142. }
  143. const changeDraughtStatus = flag => {
  144. if (flag == 1) {
  145. if (!testStore.draughtFan) {
  146. testStore.updateDraughtFan(true)
  147. }
  148. } else {
  149. if (testStore.draughtFan) {
  150. testStore.updateDraughtFan(false)
  151. }
  152. }
  153. }
  154. </script>
  155. <style lang="scss" scoped>
  156. .test_container {
  157. margin-bottom: 30px;
  158. height: 580px;
  159. box-sizing: border-box;
  160. background: #ffffff;
  161. border-radius: 16px;
  162. padding: 20px;
  163. padding-bottom: 80px;
  164. display: grid;
  165. row-gap: 20px;
  166. column-gap: 20px;
  167. grid-template-columns: repeat(2, 1fr);
  168. grid-template-rows: repeat(5, 1fr);
  169. .common_set {
  170. width: 580px;
  171. height: 80px;
  172. box-sizing: border-box;
  173. border-radius: 14px;
  174. background: #f6f6f6;
  175. display: flex;
  176. align-items: center;
  177. .title {
  178. font-family: Source Han Sans CN;
  179. font-size: 20px;
  180. font-weight: 500;
  181. letter-spacing: 0.06em;
  182. color: #000000;
  183. width: 106px;
  184. }
  185. .num {
  186. font-family: Source Han Sans CN;
  187. font-size: 14px;
  188. font-weight: 500;
  189. letter-spacing: 0.1em;
  190. color: #000000;
  191. }
  192. }
  193. .switch_wrap {
  194. padding: 0 17px 0 40px;
  195. justify-content: space-between;
  196. .btn_wrap {
  197. display: flex;
  198. align-items: center;
  199. .open {
  200. margin-right: 10px;
  201. width: 87px;
  202. height: 45px;
  203. border-radius: 23px;
  204. background: #06518b;
  205. display: flex;
  206. align-items: center;
  207. justify-content: center;
  208. font-family: Source Han Sans CN;
  209. font-size: 14px;
  210. font-weight: 500;
  211. letter-spacing: 0.1em;
  212. color: #ffffff;
  213. }
  214. .close {
  215. width: 87px;
  216. height: 45px;
  217. border-radius: 23px;
  218. background: #ffffff;
  219. display: flex;
  220. align-items: center;
  221. justify-content: center;
  222. font-family: Source Han Sans CN;
  223. font-size: 14px;
  224. font-weight: 500;
  225. letter-spacing: 0.1em;
  226. color: #d8d8d8;
  227. }
  228. }
  229. }
  230. .update_wrap {
  231. padding: 0 17px 0 40px;
  232. justify-content: space-between;
  233. .btn_wrap {
  234. width: 184px;
  235. height: 45px;
  236. border-radius: 23px;
  237. background: #06518b;
  238. display: flex;
  239. align-items: center;
  240. justify-content: center;
  241. font-family: Source Han Sans CN;
  242. font-size: 14px;
  243. font-weight: 500;
  244. letter-spacing: 0.1em;
  245. color: #ffffff;
  246. }
  247. }
  248. .info_wrap {
  249. padding: 0 32px 0 40px;
  250. justify-content: space-between;
  251. .title {
  252. font-family: Source Han Sans CN;
  253. font-size: 20px;
  254. font-weight: 500;
  255. letter-spacing: 0.06em;
  256. color: #000000;
  257. width: 57px;
  258. white-space: nowrap;
  259. }
  260. .info {
  261. font-family: Source Han Sans CN;
  262. font-size: 14px;
  263. font-weight: 500;
  264. letter-spacing: 0.1em;
  265. color: #06518b;
  266. }
  267. }
  268. }
  269. </style>