admin后台 第一阶段目录优化

This commit is contained in:
yml2213
2026-05-15 14:12:38 +08:00
parent 34b71decf1
commit 11678a7f83
35 changed files with 41 additions and 46 deletions
-5
View File
@@ -12,11 +12,6 @@ export {}
declare module 'vue' {
export interface GlobalComponents {
AdminPageHeader: typeof import('./components/admin/AdminPageHeader.vue')['default']
AdminPlatformAgisoSection: typeof import('./components/admin/AdminPlatformAgisoSection.vue')['default']
AdminPlatformCloudtentaclesSection: typeof import('./components/admin/AdminPlatformCloudtentaclesSection.vue')['default']
AdminPlatformKuaishouEticketSection: typeof import('./components/admin/AdminPlatformKuaishouEticketSection.vue')['default']
AdminPlatformNinetyoneSection: typeof import('./components/admin/AdminPlatformNinetyoneSection.vue')['default']
AdminPlatformNotificationSection: typeof import('./components/admin/AdminPlatformNotificationSection.vue')['default']
AdminResultCard: typeof import('./components/admin/AdminResultCard.vue')['default']
AdminStatusTag: typeof import('./components/admin/AdminStatusTag.vue')['default']
ElAlert: typeof import('element-plus/es')['ElAlert']
+16 -16
View File
@@ -26,11 +26,11 @@ const router = createRouter({
},
{
path: '/admin/login',
component: () => import('@/views/admin/AdminLoginView.vue'),
component: () => import('@/views/admin/auth/AdminLoginView.vue'),
},
{
path: '/admin',
component: () => import('@/views/admin/AdminLayout.vue'),
component: () => import('@/views/admin/layout/AdminLayout.vue'),
children: [
{
path: '',
@@ -38,32 +38,32 @@ const router = createRouter({
},
{
path: 'dashboard',
component: () => import('@/views/admin/AdminDashboardView.vue'),
component: () => import('@/views/admin/dashboard/AdminDashboardView.vue'),
},
{
path: 'users',
meta: { allowedRoles: ['admin'] },
component: () => import('@/views/admin/AdminUsersView.vue'),
component: () => import('@/views/admin/users/AdminUsersView.vue'),
},
{
path: 'orders',
component: () => import('@/views/admin/AdminOrdersView.vue'),
component: () => import('@/views/admin/orders/AdminOrdersView.vue'),
},
{
path: 'orders/:orderId',
component: () => import('@/views/admin/AdminOrderDetailView.vue'),
component: () => import('@/views/admin/orders/AdminOrderDetailView.vue'),
},
{
path: 'tasks',
component: () => import('@/views/admin/AdminTasksView.vue'),
component: () => import('@/views/admin/tasks/AdminTasksView.vue'),
},
{
path: 'manual-redeem',
component: () => import('@/views/admin/AdminManualRedeemView.vue'),
component: () => import('@/views/admin/manual-redeem/AdminManualRedeemView.vue'),
},
{
path: 'tasks/:taskId',
component: () => import('@/views/admin/AdminTaskDetailView.vue'),
component: () => import('@/views/admin/tasks/AdminTaskDetailView.vue'),
},
{
path: 'cdks',
@@ -72,26 +72,26 @@ const router = createRouter({
{
path: 'inventory',
meta: { allowedRoles: ['admin', 'operator'] },
component: () => import('@/views/admin/AdminInventoryView.vue'),
component: () => import('@/views/admin/inventory/AdminInventoryView.vue'),
},
{
path: 'message-deliveries',
component: () => import('@/views/admin/AdminMessageDeliveriesView.vue'),
component: () => import('@/views/admin/message-deliveries/AdminMessageDeliveriesView.vue'),
},
{
path: 'webhook-events',
meta: { allowedRoles: ['admin', 'operator'] },
component: () => import('@/views/admin/AdminWebhookEventsView.vue'),
component: () => import('@/views/admin/webhook-events/AdminWebhookEventsView.vue'),
},
{
path: 'platform-shops',
meta: { allowedRoles: ['admin'] },
component: () => import('@/views/admin/AdminPlatformShopsView.vue'),
component: () => import('@/views/admin/platform-shops/AdminPlatformShopsView.vue'),
},
{
path: 'platform-fulfillment',
meta: { allowedRoles: ['admin'] },
component: () => import('@/views/admin/AdminFulfillmentConfigHubView.vue'),
component: () => import('@/views/admin/fulfillment/AdminFulfillmentConfigHubView.vue'),
},
{
path: 'platform-kuaishou-cloud-fulfillment',
@@ -101,12 +101,12 @@ const router = createRouter({
{
path: 'webhook-events/:eventId',
meta: { allowedRoles: ['admin', 'operator'] },
component: () => import('@/views/admin/AdminWebhookEventDetailView.vue'),
component: () => import('@/views/admin/webhook-events/AdminWebhookEventDetailView.vue'),
},
{
path: 'audit-logs',
meta: { allowedRoles: ['admin'] },
component: () => import('@/views/admin/AdminAuditLogsView.vue'),
component: () => import('@/views/admin/audit-logs/AdminAuditLogsView.vue'),
},
],
},
@@ -170,7 +170,7 @@ onMounted(loadAuditLogs)
</template>
<style scoped>
@import '../../styles/admin-list-pages.css';
@import '../../../styles/admin-list-pages.css';
.total-label {
color: var(--text-secondary);
@@ -1,4 +1,4 @@
@import '../../styles/admin-config-pages.css';
@import '../../../styles/admin-config-pages.css';
/* ============================================================
AdminFulfillmentBindings 绿色主题覆盖 & 页面特有样式
@@ -2,8 +2,8 @@
import { computed } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import AdminFulfillmentBindingsView from '@/views/admin/AdminFulfillmentBindingsView.vue'
import AdminKuaishouCloudFulfillmentView from '@/views/admin/AdminKuaishouCloudFulfillmentView.vue'
import AdminFulfillmentBindingsView from './AdminFulfillmentBindingsView.vue'
import AdminKuaishouCloudFulfillmentView from './AdminKuaishouCloudFulfillmentView.vue'
type FulfillmentTabKey = 'legacy' | 'kuaishou-cloud'
@@ -1,4 +1,4 @@
@import '../../styles/admin-config-pages.css';
@import '../../../styles/admin-config-pages.css';
.admin-panel {
--panel-ink: var(--text-primary);
@@ -1,4 +1,4 @@
@import '../../styles/admin-list-pages.css';
@import '../../../styles/admin-list-pages.css';
.form-grid {
display: grid;
@@ -195,7 +195,7 @@ onMounted(loadMessageDeliveries)
</template>
<style scoped>
@import '../../styles/admin-list-pages.css';
@import '../../../styles/admin-list-pages.css';
.filter-grid {
grid-template-columns: repeat(4, minmax(0, 1fr));
@@ -244,7 +244,7 @@ onMounted(loadOrders)
</template>
<style scoped>
@import '../../styles/admin-list-pages.css';
@import '../../../styles/admin-list-pages.css';
.filter-grid {
grid-template-columns: minmax(200px, 1fr) minmax(130px, 0.6fr) minmax(180px, 0.9fr) minmax(320px, 1.4fr) minmax(150px, 0.55fr);
@@ -3,17 +3,6 @@ import { onMounted, ref } from 'vue'
import { RefreshRight } from '@element-plus/icons-vue'
import AdminPageHeader from '@/components/admin/AdminPageHeader.vue'
import AdminPlatformAgisoSection from '@/components/admin/AdminPlatformAgisoSection.vue'
import AdminPlatformCloudtentaclesSection from '@/components/admin/AdminPlatformCloudtentaclesSection.vue'
import AdminPlatformNinetyoneSection from '@/components/admin/AdminPlatformNinetyoneSection.vue'
import AdminPlatformNotificationSection from '@/components/admin/AdminPlatformNotificationSection.vue'
import AdminPlatformKuaishouEticketSection from '@/components/admin/AdminPlatformKuaishouEticketSection.vue'
import { useAdminAgisoPlatform } from '@/composables/admin/platform-shops/useAdminAgisoPlatform'
import { useAdminCloudtentaclesPlatform } from '@/composables/admin/platform-shops/useAdminCloudtentaclesPlatform'
import { useAdminNinetyonePlatform } from '@/composables/admin/platform-shops/useAdminNinetyonePlatform'
import { useAdminNotificationPlatform } from '@/composables/admin/platform-shops/useAdminNotificationPlatform'
import { useAdminKuaishouEticketPlatform } from '@/composables/admin/platform-shops/useAdminKuaishouEticketPlatform'
import type { PlatformTab } from '@/composables/admin/platform-shops/types'
import {
fetchAdminAgisoShopConfigs,
fetchAdminCloudtentaclesSourceConfig,
@@ -22,6 +11,17 @@ import {
fetchAdminScheduledJobsConfig,
} from '@/services/admin'
import { hasAdminRole } from '@/utils/admin-auth'
import AdminPlatformAgisoSection from './components/AdminPlatformAgisoSection.vue'
import AdminPlatformCloudtentaclesSection from './components/AdminPlatformCloudtentaclesSection.vue'
import AdminPlatformNinetyoneSection from './components/AdminPlatformNinetyoneSection.vue'
import AdminPlatformNotificationSection from './components/AdminPlatformNotificationSection.vue'
import AdminPlatformKuaishouEticketSection from './components/AdminPlatformKuaishouEticketSection.vue'
import { useAdminAgisoPlatform } from './composables/useAdminAgisoPlatform'
import { useAdminCloudtentaclesPlatform } from './composables/useAdminCloudtentaclesPlatform'
import { useAdminNinetyonePlatform } from './composables/useAdminNinetyonePlatform'
import { useAdminNotificationPlatform } from './composables/useAdminNotificationPlatform'
import { useAdminKuaishouEticketPlatform } from './composables/useAdminKuaishouEticketPlatform'
import type { PlatformTab } from './composables/types'
const loading = ref(true)
const isDevMode = import.meta.env.DEV
@@ -2,7 +2,7 @@
import type { AdminAgisoObservedShopItem } from '@/types/admin'
import { formatAdminDateTime } from '@/utils/admin-time'
import type { EditableDefaults, EditableShop } from '@/composables/admin/platform-shops/types'
import type { EditableDefaults, EditableShop } from '../composables/types'
type Props = {
agisoFilePath: string
@@ -1,5 +1,5 @@
<script setup lang="ts">
import type { EditableKuaishouEticketShop } from '@/composables/admin/platform-shops/types'
import type { EditableKuaishouEticketShop } from '../composables/types'
import type {
AdminKuaishouEticketConsumeResult,
AdminKuaishouEticketDetailResult,
@@ -1,7 +1,7 @@
<script setup lang="ts">
import { computed } from 'vue'
import type { AdminNotificationTestResult, AdminScheduledJobRuntimeState } from '@/types/admin'
import type { EditableNotificationRecipient, EditableScheduledJob } from '@/composables/admin/platform-shops/types'
import type { EditableNotificationRecipient, EditableScheduledJob } from '../composables/types'
import { formatAdminDateTime } from '@/utils/admin-time'
type Props = {
@@ -287,7 +287,7 @@ function resetFilters() {
</template>
<style scoped>
@import '../../styles/admin-list-pages.css';
@import '../../../styles/admin-list-pages.css';
.filter-grid {
grid-template-columns: minmax(150px, 0.75fr) minmax(220px, 1fr) minmax(220px, 1fr) minmax(210px, 0.95fr);
@@ -206,7 +206,7 @@ onMounted(loadUsers)
</template>
<style scoped>
@import '../../styles/admin-list-pages.css';
@import '../../../styles/admin-list-pages.css';
.users-tools {
display: grid;
@@ -233,7 +233,7 @@ onMounted(loadEvents)
</template>
<style scoped>
@import '../../styles/admin-list-pages.css';
@import '../../../styles/admin-list-pages.css';
.filter-grid {
grid-template-columns: repeat(4, minmax(0, 1fr));