fix(management): align user permissions with API
This commit is contained in:
@@ -4,11 +4,13 @@ import type { UserStatus, UserTableRow } from '../types'
|
||||
defineProps<{
|
||||
rows: UserTableRow[]
|
||||
roleColors: Record<string, string>
|
||||
disablingId?: string | null
|
||||
}>()
|
||||
|
||||
const emit = defineEmits<{
|
||||
edit: [row: UserTableRow]
|
||||
resetPassword: [row: UserTableRow]
|
||||
deactivate: [row: UserTableRow]
|
||||
}>()
|
||||
|
||||
const statusLabels: Record<UserStatus, string> = {
|
||||
@@ -71,6 +73,15 @@ const statusLabels: Record<UserStatus, string> = {
|
||||
<button type="button" class="table-button" @click="emit('resetPassword', row)">
|
||||
重置密码
|
||||
</button>
|
||||
<button
|
||||
v-if="row.status === 'enabled'"
|
||||
type="button"
|
||||
class="table-button table-button--danger"
|
||||
:disabled="disablingId === row.id"
|
||||
@click="emit('deactivate', row)"
|
||||
>
|
||||
{{ disablingId === row.id ? '停用中…' : '停用' }}
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="!rows.length">
|
||||
@@ -174,6 +185,20 @@ const statusLabels: Record<UserStatus, string> = {
|
||||
background: var(--brand-l);
|
||||
}
|
||||
|
||||
.table-button--danger {
|
||||
color: var(--err);
|
||||
border-color: var(--err);
|
||||
}
|
||||
|
||||
.table-button--danger:hover {
|
||||
background: var(--err-l);
|
||||
}
|
||||
|
||||
.table-button:disabled {
|
||||
cursor: not-allowed;
|
||||
opacity: 0.55;
|
||||
}
|
||||
|
||||
.empty-cell {
|
||||
padding: 40px 12px !important;
|
||||
color: var(--mut);
|
||||
|
||||
Reference in New Issue
Block a user