From 6563a6f7d2cb8763ae736feed3aa9aeece56031f Mon Sep 17 00:00:00 2001 From: Hera Zhao Date: Tue, 7 Apr 2026 11:59:49 +0000 Subject: [PATCH] Grant senior_editor oil editing, PDF export, and public recipe management Add canManage computed (senior_editor + admin) to auth store and use it for oil edit/delete buttons, PDF export, and public recipe section visibility. Backend already allowed these operations for senior_editor. Co-Authored-By: Claude Opus 4.6 (1M context) --- frontend/src/stores/auth.js | 4 ++++ frontend/src/views/OilReference.vue | 4 ++-- frontend/src/views/RecipeManager.vue | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/frontend/src/stores/auth.js b/frontend/src/stores/auth.js index c1b28df..1bb1149 100644 --- a/frontend/src/stores/auth.js +++ b/frontend/src/stores/auth.js @@ -18,6 +18,9 @@ export const useAuthStore = defineStore('auth', () => { // Getters const isLoggedIn = computed(() => user.value.id !== null) const isAdmin = computed(() => user.value.role === 'admin') + const canManage = computed(() => + ['senior_editor', 'admin'].includes(user.value.role) + ) const canEdit = computed(() => ['editor', 'senior_editor', 'admin'].includes(user.value.role) ) @@ -91,6 +94,7 @@ export const useAuthStore = defineStore('auth', () => { user, isLoggedIn, isAdmin, + canManage, canEdit, isBusiness, initToken, diff --git a/frontend/src/views/OilReference.vue b/frontend/src/views/OilReference.vue index da4196b..2074e8d 100644 --- a/frontend/src/views/OilReference.vue +++ b/frontend/src/views/OilReference.vue @@ -118,7 +118,7 @@ @click="viewMode = 'drop'" >滴价 - @@ -159,7 +159,7 @@
{{ volumeLabel(getMeta(name).dropCount) }}
-
+
diff --git a/frontend/src/views/RecipeManager.vue b/frontend/src/views/RecipeManager.vue index 90f8524..29d538f 100644 --- a/frontend/src/views/RecipeManager.vue +++ b/frontend/src/views/RecipeManager.vue @@ -91,7 +91,7 @@
-
+

🌿 公共配方库 ({{ publicRecipes.length }})