/**
|
* 集中授权
|
* @author xurc@2020/11/04
|
*/
|
layui.define(['layer','element','form','table','util'],function(exports){
|
var Class = function(){
|
this.MODELNAME = "platform/securityManage/VciSmRightCenter";
|
this.moduleKey = "VciSmRightCenter";
|
this.id = 'VciSmRightCenter';
|
this.sourceData = {};
|
this.columns = [];
|
this.backPath = configData.compatibility?path:configData.frameworkPath;//默认流程和项目的路径是一样的
|
this.url={
|
controller:'roleFunctionController/',
|
classifyTree:'roleQueryController/refTree',
|
oneTree:'treeFunctionByRole',
|
submit:'roleAuthorityChanges',
|
del:'removeAuthority'
|
};
|
this.buttonIconMap = {
|
SEARCH:'layui-icon-refresh-2',
|
SENIORSEARCH:'layui-icon-query',
|
ADD:'layui-icon-add-1',
|
EDIT:'layui-icon-edit',
|
DELETE:'layui-icon-delete'
|
};
|
this.getContent=function(){
|
var that = this;
|
var html = "";
|
html = [
|
'<div class="layui-layout" style="display:block;overflow-y: hidden">',
|
'<div class="layui-vci-tree" style="width:400px;float: left;background-color:#ffffff;overflow-y: auto;">',
|
'<label class="layui-icon layui-icon-tree" style="line-height: 20px;color:red;font-size:20px;">角色授权</label>',
|
'<ul layui-filter="tree_',that.id,'" style="overflow-x: auto;"><ul>',
|
'</div>',
|
'<div class="layui-layout-border layui-tab" style="display:block;margin-top:0px;margin-left:185px;">',
|
'<ul class="layui-tab-title tabTitle" lay-allowClose="false">',
|
'<li class="layui-this">功能模块授权</li>',
|
'<li>界面和访问授权</li>',
|
'<li>数据权限授权</li>',
|
'</ul>',
|
'<ul class="layui-tab-content tabContent">',
|
'<li class="layui-tab-item layui-show">',
|
'<div layui-filter="toolbar_',that.id, '" class="layui-btn-container">',//主列表的按钮
|
'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_AllCHECK" compid ="',that.id,'"><i class="layui-icon layui-icon-screen-full"></i>全选</button>',
|
'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_NOCHECK" compid ="',that.id,'"><i class="layui-icon layui-icon-screen-restore"></i>全不选</button>',
|
'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_FCHECK" compid ="',that.id,'"><i class="layui-icon layui-icon-engine"></i>反选</button>',
|
'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_DEL" compid ="',that.id,'"><i class="layui-icon layui-icon-delete"></i>移除权限</button>',
|
'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_SUBMIT" compid ="',that.id,'"><i class="layui-icon layui-icon-auz"></i>授权</button>',
|
'</div>',
|
'<ul id="oneTree_',that.id , '" layui-filter="oneTree_',that.id , '" style="overflow-x:auto;"></ul>',
|
'</li>',
|
'<li class="layui-tab-item">',
|
'<div layui-filter="toolbar_',that.id, '" class="layui-btn-container">',//主列表的按钮
|
//'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_EDITRULE" compid ="',that.id,'"><i class="layui-icon layui-icon-delete"></i>编辑表单</button>',
|
//'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_DELRULE" compid ="',that.id,'"><i class="layui-icon layui-icon-delete"></i>删除</button>',
|
//'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_PREVIEW" compid ="',that.id,'"><i class="layui-icon layui-icon-edit"></i>预览</button>',
|
'</div>',
|
'<form class="layui-form" lay-filter="formRule_',that.id,'"></form>',
|
'</li>',
|
'<li class="layui-tab-item">',
|
'<div layui-filter="toolbar_',that.id, '" class="layui-btn-container">',//主列表的按钮
|
// '<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_EDITRULE" compid ="',that.id,'"><i class="layui-icon layui-icon-delete"></i>编辑表单</button>',
|
//'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_DELRULE" compid ="',that.id,'"><i class="layui-icon layui-icon-delete"></i>删除</button>',
|
//'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_PREVIEW" compid ="',that.id,'"><i class="layui-icon layui-icon-edit"></i>预览</button>',
|
'</div>',
|
'<form class="layui-form" lay-filter="formRule_',that.id,'"></form>',
|
'</li>',
|
'</ul>',
|
'</div>',
|
'</div>'
|
].join("");
|
return html;
|
};
|
this.getToolbarHtml =function(){
|
var that = this;
|
return ['<div layui-filter="toolbar_',that.id, '" class="layui-btn-container">',//主列表的按钮
|
'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_ADD"><i class="layui-icon layui-icon-add-1"></i>添加</button>',
|
'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_EDIT"><i class="layui-icon layui-icon-edit"></i>修改</button>',
|
'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_DEL"><i class="layui-icon layui-icon-delete"></i>删除</button>',
|
'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_STAR"><i class="layui-icon layui-icon-ok-circle"></i>启用</button>',
|
'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_STOP"><i class="layui-icon layui-icon-404"></i>停用</button>',
|
'<button class="layui-btn layui-btn-sm" layui-filter="toolbar_',that.id,'_refresh"><i class="layui-icon layui-icon-refresh"></i>刷新</button>',
|
'</div>'].join("");
|
};
|
this.init=function(){
|
//基础的html被添加后,再执行初始化
|
var that = this;
|
$webUtil.copyConfig(that,that.moduleKey);
|
$webUtil.bindDefultButtonLisenter(that, that.id);
|
that.initMainTree();
|
|
};
|
this.initMainTree = function() {
|
var that = this;
|
var tree = layui.tree;
|
var scrollHeight = window.innerHeight;
|
var treeUL = $('[layui-filter="tree_' + that.id + '"]');
|
var treeHeight = scrollHeight - 200;
|
treeUL.parent().height(treeHeight);
|
treeUL.parent().width(180);
|
tree.init("tree_" + that.id, treeUL, {
|
url: that.url.classifyTree,
|
backPath: that.backPath,
|
extraParams: {
|
isMuti: false,
|
isQueryAllColumn: true
|
},
|
noApi:true,
|
showSearch:true,
|
click: function (item, elem, options) {
|
that.currentItemOid = item.oid;
|
that.currentItemAttributes = item.attributes;
|
if(tree.config['oneTree_' + that.id] != undefined) {
|
that.reload();
|
} else {
|
that.initOneTree();
|
}
|
}
|
});
|
};
|
|
this.initOneTree = function(){
|
var that = this;
|
var tree = layui.tree;
|
var scrollHeight = window.innerHeight;
|
var treeUL = $('[layui-filter="oneTree_' + that.id + '"]');
|
var treeHeight = scrollHeight - 200;
|
treeUL.parent().height(treeHeight);
|
tree.init("oneTree_" + that.id, treeUL, {
|
url: that.url.controller + that.url.oneTree,
|
backPath: that.backPath,
|
extraParams: {
|
isQueryAllColumn: true,
|
roleOid:that.currentItemOid
|
},
|
noApi:true,
|
showSearch:true,
|
isMuti: true,
|
click: function (item, elem, options) {
|
|
},
|
done: function (thisFilter) {
|
|
}
|
});
|
};
|
|
this.SUBMIT = function(){ // 授权
|
var that = this;
|
var tree = layui.tree;
|
if(that.currentItemOid == undefined) {
|
$webUtil.showErrorMsg("请先选择一个角色!");
|
return false;
|
}
|
if($webUtil.objIsNull(tree.getAllData)) {
|
$webUtil.showErrorMsg("至少选择一个功能模块!");
|
return false;
|
}
|
var submitData = {};
|
submitData.roleOid =that.currentItemOid
|
submitData.roleAuthorityDTOList = {};
|
var list = [];
|
$.each(tree.getAllData,function(k,v) {
|
list.push({
|
functionOid: k
|
});
|
});
|
submitData.roleAuthorityDTOList = list;
|
// return false
|
$webUtil.manualAjax('post',that.url.controller + that.url.submit,JSON.stringify(submitData),function (result) {
|
if(result.success){
|
$webUtil.showErrorMsg("授权成功",that.reload());
|
}else{
|
$webUtil.showErrorMsg(result.msg);
|
}
|
},function (xhr,error) {
|
$webUtil.showErrorMsg("访问服务器出现了错误,可能服务器没有开启,或者连接失败");
|
},that.backPath);
|
};
|
|
this.AllCHECK = function(){ // 全选
|
var that = this;
|
var tree = layui.tree;
|
if(that.currentItemOid == undefined) {
|
$webUtil.showErrorMsg("请先选择一个角色!");
|
return false;
|
}
|
tree.allSelect("oneTree_"+ that.id);
|
};
|
|
this.NOCHECK = function(){ // 全不选
|
var that = this;
|
var tree = layui.tree;
|
if(that.currentItemOid == undefined) {
|
$webUtil.showErrorMsg("请先选择一个角色!");
|
return false;
|
}
|
tree.allUnSelect("oneTree_"+ that.id);
|
};
|
|
this.FCHECK = function(){ // 反选
|
var that = this;
|
var tree = layui.tree;
|
if(that.currentItemOid == undefined) {
|
$webUtil.showErrorMsg("请先选择一个角色!");
|
return false;
|
}
|
tree.reverseChecked("oneTree_"+ that.id);
|
};
|
|
this.DEL = function(){ // 移除权限
|
var that = this;
|
if(that.currentItemOid == undefined) {
|
$webUtil.showErrorMsg("请先选择一个角色!");
|
return false;
|
}
|
var submitData = {
|
roleOid:that.currentItemOid
|
}
|
$webUtil.ajax('post',that.url.controller + that.url.del,submitData,function (result) {
|
if(result.success){
|
$webUtil.showErrorMsg("移除权限成功");
|
that.reload();
|
}else{
|
$webUtil.showErrorMsg(result.msg);
|
}
|
},function (xhr,error) {
|
$webUtil.showErrorMsg("访问服务器出现了错误,可能服务器没有开启,或者连接失败");
|
},that.backPath);
|
}
|
|
this.refresh = function(parentNodeOid){
|
var that = this;
|
var tree = layui.tree;
|
if($webUtil.isNotNull(parentNodeOid)){
|
tree.reloadNode("tree_" + that.id,parentNodeOid);
|
}else {
|
tree.reload("tree_" + that.id);
|
}
|
};
|
this.reload = function(){
|
var that = this;
|
var tree = layui.tree;
|
tree.reload("oneTree_" + that.id,{
|
url: that.url.controller + that.url.oneTree,
|
backPath: that.backPath,
|
extraParams: {
|
isQueryAllColumn: true,
|
roleOid:that.currentItemOid
|
},
|
noApi:true,
|
showSearch:true,
|
isMuti: true,
|
});
|
};
|
};
|
var cs = new Class();
|
exports(cs.MODELNAME,cs);
|
});
|