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

826 lines
34 KiB

<template>
<div class="progress_container">
<div class="header_wrap">
<div class="left_time">
<p class="time">
{{
operatorStore.estimatedRemainingTimeS == 0
? '已结束'
: `${time_To_hhmmss(operatorStore.estimatedRemainingTimeS)}`
}}
</p>
</div>
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
fill="none"
version="1.1"
width="181"
height="52"
viewBox="0 0 181 52"
>
<g>
<g>
<g>
<path
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"
fill="#17F179"
fill-opacity="1"
/>
</g>
<g transform="matrix(0,1,-1,0,52,-22)">
<path
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"
fill="#17F179"
fill-opacity="1"
/>
</g>
</g>
</g>
</svg>
<div
class="btn"
v-if="[1, 2].includes(operatorStore.disinfectStatus)"
@click="stopDisinfect"
>
结束消毒
</div>
<div
class="btn"
v-if="operatorStore.disinfectStatus == 0"
@click="showDetail"
>
返回
</div>
</div>
<div class="echarts_wrap">
<div class="single_wrap">
<p class="title">设备</p>
<div
class="echarts_box"
id="bin"
v-if="operatorStore.disinfectStatus != 0 || binLocal"
></div>
</div>
<div class="single_wrap">
<p class="title">环境1</p>
<div
class="echarts_box"
id="envir1"
v-if="operatorStore.disinfectStatus != 0 || envir1Local"
></div>
</div>
<div class="single_wrap">
<p class="title">环境2</p>
<div
class="echarts_box"
id="envir2"
v-if="operatorStore.disinfectStatus != 0 || envir2Local"
></div>
</div>
</div>
<div class="detail_wrap">
<div class="tip_info">警报信息</div>
<div class="speed_wrap">
<p class="speed">5000</p>
</div>
<svg
@click="showDetail"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
fill="none"
version="1.1"
width="222"
height="50"
viewBox="0 0 222 50"
>
<g>
<g>
<rect
x="0"
y="0"
width="222"
height="50"
rx="25"
fill="#06518B"
fill-opacity="1"
/>
</g>
<g>
<path
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,27.14L133.6,25.06C133.6,24.82,133.62,24.3,133.62,24.3L121.28,24.3ZM125.8,25.92C126.14,26.28,126.48,26.74,126.72,27.14L122.86,27.14L123.02,25.68L126.24,25.68L125.8,25.92ZM131.48000000000002,28.58L131.3,30.1L127.48,30.1L128.07999999999998,29.76C127.96,29.4,127.66,28.96,127.32,28.58L131.48000000000002,28.58ZM125.66,28.82C126.02,29.18,126.38,29.68,126.62,30.1L122.52,30.1L122.7,28.58L126.1,28.58L125.66,28.82ZM126.22,15.33344L126.22,16.9L119.36,16.9L119.36,18.259999999999998L126.22,18.259999999999998L126.22,19.380000000000003L120.6,19.380000000000003L120.6,20.740000000000002L126.22,20.740000000000002L126.22,21.96L118.5,21.96L118.5,23.380000000000003L135.94,23.380000000000003L135.94,21.96L128.16,21.96L128.16,20.740000000000002L134.01999999999998,20.740000000000002L134.01999999999998,19.380000000000003L128.16,19.380000000000003L128.16,18.259999999999998L135.32,18.259999999999998L135.32,16.9L128.16,16.9L128.16,15.33344L126.22,15.33344ZM148.45999999999998,16.48L148.45999999999998,22.92C148.45999999999998,25.98,148.22,29.94,145.51999999999998,32.68C145.95999999999998,32.92,146.68,33.54,146.98000000000002,33.8822C149.88,30.96,150.3,26.3,150.3,22.939999999999998L150.3,18.28L153.51999999999998,18.28L153.51999999999998,30.76C153.51999999999998,32.5,153.66,32.9,154.01999999999998,33.239999999999995C154.32,33.56,154.84,33.7,155.28,33.7C155.54000000000002,33.7,156.01999999999998,33.7,156.32,33.7C156.76,33.7,157.16,33.6,157.48000000000002,33.379999999999995C157.78,33.16,157.95999999999998,32.8,158.07999999999998,32.22C158.16,31.68,158.24,30.22,158.26,29.12C157.8,28.96,157.24,28.66,156.86,28.32C156.86,29.62,156.82,30.62,156.78,31.08C156.76,31.52,156.7,31.7,156.62,31.82C156.54000000000002,31.92,156.4,31.96,156.26,31.96C156.12,31.96,155.92000000000002,31.96,155.8,31.96C155.68,31.96,155.57999999999998,31.92,155.5,31.84C155.42000000000002,31.74,155.4,31.4,155.4,30.8L155.4,16.48L148.45999999999998,16.48ZM142.74,15.334060000000001L142.74,19.560000000000002L139.57999999999998,19.560000000000002L139.57999999999998,21.36L142.5,21.36C141.8,23.98,140.45999999999998,26.92,139.07999999999998,28.54C139.4,29,139.84,29.78,140.04000000000002,30.3C141.04000000000002,29.02,142,27.04,142.74,24.939999999999998L142.74,33.8822L144.56,33.8822L144.56,25.02C145.26,25.98,146.06,27.12,146.42000000000002,27.78L147.54000000000002,26.24C147.1,25.72,145.26,23.58,144.56,22.880000000000003L144.56,21.36L147.36,21.36L147.36,19.560000000000002L144.56,19.560000000000002L144.56,15.334060000000001L142.74,15.334060000000001ZM168.7,15.6525C168.36,16.414369999999998,167.74,17.55687,167.26,18.27844L168.48000000000002,18.839689999999997C169.01999999999998,18.198439999999998,169.66,17.216250000000002,170.28,16.314059999999998L168.7,15.6525ZM161.57999999999998,16.314059999999998C162.1,17.135939999999998,162.6,18.23844,162.76,18.939999999999998L164.2,18.29875C164.01999999999998,17.59687,163.48000000000002,16.53469,162.94,15.75281L161.57999999999998,16.314059999999998ZM167.88,27.22C167.45999999999998,28.1012,166.9,28.8825,166.24,29.5431C165.57999999999998,29.2028,164.9,28.8825,164.24,28.5819L165,27.22L167.88,27.22ZM161.94,29.2028C162.88,29.5834,163.94,30.0841,164.92000000000002,30.6047C163.7,31.4259,162.26,32.0066,160.7,32.3472C161.01999999999998,32.707499999999996,161.38,33.3684,161.56,33.789100000000005C163.38,33.288399999999996,165.06,32.547200000000004,166.45999999999998,31.4459C167.1,31.8263,167.66,32.1869,168.1,32.5272L169.24,31.2856C168.8,30.9853,168.26,30.6647,167.68,30.3244C168.72,29.1628,169.51999999999998,27.7409,170.01999999999998,25.98L169,25.6L168.7,25.66L165.76,25.66L166.14,24.740000000000002L164.48000000000002,24.42C164.32,24.82,164.16,25.24,163.95999999999998,25.66L161.32,25.66L161.32,27.22L163.16,27.22C162.76,27.9613,162.32,28.6422,161.94,29.2028ZM164.92000000000002,15.311869999999999L164.92000000000002,18.98L160.94,18.98L160.94,20.5L164.34,20.5C163.36,21.66,161.94,22.740000000000002,160.64,23.28C161,23.64,161.42000000000002,24.28,161.64,24.7C162.76,24.08,163.95999999999998,23.119999999999997,164.92000000000002,22.060000000000002L164.92000000000002,24.18L166.68,24.18L166.68,21.68C167.56,22.34,168.57999999999998,23.16,169.06,23.619999999999997L170.07999999999998,22.28C169.66,22,168.2,21.08,167.2,20.5L170.64,20.5L170.64,18.98L166.68,18.98L166.68,15.311869999999999L164.92000000000002,15.311869999999999ZM172.42000000000002,15.45219C171.95999999999998,19,171.06,22.380000000000003,169.48000000000002,24.48C169.88,24.740000000000002,170.6,25.36,170.88,25.66C171.32,25,171.74,24.259999999999998,172.1,23.439999999999998C172.51999999999998,25.2,173.04000000000002,26.82,173.72,28.2816C172.62,30.0841,171.1,31.4659,169,32.447199999999995C169.34,32.8078,169.84,33.5887,170.01999999999998,33.9894C172,32.9478,173.5,31.6462,174.64,30.0037C175.6,31.5659,176.8,32.827799999999996,178.28,33.7291C178.56,33.2684,179.1,32.5875,179.51999999999998,32.2469C177.92000000000002,31.3856,176.66,30.0037,175.66,28.2816C176.68,26.26,177.32,23.82,177.74,20.880000000000003L179.06,20.880000000000003L179.06,19.14L173.5,19.14C173.76,18.03781,173.98000000000002,16.875,174.16,15.692499999999999L172.42000000000002,15.45219ZM175.98000000000002,20.880000000000003C175.7,22.939999999999998,175.3,24.72,174.7,26.28C174.04000000000002,24.64,173.54000000000002,22.82,173.2,20.880000000000003L175.98000000000002,20.880000000000003ZM191.08,27.5L191.08,33.905L192.74,33.905L192.74,33.2L198.32,33.2L198.32,33.8647L200.04,33.8647L200.04,27.5L196.3,27.5L196.3,25.26L200.58,25.26L200.58,23.66L196.3,23.66L196.3,21.64L199.96,21.64L199.96,16.18L189.18,16.18L189.18,22.259999999999998C189.18,25.42,189.02,29.8,186.96,32.84C187.4,33.019999999999996,188.18,33.6028,188.52,33.9253C190.12,31.56,190.72,28.22,190.92,25.26L194.5,25.26L194.5,27.5L191.08,27.5ZM191.02,17.82L198.16,17.82L198.16,20L191.02,20L191.02,17.82ZM191.02,21.64L194.5,21.64L194.5,23.66L191,23.66L191.02,22.259999999999998L191.02,21.64ZM192.74,31.66L192.74,29.08L198.32,29.08L198.32,31.66L192.74,31.66ZM184.52,15.355L184.52,19.259999999999998L182.2,19.259999999999998L182.2,21.02L184.52,21.02L184.52,25.06L181.92,25.76L182.36,27.58L184.52,26.92L184.52,31.62C184.52,31.9,184.42,31.98,184.18,31.98C183.94,31.98,183.2,31.98,182.4,31.96C182.64,32.46,182.86,33.260000000000005,182.9,33.7C184.18,33.7203,185,33.66,185.54,33.36C186.08,33.06,186.26,32.58,186.26,31.62L186.26,26.38L188.46,25.7L188.22,23.98L186.26,24.560000000000002L186.26,21.02L188.42,21.02L188.42,19.259999999999998L186.26,19.259999999999998L186.26,15.355L184.52,15.355Z"
fill="#FFFFFF"
fill-opacity="1"
/>
</g>
<g>
<ellipse
cx="25"
cy="25"
rx="19"
ry="19"
fill="#FFFFFF"
fill-opacity="1"
/>
</g>
<g>
<path
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"
fill-rule="evenodd"
fill="#06518B"
fill-opacity="1"
/>
</g>
</g>
</svg>
</div>
<DisinfectModal
v-if="disinfectWarnVisible"
:hideDisinfectModal="hideDisinfectModal"
/>
</div>
</template>
<script setup>
import { useOperatorStore, useWebSocketStore, useEchartsStore } from '@/store'
import { time_To_hhmmss } from '@/utils'
import {
stopDisinfectionJSON,
getStateJSON,
continueDisinfectionJSON,
pauseDisinfectionJSON,
} from '@/mock/command'
import DisinfectModal from 'cpns/dialogs/DisinfectModal'
import { onMounted, onUnmounted, ref, computed, watch } from 'vue'
import * as echarts from 'echarts'
import { storeToRefs } from 'pinia'
const echartsStore = useEchartsStore()
const binLocal = computed(() => {
return echartsStore?.binCharts || localStorage.getItem('bin')
})
const envir1Local = computed(() => {
return echartsStore?.envir1Charts || localStorage.getItem('envir1')
})
const envir2Local = computed(() => {
return echartsStore?.envir2Charts || localStorage.getItem('envir2')
})
const binOption = ref({
tooltip: {
trigger: 'axis',
},
legend: {
data: ['温度', '湿度', 'H2O2浓度', 'H2O2饱和度'],
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true,
},
xAxis: {
type: 'category',
boundaryGap: false,
data: echartsStore.abscissaFormater,
},
yAxis: {
type: 'value',
},
series: [
{
name: '温度',
type: 'line',
stack: 'binTemp',
data: echartsStore.binTemp,
},
{
name: '湿度',
type: 'line',
stack: 'binHumidity',
data: echartsStore.binHumidity,
},
{
name: 'H2O2浓度',
type: 'line',
stack: 'binHP',
data: echartsStore.binHP,
},
{
name: 'H2O2饱和度',
type: 'line',
stack: 'binSaturation',
data: echartsStore.binSaturation,
},
],
})
const envir1Option = ref({
tooltip: {
trigger: 'axis',
},
legend: {
data: ['温度', '湿度', 'H2O2浓度', 'H2O2饱和度'],
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true,
},
xAxis: {
type: 'category',
boundaryGap: false,
data: echartsStore.abscissaFormater,
},
yAxis: {
type: 'value',
},
series: [
{
name: '温度',
type: 'line',
stack: '1',
data: [],
},
{
name: '湿度',
type: 'line',
stack: '2',
data: [],
},
{
name: 'H2O2浓度',
type: 'line',
stack: '3',
data: [],
},
{
name: 'H2O2饱和度',
type: 'line',
stack: '4',
data: [],
},
],
})
const envir2Option = ref({
tooltip: {
trigger: 'axis',
},
legend: {
data: ['温度', '湿度', 'H2O2浓度', 'H2O2饱和度'],
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true,
},
xAxis: {
type: 'category',
boundaryGap: false,
data: echartsStore.abscissaFormater,
},
yAxis: {
type: 'value',
},
series: [
{
name: '温度',
type: 'line',
stack: '1',
data: [],
},
{
name: '湿度',
type: 'line',
stack: '2',
data: [],
},
{
name: 'H2O2浓度',
type: 'line',
stack: '3',
data: [],
},
{
name: 'H2O2饱和度',
type: 'line',
stack: '4',
data: [],
},
],
})
const operatorStore = useOperatorStore()
const webSocketStore = useWebSocketStore()
const props = defineProps({
changeShowOperator: {
type: Function,
},
})
const showDetail = () => {
props.changeShowOperator(true)
}
const timer = ref(null)
const binCharts = ref(null)
const envir1Charts = ref(null)
const envir2Charts = ref(null)
const time1 = ref(null)
const time2 = ref(null)
onMounted(() => {
timer.value = setInterval(() => {
webSocketStore.sendCommandMsg(getStateJSON)
}, 1000)
let a = echarts.getInstanceByDom(document.getElementById('bin'))
if (a == undefined) {
binCharts.value = echarts.init(document.getElementById('bin'))
binCharts.value.setOption(binOption.value)
}
let b = echarts.getInstanceByDom(document.getElementById('envir1'))
if (b == undefined) {
envir1Charts.value = echarts.init(document.getElementById('envir1'))
envir1Charts.value.setOption(envir1Option.value)
}
let c = echarts.getInstanceByDom(document.getElementById('envir2'))
if (c == undefined) {
envir2Charts.value = echarts.init(document.getElementById('envir2'))
envir2Charts.value.setOption(envir2Option.value)
}
time1.value = setInterval(() => {
binCharts.value?.setOption({
tooltip: {
trigger: 'axis',
},
legend: {
data: ['温度', '湿度', 'H2O2浓度', 'H2O2饱和度'],
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true,
},
xAxis: {
type: 'category',
boundaryGap: false,
data: echartsStore.abscissaFormater,
},
yAxis: {
type: 'value',
},
series: [
{
name: '温度',
type: 'line',
stack: 'binTemp',
data: echartsStore.binTemp,
},
{
name: '湿度',
type: 'line',
stack: 'binHumidity',
data: echartsStore.binHumidity,
},
{
name: 'H2O2浓度',
type: 'line',
stack: 'binHP',
data: echartsStore.binHP,
},
{
name: 'H2O2饱和度',
type: 'line',
stack: 'binSaturation',
data: echartsStore.binSaturation,
},
],
})
envir1Charts.value?.setOption({
tooltip: {
trigger: 'axis',
},
legend: {
data: ['温度', '湿度', 'H2O2浓度', 'H2O2饱和度'],
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true,
},
xAxis: {
type: 'category',
boundaryGap: false,
data: echartsStore.abscissaFormater,
},
yAxis: {
type: 'value',
},
series: [
{
name: '温度',
type: 'line',
stack: '1',
data: [],
},
{
name: '湿度',
type: 'line',
stack: '2',
data: [],
},
{
name: 'H2O2浓度',
type: 'line',
stack: '3',
data: [],
},
{
name: 'H2O2饱和度',
type: 'line',
stack: '4',
data: [],
},
],
})
envir2Charts.value?.setOption({
tooltip: {
trigger: 'axis',
},
legend: {
data: ['温度', '湿度', 'H2O2浓度', 'H2O2饱和度'],
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true,
},
xAxis: {
type: 'category',
boundaryGap: false,
data: echartsStore.abscissaFormater,
},
yAxis: {
type: 'value',
},
series: [
{
name: '温度',
type: 'line',
stack: '1',
data: [],
},
{
name: '湿度',
type: 'line',
stack: '2',
data: [],
},
{
name: 'H2O2浓度',
type: 'line',
stack: '3',
data: [],
},
{
name: 'H2O2饱和度',
type: 'line',
stack: '4',
data: [],
},
],
})
}, 1000 * 20)
time1.value = setInterval(() => {
binCharts.value?.setOption({
tooltip: {
trigger: 'axis',
},
legend: {
data: ['温度', '湿度', 'H2O2浓度', 'H2O2饱和度'],
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true,
},
xAxis: {
type: 'category',
boundaryGap: false,
data: echartsStore.abscissaFormater,
},
yAxis: {
type: 'value',
},
series: [
{
name: '温度',
type: 'line',
stack: 'binTemp',
data: echartsStore.binTemp,
},
{
name: '湿度',
type: 'line',
stack: 'binHumidity',
data: echartsStore.binHumidity,
},
{
name: 'H2O2浓度',
type: 'line',
stack: 'binHP',
data: echartsStore.binHP,
},
{
name: 'H2O2饱和度',
type: 'line',
stack: 'binSaturation',
data: echartsStore.binSaturation,
},
],
})
envir1Charts.value?.setOption({
tooltip: {
trigger: 'axis',
},
legend: {
data: ['温度', '湿度', 'H2O2浓度', 'H2O2饱和度'],
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true,
},
xAxis: {
type: 'category',
boundaryGap: false,
data: echartsStore.abscissaFormater,
},
yAxis: {
type: 'value',
},
series: [
{
name: '温度',
type: 'line',
stack: '1',
data: [],
},
{
name: '湿度',
type: 'line',
stack: '2',
data: [],
},
{
name: 'H2O2浓度',
type: 'line',
stack: '3',
data: [],
},
{
name: 'H2O2饱和度',
type: 'line',
stack: '4',
data: [],
},
],
})
envir2Charts.value?.setOption({
tooltip: {
trigger: 'axis',
},
legend: {
data: ['温度', '湿度', 'H2O2浓度', 'H2O2饱和度'],
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true,
},
xAxis: {
type: 'category',
boundaryGap: false,
data: echartsStore.abscissaFormater,
},
yAxis: {
type: 'value',
},
series: [
{
name: '温度',
type: 'line',
stack: '1',
data: [],
},
{
name: '湿度',
type: 'line',
stack: '2',
data: [],
},
{
name: 'H2O2浓度',
type: 'line',
stack: '3',
data: [],
},
{
name: 'H2O2饱和度',
type: 'line',
stack: '4',
data: [],
},
],
})
}, 1000)
})
// 监听到store中的数据变化动态更改options
onUnmounted(() => {
timer.value = null
time1.value = null
time2.value = null
})
const pauseDisinfect = () => {
if (operatorStore.disinfectStatus == 1) {
webSocketStore.sendCommandMsg(pauseDisinfectionJSON)
}
}
const disinfectWarnVisible = ref(false)
const stopDisinfect = () => {
disinfectWarnVisible.value = true
if ([1, 2].includes(operatorStore.disinfectStatus)) {
webSocketStore.sendCommandMsg(stopDisinfectionJSON)
}
}
const hideDisinfectModal = () => {
disinfectWarnVisible.value = false
}
const continueDisinfect = () => {
if (operatorStore.disinfectStatus == 2) {
webSocketStore.sendCommandMsg(continueDisinfectionJSON)
}
}
</script>
<style lang="scss" scoped>
.progress_container {
margin-bottom: 19px;
height: 580px;
box-sizing: border-box;
background: #ffffff;
border-radius: 16px;
padding-bottom: 30px;
.header_wrap {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 34px;
height: 107px;
box-sizing: border-box;
padding: 13px 36px 13px 20px;
background: #f6f6f6;
border-radius: 16px 16px 0 0;
.left_time {
position: relative;
width: 377px;
height: 61px;
background: url(../assets/img/operator/time.png) no-repeat;
background-size: 100% 100%;
.time {
font-family: Source Han Sans CN;
font-size: 28px;
font-weight: bold;
line-height: normal;
letter-spacing: 0.1em;
color: #ffffff;
position: absolute;
left: 165px;
top: 9px;
width: 178px;
height: 41px;
text-align: center;
}
}
.btn {
padding: 12px 28px;
white-space: nowrap;
box-sizing: border-box;
width: 140px;
height: 50px;
border-radius: 25px;
background: #06518b;
display: flex;
align-items: center;
justify-content: center;
font-family: Source Han Sans CN;
font-size: 20px;
font-weight: 500;
line-height: normal;
letter-spacing: 0.07em;
color: #ffffff;
}
}
.echarts_wrap {
height: 351px;
display: flex;
padding-left: 20px;
align-items: center;
margin-bottom: 19px;
.single_wrap {
flex: 1;
height: 351px;
.title {
margin-left: 28px;
padding: 5px 13px;
margin-bottom: 24px;
font-family: Source Han Sans CN;
font-size: 14px;
font-weight: 500;
line-height: normal;
letter-spacing: 0.1em;
color: #ffffff;
height: 27px;
border-radius: 14px;
opacity: 1;
background: #06518b;
width: 70px;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
}
.echarts_box {
width: 380px;
height: 308px;
}
}
}
.detail_wrap {
padding-left: 20px;
display: flex;
align-items: center;
padding-right: 16px;
height: 50px;
.tip_info {
padding: 12px 20px;
box-sizing: border-box;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
width: 550px;
height: 50px;
border-radius: 6px;
opacity: 1;
background: #f6f6f6;
font-family: Source Han Sans CN;
font-size: 18px;
font-weight: bold;
line-height: normal;
letter-spacing: 0.1em;
margin-right: 20px;
color: #fa1c1c;
}
.speed_wrap {
background: url(../assets/img/operator/speed.png) no-repeat;
background-size: 100% 100%;
position: relative;
width: 335px;
height: 41px;
margin-right: 37px;
.speed {
position: absolute;
font-family: Source Han Sans CN;
font-size: 28px;
font-weight: bold;
line-height: normal;
letter-spacing: 0.02em;
color: #17f179;
left: 197px;
bottom: -2px;
width: 68px;
height: 41px;
white-space: nowrap;
text-align: center;
}
}
}
}
</style>