index.vue
2.18 KB
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<script setup lang="ts">
import { reactive, ref, onMounted } from "vue";
import { permissionList } from "@/api/user/permission";
interface Data {
loading: boolean;
list: any[] | null;
}
let data: Data = reactive({
list: [],
loading: false,
});
/**
* 列表
*/
const getList = async () => {
data.loading = true;
try {
const res = await permissionList();
data.list = res?.data?.data;
} catch (e) {
console.log(e);
} finally {
data.loading = false;
}
};
/**
* 权限枚举值
*/
enum typeEnum {
'一级菜单' = 1,
'二级菜单',
'三级菜单',
'按钮',
'默认权限'
}
onMounted(() => {
getList();
});
</script>
<template>
<div class="page-container">
<h1>权限列表</h1>
<el-table
:data="data.list"
style="width: 100%"
border fit
row-key="id"
:indent="30"
:tree-props="{ children: 'menuList' }"
v-loading="data.loading"
align="center"
element-loading-text="拼命加载中"
>
<el-table-column prop="id" label="ID" align="center"></el-table-column>
<el-table-column prop="name" label="权限名称" align="center"></el-table-column>
<el-table-column prop="priority" label="优先级" align="center"></el-table-column>
<el-table-column prop="url" label="路径" align="center"></el-table-column>
<el-table-column prop="type" label="类型" align="center">
<template #default="scope">
{{ typeEnum[scope.row.type] }}
</template>
</el-table-column>
<el-table-column label="操作" align="center">
<template #default="scope">
<el-button type="text"
><router-link :to="{ path: '/permission/edit', query: {...scope.row, ...{dataType: 'edit'}} }"
>编辑</router-link
></el-button
>
<!-- type值为4,是按钮,按钮不可以再加按钮 -->
<el-button type="text" v-show="~~scope.row.type < 4"
><router-link :to="{ path: '/permission/edit', query: {...scope.row, ...{dataType: 'add'}} }"
>添加</router-link
></el-button
>
</template>
</el-table-column>
</el-table>
</div>
</template>