diff --git a/packages/web/projects/vgpu/components/TabTop.vue b/packages/web/projects/vgpu/components/TabTop.vue index 8db38a7..ddbeac6 100644 --- a/packages/web/projects/vgpu/components/TabTop.vue +++ b/packages/web/projects/vgpu/components/TabTop.vue @@ -2,23 +2,14 @@ - + @@ -28,6 +19,7 @@ import { onMounted, ref } from 'vue'; import EchartsPlus from '@/components/Echarts-plus.vue'; import cardApi from '~/vgpu/api/card'; import { cloneDeep } from 'lodash'; +import { formatSmartPercentage } from '@/utils'; const props = defineProps({ title: String, @@ -60,13 +52,14 @@ const getTopOptions = () => { type: 'shadow', }, formatter: function (params) { - // console.log(params, 'params') var res = params[0].name + '
'; for (var i = 0; i < params.length; i++) { + console.log(params[i].value, formatSmartPercentage(params[i].value), 'params') + res += params[i].marker + params[i].seriesName + - (+params[i].value).toFixed(0) + + formatSmartPercentage(params[i].value) + `${config.unit || '%'}
`; } return res; diff --git a/packages/web/projects/vgpu/views/monitor/overview/index.vue b/packages/web/projects/vgpu/views/monitor/overview/index.vue index a5661ec..dc89dcc 100644 --- a/packages/web/projects/vgpu/views/monitor/overview/index.vue +++ b/packages/web/projects/vgpu/views/monitor/overview/index.vue @@ -481,14 +481,14 @@ const fetchRangeData = () => { } - cardApi - .getRangeVector({ - ...params, - query: `sum({__name__=~"alert:.*:count"})`, - }) - .then((res) => { - alarmData.value = res.data[0].values; - }); + // cardApi + // .getRangeVector({ + // ...params, + // query: `sum({__name__=~"alert:.*:count"})`, + // }) + // .then((res) => { + // alarmData.value = res.data[0].values; + // }); }; diff --git a/packages/web/projects/vgpu/views/task/admin/top.vue b/packages/web/projects/vgpu/views/task/admin/top.vue index 4393d9e..0075770 100644 --- a/packages/web/projects/vgpu/views/task/admin/top.vue +++ b/packages/web/projects/vgpu/views/task/admin/top.vue @@ -63,22 +63,22 @@ const topConfig = [ title: '任务资源申请 Top5', key: 'apply', config: [ - { - tab: 'CPU', - key: 'cpu', - data: [], - nameKey: 'container_pod_uuid', - unit: '核', - query: 'topk(5, sum by(container_pod_uuid) (hami_container_vcore_allocated))', - }, - { - tab: '内存', - key: 'internal', - data: [], - unit: 'GiB', - nameKey: 'container_pod_uuid', - query: 'topk(5, sum by(container_pod_uuid) (hami_container_vmemory_allocated))', - }, + // { + // tab: 'CPU', + // key: 'cpu', + // data: [], + // nameKey: 'container_pod_uuid', + // unit: '核', + // query: 'topk(5, sum by(container_pod_uuid) (hami_container_vcore_allocated))', + // }, + // { + // tab: '内存', + // key: 'internal', + // data: [], + // unit: 'GiB', + // nameKey: 'container_pod_uuid', + // query: 'topk(5, sum by(container_pod_uuid) (hami_container_vmemory_allocated))', + // }, { tab: '算力', key: 'core', diff --git a/packages/web/src/utils/index.js b/packages/web/src/utils/index.js index b4d4806..b0d8e5d 100644 --- a/packages/web/src/utils/index.js +++ b/packages/web/src/utils/index.js @@ -588,3 +588,28 @@ export function parseUrl(url) { return { pathname, query }; } + +export function formatSmartPercentage(value) { + if (value === 0) return '0'; + + // 整数直接返回 + if (Number.isInteger(value)) return value.toString(); + + const str = value.toString(); + const decimal = str.split('.')[1] || ''; + + // 统计前导0的个数 + let leadingZeros = 0; + for (const char of decimal) { + if (char === '0') { + leadingZeros++; + } else { + break; + } + } + + const keep = leadingZeros + 2; // 0 的个数 + 1 位有效数字 + 1 位补充位 + const rounded = value.toFixed(keep); + + return parseFloat(rounded).toString(); // 去除多余的 0 和小数点 +}