From ad636f2df620ee43471c2b2978b403c8abbba761 Mon Sep 17 00:00:00 2001 From: Hera Zhao Date: Sat, 11 Apr 2026 21:43:46 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=93=8D=E4=BD=9C=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E7=AD=9B=E9=80=89=E8=A6=86=E7=9B=96=E6=89=80=E6=9C=89=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 按分组筛选:配方/审核/精油/标签/用户/商业认证 - 每组包含所有相关action(含注册、恢复等) Co-Authored-By: Claude Opus 4.6 (1M context) --- frontend/src/views/AuditLog.vue | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/frontend/src/views/AuditLog.vue b/frontend/src/views/AuditLog.vue index e5077ed..1dcd140 100644 --- a/frontend/src/views/AuditLog.vue +++ b/frontend/src/views/AuditLog.vue @@ -104,14 +104,16 @@ const ACTION_MAP = { register: '用户注册', } -const actionTypes = [ - { value: 'recipe', label: '配方' }, - { value: 'oil', label: '精油' }, - { value: 'user', label: '用户' }, - { value: 'tag', label: '标签' }, - { value: 'adopt', label: '审核' }, - { value: 'business', label: '商业认证' }, -] +const actionGroups = { + '配方': ['create_recipe', 'update_recipe', 'delete_recipe', 'undo_delete_recipe'], + '审核': ['adopt_recipe', 'reject_recipe'], + '精油': ['upsert_oil', 'delete_oil', 'undo_delete_oil'], + '标签': ['create_tag', 'delete_tag'], + '用户': ['create_user', 'update_user', 'delete_user', 'undo_delete_user', 'register'], + '商业认证': ['business_apply', 'approve_business', 'reject_business', 'grant_business', 'revoke_business'], +} + +const actionTypes = Object.keys(actionGroups).map(label => ({ value: label, label })) const targetTypes = [ { value: 'recipe', label: '配方' }, @@ -131,7 +133,8 @@ const uniqueUsers = computed(() => { const filteredLogs = computed(() => { let result = logs.value if (selectedAction.value) { - result = result.filter(l => l.action.includes(selectedAction.value)) + const group = actionGroups[selectedAction.value] + if (group) result = result.filter(l => group.includes(l.action)) } if (selectedUser.value) { result = result.filter(l => (l.user_name || l.username) === selectedUser.value)