diff --git a/ui/src/api/acl/permission.js b/ui/src/api/acl/permission.js new file mode 100644 index 0000000..3d78a82 --- /dev/null +++ b/ui/src/api/acl/permission.js @@ -0,0 +1,56 @@ +import { axios } from '@/utils/request' + +const urlPrefix = '/v1/acl' + +export function getResourcePerms (resourceID) { + return axios({ + url: urlPrefix + `/resources/${resourceID}/permissions`, + method: 'GET' + }) +} + +export function getResourceTypePerms (typeID) { + return axios({ + url: urlPrefix + `/resource_types/${typeID}/perms`, + method: 'GET' + }) +} + +export function getResourceGroupPerms (resourceGroupID) { + return axios({ + url: urlPrefix + `/resource_groups/${resourceGroupID}/permissions`, + method: 'GET' + }) +} + +export function setRoleResourcePerm (rid, resourceID, params) { + return axios({ + url: urlPrefix + `/roles/${rid}/resources/${resourceID}/grant`, + method: 'POST', + data: params + }) +} + +export function setRoleResourceGroupPerm (rid, resourceGroupID, params) { + return axios({ + url: urlPrefix + `/roles/${rid}/resource_groups/${resourceGroupID}/grant`, + method: 'POST', + data: params + }) +} + +export function deleteRoleResourcePerm (rid, resourceID, params) { + return axios({ + url: urlPrefix + `/roles/${rid}/resources/${resourceID}/revoke`, + method: 'POST', + data: params + }) +} + +export function deleteRoleResourceGroupPerm (rid, resourceGroupID, params) { + return axios({ + url: urlPrefix + `/roles/${rid}/resource_groups/${resourceGroupID}/revoke`, + method: 'POST', + data: params + }) +} diff --git a/ui/src/views/cmdb/acl/module/permissionForm.vue b/ui/src/views/cmdb/acl/module/permissionForm.vue new file mode 100644 index 0000000..c7be895 --- /dev/null +++ b/ui/src/views/cmdb/acl/module/permissionForm.vue @@ -0,0 +1,238 @@ + + + + + diff --git a/ui/src/views/cmdb/acl/module/resourcePermForm.vue b/ui/src/views/cmdb/acl/module/resourcePermForm.vue new file mode 100644 index 0000000..b5d7966 --- /dev/null +++ b/ui/src/views/cmdb/acl/module/resourcePermForm.vue @@ -0,0 +1,211 @@ + + + + + diff --git a/ui/src/views/cmdb/acl/permissions.vue b/ui/src/views/cmdb/acl/permissions.vue new file mode 100644 index 0000000..592fe2b --- /dev/null +++ b/ui/src/views/cmdb/acl/permissions.vue @@ -0,0 +1,311 @@ + + + + + diff --git a/ui/src/views/cmdb/acl/roles.vue b/ui/src/views/cmdb/acl/roles.vue index 7499382..d947a75 100644 --- a/ui/src/views/cmdb/acl/roles.vue +++ b/ui/src/views/cmdb/acl/roles.vue @@ -281,8 +281,8 @@ export default { const msg = ((err.response || {}).data || {}).message || '请求出现错误,请稍后再试' this.$message.error(`${msg}`) }, - cancel () { - + cancel (e) { + return false } }, diff --git a/ui/src/views/cmdb/acl/users.vue b/ui/src/views/cmdb/acl/users.vue index 7f4581e..7099751 100644 --- a/ui/src/views/cmdb/acl/users.vue +++ b/ui/src/views/cmdb/acl/users.vue @@ -279,8 +279,10 @@ export default { return formLayout === 'horizontal' ? { wrapperCol: { span: 14, offset: 4 } } : {} + }, + cancel () { + return false } - }, mounted () { this.setScrollY()