大空间消毒机
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.

249 lines
5.8 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
  1. <template>
  2. <div class="operator_main_content">
  3. <div class="left_contaienr">
  4. <div class="info_cards">
  5. <div class="card">
  6. <DisinfectantLiquidInfo />
  7. </div>
  8. <div class="card">
  9. <EnvironmentInfo />
  10. </div>
  11. <div class="card">
  12. <EnvironmentInfo />
  13. </div>
  14. <div class="card">
  15. <EnvironmentInfo />
  16. </div>
  17. </div>
  18. <div class="warn_wrap">
  19. <p class="warn_text">警报信息</p>
  20. <div class="detail_btn">详情</div>
  21. </div>
  22. </div>
  23. <div class="right_container">
  24. <div class="setting_title">
  25. <p>消毒设置</p>
  26. <p>SET</p>
  27. </div>
  28. <div class="set_form">
  29. <input type="number" v-model="roomSize" class="room_size" />
  30. <div class="log" @click="showLogPicker">{{ logVal }}</div>
  31. </div>
  32. <div class="start" @click="startDisinfect">开始消毒</div>
  33. <div class="progress">
  34. <p class="title">消毒进度</p>
  35. <div class="tube"></div>
  36. <div class="num">000/100</div>
  37. </div>
  38. </div>
  39. <!-- <WarnModal /> -->
  40. <LogPicker
  41. v-if="logVisible"
  42. :changeLogVal="changeLogVal"
  43. :logVal="logVal"
  44. />
  45. </div>
  46. </template>
  47. <script setup>
  48. import LogPicker from 'cpns/dialogs/LogPicker'
  49. import WarnModal from 'cpns/dialogs/WarnModal'
  50. import DisinfectantLiquidInfo from 'cpns/info/DisinfectantLiquidInfo'
  51. import EnvironmentInfo from 'cpns/info/EnvironmentInfo'
  52. import { ref } from 'vue'
  53. const logVisible = ref(false)
  54. const logVal = ref(1)
  55. const roomSize = ref(0)
  56. const changeLogVal = val => {
  57. logVal.value = val
  58. logVisible.value = false
  59. }
  60. const startDisinfect = () => {
  61. console.log('开始消毒')
  62. }
  63. const showLogPicker = () => {
  64. logVisible.value = true
  65. }
  66. </script>
  67. <style lang="scss" scoped>
  68. .operator_main_content {
  69. margin-bottom: 30px;
  70. height: 580px;
  71. box-sizing: border-box;
  72. display: flex;
  73. align-items: center;
  74. .left_contaienr {
  75. margin-right: 30px;
  76. width: 766px;
  77. height: 580px;
  78. box-sizing: border-box;
  79. border-radius: 16px;
  80. background: #ffffff;
  81. padding: 20px;
  82. .info_cards {
  83. width: 726px;
  84. height: 470px;
  85. box-sizing: border-box;
  86. display: grid;
  87. grid-template-columns: repeat(2, 1fr);
  88. grid-template-rows: repeat(2, 1fr);
  89. column-gap: 20px;
  90. row-gap: 20px;
  91. margin-bottom: 20px;
  92. .card {
  93. width: 353px;
  94. height: 225px;
  95. border-radius: 17.5px;
  96. background: #06518b;
  97. }
  98. }
  99. .warn_wrap {
  100. display: flex;
  101. align-items: center;
  102. justify-content: space-between;
  103. box-sizing: border-box;
  104. padding: 0 20px;
  105. width: 726px;
  106. height: 50px;
  107. border-radius: 6px;
  108. background: #f6f6f6;
  109. .warn_text {
  110. font-family: Source Han Sans CN;
  111. font-size: 12px;
  112. font-weight: 500;
  113. letter-spacing: 0.1em;
  114. color: #fa1c1c;
  115. }
  116. .detail_btn {
  117. width: 105px;
  118. height: 31px;
  119. border-radius: 16px;
  120. background: #06518b;
  121. display: flex;
  122. align-items: center;
  123. justify-content: center;
  124. font-family: Source Han Sans CN;
  125. font-size: 12px;
  126. font-weight: normal;
  127. letter-spacing: 0.1em;
  128. color: #ffffff;
  129. }
  130. }
  131. }
  132. .right_container {
  133. height: 580px;
  134. box-sizing: border-box;
  135. border-radius: 16px;
  136. background: #ffffff;
  137. flex: 1;
  138. padding: 42px;
  139. padding-top: 32px;
  140. .setting_title {
  141. width: 340px;
  142. height: 45px;
  143. border-radius: 23px;
  144. background: #06518b;
  145. padding: 0 24px;
  146. box-sizing: border-box;
  147. display: flex;
  148. align-items: center;
  149. justify-content: space-between;
  150. font-family: Source Han Sans CN;
  151. font-size: 14px;
  152. font-weight: normal;
  153. letter-spacing: 0.1em;
  154. color: #ffffff;
  155. margin-bottom: 41px;
  156. }
  157. .set_form {
  158. width: 340px;
  159. height: 190px;
  160. box-sizing: border-box;
  161. margin-bottom: 41px;
  162. overflow: hidden;
  163. background: url(../assets/img/operator/form.png) no-repeat;
  164. background-size: 100% 100%;
  165. position: relative;
  166. .room_size {
  167. position: absolute;
  168. top: 45px;
  169. left: 23px;
  170. width: 189px;
  171. height: 20px;
  172. text-align: center;
  173. border: none;
  174. outline: none;
  175. }
  176. .log {
  177. position: absolute;
  178. top: 145px;
  179. left: 0px;
  180. width: 240px;
  181. height: 42px;
  182. text-align: center;
  183. display: flex;
  184. align-items: center;
  185. justify-content: center;
  186. font-family: Source Han Sans CN;
  187. font-size: 14px;
  188. font-weight: 500;
  189. letter-spacing: 0.06em;
  190. color: #0e0e0e;
  191. }
  192. }
  193. .start {
  194. margin-bottom: 30px;
  195. width: 340px;
  196. height: 45px;
  197. border-radius: 23px;
  198. background: #06518b;
  199. display: flex;
  200. align-items: center;
  201. justify-content: center;
  202. font-family: Source Han Sans CN;
  203. font-size: 14px;
  204. font-weight: normal;
  205. letter-spacing: 0.1em;
  206. color: #ffffff;
  207. }
  208. .progress {
  209. width: 340px;
  210. height: 114px;
  211. border-radius: 16px;
  212. opacity: 1;
  213. background: #f6f6f6;
  214. box-sizing: border-box;
  215. padding: 27px 24px 18px 27px;
  216. .title {
  217. font-family: Source Han Sans CN;
  218. font-size: 12px;
  219. font-weight: 350;
  220. letter-spacing: 0.06em;
  221. color: #9e9e9e;
  222. margin-bottom: 13px;
  223. }
  224. .tube {
  225. width: 292px;
  226. height: 14px;
  227. border-radius: 7px;
  228. background: #ffffff;
  229. margin-bottom: 11px;
  230. }
  231. .num {
  232. display: flex;
  233. justify-content: flex-end;
  234. font-family: Source Han Sans CN;
  235. font-size: 10px;
  236. font-weight: normal;
  237. letter-spacing: 0.06em;
  238. color: #9e9e9e;
  239. }
  240. }
  241. }
  242. }
  243. </style>