This commit is contained in:
@@ -330,17 +330,6 @@
|
||||
{{ deviceRealtime.imsi || '-' }}
|
||||
</ElDescriptionsItem>
|
||||
|
||||
<!-- 流量信息 -->
|
||||
<ElDescriptionsItem label="今日流量">
|
||||
{{ formatDataSize(Number(deviceRealtime.daily_usage || 0) / (1024 * 1024)) }}
|
||||
</ElDescriptionsItem>
|
||||
<ElDescriptionsItem label="本次下载">
|
||||
{{ formatDataSize(Number(deviceRealtime.dl_stats || 0) / (1024 * 1024)) }}
|
||||
</ElDescriptionsItem>
|
||||
<ElDescriptionsItem label="本次上传">
|
||||
{{ formatDataSize(Number(deviceRealtime.ul_stats || 0) / (1024 * 1024)) }}
|
||||
</ElDescriptionsItem>
|
||||
|
||||
<!-- 设备配置 -->
|
||||
<ElDescriptionsItem label="限速">
|
||||
{{ deviceRealtime.limit_speed ? `${deviceRealtime.limit_speed} KB/s` : '不限速' }}
|
||||
@@ -538,9 +527,6 @@
|
||||
mac_address?: string
|
||||
imei?: string
|
||||
imsi?: string
|
||||
daily_usage?: string
|
||||
dl_stats?: string
|
||||
ul_stats?: string
|
||||
limit_speed?: number
|
||||
software_version?: string
|
||||
switch_mode?: string
|
||||
|
||||
@@ -42,20 +42,20 @@
|
||||
<span class="stat-item">
|
||||
<span class="stat-label">已使用</span>
|
||||
<span class="stat-value">{{
|
||||
formatDataSize(currentPackage.data_usage_mb || 0)
|
||||
formatDataSize(currentPackage.real_used_mb || 0)
|
||||
}}</span>
|
||||
</span>
|
||||
<span class="stat-item">
|
||||
<span class="stat-label">总量</span>
|
||||
<span class="stat-value">{{
|
||||
formatDataSize(currentPackage.data_limit_mb || 0)
|
||||
formatDataSize(currentPackage.real_total_mb || 0)
|
||||
}}</span>
|
||||
</span>
|
||||
<span class="stat-item">
|
||||
<span class="stat-label">剩余</span>
|
||||
<span class="stat-value">{{
|
||||
formatDataSize(
|
||||
(currentPackage.data_limit_mb || 0) - (currentPackage.data_usage_mb || 0)
|
||||
(currentPackage.real_total_mb || 0) - (currentPackage.real_used_mb || 0)
|
||||
)
|
||||
}}</span>
|
||||
</span>
|
||||
@@ -63,15 +63,15 @@
|
||||
<ElProgress
|
||||
:percentage="
|
||||
getUsageProgress(
|
||||
currentPackage.data_usage_mb || 0,
|
||||
currentPackage.data_limit_mb || 0
|
||||
currentPackage.real_used_mb || 0,
|
||||
currentPackage.real_total_mb || 0
|
||||
)
|
||||
"
|
||||
:color="
|
||||
getProgressColorByPercentage(
|
||||
getUsageProgress(
|
||||
currentPackage.data_usage_mb || 0,
|
||||
currentPackage.data_limit_mb || 0
|
||||
currentPackage.real_used_mb || 0,
|
||||
currentPackage.real_total_mb || 0
|
||||
)
|
||||
)
|
||||
"
|
||||
@@ -85,36 +85,28 @@
|
||||
<span class="stat-item">
|
||||
<span class="stat-label">已使用</span>
|
||||
<span class="stat-value">{{
|
||||
formatDataSize(currentPackage.virtual_data_used || 0)
|
||||
formatDataSize(currentPackage.virtual_used_mb || 0)
|
||||
}}</span>
|
||||
</span>
|
||||
<span class="stat-item">
|
||||
<span class="stat-label">总量</span>
|
||||
<span class="stat-label">停机阈值</span>
|
||||
<span class="stat-value">{{
|
||||
formatDataSize(currentPackage.virtual_limit_mb || 0)
|
||||
}}</span>
|
||||
</span>
|
||||
<span class="stat-item">
|
||||
<span class="stat-label">剩余</span>
|
||||
<span class="stat-value">{{
|
||||
formatDataSize(
|
||||
(currentPackage.virtual_limit_mb || 0) - (currentPackage.virtual_data_used || 0)
|
||||
)
|
||||
formatDataSize(currentPackage.virtual_total_mb || 0)
|
||||
}}</span>
|
||||
</span>
|
||||
</div>
|
||||
<ElProgress
|
||||
:percentage="
|
||||
getUsageProgress(
|
||||
currentPackage.virtual_data_used || 0,
|
||||
currentPackage.virtual_limit_mb || 0
|
||||
currentPackage.virtual_used_mb || 0,
|
||||
currentPackage.virtual_total_mb || 0
|
||||
)
|
||||
"
|
||||
:color="
|
||||
getProgressColorByPercentage(
|
||||
getUsageProgress(
|
||||
currentPackage.virtual_data_used || 0,
|
||||
currentPackage.virtual_limit_mb || 0
|
||||
currentPackage.virtual_used_mb || 0,
|
||||
currentPackage.virtual_total_mb || 0
|
||||
)
|
||||
)
|
||||
"
|
||||
@@ -133,8 +125,8 @@
|
||||
{{
|
||||
formatDataSize(
|
||||
currentPackage.enable_virtual_data
|
||||
? currentPackage.virtual_data_used || 0
|
||||
: currentPackage.data_usage_mb || 0
|
||||
? currentPackage.virtual_used_mb || 0
|
||||
: currentPackage.real_used_mb || 0
|
||||
)
|
||||
}}
|
||||
</span>
|
||||
@@ -142,7 +134,7 @@
|
||||
<div class="flow-stat-item">
|
||||
<span class="flow-stat-label">总量</span>
|
||||
<span class="flow-stat-value">
|
||||
{{ formatDataSize(currentPackage.data_limit_mb || 0) }}
|
||||
{{ formatDataSize(currentPackage.real_total_mb || 0) }}
|
||||
</span>
|
||||
</div>
|
||||
<div class="flow-stat-item">
|
||||
@@ -150,7 +142,7 @@
|
||||
<span class="flow-stat-value">
|
||||
{{
|
||||
formatDataSize(
|
||||
(currentPackage.data_limit_mb || 0) - (currentPackage.data_usage_mb || 0)
|
||||
(currentPackage.real_total_mb || 0) - (currentPackage.real_used_mb || 0)
|
||||
)
|
||||
}}
|
||||
</span>
|
||||
@@ -161,18 +153,18 @@
|
||||
:percentage="
|
||||
getUsageProgress(
|
||||
currentPackage.enable_virtual_data
|
||||
? currentPackage.virtual_data_used || 0
|
||||
: currentPackage.data_usage_mb || 0,
|
||||
currentPackage.data_limit_mb || 0
|
||||
? currentPackage.virtual_used_mb || 0
|
||||
: currentPackage.real_used_mb || 0,
|
||||
currentPackage.real_total_mb || 0
|
||||
)
|
||||
"
|
||||
:color="
|
||||
getProgressColorByPercentage(
|
||||
getUsageProgress(
|
||||
currentPackage.enable_virtual_data
|
||||
? currentPackage.virtual_data_used || 0
|
||||
: currentPackage.data_usage_mb || 0,
|
||||
currentPackage.data_limit_mb || 0
|
||||
? currentPackage.virtual_used_mb || 0
|
||||
: currentPackage.real_used_mb || 0,
|
||||
currentPackage.real_total_mb || 0
|
||||
)
|
||||
)
|
||||
"
|
||||
|
||||
@@ -61,16 +61,16 @@
|
||||
<template v-if="isAdminOrPlatform">
|
||||
<div class="progress-text">
|
||||
<span class="used"
|
||||
>已使用真流量: {{ formatDataSize(scope.row.data_usage_mb || 0) }}</span
|
||||
>已使用真流量: {{ formatDataSize(scope.row.real_used_mb || 0) }}</span
|
||||
>
|
||||
<span class="total"
|
||||
>真流量总量: {{ formatDataSize(scope.row.data_limit_mb || 0) }}</span
|
||||
>真流量总量: {{ formatDataSize(scope.row.real_total_mb || 0) }}</span
|
||||
>
|
||||
<span class="remaining"
|
||||
>真流量剩余:
|
||||
{{
|
||||
formatDataSize(
|
||||
(scope.row.data_limit_mb || 0) - (scope.row.data_usage_mb || 0)
|
||||
(scope.row.real_total_mb || 0) - (scope.row.real_used_mb || 0)
|
||||
)
|
||||
}}</span
|
||||
>
|
||||
@@ -78,11 +78,11 @@
|
||||
<ElProgress
|
||||
style="margin-top: 4px"
|
||||
:percentage="
|
||||
getUsageProgress(scope.row.data_usage_mb || 0, scope.row.data_limit_mb || 0)
|
||||
getUsageProgress(scope.row.real_used_mb || 0, scope.row.real_total_mb || 0)
|
||||
"
|
||||
:color="
|
||||
getProgressColorByPercentage(
|
||||
getUsageProgress(scope.row.data_usage_mb || 0, scope.row.data_limit_mb || 0)
|
||||
getUsageProgress(scope.row.real_used_mb || 0, scope.row.real_total_mb || 0)
|
||||
)
|
||||
"
|
||||
/>
|
||||
@@ -91,15 +91,7 @@
|
||||
>已使用虚流量: {{ formatDataSize(scope.row.virtual_used_mb || 0) }}</span
|
||||
>
|
||||
<span class="total"
|
||||
>虚流量总量: {{ formatDataSize(scope.row.virtual_limit_mb || 0) }}</span
|
||||
>
|
||||
<span class="remaining"
|
||||
>虚流量剩余:
|
||||
{{
|
||||
formatDataSize(
|
||||
(scope.row.virtual_limit_mb || 0) - (scope.row.virtual_used_mb || 0)
|
||||
)
|
||||
}}</span
|
||||
>停机阈值: {{ formatDataSize(scope.row.virtual_total_mb || 0) }}</span
|
||||
>
|
||||
</div>
|
||||
<ElProgress
|
||||
@@ -107,14 +99,14 @@
|
||||
:percentage="
|
||||
getUsageProgress(
|
||||
scope.row.virtual_used_mb || 0,
|
||||
scope.row.virtual_limit_mb || 0
|
||||
scope.row.virtual_total_mb || 0
|
||||
)
|
||||
"
|
||||
:color="
|
||||
getProgressColorByPercentage(
|
||||
getUsageProgress(
|
||||
scope.row.virtual_used_mb || 0,
|
||||
scope.row.virtual_limit_mb || 0
|
||||
scope.row.virtual_total_mb || 0
|
||||
)
|
||||
)
|
||||
"
|
||||
@@ -128,18 +120,18 @@
|
||||
formatDataSize(
|
||||
scope.row.enable_virtual_data
|
||||
? scope.row.virtual_used_mb || 0
|
||||
: scope.row.data_usage_mb || 0
|
||||
: scope.row.real_used_mb || 0
|
||||
)
|
||||
}}</span
|
||||
>
|
||||
<span class="total"
|
||||
>总量: {{ formatDataSize(scope.row.data_limit_mb || 0) }}</span
|
||||
>总量: {{ formatDataSize(scope.row.real_total_mb || 0) }}</span
|
||||
>
|
||||
<span class="remaining"
|
||||
>剩余:
|
||||
{{
|
||||
formatDataSize(
|
||||
(scope.row.data_limit_mb || 0) - (scope.row.data_usage_mb || 0)
|
||||
(scope.row.real_total_mb || 0) - (scope.row.real_used_mb || 0)
|
||||
)
|
||||
}}</span
|
||||
>
|
||||
@@ -150,8 +142,8 @@
|
||||
getUsageProgress(
|
||||
scope.row.enable_virtual_data
|
||||
? scope.row.virtual_used_mb || 0
|
||||
: scope.row.data_usage_mb || 0,
|
||||
scope.row.data_limit_mb || 0
|
||||
: scope.row.real_used_mb || 0,
|
||||
scope.row.real_total_mb || 0
|
||||
)
|
||||
"
|
||||
:color="
|
||||
@@ -159,8 +151,8 @@
|
||||
getUsageProgress(
|
||||
scope.row.enable_virtual_data
|
||||
? scope.row.virtual_used_mb || 0
|
||||
: scope.row.data_usage_mb || 0,
|
||||
scope.row.data_limit_mb || 0
|
||||
: scope.row.real_used_mb || 0,
|
||||
scope.row.real_total_mb || 0
|
||||
)
|
||||
)
|
||||
"
|
||||
|
||||
@@ -105,12 +105,12 @@ export function useAssetInfo() {
|
||||
// 流量/套餐信息
|
||||
current_package: data.current_package || '',
|
||||
packageSeries: data.series_name || '-',
|
||||
packageTotalFlow: formatDataSize(data.package_total_mb || 0),
|
||||
usedFlow: formatDataSize(data.package_used_mb || 0),
|
||||
remainFlow: formatDataSize((data.package_total_mb || 0) - (data.package_used_mb || 0)),
|
||||
packageTotalFlow: formatDataSize(data.real_total_mb || 0),
|
||||
usedFlow: formatDataSize(data.real_used_mb || 0),
|
||||
remainFlow: formatDataSize((data.real_total_mb || 0) - (data.real_used_mb || 0)),
|
||||
usedFlowPercentage:
|
||||
data.package_total_mb > 0
|
||||
? `${((data.package_used_mb / data.package_total_mb) * 100).toFixed(2)}%`
|
||||
data.real_total_mb > 0
|
||||
? `${((data.real_used_mb / data.real_total_mb) * 100).toFixed(2)}%`
|
||||
: '0.00%',
|
||||
packageList: [] // 套餐列表需要单独调用API获取
|
||||
}
|
||||
@@ -191,25 +191,20 @@ export function useAssetInfo() {
|
||||
order_no: pkg.order_no || '',
|
||||
package_name: pkg.package_name || '',
|
||||
paid_amount: pkg.paid_amount || 0,
|
||||
package_total_data: pkg.data_limit_mb || 0,
|
||||
real_data_used: pkg.data_usage_mb || 0,
|
||||
real_data_remaining: (pkg.data_limit_mb || 0) - (pkg.data_usage_mb || 0),
|
||||
real_data_total: pkg.data_limit_mb || 0,
|
||||
virtual_data_used: pkg.virtual_used_mb || 0,
|
||||
virtual_data_remaining: pkg.virtual_remain_mb || 0,
|
||||
virtual_data_total: pkg.virtual_limit_mb || 0,
|
||||
real_total_mb: pkg.real_total_mb || 0,
|
||||
real_used_mb: pkg.real_used_mb || 0,
|
||||
real_remaining_mb: (pkg.real_total_mb || 0) - (pkg.real_used_mb || 0),
|
||||
virtual_total_mb: pkg.virtual_total_mb || 0,
|
||||
virtual_used_mb: pkg.virtual_used_mb || 0,
|
||||
virtual_remaining_mb: (pkg.virtual_total_mb || 0) - (pkg.virtual_used_mb || 0),
|
||||
reduction_pct: pkg.reduction_pct || 0,
|
||||
start_time: pkg.activated_at || '',
|
||||
expire_time: pkg.expires_at || '',
|
||||
status: pkg.status || 0,
|
||||
status_name: pkg.status_name,
|
||||
duration_days: undefined,
|
||||
virtual_ratio: pkg.virtual_ratio,
|
||||
package_type: pkg.package_type,
|
||||
enable_virtual_data: pkg.enable_virtual_data,
|
||||
data_limit_mb: pkg.data_limit_mb,
|
||||
virtual_limit_mb: pkg.virtual_limit_mb,
|
||||
virtual_remain_mb: pkg.virtual_remain_mb,
|
||||
data_usage_mb: pkg.data_usage_mb,
|
||||
created_at: pkg.created_at || ''
|
||||
}
|
||||
|
||||
@@ -217,18 +212,18 @@ export function useAssetInfo() {
|
||||
const useVirtual = pkg.enable_virtual_data
|
||||
cardInfo.value.current_package = pkg.package_name
|
||||
cardInfo.value.packageTotalFlow = formatDataSize(
|
||||
useVirtual ? pkg.virtual_limit_mb || 0 : pkg.data_limit_mb || 0
|
||||
useVirtual ? pkg.virtual_total_mb || 0 : pkg.real_total_mb || 0
|
||||
)
|
||||
cardInfo.value.usedFlow = formatDataSize(
|
||||
useVirtual ? pkg.virtual_used_mb || 0 : pkg.data_usage_mb || 0
|
||||
useVirtual ? pkg.virtual_used_mb || 0 : pkg.real_used_mb || 0
|
||||
)
|
||||
cardInfo.value.remainFlow = formatDataSize(
|
||||
useVirtual
|
||||
? pkg.virtual_remain_mb || 0
|
||||
: (pkg.data_limit_mb || 0) - (pkg.data_usage_mb || 0)
|
||||
? (pkg.virtual_total_mb || 0) - (pkg.virtual_used_mb || 0)
|
||||
: (pkg.real_total_mb || 0) - (pkg.real_used_mb || 0)
|
||||
)
|
||||
const totalMb = useVirtual ? pkg.virtual_limit_mb || 0 : pkg.data_limit_mb || 0
|
||||
const usedMb = useVirtual ? pkg.virtual_used_mb || 0 : pkg.data_usage_mb || 0
|
||||
const totalMb = useVirtual ? pkg.virtual_total_mb || 0 : pkg.real_total_mb || 0
|
||||
const usedMb = useVirtual ? pkg.virtual_used_mb || 0 : pkg.real_used_mb || 0
|
||||
cardInfo.value.usedFlowPercentage =
|
||||
totalMb > 0 ? `${((usedMb / totalMb) * 100).toFixed(2)}%` : '0.00%'
|
||||
} else {
|
||||
|
||||
@@ -76,25 +76,20 @@ export interface PackageInfo {
|
||||
package_id: number
|
||||
package_name: string
|
||||
package_price: number
|
||||
package_total_data: number
|
||||
real_data_used: number
|
||||
real_data_remaining: number
|
||||
real_data_total: number
|
||||
virtual_data_used: number
|
||||
virtual_data_remaining: number
|
||||
virtual_data_total: number
|
||||
real_total_mb: number
|
||||
real_used_mb: number
|
||||
real_remaining_mb: number
|
||||
virtual_total_mb: number
|
||||
virtual_used_mb: number
|
||||
virtual_remaining_mb: number
|
||||
start_time: string
|
||||
expire_time: string
|
||||
status: number
|
||||
status_name?: string
|
||||
duration_days?: number
|
||||
virtual_ratio?: number // 虚流量比例
|
||||
reduction_pct?: number // 展示增幅比例
|
||||
package_type?: string // 套餐类型: formal(正式套餐)/ addon(加油包)
|
||||
enable_virtual_data?: boolean // 是否启用虚流量
|
||||
data_limit_mb?: number // 总量
|
||||
virtual_limit_mb?: number // 虚流量上限
|
||||
virtual_remain_mb?: number // 虚流量剩余
|
||||
data_usage_mb?: number // 已用流量
|
||||
order_no?: string // 订单号
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user