accessError.vue 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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, onUnmounted} from "vue";
  32. import {useRouter} from "vue-router";
  33. const props = defineProps(["refreshTime"])
  34. const accessData = ref([])
  35. const maxValue = ref(0)
  36. const router = useRouter()
  37. const interval = ref(null)
  38. onMounted(() => {
  39. getBiz()
  40. interval.value = setInterval(() => {
  41. getBiz()
  42. }, props.refreshTime)
  43. })
  44. onUnmounted(() => {
  45. clearInterval(interval.value)
  46. })
  47. const getBiz = async () => {
  48. const res = await bizAccess()
  49. accessData.value = res.data
  50. maxValue.value = Math.max(...accessData.value.map(item => item.total)) + 20
  51. }
  52. function target() {
  53. router.push({path: "/pxf-risk-monitor-web/alarm/bizAccess", query: {today: "true"}})
  54. }
  55. </script>