管道式消毒机
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.

158 lines
3.2 KiB

2 years ago
  1. <template>
  2. <div class="seal_test_container">
  3. <div class="title_wrap">
  4. <img class="icon" :src="SealPng" alt="" />
  5. <div class="title">实时压力表</div>
  6. </div>
  7. <div class="echarts_box" id="seal_echarts"></div>
  8. <div class="oper_box">
  9. <img class="air_img" :src="StopAir" alt="" />
  10. <img class="air_img" :src="StartAir" alt="" />
  11. </div>
  12. </div>
  13. </template>
  14. <script setup>
  15. import * as echarts from 'echarts'
  16. import { ref, onMounted } from 'vue'
  17. import SealPng from '@/assets/img/seal/seal.png'
  18. import StartAir from '@/assets/img/seal/start.png'
  19. import StopAir from '@/assets/img/seal/stop.png'
  20. import DisStart from '@/assets/img/seal/dis_start.png'
  21. import DisStop from '@/assets/img/seal/dis_stop.png'
  22. const sealCharts = ref(null)
  23. const sealOptions = ref({
  24. series: [
  25. {
  26. type: 'gauge',
  27. progress: {
  28. show: true,
  29. width: 18,
  30. itemStyle: {
  31. color: '#3442aa',
  32. },
  33. },
  34. pointer: {
  35. itemStyle: {
  36. color: '#3442aa',
  37. },
  38. },
  39. axisLine: {
  40. lineStyle: {
  41. width: 18,
  42. },
  43. },
  44. axisTick: {
  45. show: false,
  46. },
  47. splitLine: {
  48. length: 15,
  49. lineStyle: {
  50. width: 2,
  51. color: '#999',
  52. },
  53. },
  54. axisLabel: {
  55. distance: 25,
  56. color: '#999',
  57. fontSize: 20,
  58. },
  59. anchor: {
  60. show: true,
  61. showAbove: true,
  62. size: 25,
  63. itemStyle: {
  64. borderWidth: 10,
  65. borderColor: '#3442aa',
  66. },
  67. },
  68. title: {
  69. show: false,
  70. },
  71. detail: {
  72. valueAnimation: true,
  73. fontSize: 40,
  74. color: '#3442aa',
  75. formatter: '{value} KPa',
  76. offsetCenter: [0, '70%'],
  77. },
  78. data: [
  79. {
  80. value: 68,
  81. },
  82. ],
  83. },
  84. ],
  85. })
  86. onMounted(() => {
  87. sealCharts.value = echarts.init(document.getElementById('seal_echarts'))
  88. sealCharts.value.setOption(sealOptions.value)
  89. })
  90. </script>
  91. <style lang="scss" scoped>
  92. .seal_test_container {
  93. margin-bottom: 19px;
  94. height: 580px;
  95. box-sizing: border-box;
  96. border-radius: 16px;
  97. display: flex;
  98. align-items: center;
  99. margin-right: 30px;
  100. width: 1220px;
  101. height: 580px;
  102. box-sizing: border-box;
  103. border-radius: 16px;
  104. background: #ffffff;
  105. position: relative;
  106. .title_wrap {
  107. position: absolute;
  108. left: 28px;
  109. top: 28px;
  110. width: 141px;
  111. height: 31px;
  112. box-sizing: border-box;
  113. display: flex;
  114. align-items: center;
  115. .title {
  116. font-family: 思源黑体;
  117. font-size: 20px;
  118. font-weight: bold;
  119. line-height: normal;
  120. letter-spacing: 0.02em;
  121. font-feature-settings: 'kern' on;
  122. color: #000000;
  123. margin-left: 9px;
  124. }
  125. .icon {
  126. width: 30px;
  127. height: 30px;
  128. }
  129. }
  130. .oper_box {
  131. position: absolute;
  132. left: 28px;
  133. bottom: 28px;
  134. width: 1164px;
  135. box-sizing: border-box;
  136. padding: 0 120px;
  137. height: 110px;
  138. display: flex;
  139. align-items: center;
  140. justify-content: space-between;
  141. .air_img {
  142. width: 341px;
  143. height: 110px;
  144. }
  145. }
  146. .echarts_box {
  147. height: 580px;
  148. position: absolute;
  149. left: 0;
  150. top: -36px;
  151. width: 1220px;
  152. }
  153. }
  154. </style>