SensorWarningStatistics.vue 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <template>
  2. <div class="item warning-statistics">
  3. <div class="title">
  4. <span class="name">传感器预警统计</span>
  5. <span class="number">{{ total }}</span>
  6. </div>
  7. <div class="container">
  8. <div class="lf">
  9. <div class="head">
  10. <div class="head-item">
  11. <div class="number">{{ data.goafHdangerLevelSeriousNum }}</div>
  12. <div class="name">危急</div>
  13. </div>
  14. <div class="head-item">
  15. <div class="number">{{ data.goafHdangerLevelMajorNum }}</div>
  16. <div class="name">危险</div>
  17. </div>
  18. <div class="head-item">
  19. <div class="number">{{ data.goafHdangerLevelGeneralNum }}</div>
  20. <div class="name">威胁</div>
  21. </div>
  22. <div class="head-item">
  23. <div class="number">{{ data.goafHdangerLevelLowerNum }}</div>
  24. <div class="name">异常</div>
  25. </div>
  26. </div>
  27. <div class="status">
  28. <div class="status-item">
  29. <div class="name">待评审</div>
  30. <div class="number">{{ data.goafHdangerStatusToforreviewlNum }}</div>
  31. </div>
  32. <div class="status-item">
  33. <div class="name">待整改</div>
  34. <div class="number">{{ data.goafHdangerStatusTorectifyNum }}</div>
  35. </div>
  36. <div class="status-item">
  37. <div class="name">待验收</div>
  38. <div class="number">{{ data.goafHdangerStatusToacceptNum }}</div>
  39. </div>
  40. <div class="status-item">
  41. <div class="name">已完成</div>
  42. <div class="number">{{ data.goafHdangerStatusCompleteNum }}</div>
  43. </div>
  44. </div>
  45. </div>
  46. <div class="chart-cont">
  47. <el-progress type="circle" :percentage="rectify_rate" :width="120" color="#2affff" :stroke-width="8">
  48. <template>
  49. <span style="color:#fff;font-size: 20px;font-weight: bold;">{{ rectify_rate }}%</span>
  50. </template>
  51. </el-progress>
  52. <p>整改完成率</p>
  53. </div>
  54. </div>
  55. </div>
  56. </template>
  57. <script>
  58. export default {
  59. name: 'SensorWarningStatistics',
  60. data() {
  61. return {
  62. data: {
  63. 'goafHdangerLevelGeneralNum': 0,
  64. 'goafHdangerLevelLowerNum': 0,
  65. 'goafHdangerLevelMajorNum': 0,
  66. 'goafHdangerLevelSeriousNum': 0,
  67. 'goafHdangerStatusCancelNum': 0,
  68. 'goafHdangerStatusCompleteNum': 0,
  69. 'goafHdangerStatusToacceptNum': 0,
  70. 'goafHdangerStatusToforreviewlNum': 0,
  71. 'goafHdangerStatusTorectifyNum': 0,
  72. 'goafHdangerStatusTosubmitNum': 0
  73. },
  74. 'rectify_rate': 0,
  75. 'total': 0
  76. }
  77. },
  78. methods: {
  79. loadData(data) {
  80. const total = data.goafHdangerLevelGeneralNum + data.goafHdangerLevelLowerNum + data.goafHdangerLevelMajorNum + data.goafHdangerLevelSeriousNum
  81. const rectify_rate = total > 0 ? (data.goafHdangerStatusCompleteNum / total) : 0
  82. this.data = data
  83. this.total = total
  84. this.rectify_rate = parseFloat((rectify_rate * 100).toFixed(1))
  85. },
  86. linkTo() {
  87. this.$router.push({
  88. path: '/particulars/sensor',
  89. query: {
  90. id: '0'
  91. }
  92. })
  93. }
  94. }
  95. }
  96. </script>
  97. <style lang="scss" scoped>
  98. .container{
  99. height: 22vh !important;
  100. .chart-cont{
  101. p{
  102. color: #fff;
  103. margin-top: 12px;
  104. font-size: 14px;
  105. }
  106. }
  107. }
  108. </style>