加上权限设置
This commit is contained in:
parent
db1d222a3b
commit
dce90e5d10
|
|
@ -303,6 +303,9 @@ export default {
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
saveRoleSetting({ adds, removes }) {
|
saveRoleSetting({ adds, removes }) {
|
||||||
|
if(!adds.length && !removes.length){
|
||||||
|
return;
|
||||||
|
}
|
||||||
let userRoleCreateRequest = [];
|
let userRoleCreateRequest = [];
|
||||||
adds.forEach(id => {
|
adds.forEach(id => {
|
||||||
userRoleCreateRequest.push({
|
userRoleCreateRequest.push({
|
||||||
|
|
@ -318,8 +321,10 @@ export default {
|
||||||
userRoleCreateRequest: userRoleCreateRequest
|
userRoleCreateRequest: userRoleCreateRequest
|
||||||
}
|
}
|
||||||
}).then(a => {
|
}).then(a => {
|
||||||
console.log(a)
|
this.$mk.success(a.msg);
|
||||||
});
|
}).catch(a=>{
|
||||||
|
this.$mk.error(a.data.msg);
|
||||||
|
})
|
||||||
},
|
},
|
||||||
confirmRoleSetting() {
|
confirmRoleSetting() {
|
||||||
let rows = this.$refs.xRoleTable.getCheckboxRecords();
|
let rows = this.$refs.xRoleTable.getCheckboxRecords();
|
||||||
|
|
@ -329,12 +334,12 @@ export default {
|
||||||
target_uid: this.currentRow.uid
|
target_uid: this.currentRow.uid
|
||||||
}
|
}
|
||||||
}).then(a => {
|
}).then(a => {
|
||||||
let roleList = a.data.UserRole || [];
|
let roleList = a.data.user_role || [];
|
||||||
let adds = [];
|
let adds = [];
|
||||||
let removes = [];
|
let removes = [];
|
||||||
roleList.forEach(roleItem => {
|
roleList.forEach(roleItem => {
|
||||||
if (rows.filter(row => row.id == roleItem.role_id).length == 0) {
|
if (rows.filter(row => row.id == roleItem.role_id).length == 0) {
|
||||||
removes.push(roleItem.role_id);
|
removes.push(roleItem.id);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
rows.forEach(row => {
|
rows.forEach(row => {
|
||||||
|
|
@ -345,8 +350,56 @@ export default {
|
||||||
this.saveRoleSetting({ adds, removes });
|
this.saveRoleSetting({ adds, removes });
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
confirmPermission() {
|
|
||||||
console.log(this.$refs.xPermissionTable.getCheckboxRecords())
|
savePermission({ adds, removes }) {
|
||||||
|
if(!adds.length && !removes.length){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let userCustomCreateRequest = [];
|
||||||
|
adds.forEach(id => {
|
||||||
|
userCustomCreateRequest.push({
|
||||||
|
"permission_code": id,
|
||||||
|
"target_uid": this.currentRow.uid
|
||||||
|
});
|
||||||
|
})
|
||||||
|
|
||||||
|
this.$mk.post({
|
||||||
|
url: this.actions.savePermission,
|
||||||
|
data: {
|
||||||
|
ids: removes,
|
||||||
|
userCustomCreateRequest: userCustomCreateRequest
|
||||||
|
}
|
||||||
|
}).then(a => {
|
||||||
|
this.$mk.success(a.msg);
|
||||||
|
}).catch(a=>{
|
||||||
|
this.$mk.error(a.data.msg);
|
||||||
|
})
|
||||||
|
},
|
||||||
|
confirmPermission() {
|
||||||
|
let rows = this.$refs.xPermissionTable.getCheckboxRecords();
|
||||||
|
rows = rows.filter(row=>row.permission_code);
|
||||||
|
|
||||||
|
this.$mk.post({
|
||||||
|
url: this.actions.userPermissionList,
|
||||||
|
data: {
|
||||||
|
target_uid: this.currentRow.uid
|
||||||
|
}
|
||||||
|
}).then(a => {
|
||||||
|
let customList = a.data.UserCustom || [];
|
||||||
|
let adds = [];
|
||||||
|
let removes = [];
|
||||||
|
customList.forEach(customItem => {
|
||||||
|
if (rows.filter(row => row.permission_code == customItem.permission_code).length == 0) {
|
||||||
|
removes.push(customItem.id);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
rows.forEach(row => {
|
||||||
|
if (customList.filter(customItem => row.permission_code == customItem.permission_code).length == 0) {
|
||||||
|
adds.push(row.permission_code);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.savePermission({ adds, removes });
|
||||||
|
});
|
||||||
},
|
},
|
||||||
roleDataInit() {
|
roleDataInit() {
|
||||||
this.$mk.post({
|
this.$mk.post({
|
||||||
|
|
@ -385,7 +438,8 @@ export default {
|
||||||
parentId: "s-" + item.service_id,
|
parentId: "s-" + item.service_id,
|
||||||
nodeTitle: item.title,
|
nodeTitle: item.title,
|
||||||
service_id: item.service_id,
|
service_id: item.service_id,
|
||||||
permission_id: item.id
|
permission_id: item.id,
|
||||||
|
permission_code: item.permission_code
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
this.permissionData = arr;
|
this.permissionData = arr;
|
||||||
|
|
@ -432,14 +486,14 @@ export default {
|
||||||
this.$mk.post({
|
this.$mk.post({
|
||||||
url: this.actions.userPermissionList,
|
url: this.actions.userPermissionList,
|
||||||
data: {
|
data: {
|
||||||
targe_uid: row.uid
|
target_uid: row.uid
|
||||||
}
|
}
|
||||||
}).then(a => {
|
}).then(a => {
|
||||||
this.showPermission = true;
|
this.showPermission = true;
|
||||||
let rows = [];
|
let rows = [];
|
||||||
console.log(a.data.UserCustom)
|
let uesrCustom = a.data.UserCustom || [];
|
||||||
this.permissionData.forEach(item => {
|
this.permissionData.forEach(item => {
|
||||||
if (a.data.UserCustom.filter(customerItem => item.id == customerItem.permission_id).length) {
|
if (uesrCustom.filter(customerItem => item.permission_code == customerItem.permission_code).length) {
|
||||||
rows.push(item);
|
rows.push(item);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -38,8 +38,28 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
<template #op3="{ row }">
|
||||||
|
<div class="oplinks2">
|
||||||
|
<a-button @click.stop="pagePermission(row)">权限设置</a-button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
</vxe-grid>
|
</vxe-grid>
|
||||||
</div>
|
</div>
|
||||||
|
<vxe-modal v-model="showPermission" @confirm="confirmPermission" width="900" show-footer>
|
||||||
|
<template #title>
|
||||||
|
<span>设置权限</span>
|
||||||
|
</template>
|
||||||
|
<template #default>
|
||||||
|
|
||||||
|
<vxe-table show-overflow auto-resize height="500" row-id="id" ref="xPermissionTable" :data="permissionData"
|
||||||
|
:tree-config="{ transform: true, expandAll: true }"
|
||||||
|
:checkbox-config="{ reserve: true, highlight: true, trigger: 'row', labelField: 'nodeTitle' }">
|
||||||
|
<vxe-column type="checkbox" title="权限" width="400" tree-node></vxe-column>
|
||||||
|
<vxe-column field="desc" title="描述"></vxe-column>
|
||||||
|
</vxe-table>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
</vxe-modal>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -58,9 +78,18 @@ export default {
|
||||||
keyName: 'id',
|
keyName: 'id',
|
||||||
actions: {
|
actions: {
|
||||||
getList: `${BASE_URL.BASE_URL}/BasePermission/v1/role/list`,
|
getList: `${BASE_URL.BASE_URL}/BasePermission/v1/role/list`,
|
||||||
delete: `${BASE_URL.BASE_URL}/BasePermission/v1/role/batchDelete`
|
delete: `${BASE_URL.BASE_URL}/BasePermission/v1/role/batchDelete`,
|
||||||
|
|
||||||
|
permissionList: `${BASE_URL.BASE_URL}/BasePermission/v1/service/permission/list`,
|
||||||
|
rolePermissionList: `${BASE_URL.BASE_URL}/BasePermission/v1/role/permission/list`,
|
||||||
|
savePermission: `${BASE_URL.BASE_URL}/BasePermission/v1/role/permission/batchHandle`,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
permissionData: [],
|
||||||
|
|
||||||
|
showPermission: false,
|
||||||
|
currentRow: null,
|
||||||
|
|
||||||
start_time: 0,
|
start_time: 0,
|
||||||
end_time: 0,
|
end_time: 0,
|
||||||
|
|
||||||
|
|
@ -130,6 +159,7 @@ export default {
|
||||||
{ type: 'checkbox', width: 50 },
|
{ type: 'checkbox', width: 50 },
|
||||||
{ type: 'seq', width: 50 },
|
{ type: 'seq', width: 50 },
|
||||||
{ title: '操作', slots: { default: 'op' },width:120 },
|
{ title: '操作', slots: { default: 'op' },width:120 },
|
||||||
|
{ title: '权限设置', slots: { default: 'op3' }, width: 120 },
|
||||||
{ field: 'name', sortable: true, title: '名称' },
|
{ field: 'name', sortable: true, title: '名称' },
|
||||||
{ field: 'desc', sortable: true, title: '描述', showHeaderOverflow: true }
|
{ field: 'desc', sortable: true, title: '描述', showHeaderOverflow: true }
|
||||||
]
|
]
|
||||||
|
|
@ -150,6 +180,8 @@ export default {
|
||||||
// 将表格和工具栏进行关联
|
// 将表格和工具栏进行关联
|
||||||
this.$refs.xGrid.connect(this.$refs.xToolbar)
|
this.$refs.xGrid.connect(this.$refs.xToolbar)
|
||||||
});
|
});
|
||||||
|
|
||||||
|
this.permissionDataInit();
|
||||||
},
|
},
|
||||||
// 监听 - 页面每次【加载时】执行
|
// 监听 - 页面每次【加载时】执行
|
||||||
onLoad() {
|
onLoad() {
|
||||||
|
|
@ -242,6 +274,121 @@ export default {
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
|
savePermission({ adds, removes }) {
|
||||||
|
if(!adds.length && !removes.length){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let rolePermissionCreateRequest = [];
|
||||||
|
adds.forEach(id => {
|
||||||
|
rolePermissionCreateRequest.push({
|
||||||
|
"permission_code": id,
|
||||||
|
"role_id": this.currentRow.id
|
||||||
|
});
|
||||||
|
})
|
||||||
|
|
||||||
|
this.$mk.post({
|
||||||
|
url: this.actions.savePermission,
|
||||||
|
data: {
|
||||||
|
ids: removes,
|
||||||
|
rolePermissionCreateRequest: rolePermissionCreateRequest
|
||||||
|
}
|
||||||
|
}).then(a => {
|
||||||
|
this.$mk.success(a.msg);
|
||||||
|
}).catch(a=>{
|
||||||
|
this.$mk.error(a.data.msg);
|
||||||
|
})
|
||||||
|
},
|
||||||
|
confirmPermission() {
|
||||||
|
let rows = this.$refs.xPermissionTable.getCheckboxRecords();
|
||||||
|
rows = rows.filter(row=>row.permission_code);
|
||||||
|
|
||||||
|
this.$mk.post({
|
||||||
|
url: this.actions.rolePermissionList,
|
||||||
|
data: {
|
||||||
|
role_id: this.currentRow.id
|
||||||
|
}
|
||||||
|
}).then(a => {
|
||||||
|
let customList = a.data.RolePermission || [];
|
||||||
|
let adds = [];
|
||||||
|
let removes = [];
|
||||||
|
customList.forEach(customItem => {
|
||||||
|
if (rows.filter(row => row.permission_code == customItem.permission_code).length == 0) {
|
||||||
|
removes.push(customItem.id);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
rows.forEach(row => {
|
||||||
|
if (customList.filter(customItem => row.permission_code == customItem.permission_code).length == 0) {
|
||||||
|
adds.push(row.permission_code);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.savePermission({ adds, removes });
|
||||||
|
});
|
||||||
|
},
|
||||||
|
permissionDataInit() {
|
||||||
|
|
||||||
|
this.$mk.post({
|
||||||
|
url: this.actions.permissionList,
|
||||||
|
data: {
|
||||||
|
}
|
||||||
|
}).then(a => {
|
||||||
|
let arr = [];
|
||||||
|
a.data.BasePermission.forEach(item => {
|
||||||
|
if (arr.filter(a => a.id == "s-" + item.service_id).length) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
arr.push({
|
||||||
|
id: "s-" + item.service_id,
|
||||||
|
parentId: null,
|
||||||
|
nodeTitle: item.service
|
||||||
|
})
|
||||||
|
});
|
||||||
|
a.data.BasePermission.forEach(item => {
|
||||||
|
|
||||||
|
arr.push({
|
||||||
|
id: item.id,
|
||||||
|
parentId: "s-" + item.service_id,
|
||||||
|
nodeTitle: item.title,
|
||||||
|
service_id: item.service_id,
|
||||||
|
permission_id: item.id,
|
||||||
|
permission_code: item.permission_code
|
||||||
|
})
|
||||||
|
});
|
||||||
|
this.permissionData = arr;
|
||||||
|
|
||||||
|
}).catch((a) => {
|
||||||
|
this.$mk.error(a.data.msg);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
pagePermission(row) {
|
||||||
|
if (!row) {
|
||||||
|
this.$mk.msg("请选择行");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.currentRow = row;
|
||||||
|
this.$mk.post({
|
||||||
|
url: this.actions.rolePermissionList,
|
||||||
|
data: {
|
||||||
|
role_id: row.id
|
||||||
|
}
|
||||||
|
}).then(a => {
|
||||||
|
this.showPermission = true;
|
||||||
|
let rows = [];
|
||||||
|
let rolePermission = a.data.RolePermission || [];
|
||||||
|
this.permissionData.forEach(item => {
|
||||||
|
if (rolePermission.filter(customerItem => item.permission_code == customerItem.permission_code).length) {
|
||||||
|
rows.push(item);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
setTimeout(() => {
|
||||||
|
this.$refs.xPermissionTable.clearCheckboxRow();
|
||||||
|
this.$refs.xPermissionTable.setCheckboxRow(rows, true);
|
||||||
|
}, 100);
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
pageDelete(row) {
|
pageDelete(row) {
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue