From 9411a29adf3da6a98b25e9e6b56fffafbbb33c0f Mon Sep 17 00:00:00 2001 From: Aqr-K <95741669+Aqr-K@users.noreply.github.com> Date: Sat, 14 Sep 2024 22:44:30 +0800 Subject: [PATCH] feat: Control status permission judgment. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 增加状态控制,如果编辑的是当前使用的用户,会隐藏状态控制栏 个人信息栏,增加分割线,做为功能区的显示区分 --- src/components/dialog/UserAddEditDialog.vue | 41 ++++++++++++++++++--- src/views/user/UserProfileView.vue | 13 ++++++- 2 files changed, 47 insertions(+), 7 deletions(-) diff --git a/src/components/dialog/UserAddEditDialog.vue b/src/components/dialog/UserAddEditDialog.vue index c4fdc5dd..9559f4b9 100644 --- a/src/components/dialog/UserAddEditDialog.vue +++ b/src/components/dialog/UserAddEditDialog.vue @@ -5,6 +5,7 @@ import { doneNProgress, startNProgress } from '@/api/nprogress' import api from '@/api' import { useDisplay } from 'vuetify' import avatar1 from '@images/avatars/avatar-1.png' +import store from '@/store' // 显示器宽度 const display = useDisplay() @@ -21,6 +22,9 @@ const props = defineProps({ oper: String, }) +// 当前用户名称 +const currentUser = store.state.auth.userName + // 注册事件 const emit = defineEmits(['save', 'close']) @@ -139,6 +143,20 @@ const userStatus = computed({ }, }) +// 计算是否有用户管理权限 +const canControl = computed(() => { + // 新增用户时,有权限 + if (props.oper === 'add') { + return true + } + else { + // 编辑显示的用户与当前用户不一致时,有权限 + if (props.username !== currentUser) { + return true + } + } +}) + onMounted(() => { if (props.oper !== 'add') { fetchUserInfo() @@ -218,7 +236,7 @@ onMounted(() => { @click:append-inner="isConfirmPasswordVisible = !isConfirmPasswordVisible" /> - + { - + - + - + - + { /> + - + { /> - +