From 6e2b97fc8fef857250a4bd54ee18b5f2e5020263 Mon Sep 17 00:00:00 2001 From: Timi Date: Thu, 10 Sep 2026 14:11:33 +0800 Subject: [PATCH] add CustomerInviteRank.vue --- src/api/CustomerAPI.ts | 3 +- src/pages/customer/CustomerInviteRank.vue | 281 ++++++++++++++++++++++ src/pages/tabs/SettingTab.vue | 6 + src/router/routes/customerRoutes.ts | 15 ++ 4 files changed, 304 insertions(+), 1 deletion(-) create mode 100644 src/pages/customer/CustomerInviteRank.vue diff --git a/src/api/CustomerAPI.ts b/src/api/CustomerAPI.ts index b766b19..2e7e368 100644 --- a/src/api/CustomerAPI.ts +++ b/src/api/CustomerAPI.ts @@ -18,7 +18,8 @@ async function list(page: CustomerPage): Promise> { size: req.size, keyword: page.keyword || page.likesExample?.code || page.likesExample?.name || page.likesExample?.telephone, storeId: page.storeId || req.equalsExample?.storeId, - tagIdList: page.tagIdList || [] + tagIdList: page.tagIdList || [], + orderMap: page.orderMap || {} }); } diff --git a/src/pages/customer/CustomerInviteRank.vue b/src/pages/customer/CustomerInviteRank.vue new file mode 100644 index 0000000..2c23c2e --- /dev/null +++ b/src/pages/customer/CustomerInviteRank.vue @@ -0,0 +1,281 @@ + + + + + diff --git a/src/pages/tabs/SettingTab.vue b/src/pages/tabs/SettingTab.vue index a3b8a36..df7a36d 100644 --- a/src/pages/tabs/SettingTab.vue +++ b/src/pages/tabs/SettingTab.vue @@ -130,6 +130,12 @@ const menuGroupList = computed(() => [ title: "客户管理", visible: userStore.hasPermissions(permissionCodes.customer.read) }, + { + icon: "order-list", + path: "/management/customer-invite-rank", + title: "客户邀请排行", + visible: userStore.hasPermissions(permissionCodes.customer.read) + }, { icon: "chart-combo", path: "/management/customer-data-charts", diff --git a/src/router/routes/customerRoutes.ts b/src/router/routes/customerRoutes.ts index 3836f1f..48f7b5e 100644 --- a/src/router/routes/customerRoutes.ts +++ b/src/router/routes/customerRoutes.ts @@ -2,6 +2,7 @@ import type { RouteRecordRaw } from "vue-router"; import QuickSignInPage from "@/pages/home/QuickSignInPage.vue"; import EventRecordEdit from "@/pages/event/EventRecordEdit.vue"; import CustomerList from "@/pages/customer/CustomerList.vue"; +import CustomerInviteRank from "@/pages/customer/CustomerInviteRank.vue"; import CustomerDetail from "@/pages/customer/CustomerDetail.vue"; import CustomerInviteeList from "@/pages/customer/CustomerInviteeList.vue"; import CustomerEdit from "@/pages/customer/CustomerEdit.vue"; @@ -49,6 +50,20 @@ const customerRoutes: RouteRecordRaw[] = [ darkBodyBackground: "#10161f" } }, + { + path: "/management/customer-invite-rank", + name: "CustomerInviteRank", + component: CustomerInviteRank, + meta: { + depth: 3, + navBarVisible: true, + navBarCanBack: true, + navBarTitle: "客户邀请排行", + tabBarVisible: false, + bodyBackground: "#F5F5F8", + darkBodyBackground: "#10161f" + } + }, { path: "/management/customers/create", name: "CustomerCreate",