feat: rbac初步对接完成
This commit is contained in:
+17
-24
@@ -32,9 +32,9 @@ export default function UserManage() {
|
||||
setLoading(true)
|
||||
try {
|
||||
const res = await getUserList({ current: 1, pageSize: 10, ...search })
|
||||
if (res.data) {
|
||||
setUsers(res.data.list)
|
||||
setTotal(res.data.total)
|
||||
if (res) {
|
||||
setUsers(res.list)
|
||||
setTotal(res.total)
|
||||
}
|
||||
} finally {
|
||||
setLoading(false)
|
||||
@@ -43,7 +43,7 @@ export default function UserManage() {
|
||||
|
||||
const fetchRoles = async () => {
|
||||
const res = await getRoleList({ current: 1, pageSize: 100 })
|
||||
if (res.data) setAllRoles(res.data.list)
|
||||
if (res) setAllRoles(res.list)
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
@@ -67,17 +67,17 @@ export default function UserManage() {
|
||||
const openEditDialog = (user: SystemUser) => {
|
||||
setEditingUser(user)
|
||||
setFormData({
|
||||
account: user.account, name: user.name, phone: user.phone || '', clientId: user.clientId || '',
|
||||
roleIds: user.roles?.map(r => r.id) || []
|
||||
account: user.account, name: user.name, phone: user.phone || '', clientId: '',
|
||||
roleIds: user.roles || []
|
||||
})
|
||||
setDialogOpen(true)
|
||||
}
|
||||
|
||||
const handleSave = async () => {
|
||||
if (editingUser) {
|
||||
await updateUser(editingUser.id, formData)
|
||||
await updateUser({ id: editingUser.id, ...formData })
|
||||
} else {
|
||||
await createUser(formData)
|
||||
await createUser({ ...formData, password: '123' }) // 默认密码
|
||||
}
|
||||
setDialogOpen(false)
|
||||
fetchUsers()
|
||||
@@ -85,7 +85,7 @@ export default function UserManage() {
|
||||
|
||||
const handleDelete = async (id: string) => {
|
||||
if (confirm('确定要删除这个用户吗?')) {
|
||||
await deleteUser(id)
|
||||
await deleteUser([id])
|
||||
fetchUsers()
|
||||
}
|
||||
}
|
||||
@@ -147,7 +147,6 @@ export default function UserManage() {
|
||||
<TableHead className="w-[100px] pl-6">账号</TableHead>
|
||||
<TableHead>姓名</TableHead>
|
||||
<TableHead>手机号</TableHead>
|
||||
<TableHead>客户端来源</TableHead>
|
||||
<TableHead>角色</TableHead>
|
||||
<TableHead>创建时间</TableHead>
|
||||
<TableHead className="text-right pr-6">操作</TableHead>
|
||||
@@ -171,26 +170,20 @@ export default function UserManage() {
|
||||
<TableCell className="font-medium pl-6">{user.account}</TableCell>
|
||||
<TableCell>{user.name}</TableCell>
|
||||
<TableCell>{user.phone || '-'}</TableCell>
|
||||
<TableCell>
|
||||
{user.clientId ? (
|
||||
<Badge variant="outline" className="bg-primary/5 text-primary border-primary/20">
|
||||
{user.clientId}
|
||||
</Badge>
|
||||
) : (
|
||||
<Badge variant="secondary" className="bg-muted text-muted-foreground">System</Badge>
|
||||
)}
|
||||
</TableCell>
|
||||
<TableCell>
|
||||
<div className="flex gap-1 flex-wrap">
|
||||
{user.roles?.map(r => (
|
||||
<Badge key={r.id} variant="default" className="text-[10px] h-5 font-normal bg-emerald-500 hover:bg-emerald-600 text-white">
|
||||
{r.name}
|
||||
{user.roles?.map(code => {
|
||||
const role = allRoles.find(r => r.code === code)
|
||||
return (
|
||||
<Badge key={code} variant="default" className="text-[10px] h-5 font-normal bg-emerald-500 hover:bg-emerald-600 text-white">
|
||||
{role ? role.name : code}
|
||||
</Badge>
|
||||
)) || <span className="text-muted-foreground text-xs">无角色</span>}
|
||||
)
|
||||
}) || <span className="text-muted-foreground text-xs">无角色</span>}
|
||||
</div>
|
||||
</TableCell>
|
||||
<TableCell className="text-muted-foreground text-sm">
|
||||
{new Date(user.createdAt).toLocaleDateString('zh-CN')}
|
||||
{user.createdAt ? new Date(user.createdAt * 1000).toLocaleDateString('zh-CN') : '-'}
|
||||
</TableCell>
|
||||
<TableCell className="text-right pr-6">
|
||||
<DropdownMenu>
|
||||
|
||||
Reference in New Issue
Block a user