添加了访问控制功能
This commit is contained in:
parent
7eb2e26673
commit
fefd70b500
|
@ -23,7 +23,7 @@ export default {
|
||||||
try {
|
try {
|
||||||
console.log("urlList",urlList)
|
console.log("urlList",urlList)
|
||||||
|
|
||||||
webSocketService.connect(`ws:` + urlList[1] + `:16750/api/webSocketServer/` + auth)
|
webSocketService.connect(`ws:${ urlList[1] }:16750/api/webSocketServer/${ auth}`)
|
||||||
console.log("auth-app",auth)
|
console.log("auth-app",auth)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Failed to parse user message:', error)
|
console.error('Failed to parse user message:', error)
|
||||||
|
|
|
@ -24,16 +24,16 @@ export const getMenuLeaves = function() {
|
||||||
|
|
||||||
//单个菜单
|
//单个菜单
|
||||||
export const getMenuRoles = function(param) {
|
export const getMenuRoles = function(param) {
|
||||||
let menuId = param;
|
const menuId = param;
|
||||||
return request({
|
return request({
|
||||||
url: '/infra-service/menus/'+menuId+'/roles',
|
url: `/infra-service/menus/${menuId}/roles`,
|
||||||
method:'get'});
|
method:'get'});
|
||||||
};
|
};
|
||||||
|
|
||||||
//添加菜单
|
//添加菜单
|
||||||
export const addMenu = function(param) {
|
export const addMenu = function(param) {
|
||||||
let hostUrl = "";
|
const hostUrl = "";
|
||||||
let parentId = param.parent.id;
|
const parentId = param.parent.id;
|
||||||
//判断是根菜单 还是子菜单
|
//判断是根菜单 还是子菜单
|
||||||
if(parentId === undefined){
|
if(parentId === undefined){
|
||||||
return request({
|
return request({
|
||||||
|
@ -42,7 +42,7 @@ export const addMenu = function(param) {
|
||||||
params:Object.assign({},param),});
|
params:Object.assign({},param),});
|
||||||
}else{
|
}else{
|
||||||
return request({
|
return request({
|
||||||
url:'/infra-service/menus/'+parentId+'/children',
|
url:`/infra-service/menus/${parentId}/children`,
|
||||||
method:'post',
|
method:'post',
|
||||||
params:Object.assign({},param),});
|
params:Object.assign({},param),});
|
||||||
}
|
}
|
||||||
|
@ -50,7 +50,7 @@ export const addMenu = function(param) {
|
||||||
|
|
||||||
//添加菜单附加信息
|
//添加菜单附加信息
|
||||||
export const addMenuApendix = function(param) {
|
export const addMenuApendix = function(param) {
|
||||||
let parentId = param.menu.parent?.id;
|
const parentId = param.menu.parent?.id;
|
||||||
//判断是根菜单 还是子菜单
|
//判断是根菜单 还是子菜单
|
||||||
if(parentId === undefined){
|
if(parentId === undefined){
|
||||||
return request({
|
return request({
|
||||||
|
@ -59,7 +59,7 @@ export const addMenuApendix = function(param) {
|
||||||
data: param});
|
data: param});
|
||||||
}else{
|
}else{
|
||||||
return request({
|
return request({
|
||||||
url:'/infra-service/menus/'+parentId+'/children',
|
url:`/infra-service/menus/${parentId}/children`,
|
||||||
method:'post',
|
method:'post',
|
||||||
data: param});
|
data: param});
|
||||||
}
|
}
|
||||||
|
@ -67,51 +67,52 @@ export const addMenuApendix = function(param) {
|
||||||
|
|
||||||
//修改菜单
|
//修改菜单
|
||||||
export const editMenu = function(param) {
|
export const editMenu = function(param) {
|
||||||
let menuId = param.id;
|
const menuId = param.id;
|
||||||
return request({
|
return request({
|
||||||
url: '/infra-service/menus/' + menuId,
|
url: `/infra-service/menus/${ menuId}`,
|
||||||
params:Object.assign({},param),
|
params:Object.assign({},param),
|
||||||
method:'put'});
|
method:'put'});
|
||||||
};
|
};
|
||||||
|
|
||||||
//修改菜单附加信息
|
//修改菜单附加信息
|
||||||
export const editMenuApendix = function(param) {
|
export const editMenuApendix = function(param) {
|
||||||
let menuId = param.menu.id;
|
const menuId = param.menu.id;
|
||||||
return request({
|
return request({
|
||||||
url: '/infra-service/menus/' + menuId,
|
url: `/infra-service/menus/${ menuId}`,
|
||||||
data: param,
|
data: param,
|
||||||
method:'put'});
|
method:'put'});
|
||||||
};
|
};
|
||||||
|
|
||||||
//删除菜单
|
//删除菜单
|
||||||
export const removeMenu = function(param) {
|
export const removeMenu = function(param) {
|
||||||
let menuId = param.menuId;
|
const menuId = param.menuId;
|
||||||
return request({
|
return request({
|
||||||
url: '/infra-service/menus/' + menuId,
|
url: `/infra-service/menus/${ menuId}`,
|
||||||
method:'delete'});
|
method:'delete'});
|
||||||
};
|
};
|
||||||
|
|
||||||
//保存菜单角色
|
//保存菜单角色
|
||||||
export const addMenuRoles = function(param) {
|
export const addMenuRoles = function(param) {
|
||||||
let menuId = param.id;
|
const menuId = param.id;
|
||||||
let roleIds = param.roleIds;
|
const roleIds = param.roleIds;
|
||||||
let hostUrl = "";
|
const hostUrl = "";
|
||||||
if (roleIds && roleIds.length > 0) {
|
if (roleIds != null && (Array.isArray(roleIds) ? roleIds.length > 0 : roleIds !== '')){
|
||||||
|
console.log("parm",param)
|
||||||
return request({
|
return request({
|
||||||
url: "/infra-service/menus/" + menuId + "/roles/" + roleIds.toString(),
|
url: `/infra-service/menus/${ menuId }/roles/${ roleIds.toString()}`,
|
||||||
method:'put'});
|
method:'put'});
|
||||||
} else {
|
} else {
|
||||||
return request({
|
return request({
|
||||||
url: "/infra-service/menus/" + menuId + "/roles",
|
url: `/infra-service/menus/${ menuId }/roles`,
|
||||||
method:'delete'});
|
method:'delete'});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
//该菜单未有的角色列表
|
//该菜单未有的角色列表
|
||||||
export const getRoleList = function(param) {
|
export const getRoleList = function(param) {
|
||||||
let menuId = param;
|
const menuId = param;
|
||||||
return request({
|
return request({
|
||||||
url: '/infra-service/menus/'+menuId+'/barring-roles',
|
url: `/infra-service/menus/${menuId}/barring-roles`,
|
||||||
method:'get',
|
method:'get',
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -119,7 +120,7 @@ export const getRoleList = function(param) {
|
||||||
//根据菜单ID查询菜单详细信息
|
//根据菜单ID查询菜单详细信息
|
||||||
export const queryById = function(menuId) {
|
export const queryById = function(menuId) {
|
||||||
return request({
|
return request({
|
||||||
url: '/infra-service/menus/' + menuId,
|
url: `/infra-service/menus/${ menuId}`,
|
||||||
method: 'get'
|
method: 'get'
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -136,12 +137,11 @@ export const getIconImageResourceList = function() {
|
||||||
// 删除菜单图片资源
|
// 删除菜单图片资源
|
||||||
export const deleteIconImageFile = function(filename) {
|
export const deleteIconImageFile = function(filename) {
|
||||||
return request({
|
return request({
|
||||||
url: '/infra-service/menus/icon-image-resources/' + filename,
|
url: `/infra-service/menus/icon-image-resources/${filename}`,
|
||||||
method:'delete',});
|
method:'delete',});
|
||||||
};
|
};
|
||||||
|
|
||||||
// } added by justincao84 @ 2024.06.05
|
// } added by justincao84 @ 2024.06.05
|
||||||
|
//修改菜单角色
|
||||||
export const selectableMenuIcons = [
|
export const selectableMenuIcons = [
|
||||||
'el-icon-lx-attentionforbid',
|
'el-icon-lx-attentionforbid',
|
||||||
'el-icon-lx-attentionforbidfill',
|
'el-icon-lx-attentionforbidfill',
|
||||||
|
|
|
@ -2,7 +2,9 @@
|
||||||
<el-dialog v-model="dialogFormVisible" title="权限控制" width="80%" @close="close">
|
<el-dialog v-model="dialogFormVisible" title="权限控制" width="80%" @close="close">
|
||||||
<el-form ref="formRef" :model="form" :rules="rules" label-width="150px">
|
<el-form ref="formRef" :model="form" :rules="rules" label-width="150px">
|
||||||
<el-form-item label="角色" prop="role">
|
<el-form-item label="角色" prop="role">
|
||||||
<el-select v-model="form.role" placeholder="请选择角色"></el-select>
|
<el-select v-model="form.roleIds" placeholder="请选择角色">
|
||||||
|
<el-option v-for="item in options.role" :key="item.id" :label="item.name" :value="item.id" />
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
|
@ -12,14 +14,34 @@
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
|
import {getRoleMenuList,getRoleList,addMenuRoles,getMenuRoles} from "@/api/menuManagement";
|
||||||
const dialogFormVisible = ref(false)
|
const dialogFormVisible = ref(false)
|
||||||
const form = reactive({})
|
const form = reactive({
|
||||||
|
roleIds:"",
|
||||||
|
id:""
|
||||||
|
})
|
||||||
const rules = reactive({})
|
const rules = reactive({})
|
||||||
const formRef = ref(null)
|
const formRef = ref(null)
|
||||||
|
const options = reactive({})
|
||||||
|
const getRoleListApi = async (data) => {
|
||||||
|
const res = await getMenuRoles(data.id)
|
||||||
|
options.role = res
|
||||||
|
}
|
||||||
|
const showAccess = async (Item) => {
|
||||||
|
await getRoleListApi(Item)
|
||||||
|
form.id = Item.id
|
||||||
|
dialogFormVisible.value = true
|
||||||
|
}
|
||||||
const addSubmit = () => {
|
const addSubmit = () => {
|
||||||
formRef.value.validate((valid) => {
|
formRef.value.validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
console.log('submit', form)
|
addMenuRoles(form)
|
||||||
|
.then(() => {
|
||||||
|
ElMessage({
|
||||||
|
message: '修改成功',
|
||||||
|
type: 'success'
|
||||||
|
})
|
||||||
|
})
|
||||||
dialogFormVisible.value = false
|
dialogFormVisible.value = false
|
||||||
} else {
|
} else {
|
||||||
console.log('error submit')
|
console.log('error submit')
|
||||||
|
@ -32,4 +54,7 @@
|
||||||
dialogFormVisible.value = false
|
dialogFormVisible.value = false
|
||||||
emit('refresh')
|
emit('refresh')
|
||||||
}
|
}
|
||||||
|
defineExpose({
|
||||||
|
showAccess
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -203,6 +203,7 @@
|
||||||
const accessRef = ref(null)
|
const accessRef = ref(null)
|
||||||
const handleAccessControlView = (data) => {
|
const handleAccessControlView = (data) => {
|
||||||
//TODO: 跳转到访问控制页面
|
//TODO: 跳转到访问控制页面
|
||||||
|
accessRef.value.showAccess(data)
|
||||||
}
|
}
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getMenuTree()
|
getMenuTree()
|
||||||
|
|
Loading…
Reference in New Issue