|
@ -62,14 +62,18 @@ |
|
|
<el-input v-model="scope.row.sortNo" size="mini"/> |
|
|
<el-input v-model="scope.row.sortNo" size="mini"/> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column>--> |
|
|
</el-table-column>--> |
|
|
<el-table-column prop="pageUrl" width="120" label="类型" align="center" /> |
|
|
<el-table-column prop="menuTypeValue" width="120" label="类型" align="center" /> |
|
|
<el-table-column prop="pageUrl" label="链接地址" align="center" /> |
|
|
<el-table-column prop="pageUrl" label="路由路径" align="center" /> |
|
|
<el-table-column prop="isShow" label="可见性" align="center"> |
|
|
<el-table-column prop="menuUrl" label="路由名称" align="center" /> |
|
|
|
|
|
<el-table-column prop="pageName" label="组件路径" align="center" /> |
|
|
|
|
|
<el-table-column prop="cid" label="权限标识" align="center" /> |
|
|
|
|
|
<el-table-column prop="isShow" label="状态" align="center"> |
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<el-switch v-model="scope.row.isShow" active-color="#13ce66" inactive-color="#ff4949" active-value="1" |
|
|
<el-switch v-model="scope.row.isShow" active-color="#13ce66" inactive-color="#ff4949" active-value="1" |
|
|
inactive-value="0" @change="enabledChange(scope.row.isShow,scope.row)" /> |
|
|
inactive-value="0" @change="enabledChange(scope.row.isShow,scope.row)" /> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column prop="sortNo" label="排序" align="center" /> |
|
|
</el-table> |
|
|
</el-table> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
@ -77,16 +81,35 @@ |
|
|
<!-- 编辑功能信息 --> |
|
|
<!-- 编辑功能信息 --> |
|
|
<el-dialog :title="dialogTitle + '功能信息'" :visible.sync="editDialog" width="40%"> |
|
|
<el-dialog :title="dialogTitle + '功能信息'" :visible.sync="editDialog" width="40%"> |
|
|
<table class="e-table" cellspacing="0"> |
|
|
<table class="e-table" cellspacing="0"> |
|
|
<!-- <tr> |
|
|
<tr> |
|
|
|
|
|
<td>资源名称</td> |
|
|
|
|
|
<td> |
|
|
|
|
|
<el-input v-model="form.sourceName" :disabled="true" style="width:300px" /> |
|
|
|
|
|
</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
<td>上级菜单</td> |
|
|
<td>上级菜单</td> |
|
|
<td> |
|
|
<td> |
|
|
<el-input v-model="form.pname" :disabled="true" style="width:300px" /> |
|
|
<!-- <el-input v-model="form.pname" :disabled="true" style="width:300px" /> --> |
|
|
|
|
|
|
|
|
|
|
|
<el-select v-model="form.pname" placeholder="请选择" style="width:300px"> |
|
|
|
|
|
<el-option hidden :key="form.psid" :label="form.pname" :value="form.pname"></el-option> |
|
|
|
|
|
<el-tree :data="treedata" ref="Tree" show-checkbox accordion node-key="sid" |
|
|
|
|
|
:default-checked-keys="checkedId" :default-expand-all='true' :check-strictly='true' |
|
|
|
|
|
:props="defaultProps" @check-change="checkchange" @node-click="departmentClick"> |
|
|
|
|
|
</el-tree> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
|
|
|
</td> |
|
|
</td> |
|
|
</tr> --> |
|
|
</tr> |
|
|
<tr> |
|
|
<tr> |
|
|
<td>资源名称</td> |
|
|
<td>类型分类</td> |
|
|
<td> |
|
|
<td> |
|
|
<el-input v-model="form.sourceName" :disabled="true" style="width:300px" /> |
|
|
<el-radio-group v-model="editMenuType" @change="menuTypeChangeRadio"> |
|
|
|
|
|
<el-radio :label="'0'">目录</el-radio> |
|
|
|
|
|
<el-radio :label="'1'">菜单</el-radio> |
|
|
|
|
|
<el-radio :label="'2'">按钮</el-radio> |
|
|
|
|
|
</el-radio-group> |
|
|
</td> |
|
|
</td> |
|
|
</tr> |
|
|
</tr> |
|
|
<tr> |
|
|
<tr> |
|
@ -96,36 +119,41 @@ |
|
|
</td> |
|
|
</td> |
|
|
</tr> |
|
|
</tr> |
|
|
<tr> |
|
|
<tr> |
|
|
<td>菜单路由</td> |
|
|
<td>路由路径</td> |
|
|
<td> |
|
|
<td> |
|
|
<el-input v-model="form.menuUrl" /> |
|
|
<el-input v-model="form.menuUrl" /> |
|
|
</td> |
|
|
</td> |
|
|
</tr> |
|
|
</tr> |
|
|
<tr> |
|
|
<tr> |
|
|
<td>菜单图片路径</td> |
|
|
<td>路由名称</td> |
|
|
|
|
|
<td> |
|
|
|
|
|
<el-input v-model="form.pageUrl" /> |
|
|
|
|
|
</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td>菜单图片</td> |
|
|
<td> |
|
|
<td> |
|
|
<el-input v-model="form.iconUrl" /> |
|
|
<el-input v-model="form.iconUrl" /> |
|
|
</td> |
|
|
</td> |
|
|
</tr> |
|
|
</tr> |
|
|
<tr> |
|
|
<tr> |
|
|
<td>前端页面名称</td> |
|
|
<td>组件路径</td> |
|
|
<td> |
|
|
<td> |
|
|
<el-input v-model="form.pageName" /> |
|
|
<el-input v-model="form.pageName" /> |
|
|
</td> |
|
|
</td> |
|
|
</tr> |
|
|
</tr> |
|
|
<tr> |
|
|
<tr v-show="editMenuType=='2'"> |
|
|
<td>前端页面路径</td> |
|
|
<td>权限标识</td> |
|
|
<td> |
|
|
<td> |
|
|
<el-input v-model="form.pageUrl" /> |
|
|
<el-input v-model="form.cid" /> |
|
|
</td> |
|
|
</td> |
|
|
</tr> |
|
|
</tr> |
|
|
<tr> |
|
|
<tr> |
|
|
<td>类型分类</td> |
|
|
<td>是否手机端权限</td> |
|
|
<td> |
|
|
<td> |
|
|
<el-radio-group v-model="editMenuType" @change="menuTypeChangeRadio"> |
|
|
<el-radio-group v-model="editPhoneFunction" @change="changeRadio4"> |
|
|
<el-radio :label="'1'">目录</el-radio> |
|
|
<el-radio :label="'0'">否</el-radio> |
|
|
<el-radio :label="'2'">菜单</el-radio> |
|
|
<el-radio :label="'1'">是</el-radio> |
|
|
<el-radio :label="'3'">按钮</el-radio> |
|
|
|
|
|
</el-radio-group> |
|
|
</el-radio-group> |
|
|
</td> |
|
|
</td> |
|
|
</tr> |
|
|
</tr> |
|
@ -158,7 +186,7 @@ |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
</el-tab-pane> |
|
|
</el-tab-pane> |
|
|
<el-tab-pane label="新增菜单" name="addrole"> |
|
|
<el-tab-pane label="新增菜单" name="addrole" class="listconadd"> |
|
|
<!-- 添加 --> |
|
|
<!-- 添加 --> |
|
|
<!--<el-dialog :title="dialogTitle + '菜单管理'" :visible.sync="editDialog" width="40%">--> |
|
|
<!--<el-dialog :title="dialogTitle + '菜单管理'" :visible.sync="editDialog" width="40%">--> |
|
|
<table class="e-table" cellspacing="0"> |
|
|
<table class="e-table" cellspacing="0"> |
|
@ -174,6 +202,32 @@ |
|
|
<el-input v-model="form.sourceName" :disabled="true" style="width:300px" /> |
|
|
<el-input v-model="form.sourceName" :disabled="true" style="width:300px" /> |
|
|
</td> |
|
|
</td> |
|
|
</tr> |
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td>上级菜单</td> |
|
|
|
|
|
<td> |
|
|
|
|
|
<!-- <el-tree v-loading="loading" :data="treedata" ref="sourceTree" accordion node-key="sid" |
|
|
|
|
|
:props="defaultProps" @check-change="checkchange"> |
|
|
|
|
|
</el-tree> --> |
|
|
|
|
|
|
|
|
|
|
|
<el-select v-model="form.pname" placeholder="请选择" style="width:300px"> |
|
|
|
|
|
<el-option hidden :key="form.psid" :label="form.pname" :value="form.pname"></el-option> |
|
|
|
|
|
<el-tree :data="treedata" ref="Tree" show-checkbox accordion node-key="sid" |
|
|
|
|
|
:default-checked-keys="checkedId" :default-expand-all='true' :check-strictly='true' |
|
|
|
|
|
:props="defaultProps" @check-change="checkchange" @node-click="departmentClick"> |
|
|
|
|
|
</el-tree> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td>类型分类</td> |
|
|
|
|
|
<td> |
|
|
|
|
|
<el-radio-group v-model="addMenuType" @change="menuTypeChangeRadio2"> |
|
|
|
|
|
<el-radio :label="'0'">目录</el-radio> |
|
|
|
|
|
<el-radio :label="'1'">菜单</el-radio> |
|
|
|
|
|
<el-radio :label="'2'">按钮</el-radio> |
|
|
|
|
|
</el-radio-group> |
|
|
|
|
|
</td> |
|
|
|
|
|
</tr> |
|
|
<tr> |
|
|
<tr> |
|
|
<td>菜单名称</td> |
|
|
<td>菜单名称</td> |
|
|
<td> |
|
|
<td> |
|
@ -181,36 +235,41 @@ |
|
|
</td> |
|
|
</td> |
|
|
</tr> |
|
|
</tr> |
|
|
<tr> |
|
|
<tr> |
|
|
<td>菜单路由</td> |
|
|
<td>路由路径</td> |
|
|
|
|
|
<td> |
|
|
|
|
|
<el-input v-model="form.pageUrl" style="width:300px" /> |
|
|
|
|
|
</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td>路由名称</td> |
|
|
<td> |
|
|
<td> |
|
|
<el-input v-model="form.menuUrl" style="width:300px" /> |
|
|
<el-input v-model="form.menuUrl" style="width:300px" /> |
|
|
</td> |
|
|
</td> |
|
|
</tr> |
|
|
</tr> |
|
|
<tr> |
|
|
<tr> |
|
|
<td>菜单图片路径</td> |
|
|
<td>菜单图片</td> |
|
|
<td> |
|
|
<td> |
|
|
<el-input v-model="form.iconUrl" style="width:300px" /> |
|
|
<el-input v-model="form.iconUrl" style="width:300px" /> |
|
|
</td> |
|
|
</td> |
|
|
</tr> |
|
|
</tr> |
|
|
<tr> |
|
|
<tr> |
|
|
<td>前端页面名称</td> |
|
|
<td>组件路径</td> |
|
|
<td> |
|
|
<td> |
|
|
<el-input v-model="form.pageName" style="width:300px" /> |
|
|
<el-input v-model="form.pageName" style="width:300px" /> |
|
|
</td> |
|
|
</td> |
|
|
</tr> |
|
|
</tr> |
|
|
<tr> |
|
|
<tr v-show="addMenuType=='2'"> |
|
|
<td>前端页面路径</td> |
|
|
<td>权限标识</td> |
|
|
<td> |
|
|
<td> |
|
|
<el-input v-model="form.pageUrl" style="width:300px" /> |
|
|
<el-input v-model="form.cid" /> |
|
|
</td> |
|
|
</td> |
|
|
</tr> |
|
|
</tr> |
|
|
<tr> |
|
|
<tr> |
|
|
<td>类型分类</td> |
|
|
<td>是否手机端权限</td> |
|
|
<td> |
|
|
<td> |
|
|
<el-radio-group v-model="addMenuType" @change="menuTypeChangeRadio2"> |
|
|
<el-radio-group v-model="addPhoneFunction" @change="changeRadio3"> |
|
|
<el-radio :label="'1'">目录</el-radio> |
|
|
<el-radio :label="'0'">否</el-radio> |
|
|
<el-radio :label="'2'">菜单</el-radio> |
|
|
<el-radio :label="'1'">是</el-radio> |
|
|
<el-radio :label="'3'">按钮</el-radio> |
|
|
|
|
|
</el-radio-group> |
|
|
</el-radio-group> |
|
|
</td> |
|
|
</td> |
|
|
</tr> |
|
|
</tr> |
|
@ -251,7 +310,8 @@ |
|
|
saveMenusInfo, |
|
|
saveMenusInfo, |
|
|
putMenusInfo, |
|
|
putMenusInfo, |
|
|
delMenus, |
|
|
delMenus, |
|
|
IsEnable |
|
|
IsEnable, |
|
|
|
|
|
sourceMenuTree, |
|
|
} from '@/api/system/menu/index.js' |
|
|
} from '@/api/system/menu/index.js' |
|
|
|
|
|
|
|
|
export default { |
|
|
export default { |
|
@ -263,7 +323,7 @@ |
|
|
dialogTitle: '', |
|
|
dialogTitle: '', |
|
|
checked: '', |
|
|
checked: '', |
|
|
form: { |
|
|
form: { |
|
|
pname: '顶级菜单', |
|
|
pname: '', |
|
|
iconUrl: '', |
|
|
iconUrl: '', |
|
|
isShow: '1', |
|
|
isShow: '1', |
|
|
menuName: '', |
|
|
menuName: '', |
|
@ -275,10 +335,11 @@ |
|
|
psid: '', |
|
|
psid: '', |
|
|
remarks: '', |
|
|
remarks: '', |
|
|
sortNo: 0, |
|
|
sortNo: 0, |
|
|
|
|
|
cid: '', |
|
|
sourceName: 'wms', |
|
|
sourceName: 'wms', |
|
|
|
|
|
phoneFunction: "0", |
|
|
sourceSid: 'd936f1ba-03c3-11ec-bf08-48452053aa33' |
|
|
sourceSid: 'd936f1ba-03c3-11ec-bf08-48452053aa33' |
|
|
}, |
|
|
}, |
|
|
formBackup: Object.assign({}, this.form), |
|
|
|
|
|
tableData: [], |
|
|
tableData: [], |
|
|
page: { |
|
|
page: { |
|
|
current: 1, |
|
|
current: 1, |
|
@ -296,8 +357,18 @@ |
|
|
isadd: false, |
|
|
isadd: false, |
|
|
editShow: '1', |
|
|
editShow: '1', |
|
|
addShow: '1', |
|
|
addShow: '1', |
|
|
addMenuType: '1', |
|
|
addMenuType: '0', |
|
|
editMenuType: '1', |
|
|
editMenuType: '0', |
|
|
|
|
|
addPhoneFunction: "0", |
|
|
|
|
|
editPhoneFunction: "0", |
|
|
|
|
|
// 树形 |
|
|
|
|
|
loading: false, |
|
|
|
|
|
defaultProps: { |
|
|
|
|
|
children: 'children', |
|
|
|
|
|
label: 'name' |
|
|
|
|
|
}, |
|
|
|
|
|
checkedId: [], // 菜单授权 已选中 |
|
|
|
|
|
treedata: [], // 菜单授权 |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
mounted() { |
|
|
mounted() { |
|
@ -309,6 +380,31 @@ |
|
|
// }) |
|
|
// }) |
|
|
}, |
|
|
}, |
|
|
methods: { |
|
|
methods: { |
|
|
|
|
|
departmentClick(data) { |
|
|
|
|
|
console.log("departmentClick", data); |
|
|
|
|
|
this.form.psid = data.sid |
|
|
|
|
|
this.form.pname = data.name |
|
|
|
|
|
this.$refs.Tree.visible = false |
|
|
|
|
|
}, |
|
|
|
|
|
checkchange(data, checked) { |
|
|
|
|
|
console.log("checkchange", data); |
|
|
|
|
|
console.log("checkchange", checked); |
|
|
|
|
|
if (checked) { |
|
|
|
|
|
this.form.psid = data.sid |
|
|
|
|
|
this.form.pname = data.name |
|
|
|
|
|
|
|
|
|
|
|
let arr = [] |
|
|
|
|
|
arr = [data.sid]; |
|
|
|
|
|
this.$refs.Tree.setCheckedKeys(arr); |
|
|
|
|
|
|
|
|
|
|
|
console.log("checkchange", this.form.pname); |
|
|
|
|
|
console.log("checkchange", this.form.psid); |
|
|
|
|
|
|
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
menuTypeChangeRadio(val) { |
|
|
menuTypeChangeRadio(val) { |
|
|
console.log('menuTypeChangeRadio', val) |
|
|
console.log('menuTypeChangeRadio', val) |
|
|
this.form.menuType = val |
|
|
this.form.menuType = val |
|
@ -325,6 +421,14 @@ |
|
|
console.log('changeRadio2', val) |
|
|
console.log('changeRadio2', val) |
|
|
this.form.isShow = val |
|
|
this.form.isShow = val |
|
|
}, |
|
|
}, |
|
|
|
|
|
changeRadio3(val) { |
|
|
|
|
|
console.log('changeRadio', val) |
|
|
|
|
|
this.form.phoneFunction = val |
|
|
|
|
|
}, |
|
|
|
|
|
changeRadio4(val) { |
|
|
|
|
|
console.log('changeRadio2', val) |
|
|
|
|
|
this.form.phoneFunction = val |
|
|
|
|
|
}, |
|
|
pagination(val) { // 分页 |
|
|
pagination(val) { // 分页 |
|
|
this.page.current = val.pageNum |
|
|
this.page.current = val.pageNum |
|
|
this.page.size = val.pageSize |
|
|
this.page.size = val.pageSize |
|
@ -341,12 +445,14 @@ |
|
|
const treedata = res.data |
|
|
const treedata = res.data |
|
|
console.log('菜单列表', res) |
|
|
console.log('菜单列表', res) |
|
|
this.tableData = treedata |
|
|
this.tableData = treedata |
|
|
|
|
|
this.treedata = treedata |
|
|
this.page.total = res.data.total |
|
|
this.page.total = res.data.total |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
// 资源名称 |
|
|
// 资源名称 |
|
|
getsourceList() { |
|
|
getsourceList() { |
|
|
const params = {} |
|
|
const params = {} |
|
|
|
|
|
console.log() |
|
|
sourceList(params).then(res => { |
|
|
sourceList(params).then(res => { |
|
|
this.sourceNameData = res.data |
|
|
this.sourceNameData = res.data |
|
|
this.loading = false |
|
|
this.loading = false |
|
@ -355,14 +461,14 @@ |
|
|
handleClick(tab, event) { |
|
|
handleClick(tab, event) { |
|
|
if (tab.name == 'addrole') { |
|
|
if (tab.name == 'addrole') { |
|
|
this.dialogTitle = '新增' |
|
|
this.dialogTitle = '新增' |
|
|
this.form = Object.assign({}, this.formBackup) |
|
|
|
|
|
this.form.isShow = '1' |
|
|
this.form.isShow = '1' |
|
|
this.form.menuType = '1' |
|
|
this.form.menuType = '0' |
|
|
// this.form.psid = row.sid || 0 |
|
|
// this.form.psid = row.sid || 0 |
|
|
this.form.pname = '顶级菜单' |
|
|
|
|
|
this.form.sourceName = 'wms' |
|
|
this.form.sourceName = 'wms' |
|
|
this.form.sourceSid = 'd936f1ba-03c3-11ec-bf08-48452053aa33' |
|
|
this.form.sourceSid = 'd936f1ba-03c3-11ec-bf08-48452053aa33' |
|
|
this.form.psid = 0 |
|
|
this.form.pname = '' |
|
|
|
|
|
this.form.psid = '0' |
|
|
|
|
|
// this.sourceMenus() |
|
|
} else { |
|
|
} else { |
|
|
this.getPageList() |
|
|
this.getPageList() |
|
|
} |
|
|
} |
|
@ -376,11 +482,11 @@ |
|
|
// } |
|
|
// } |
|
|
// this.dialogTitle = '新增' |
|
|
// this.dialogTitle = '新增' |
|
|
// this.editDialog = true |
|
|
// this.editDialog = true |
|
|
this.form = Object.assign({}, this.formBackup) |
|
|
|
|
|
this.form.isShow = '1' |
|
|
this.form.isShow = '1' |
|
|
this.form.menuType = '1' |
|
|
this.form.menuType = '0' |
|
|
// this.form.psid = row.sid || 0 |
|
|
// this.form.psid = row.sid || 0 |
|
|
this.form.pname = row.name || '顶级菜单' |
|
|
this.form.pname = '' |
|
|
|
|
|
this.form.psid = '' |
|
|
this.form.sourceName = row.sourceName |
|
|
this.form.sourceName = row.sourceName |
|
|
this.form.sourceSid = row.sourceSid |
|
|
this.form.sourceSid = row.sourceSid |
|
|
if (row.isSource == '1') { |
|
|
if (row.isSource == '1') { |
|
@ -406,6 +512,7 @@ |
|
|
putMenusInfo(this.form).then(res => { |
|
|
putMenusInfo(this.form).then(res => { |
|
|
this.editDialog = false |
|
|
this.editDialog = false |
|
|
this.getPageList() |
|
|
this.getPageList() |
|
|
|
|
|
this.rest() |
|
|
this.$message({ |
|
|
this.$message({ |
|
|
message: res.msg, |
|
|
message: res.msg, |
|
|
type: 'success' |
|
|
type: 'success' |
|
@ -415,12 +522,35 @@ |
|
|
saveMenusInfo(this.form).then(res => { |
|
|
saveMenusInfo(this.form).then(res => { |
|
|
this.activeName = 'roleList' |
|
|
this.activeName = 'roleList' |
|
|
this.getPageList() |
|
|
this.getPageList() |
|
|
|
|
|
this.rest() |
|
|
this.$message({ |
|
|
this.$message({ |
|
|
message: res.msg, |
|
|
message: res.msg, |
|
|
type: 'success' |
|
|
type: 'success' |
|
|
}) |
|
|
}) |
|
|
}) |
|
|
}) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
rest() { |
|
|
|
|
|
this.form = { |
|
|
|
|
|
pname: '', |
|
|
|
|
|
iconUrl: '', |
|
|
|
|
|
isShow: '1', |
|
|
|
|
|
menuName: '', |
|
|
|
|
|
menuUrl: '', |
|
|
|
|
|
pageAliasName: '', |
|
|
|
|
|
pageName: '', |
|
|
|
|
|
pageUrl: '', |
|
|
|
|
|
pageUrlRedirect: '', |
|
|
|
|
|
psid: '', |
|
|
|
|
|
remarks: '', |
|
|
|
|
|
cid: '', |
|
|
|
|
|
sortNo: 0, |
|
|
|
|
|
sourceName: 'wms', |
|
|
|
|
|
phoneFunction: "0", |
|
|
|
|
|
sourceSid: 'd936f1ba-03c3-11ec-bf08-48452053aa33' |
|
|
|
|
|
} |
|
|
}, |
|
|
}, |
|
|
deleteRow(row) { |
|
|
deleteRow(row) { |
|
|
this.$confirm('确定要删除该菜单吗, 是否继续?', '提示', { |
|
|
this.$confirm('确定要删除该菜单吗, 是否继续?', '提示', { |
|
|