|
@@ -37,6 +37,7 @@
|
|
|
<el-table
|
|
|
v-loading="loading"
|
|
|
:data="menuList"
|
|
|
+ border
|
|
|
row-key="menuId"
|
|
|
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
|
|
|
>
|
|
@@ -48,7 +49,7 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="sort" label="排序" width="60px" />
|
|
|
<el-table-column prop="permission" label="权限标识" :show-overflow-tooltip="true" />
|
|
|
- <el-table-column prop="path" label="路径" :show-overflow-tooltip="true">
|
|
|
+ <el-table-column prop="path" label="组建路径" :show-overflow-tooltip="true">
|
|
|
<template slot-scope="scope">
|
|
|
<span v-if="scope.row.menuType=='A'">{{ scope.row.path }}</span>
|
|
|
<span v-else>{{ scope.row.component }}</span>
|
|
@@ -102,10 +103,9 @@
|
|
|
:visible.sync="open"
|
|
|
direction="rtl"
|
|
|
custom-class="demo-drawer"
|
|
|
- size="760px"
|
|
|
+ size="830px"
|
|
|
>
|
|
|
<div class="demo-drawer__content">
|
|
|
- <!-- <el-dialog :title="title" :visible.sync="open" width="600px"> -->
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
|
<el-row>
|
|
|
<el-col :span="24">
|
|
@@ -193,7 +193,7 @@
|
|
|
<el-input v-model="form.permission" placeholder="请权限标识" maxlength="50" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="24">
|
|
|
+ <el-col :span="12">
|
|
|
<el-form-item v-if="form.menuType != 'F'" label="菜单状态">
|
|
|
<el-radio-group v-model="form.visible">
|
|
|
<el-radio
|
|
@@ -204,36 +204,32 @@
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col>
|
|
|
- <el-transfer
|
|
|
- v-if="form.menuType == 'F' || form.menuType == 'C'"
|
|
|
- v-model="form.apis"
|
|
|
- style="text-align: left; display: inline-block"
|
|
|
- filterable
|
|
|
- :props="{
|
|
|
- key: 'id',
|
|
|
- label: 'path'
|
|
|
- }"
|
|
|
- :titles="['Source', 'Target']"
|
|
|
- :button-texts="['到左边', '到右边 ']"
|
|
|
- :format="{
|
|
|
- noChecked: '${total}',
|
|
|
- hasChecked: '${checked}/${total}'
|
|
|
- }"
|
|
|
- class="panel"
|
|
|
- :data="sysapiList"
|
|
|
- @change="handleChange"
|
|
|
- >
|
|
|
- <span slot-scope="{ option }">{{ option.id }} - {{ option.path }}</span>
|
|
|
-
|
|
|
- </el-transfer>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item v-if="form.menuType == 'F' || form.menuType == 'C'" label="api权限">
|
|
|
+ <el-transfer
|
|
|
+ v-model="form.apis"
|
|
|
+ style="text-align: left; display: inline-block"
|
|
|
+ filterable
|
|
|
+ :props="{
|
|
|
+ key: 'id',
|
|
|
+ label: 'path'
|
|
|
+ }"
|
|
|
+ :titles="['Source', 'Target']"
|
|
|
+ :button-texts="['到左边', '到右边 ']"
|
|
|
+ :format="{
|
|
|
+ noChecked: '${total}',
|
|
|
+ hasChecked: '${checked}/${total}'
|
|
|
+ }"
|
|
|
+ class="panel"
|
|
|
+ :data="sysapiList"
|
|
|
+ @change="handleChange"
|
|
|
+ >
|
|
|
+ <span slot-scope="{ option }">{{ option.id }} - {{ option.path }}</span>
|
|
|
+ </el-transfer>
|
|
|
+ </el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form>
|
|
|
- <!-- <div slot="footer" class="dialog-footer">
|
|
|
- <el-button type="primary" @click="submitForm">确 定</el-button>
|
|
|
- <el-button @click="cancel">取 消</el-button>
|
|
|
- </div> -->
|
|
|
<div class="demo-drawer__footer">
|
|
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
|
|
<el-button @click="cancel">取 消</el-button>
|
|
@@ -247,15 +243,15 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { listMenu, getMenu, delMenu, addMenu, updateMenu } from '@/api/system/menu'
|
|
|
+import { listMenu, getMenu, delMenu, addMenu, updateMenu } from '@/api/admin/sys-menu'
|
|
|
+import { listSysApi } from '@/api/admin/sys-api'
|
|
|
|
|
|
-import { listSysApi } from '@/api/sys-api'
|
|
|
import Treeselect from '@riophae/vue-treeselect'
|
|
|
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
|
|
import IconSelect from '@/components/IconSelect'
|
|
|
|
|
|
export default {
|
|
|
- name: 'Menu',
|
|
|
+ name: 'SysMenuManage',
|
|
|
components: { Treeselect, IconSelect },
|
|
|
data() {
|
|
|
return {
|