山东大学项目实训开发日志——基于vue+springboot的医院耗材管理系统(8)
发布时间
阅读量:
阅读量
随着时间的推移,我们小组成员一边测试一边完善系统,开发已经进入比较靠后的阶段了。
在一次测试的时候,我们发现了一个问题:在这个系统中,当不同的成员拥有对同一个事情的需求时,能够看到不属于自己应有的功能并对其进行操作。
听起来似乎很拗口,那我就举个例子说明一下。
科室库和中心库都有查看申请的列表的功能(当科室库需要某种耗材的时候要向中心库提交申请)中心库还有对申请表进行确认的功能但科室库没有。
上述是系统在该部分的目标,而出现的问题是以科室库的身份登录的时候,能够看到与中心库完全相同的界面和可执行操作。出现这一问题的原因是这部分在写的时候,所有角色都使用同一个页面的代码(我对于不同的角色使用相同的功能一直倾向于这样做)却没有为不同的角色分配不同的标识以被识别。
如图所示
因此为了解决这个问题,我专门在角色相关的数据里加入了roleID这一属性,通过对不同的角色赋予不同的值来确定是否显示相关组件。
相关的代码如下:
组件的代码,可见出现了 v-show的使用
<el-button
size="mini"
type="primary"
@click="handleViewChange(scope.$index, scope.row)"
v-show="(scope.row.collectStatus==1 || scope.row.collectStatus==2 || scope.row.collectStatus==3)
&& (roleId==1 || roleId==6)">出库
</el-button>
获取roleId的值
getRole() {
getRole(this.listQuery.username).then(response => {
this.roleId = response.data;
})
},
export function getRole(username) {
return request({
url: '/order/getRoleId/' + username,
method: 'post'
})
}
修改后科室库的显示页面:

可以看到少了“出库”的按钮。
全部评论 (0)
还没有任何评论哟~
