feat: 新增全部已使用流量和全部总流量字段
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 2m30s

This commit is contained in:
luo
2026-07-03 12:03:52 +08:00
parent 99de03604d
commit acda0d82c8
10 changed files with 155 additions and 5 deletions

View File

@@ -82,6 +82,12 @@
<ElDescriptionsItem label="运营商状态" :span="1">
<span class="gateway-extend-text">{{ cardInfo?.gateway_extend || '-' }}</span>
</ElDescriptionsItem>
<ElDescriptionsItem label="所有套餐已用量">
{{ formatUsageSummaryMb(cardInfo?.total_virtual_used_mb) }}
</ElDescriptionsItem>
<ElDescriptionsItem label="所有套餐剩余量">
{{ formatUsageSummaryMb(cardInfo?.total_virtual_remaining_mb) }}
</ElDescriptionsItem>
<template v-if="cardInfo?.bound_device_id">
<ElDescriptionsItem label="绑定设备号">
@@ -163,6 +169,12 @@
formatDateTime(deviceRealtime?.last_sync_time) || '-'
}}</ElDescriptionsItem>
<ElDescriptionsItem label="SN">{{ cardInfo?.sn || '-' }}</ElDescriptionsItem>
<ElDescriptionsItem label="所有套餐已用量">
{{ formatUsageSummaryMb(cardInfo?.total_virtual_used_mb) }}
</ElDescriptionsItem>
<ElDescriptionsItem label="所有套餐剩余量">
{{ formatUsageSummaryMb(cardInfo?.total_virtual_remaining_mb) }}
</ElDescriptionsItem>
</template>
</ElDescriptions>
@@ -532,6 +544,8 @@
supplier?: string
gateway_card_imei?: string
gateway_extend?: string
total_virtual_used_mb?: number | null
total_virtual_remaining_mb?: number | null
last_sync_time?: string | null
last_data_check_at?: string | null
last_real_name_check_at?: string | null
@@ -710,6 +724,11 @@
props.cardInfo?.last_card_status_check_at !== undefined
)
const formatUsageSummaryMb = (value?: number | null) => {
if (value === undefined || value === null) return '-'
return formatDataSize(value)
}
// 处理轮询开关变化
const handlePollingChange = (value: string | number | boolean) => {
emit('update:pollingEnabled', Boolean(value))

View File

@@ -92,7 +92,7 @@ export function useAssetInfo() {
const fetchAssetDetail = async (identifier: string) => {
try {
loading.value = true
const response = await AssetService.resolveAsset(identifier)
const response = await AssetService.resolveAsset(identifier, { include_usage_summary: true })
if (response.code === 0 && response.data) {
const data = response.data
@@ -136,6 +136,8 @@ export function useAssetInfo() {
gateway_card_imei: resolvedGatewayCardImei,
resolved_gateway_card_imei: resolvedGatewayCardImei,
gateway_extend: data.gateway_extend ?? '',
total_virtual_used_mb: data.total_virtual_used_mb ?? null,
total_virtual_remaining_mb: data.total_virtual_remaining_mb ?? null,
bound_device_id: data.bound_device_id,
bound_device_no: data.bound_device_no || '',
bound_device_name: data.bound_device_name || '',

View File

@@ -30,6 +30,8 @@ export interface AssetInfo {
status?: number
gateway_card_imei?: string
gateway_extend?: string
total_virtual_used_mb?: number | null
total_virtual_remaining_mb?: number | null
last_sync_time?: string | null
last_data_check_at?: string | null
last_real_name_check_at?: string | null