1. 列出用户及其状态
1.1 使用el-table组件,其中的data属性为传递的数据,prop属性为数据的属性名称。
<el-table :data="userList" style="width: 100%">
<el-table-column prop="u_id" label="账号"></el-table-column>
<el-table-column prop="u_status" label="状态">
<template slot-scope="user">
{{user.row.u_status==1?"已启用":"已禁用"}}
</template>
</el-table-column>
</el-table>
1.2 template组件中存在row, column, $index 3个属性,我们使用行属性取出一个用户。
v-if为Vue的条件判断,返回true时显示这个组件。
<el-table-column label="操作">
<template slot-scope="user">
<el-button @click="unuse(user.row)" v-if="user.row.u_status==1" plain>禁用</el-button>
<el-button @click="use1(user.row)" v-if="user.row.u_status==0" type="success" plain>启用</el-button>
<el-button v-if="user.row.u_status==1" type="primary" plain>权限</el-button>
</template>
</el-table-column>
1.3 后端直接返回即可。
@GetMapping("/user")
public List<User> userList(){
return securityModuleService.getUserList();
}
@Select("select u_id, u_status from t_user")
public List<User> findUserList();
2. 实现启用和禁用
2.1 以禁用为例,前端定义一个提示框,在单击禁用按钮时出现。
//禁用用户
unuse(data){ //data在上面的实参是user.row
this.$confirm('您确实要禁用该用户吗?', '提示', {
confirmButtonText: '确认禁用',
cancelButtonText: '取消',
type: 'warning'
}).then(()=>{ //负向操作后的逻辑
this.$myPut('security/module/unuse/' + data.u_id)
.then(()=>{
this.getUserList(); //刷新数据
})
}).catch(()=>{ //负向操作后的逻辑
this.$message('操作已取消');
})
}
2.2 后端在控制器中编写unuse对应的接口,通过DAO对数据库进行update操作。启用功能同理。
3. Java枚举
在需要定义较少的几个常量(如状态)时,可以使用Java的枚举机制,定义一个enum
public enum UserStatusEnum {
USER_ON(1, "已启用"),
USER_OFF(0, "已禁用");
private Integer code;
private String name;
}
其中code是常数,name是表示的内容。接着对该类创建构造函数和getter、setter。
需要使用UserStatusEnum.USER_OFF.getCode()即可调用这一常数了。
Java Spring Boot + Vue 实习项目8:权限
最新推荐文章于 2022-06-23 15:14:14 发布