From 1e2aead70ff4d185adff81ddc9d48a6e8d528dce Mon Sep 17 00:00:00 2001 From: hy001 Date: Thu, 16 Apr 2026 12:18:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=82=80=E8=AF=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/src/api/legacy/resident-activity.ts | 27 + .../routes/modules/resident-activity.ts | 30 ++ .../invite-invitee-detail-drawer.vue | 146 ++++++ .../views/resident-activity/invite-config.vue | 483 ++++++++++++++++++ .../views/resident-activity/invite-list.vue | 220 ++++++++ 5 files changed, 906 insertions(+) create mode 100644 apps/src/api/legacy/resident-activity.ts create mode 100644 apps/src/router/routes/modules/resident-activity.ts create mode 100644 apps/src/views/resident-activity/components/invite-invitee-detail-drawer.vue create mode 100644 apps/src/views/resident-activity/invite-config.vue create mode 100644 apps/src/views/resident-activity/invite-list.vue diff --git a/apps/src/api/legacy/resident-activity.ts b/apps/src/api/legacy/resident-activity.ts new file mode 100644 index 0000000..724f994 --- /dev/null +++ b/apps/src/api/legacy/resident-activity.ts @@ -0,0 +1,27 @@ +import type { LegacyPageResult } from '#/api/legacy/system'; + +import { requestClient } from '#/api/request'; + +export async function getResidentInviteConfig(sysOrigin: string) { + return requestClient.get>('/resident-activity/invite/config', { + params: { sysOrigin }, + }); +} + +export async function saveResidentInviteConfig(data: Record) { + return requestClient.post('/resident-activity/invite/config/save', data); +} + +export async function pageResidentInviteInviter(params: Record) { + return requestClient.get>>( + '/resident-activity/invite/inviter/page', + { params }, + ); +} + +export async function pageResidentInviteInvitee(params: Record) { + return requestClient.get>>( + '/resident-activity/invite/invitee/page', + { params }, + ); +} diff --git a/apps/src/router/routes/modules/resident-activity.ts b/apps/src/router/routes/modules/resident-activity.ts new file mode 100644 index 0000000..a3f4366 --- /dev/null +++ b/apps/src/router/routes/modules/resident-activity.ts @@ -0,0 +1,30 @@ +import type { RouteRecordRaw } from 'vue-router'; + +const routes: RouteRecordRaw[] = [ + { + meta: { + icon: 'lucide:party-popper', + order: 51, + title: '常驻活动', + }, + name: 'ResidentActivityManager', + path: '/resident-activity/manager', + redirect: '/resident-activity/manager/invite/config', + children: [ + { + name: 'ResidentInviteConfig', + path: 'invite/config', + component: () => import('#/views/resident-activity/invite-config.vue'), + meta: { title: '邀请活动配置' }, + }, + { + name: 'ResidentInviteList', + path: 'invite/list', + component: () => import('#/views/resident-activity/invite-list.vue'), + meta: { title: '邀请活动列表' }, + }, + ], + }, +]; + +export default routes; diff --git a/apps/src/views/resident-activity/components/invite-invitee-detail-drawer.vue b/apps/src/views/resident-activity/components/invite-invitee-detail-drawer.vue new file mode 100644 index 0000000..e8d943c --- /dev/null +++ b/apps/src/views/resident-activity/components/invite-invitee-detail-drawer.vue @@ -0,0 +1,146 @@ + + + + + diff --git a/apps/src/views/resident-activity/invite-config.vue b/apps/src/views/resident-activity/invite-config.vue new file mode 100644 index 0000000..8cdc1c0 --- /dev/null +++ b/apps/src/views/resident-activity/invite-config.vue @@ -0,0 +1,483 @@ + + + + + diff --git a/apps/src/views/resident-activity/invite-list.vue b/apps/src/views/resident-activity/invite-list.vue new file mode 100644 index 0000000..0752b85 --- /dev/null +++ b/apps/src/views/resident-activity/invite-list.vue @@ -0,0 +1,220 @@ + + + + +