refactor(frontend): remove manual admin credential cards from permission pages
This commit is contained in:
@@ -2,16 +2,13 @@
|
|||||||
<div>
|
<div>
|
||||||
<h2 class="text-xl font-bold text-gray-800 mb-6">權限群組管理</h2>
|
<h2 class="text-xl font-bold text-gray-800 mb-6">權限群組管理</h2>
|
||||||
|
|
||||||
<AdminCredsCard />
|
|
||||||
|
|
||||||
<el-tabs v-model="activeTab" type="border-card" class="shadow-sm">
|
<el-tabs v-model="activeTab" type="border-card" class="shadow-sm">
|
||||||
<!-- Groups Tab -->
|
<!-- Groups Tab -->
|
||||||
<el-tab-pane label="群組管理" name="groups">
|
<el-tab-pane label="群組管理" name="groups">
|
||||||
<div class="mt-4">
|
<div class="mt-4">
|
||||||
<el-button v-if="credsSaved" type="primary" @click="showCreateGroup = true" :icon="Plus" class="mb-4">
|
<el-button type="primary" @click="showCreateGroup = true" :icon="Plus" class="mb-4">
|
||||||
新增群組
|
新增群組
|
||||||
</el-button>
|
</el-button>
|
||||||
<p v-if="!credsSaved" class="text-xs text-yellow-600 mb-4">請先設定管理員認證</p>
|
|
||||||
|
|
||||||
<el-skeleton v-if="loadingGroups" :rows="4" animated />
|
<el-skeleton v-if="loadingGroups" :rows="4" animated />
|
||||||
|
|
||||||
@@ -24,7 +21,7 @@
|
|||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
|
||||||
<!-- Members Tab -->
|
<!-- Members Tab -->
|
||||||
<el-tab-pane label="綁定會員" name="members" :disabled="!credsSaved">
|
<el-tab-pane label="綁定會員" name="members">
|
||||||
<div class="mt-4">
|
<div class="mt-4">
|
||||||
<el-form :model="memberForm" label-width="120px" class="max-w-xl mb-4">
|
<el-form :model="memberForm" label-width="120px" class="max-w-xl mb-4">
|
||||||
<el-form-item label="Group Key">
|
<el-form-item label="Group Key">
|
||||||
@@ -48,7 +45,7 @@
|
|||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
|
||||||
<!-- Permissions Tab -->
|
<!-- Permissions Tab -->
|
||||||
<el-tab-pane label="群組授權" name="permissions" :disabled="!credsSaved">
|
<el-tab-pane label="群組授權" name="permissions">
|
||||||
<div class="mt-4">
|
<div class="mt-4">
|
||||||
<el-form :model="groupPermForm" label-width="120px" class="max-w-xl mb-4">
|
<el-form :model="groupPermForm" label-width="120px" class="max-w-xl mb-4">
|
||||||
<el-form-item label="Group Key">
|
<el-form-item label="Group Key">
|
||||||
@@ -120,10 +117,9 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, reactive, computed, onMounted } from 'vue'
|
import { ref, reactive, onMounted } from 'vue'
|
||||||
import { ElMessage } from 'element-plus'
|
import { ElMessage } from 'element-plus'
|
||||||
import { Plus } from '@element-plus/icons-vue'
|
import { Plus } from '@element-plus/icons-vue'
|
||||||
import { usePermissionStore } from '@/stores/permission'
|
|
||||||
import {
|
import {
|
||||||
getPermissionGroups,
|
getPermissionGroups,
|
||||||
createPermissionGroup,
|
createPermissionGroup,
|
||||||
@@ -131,11 +127,8 @@ import {
|
|||||||
groupGrant,
|
groupGrant,
|
||||||
groupRevoke
|
groupRevoke
|
||||||
} from '@/api/permission-groups'
|
} from '@/api/permission-groups'
|
||||||
import AdminCredsCard from '@/components/AdminCredsCard.vue'
|
|
||||||
|
|
||||||
const permissionStore = usePermissionStore()
|
|
||||||
const activeTab = ref('groups')
|
const activeTab = ref('groups')
|
||||||
const credsSaved = computed(() => permissionStore.hasAdminCreds())
|
|
||||||
|
|
||||||
// Groups
|
// Groups
|
||||||
const groups = ref([])
|
const groups = ref([])
|
||||||
|
|||||||
@@ -2,8 +2,6 @@
|
|||||||
<div>
|
<div>
|
||||||
<h2 class="text-xl font-bold text-gray-800 mb-6">權限管理</h2>
|
<h2 class="text-xl font-bold text-gray-800 mb-6">權限管理</h2>
|
||||||
|
|
||||||
<AdminCredsCard />
|
|
||||||
|
|
||||||
<!-- Grant / Revoke -->
|
<!-- Grant / Revoke -->
|
||||||
<el-tabs v-model="activeTab" type="border-card" class="shadow-sm">
|
<el-tabs v-model="activeTab" type="border-card" class="shadow-sm">
|
||||||
<!-- Grant Tab -->
|
<!-- Grant Tab -->
|
||||||
@@ -66,13 +64,11 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
native-type="submit"
|
native-type="submit"
|
||||||
:loading="grantLoading"
|
:loading="grantLoading"
|
||||||
:disabled="!credsSaved"
|
|
||||||
>
|
>
|
||||||
Grant 授權
|
Grant 授權
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button @click="resetGrant">清除</el-button>
|
<el-button @click="resetGrant">清除</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<p v-if="!credsSaved" class="text-xs text-yellow-600 ml-2">請先設定管理員認證</p>
|
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
|
||||||
@@ -130,13 +126,11 @@
|
|||||||
type="danger"
|
type="danger"
|
||||||
native-type="submit"
|
native-type="submit"
|
||||||
:loading="revokeLoading"
|
:loading="revokeLoading"
|
||||||
:disabled="!credsSaved"
|
|
||||||
>
|
>
|
||||||
Revoke 撤銷
|
Revoke 撤銷
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button @click="resetRevoke">清除</el-button>
|
<el-button @click="resetRevoke">清除</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<p v-if="!credsSaved" class="text-xs text-yellow-600 ml-2">請先設定管理員認證</p>
|
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
@@ -144,15 +138,13 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, reactive, computed } from 'vue'
|
import { ref, reactive } from 'vue'
|
||||||
import { ElMessage } from 'element-plus'
|
import { ElMessage } from 'element-plus'
|
||||||
import { usePermissionStore } from '@/stores/permission'
|
import { usePermissionStore } from '@/stores/permission'
|
||||||
import AdminCredsCard from '@/components/AdminCredsCard.vue'
|
|
||||||
|
|
||||||
const permissionStore = usePermissionStore()
|
const permissionStore = usePermissionStore()
|
||||||
|
|
||||||
const activeTab = ref('grant')
|
const activeTab = ref('grant')
|
||||||
const credsSaved = computed(() => permissionStore.hasAdminCreds())
|
|
||||||
|
|
||||||
// Grant
|
// Grant
|
||||||
const grantFormRef = ref()
|
const grantFormRef = ref()
|
||||||
|
|||||||
Reference in New Issue
Block a user