From 4ce6b8ddc14a5fa6b0ddff1d1245612736bd7e66 Mon Sep 17 00:00:00 2001 From: sexygoat <1538832180@qq.com> Date: Tue, 14 Apr 2026 11:11:24 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=B5=84=E4=BA=A7=E5=A5=97=E9=A4=90?= =?UTF-8?q?=E5=8E=86=E5=8F=B2,=E8=AE=BE=E5=A4=87=E6=8D=A2=E8=B4=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../asset-package-history.vue | 67 ++++++++++++++++--- pages/auth/auth.vue | 31 ++++++--- pages/device-exchange/device-exchange.vue | 32 ++++----- pages/switch/switch.vue | 48 ++++++++----- 4 files changed, 129 insertions(+), 49 deletions(-) diff --git a/pages/asset-package-history/asset-package-history.vue b/pages/asset-package-history/asset-package-history.vue index 36418c5..ee4a617 100644 --- a/pages/asset-package-history/asset-package-history.vue +++ b/pages/asset-package-history/asset-package-history.vue @@ -47,16 +47,16 @@ 流量信息 - 已用真流量 - {{ formatMB(item.data_usage_mb) }} + 已使用 + {{ getUsedFlow(item) }} - 总量真流量 - {{ formatMB(item.data_limit_mb) }} + 总流量 + {{ getTotalFlow(item) }} - 剩余虚流量 - {{ formatMB(item.virtual_remain_mb) }} + 剩余 + {{ getRemainFlow(item) }} @@ -101,16 +101,63 @@ }; const formatMB = (mb) => { - if (!mb) return '0'; + if (!mb && mb !== 0) return '0 MB'; if (mb >= 1024) { return (mb / 1024).toFixed(2) + ' GB'; } - return mb + ' MB'; + return mb.toFixed(2) + ' MB'; }; + // 获取已使用流量 + const getUsedFlow = (item) => { + if (item.enable_virtual_data) { + // 启用虚流量,显示已用虚流量 + return formatMB(item.virtual_used_mb || 0); + } else { + // 未启用虚流量,显示已用真流量 + return formatMB(item.data_usage_mb || 0); + } + }; + + // 获取总流量 + const getTotalFlow = (item) => { + if (item.enable_virtual_data) { + // 启用虚流量,显示虚流量总量 + return formatMB(item.virtual_limit_mb || 0); + } else { + // 未启用虚流量,显示真流量总量 + return formatMB(item.data_limit_mb || 0); + } + }; + + // 获取剩余流量 + const getRemainFlow = (item) => { + if (item.enable_virtual_data) { + // 启用虚流量,显示剩余虚流量 + return formatMB(item.virtual_remain_mb || 0); + } else { + // 未启用虚流量,计算剩余真流量 + const remain = (item.data_limit_mb || 0) - (item.data_usage_mb || 0); + return formatMB(remain); + } + }; + + // 获取使用百分比 const getUsagePercent = (item) => { - if (!item.data_limit_mb) return 0; - return Math.min((item.data_usage_mb / item.data_limit_mb) * 100, 100).toFixed(2); + let used, total; + + if (item.enable_virtual_data) { + // 启用虚流量 + used = item.virtual_used_mb || 0; + total = item.virtual_limit_mb || 0; + } else { + // 未启用虚流量 + used = item.data_usage_mb || 0; + total = item.data_limit_mb || 0; + } + + if (!total) return 0; + return Math.min((used / total) * 100, 100).toFixed(2); }; const formatDate = (dateStr) => { diff --git a/pages/auth/auth.vue b/pages/auth/auth.vue index 3cfe637..95893d1 100644 --- a/pages/auth/auth.vue +++ b/pages/auth/auth.vue @@ -32,7 +32,7 @@