分支自 SuZhouGuanHong/TaiYuanTaiZhong

dengjunjie
2024-01-16 5884c9023393061afbe6d3d6e709e53e672ddde8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 
import http from '@/../src/api/http.js'
import buttons from '@/../config/buttons.js'
 
// let permission = {
//     install(Vue, config) {
//         Vue.prototype.permission = {
 
//         }
//     }
// }
//Vue.use(permission);
let $vue = null;
let permission = {
    init(vue) {
        $vue = vue;
    },
    getMenu() {
        return http.get("/api/getTreeMenu");
    }, getButtons(path, extra, table) {//extra自定额外按钮
        //  console.log('grid');
        //table获取指定表的权限
        if (table) {
            table='/'+table;
        }
        let permission = $vue.$store.getters.getPermission(table || path);
        if (!permission) {
            permission = $vue.$store.getters.getPermission(path.substring(1));
            if (!permission) {
                $vue.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() {
        $vue.$router.push({
            path: '/401'
        });
    }
}
 
export default permission;