fix: req:bug

This commit is contained in:
sexygoat
2026-04-20 17:51:03 +08:00
parent 11bfcadf65
commit 936a4f0656
6 changed files with 150 additions and 256 deletions

View File

@@ -5,7 +5,7 @@
<ArtSearchBar
v-model:filter="formFilters"
:items="formItems"
label-width="90"
label-width="120"
@reset="handleReset"
@search="handleSearch"
></ArtSearchBar>
@@ -927,7 +927,7 @@
]
},
{
label: '独立卡',
label: '是否绑定设备',
prop: 'is_standalone',
type: 'select',
config: {
@@ -955,6 +955,7 @@
{ label: '激活状态', prop: 'activation_status' },
{ label: '网络状态', prop: 'network_status' },
{ label: '实名状态', prop: 'real_name_status' },
{ label: '实名认证策略', prop: 'realname_policy' },
{ label: '累计流量(MB)', prop: 'data_usage_mb' },
{ label: '创建时间', prop: 'created_at' }
]
@@ -1046,10 +1047,6 @@
return typeMap[status] || 'info'
}
const formatCardPrice = (price: number) => {
return `¥${(price / 100).toFixed(2)}`
}
// 动态列配置
const { columnChecks, columns } = useCheckedColumns(() => [
{
@@ -1151,6 +1148,21 @@
return h(ElTag, { type }, () => text)
}
},
{
prop: 'realname_policy',
label: '实名认证策略',
width: 150,
formatter: (row: StandaloneIotCard) => {
const policy = row.realname_policy || ''
const policyMap: Record<string, string> = {
none: '无需实名',
before_order: '先实名后充值/购买',
after_order: '先充值/购买后实名'
}
const text = policyMap[policy] || (policy ? policy : '未知')
return text
}
},
{
prop: 'data_usage_mb',
label: '累计流量(MB)',
@@ -1711,99 +1723,6 @@
})
}
// 查询流量使用
const showFlowUsageDialog = async (iccid: string) => {
flowUsageDialogVisible.value = true
flowUsageLoading.value = true
flowUsageData.value = null
try {
// 通过 ICCID 解析获取资产信息,resolveAsset 接口已包含所有需要的数据
const res = await AssetService.resolveAsset(iccid)
if (res.code === 0 && res.data) {
// 直接使用 resolveAsset 返回的流量信息
flowUsageData.value = {
totalFlow: res.data.package_total_mb || 0,
usedFlow: res.data.package_used_mb || 0,
remainFlow: res.data.package_remain_mb || 0,
extend: res.data.extend
}
} else {
ElMessage.error(res.msg || '查询失败')
flowUsageDialogVisible.value = false
}
} catch (error: any) {
console.error('查询流量使用失败:', error)
flowUsageDialogVisible.value = false
} finally {
flowUsageLoading.value = false
}
}
// 查询实名认证状态
const showRealnameStatusDialog = async (iccid: string) => {
realnameStatusDialogVisible.value = true
realnameStatusLoading.value = true
realnameStatusData.value = null
try {
// 通过 ICCID 解析获取资产信息,resolveAsset 接口已包含所有需要的数据
const res = await AssetService.resolveAsset(iccid)
if (res.code === 0 && res.data) {
// 直接使用 resolveAsset 返回的实名状态real_name_status: 0未实名 1已实名
let statusText = '未知'
switch (res.data.real_name_status) {
case 0:
statusText = '未实名'
break
case 1:
statusText = '已实名'
break
}
realnameStatusData.value = {
status: statusText,
extend: res.data.extend
}
} else {
ElMessage.error(res.msg || '查询失败')
realnameStatusDialogVisible.value = false
}
} catch (error: any) {
console.error('查询实名状态失败:', error)
realnameStatusDialogVisible.value = false
} finally {
realnameStatusLoading.value = false
}
}
// 查询卡实时状态
const showCardStatusDialog = async (iccid: string) => {
cardStatusDialogVisible.value = true
cardStatusLoading.value = true
cardStatusData.value = null
try {
// 通过 ICCID 解析获取资产信息,resolveAsset 接口已包含所有需要的数据
const res = await AssetService.resolveAsset(iccid)
if (res.code === 0 && res.data) {
// 直接使用 resolveAsset 返回的网络状态
cardStatusData.value = {
iccid: iccid,
cardStatus: res.data.network_status === 1 ? '正常' : '停机',
extend: res.data.extend
}
} else {
ElMessage.error(res.msg || '查询失败')
cardStatusDialogVisible.value = false
}
} catch (error: any) {
console.error('查询卡状态失败:', error)
cardStatusDialogVisible.value = false
} finally {
cardStatusLoading.value = false
}
}
// 启用此卡(复机)
const handleStartCard = (iccid: string) => {
ElMessageBox.confirm('确定要启用该卡片吗?', '确认启用', {