import http from '@/../src/api/http.js' import buttons from '@/../config/buttons.js' import store from '../store/index' import { useRouter } from 'vue-router' let permission = { getMenu() { return http.get("/api/getTreeMenu"); }, getButtons(path, extra, table, tableName) {//extra自定额外按钮 //extra自定额外按钮 //table获取指定表的权限 if (table) { table = '/' + table; } let permission = store.getters.getPermission(table || path); if (!permission) { permission = store.getters.getPermission(path.substring(1)); if (!permission) { if ((tableName || '').indexOf('/') != -1) { let arr = tableName.split('/'); tableName = arr[arr.length - 1]; } permission = store.getters.getPermission('/' + tableName); if (!permission) { permission = (store.state.permission||[]).find(x => x.tableName ==tableName); if (!permission) { to401(); return; } } } } let permissions = permission.permission; //.split(','); let gridButtons = buttons.filter((item) => { return !item.value || permissions.indexOf(item.value) != -1; }); if (extra && extra instanceof Array) { gridButtons.push(...extra); } return gridButtons; }, to401() { to401(); } } function to401() { const router = useRouter(); router.push({ path: '/401' }); } export default permission;