From 4e3027bc59f6db0be94a63f8abc481d4d1d078a1 Mon Sep 17 00:00:00 2001 From: Timi Date: Sun, 30 Aug 2026 23:50:28 +0800 Subject: [PATCH] delete event in list --- src/pages/event/EventDetail.vue | 34 ++++++++++++++ src/pages/event/EventList.vue | 79 ++++++++++++++++++++++++++++++--- 2 files changed, 108 insertions(+), 5 deletions(-) diff --git a/src/pages/event/EventDetail.vue b/src/pages/event/EventDetail.vue index 718bc66..33d5fea 100644 --- a/src/pages/event/EventDetail.vue +++ b/src/pages/event/EventDetail.vue @@ -38,6 +38,14 @@ 未配置 + @@ -121,6 +129,7 @@ const defaultColor = "#2f88ff"; const canUpdate = computed(() => userStore.hasPermissions(permissionCodes.event.update)); const canDeleteEvent = computed(() => userStore.hasPermissions(permissionCodes.event.delete)); +const canReadEventRecord = computed(() => userStore.hasPermissions(permissionCodes.eventRecord.read)); const isGlobalManager = computed(() => userStore.hasRoles(gaoRoleCodes.globalManager)); const storeName = computed(() => { const storeId = event.value?.storeId; @@ -295,6 +304,31 @@ async function removeEvent(eventId: string): Promise { // ---------- 导航 ---------- +async function toEventRecordList(): Promise { + const eventId = event.value?.id || String(route.params.id || ""); + if (!eventId || !canReadEventRecord.value) { + return; + } + await router.push({ + name: "EventRecordList", + query: { + eventIds: eventId, + transitionDepth: String(getCurrentRouteDepth() + 1) + } + }); +} + +function getCurrentRouteDepth(): number { + const transitionDepth = Array.isArray(route.query.transitionDepth) + ? route.query.transitionDepth[0] + : route.query.transitionDepth; + const depth = Number(transitionDepth); + if (transitionDepth && Number.isInteger(depth) && 0 <= depth && depth <= 20) { + return depth; + } + return Number(route.meta.depth ?? 0); +} + async function toEdit(): Promise { const eventId = String(route.params.id || ""); if (!canUpdate.value || !eventId) { diff --git a/src/pages/event/EventList.vue b/src/pages/event/EventList.vue index 774bba4..cbd4d8f 100644 --- a/src/pages/event/EventList.vue +++ b/src/pages/event/EventList.vue @@ -10,11 +10,14 @@ @scrolltolower="fetch" > + - + + +
@@ -60,6 +74,7 @@