diff --git a/src/components/cards/UserCard.vue b/src/components/cards/UserCard.vue index 2ef103bd..66a4a0b4 100644 --- a/src/components/cards/UserCard.vue +++ b/src/components/cards/UserCard.vue @@ -6,6 +6,7 @@ import avatar1 from '@images/avatars/avatar-1.png' import { useToast } from 'vue-toast-notification' import { useConfirm } from 'vuetify-use-dialog' import { hasPermission } from '@/@core/utils/permission' +import UserAddEditDialog from '@/components/dialog/UserAddEditDialog.vue' // 定义输入变量 const props = defineProps({ @@ -24,6 +25,9 @@ const emit = defineEmits(['remove']) // 确认框 const createConfirm = useConfirm() +// 用户信息弹窗 +const userEditDialog = ref(false) + // 提示框 const $toast = useToast() @@ -54,7 +58,7 @@ async function removeUser() { content: `删除用户 ${props.user?.name} 的所有数据,是否确认?`, }) if (!isConfirmed) return - const result: { [key: string]: any } = await api.delete(`user/${props.user.id}`) + const result: { [key: string]: any } = await api.delete(`user/${props.user.name}`) if (result.success) { $toast.success('用户删除成功') emit('remove') @@ -66,9 +70,14 @@ async function removeUser() { } } +// 编辑用户 +function editUser() { + userEditDialog.value = true +} + // 计算是否有用户编辑权限 const canEditUser = computed(() => { - if (props.user.is_superuser) return true + if (store.state.auth.superUser) return true return hasPermission('admin') || hasPermission('usermanage') }) @@ -78,6 +87,12 @@ const canManageUser = computed(() => { return canEditUser }) +// 用户重新完成时 +function onUserUpdate() { + userEditDialog.value = false + emit('save') +} + onMounted(() => { fetchSubscriptions() }) @@ -135,9 +150,17 @@ onMounted(() => { - 编辑 - 权限 + 编辑 删除 + + diff --git a/src/components/dialog/SiteAddEditDialog.vue b/src/components/dialog/SiteAddEditDialog.vue index 560461a2..8c870d46 100644 --- a/src/components/dialog/SiteAddEditDialog.vue +++ b/src/components/dialog/SiteAddEditDialog.vue @@ -54,11 +54,6 @@ const priorityItems = ref( })), ) -// 监控输入参数 -watchEffect(async () => { - if (props.siteid) fetchSiteInfo() -}) - // 查询站点信息 async function fetchSiteInfo() { try { @@ -124,6 +119,12 @@ async function updateSiteInfo() { } doneNProgress() } + +onMounted(() => { + if (props.oper !== 'add') { + fetchSiteInfo() + } +})