This commit is contained in:
8
src/types/components.d.ts
vendored
8
src/types/components.d.ts
vendored
@@ -86,10 +86,8 @@ declare module 'vue' {
|
||||
ElAlert: typeof import('element-plus/es')['ElAlert']
|
||||
ElAvatar: typeof import('element-plus/es')['ElAvatar']
|
||||
ElButton: typeof import('element-plus/es')['ElButton']
|
||||
ElCalendar: typeof import('element-plus/es')['ElCalendar']
|
||||
ElCard: typeof import('element-plus/es')['ElCard']
|
||||
ElCascader: typeof import('element-plus/es')['ElCascader']
|
||||
ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
|
||||
ElCol: typeof import('element-plus/es')['ElCol']
|
||||
ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
|
||||
ElDatePicker: typeof import('element-plus/es')['ElDatePicker']
|
||||
@@ -112,9 +110,7 @@ declare module 'vue' {
|
||||
ElOption: typeof import('element-plus/es')['ElOption']
|
||||
ElPagination: typeof import('element-plus/es')['ElPagination']
|
||||
ElPopover: typeof import('element-plus/es')['ElPopover']
|
||||
ElProgress: typeof import('element-plus/es')['ElProgress']
|
||||
ElRadio: typeof import('element-plus/es')['ElRadio']
|
||||
ElRadioButton: typeof import('element-plus/es')['ElRadioButton']
|
||||
ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
|
||||
ElRow: typeof import('element-plus/es')['ElRow']
|
||||
ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
|
||||
@@ -123,11 +119,7 @@ declare module 'vue' {
|
||||
ElSwitch: typeof import('element-plus/es')['ElSwitch']
|
||||
ElTable: typeof import('element-plus/es')['ElTable']
|
||||
ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
|
||||
ElTabPane: typeof import('element-plus/es')['ElTabPane']
|
||||
ElTabs: typeof import('element-plus/es')['ElTabs']
|
||||
ElTag: typeof import('element-plus/es')['ElTag']
|
||||
ElTimeline: typeof import('element-plus/es')['ElTimeline']
|
||||
ElTimelineItem: typeof import('element-plus/es')['ElTimelineItem']
|
||||
ElTooltip: typeof import('element-plus/es')['ElTooltip']
|
||||
ElTreeSelect: typeof import('element-plus/es')['ElTreeSelect']
|
||||
ElUpload: typeof import('element-plus/es')['ElUpload']
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
<template v-if="isAdminOrPlatform">
|
||||
<div class="flow-stats-container">
|
||||
<!-- 真流量 -->
|
||||
<div v-if="canViewCurrentPackageRealUsage" class="flow-stat-section">
|
||||
<div v-if="canShowCurrentPackageRealUsage" class="flow-stat-section">
|
||||
<div class="flow-stat-label">真流量使用</div>
|
||||
<div class="flow-stat-row">
|
||||
<span class="stat-item">
|
||||
@@ -303,13 +303,17 @@
|
||||
const canViewCurrentPackageVirtualUsage = computed(() =>
|
||||
hasAuth('asset_info:view_current_package_virtual_usage')
|
||||
)
|
||||
const canShowCurrentPackageRealUsage = computed(
|
||||
() =>
|
||||
canViewCurrentPackageRealUsage.value || props.currentPackage?.enable_virtual_data === false
|
||||
)
|
||||
const canShowCurrentPackageVirtualUsage = computed(
|
||||
() =>
|
||||
canViewCurrentPackageVirtualUsage.value && props.currentPackage?.enable_virtual_data !== false
|
||||
)
|
||||
const shouldShowTrafficCard = computed(() => {
|
||||
if (!isAdminOrPlatform.value) return true
|
||||
return canViewCurrentPackageRealUsage.value || canShowCurrentPackageVirtualUsage.value
|
||||
return canShowCurrentPackageRealUsage.value || canShowCurrentPackageVirtualUsage.value
|
||||
})
|
||||
|
||||
const descriptionsColumn = computed(() => {
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
<template #default="scope">
|
||||
<div class="traffic-progress">
|
||||
<template v-if="isAdminOrPlatform && shouldShowAdminTrafficBreakdown(scope.row)">
|
||||
<div v-if="canViewCurrentPackageRealUsage" class="progress-text">
|
||||
<div v-if="canShowPackageRealUsage(scope.row)" class="progress-text">
|
||||
<span class="used"
|
||||
>已使用真流量: {{ formatDataSize(scope.row.real_used_mb || 0) }}</span
|
||||
>
|
||||
@@ -88,7 +88,7 @@
|
||||
>停机阈值: {{ formatDataSize(scope.row.virtual_total_mb || 0) }}</span
|
||||
>
|
||||
</div>
|
||||
<div v-if="canViewCurrentPackageRealUsage" class="progress-wrapper">
|
||||
<div v-if="canShowPackageRealUsage(scope.row)" class="progress-wrapper">
|
||||
<div class="progress-track">
|
||||
<ElProgress
|
||||
style="margin-top: 4px"
|
||||
@@ -123,7 +123,7 @@
|
||||
<div
|
||||
v-if="canShowPackageVirtualUsage(scope.row)"
|
||||
class="progress-text"
|
||||
:style="{ marginTop: canViewCurrentPackageRealUsage ? '8px' : '0' }"
|
||||
:style="{ marginTop: canShowPackageRealUsage(scope.row) ? '8px' : '0' }"
|
||||
>
|
||||
<span class="used"
|
||||
>已使用流量: {{ formatDataSize(scope.row.virtual_used_mb || 0) }}</span
|
||||
@@ -300,12 +300,7 @@
|
||||
width="30%"
|
||||
@closed="resetUsedDataForm"
|
||||
>
|
||||
<ElForm
|
||||
ref="usedDataFormRef"
|
||||
:model="usedDataForm"
|
||||
:rules="usedDataRules"
|
||||
label-width="90px"
|
||||
>
|
||||
<ElForm ref="usedDataFormRef" :model="usedDataForm" :rules="usedDataRules" label-width="90px">
|
||||
<ElFormItem label="套餐名称">
|
||||
<span>{{ selectedPackage?.package_name || '-' }}</span>
|
||||
</ElFormItem>
|
||||
@@ -595,12 +590,15 @@
|
||||
// Props 使用 API 类型
|
||||
type PackageInfo = AssetPackageUsageRecord
|
||||
|
||||
const canShowPackageRealUsage = (pkg: PackageInfo) =>
|
||||
canViewCurrentPackageRealUsage.value || pkg.enable_virtual_data === false
|
||||
|
||||
const canShowPackageVirtualUsage = (pkg: PackageInfo) =>
|
||||
canViewCurrentPackageVirtualUsage.value && pkg.enable_virtual_data !== false
|
||||
|
||||
const shouldShowAdminTrafficBreakdown = (pkg: PackageInfo) => {
|
||||
if (!isAdminOrPlatform.value) return true
|
||||
return canViewCurrentPackageRealUsage.value || canShowPackageVirtualUsage(pkg)
|
||||
return canShowPackageRealUsage(pkg) || canShowPackageVirtualUsage(pkg)
|
||||
}
|
||||
|
||||
interface Props {
|
||||
|
||||
Reference in New Issue
Block a user