From 771ee96a1a537a57fdb615e2d4c15d9ea87d8534 Mon Sep 17 00:00:00 2001 From: w940853815 <940853815@qq.com> Date: Tue, 20 Jan 2026 16:47:21 +0800 Subject: [PATCH] fix: MFA display problem on user detail page --- src/views/users/User/UserCreateUpdate.vue | 2 +- src/views/users/User/UserDetail/UserInfo.vue | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/views/users/User/UserCreateUpdate.vue b/src/views/users/User/UserCreateUpdate.vue index 014cd1fce..5e5c1a8b9 100644 --- a/src/views/users/User/UserCreateUpdate.vue +++ b/src/views/users/User/UserCreateUpdate.vue @@ -264,7 +264,7 @@ export default { let mfa_level = null // SECURITY_MFA_AUTH 0 不开启 1 全局开启 2 管理员开启 const securityMFAAuth = store.getters.publicSettings['SECURITY_MFA_AUTH'] - const adminUserIsNeed = (user?.is_superuser || user?.is_org_admin) && this.$route.meta.action === 'update' && + const adminUserIsNeed = (user?.is_superuser || user?.is_org_admin) && this.$route.params.action === 'update' && securityMFAAuth === MFASystemSetting.onlyAdminUsers if (securityMFAAuth === MFASystemSetting.allUsers) { options = [{ 'value': MFALevel.allUsers, 'label': this.$t('MFAAllUsers') }] diff --git a/src/views/users/User/UserDetail/UserInfo.vue b/src/views/users/User/UserDetail/UserInfo.vue index 4a366803a..ec1db6228 100644 --- a/src/views/users/User/UserDetail/UserInfo.vue +++ b/src/views/users/User/UserDetail/UserInfo.vue @@ -20,6 +20,8 @@ import { QuickActions } from '@/components' import RelationCard from '@/components/Cards/RelationCard' import AutoDetailCard from '@/components/Cards/DetailCard/auto' import TwoCol from '@/layout/components/Page/TwoColPage.vue' +import store from '@/store' +import { MFASystemSetting } from '@/views/users/const' export default { name: 'UserInfo', @@ -226,7 +228,22 @@ export default { return
{doms}
} }, - 'wecom_id', 'dingtalk_id', 'feishu_id', 'mfa_level', + 'wecom_id', 'dingtalk_id', 'feishu_id', + { + key: this.$t('MFA'), + formatter: (item, val) => { + const user = vm.object + const securityMFAAuth = store.getters.publicSettings['SECURITY_MFA_AUTH'] + const adminUserIsNeed = (user?.is_superuser || user?.is_org_admin) && securityMFAAuth === MFASystemSetting.onlyAdminUsers + if (securityMFAAuth === MFASystemSetting.allUsers) { + return this.$t('MFAAllUsers') + } + if (securityMFAAuth === MFASystemSetting.onlyAdminUsers && adminUserIsNeed) { + return this.$t('MFAOnlyAdminUsers') + } + return user?.mfa_level.label + } + }, 'source', 'labels', 'created_by', 'date_joined', 'date_expired', 'date_password_last_updated', 'last_login', 'comment'