feat(admin): add delete APIs and UI actions for all admin resources
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user