feat: 新增卡视角以及设备视角的实名同步时间,卡状态同步时间,流量同步时间
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 4m56s
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 4m56s
This commit is contained in:
@@ -59,6 +59,9 @@
|
||||
<ElDescriptionsItem label="实名时间">{{
|
||||
cardInfo?.real_name_at ? formatDateTime(cardInfo.real_name_at) : '-'
|
||||
}}</ElDescriptionsItem>
|
||||
<ElDescriptionsItem label="实名同步时间">{{
|
||||
formatDateTime(cardInfo?.last_real_name_check_at) || '-'
|
||||
}}</ElDescriptionsItem>
|
||||
|
||||
<ElDescriptionsItem label="MSISDN">{{ cardInfo?.msisdn || '-' }}</ElDescriptionsItem>
|
||||
<ElDescriptionsItem label="资产状态">
|
||||
@@ -66,8 +69,14 @@
|
||||
{{ getAssetStatusName(cardInfo?.status) }}
|
||||
</ElTag>
|
||||
</ElDescriptionsItem>
|
||||
<ElDescriptionsItem label="卡状态同步时间">{{
|
||||
formatDateTime(cardInfo?.last_card_status_check_at) || '-'
|
||||
}}</ElDescriptionsItem>
|
||||
<ElDescriptionsItem label="流量同步时间">{{
|
||||
formatDateTime(cardInfo?.last_data_check_at) || '-'
|
||||
}}</ElDescriptionsItem>
|
||||
|
||||
<ElDescriptionsItem label="运营商停机原因" :span="2">
|
||||
<ElDescriptionsItem label="运营商状态" :span="1">
|
||||
<span class="gateway-extend-text">{{ cardInfo?.gateway_extend || '-' }}</span>
|
||||
</ElDescriptionsItem>
|
||||
|
||||
@@ -246,96 +255,117 @@
|
||||
|
||||
<!-- 设备实时信息 -->
|
||||
<ElDivider content-position="left">设备实时信息</ElDivider>
|
||||
<div v-if="deviceRealtime" v-loading="realtimeLoading" style="margin-top: 16px">
|
||||
<div v-if="hasDeviceRealtimeSection" v-loading="realtimeLoading" style="margin-top: 16px">
|
||||
<ElDescriptions :column="4" border>
|
||||
<!-- 基本状态 -->
|
||||
<ElDescriptionsItem label="在线状态">
|
||||
<ElTag :type="deviceRealtime.online_status === 1 ? 'success' : 'danger'" size="small">
|
||||
{{ deviceRealtime.online_status === 1 ? '在线' : '离线' }}
|
||||
<ElTag :type="getOnlineStatusType(deviceRealtime?.online_status)" size="small">
|
||||
{{ getOnlineStatusName(deviceRealtime?.online_status) }}
|
||||
</ElTag>
|
||||
</ElDescriptionsItem>
|
||||
<ElDescriptionsItem label="电量">
|
||||
{{
|
||||
deviceRealtime.battery_level !== null && deviceRealtime.battery_level !== undefined
|
||||
? `${deviceRealtime.battery_level}%`
|
||||
deviceRealtime?.battery_level !== null && deviceRealtime?.battery_level !== undefined
|
||||
? `${deviceRealtime?.battery_level}%`
|
||||
: '-'
|
||||
}}
|
||||
</ElDescriptionsItem>
|
||||
|
||||
<!-- 时间信息 -->
|
||||
<ElDescriptionsItem label="本次开机时长">
|
||||
{{ formatDuration(deviceRealtime.run_time) }}
|
||||
{{ formatDuration(deviceRealtime?.run_time) }}
|
||||
</ElDescriptionsItem>
|
||||
<ElDescriptionsItem label="本次联网时长">
|
||||
{{ formatDuration(deviceRealtime.connect_time) }}
|
||||
{{ formatDuration(deviceRealtime?.connect_time) }}
|
||||
</ElDescriptionsItem>
|
||||
<ElDescriptionsItem label="最后在线时间">
|
||||
{{ formatDateTime(deviceRealtime.last_online_time) || '-' }}
|
||||
{{ formatDateTime(deviceRealtime?.last_online_time) || '-' }}
|
||||
</ElDescriptionsItem>
|
||||
<ElDescriptionsItem label="实名同步时间">
|
||||
{{ formatDateTime(cardInfo?.last_real_name_check_at) || '-' }}
|
||||
</ElDescriptionsItem>
|
||||
<ElDescriptionsItem label="卡状态同步时间">
|
||||
{{ formatDateTime(cardInfo?.last_card_status_check_at) || '-' }}
|
||||
</ElDescriptionsItem>
|
||||
<ElDescriptionsItem label="流量同步时间">
|
||||
{{ formatDateTime(cardInfo?.last_data_check_at) || '-' }}
|
||||
</ElDescriptionsItem>
|
||||
|
||||
<!-- 信号信息 -->
|
||||
<ElDescriptionsItem label="信号综合判断">
|
||||
<ElTag :type="getSignalQualityType(deviceRealtime.signal_quality)" size="small">
|
||||
{{ getSignalQualityText(deviceRealtime.signal_quality) }}
|
||||
<ElTag :type="getSignalQualityType(deviceRealtime?.signal_quality)" size="small">
|
||||
{{ getSignalQualityText(deviceRealtime?.signal_quality) }}
|
||||
</ElTag>
|
||||
</ElDescriptionsItem>
|
||||
<ElDescriptionsItem label="信号较弱原因" :span="3">
|
||||
{{ getSignalBadReasonText(deviceRealtime.signal_bad_reason) }}
|
||||
{{ getSignalBadReasonText(deviceRealtime?.signal_bad_reason) }}
|
||||
</ElDescriptionsItem>
|
||||
<ElDescriptionsItem label="已连接设备数">
|
||||
{{ deviceRealtime.client_number ?? '-' }} / {{ deviceRealtime.max_clients ?? '-' }}
|
||||
{{ deviceRealtime?.client_number ?? '-' }} / {{ deviceRealtime?.max_clients ?? '-' }}
|
||||
</ElDescriptionsItem>
|
||||
|
||||
<!-- WiFi 信息 -->
|
||||
<ElDescriptionsItem label="WiFi 状态">
|
||||
<ElTag :type="deviceRealtime.wifi_enabled ? 'success' : 'info'" size="small">
|
||||
{{ deviceRealtime.wifi_enabled ? '已开启' : '已关闭' }}
|
||||
<ElTag :type="deviceRealtime?.wifi_enabled ? 'success' : 'info'" size="small">
|
||||
{{
|
||||
deviceRealtime?.wifi_enabled === undefined
|
||||
? '-'
|
||||
: deviceRealtime.wifi_enabled
|
||||
? '已开启'
|
||||
: '已关闭'
|
||||
}}
|
||||
</ElTag>
|
||||
</ElDescriptionsItem>
|
||||
<ElDescriptionsItem label="WiFi 名称">
|
||||
{{ deviceRealtime.ssid || '-' }}
|
||||
{{ deviceRealtime?.ssid || '-' }}
|
||||
</ElDescriptionsItem>
|
||||
<ElDescriptionsItem label="WiFi 密码">
|
||||
{{ deviceRealtime.wifi_password || '-' }}
|
||||
{{ deviceRealtime?.wifi_password || '-' }}
|
||||
</ElDescriptionsItem>
|
||||
|
||||
<!-- 网络信息 -->
|
||||
<ElDescriptionsItem label="WAN IP">
|
||||
{{ deviceRealtime.wan_ip || '-' }}
|
||||
{{ deviceRealtime?.wan_ip || '-' }}
|
||||
</ElDescriptionsItem>
|
||||
<ElDescriptionsItem label="LAN IP">
|
||||
{{ deviceRealtime.lan_ip || '-' }}
|
||||
{{ deviceRealtime?.lan_ip || '-' }}
|
||||
</ElDescriptionsItem>
|
||||
|
||||
<ElDescriptionsItem label="MAC 地址">
|
||||
{{ deviceRealtime.mac_address || '-' }}
|
||||
{{ deviceRealtime?.mac_address || '-' }}
|
||||
</ElDescriptionsItem>
|
||||
<ElDescriptionsItem label="IMSI">
|
||||
{{ deviceRealtime.imsi || '-' }}
|
||||
{{ deviceRealtime?.imsi || '-' }}
|
||||
</ElDescriptionsItem>
|
||||
|
||||
<!-- 设备配置 -->
|
||||
<ElDescriptionsItem label="限速">
|
||||
{{ deviceRealtime.limit_speed ? `${deviceRealtime.limit_speed} KB/s` : '不限速' }}
|
||||
{{
|
||||
deviceRealtime?.limit_speed === undefined
|
||||
? '-'
|
||||
: deviceRealtime.limit_speed
|
||||
? `${deviceRealtime.limit_speed} KB/s`
|
||||
: '不限速'
|
||||
}}
|
||||
</ElDescriptionsItem>
|
||||
<ElDescriptionsItem label="固件版本">
|
||||
{{ deviceRealtime.software_version || '-' }}
|
||||
{{ deviceRealtime?.software_version || '-' }}
|
||||
</ElDescriptionsItem>
|
||||
<ElDescriptionsItem label="切卡模式">
|
||||
{{
|
||||
deviceRealtime.switch_mode === '0'
|
||||
deviceRealtime?.switch_mode === '0'
|
||||
? '自动'
|
||||
: deviceRealtime.switch_mode === '1'
|
||||
: deviceRealtime?.switch_mode === '1'
|
||||
? '手动'
|
||||
: '-'
|
||||
}}
|
||||
</ElDescriptionsItem>
|
||||
|
||||
<ElDescriptionsItem label="上报周期">
|
||||
{{ deviceRealtime.sync_interval ? `${deviceRealtime.sync_interval} 秒` : '-' }}
|
||||
{{ deviceRealtime?.sync_interval ? `${deviceRealtime.sync_interval} 秒` : '-' }}
|
||||
</ElDescriptionsItem>
|
||||
<ElDescriptionsItem label="信息更新时间">
|
||||
{{ formatDateTime(deviceRealtime.last_update_time) || '-' }}
|
||||
{{ formatDateTime(deviceRealtime?.last_update_time) || '-' }}
|
||||
</ElDescriptionsItem>
|
||||
</ElDescriptions>
|
||||
</div>
|
||||
@@ -451,6 +481,9 @@
|
||||
real_name_at?: string
|
||||
realname_policy?: string
|
||||
gateway_extend?: string
|
||||
last_data_check_at?: string | null
|
||||
last_real_name_check_at?: string | null
|
||||
last_card_status_check_at?: string | null
|
||||
}
|
||||
|
||||
interface AssetInfo {
|
||||
@@ -477,6 +510,10 @@
|
||||
real_name_at?: string
|
||||
supplier?: string
|
||||
gateway_extend?: string
|
||||
last_sync_time?: string | null
|
||||
last_data_check_at?: string | null
|
||||
last_real_name_check_at?: string | null
|
||||
last_card_status_check_at?: string | null
|
||||
bound_device_id?: number
|
||||
bound_device_no?: string
|
||||
bound_device_name?: string
|
||||
@@ -496,13 +533,13 @@
|
||||
battery_level?: number | null
|
||||
run_time?: string
|
||||
connect_time?: string
|
||||
last_online_time?: string
|
||||
last_online_time?: string | null
|
||||
client_number?: number
|
||||
max_clients?: number
|
||||
current_iccid?: string
|
||||
signal_quality?: string
|
||||
signal_bad_reason?: string
|
||||
wifi_enabled?: boolean
|
||||
wifi_enabled?: boolean | number
|
||||
ssid?: string
|
||||
wifi_password?: string
|
||||
ip_address?: string
|
||||
@@ -516,8 +553,8 @@
|
||||
switch_mode?: string
|
||||
sync_interval?: number
|
||||
device_id?: string
|
||||
last_sync_time?: string
|
||||
last_update_time?: string
|
||||
last_sync_time?: string | null
|
||||
last_update_time?: string | null
|
||||
}
|
||||
|
||||
interface Props {
|
||||
@@ -610,6 +647,14 @@
|
||||
return props.cardInfo.cards.find((card: BindingCard) => card.is_current) || null
|
||||
})
|
||||
|
||||
const hasDeviceRealtimeSection = computed(
|
||||
() =>
|
||||
Boolean(props.deviceRealtime) ||
|
||||
props.cardInfo?.last_data_check_at !== undefined ||
|
||||
props.cardInfo?.last_real_name_check_at !== undefined ||
|
||||
props.cardInfo?.last_card_status_check_at !== undefined
|
||||
)
|
||||
|
||||
// 处理轮询开关变化
|
||||
const handlePollingChange = (value: string | number | boolean) => {
|
||||
emit('update:pollingEnabled', Boolean(value))
|
||||
|
||||
Reference in New Issue
Block a user