From 7973457417e4952cee4b895d225200d989d2c3b1 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Thu, 17 Oct 2024 21:39:26 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BC=98=E5=8C=96=E7=AB=99?= =?UTF-8?q?=E7=82=B9=E5=8D=A1=E7=89=87=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/cards/SiteCard.vue | 22 +++++++++++----- src/views/site/SiteCardListView.vue | 41 ++++++++++++++++++++++------- 2 files changed, 47 insertions(+), 16 deletions(-) diff --git a/src/components/cards/SiteCard.vue b/src/components/cards/SiteCard.vue index 663b2d36..379ba3cf 100644 --- a/src/components/cards/SiteCard.vue +++ b/src/components/cards/SiteCard.vue @@ -6,15 +6,15 @@ import SiteUserDataDialog from '../dialog/SiteUserDataDialog.vue' import SiteResourceDialog from '../dialog/SiteResourceDialog.vue' import SiteCookieUpdateDialog from '../dialog/SiteCookieUpdateDialog.vue' import api from '@/api' -import type { Site, SiteStatistic } from '@/api/types' +import type { Site, SiteStatistic, SiteUserData } from '@/api/types' import { isNullOrEmptyObject } from '@/@core/utils' -import { VCardActions, VExpandTransition, VSpacer } from 'vuetify/lib/components/index.mjs' +import { VCardActions, VExpandTransition, VProgressLinear, VSpacer } from 'vuetify/lib/components/index.mjs' +import { formatFileSize } from '@/@core/utils/formatters' // 输入参数 const cardProps = defineProps({ site: Object as PropType, - width: String, - height: String, + data: Object as PropType, }) // 定义触发的自定义事件 @@ -121,6 +121,12 @@ const statColor = computed(() => { } }) +// 计算上传量和下载量的百分比 +const getPercentage = computed(() => { + if (cardProps.data?.upload === 0) return 100 + return ((cardProps.data?.download ?? 0) / ((cardProps.data?.download ?? 0) + (cardProps.data?.upload ?? 0))) * 100 +}) + // 保存站点 function saveSite() { siteEditDialog.value = false @@ -149,8 +155,6 @@ onMounted(() => {