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

887 lines
48 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
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
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
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
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
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
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
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="progress_container">
  3. <div class="header_wrap">
  4. <div class="left_time">
  5. <p class="time">
  6. {{
  7. operatorStore.estimatedRemainingTimeS == 0
  8. ? '已结束'
  9. : `${time_To_hhmmss(operatorStore.estimatedRemainingTimeS)}`
  10. }}
  11. </p>
  12. </div>
  13. <svg
  14. v-if="[2, 3].includes(operatorStore.disinfectStatus)"
  15. xmlns="http://www.w3.org/2000/svg"
  16. xmlns:xlink="http://www.w3.org/1999/xlink"
  17. fill="none"
  18. version="1.1"
  19. width="181"
  20. height="52"
  21. viewBox="0 0 181 52"
  22. >
  23. <g>
  24. <g>
  25. <g>
  26. <path
  27. d="M82.64,13.3438C81.84,15.7875,80.28,18.9925,79.12,21.0362L83.28,22.5987C84.52000000000001,20.6756,86,17.8306,87.28,15.0263L82.64,13.3438ZM62.72,15.4269C64.28,17.7506,65.84,20.8756,66.36,22.8794L70.72,20.8356C70.08,18.7925,68.4,15.8275,66.8,13.6244L62.72,15.4269ZM52,16.1481C54.480000000000004,17.4706,57.56,19.5537,59,21.0762L61.96,17.35C60.4,15.8675,57.24,13.9444,54.8,12.7825L52,16.1481ZM50.12,26.76C52.68,28.08,55.88,30.2,57.32,31.72L60.24,27.96C58.6,26.48,55.36,24.56,52.84,23.36L50.12,26.76ZM51.24,46.76L55.480000000000004,49.84C57.6,45.8,59.84,41.12,61.68,36.84L58.16,33.92C55.96,38.64,53.2,43.68,51.24,46.76ZM68.68,35.08L80.88,35.08L80.88,38.08L68.68,38.08L68.68,35.08ZM68.68,31.04L68.68,28.08L80.88,28.08L80.88,31.04L68.68,31.04ZM72.48,12.4225L72.48,23.64L64,23.64L64,49.9606L68.68,49.9606L68.68,42.12L80.88,42.12L80.88,44.76C80.88,45.28,80.68,45.48,80.03999999999999,45.52C79.44,45.52,77.32,45.52,75.48,45.4C76.12,46.64,76.76,48.64,76.92,49.92C79.96000000000001,49.92,82.08,49.88,83.6,49.12C85.12,48.4,85.56,47.12,85.56,44.84L85.56,23.64L77.32,23.64L77.32,12.4225L72.48,12.4225ZM121.2,33.76L121.08,35.92L114.16,35.92L115.16,35.36C115,34.88,114.64,34.32,114.16,33.76L121.2,33.76ZM100.72,30.32C100.6,32.08,100.44,34,100.24000000000001,35.92L94.28,35.92L94.28,39.44L99.88,39.44C99.6,41.56,99.36,43.52,99.08,45.12L119.96,45.12C119.8,45.6,119.64,45.88,119.48,46.08C119.12,46.52,118.76,46.6,118.08,46.6C117.36,46.64,115.8,46.6,114.08,46.44C114.6,47.36,115.08,48.84,115.12,49.8C117.2,49.8812,119.2,49.9219,120.44,49.72C121.72,49.6,122.8,49.28,123.68,48.2C124.12,47.64,124.52,46.68,124.84,45.12L129.44,45.12L129.44,41.68L125.36,41.68L125.56,39.44L131.72,39.44L131.72,35.92L125.84,35.92L126.04,32.16C126.08,31.6,126.12,30.32,126.12,30.32L100.72,30.32ZM110.08,34.24C110.56,34.72,111,35.32,111.4,35.92L104.96000000000001,35.92L105.16,33.76L111,33.76L110.08,34.24ZM120.84,39.44L120.6,41.68L113.68,41.68L114.96,41C114.76,40.52,114.4,39.96,113.96,39.44L120.84,39.44ZM109.75999999999999,39.88C110.28,40.4,110.8,41.04,111.16,41.68L104.32,41.68L104.6,39.44L110.6,39.44L109.75999999999999,39.88ZM110.52000000000001,12.4262L110.52000000000001,15.36L97.2,15.36L97.2,18.72L110.52000000000001,18.72L110.52000000000001,20.36L99.88,20.36L99.88,23.68L110.52000000000001,23.68L110.52000000000001,25.4L95.36,25.4L95.36,28.88L130.64,28.88L130.64,25.4L115.44,25.4L115.44,23.68L126.64,23.68L126.64,20.36L115.44,20.36L115.44,18.72L129.36,18.72L129.36,15.36L115.44,15.36L115.44,12.4262L110.52000000000001,12.4262ZM154.36,12.4231L154.36,19.4L140.51999999999998,19.4L140.51999999999998,39.6838L145.32,39.6838L145.32,37.48L154.36,37.48L154.36,50.0187L159.44,50.0187L159.44,37.48L168.51999999999998,37.48L168.51999999999998,39.4831L173.56,39.4831L173.56,19.4L159.44,19.4L159.44,12.4231L154.36,12.4231ZM145.32,32.76L145.32,24.12L154.36,24.12L154.36,32.76L145.32,32.76ZM168.51999999999998,32.76L159.44,32.76L159.44,24.12L168.51999999999998,24.12L168.51999999999998,32.76Z"
  28. fill="#17F179"
  29. fill-opacity="1"
  30. />
  31. </g>
  32. <g transform="matrix(0,1,-1,0,52,-22)">
  33. <path
  34. d="M61.3114,50.5847L56.491,45.7322C62.778400000000005,44.923500000000004,67.8084,39.8689,67.8084,33.8033C67.8084,27.9399,63.1976,22.88525,57.1198,21.87432L52.7186,17.62841L54.6048,17.62841C64.24549999999999,17.62841,72,24.9071,72,33.8033C72,39.8689,68.2276,45.3279,62.988,47.9563L62.988,52L61.3114,50.5847ZM56.7006,49.776C56.0719,49.776,55.2335,49.9781,54.3952,49.9781C44.75449,49.9781,37,42.6995,37,33.8033C37,27.7377,40.77246,22.27869,46.01198,19.650280000000002L46.01198,15L48.7365,17.62842L52.9281,21.67213C46.43114,22.27869,41.4012,27.5355,41.4012,33.8033C41.4012,39.8689,46.22156,44.923500000000004,52.509,45.7322L56.7006,49.776Z"
  35. fill="#17F179"
  36. fill-opacity="1"
  37. />
  38. </g>
  39. </g>
  40. </g>
  41. </svg>
  42. <svg
  43. v-if="operatorStore.disinfectStatus == 1"
  44. xmlns="http://www.w3.org/2000/svg"
  45. xmlns:xlink="http://www.w3.org/1999/xlink"
  46. fill="none"
  47. version="1.1"
  48. width="163"
  49. height="80.2001953125"
  50. viewBox="0 0 163 80.2001953125"
  51. >
  52. <g>
  53. <g>
  54. <g>
  55. <g>
  56. <path
  57. d="M42.04,27.36L42.04,34.68C42.04,38.44,40.84,43.48,32,46.44C33.120000000000005,47.28,34.4,48.84,35,49.8C44.92,46.04,46.519999999999996,39.96,46.519999999999996,34.72L46.519999999999996,27.36L42.04,27.36ZM44.96,43.8C47.2,45.76,50.32,48.48,51.76,50.2037L55.08,46.96C53.48,45.32,50.24,42.72,48.04,40.92L44.96,43.8ZM18.68,23.2C20.56,24.4,23,25.92,25.04,27.32L17.04,27.32L17.04,31.56L23,31.56L23,44.8C23,45.24,22.84,45.36,22.28,45.4C21.72,45.4,19.84,45.4,18.16,45.36C18.759999999999998,46.64,19.4,48.6,19.6,49.96C22.28,49.96,24.28,49.84,25.759999999999998,49.12C27.28,48.4,27.64,47.12,27.64,44.88L27.64,31.56L30.04,31.56C29.6,33.44,29.08,35.28,28.64,36.6L32.2,37.36C33.120000000000005,34.96,34.2,31.2,35.08,27.84L32.120000000000005,27.2L31.48,27.32L29.64,27.32L30.68,25.92C29.92,25.36,28.880000000000003,24.72,27.759999999999998,24C30,21.76,32.36,18.68,34.04,15.92L31.16,13.9187L30.32,14.16L18,14.16L18,18.32L27.32,18.32C26.4,19.64,25.36,20.96,24.36,21.96L21.2,20.12L18.68,23.2ZM35.519999999999996,21.08L35.519999999999996,40.4L39.96,40.4L39.96,25.36L48.6,25.36L48.6,40.24L53.28,40.24L53.28,21.08L46.16,21.08L47.120000000000005,18.2L54.84,18.2L54.84,14L34.239999999999995,14L34.239999999999995,18.2L42,18.2L41.519999999999996,21.08L35.519999999999996,21.08ZM73.08,42.0844C73.52000000000001,44.5687,73.84,47.8544,73.84,49.8175L78.56,49.1369C78.52000000000001,47.1731,78.03999999999999,44.0075,77.52000000000001,41.5637L73.08,42.0844ZM81.24,42.0044C82.12,44.4888,83.04,47.6944,83.28,49.6575L88.08,48.7356C87.76,46.7325,86.72,43.6069,85.72,41.2431L81.24,42.0044ZM89.4,41.9244C91.2,44.5287,93.32,48.055,94.16,50.2188L98.72,48.175C97.72,45.9712,95.48,42.565,93.64,40.1612L89.4,41.9244ZM66.24000000000001,40.4412C64.96000000000001,43.2463,62.92,46.4519,61.32,48.335L65.92,50.2188C67.56,47.9744,69.56,44.5687,70.84,41.6437L66.24000000000001,40.4412ZM81.64,12.3838L81.56,18L76.88,18L76.88,22.04L81.4,22.04C81.28,23.88,81.08,25.56,80.8,27.08L78.44,25.76L76.4,28.72L75.96000000000001,24.6L72,25.52L72,22.2L76.16,22.2L76.16,17.8L72,17.8L72,12.5444L67.6,12.5444L67.6,17.8L62.28,17.8L62.28,22.2L67.6,22.2L67.6,26.52L61.36,27.84L62.32,32.48L67.6,31.16L67.6,34.88C67.6,35.36,67.44,35.52,66.88,35.52C66.36,35.52,64.68,35.52,63.08,35.44C63.64,36.68,64.24000000000001,38.52,64.36,39.76C67.03999999999999,39.76,68.92,39.64,70.28,38.96C71.64,38.24,72,37.08,72,34.92L72,30.04L76.24000000000001,28.96L76.16,29.08L79.52000000000001,31.12C78.44,33.4,76.84,35.28,74.36,36.76C75.4,37.56,76.75999999999999,39.24,77.32,40.3212C80.16,38.56,82.08,36.36,83.36,33.64C84.88,34.68,86.24,35.64,87.16,36.48L89.56,32.64C88.4,31.72,86.68,30.6,84.8,29.44C85.36,27.24,85.68,24.76,85.84,22.04L89.56,22.04C89.36,32.84,89.4,39.6,94.52,39.6C97.52,39.6,98.76,38.16,99.2,33.24C98.12,32.92,96.52,32.2,95.64,31.44C95.52,34.28,95.28,35.48,94.72,35.48C93.48,35.48,93.64,29.12,94.08,18L86.04,18L86.16,12.3838L81.64,12.3838ZM121.36,12.4231L121.36,19.4L107.52,19.4L107.52,39.6838L112.32,39.6838L112.32,37.48L121.36,37.48L121.36,50.0187L126.44,50.0187L126.44,37.48L135.51999999999998,37.48L135.51999999999998,39.4831L140.56,39.4831L140.56,19.4L126.44,19.4L126.44,12.4231L121.36,12.4231ZM112.32,32.76L112.32,24.12L121.36,24.12L121.36,32.76L112.32,32.76ZM135.51999999999998,32.76L126.44,32.76L126.44,24.12L135.51999999999998,24.12L135.51999999999998,32.76Z"
  58. fill="#F74104"
  59. fill-opacity="1"
  60. />
  61. </g>
  62. </g>
  63. </g>
  64. <g>
  65. <g>
  66. <g>
  67. <path
  68. d="M4.74,80.2L6.18,79.56C4.46,76.7,3.68,73.32,3.68,69.96000000000001C3.68,66.62,4.46,63.24,6.18,60.36L4.74,59.72C2.88,62.76,1.78,66.02,1.78,69.96000000000001C1.78,73.94,2.88,77.16,4.74,80.2ZM18.08,59.33125C18.06,60.95375,18.08,62.89687,17.84,64.92L10.32,64.92L10.32,66.88L17.5,66.88C16.7,70.5431,14.74,74.1663,9.92,76.2881C10.46,76.6884,11.06,77.3691,11.36,77.8694C15.94,75.70779999999999,18.12,72.2247,19.16,68.5816C20.74,72.8253,23.18,76.0881,26.96,77.8494C27.26,77.3091,27.9,76.5084,28.38,76.0881C24.54,74.50659999999999,22,71.0837,20.62,66.88L28,66.88L28,64.92L19.86,64.92C20.1,62.91687,20.12,60.97375,20.14,59.33125L18.08,59.33125ZM31.82,74.98L32.1,76.8C34.22,76.38,37.02,75.86,39.72,75.3L39.6,73.66C36.76,74.16,33.78,74.7,31.82,74.98ZM40.88,68.2C42.34,69.46000000000001,44,71.28,44.7,72.48L46.1,71.28C45.34,70.06,43.64,68.34,42.18,67.12L40.88,68.2ZM32.32,67.82C32.64,67.68,33.14,67.56,35.42,67.3C34.58,68.44,33.86,69.34,33.5,69.7C32.86,70.42,32.38,70.88,31.9,71C32.1,71.46000000000001,32.38,72.3,32.48,72.66C33,72.4,33.78,72.22,39.4,71.28C39.34,70.9,39.3,70.18,39.32,69.68L35.02,70.3C36.58,68.6,38.1,66.53999999999999,39.36,64.48L37.82,63.519999999999996C37.42,64.26,36.98,65,36.52,65.7L34.22,65.88C35.44,64.24,36.64,62.15844,37.56,60.13375L35.78,59.39187C34.92,61.7375,33.42,64.24,32.94,64.88C32.48,65.53999999999999,32.12,65.98,31.72,66.08C31.94,66.56,32.24,67.44,32.32,67.82ZM42.22,59.33187C41.62,62.05813,40.54,64.8,39.16,66.52C39.6,66.76,40.38,67.28,40.74,67.56C41.32,66.78,41.86,65.8,42.34,64.72L47.82,64.72C47.64,72.16,47.36,75.12,46.78,75.76C46.56,76.02,46.34,76.08,45.96,76.08C45.48,76.08,44.36,76.08,43.12,75.96000000000001C43.44,76.48,43.68,77.26,43.72,77.76C44.84,77.82,46.02,77.8403,46.7,77.76C47.46,77.66,47.94,77.46000000000001,48.42,76.82C49.18,75.84,49.42,72.78,49.68,63.88C49.68,63.64,49.68,62.96,49.68,62.96L43.06,62.96C43.44,61.91781,43.76,60.79531,44.04,59.6925L42.22,59.33187ZM57.06,64.76L57.06,65.94L61.26,65.94L61.26,64.76L57.06,64.76ZM56.62,66.84L56.62,68.02L61.28,68.02L61.28,66.84L56.62,66.84ZM64.86,66.84L64.86,68.03999999999999L69.64,68.03999999999999L69.64,66.84L64.86,66.84ZM64.86,64.76L64.86,65.94L69.16,65.94L69.16,64.76L64.86,64.76ZM54.5,62.519999999999996L54.5,66.42L56.2,66.42L56.2,63.84L62.16,63.84L62.16,68.4L63.98,68.4L63.98,63.84L70,63.84L70,66.42L71.78,66.42L71.78,62.519999999999996L63.98,62.519999999999996L63.98,61.54L70.46,61.54L70.46,60.08L55.74,60.08L55.74,61.54L62.16,61.54L62.16,62.519999999999996L54.5,62.519999999999996ZM55.86,71.74L55.86,77.8687L57.64,77.8687L57.64,73.26L60.2,73.26L60.2,77.74L61.94,77.74L61.94,73.26L64.58,73.26L64.58,77.74L66.3,77.74L66.3,73.26L69.04,73.26L69.04,76.08C69.04,76.26,68.98,76.32,68.76,76.34C68.54,76.34,67.88,76.34,67.16,76.32C67.38,76.76,67.66,77.42,67.74,77.88C68.82,77.88,69.6,77.88,70.16,77.6C70.72,77.36,70.86,76.92,70.86,76.1L70.86,71.74L63.48,71.74L63.94,70.5L71.96,70.5L71.96,69L54.34,69L54.34,70.5L62,70.5L61.66,71.74L55.86,71.74ZM88.22,71.76C87.64,72.72,86.86,73.5,85.86,74.12C84.54,73.8,83.18,73.48,81.8,73.2C82.16,72.76,82.52,72.28,82.88,71.76L88.22,71.76ZM77.4,63.24L77.4,68.62L82.62,68.62C82.38,69.1,82.08,69.62,81.76,70.12L76.12,70.12L76.12,71.76L80.66,71.76C80.02,72.66,79.34,73.5,78.72,74.18C80.32,74.5,81.9,74.84,83.42,75.22C81.54,75.8,79.18,76.12,76.32,76.26C76.62,76.68,76.9,77.36,77.04,77.9C80.88,77.58,83.86,77.02,86.12,75.92C88.5,76.58,90.58,77.26,92.12,77.88L93.66,76.4C92.16,75.86,90.22,75.26,88.06,74.68C89,73.9,89.74,72.94,90.32,71.76L94.14,71.76L94.14,70.12L83.96,70.12C84.22,69.7,84.46,69.26,84.66,68.86L83.66,68.62L93.02,68.62L93.02,63.24L88.2,63.24L88.2,61.8L93.76,61.8L93.76,60.14L76.42,60.14L76.42,61.8L81.8,61.8L81.8,63.24L77.4,63.24ZM83.6,61.8L86.42,61.8L86.42,63.24L83.6,63.24L83.6,61.8ZM79.16,64.76L81.8,64.76L81.8,67.12L79.16,67.12L79.16,64.76ZM83.6,64.76L86.42,64.76L86.42,67.12L83.6,67.12L83.6,64.76ZM88.2,64.76L91.14,64.76L91.14,67.12L88.2,67.12L88.2,64.76ZM102.48,76.5C105.06,76.5,107.44,74.64,107.44,71.38C107.44,68.16,105.42,66.7,102.96,66.7C102.18,66.7,101.58,66.88,100.94,67.2L101.28,63.44L106.74,63.44L106.74,61.480000000000004L99.28,61.48
  69. fill="#F74104"
  70. fill-opacity="1"
  71. />
  72. </g>
  73. </g>
  74. </g>
  75. </g>
  76. </svg>
  77. <svg
  78. v-if="operatorStore.disinfectStatus == 4"
  79. xmlns="http://www.w3.org/2000/svg"
  80. xmlns:xlink="http://www.w3.org/1999/xlink"
  81. fill="none"
  82. version="1.1"
  83. width="132"
  84. height="52"
  85. viewBox="0 0 132 52"
  86. >
  87. <g>
  88. <g>
  89. <g>
  90. <path
  91. d="M30.16,19.56C29.16,20.88,27.96,22.04,26.56,23.12C25.16,22.08,24,20.96,23.08,19.68L23.16,19.56L30.16,19.56ZM22.84,12.5056C21.2,15.5187,18.32,19,14.16,21.56C15.12,22.28,16.56,23.88,17.2,24.88C18.28,24.12,19.32,23.32,20.24,22.48C21.04,23.52,21.92,24.48,22.92,25.36C20.16,26.76,17,27.84,13.72,28.48C14.56,29.4,15.6,31.2,16.04,32.32C19.88,31.36,23.48,30,26.64,28.12C29.48,29.84,32.76,31.08,36.48,31.84C37.12,30.64,38.32,28.84,39.32,27.92C36.04,27.44,33.04,26.56,30.48,25.4C33.04,23.16,35.16,20.4,36.56,17.08L33.6,15.6394L32.84,15.84L26.08,15.84C26.6,15.0369,27.08,14.2331,27.56,13.43L22.84,12.5056ZM16.76,32.4L16.76,36.52L25.12,36.52L25.12,40.44L20.76,40.44L21.44,37.88L17.12,37.36C16.6,39.72,15.76,42.6,15.04,44.56L16.96,44.56L25.12,44.6006L25.12,50.0169L29.72,50.0169L29.72,44.6L37.96,44.6L37.96,40.44L29.72,40.44L29.72,36.52L37,36.52L37,32.4L29.72,32.4L29.72,30.12L25.12,30.12L25.12,32.4L16.76,32.4ZM2.6,14.04L2.6,49.8962L6.8,49.8962L6.8,18.32L10.12,18.32C9.36,20.96,8.4,24.2,7.48,26.6C10.12,29.44,10.8,32.04,10.8,33.96C10.84,35.16,10.6,36,10.04,36.36C9.72,36.6,9.28,36.72,8.8,36.72C8.28,36.72,7.64,36.72,6.84,36.64C7.52,37.8,7.88,39.6,7.92,40.76C8.92,40.8006,9.92,40.8006,10.72,40.68C11.68,40.52,12.44,40.28,13.12,39.8C14.44,38.84,15.04,37.04,15.04,34.48C15.04,32.08,14.48,29.28,11.68,26.08C12.96,23.04,14.44,19.04,15.6,15.64L12.44,13.8387L11.76,14.04L2.6,14.04ZM54.04,26.28L54.04,29.72L51.88,29.72L51.88,26.28L54.04,26.28ZM57.2,26.28L59.48,26.28L59.48,29.72L57.2,29.72L57.2,26.28ZM51.36,22.76C51.88,21.8,52.32,20.84,52.76,19.8L56.72,19.8C56.4,20.84,56,21.88,55.6,22.76L51.36,22.76ZM50.72,12.425C49.6,17.2,47.52,21.88,44.76,24.84C45.6,25.36,47.08,26.6,47.92,27.4L47.92,33.36C47.92,37.84,47.68,43.8,44.96,47.9625C45.92,48.405,47.68,49.4906,48.4,50.1744C50.12,47.6006,51,44.16,51.44,40.72L54.04,40.72L54.04,47.52L57.2,47.52L57.2,46.12C57.64,47.2,58,48.6,58.08,49.52C59.88,49.52,61.12,49.44,62.16,48.72C63.16,48.04,63.4,46.84,63.4,45.12L63.4,36.8C64.36,37.24,66,38.08,66.76,38.6C67.36,37.72,67.88,36.68,68.4,35.48L72.16,35.48L72.16,39.12L64.56,39.12L64.56,43.24L72.16,43.24L72.16,50.0175L76.72,50.0175L76.72,43.24L82.68,43.24L82.68,39.12L76.72,39.12L76.72,35.48L81.84,35.48L81.84,31.44L76.72,31.44L76.72,28.28L72.16,28.28L72.16,31.44L69.76,31.44C69.96,30.6,70.16,29.76,70.32,28.92L66.8,28.2C70.8,25.96,72.28,22.6,72.96,18.44L77.4,18.44C77.24,21.76,77.04,23.12,76.68,23.56C76.4,23.92,76.08,23.96,75.6,23.96C75.08,23.96,74,23.92,72.72,23.8C73.32,24.84,73.72,26.48,73.8,27.68C75.44,27.72,76.96,27.72,77.88,27.56C78.88,27.44,79.64,27.08,80.32,26.28C81.2,25.2,81.52,22.44,81.72,16.04C81.76,15.52,81.8,14.48,81.8,14.48L64.16,14.48L64.16,18.44L68.64,18.44C68.08,21.4,66.88,23.8,63.4,25.36L63.4,22.76L59.76,22.76C60.6,21.12,61.44,19.32,62,17.76L59.16,15.9994L58.52,16.16L54.12,16.16C54.44,15.2369,54.72,14.2725,54.96,13.3488L50.72,12.425ZM54.04,33.16L54.04,37.2L51.76,37.2C51.84,35.88,51.88,34.56,51.88,33.4L51.88,33.16L54.04,33.16ZM57.2,33.16L59.48,33.16L59.48,37.2L57.2,37.2L57.2,33.16ZM57.2,40.72L59.48,40.72L59.48,45.04C59.48,45.44,59.4,45.56,59.04,45.56L57.2,45.52L57.2,40.72ZM63.4,36.6L63.4,25.8C64.28,26.6006,65.16,27.8819,65.6,28.8025L66.4,28.4025C65.84,31.44,64.8,34.48,63.4,36.6ZM105.36,12.4231L105.36,19.4L91.52,19.4L91.52,39.6838L96.32,39.6838L96.32,37.48L105.36,37.48L105.36,50.0187L110.44,50.0187L110.44,37.48L119.52,37.48L119.52,39.4831L124.56,39.4831L124.56,19.4L110.44,19.4L110.44,12.4231L105.36,12.4231ZM96.32,32.76L96.32,24.12L105.36,24.12L105.36,32.76L96.32,32.76ZM119.52,32.76L110.44,32.76L110.44,24.12L119.52,24.12L119.52,32.76Z"
  92. fill="#2485FF"
  93. fill-opacity="1"
  94. />
  95. </g>
  96. </g>
  97. </g>
  98. </svg>
  99. <div
  100. class="btn"
  101. v-if="[1, 2, 3, 4].includes(operatorStore.disinfectStatus)"
  102. @click="stopDisinfect"
  103. >
  104. 结束消毒
  105. </div>
  106. <div
  107. class="btn"
  108. v-if="
  109. operatorStore.disinfectStatus == 0 ||
  110. operatorStore.disinfectStatus == 5
  111. "
  112. @click="showDetail"
  113. >
  114. 返回
  115. </div>
  116. </div>
  117. <div class="echarts_wrap">
  118. <div class="single_wrap">
  119. <p class="title">设备</p>
  120. <div
  121. class="echarts_box"
  122. id="bin"
  123. v-if="operatorStore.disinfectStatus != 0 || binLocal"
  124. ></div>
  125. </div>
  126. <div class="single_wrap">
  127. <p class="title">环境1</p>
  128. <div
  129. class="echarts_box"
  130. id="envir1"
  131. v-if="operatorStore.disinfectStatus != 0 || envir1Local"
  132. ></div>
  133. </div>
  134. <div class="single_wrap">
  135. <p class="title">环境2</p>
  136. <div
  137. class="echarts_box"
  138. id="envir2"
  139. v-if="operatorStore.disinfectStatus != 0 || envir2Local"
  140. ></div>
  141. </div>
  142. </div>
  143. <div class="detail_wrap">
  144. <div class="tip_info">警报信息</div>
  145. <div class="speed_wrap">
  146. <p class="speed">40</p>
  147. </div>
  148. <svg
  149. @click="showDetail"
  150. xmlns="http://www.w3.org/2000/svg"
  151. xmlns:xlink="http://www.w3.org/1999/xlink"
  152. fill="none"
  153. version="1.1"
  154. width="222"
  155. height="50"
  156. viewBox="0 0 222 50"
  157. >
  158. <g>
  159. <g>
  160. <rect
  161. x="0"
  162. y="0"
  163. width="222"
  164. height="50"
  165. rx="25"
  166. fill="#06518B"
  167. fill-opacity="1"
  168. />
  169. </g>
  170. <g>
  171. <path
  172. d="M59.16,27.84L66.68,27.84L66.68,29.24L59.16,29.24L59.16,27.84ZM59.16,25.22L66.68,25.22L66.68,26.58L59.16,26.58L59.16,25.22ZM57.28,23.939999999999998L57.28,30.52L68.64,30.52L68.64,23.939999999999998L57.28,23.939999999999998ZM54.36,31.62L54.36,33.3L71.7,33.3L71.7,31.62L54.36,31.62ZM62,15.3325L62,17.740000000000002L54.1,17.740000000000002L54.1,19.4L60.08,19.4C58.42,21.14,55.96,22.68,53.62,23.46C54.02,23.84,54.56,24.52,54.84,24.98C57.5,23.92,60.2,21.96,62,19.68L62,23.32L63.88,23.32L63.88,19.68C65.72,21.9,68.44,23.82,71.12,24.82C71.4,24.34,71.96000000000001,23.64,72.36,23.28C69.94,22.52,67.44,21.08,65.78,19.4L71.92,19.4L71.92,17.740000000000002L63.88,17.740000000000002L63.88,15.3325L62,15.3325ZM81.36,28.06L89.44,28.06L89.44,29.24L81.36,29.24L81.36,28.06ZM81.36,26.82L81.36,25.68L89.44,25.68L89.44,26.82L81.36,26.82ZM81.36,30.48L89.44,30.48L89.44,31.72L81.36,31.72L81.36,30.48ZM90.84,15.455C87.56,16.05844,81.62,16.34,76.72,16.36C76.88,16.740000000000002,77.06,17.380000000000003,77.08,17.8C78.74,17.8,80.52,17.759999999999998,82.32,17.7L81.98,18.86L76.96000000000001,18.86L76.96000000000001,20.32L81.44,20.32C81.28,20.72,81.1,21.119999999999997,80.92,21.52L75.53999999999999,21.52L75.53999999999999,23.060000000000002L80.08,23.060000000000002C78.84,25.08,77.18,26.86,74.98,28.08C75.36,28.46,75.9,29.14,76.16,29.58C77.44,28.82,78.56,27.9,79.53999999999999,26.86L79.53999999999999,33.965599999999995L81.36,33.965599999999995L81.36,33.18L89.44,33.18L89.44,33.965599999999995L91.32,33.965599999999995L91.32,24.22L81.56,24.22C81.8,23.84,82.02,23.46,82.24,23.060000000000002L93.25999999999999,23.060000000000002L93.25999999999999,21.52L83,21.52L83.5,20.32L92.14,20.32L92.14,18.86L84.02,18.86L84.4,17.6C87.22,17.439999999999998,89.92,17.2,92,16.82L90.84,15.455ZM112.86,15.83219C112.42,17.03406,111.56,18.63656,110.9,19.658099999999997L112.53999999999999,20.3191C113.2,19.3375,114.02000000000001,17.895310000000002,114.7,16.53312L112.86,15.83219ZM102.75999999999999,16.67344C103.58,17.83531,104.4,19.4178,104.68,20.4394L106.4,19.6181C106.06,18.596249999999998,105.18,17.07406,104.36,15.972190000000001L102.75999999999999,16.67344ZM97.42,16.833750000000002C98.66,17.49469,100.18,18.536250000000003,100.88,19.2975L102.06,17.83531C101.3,17.09406,99.75999999999999,16.1325,98.52000000000001,15.531559999999999L97.42,16.833750000000002ZM96.47999999999999,22.18C97.74000000000001,22.82,99.3,23.880000000000003,100.03999999999999,24.6L101.18,23.119999999999997C100.4,22.4,98.8,21.439999999999998,97.56,20.84L96.47999999999999,22.18ZM97.08,32.519999999999996L98.72,33.739999999999995C99.78,31.8,100.97999999999999,29.36,101.9,27.22L100.5,26.08C99.44,28.38,98.06,30.98,97.08,32.519999999999996ZM105.2,26.22L112.02000000000001,26.22L112.02000000000001,28.1L105.2,28.1L105.2,26.22ZM105.2,24.6L105.2,22.759999999999998L112.02000000000001,22.759999999999998L112.02000000000001,24.6L105.2,24.6ZM107.72,15.311250000000001L107.72,21L103.34,21L103.34,33.8809L105.2,33.8809L105.2,29.72L112.02000000000001,29.72L112.02000000000001,31.68C112.02000000000001,31.96,111.92,32.04,111.62,32.06C111.3,32.08,110.24000000000001,32.08,109.2,32.019999999999996C109.44,32.519999999999996,109.72,33.32,109.78,33.82C111.3,33.82,112.34,33.8,113,33.5C113.68,33.2,113.86,32.68,113.86,31.7L113.86,21L109.64,21L109.64,15.311250000000001L107.72,15.311250000000001ZM131.66,25.68L131.57999999999998,27.14L127.72,27.14L128.2,26.86C128.06,26.52,127.76,26.08,127.42,25.68L131.66,25.68ZM121.28,24.3L121.02,27.14L117.94,27.14L117.94,28.58L120.84,28.58C120.72,29.66,120.56,30.68,120.42,31.5L131.04000000000002,31.5C130.94,31.9,130.82,32.14,130.7,32.28C130.51999999999998,32.480000000000004,130.34,32.519999999999996,129.98000000000002,32.519999999999996C129.6,32.54,128.72,32.519999999999996,127.76,32.42C127.98,32.8,128.16,33.4,128.18,33.78C129.24,33.8612,130.26,33.8612,130.84,33.8003C131.45999999999998,33.760000000000005,131.95999999999998,33.6,132.34,33.14C132.6,32.84,132.8,32.36,132.95999999999998,31.5L135.18,31.5L135.18,30.1L133.18,30.1L133.34,28.58L136.45999999999998,28.58L136.45999999999998,27.14L133.45999999999998,2
  173. fill="#FFFFFF"
  174. fill-opacity="1"
  175. />
  176. </g>
  177. <g>
  178. <ellipse
  179. cx="25"
  180. cy="25"
  181. rx="19"
  182. ry="19"
  183. fill="#FFFFFF"
  184. fill-opacity="1"
  185. />
  186. </g>
  187. <g>
  188. <path
  189. d="M19.02871,32.7154L26.9271,32.7154C27.2819,32.7154,27.5694,33.003,27.5694,33.3577C27.5694,33.7124,27.2819,34,26.9271,34L19.02878,34C17.35495,34.0013,15.99791543,32.643699999999995,16.00000275899,30.969900000000003L16.00000275899,19.03051C15.99771433,17.35657,17.35476,15.99871462,19.02871,16L30.9681,16C32.6422,15.999239749,33.9994,17.35649,33.998599999999996,19.03051L33.998599999999996,19.03261L33.972,26.9309C33.9678,27.2836,33.6803,27.5672,33.3275,27.5666C32.9747,27.566000000000003,32.688199999999995,27.281599999999997,32.685,26.928800000000003L32.685,26.9267L32.712199999999996,19.02978C32.712,18.56363,32.5319,18.1255,32.2024,17.79601C31.875799999999998,17.46756,31.4313,17.28341,30.9681,17.28457L19.02871,17.28457C18.06486,17.28485,17.28386,18.06666,17.28458,19.03051L17.28458,30.969900000000003C17.2839,31.9336,18.06494,32.7153,19.02871,32.7154ZM30.7872,21.14739C30.787100000000002,21.50206,30.4996,21.79142,30.1449,21.79142L19.85856,21.78772C19.50381,21.78772,19.21634,21.497709999999998,19.21634,21.142960000000002C19.21634,20.788,19.50375,20.50011,19.858629999999998,20.49959L30.145,20.50293C30.4997,20.503,30.787300000000002,20.79272,30.7872,21.14739ZM31.3598,30.4513L33.812200000000004,32.9037C34.0627,33.1546,34.0626,33.561,33.8119,33.8117C33.5612,34.0624,33.1548,34.0626,32.9039,33.8121L30.4514,31.3596C28.1824,32.973600000000005,25.00281,31.7287,24.432969999999997,29.0031C23.86314,26.2775,26.2776,23.86302,29.0032,24.432850000000002C31.7289,25.002679999999998,32.9738,28.1822,31.3598,30.4513ZM24.35822,25.002850000000002C24.35822,25.35758,24.07066,25.645139999999998,23.71593,25.645139999999998L19.85856,25.643909999999998C19.50417,25.643909999999998,19.21688,25.35662,19.21688,25.00224C19.21688,24.64785,19.50417,24.36057,19.85856,24.36057L23.71593,24.36057C24.07066,24.36057,24.35822,24.648130000000002,24.35822,25.002850000000002ZM25.73168,27.5503C25.29392,29.1839,26.5248,30.7881,28.2161,30.7882C28.898699999999998,30.79,29.5536,30.518700000000003,30.0349,30.0348C31.230800000000002,28.839,30.966900000000003,26.8342,29.502299999999998,25.98853C28.037599999999998,25.142879999999998,26.1694,25.91666,25.73168,27.5503ZM19.21681,28.8564C19.21681,28.5018,19.50429,28.2143,19.85892,28.2143L22.43048,28.2155C22.78752,28.2117,23.07899,28.5001,23.07899,28.8572C23.07899,29.2143,22.78752,29.5026,22.43048,29.4989L19.85892,29.4985C19.50429,29.4985,19.21681,29.211,19.21681,28.8564Z"
  190. fill-rule="evenodd"
  191. fill="#06518B"
  192. fill-opacity="1"
  193. />
  194. </g>
  195. </g>
  196. </svg>
  197. </div>
  198. <DisinfectModal
  199. v-if="disinfectWarnVisible"
  200. :hideDisinfectModal="hideDisinfectModal"
  201. />
  202. </div>
  203. </template>
  204. <script setup>
  205. import { useOperatorStore, useWebSocketStore, useEchartsStore } from '@/store'
  206. import { time_To_hhmmss } from '@/utils'
  207. import {
  208. stopDisinfectionJSON,
  209. getStateJSON,
  210. continueDisinfectionJSON,
  211. pauseDisinfectionJSON,
  212. } from '@/mock/command'
  213. import DisinfectModal from 'cpns/dialogs/DisinfectModal'
  214. import { onMounted, onUnmounted, ref, computed, watch } from 'vue'
  215. import * as echarts from 'echarts'
  216. import { storeToRefs } from 'pinia'
  217. const echartsStore = useEchartsStore()
  218. const binLocal = computed(() => {
  219. return echartsStore?.binCharts || localStorage.getItem('bin')
  220. })
  221. const envir1Local = computed(() => {
  222. return echartsStore?.envir1Charts || localStorage.getItem('envir1')
  223. })
  224. const envir2Local = computed(() => {
  225. return echartsStore?.envir2Charts || localStorage.getItem('envir2')
  226. })
  227. const binOption = ref({
  228. tooltip: {
  229. trigger: 'axis',
  230. },
  231. legend: {
  232. data: ['温度', '湿度', 'H2O2浓度', 'H2O2饱和度'],
  233. },
  234. grid: {
  235. left: '3%',
  236. right: '4%',
  237. bottom: '3%',
  238. containLabel: true,
  239. },
  240. xAxis: {
  241. type: 'category',
  242. boundaryGap: false,
  243. data: echartsStore.abscissaFormater,
  244. },
  245. yAxis: {
  246. type: 'value',
  247. },
  248. series: [
  249. {
  250. name: '温度',
  251. type: 'line',
  252. stack: 'binTemp',
  253. data: echartsStore.binTemp,
  254. },
  255. {
  256. name: '湿度',
  257. type: 'line',
  258. stack: 'binHumidity',
  259. data: echartsStore.binHumidity,
  260. },
  261. {
  262. name: 'H2O2浓度',
  263. type: 'line',
  264. stack: 'binHP',
  265. data: echartsStore.binHP,
  266. },
  267. {
  268. name: 'H2O2饱和度',
  269. type: 'line',
  270. stack: 'binSaturation',
  271. data: echartsStore.binSaturation,
  272. },
  273. ],
  274. })
  275. const envir1Option = ref({
  276. tooltip: {
  277. trigger: 'axis',
  278. },
  279. legend: {
  280. data: ['温度', '湿度', 'H2O2浓度', 'H2O2饱和度'],
  281. },
  282. grid: {
  283. left: '3%',
  284. right: '4%',
  285. bottom: '3%',
  286. containLabel: true,
  287. },
  288. xAxis: {
  289. type: 'category',
  290. boundaryGap: false,
  291. data: echartsStore.abscissaFormater,
  292. },
  293. yAxis: {
  294. type: 'value',
  295. },
  296. series: [
  297. {
  298. name: '温度',
  299. type: 'line',
  300. stack: '1',
  301. data: [],
  302. },
  303. {
  304. name: '湿度',
  305. type: 'line',
  306. stack: '2',
  307. data: [],
  308. },
  309. {
  310. name: 'H2O2浓度',
  311. type: 'line',
  312. stack: '3',
  313. data: [],
  314. },
  315. {
  316. name: 'H2O2饱和度',
  317. type: 'line',
  318. stack: '4',
  319. data: [],
  320. },
  321. ],
  322. })
  323. const envir2Option = ref({
  324. tooltip: {
  325. trigger: 'axis',
  326. },
  327. legend: {
  328. data: ['温度', '湿度', 'H2O2浓度', 'H2O2饱和度'],
  329. },
  330. grid: {
  331. left: '3%',
  332. right: '4%',
  333. bottom: '3%',
  334. containLabel: true,
  335. },
  336. xAxis: {
  337. type: 'category',
  338. boundaryGap: false,
  339. data: echartsStore.abscissaFormater,
  340. },
  341. yAxis: {
  342. type: 'value',
  343. },
  344. series: [
  345. {
  346. name: '温度',
  347. type: 'line',
  348. stack: '1',
  349. data: [],
  350. },
  351. {
  352. name: '湿度',
  353. type: 'line',
  354. stack: '2',
  355. data: [],
  356. },
  357. {
  358. name: 'H2O2浓度',
  359. type: 'line',
  360. stack: '3',
  361. data: [],
  362. },
  363. {
  364. name: 'H2O2饱和度',
  365. type: 'line',
  366. stack: '4',
  367. data: [],
  368. },
  369. ],
  370. })
  371. const operatorStore = useOperatorStore()
  372. const webSocketStore = useWebSocketStore()
  373. const props = defineProps({
  374. changeShowOperator: {
  375. type: Function,
  376. },
  377. })
  378. const showDetail = () => {
  379. props.changeShowOperator(true)
  380. }
  381. const timer = ref(null)
  382. const binCharts = ref(null)
  383. const envir1Charts = ref(null)
  384. const envir2Charts = ref(null)
  385. const time1 = ref(null)
  386. const time2 = ref(null)
  387. onMounted(() => {
  388. timer.value = setInterval(() => {
  389. webSocketStore.sendCommandMsg(getStateJSON)
  390. }, 1000)
  391. let a = echarts.getInstanceByDom(document.getElementById('bin'))
  392. if (a == undefined) {
  393. binCharts.value = echarts.init(document.getElementById('bin'))
  394. binCharts.value.setOption(binOption.value)
  395. }
  396. let b = echarts.getInstanceByDom(document.getElementById('envir1'))
  397. if (b == undefined) {
  398. envir1Charts.value = echarts.init(document.getElementById('envir1'))
  399. envir1Charts.value.setOption(envir1Option.value)
  400. }
  401. let c = echarts.getInstanceByDom(document.getElementById('envir2'))
  402. if (c == undefined) {
  403. envir2Charts.value = echarts.init(document.getElementById('envir2'))
  404. envir2Charts.value.setOption(envir2Option.value)
  405. }
  406. time1.value = setInterval(() => {
  407. binCharts.value?.setOption({
  408. tooltip: {
  409. trigger: 'axis',
  410. },
  411. legend: {
  412. data: ['温度', '湿度', 'H2O2浓度', 'H2O2饱和度'],
  413. },
  414. grid: {
  415. left: '3%',
  416. right: '4%',
  417. bottom: '3%',
  418. containLabel: true,
  419. },
  420. xAxis: {
  421. type: 'category',
  422. boundaryGap: false,
  423. data: echartsStore.abscissaFormater,
  424. },
  425. yAxis: {
  426. type: 'value',
  427. },
  428. series: [
  429. {
  430. name: '温度',
  431. type: 'line',
  432. stack: 'binTemp',
  433. data: echartsStore.binTemp,
  434. },
  435. {
  436. name: '湿度',
  437. type: 'line',
  438. stack: 'binHumidity',
  439. data: echartsStore.binHumidity,
  440. },
  441. {
  442. name: 'H2O2浓度',
  443. type: 'line',
  444. stack: 'binHP',
  445. data: echartsStore.binHP,
  446. },
  447. {
  448. name: 'H2O2饱和度',
  449. type: 'line',
  450. stack: 'binSaturation',
  451. data: echartsStore.binSaturation,
  452. },
  453. ],
  454. })
  455. envir1Charts.value?.setOption({
  456. tooltip: {
  457. trigger: 'axis',
  458. },
  459. legend: {
  460. data: ['温度', '湿度', 'H2O2浓度', 'H2O2饱和度'],
  461. },
  462. grid: {
  463. left: '3%',
  464. right: '4%',
  465. bottom: '3%',
  466. containLabel: true,
  467. },
  468. xAxis: {
  469. type: 'category',
  470. boundaryGap: false,
  471. data: echartsStore.abscissaFormater,
  472. },
  473. yAxis: {
  474. type: 'value',
  475. },
  476. series: [
  477. {
  478. name: '温度',
  479. type: 'line',
  480. stack: '1',
  481. data: [],
  482. },
  483. {
  484. name: '湿度',
  485. type: 'line',
  486. stack: '2',
  487. data: [],
  488. },
  489. {
  490. name: 'H2O2浓度',
  491. type: 'line',
  492. stack: '3',
  493. data: [],
  494. },
  495. {
  496. name: 'H2O2饱和度',
  497. type: 'line',
  498. stack: '4',
  499. data: [],
  500. },
  501. ],
  502. })
  503. envir2Charts.value?.setOption({
  504. tooltip: {
  505. trigger: 'axis',
  506. },
  507. legend: {
  508. data: ['温度', '湿度', 'H2O2浓度', 'H2O2饱和度'],
  509. },
  510. grid: {
  511. left: '3%',
  512. right: '4%',
  513. bottom: '3%',
  514. containLabel: true,
  515. },
  516. xAxis: {
  517. type: 'category',
  518. boundaryGap: false,
  519. data: echartsStore.abscissaFormater,
  520. },
  521. yAxis: {
  522. type: 'value',
  523. },
  524. series: [
  525. {
  526. name: '温度',
  527. type: 'line',
  528. stack: '1',
  529. data: [],
  530. },
  531. {
  532. name: '湿度',
  533. type: 'line',
  534. stack: '2',
  535. data: [],
  536. },
  537. {
  538. name: 'H2O2浓度',
  539. type: 'line',
  540. stack: '3',
  541. data: [],
  542. },
  543. {
  544. name: 'H2O2饱和度',
  545. type: 'line',
  546. stack: '4',
  547. data: [],
  548. },
  549. ],
  550. })
  551. }, 1000 * 20)
  552. time1.value = setInterval(() => {
  553. binCharts.value?.setOption({
  554. tooltip: {
  555. trigger: 'axis',
  556. },
  557. legend: {
  558. data: ['温度', '湿度', 'H2O2浓度', 'H2O2饱和度'],
  559. },
  560. grid: {
  561. left: '3%',
  562. right: '4%',
  563. bottom: '3%',
  564. containLabel: true,
  565. },
  566. xAxis: {
  567. type: 'category',
  568. boundaryGap: false,
  569. data: echartsStore.abscissaFormater,
  570. },
  571. yAxis: {
  572. type: 'value',
  573. },
  574. series: [
  575. {
  576. name: '温度',
  577. type: 'line',
  578. stack: 'binTemp',
  579. data: echartsStore.binTemp,
  580. },
  581. {
  582. name: '湿度',
  583. type: 'line',
  584. stack: 'binHumidity',
  585. data: echartsStore.binHumidity,
  586. },
  587. {
  588. name: 'H2O2浓度',
  589. type: 'line',
  590. stack: 'binHP',
  591. data: echartsStore.binHP,
  592. },
  593. {
  594. name: 'H2O2饱和度',
  595. type: 'line',
  596. stack: 'binSaturation',
  597. data: echartsStore.binSaturation,
  598. },
  599. ],
  600. })
  601. envir1Charts.value?.setOption({
  602. tooltip: {
  603. trigger: 'axis',
  604. },
  605. legend: {
  606. data: ['温度', '湿度', 'H2O2浓度', 'H2O2饱和度'],
  607. },
  608. grid: {
  609. left: '3%',
  610. right: '4%',
  611. bottom: '3%',
  612. containLabel: true,
  613. },
  614. xAxis: {
  615. type: 'category',
  616. boundaryGap: false,
  617. data: echartsStore.abscissaFormater,
  618. },
  619. yAxis: {
  620. type: 'value',
  621. },
  622. series: [
  623. {
  624. name: '温度',
  625. type: 'line',
  626. stack: '1',
  627. data: [],
  628. },
  629. {
  630. name: '湿度',
  631. type: 'line',
  632. stack: '2',
  633. data: [],
  634. },
  635. {
  636. name: 'H2O2浓度',
  637. type: 'line',
  638. stack: '3',
  639. data: [],
  640. },
  641. {
  642. name: 'H2O2饱和度',
  643. type: 'line',
  644. stack: '4',
  645. data: [],
  646. },
  647. ],
  648. })
  649. envir2Charts.value?.setOption({
  650. tooltip: {
  651. trigger: 'axis',
  652. },
  653. legend: {
  654. data: ['温度', '湿度', 'H2O2浓度', 'H2O2饱和度'],
  655. },
  656. grid: {
  657. left: '3%',
  658. right: '4%',
  659. bottom: '3%',
  660. containLabel: true,
  661. },
  662. xAxis: {
  663. type: 'category',
  664. boundaryGap: false,
  665. data: echartsStore.abscissaFormater,
  666. },
  667. yAxis: {
  668. type: 'value',
  669. },
  670. series: [
  671. {
  672. name: '温度',
  673. type: 'line',
  674. stack: '1',
  675. data: [],
  676. },
  677. {
  678. name: '湿度',
  679. type: 'line',
  680. stack: '2',
  681. data: [],
  682. },
  683. {
  684. name: 'H2O2浓度',
  685. type: 'line',
  686. stack: '3',
  687. data: [],
  688. },
  689. {
  690. name: 'H2O2饱和度',
  691. type: 'line',
  692. stack: '4',
  693. data: [],
  694. },
  695. ],
  696. })
  697. }, 1000)
  698. })
  699. // 监听到store中的数据变化动态更改options
  700. onUnmounted(() => {
  701. timer.value = null
  702. time1.value = null
  703. time2.value = null
  704. })
  705. const pauseDisinfect = () => {
  706. // if (operatorStore.disinfectStatus == 1) {
  707. // webSocketStore.sendCommandMsg(pauseDisinfectionJSON)
  708. // }
  709. }
  710. const disinfectWarnVisible = ref(false)
  711. const stopDisinfect = () => {
  712. disinfectWarnVisible.value = true
  713. // if ([1, 2, 3, 4].includes(operatorStore.disinfectStatus)) {
  714. // webSocketStore.sendCommandMsg(stopDisinfectionJSON)
  715. // }
  716. }
  717. const hideDisinfectModal = () => {
  718. disinfectWarnVisible.value = false
  719. }
  720. const continueDisinfect = () => {
  721. // if (operatorStore.disinfectStatus == 2) {
  722. // webSocketStore.sendCommandMsg(continueDisinfectionJSON)
  723. // }
  724. }
  725. </script>
  726. <style lang="scss" scoped>
  727. .progress_container {
  728. margin-bottom: 19px;
  729. height: 580px;
  730. box-sizing: border-box;
  731. background: #ffffff;
  732. border-radius: 16px;
  733. padding-bottom: 30px;
  734. .header_wrap {
  735. display: flex;
  736. align-items: center;
  737. justify-content: space-between;
  738. margin-bottom: 34px;
  739. height: 107px;
  740. box-sizing: border-box;
  741. padding: 13px 36px 13px 20px;
  742. background: #f6f6f6;
  743. border-radius: 16px 16px 0 0;
  744. .left_time {
  745. position: relative;
  746. width: 377px;
  747. height: 61px;
  748. background: url(../assets/img/operator/time.png) no-repeat;
  749. background-size: 100% 100%;
  750. .time {
  751. font-family: Source Han Sans CN;
  752. font-size: 28px;
  753. font-weight: bold;
  754. line-height: normal;
  755. letter-spacing: 0.1em;
  756. color: #ffffff;
  757. position: absolute;
  758. left: 165px;
  759. top: 9px;
  760. width: 178px;
  761. height: 41px;
  762. text-align: center;
  763. }
  764. }
  765. .btn {
  766. padding: 12px 28px;
  767. white-space: nowrap;
  768. box-sizing: border-box;
  769. width: 140px;
  770. height: 50px;
  771. border-radius: 25px;
  772. background: #06518b;
  773. display: flex;
  774. align-items: center;
  775. justify-content: center;
  776. font-family: Source Han Sans CN;
  777. font-size: 20px;
  778. font-weight: 500;
  779. line-height: normal;
  780. letter-spacing: 0.07em;
  781. color: #ffffff;
  782. }
  783. }
  784. .echarts_wrap {
  785. height: 351px;
  786. display: flex;
  787. padding-left: 20px;
  788. align-items: center;
  789. margin-bottom: 19px;
  790. .single_wrap {
  791. flex: 1;
  792. height: 351px;
  793. .title {
  794. margin-left: 28px;
  795. padding: 5px 13px;
  796. margin-bottom: 24px;
  797. font-family: Source Han Sans CN;
  798. font-size: 14px;
  799. font-weight: 500;
  800. line-height: normal;
  801. letter-spacing: 0.1em;
  802. color: #ffffff;
  803. height: 27px;
  804. border-radius: 14px;
  805. opacity: 1;
  806. background: #06518b;
  807. width: 70px;
  808. box-sizing: border-box;
  809. display: flex;
  810. align-items: center;
  811. justify-content: center;
  812. }
  813. .echarts_box {
  814. width: 380px;
  815. height: 308px;
  816. }
  817. }
  818. }
  819. .detail_wrap {
  820. padding-left: 20px;
  821. display: flex;
  822. align-items: center;
  823. padding-right: 16px;
  824. height: 50px;
  825. .tip_info {
  826. padding: 12px 20px;
  827. box-sizing: border-box;
  828. overflow: hidden;
  829. text-overflow: ellipsis;
  830. white-space: nowrap;
  831. width: 550px;
  832. height: 50px;
  833. border-radius: 6px;
  834. opacity: 1;
  835. background: #f6f6f6;
  836. font-family: Source Han Sans CN;
  837. font-size: 18px;
  838. font-weight: bold;
  839. line-height: normal;
  840. letter-spacing: 0.1em;
  841. margin-right: 20px;
  842. color: #fa1c1c;
  843. }
  844. .speed_wrap {
  845. background: url(../assets/img/operator/speed.png) no-repeat;
  846. background-size: 100% 100%;
  847. position: relative;
  848. width: 335px;
  849. height: 41px;
  850. margin-right: 37px;
  851. .speed {
  852. position: absolute;
  853. font-family: Source Han Sans CN;
  854. font-size: 28px;
  855. font-weight: bold;
  856. line-height: normal;
  857. letter-spacing: 0.02em;
  858. color: #17f179;
  859. left: 194px;
  860. bottom: -2px;
  861. width: 68px;
  862. height: 41px;
  863. white-space: nowrap;
  864. text-align: center;
  865. }
  866. }
  867. }
  868. }
  869. </style>