accessError.vue 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <template>
  2. <div class="column-row-title">
  3. <span class="title-text"><img src="@/assets/images/title-icon.png" alt=""/>业务访问报错排名
  4. <span class="s-span">(当日)</span>
  5. </span>
  6. </div>
  7. <div class="column-content column-content-half" @click="target">
  8. <div class="tab-block">
  9. <span><span class="tab-blue"/>总次数</span>
  10. <span><span class="tab-yellow"/>访问错误次数</span>
  11. </div>
  12. <div class="access-row" v-for="item in accessData">
  13. <div class="a-r-label">{{item.name}}</div>
  14. <div class="a-r-progress">
  15. <div class="p-total">
  16. <span class="progress" :style="`width: calc(${(item.total/maxValue)*100}% - 40px)`"/>
  17. {{item.total}}
  18. </div>
  19. <div class="p-total p-error">
  20. <span class="progress" :style="`width: ${(item.error/item.total)*100}%`"/>
  21. {{item.error}}
  22. </div>
  23. <!-- <el-progress :percentage="item.total" :format="(percentage) => (percentage)"/>-->
  24. <!-- <el-progress :percentage="item.error" :format="(percentage) => (percentage)"/>-->
  25. </div>
  26. </div>
  27. </div>
  28. </template>
  29. <script setup lang="ts">
  30. import {bizAccess} from "@/api/index/hl"
  31. import {onMounted} from "vue";
  32. import {useRouter} from "vue-router";
  33. const accessData = ref([])
  34. const maxValue = ref(0)
  35. const router = useRouter()
  36. onMounted(async ()=>{
  37. const res = await bizAccess()
  38. accessData.value = res.data
  39. maxValue.value = Math.max(...accessData.value.map(item=>item.total))+20
  40. })
  41. function target(){
  42. router.push({path:"/alarm/bizAccess",query:{today:"true"}})
  43. }
  44. </script>