diff --git a/src/views/permissions/permission.vue b/src/views/permissions/permission.vue index 88dbf93..aa53018 100644 --- a/src/views/permissions/permission.vue +++ b/src/views/permissions/permission.vue @@ -12,6 +12,7 @@ import API from '@/util/http' const tableData = ref([]) const roleData = ref([]) const total = ref(100) +const roleTotal = ref(100)//角色分页 const checkTab = ref('admin') // 搜索admin const admin = ref({ @@ -55,7 +56,7 @@ const addAdmin = ref({ permission: '', postiton: '', machineIds: [''], // 动态添加的机器码输入框 - machineId:'', + machineId: '', remark: '' }) // 新增角色对象 @@ -74,7 +75,8 @@ const permissionSelect = ref() const permissionEditObj = ref({ checkedKeys: [], machineIds: [''], - machineId:'' + machineId: '', + password: '', }) const addMachineIdInput = function () { if (addAdmin.value.machineIds.length >= 2) { @@ -134,7 +136,7 @@ const getRoleList = async function (val) { }) roleData.value = result.data.list console.log('roleData', roleData.value) - total.value = result.data.total + roleTotal.value = result.data.total } catch (error) { console.log('请求失败', error) } @@ -169,6 +171,11 @@ const search = function () { getObj.value.pageNum = 1 get() } +const searchRole = function () { + trimJwCode(); + getObj.value.pageNum = 1 + getRoleList() +} // 重置 const reset = function () { admin.value = {} @@ -208,7 +215,7 @@ const openUserAddVisible = function () { market: '', permission: '', postiton: '', - machineId:'', + machineId: '', machineIds: [''], remark: '' }; @@ -228,7 +235,7 @@ const closeUserAddVisible = function () { market: '', permission: '', postiton: '', - machineId:'', + machineId: '', machineIds: [''], remark: '' }; @@ -239,6 +246,7 @@ const closeUserAddVisible = function () { const closePermissionAddVisible = function () { permissionAddVisible.value = false Ref.value.resetFields(); + getRoleList() } // 新增用户权限初始化 const userAddInit = function () { @@ -338,8 +346,10 @@ const permissionEditInit = async function (row) { permissionEditObj.value = {} permissionEditObj.value.id = row.id permissionEditObj.value.account = row.account - permissionEditObj.value.name = row.name + permissionEditObj.value.adminName = row.name + permissionEditObj.value.remark = row.remark permissionEditObj.value.market = row.market + permissionEditObj.value.password = '' // 将字符串形式的 market 转换为数组 if (typeof row.market === 'string' && row.market) { permissionEditObj.value.market = row.market.split(','); @@ -358,6 +368,8 @@ const permissionEditInit = async function (row) { console.log('初始查上级权限', result) permissionEditObj.value.parentId = result.data?.fatherId permissionEditObj.value.parentName = result.data?.fatherName + console.log('get前', permissionEditObj.value.roleId); + getUserLists(row.roleId) let machineIdsRef = await request({ @@ -370,8 +382,8 @@ const permissionEditInit = async function (row) { } } }) - - if (machineIdsRef.data.list[0].machineIds.length==0) { + + if (machineIdsRef.data.list[0].machineIds == null || machineIdsRef.data.list[0].machineIds.length == 0) { permissionEditObj.value.machineIds = [''] } else { permissionEditObj.value.machineIds = machineIdsRef.data.list[0].machineIds @@ -381,7 +393,7 @@ const permissionEditInit = async function (row) { permissionEditObj.value.roleName = row.roleName console.log('编辑用户权限', permissionEditObj.value) - console.log('11111111111111', permissionEditObj.value.machineId) + console.log('11111111111111', permissionEditObj.value.machineId) openUserEditVisible() } const collectIds = (tree) => { @@ -407,6 +419,7 @@ function processTreeData(data) { //根据上级角色控制权限列表,选择角色调整上级角色 const getUserLists = async function (selectedRoleId) { try { + console.log('permissionEditObj.value.roleId:', permissionEditObj.value.roleId) console.log('selectedRoleId', selectedRoleId); permissionEditObj.value.parentId = null; permissionEditObj.value.parentName = ''; @@ -426,7 +439,7 @@ const getUserLists = async function (selectedRoleId) { parentRoleTip.value = '该角色无上级角色'; } - let roleId = permissionEditObj.value.parentId + let roleId = permissionEditObj.value.roleId if (permissionEditObj.value.parentId === null || permissionEditObj.value.parentId === undefined) { roleId = 2 } @@ -439,13 +452,14 @@ const getUserLists = async function (selectedRoleId) { console.log('看看data', data.value) console.log('看checkedKeys', permissionEditObj.value.checkedKeys) console.log('parentID:', permissionEditObj.value.parentId, 'roleId:', roleId) + console.log('permissionEditObj.value.roleId:', permissionEditObj.value.roleId) } catch (error) { console.log('请求失败', error) } } // 编辑用户权限提交 const permissionEdit = async function () { - const { name: userName, roleName: oldRole, roleId: newRoleId } = permissionEditObj.value; + const { adminName: userName, roleName: oldRole, roleId: newRoleId } = permissionEditObj.value; const newRole = permissionList.value.find(item => item.value === newRoleId)?.label || '未知角色'; try { await ElMessageBox.confirm( @@ -460,13 +474,21 @@ const permissionEdit = async function () { ); closeUserEditVisible(); const result = await request({ - url: '/permission/updateAdminRole', + url: '/permission/updateAdmin', data: { - ...permissionEditObj.value, - machineIds: permissionEditObj.value.machineIds.length > 1 - ? permissionEditObj.value.machineIds[1] : [] // 适配之前的代码,后面要改 + account: permissionEditObj.value.account,//OA号 + adminName: permissionEditObj.value.adminName,//姓名 + market: permissionEditObj.value.market,//地区 + postiton: permissionEditObj.value.postiton,//职位 + roleId: permissionEditObj.value.roleId,//角色id + machineId: permissionEditObj.value.machineId,//机器码 + machineIds: permissionEditObj.value.machineIds[1],//机器码 + password: permissionEditObj.value.password,// + remark: permissionEditObj.value.remark//备注 } }); + console.log('编辑最后提交数据', permissionEditObj.value); + await ElMessageBox.alert( `用户${userName}的权限角色已更改为【${newRole}】`, '成功', @@ -536,18 +558,22 @@ const delRoleConfirm = async function () { const handleAddRole = async function () { try { const res = await API({ + + url: '/role/add', data: { "roleName": addRole.value.roleName, "menuIds": addRole.value.checkedKeys, "priority": addRole.value.grade, - "fatherId": addRole.value.parentName, + "fatherId": addRole.value.parentId, "market": addRole.value.market } }) console.log('成功了,看看addRole', addRole.value) + closePermissionAddVisible() } catch (error) { console.log('请求失败', error) + console.log('失败,看看addRole', addRole.value); } } // 禁用启用用户权限 @@ -591,6 +617,16 @@ const handleCurrentChange = function (val) { getObj.value.pageNum = val get() } +const handleRolePageSizeChange = (val) => { + getRoleObj.value.pageSize = val + getRoleList() // 调用角色管理的查询 +} + +// 角色管理分页 - 当前页变化 +const handleRoleCurrentChange = (val) => { + getRoleObj.value.pageNum = val + getRoleList() // 调用角色管理的查询 +} const data = ref([]) const getLists = async function () { @@ -618,6 +654,46 @@ const includeHq = computed(() => { const handleCheckChange = (checkedNodes, { checkedKeys }) => { addRole.value.checkedKeys = checkedKeys; } + +//点击角色权限菜单树点击展示逻辑 +const menuTreeVisible = ref(false); +const currentRoleMenuTree = ref([]); +const currentRoleName = ref(''); +const Rolecheckedkeys = ref([]) +const showMenuTree = (treeData, roleName) => { + currentRoleMenuTree.value = processTreeData(treeData) || []; + console.log('currentRoleMenuTree.value', currentRoleMenuTree.value); + Rolecheckedkeys.value = collectIds(treeData) + console.log('Rolecheckedkeys', Rolecheckedkeys.value); + + currentRoleName.value = roleName || '权限详情'; + menuTreeVisible.value = true; +}; +//用户密码重置 +const resetPassword = async function (row) { + try { + + await ElMessageBox.confirm( + `确认重置该账号密码?`, + '提示', + { + confirmButtonText: '确认', + cancelButtonText: '取消', + type: "warning", + lockScroll: false + } + ); + const res = await API({ + url: '/admin/reset', + data: { account: row.account } + }) + if(res.code==200){ + ElMessage.success(res.data) + } + } catch (error) { + ElMessage.error('请求失败', error) + } +}