Merge pull request #329 from f3n9/dev-um-8

修复用户管理页中"All Roles"不显示用户的问题
This commit is contained in:
Wesley Liddick
2025-09-03 21:33:41 +08:00
committed by GitHub
3 changed files with 29 additions and 8 deletions

View File

@@ -1 +1 @@
1.1.126 1.1.127

View File

@@ -30,7 +30,24 @@ const router = express.Router()
router.get('/users', authenticateAdmin, async (req, res) => { router.get('/users', authenticateAdmin, async (req, res) => {
try { try {
const userService = require('../services/userService') const userService = require('../services/userService')
const result = await userService.getAllUsers({ isActive: true, limit: 1000 }) // Get all active users
// Extract query parameters for filtering
const { role, isActive } = req.query
const options = { limit: 1000 }
// Apply role filter if provided
if (role) {
options.role = role
}
// Apply isActive filter if provided, otherwise default to active users only
if (isActive !== undefined) {
options.isActive = isActive === 'true'
} else {
options.isActive = true // Default to active users for backwards compatibility
}
const result = await userService.getAllUsers(options)
// Extract users array from the paginated result // Extract users array from the paginated result
const allUsers = result.users || [] const allUsers = result.users || []

View File

@@ -554,13 +554,17 @@ const formatDate = (dateString) => {
const loadUsers = async () => { const loadUsers = async () => {
loading.value = true loading.value = true
try { try {
const [usersResponse, statsResponse] = await Promise.all([ // Build params object, only including parameters with actual values
apiClient.get('/users', { const params = {}
params: { if (selectedRole.value && selectedRole.value.trim() !== '') {
role: selectedRole.value || undefined, params.role = selectedRole.value
isActive: selectedStatus.value !== '' ? selectedStatus.value : undefined
} }
}), if (selectedStatus.value !== '') {
params.isActive = selectedStatus.value
}
const [usersResponse, statsResponse] = await Promise.all([
apiClient.get('/users', { params }),
apiClient.get('/users/stats/overview') apiClient.get('/users/stats/overview')
]) ])