From c44f4d36985ee5ac0d1f5f81418b567d6882a028 Mon Sep 17 00:00:00 2001 From: zhangyongQINGHU <15371817+zhangyongqinghu@user.noreply.gitee.com> Date: Sun, 20 Jul 2025 13:11:58 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BC=96=E8=BE=91=E6=9D=83=E9=99=90=E5=AE=8C?= =?UTF-8?q?=E6=88=90=EF=BC=8C=E6=96=B0=E5=BB=BA=E7=94=A8=E6=88=B7=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/permissions/permission.vue | 79 +++++++++++++++++++++++------------- 1 file changed, 50 insertions(+), 29 deletions(-) diff --git a/src/views/permissions/permission.vue b/src/views/permissions/permission.vue index 0d4354e..88dbf93 100644 --- a/src/views/permissions/permission.vue +++ b/src/views/permissions/permission.vue @@ -54,8 +54,8 @@ const addAdmin = ref({ market: [], permission: '', postiton: '', - machineId: '', // 初始机器码输入框 - machineIds: [], // 动态添加的机器码输入框 + machineIds: [''], // 动态添加的机器码输入框 + machineId:'', remark: '' }) // 新增角色对象 @@ -73,21 +73,18 @@ const permissionSelect = ref() // 编辑用户权限对象 const permissionEditObj = ref({ checkedKeys: [], - machineIds: [], - machineId: '' + machineIds: [''], + machineId:'' }) const addMachineIdInput = function () { - if (addAdmin.value.machineIds.length >= 1) { + if (addAdmin.value.machineIds.length >= 2) { ElMessage.warning('设备数量已达上限') return } addAdmin.value.machineIds.push('') } const UseraddMachineIdInput = function () { - if (!permissionEditObj.value.machineIds) { - permissionEditObj.value.machineIds = []; - } - if (permissionEditObj.value.machineIds.length >= 1) { + if (permissionEditObj.value.machineIds.length >= 2) { ElMessage.warning('设备数量已达上限') return } @@ -211,8 +208,8 @@ const openUserAddVisible = function () { market: '', permission: '', postiton: '', - machineId: '', - machineIds: [], + machineId:'', + machineIds: [''], remark: '' }; @@ -231,8 +228,8 @@ const closeUserAddVisible = function () { market: '', permission: '', postiton: '', - machineId: '', - machineIds: [], + machineId:'', + machineIds: [''], remark: '' }; userAddVisible.value = false; @@ -271,7 +268,7 @@ const permissionAdd = async function () { "market": addAdmin.value.market,//地区 "roleId": addAdmin.value.permission,//权限ID "postiton": addAdmin.value.postiton,//职位 - "machineId": addAdmin.value.machineId,//机器码 + "machineId": addAdmin.value.machineIds[0],//机器码 "remark": addAdmin.value.remark//备注 } const result = await request({ @@ -326,7 +323,6 @@ const getRoles = async function () { } } - // 打开编辑用户权限弹窗 const openUserEditVisible = function () { getRoles() @@ -364,10 +360,28 @@ const permissionEditInit = async function (row) { permissionEditObj.value.parentName = result.data?.fatherName getUserLists(row.roleId) + let machineIdsRef = await request({ + url: '/permission/getPermission', + data: { + "pageNum": 1,//页码数 + "pageSize": 1,//页条数 + "permission": { + account: row.account,//OA号 + } + } + }) + + if (machineIdsRef.data.list[0].machineIds.length==0) { + permissionEditObj.value.machineIds = [''] + } else { + permissionEditObj.value.machineIds = machineIdsRef.data.list[0].machineIds + } + permissionEditObj.value.machineId = permissionEditObj.value.machineIds[0] //permissionEditObj.value.permission = row.permission permissionEditObj.value.roleName = row.roleName console.log('编辑用户权限', permissionEditObj.value) + console.log('11111111111111', permissionEditObj.value.machineId) openUserEditVisible() } const collectIds = (tree) => { @@ -382,6 +396,14 @@ const collectIds = (tree) => { }; // 定义上级角色提示变量 const parentRoleTip = ref(''); +//给data数据加上disabled属性,控制是否禁用 +function processTreeData(data) { + return data.map(item => ({ + ...item, + disabled: item.id != null || item.menuName.includes("敏感权限"), //控制权限显示的条件 + children: item.children ? processTreeData(item.children) : [] + })); +} //根据上级角色控制权限列表,选择角色调整上级角色 const getUserLists = async function (selectedRoleId) { try { @@ -394,7 +416,6 @@ const getUserLists = async function (selectedRoleId) { url: '/role/selectFather', data: { id: selectedRoleId } // 用选中的角色ID请求 }); - console.log('parentRes', parentRes) const parentId = parentRes.data.fatherId; const parentName = parentRes.data.parentName; @@ -413,7 +434,7 @@ const getUserLists = async function (selectedRoleId) { url: '/menu/tree', data: { id: roleId } }) - data.value = res.data + data.value = processTreeData(res.data) permissionEditObj.value.checkedKeys = collectIds(res.data) || []; console.log('看看data', data.value) console.log('看checkedKeys', permissionEditObj.value.checkedKeys) @@ -440,7 +461,11 @@ const permissionEdit = async function () { closeUserEditVisible(); const result = await request({ url: '/permission/updateAdminRole', - data: permissionEditObj.value + data: { + ...permissionEditObj.value, + machineIds: permissionEditObj.value.machineIds.length > 1 + ? permissionEditObj.value.machineIds[1] : [] // 适配之前的代码,后面要改 + } }); await ElMessageBox.alert( `用户${userName}的权限角色已更改为【${newRole}】`, @@ -800,16 +825,14 @@ const handleCheckChange = (checkedNodes, { checkedKeys }) => { - -
- - 添加 + +
+ 添加
@@ -863,16 +886,14 @@ const handleCheckChange = (checkedNodes, { checkedKeys }) => { :props="{ label: 'menuName', children: 'children' }" :default-checked-keys="permissionEditObj.checkedKeys"> - -
- - 添加 + +
-
+ 添加