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

@@ -17,10 +17,11 @@
<el-table-column prop="group_key" label="Group Key" width="180" />
<el-table-column prop="name" label="群組名稱" min-width="220" />
<el-table-column prop="status" label="狀態" width="120" />
<el-table-column label="操作" width="220">
<el-table-column label="操作" width="300">
<template #default="{ row }">
<el-button size="small" @click="openEditGroup(row)">編輯</el-button>
<el-button size="small" @click="openBindingDialog(row)">設定關聯</el-button>
<el-button size="small" type="danger" @click="handleDeleteGroup(row)">刪除</el-button>
</template>
</el-table-column>
</el-table>
@@ -128,12 +129,13 @@
<script setup>
import { ref, reactive, onMounted, computed } from 'vue'
import { ElMessage } from 'element-plus'
import { ElMessage, ElMessageBox } from 'element-plus'
import { Plus } from '@element-plus/icons-vue'
import {
getPermissionGroups,
createPermissionGroup,
updatePermissionGroup,
deletePermissionGroup,
getPermissionGroupPermissions,
getPermissionGroupBindings,
updatePermissionGroupBindings
@@ -283,6 +285,18 @@ async function handleEditGroup() {
}
}
async function handleDeleteGroup(row) {
try {
await ElMessageBox.confirm(`確認刪除群組 ${row.name}${row.group_key}`, '刪除確認', { type: 'warning' })
await deletePermissionGroup(row.group_key)
ElMessage.success('刪除成功')
await loadGroups()
} catch (err) {
if (err === 'cancel') return
ElMessage.error(err.response?.data?.detail || '刪除失敗')
}
}
async function openBindingDialog(row) {
bindingGroupKey.value = row.group_key
showBindingDialog.value = true