OKadmin是一個基於Vue.js和Element-ui的全能後台管理系統,提供了豐富的組件和功能,可快速構建管理應用程序。此外,OKadmin的使用方法非常簡單,只需按照步驟進行配置和安裝即可使用。
OKadminFinder
OKadminFinder是OKadmin的一個重要組件,通過OKadminFinder可以快速找到需要的頁面和模塊。它的操作方法和使用方法與Windows的搜索類似。只需在搜索框中輸入關鍵字即可找到相關的頁面和模塊。此外,如果您有多個應用,OKadminFinder可以通過搜索規則過濾出相關應用程序中的頁面和模塊。
一、使用OKadminFinder進行搜索
下面是使用OKadminFinder進行搜索的示例代碼:
<template>
<div>
<el-input
v-model="value"
placeholder="請輸入關鍵字"
prefix-icon="el-icon-search"
style="width: 200px;"
@keyup.enter.native="onSearch"
>
<el-button slot="append" icon="el-icon-search" @click="onSearch"></el-button>
</el-input>
<el-dropdown
class="okadmin-nav-dropdown"
v-model="appIndex"
trigger="click"
:split-button="false"
:hide-on-click="false"
>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item
v-for="(app, index) in filteredApps"
:key="app.appId"
:command="index"
:disabled="app.pages.length === 0"
>
{{app.appName}}
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</template>
<script>
export default {
data() {
return {
value: '',
appIndex: 0,
apps: []
};
},
computed: {
filteredApps() {
return this.apps.filter(app => {
return app.pages.some(page => {
return page.label.includes(this.value) || page.name.includes(this.value);
});
});
}
},
created() {
// load apps and pages here
},
methods: {
onSearch() {
// handle search here
}
}
};
</script>
以上代碼中,我們可以看到OKadminFinder的搜索框和應用篩選框都是使用Element-ui的組件實現的。在created方法中我們可以提交請求來載入您的應用程序的頁面和模塊列表。data屬性中的value用於存儲搜索框中的值,appIndex用於存儲當前選中的應用程序。filteredApps是應用程序過濾結果。
二、使用OKAdmin實現許可權管理
OKadmin可以與介面進行集成,實現前後端分離以及許可權管理。要使用OKadmin進行許可權管理,必須首先定義頁面和菜單。然後,您可以將菜單視為許可權,並將其分配給用戶。最後,您需要在前端增加邏輯來根據用戶許可權隱藏無權訪問的頁面和菜單。
下面是一個將組件映射到路由的代碼示例:
import router from '@/router';
import { flatRoutes } from '@/utils/routes';
// pages
const Global = () => import('@/views/global');
const Demo = () => import('@/views/demo');
const Hello = () => import('@/views/hello');
// routes
const routes = [
{
path: '/',
meta: { hidden: true },
redirect: { name: 'global' }
},
{
path: '/global',
name: 'global',
component: Global,
meta: {
title: 'Global',
icon: 'fa fa-dashboard'
}
},
{
path: '/demo',
name: 'demo',
component: Demo,
meta: {
title: 'Demo',
icon: 'fa fa-cubes'
},
children: [
{
path: 'hello',
name: 'hello',
component: Hello,
meta: {
title: 'Hello',
icon: 'fa fa-hand-spock-o'
}
}
]
}
];
const flat = flatRoutes(routes);
const idMap = flat.reduce((acc, route) => {
acc[route.id] = route;
return acc;
}, {});
router.addRoutes(routes);
以上代碼中我們可以看到定義路由的方法,它可以將菜單映射到Vue.js的路由中。在meta屬性中,我們提供頁面的名稱、圖標等信息。可以通過設置meta屬性中的hidden來實現在不同的用戶許可權級別下隱藏不同的頁面。
三、使用OKadmin實現數據管理
OKadmin可以與數據管理包進行集成,實現數據的快速展示和編輯。您可以使用自定義組件(例如Table)和組合組件(例如Form)來展示數據。此外,您可以使用Element-ui中的表格組件來處理分頁和排序的相關功能。
以下代碼展示了如何使用OKadmin來展示表格數據:
<template>
<div>
<el-table v-loading="loading" :data="tableData" @sort-change="sortChange">
<el-table-column prop="date" label="日期"></el-table-column>
<el-table-column prop="name" label="姓名"></el-table-column>
<el-table-column prop="address" label="地址"></el-table-column>
</el-table>
<el-pagination :current-page="currentPage" :page-size="20" :total="total" @current-change="currentChange"></el-pagination>
</div>
</template>
<script>
import { fetchData } from '@/api/demo';
export default {
data() {
return {
tableData: [],
loading: false,
sort: { prop: '', order: '' },
currentPage: 1,
total: 0
};
},
created() {
this.fetchData();
},
methods: {
fetchData() {
this.loading = true;
fetchData({ page: this.currentPage, orderProp: this.sort.prop, orderType: this.sort.order }).then(data => {
this.tableData = data.list;
this.total = data.total;
this.loading = false;
});
},
currentChange(page) {
this.currentPage = page;
this.fetchData();
},
sortChange(sort) {
this.sort = sort;
this.fetchData();
}
}
};
</script>
在使用OKadmin進行數據管理時,可以使用Element-ui中的表格組件來好的表格數據。我們可以通過fetchData方法從伺服器獲取數據。currentPage是當前頁碼,使得我們可以對分頁進行調整。sortChange方法用於更新表頭的排序信息。HTML中的分頁組件使得我們可以在表格底部快速方便的進行查找操作。
原創文章,作者:FQSP,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/138095.html