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)