diff --git a/ry-vue3/src/views/admin/Users.vue b/ry-vue3/src/views/admin/Users.vue index 353d64b..195cf2f 100644 --- a/ry-vue3/src/views/admin/Users.vue +++ b/ry-vue3/src/views/admin/Users.vue @@ -39,12 +39,19 @@ - + @@ -94,7 +101,10 @@ import { ref, reactive, onMounted } from 'vue' import { listUser } from '@/api/system' import request from '@/utils/request' -import { ElMessage } from 'element-plus' +import { ElMessage, ElMessageBox } from 'element-plus' +import { useUserStore } from '@/store/user' + +const userStore = useUserStore() const ROLE_LABEL = { admin: '后台管理员', leader: '项目负责人', manager: '合规人员', @@ -164,6 +174,23 @@ async function toggleStatus(row) { } } +async function delUser(row) { + try { + await ElMessageBox.confirm( + `确认删除用户「${row.userName}」(${row.nickName || '无姓名'})?\n\n删除后无法恢复, 该用户关联的项目/会议/报名数据将受影响!`, + '删除确认', + { type: 'error', confirmButtonText: '确认删除', cancelButtonText: '取消' } + ) + } catch { return } + try { + await request({ url: `/system/user/${row.userId}`, method: 'delete' }) + ElMessage.success('已删除') + load() + } catch (e) { + ElMessage.error(e?.msg || '删除失败') + } +} + onMounted(load)