|
本帖最后由 yonyouhmm 于 2024-2-4 09:59 编辑
一、说明
客户实际场景如下:希望在全局联查中能够点击单据进入详情页查看,但是不能通过工作台菜单打开此单据列表。
实现思路:通过查询当前用户的角色,如果是指定的角色就在列表页前端脚本中jDiwork.closeWin();关闭菜单。
二、前端脚本
viewModel.on('customInit', function(data) {
//采购合同列表--页面初始化
let result = cb.rest.invokeFunction("ycContractManagement.api.getRole", {},
function(err, res) {},viewModel, {async:false});
if(result.result.limit==true)
{ cb.utils.alert("您没有从菜单进入节点的权限"); jDiwork.closeWin(); }
});
三、后端脚本
let AbstractAPIHandler = require('AbstractAPIHandler');
class MyAPIHandler extends AbstractAPIHandler {
execute(request){
let code = ["nishch"]; //角色编码
let userId = ObjectStore.user().id;
let sql = "select * from sys.auth.UserRole where role.code in ("join(code,",")") and yhtUser='"userId"'";
var res = ObjectStore.queryByYonQL(sql,"u8c-auth");
let isLimit = false;
if(res.length>0)
{ //说明没有权限 isLimit = true; }
return {"limit":isLimit};
}
}
exports({"entryPoint":MyAPIHandler});
|
|