美文网首页
2023-12-30 分配角色概念思考和 前端准备/实现

2023-12-30 分配角色概念思考和 前端准备/实现

作者: 大也 | 来源:发表于2024-01-16 13:47 被阅读0次
1. e31aa2e686c20644247a8ec018763682.jpg
2. 10ed661f4d8c8c71101a71bc89a1c416.jpg
掌握 表设计 和逻辑分析 1对1 1对多 多对多。多对多 需要第三张维护关系但是关系多的时候怎么做表?
1张关系表 多张其他表? 思考思考是不是都这样 怎么优化 表设计

///////////////// 文档看下来 做出来轻轻松松 就差一些问题要慢慢处理
1 UI 11实现

  1. 查询所有 角色列表
    2.用户提交数据角色
    3.用户角色数据查询

1.3 重叠注意
/////////////////
1.1)查询所有 角色列表


image.png

<el-button type="warning" size="small" @click="showAssignRole(scope.row)">
分配角色
</el-button>


<el-dialog v-model="dialogRoleVisible" title="分配角色" width="40%">
<el-form label-width="80px">
<el-form-item label="用户名">
<el-input disabled :value="sysUser.userName"></el-input>
</el-form-item>
<el-form-item label="角色列表">
<el-checkbox-group v-model="userRoleIds">
<el-checkbox v-for="role in allRoles" :key="role.id" :label="role.id">
{{ role.roleName }}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item>
<el-button type="primary">提交</el-button>
<el-button @click="dialogRoleVisible = false">取消</el-button>
</el-form-item>
</el-form>
</el-dialog>
<script setup>

// 角色列表
const userRoleIds = ref([])
const allRoles = ref([
{"id":1 , "roleName":"管理员"},
{"id":2 , "roleName":"业务人员"},
{"id":3 , "roleName":"商品录入员"},
])
const dialogRoleVisible = ref(false)
const showAssignRole = async row => {
sysUser.value = row
dialogRoleVisible.value = true
}

</script>
/////////////////
2.用户提交数据角色
/////////////////
3.用户角色数据查询

/////////////////
11.实现
11.1)


image.png

在src/api/sysRole.js文件中添加如下的请求方法:
// 查询所有的角色数据
export const GetAllRoleList = () => {
return request({
url: '/admin/system/sysRole/findAllRoles',
method: 'get'
})
}


image.png

<el-table-column label="操作" align="center" width="280" #default="scope">
<el-button type="primary" size="small" @click="editSysUser(scope.row)">
修改
</el-button>
<el-button type="danger" size="small" @click="deleteById(scope.row)">
删除
</el-button>
<el-button type="warning" size="small" @click="showAssignRole(scope.row)">
分配角色
</el-button>
</el-table-column>
<el-dialog v-model="dialogRoleVisible" title="分配角色" width="40%">
<el-form label-width="80px">
<el-form-item label="用户名">
<el-input disabled :value="sysUser.userName"></el-input>
</el-form-item>
<el-form-item label="角色列表">
<el-checkbox-group v-model="userRoleIds">
<el-checkbox v-for="role in allRoles" :key="role.id" :label="role.id">
{{ role.roleName }}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item>
<el-button type="primary">提交</el-button>
<el-button @click="dialogRoleVisible = false">取消</el-button>
</el-form-item>
</el-form>
</el-dialog>


image.png

import { GetAllRoleList } from '@/api/sysRole';

// 角色列表
const userRoleIds = ref([])
const allRoles = ref([
{"id":1 , "roleName":"管理员"},
{"id":2 , "roleName":"业务人员"},
{"id":3 , "roleName":"商品录入员"},
])
const dialogRoleVisible = ref(false)
const showAssignRole = async row => {
sysUser.value = row
dialogRoleVisible.value = true

// 查询所有的角色数据
const {code , message , data } = await GetAllRoleList() ;
allRoles.value = data.allRolesList

}

/////////////////
2.用户提交数据角色
11.2)


image.png

// 给用户分配角色请求
export const DoAssignRoleToUser = (assginRoleVo) => {
return request({
url: "/admin/system/sysUser/doAssign",
method: 'post',
data: assginRoleVo
})
}


image.png

// 分配角色表单提交按钮添加doAssign事件处理函数
<el-button type="primary" @click="doAssign">提交</el-button>

<script setup>
import { DoAssignRoleToUser} from '@/api/sysUser';

// 角色分配按钮事件处理函数
const doAssign = async () => {
let assginRoleVo = {
userId: sysUser.value.id ,
roleIdList: userRoleIds.value
}
const { code , message , data} = await DoAssignRoleToUser(assginRoleVo) ;
if(code === 200) {
ElMessage.success('操作成功')
dialogRoleVisible.value = false
fetchData()
}
}
/////////////////
3.用户角色数据查询


image.png

// 查询所有的角色数据
export const GetAllRoleList = (userId) => {
return request({
url: '/admin/system/sysRole/findAllRoles/' + userId,
method: 'get'
})
}


image.png

<script setup>
// 角色列表
const userRoleIds = ref([])
const allRoles = ref([])
const dialogRoleVisible = ref(false)
const showAssignRole = async row => {
sysUser.value = row
dialogRoleVisible.value = true

// 查询所有的角色数据
const {code , message , data } = await GetAllRoleList(row.id) ;
allRoles.value = data.allRolesList

// 获取当前登录用户的角色数据
userRoleIds.value = data.sysUserRoles

}
</script>

相关文章

  • PostgreSQL权限管理与对象层次

    角色 PostgreSQL以角色的方式来实现对权限的管理。在PostgreSQL中,不再有组和成员的概念,只有角色...

  • 用户管理

    主要功能我们只实现分配角色,其余功能都是重复工作,可以快速完成 布局与准备 在user/index.vue中调用组...

  • 角色分配

    女一:沈曦若 男一:叶黎君 女二:王诗涵 男二:颜黎川

  • 角色分配

    今天看到圆桌派,其中周轶君说了一个词“角色分配”让我想起了脑海中一直以来的一个观点,用这个词来概括这个观点在合适不...

  • 前端界面权限控制-React/Vue实现

    前端界面权限控制-React/Vue实现 前言 在所有管理系统中,都会包含权限模块,来进行用户的权限分配和控制,从...

  • jenkins权限配置

    进入manage and assigh roles(管理和分配角色) 配置Global roles (组角色) 创...

  • linux下nginx安装

    nginx在分布式系统中可以实现数据流量均衡地分配到各个子服务器的功能,同时也可以实现前端代码和后端代码分开部署的...

  • Shiro Realm 分析

    在Shirio中Realm所做的事就是提供自定义的用户认证、角色和权限分配。如果实现了多个Realm用来认证,我们...

  • 新的开发模式----从零开发

    首要的技术选型:nodejs和vuejs前端实现,基于微信接口 1.邮件会议邀请,在会议中约定相关事宜(各种角色)...

  • 负载均衡

    负载均衡概念 1、实现用户访问调度处理,最终分配给不同web节点上2、实现用户访问的压力进行分担,将网站压力分配给...

网友评论

      本文标题:2023-12-30 分配角色概念思考和 前端准备/实现

      本文链接:https://www.haomeiwen.com/subject/jnfsndtx.html