feat: 代理商注册列表
All checks were successful
构建并部署前端到测试环境 / deploy (push) Successful in 55s

This commit is contained in:
luo
2026-09-21 18:07:36 +08:00
parent c5d7a260d0
commit c136f68ab8
34 changed files with 1112 additions and 142 deletions

View File

@@ -18,7 +18,9 @@
@refresh="handleRefresh"
>
<template #left>
<ElButton type="primary" :loading="exporting" @click="handleExport">导出</ElButton>
<ElButton v-if="canExport" type="primary" :loading="exporting" @click="handleExport">
导出
</ElButton>
<span v-if="snapshotText" class="report-snapshot">{{ snapshotText }}</span>
<ElTag v-if="exportTask" :type="exportStatusType" class="report-export-tag">
{{ exportTask.status_name || '处理中' }}
@@ -50,6 +52,8 @@
import type { ActivationSummaryData, ActivationSummaryItem } from '@/types/api'
import type { SearchFormItem } from '@/types'
import { ACTIVATION_GROUP_OPTIONS, ACTIVATION_METRIC_COLUMNS, formatMetric } from '../constants'
import { useAuth } from '@/composables/useAuth'
import { AUGUST_PERMISSIONS } from '@/config/constants/augustIteration'
defineOptions({ name: 'OperationsActivationReport' })
@@ -80,6 +84,8 @@
const loading = ref(false)
const exporting = ref(false)
const { hasAuth } = useAuth()
const canExport = computed(() => hasAuth(AUGUST_PERMISSIONS.operationsReports.activationExport))
const summary = ref<ActivationSummaryData | null>(null)
const searchFormItems: SearchFormItem[] = [

View File

@@ -18,7 +18,9 @@
@refresh="handleRefresh"
>
<template #left>
<ElButton type="primary" :loading="exporting" @click="handleExport">导出</ElButton>
<ElButton v-if="canExport" type="primary" :loading="exporting" @click="handleExport">
导出
</ElButton>
<span v-if="snapshotText" class="report-snapshot">{{ snapshotText }}</span>
<ElTag v-if="exportTask" :type="exportStatusType" class="report-export-tag">
{{ exportTask.status_name || '处理中' }}
@@ -50,6 +52,8 @@
import type { RenewalSummaryData, RenewalSummaryItem } from '@/types/api'
import type { SearchFormItem } from '@/types'
import { RENEWAL_GROUP_OPTIONS, RENEWAL_METRIC_COLUMNS, formatMetric } from '../constants'
import { useAuth } from '@/composables/useAuth'
import { AUGUST_PERMISSIONS } from '@/config/constants/augustIteration'
defineOptions({ name: 'OperationsRenewalReport' })
@@ -80,6 +84,8 @@
const loading = ref(false)
const exporting = ref(false)
const { hasAuth } = useAuth()
const canExport = computed(() => hasAuth(AUGUST_PERMISSIONS.operationsReports.renewalExport))
const summary = ref<RenewalSummaryData | null>(null)
const searchFormItems: SearchFormItem[] = [