feat(admin): add delete APIs and UI actions for all admin resources

This commit is contained in:
Chris
2026-03-31 20:58:20 +08:00
parent c71003d244
commit 22c71eff6f
14 changed files with 126 additions and 14 deletions

View File

@@ -24,6 +24,7 @@
<template #default="{ row }">
<el-button size="small" @click="openEdit(row)">編輯</el-button>
<el-button size="small" type="warning" @click="handleResetPassword(row)">重設密碼</el-button>
<el-button size="small" type="danger" @click="handleDelete(row)">刪除</el-button>
</template>
</el-table-column>
</el-table>
@@ -71,12 +72,13 @@
<script setup>
import { ref, onMounted } from 'vue'
import { ElMessage } from 'element-plus'
import { ElMessage, ElMessageBox } from 'element-plus'
import { Refresh } from '@element-plus/icons-vue'
import {
getMembers,
upsertMember,
updateMember,
deleteMember,
resetMemberPassword,
getMemberPermissionGroups,
setMemberPermissionGroups
@@ -234,5 +236,21 @@ async function handleResetPassword(row) {
}
}
async function handleDelete(row) {
try {
await ElMessageBox.confirm(
`確認刪除會員 ${row.display_name || row.email || row.username || row.authentik_sub}`,
'刪除確認',
{ type: 'warning' }
)
await deleteMember(row.authentik_sub)
ElMessage.success('刪除成功')
await load()
} catch (err) {
if (err === 'cancel') return
ElMessage.error(err.response?.data?.detail || '刪除失敗')
}
}
onMounted(load)
</script>