|
@@ -13,11 +13,11 @@
|
|
|
<el-tab-pane label="移动端" name="mobile"></el-tab-pane>
|
|
|
</el-tabs>
|
|
|
<el-collapse v-model="activeNames" @change="handleChange">
|
|
|
- <el-collapse-item name="1">
|
|
|
+ <el-collapse-item name="1" v-show="showPc">
|
|
|
<template slot="title">
|
|
|
<i :class="isActive('1') !== -1 ? 'el-icon-caret-bottom' : 'el-icon-caret-right'"></i>前端
|
|
|
</template>
|
|
|
- <el-row align="left" :gutter="8" style="text-align: left;box-sizing: border-box;padding: 0 30px;height: 200px;overflow-y: auto">
|
|
|
+ <el-row align="left" :gutter="8" style="text-align: left;box-sizing: border-box;padding: 0 30px;height: 160px;overflow-y: auto">
|
|
|
<el-col :span="8" v-for="(item,index) in frontPermissions" :key="item.id">
|
|
|
<el-tree :ref="'tree'" :default-checked-keys="checkedKeys" :data="[item]" :props="defaultProps" show-checkbox node-key="id"
|
|
|
@node-click="handleNodeClick">
|
|
@@ -25,28 +25,17 @@
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-collapse-item>
|
|
|
- <el-collapse-item name="2">
|
|
|
+ <el-collapse-item name="2" v-show="showPc">
|
|
|
<template slot="title">
|
|
|
<i :class="isActive('2') !== -1 ? 'el-icon-caret-bottom' : 'el-icon-caret-right'"></i>后端
|
|
|
</template>
|
|
|
- <div style="display: flex; margin-left: 20px;">
|
|
|
- <div>
|
|
|
- <!--<el-tree :data="data7" :props="defaultProps" show-checkbox node-key="id"-->
|
|
|
- <!-- @node-click="handleNodeClick">-->
|
|
|
- <!--</el-tree>-->
|
|
|
- <!--<el-tree :data="data8" :props="defaultProps" show-checkbox node-key="id"-->
|
|
|
- <!-- @node-click="handleNodeClick">-->
|
|
|
- <!--</el-tree>-->
|
|
|
- </div>
|
|
|
- <div style="margin-left: 137px;">
|
|
|
- <!--<el-tree :data="data9" :props="defaultProps" show-checkbox node-key="id"-->
|
|
|
- <!-- @node-click="handleNodeClick">-->
|
|
|
- <!--</el-tree>-->
|
|
|
- <!--<el-tree :data="data10" :props="defaultProps" show-checkbox node-key="id"-->
|
|
|
- <!-- @node-click="handleNodeClick">-->
|
|
|
- <!--</el-tree>-->
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <el-row align="left" :gutter="8" style="text-align: left;box-sizing: border-box;padding: 0 30px;height: 160px;overflow-y: auto">
|
|
|
+ <el-col :span="8" v-for="(item,index) in adminPermissions" :key="item.id">
|
|
|
+ <el-tree :ref="'tree'" :default-checked-keys="checkedKeys" :data="[item]" :props="defaultProps" show-checkbox node-key="id"
|
|
|
+ @node-click="handleNodeClick">
|
|
|
+ </el-tree>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
</el-collapse-item>
|
|
|
</el-collapse>
|
|
|
</div>
|
|
@@ -75,12 +64,14 @@ export default {
|
|
|
activeName: 'pc',
|
|
|
activeNames: ['1', '2'],
|
|
|
frontPermissions: [],
|
|
|
-
|
|
|
+ adminPermissions: [],
|
|
|
|
|
|
defaultProps: {
|
|
|
children: 'children',
|
|
|
label: 'name'
|
|
|
- }
|
|
|
+ },
|
|
|
+
|
|
|
+ showPc: true,
|
|
|
}
|
|
|
},
|
|
|
watch: {
|
|
@@ -100,8 +91,9 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
methods: {
|
|
|
- handleClick() {
|
|
|
- //
|
|
|
+ handleClick(tab, event) {
|
|
|
+ let name = tab.name;
|
|
|
+ this.showPc = name=='pc'
|
|
|
},
|
|
|
isActive(data) {
|
|
|
return this.activeNames.indexOf(data);
|
|
@@ -120,9 +112,22 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
getPermissions() {
|
|
|
+ this.frontPermissions = [];
|
|
|
+ this.adminPermissions = [];
|
|
|
getPermissionList().then(res=>{
|
|
|
let data = res.data;
|
|
|
- this.frontPermissions = data.data
|
|
|
+ if (data.code==0) {
|
|
|
+ data.data.forEach(item=>{
|
|
|
+ if (item.menu_type=='A') {
|
|
|
+ this.adminPermissions.push(item)
|
|
|
+ } else if (item.menu_type=='C') {
|
|
|
+ this.frontPermissions.push(item)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.$message.error(data.message)
|
|
|
+ }
|
|
|
+
|
|
|
})
|
|
|
},
|
|
|
getRoleInfo() {
|