From 9fdffd83dac65375301d929af9bb0332555c5856 Mon Sep 17 00:00:00 2001 From: jingna <1264204245@qq.com> Date: Fri, 23 May 2025 18:33:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=8F=9C=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core-frontend/src/api/permission/menu.ts | 11 +- core/core-frontend/src/api/permission/role.ts | 2 +- .../src/viewsnew/application/addpopup.vue | 6 +- .../application/menuconfig/assocmenu.vue | 557 ++++++++++++++++++ .../application/menuconfig/assocmodule.vue | 119 ++++ .../viewsnew/application/menuconfig/index.vue | 210 +++++-- .../application/module/Leftmenu/index.vue | 1 - .../src/viewsnew/application/module/index.vue | 3 +- .../application/permissionset/index.vue | 6 +- .../permissionset/organization/index.vue | 1 + .../application/permissionset/role/index.vue | 70 ++- .../application/permissionset/user/index.vue | 1 + .../service/dataset/form/CalcFieldEdit.vue | 7 +- .../application/service/dataset/index.vue | 5 +- .../application/service/datasource/index.vue | 3 +- 15 files changed, 916 insertions(+), 86 deletions(-) create mode 100644 core/core-frontend/src/viewsnew/application/menuconfig/assocmenu.vue create mode 100644 core/core-frontend/src/viewsnew/application/menuconfig/assocmodule.vue diff --git a/core/core-frontend/src/api/permission/menu.ts b/core/core-frontend/src/api/permission/menu.ts index bed76e6..345393a 100644 --- a/core/core-frontend/src/api/permission/menu.ts +++ b/core/core-frontend/src/api/permission/menu.ts @@ -1,8 +1,7 @@ import request from '@/config/axios' -export const getMenuTree = params => request.post({ url: '/menuInterface/getMenuTree', params }) // 查询用户 -export const addMenu = data => request.post({ url: '/menuInterface/addMenu', data }) // 新增用户 -export const updateMenuById = data => request.post({ url: '/menuInterface/updateMenuById', data }) //修改用户 -export const deleteMenuById = id => request.post({ url: '/menuInterface/deleteMenuById?id=' + id }) //删除 -// export const setStatus = params => request.post({ url: '/user/setStatus', params }) //设置有效状态 -// export const resetPassword = id => request.post({ url: '/user/resetPassword?id=' + id }) //重置密码 \ No newline at end of file +export const getMenuTree = params => request.post({ url: '/menuInterface/getMenuTree', params }) // 查询菜单 +export const addMenu = data => request.post({ url: '/menuInterface/addMenu', data }) // 新增菜单 +export const updateMenuById = data => request.post({ url: '/menuInterface/updateMenuById', data }) //修改菜单 +export const deleteMenuById = id => request.post({ url: '/menuInterface/deleteMenuById?id=' + id }) //删除菜单 +export const setModuleId = params => request.post({ url: '/menuInterface/setModuleId',params }) //关联模块 \ No newline at end of file diff --git a/core/core-frontend/src/api/permission/role.ts b/core/core-frontend/src/api/permission/role.ts index 48a93cf..e4e6f1b 100644 --- a/core/core-frontend/src/api/permission/role.ts +++ b/core/core-frontend/src/api/permission/role.ts @@ -7,4 +7,4 @@ export const setIsValid = params => request.post({ url: '/role/setIsvaild', para export const deleteRoleById = id => request.post({ url: '/role/deleteRoleById?id=' + id }) //删除 export const deleteRoleByIds = id => request.post({ url: '/role/deleteRoleByIds?ids=' + id }) //删除 export const permissionAssignment = params => request.post({ url: '/menuInterface/permissionAssignment', params }) //查询角色权限 -export const setMenuByRoleId = params => request.post({ url: '/menuInterface/setMenuByRoleId', params }) //设置角色权限 \ No newline at end of file +export const setMenuByRoleId = params => request.post({ url: '/role/setMenuByRoleId', params }) //设置角色权限 diff --git a/core/core-frontend/src/viewsnew/application/addpopup.vue b/core/core-frontend/src/viewsnew/application/addpopup.vue index 8eccee9..97493b2 100644 --- a/core/core-frontend/src/viewsnew/application/addpopup.vue +++ b/core/core-frontend/src/viewsnew/application/addpopup.vue @@ -277,14 +277,12 @@ const handleAvatarSuccess = file => { } .ed-dialog__headerbtn{ color: #ffffff; + top: 11px !important; + right: 15px !important; } .ed-dialog__title{ color: #ffffff; } -.ed-dialog__headerbtn{ - top: 10px !important; - right: 15px !important; -} .ed-dialog { border: 1px solid #4f5052; border-radius: 4px; diff --git a/core/core-frontend/src/viewsnew/application/menuconfig/assocmenu.vue b/core/core-frontend/src/viewsnew/application/menuconfig/assocmenu.vue new file mode 100644 index 0000000..9c61ce8 --- /dev/null +++ b/core/core-frontend/src/viewsnew/application/menuconfig/assocmenu.vue @@ -0,0 +1,557 @@ + + + + \ No newline at end of file diff --git a/core/core-frontend/src/viewsnew/application/menuconfig/assocmodule.vue b/core/core-frontend/src/viewsnew/application/menuconfig/assocmodule.vue new file mode 100644 index 0000000..2c043d8 --- /dev/null +++ b/core/core-frontend/src/viewsnew/application/menuconfig/assocmodule.vue @@ -0,0 +1,119 @@ + + + \ No newline at end of file diff --git a/core/core-frontend/src/viewsnew/application/menuconfig/index.vue b/core/core-frontend/src/viewsnew/application/menuconfig/index.vue index cef7299..058f0c9 100644 --- a/core/core-frontend/src/viewsnew/application/menuconfig/index.vue +++ b/core/core-frontend/src/viewsnew/application/menuconfig/index.vue @@ -1,23 +1,23 @@ - + + \ No newline at end of file diff --git a/core/core-frontend/src/viewsnew/application/module/Leftmenu/index.vue b/core/core-frontend/src/viewsnew/application/module/Leftmenu/index.vue index 3dfde66..7097a87 100644 --- a/core/core-frontend/src/viewsnew/application/module/Leftmenu/index.vue +++ b/core/core-frontend/src/viewsnew/application/module/Leftmenu/index.vue @@ -259,7 +259,6 @@ function delTreeClic(){ // 删除 height: 24px;"> -
-import { ref, onMounted,reactive} from 'vue' +import { ref, onMounted,nextTick} from 'vue' import permission_table_edit_blue from '@/assets/svg/permission_table_edit_blue.svg' import permission_table_del_blue from '@/assets/svg/permission_table_del_blue.svg' import perission_role_blue from '@/assets/svg/perission_role_blue.svg' @@ -8,7 +8,6 @@ import type { FormInstance } from 'element-plus' import { Delete } from '@element-plus/icons-vue' import { ElTable,ElTree,ElMessage, ElMessageBox } from 'element-plus' import { listRole,addRole,updateRole,setIsValid,deleteRoleById,deleteRoleByIds,permissionAssignment,setMenuByRoleId } from '@/api/permission/role' -import { getMenuTree } from '@/api/permission/menu' const props = defineProps({ applicationId:String }) @@ -42,6 +41,10 @@ const defaultProps = { } const treeloading = ref(false); const treeRef = ref>() +const currenttableid = ref('') +const Passparameter = ref([]) +//默认展开节点的key数组 +const DefaultDeployment: any = ref([]) const submitForm = (formEl: FormInstance | undefined) => { if (!formEl) return formEl.validate((valid) => { @@ -91,22 +94,23 @@ onMounted(() => { gettable() }) function permissionset(row:any){ - // const params = { - // roleId: row.id, - // appId: row.appId - // } - // permissionAssignment(params).then(res => { - // console.log(res,'权限设置') - // }) - const params = { - appId: props.applicationId, - name:'', - isdisplay:'' - } - getMenuTree(params).then(res => { - treeData.value = res.data - }) + currenttableid.value = row.id configdialog.value = true + treeloading.value = true + const params = { + roleId: row.id, + appId: props.applicationId, + } + permissionAssignment(params).then(res => { + treeData.value = res.data + let ids: any = [] + menuChange(res.data, ids) + nextTick(() => { + treeRef.value!.setCheckedKeys(ids) + }) + treeloading.value = false + }) + } function gettable(){ tableloading.value = true @@ -213,7 +217,6 @@ function setisValid(row:any){ isvaild:row.isvaild } setIsValid(params).then(res => { - console.log(res,'res') if(res.code == '0'){ gettable() ElMessage.success('设置成功') @@ -228,14 +231,33 @@ function confighandleClose(){ } function consfigsubmit(){ const params = { - id: '', - menuIds: '' + id: currenttableid.value, + menuIds: Passparameter.value.join(',') } setMenuByRoleId(params).then(res => { - console.log(res,'权限设置') + if(res.code == '0'){ + gettable() + ElMessage.success('设置成功') + }else{ + ElMessage.error('设置失败') + } }) configdialog.value = false } +function currentChecked(nodeObj: any, SelectedObj: any){ + Passparameter.value = SelectedObj.checkedKeys.concat(SelectedObj.halfCheckedKeys) +} +function menuChange(data: any, ids: any) { + data.forEach((item: any) => { + if (item.checkinfo == true) { + ids.push(item.id) + DefaultDeployment.value.push(item.id) + } + if (item.children) { + menuChange(item.children, ids) + } + }) +}