优化用户列表界面,添加权限检查和调试信息,调整桌面端内容显示,提升用户体验和可维护性。
This commit is contained in:
@@ -128,7 +128,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 桌面端表格 -->
|
<!-- 桌面端表格 -->
|
||||||
<div v-else>
|
<div v-else class="desktop-content">
|
||||||
<el-card class="mb16" shadow="never">
|
<el-card class="mb16" shadow="never">
|
||||||
<el-form :inline="true" :model="query" @submit.prevent>
|
<el-form :inline="true" :model="query" @submit.prevent>
|
||||||
<el-form-item label="关键词">
|
<el-form-item label="关键词">
|
||||||
@@ -228,6 +228,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -237,7 +238,7 @@ import { ElMessage, ElMessageBox } from 'element-plus'
|
|||||||
import { Search } from '@element-plus/icons-vue'
|
import { Search } from '@element-plus/icons-vue'
|
||||||
import { fetchUsers, createUser, updateUser, deleteUser, setUserStatus, resetUserPassword } from '@/api/users'
|
import { fetchUsers, createUser, updateUser, deleteUser, setUserStatus, resetUserPassword } from '@/api/users'
|
||||||
import { showErrorMessage, showSuccessMessage } from '@/utils/error'
|
import { showErrorMessage, showSuccessMessage } from '@/utils/error'
|
||||||
import { hasPermission, PERMISSIONS } from '@/utils/permission'
|
import { hasPermission, PERMISSIONS, getCurrentUser, getCurrentUserType } from '@/utils/permission'
|
||||||
|
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
const list = ref([])
|
const list = ref([])
|
||||||
@@ -270,7 +271,11 @@ const userTypeDisplayMap = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 权限检查
|
// 权限检查
|
||||||
const canViewUsers = computed(() => hasPermission(PERMISSIONS.USER_VIEW))
|
const canViewUsers = computed(() => {
|
||||||
|
const permission = hasPermission(PERMISSIONS.USER_VIEW)
|
||||||
|
console.log('canViewUsers:', permission, 'USER_VIEW:', PERMISSIONS.USER_VIEW)
|
||||||
|
return permission
|
||||||
|
})
|
||||||
const canCreateUser = computed(() => hasPermission(PERMISSIONS.USER_CREATE))
|
const canCreateUser = computed(() => hasPermission(PERMISSIONS.USER_CREATE))
|
||||||
const canEditUser = computed(() => hasPermission(PERMISSIONS.USER_UPDATE))
|
const canEditUser = computed(() => hasPermission(PERMISSIONS.USER_UPDATE))
|
||||||
const canDeleteUser = computed(() => hasPermission(PERMISSIONS.USER_DELETE))
|
const canDeleteUser = computed(() => hasPermission(PERMISSIONS.USER_DELETE))
|
||||||
@@ -287,6 +292,13 @@ function unwrap(res) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function load() {
|
async function load() {
|
||||||
|
console.log('开始加载用户数据,权限检查:', canViewUsers.value)
|
||||||
|
|
||||||
|
if (!canViewUsers.value) {
|
||||||
|
ElMessage.warning('没有权限查看用户列表')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
loading.value = true
|
loading.value = true
|
||||||
try {
|
try {
|
||||||
// 根据OpenAPI文档,参数映射:pageSize -> size
|
// 根据OpenAPI文档,参数映射:pageSize -> size
|
||||||
@@ -296,12 +308,21 @@ async function load() {
|
|||||||
}
|
}
|
||||||
delete params.pageSize
|
delete params.pageSize
|
||||||
|
|
||||||
|
console.log('请求参数:', params)
|
||||||
const res = await fetchUsers(params)
|
const res = await fetchUsers(params)
|
||||||
|
console.log('API原始响应:', res)
|
||||||
|
|
||||||
const data = unwrap(res) || {}
|
const data = unwrap(res) || {}
|
||||||
|
console.log('解析后数据:', data)
|
||||||
|
|
||||||
// 兼容后端返回两种分页结构
|
// 兼容后端返回两种分页结构
|
||||||
list.value = data.list || data.items || []
|
list.value = data.list || data.items || []
|
||||||
total.value = data.total || data.totalCount || list.value.length
|
total.value = data.total || data.totalCount || list.value.length
|
||||||
|
|
||||||
|
console.log('用户列表数据:', list.value)
|
||||||
|
console.log('总数:', total.value)
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
console.error('加载用户数据失败:', e)
|
||||||
showErrorMessage(e, '加载失败')
|
showErrorMessage(e, '加载失败')
|
||||||
} finally {
|
} finally {
|
||||||
loading.value = false
|
loading.value = false
|
||||||
@@ -467,7 +488,18 @@ watch(() => form.userType, (newType) => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
// 添加调试信息
|
||||||
|
console.log('用户管理页面加载')
|
||||||
|
const auth = getCurrentUser()
|
||||||
|
const userType = getCurrentUserType()
|
||||||
|
console.log('当前用户信息:', auth)
|
||||||
|
console.log('用户类型:', userType)
|
||||||
|
console.log('权限列表:', hasPermission ? 'hasPermission函数存在' : 'hasPermission函数不存在')
|
||||||
|
|
||||||
checkMobile()
|
checkMobile()
|
||||||
|
console.log('isMobile状态:', isMobile.value)
|
||||||
|
console.log('窗口宽度:', window.innerWidth)
|
||||||
|
|
||||||
window.addEventListener('resize', checkMobile)
|
window.addEventListener('resize', checkMobile)
|
||||||
load()
|
load()
|
||||||
})
|
})
|
||||||
@@ -622,12 +654,12 @@ onUnmounted(() => {
|
|||||||
|
|
||||||
/* 移动端隐藏桌面端组件 */
|
/* 移动端隐藏桌面端组件 */
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
.users-page > div:not(.mobile-user-list) {
|
.desktop-content {
|
||||||
display: none;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.users-page .permission-denied {
|
.users-page .permission-denied {
|
||||||
display: block;
|
display: block !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mobile-search-card .el-input {
|
.mobile-search-card .el-input {
|
||||||
|
|||||||
Reference in New Issue
Block a user