admin后台 第一阶段目录优化
This commit is contained in:
Vendored
-5
@@ -12,11 +12,6 @@ export {}
|
|||||||
declare module 'vue' {
|
declare module 'vue' {
|
||||||
export interface GlobalComponents {
|
export interface GlobalComponents {
|
||||||
AdminPageHeader: typeof import('./components/admin/AdminPageHeader.vue')['default']
|
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']
|
AdminResultCard: typeof import('./components/admin/AdminResultCard.vue')['default']
|
||||||
AdminStatusTag: typeof import('./components/admin/AdminStatusTag.vue')['default']
|
AdminStatusTag: typeof import('./components/admin/AdminStatusTag.vue')['default']
|
||||||
ElAlert: typeof import('element-plus/es')['ElAlert']
|
ElAlert: typeof import('element-plus/es')['ElAlert']
|
||||||
|
|||||||
@@ -26,11 +26,11 @@ const router = createRouter({
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/admin/login',
|
path: '/admin/login',
|
||||||
component: () => import('@/views/admin/AdminLoginView.vue'),
|
component: () => import('@/views/admin/auth/AdminLoginView.vue'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/admin',
|
path: '/admin',
|
||||||
component: () => import('@/views/admin/AdminLayout.vue'),
|
component: () => import('@/views/admin/layout/AdminLayout.vue'),
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: '',
|
path: '',
|
||||||
@@ -38,32 +38,32 @@ const router = createRouter({
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'dashboard',
|
path: 'dashboard',
|
||||||
component: () => import('@/views/admin/AdminDashboardView.vue'),
|
component: () => import('@/views/admin/dashboard/AdminDashboardView.vue'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'users',
|
path: 'users',
|
||||||
meta: { allowedRoles: ['admin'] },
|
meta: { allowedRoles: ['admin'] },
|
||||||
component: () => import('@/views/admin/AdminUsersView.vue'),
|
component: () => import('@/views/admin/users/AdminUsersView.vue'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'orders',
|
path: 'orders',
|
||||||
component: () => import('@/views/admin/AdminOrdersView.vue'),
|
component: () => import('@/views/admin/orders/AdminOrdersView.vue'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'orders/:orderId',
|
path: 'orders/:orderId',
|
||||||
component: () => import('@/views/admin/AdminOrderDetailView.vue'),
|
component: () => import('@/views/admin/orders/AdminOrderDetailView.vue'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'tasks',
|
path: 'tasks',
|
||||||
component: () => import('@/views/admin/AdminTasksView.vue'),
|
component: () => import('@/views/admin/tasks/AdminTasksView.vue'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'manual-redeem',
|
path: 'manual-redeem',
|
||||||
component: () => import('@/views/admin/AdminManualRedeemView.vue'),
|
component: () => import('@/views/admin/manual-redeem/AdminManualRedeemView.vue'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'tasks/:taskId',
|
path: 'tasks/:taskId',
|
||||||
component: () => import('@/views/admin/AdminTaskDetailView.vue'),
|
component: () => import('@/views/admin/tasks/AdminTaskDetailView.vue'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'cdks',
|
path: 'cdks',
|
||||||
@@ -72,26 +72,26 @@ const router = createRouter({
|
|||||||
{
|
{
|
||||||
path: 'inventory',
|
path: 'inventory',
|
||||||
meta: { allowedRoles: ['admin', 'operator'] },
|
meta: { allowedRoles: ['admin', 'operator'] },
|
||||||
component: () => import('@/views/admin/AdminInventoryView.vue'),
|
component: () => import('@/views/admin/inventory/AdminInventoryView.vue'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'message-deliveries',
|
path: 'message-deliveries',
|
||||||
component: () => import('@/views/admin/AdminMessageDeliveriesView.vue'),
|
component: () => import('@/views/admin/message-deliveries/AdminMessageDeliveriesView.vue'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'webhook-events',
|
path: 'webhook-events',
|
||||||
meta: { allowedRoles: ['admin', 'operator'] },
|
meta: { allowedRoles: ['admin', 'operator'] },
|
||||||
component: () => import('@/views/admin/AdminWebhookEventsView.vue'),
|
component: () => import('@/views/admin/webhook-events/AdminWebhookEventsView.vue'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'platform-shops',
|
path: 'platform-shops',
|
||||||
meta: { allowedRoles: ['admin'] },
|
meta: { allowedRoles: ['admin'] },
|
||||||
component: () => import('@/views/admin/AdminPlatformShopsView.vue'),
|
component: () => import('@/views/admin/platform-shops/AdminPlatformShopsView.vue'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'platform-fulfillment',
|
path: 'platform-fulfillment',
|
||||||
meta: { allowedRoles: ['admin'] },
|
meta: { allowedRoles: ['admin'] },
|
||||||
component: () => import('@/views/admin/AdminFulfillmentConfigHubView.vue'),
|
component: () => import('@/views/admin/fulfillment/AdminFulfillmentConfigHubView.vue'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'platform-kuaishou-cloud-fulfillment',
|
path: 'platform-kuaishou-cloud-fulfillment',
|
||||||
@@ -101,12 +101,12 @@ const router = createRouter({
|
|||||||
{
|
{
|
||||||
path: 'webhook-events/:eventId',
|
path: 'webhook-events/:eventId',
|
||||||
meta: { allowedRoles: ['admin', 'operator'] },
|
meta: { allowedRoles: ['admin', 'operator'] },
|
||||||
component: () => import('@/views/admin/AdminWebhookEventDetailView.vue'),
|
component: () => import('@/views/admin/webhook-events/AdminWebhookEventDetailView.vue'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'audit-logs',
|
path: 'audit-logs',
|
||||||
meta: { allowedRoles: ['admin'] },
|
meta: { allowedRoles: ['admin'] },
|
||||||
component: () => import('@/views/admin/AdminAuditLogsView.vue'),
|
component: () => import('@/views/admin/audit-logs/AdminAuditLogsView.vue'),
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+1
-1
@@ -170,7 +170,7 @@ onMounted(loadAuditLogs)
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
@import '../../styles/admin-list-pages.css';
|
@import '../../../styles/admin-list-pages.css';
|
||||||
|
|
||||||
.total-label {
|
.total-label {
|
||||||
color: var(--text-secondary);
|
color: var(--text-secondary);
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
@import '../../styles/admin-config-pages.css';
|
@import '../../../styles/admin-config-pages.css';
|
||||||
|
|
||||||
/* ============================================================
|
/* ============================================================
|
||||||
AdminFulfillmentBindings — 绿色主题覆盖 & 页面特有样式
|
AdminFulfillmentBindings — 绿色主题覆盖 & 页面特有样式
|
||||||
+2
-2
@@ -2,8 +2,8 @@
|
|||||||
import { computed } from 'vue'
|
import { computed } from 'vue'
|
||||||
import { useRoute, useRouter } from 'vue-router'
|
import { useRoute, useRouter } from 'vue-router'
|
||||||
|
|
||||||
import AdminFulfillmentBindingsView from '@/views/admin/AdminFulfillmentBindingsView.vue'
|
import AdminFulfillmentBindingsView from './AdminFulfillmentBindingsView.vue'
|
||||||
import AdminKuaishouCloudFulfillmentView from '@/views/admin/AdminKuaishouCloudFulfillmentView.vue'
|
import AdminKuaishouCloudFulfillmentView from './AdminKuaishouCloudFulfillmentView.vue'
|
||||||
|
|
||||||
type FulfillmentTabKey = 'legacy' | 'kuaishou-cloud'
|
type FulfillmentTabKey = 'legacy' | 'kuaishou-cloud'
|
||||||
|
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
@import '../../styles/admin-config-pages.css';
|
@import '../../../styles/admin-config-pages.css';
|
||||||
|
|
||||||
.admin-panel {
|
.admin-panel {
|
||||||
--panel-ink: var(--text-primary);
|
--panel-ink: var(--text-primary);
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
@import '../../styles/admin-list-pages.css';
|
@import '../../../styles/admin-list-pages.css';
|
||||||
|
|
||||||
.form-grid {
|
.form-grid {
|
||||||
display: grid;
|
display: grid;
|
||||||
+1
-1
@@ -195,7 +195,7 @@ onMounted(loadMessageDeliveries)
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
@import '../../styles/admin-list-pages.css';
|
@import '../../../styles/admin-list-pages.css';
|
||||||
|
|
||||||
.filter-grid {
|
.filter-grid {
|
||||||
grid-template-columns: repeat(4, minmax(0, 1fr));
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||||||
+1
-1
@@ -244,7 +244,7 @@ onMounted(loadOrders)
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
@import '../../styles/admin-list-pages.css';
|
@import '../../../styles/admin-list-pages.css';
|
||||||
|
|
||||||
.filter-grid {
|
.filter-grid {
|
||||||
grid-template-columns: minmax(200px, 1fr) minmax(130px, 0.6fr) minmax(180px, 0.9fr) minmax(320px, 1.4fr) minmax(150px, 0.55fr);
|
grid-template-columns: minmax(200px, 1fr) minmax(130px, 0.6fr) minmax(180px, 0.9fr) minmax(320px, 1.4fr) minmax(150px, 0.55fr);
|
||||||
+11
-11
@@ -3,17 +3,6 @@ import { onMounted, ref } from 'vue'
|
|||||||
import { RefreshRight } from '@element-plus/icons-vue'
|
import { RefreshRight } from '@element-plus/icons-vue'
|
||||||
|
|
||||||
import AdminPageHeader from '@/components/admin/AdminPageHeader.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 {
|
import {
|
||||||
fetchAdminAgisoShopConfigs,
|
fetchAdminAgisoShopConfigs,
|
||||||
fetchAdminCloudtentaclesSourceConfig,
|
fetchAdminCloudtentaclesSourceConfig,
|
||||||
@@ -22,6 +11,17 @@ import {
|
|||||||
fetchAdminScheduledJobsConfig,
|
fetchAdminScheduledJobsConfig,
|
||||||
} from '@/services/admin'
|
} from '@/services/admin'
|
||||||
import { hasAdminRole } from '@/utils/admin-auth'
|
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 loading = ref(true)
|
||||||
const isDevMode = import.meta.env.DEV
|
const isDevMode = import.meta.env.DEV
|
||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
import type { AdminAgisoObservedShopItem } from '@/types/admin'
|
import type { AdminAgisoObservedShopItem } from '@/types/admin'
|
||||||
import { formatAdminDateTime } from '@/utils/admin-time'
|
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 = {
|
type Props = {
|
||||||
agisoFilePath: string
|
agisoFilePath: string
|
||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import type { EditableKuaishouEticketShop } from '@/composables/admin/platform-shops/types'
|
import type { EditableKuaishouEticketShop } from '../composables/types'
|
||||||
import type {
|
import type {
|
||||||
AdminKuaishouEticketConsumeResult,
|
AdminKuaishouEticketConsumeResult,
|
||||||
AdminKuaishouEticketDetailResult,
|
AdminKuaishouEticketDetailResult,
|
||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed } from 'vue'
|
import { computed } from 'vue'
|
||||||
import type { AdminNotificationTestResult, AdminScheduledJobRuntimeState } from '@/types/admin'
|
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'
|
import { formatAdminDateTime } from '@/utils/admin-time'
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
+1
-1
@@ -287,7 +287,7 @@ function resetFilters() {
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
@import '../../styles/admin-list-pages.css';
|
@import '../../../styles/admin-list-pages.css';
|
||||||
|
|
||||||
.filter-grid {
|
.filter-grid {
|
||||||
grid-template-columns: minmax(150px, 0.75fr) minmax(220px, 1fr) minmax(220px, 1fr) minmax(210px, 0.95fr);
|
grid-template-columns: minmax(150px, 0.75fr) minmax(220px, 1fr) minmax(220px, 1fr) minmax(210px, 0.95fr);
|
||||||
+1
-1
@@ -206,7 +206,7 @@ onMounted(loadUsers)
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
@import '../../styles/admin-list-pages.css';
|
@import '../../../styles/admin-list-pages.css';
|
||||||
|
|
||||||
.users-tools {
|
.users-tools {
|
||||||
display: grid;
|
display: grid;
|
||||||
+1
-1
@@ -233,7 +233,7 @@ onMounted(loadEvents)
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
@import '../../styles/admin-list-pages.css';
|
@import '../../../styles/admin-list-pages.css';
|
||||||
|
|
||||||
.filter-grid {
|
.filter-grid {
|
||||||
grid-template-columns: repeat(4, minmax(0, 1fr));
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||||||
Reference in New Issue
Block a user