Compare commits

...

3 Commits

  1. 7
      src/api/system/menu.js
  2. 9
      src/api/system/role.js
  3. 1
      src/page/index/index.vue
  4. 2
      src/page/index/top/top-menu.vue
  5. 2
      src/store/modules/dict.js
  6. 7
      src/store/modules/user.js
  7. 2
      src/views/authority/apiscope.vue
  8. 2
      src/views/authority/datascope.vue
  9. 220
      src/views/authority/role.vue
  10. 1
      src/views/system/dict.vue

@ -97,10 +97,11 @@ export const getTopMenu = () => request({
method: 'get'
});
export const getRoutes = (topMenuId) => request({
url: '/api/blade-system/menu/routes',
export const getRoutes = (roleId) => request({
url: '/smartpark/menu/routes',
method: 'get',
params: {
topMenuId,
roleId,
}
});

@ -13,14 +13,15 @@ export const getList = (current, size, params) => {
}
export const grantTree = () => {
return request({
url: '/api/blade-system/menu/grant-tree',
url: '/smartpark/menu/grant-tree',
method: 'get',
})
}
export const grant = (roleIds, menuIds, dataScopeIds, apiScopeIds) => {
return request({
url: '/api/blade-system/role/grant',
url: '/smartpark/role/grant',
method: 'post',
data: {
roleIds,
@ -60,7 +61,7 @@ export const update = (row) => {
export const getRole = (roleIds) => {
return request({
url: '/api/blade-system/menu/role-tree-keys',
url: '/smartpark/menu/role-tree-keys',
method: 'get',
params: {
roleIds,
@ -70,7 +71,7 @@ export const getRole = (roleIds) => {
export const getRoleTree = (tenantId) => {
return request({
url: '/api/blade-system/role/tree',
url: '/smartpark/role/tree',
method: 'get',
params: {
tenantId,

@ -88,6 +88,7 @@
},
//
openMenu(item = {}) {
console.log("itemitemitemopenMenu", item)
this.$store.dispatch("GetMenu", item.id).then(data => {
if (data.length !== 0) {
this.$router.$avueRouter.formatRoutes(data, true);

@ -45,12 +45,14 @@
},
methods: {
openHome(itemHome) {
this.index.openMenu(itemHome);
this.$router.push({
path: this.$router.$avueRouter.getPath({name: itemHome.name, src: ''}, {})
});
},
openMenu(item) {
console.log("openMenu", item)
this.index.openMenu(item)
},
getMenu() {

@ -10,7 +10,7 @@ const dict = {
FlowRoutes({commit}) {
return new Promise((resolve, reject) => {
getDictionary({code: 'flow'}).then(res => {
commit('SET_FLOW_ROUTES', res.data.data);
commit('SET_FLOW_ROUTES', res.data.result || []);
resolve();
}).catch(error => {
reject(error)

@ -253,10 +253,10 @@ const user = {
})
},
//获取系统菜单
GetMenu({commit, dispatch}, topMenuId) {
GetMenu({ commit, dispatch }, topMenuId) {
return new Promise(resolve => {
getRoutes(topMenuId).then((res) => {
const data = res.data.data
getRoutes().then((res) => {
const data = res.data.result
let menu = deepClone(data);
menu.forEach(ele => {
addPath(ele, true);
@ -266,6 +266,7 @@ const user = {
dispatch('GetButtons');
resolve(menu)
})
})
},
//获取系统按钮

@ -506,7 +506,7 @@
onLoad(page, params = {}) {
this.loading = true;
getLazyMenuList(this.parentId, Object.assign(params, this.query)).then(res => {
this.data = res.data.data;
this.data = res.data.result;
this.loading = false;
this.selectionClear();
});

@ -552,7 +552,7 @@ export default {
onLoad(page, params = {}) {
this.loading = true;
getLazyMenuList(this.parentId, Object.assign(params, this.query)).then(res => {
this.data = res.data.data;
this.data = res.data.result;
this.loading = false;
this.selectionClear();
});

@ -20,7 +20,7 @@
@on-load="onLoad"
>
<template slot="menuLeft">
<el-button
<!-- <el-button
type="danger"
size="small"
icon="el-icon-delete"
@ -28,7 +28,7 @@
plain
@click="handleDelete"
>
</el-button>
</el-button> -->
<el-button
size="small"
icon="el-icon-setting"
@ -152,36 +152,39 @@ export default {
border: true,
index: true,
selection: true,
viewBtn: true,
viewBtn: false,
addBtn: false,
editBtn: false, //
delBtn: false, //
labelWidth: 120,
searchLabelWidth: 120,
menuWidth: 350,
dialogWidth: 600,
dialogClickModal: false,
column: [
{
label: "上级角色",
prop: "parentId",
dicData: [],
type: "tree",
hide: true,
span: 24,
headerAlign: "center",
align: "center",
props: {
label: "title",
},
rules: [
{
required: false,
message: "请选择上级角色",
trigger: "click",
},
],
},
// {
// label: "",
// prop: "parentId",
// dicData: [],
// type: "tree",
// hide: true,
// span: 24,
// headerAlign: "center",
// align: "center",
// props: {
// label: "title",
// },
// rules: [
// {
// required: false,
// message: "",
// trigger: "click",
// },
// ],
// },
{
label: "角色名称",
prop: "roleName",
prop: "name",
search: true,
headerAlign: "center",
align: "center",
@ -194,36 +197,81 @@ export default {
},
],
},
// {
// label: "",
// prop: "tenantId",
// type: "tree",
// dicUrl: "/api/blade-system/tenant/select",
// addDisplay: false,
// editDisplay: false,
// headerAlign: "center",
// align: "center",
// viewDisplay: website.tenantMode,
// span: 24,
// props: {
// label: "tenantName",
// value: "tenantId",
// },
// hide: !website.tenantMode,
// search: website.tenantMode,
// rules: [
// {
// required: true,
// message: "",
// trigger: "click",
// },
// ],
// },
// {
// label: "",
// labelTip:
// ",",
// prop: "roleAlias",
// search: true,
// span: 24,
// headerAlign: "center",
// align: "center",
// rules: [
// {
// required: true,
// message: "",
// trigger: "blur",
// },
// ],
// },
// {
// label: "",
// labelTip: ",",
// prop: "currentAlias",
// type: "radio",
// dicData: [],
// headerAlign: "center",
// align: "center",
// props: {
// label: "roleName",
// value: "roleAlias",
// },
// hide: true,
// span: 24,
// },
// {
// label: "",
// prop: "sort",
// type: "number",
// headerAlign: "center",
// align: "center",
// span: 24,
// rules: [
// {
// required: true,
// message: "",
// trigger: "blur",
// },
// ],
// },
{
label: "所属租户",
prop: "tenantId",
type: "tree",
dicUrl: "/api/blade-system/tenant/select",
addDisplay: false,
editDisplay: false,
headerAlign: "center",
align: "center",
viewDisplay: website.tenantMode,
span: 24,
props: {
label: "tenantName",
value: "tenantId",
},
hide: !website.tenantMode,
search: website.tenantMode,
rules: [
{
required: true,
message: "请输入所属租户",
trigger: "click",
},
],
},
{
label: "角色别名",
labelTip:
"用于权限校验与标注的属性,可手动录入也可点击现有别名快速录入",
prop: "roleAlias",
label: "角色编码",
prop: "code",
search: true,
span: 24,
headerAlign: "center",
@ -231,37 +279,7 @@ export default {
rules: [
{
required: true,
message: "请输入角色别名",
trigger: "blur",
},
],
},
{
label: "现有别名",
labelTip: "当前系统已存在的角色别名,点击可快速录入",
prop: "currentAlias",
type: "radio",
dicData: [],
headerAlign: "center",
align: "center",
props: {
label: "roleName",
value: "roleAlias",
},
hide: true,
span: 24,
},
{
label: "角色排序",
prop: "sort",
type: "number",
headerAlign: "center",
align: "center",
span: 24,
rules: [
{
required: true,
message: "请输入角色排序",
message: "请输入角色编码",
trigger: "blur",
},
],
@ -312,9 +330,11 @@ export default {
});
},
submit() {
const menuList = this.$refs.treeMenu.getCheckedKeys();
const dataScopeList = this.$refs.treeDataScope.getCheckedKeys();
const apiScopeList = this.$refs.treeApiScope.getCheckedKeys();
const menuList = this.$refs.treeMenu ? this.$refs.treeMenu.getCheckedKeys() : [];
const dataScopeList = this.$refs.treeDataScope ? this.$refs.treeDataScope.getCheckedKeys() : [];
const apiScopeList = this.$refs.treeApiScope ? this.$refs.treeApiScope.getCheckedKeys() : [];
grant(this.idsArray, menuList, dataScopeList, apiScopeList).then(() => {
this.box = false;
this.$message({
@ -411,13 +431,14 @@ export default {
this.dataScopeTreeObj = [];
this.apiScopeTreeObj = [];
grantTree().then((res) => {
this.menuGrantList = res.data.data.menu;
this.dataScopeGrantList = res.data.data.dataScope;
this.apiScopeGrantList = res.data.data.apiScope;
const data = res.data.result
this.menuGrantList = data.menu;
this.dataScopeGrantList = data.dataScope || [];
this.apiScopeGrantList = data.apiScope || [];
getRole(this.ids).then((res) => {
this.menuTreeObj = res.data.data.menu;
this.dataScopeTreeObj = res.data.data.dataScope;
this.apiScopeTreeObj = res.data.data.apiScope;
this.menuTreeObj = res.data.result.menu;
this.dataScopeTreeObj = res.data.result.dataScope || [];
this.apiScopeTreeObj = res.data.result.apiScope || [];
this.box = true;
});
});
@ -427,13 +448,14 @@ export default {
this.dataScopeTreeObj = [];
this.apiScopeTreeObj = [];
grantTree().then((res) => {
this.menuGrantList = res.data.data.menu;
this.dataScopeGrantList = res.data.data.dataScope;
this.apiScopeGrantList = res.data.data.apiScope;
const data = res.data.result
this.menuGrantList = data.menu;
this.dataScopeGrantList = data.dataScope || [];
this.apiScopeGrantList = data.apiScope || [];
getRole(row.id).then((res) => {
this.menuTreeObj = res.data.data.menu;
this.dataScopeTreeObj = res.data.data.dataScope;
this.apiScopeTreeObj = res.data.data.apiScope;
this.menuTreeObj = res.data.result.menu;
this.dataScopeTreeObj = res.data.result.dataScope;
this.apiScopeTreeObj = res.data.result.apiScope;
this.selectionList.push(row);
this.box = true;
});

@ -339,6 +339,7 @@ export default {
})
.then(() => {
this.onLoadChild(this.pageChild);
this.$refs.crudChild.refresh();
this.$message({
type: "success",
message: "操作成功!"

Loading…
Cancel
Save