<style>
|
.xtree_contianer {
|
overflow: auto;
|
margin-bottom: 30px;
|
background-color: #fff;
|
padding: 0px 0 25px 0px;
|
}
|
#role_authorization_commit_btn{
|
/*margin-bottom: 50px;*/
|
}
|
#query_data_permissions_involve_menus{
|
cursor: pointer;
|
margin-top: -4px;
|
color: #0081F0 !important;
|
font-size: 12px;
|
width: 180px;
|
}
|
.seperate_tit{
|
color: black;
|
font-weight: bold;
|
/*margin-left: 20px;*/
|
margin-bottom: 14px;
|
font-size: 15px;
|
}
|
#role_auth_middle_seperate_line{
|
float: left;
|
height: 100%;
|
width: 1px;
|
background: #e6e6e6;
|
}
|
#role_auth_modal_inner_wrap{
|
height: -moz-calc(100% - 43px);
|
height: -webkit-calc(100% - 43px);
|
height: calc(100% - 43px);
|
}
|
#role_auth_data_right_form .layui-form-item{
|
margin-bottom: 20px;
|
}
|
</style>
|
<div class="clear-float padding-20" id="role_auth_modal_inner_wrap">
|
<div class="float_l" style="overflow-y: auto;min-width: 350px;height: 100%;">
|
<div class="seperate_tit">菜单/功能权限</div>
|
<div class="layui-btn layui-btn-primary layui-btn-primary-sm" id="role_auth_data_tree_edit_btn" style="margin-left: 0px;">编辑</div>
|
<div class="layui-btn layui-btn-primary layui-btn-primary-sm hide" id="toggle_unchecked_item_btn">隐藏未选中项</div>
|
<div class="layui-btn layui-btn-primary layui-btn-primary-sm hide" id="refresh_tree_btn">刷新</div>
|
<div class="layui-btn layui-btn-primary layui-btn-primary-sm hide" id="role_authorization_commit_btn">保存</div>
|
<ul id="role_auth_operation_tree_wrap"></ul>
|
<form class="layui-form hide" id="xtree3_wrap">
|
<div id="xtree3" class="xtree_contianer"></div>
|
</form>
|
</div>
|
<div id="role_auth_middle_seperate_line"></div>
|
<div class="float_l" style="overflow-y: auto;height: 100%;">
|
<div class="seperate_tit" style="margin-left: 27px;">数据权限</div>
|
<div class="layui-form" id="role_auth_data_right_form">
|
<div class="layui-form-item">
|
<label class="layui-form-label">菜单/功能编号</label>
|
<div class="layui-input-inline">
|
<input id="menu_function_number" type="text" readonly="readonly" autocomplete="off" class="layui-input">
|
</div>
|
</div>
|
<div class="layui-form-item">
|
<label class="layui-form-label">菜单/功能名称</label>
|
<div class="layui-input-inline">
|
<input id="menu_function_name" type="text" readonly="readonly" autocomplete="off" class="layui-input">
|
</div>
|
<div class="layui-form-mid layui-word-aux" id="query_data_permissions_involve_menus">查看变更涉及菜单/功能清单</div>
|
</div>
|
<div class="layui-form-item">
|
<label class="layui-form-label">机构权限</label>
|
<div class="layui-input-inline">
|
<select id="OrgPermissionList_select" lay-filter="OrgPermissionList_select" name="orgPermission">
|
<option value=""></option>
|
</select>
|
</div>
|
</div>
|
<div class="layui-form-item hide">
|
<label class="layui-form-label">指定机构</label>
|
<div class="layui-input-inline">
|
<input id="designated_institution_ids" class="auto_complateval layui-hide" >
|
<textarea id="" class="multi_select_department_wrap layui-textarea" onclick="trigger_auto_matchwrap_show(this,event,'/sso-manage/role/orglist');" readonly="readonly"></textarea>
|
<i class="layui-icon empty_inputbtn2" onclick="empty_inputfunc3(this,event);">ဆ</i>
|
<i class="layui-icon drop_down_btn"></i>
|
<div onclick="stop_close_event_propagation(event);" class="auto_matchwrap layui-anim layui-anim-upbit layui-select-group" style="display: none; position: absolute;background-color: #fff;z-index: 999;">
|
<input onKeyDown="change_list_item3(this);" type="text" class="auto_matchinput layui-input" style="display: block;width: 100%;"
|
oninput="input_match_multi_select_department(this,'/sso-manage/role/orglist')" />
|
<i class="layui-icon search_mark_btn"></i>
|
<div class="fuzzy_matching_wrap">
|
<div class="selection_department_text">选择机构</div>
|
<div class="fuzzy_matching_inner_wrap"></div>
|
</div>
|
</div>
|
</div>
|
</div>
|
<div class="layui-form-item">
|
<label class="layui-form-label">产品权限</label>
|
<div class="layui-input-inline">
|
<input id="product_rights_ids" class="auto_complateval layui-hide" name="productPermission">
|
<textarea id="product_rights_names" class="multi_select_department_wrap layui-textarea" onclick="trigger_auto_matchwrap_show2(this,event,'/sso-manage/common/getListByCodeType','productCode');" readonly="readonly"></textarea>
|
<i class="layui-icon empty_inputbtn2" onclick="empty_inputfunc3(this,event);">ဆ</i>
|
<i class="layui-icon drop_down_btn"></i>
|
<div onclick="stop_close_event_propagation(event);" class="auto_matchwrap layui-anim layui-anim-upbit layui-select-group" style="display: none; position: absolute;background-color: #fff;z-index: 999;">
|
<input onKeyDown="change_list_item3(this);" type="text" class="auto_matchinput layui-input" style="display: block;width: 100%;"
|
oninput="input_match_multi_select_department2(this,'/sso-manage/common/getListByCodeType','productCode')" />
|
<i class="layui-icon search_mark_btn"></i>
|
<div class="fuzzy_matching_wrap">
|
<div class="selection_department_text">选择产品</div>
|
<div class="fuzzy_matching_inner_wrap"></div>
|
</div>
|
</div>
|
</div>
|
</div>
|
<div class="layui-form-item">
|
<label class="layui-form-label">交易类型</label>
|
<div class="layui-input-inline">
|
<input id="transaction_type_ids" class="auto_complateval layui-hide" name="tradePermission">
|
<textarea id="transaction_type_names" class="multi_select_department_wrap layui-textarea" onclick="trigger_auto_matchwrap_show2(this,event,'/sso-manage/common/getListByCodeType','tradeCode');" readonly="readonly"></textarea>
|
<i class="layui-icon empty_inputbtn2" onclick="empty_inputfunc3(this,event);">ဆ</i>
|
<i class="layui-icon drop_down_btn"></i>
|
<div onclick="stop_close_event_propagation(event);" class="auto_matchwrap layui-anim layui-anim-upbit layui-select-group" style="display: none; position: absolute;background-color: #fff;z-index: 999;">
|
<input onKeyDown="change_list_item3(this);" type="text" class="auto_matchinput layui-input" style="display: block;width: 100%;"
|
oninput="input_match_multi_select_department2(this,'/sso-manage/common/getListByCodeType','tradeCode')" />
|
<i class="layui-icon search_mark_btn"></i>
|
<div class="fuzzy_matching_wrap">
|
<div class="selection_department_text">选择产品</div>
|
<div class="fuzzy_matching_inner_wrap"></div>
|
</div>
|
</div>
|
</div>
|
</div>
|
<div class="layui-form-item layui-form-text">
|
<label class="layui-form-label">备注</label>
|
<div class="layui-input-inline">
|
<textarea id="data_right_remark" name="remark" placeholder="请输入内容" class="layui-textarea"></textarea>
|
</div>
|
</div>
|
<div class="text_center">
|
<button class="layui-btn modal_commit_save_btn" lay-submit lay-filter="data_right_commit">保存</button>
|
</div>
|
</div>
|
</div>
|
</div>
|
|
<script id="OrgPermissionList_tpl" type="text/html">
|
{{each list value index}}
|
<option value="{{value.orgPermission}}">{{value.typeName}}</option>
|
{{/each}}
|
</script>
|
|
<script>
|
|
layui.use(['form'], function () {
|
var form = layui.form;
|
|
|
// 不可勾选树形组件
|
function role_auth_operation_tree_render(){
|
$("#role_auth_operation_tree_wrap").empty();
|
layui.use('tree', function(){
|
$.ajax({
|
type : 'POST',
|
url : base_url+"/sso-manage/role/getRoleResourceTree",
|
dataType : 'json',
|
contentType: "application/json",
|
data:JSON.stringify({
|
params:{
|
"roleId":window._role_authorization_data,
|
"resultRange":1
|
}
|
}),
|
success : function(res){
|
if(res.resultCode == 1){
|
var tree_data_str = JSON.stringify(res.data.list).replace(/data/g, "children").replace(/title/g, "name");
|
var tree_data = JSON.parse(tree_data_str);
|
layui.tree({
|
elem: '#role_auth_operation_tree_wrap' //传入元素选择器
|
,nodes:tree_data
|
,click: function(node){
|
$("#role_auth_operation_tree_wrap a").click(function () {
|
$("#role_auth_operation_tree_wrap a").removeClass("text_red");
|
$(this).addClass("text_red");
|
});
|
// console.log('节点数据',node) //node即为当前点击的节点数据
|
window.g_resourceId = node.value;
|
query_role_data_rights(node.value);
|
}
|
});
|
}else{
|
layer.msg(res.errorDesc);
|
}
|
}
|
});
|
});
|
}
|
|
role_auth_operation_tree_render();
|
|
setTimeout(function () {
|
$("#role_auth_operation_tree_wrap").find("cite:first").trigger("click");
|
},600);
|
|
$("#role_auth_data_tree_edit_btn").click(function () {
|
$("#toggle_unchecked_item_btn").removeClass("hide");
|
$("#refresh_tree_btn").removeClass("hide");
|
$("#role_authorization_commit_btn").removeClass("hide");
|
$("#xtree3_wrap").removeClass("hide");
|
$("#role_auth_operation_tree_wrap").addClass("hide");
|
});
|
|
|
$("#toggle_unchecked_item_btn").click(function () {
|
if($(this).text() == "隐藏未选中项"){
|
// 只查勾选的
|
xtree_render(1);
|
$(this).text("显示全部");
|
}else{
|
// 查全部
|
xtree_render(0);
|
$(this).text("隐藏未选中项");
|
}
|
});
|
|
$("#refresh_tree_btn").click(function () {
|
xtree_render(0);
|
});
|
|
$("#query_data_permissions_involve_menus").click(function () {
|
$.ajax({
|
type: 'POST',
|
url: base_url+"/sso-manage/role/getRoleResourceChildren",
|
dataType: 'json',
|
contentType: "application/json",
|
data:JSON.stringify({
|
params:{
|
roleId:window._role_authorization_data,
|
resourceCode:$("#menu_function_number").val()
|
}
|
}),
|
success: function (res) {
|
if(res.resultCode == 1){
|
if(res.data.list){
|
window.data_permissions_involve_menus_tree_data = res.data.list;
|
$.get('views/risk_management/data_permissions_involve_menus_tree.html', function(str){
|
layer.open({
|
type: 1
|
,title :'查看变更涉及菜单/功能清单'
|
,content: str //注意,如果str是object,那么需要字符拼接。
|
,area: "400px"
|
});
|
});
|
}else{
|
layer.msg("无相关菜单数据");
|
}
|
}else{
|
layer.msg(res.errorDesc);
|
}
|
}
|
});
|
});
|
|
//机构权限枚举
|
$.ajax({
|
type: 'POST',
|
url: base_url+"/sso-manage/role/getOrgPermissionList",
|
dataType: 'json',
|
contentType: "application/json",
|
success: function (res) {
|
if(res.resultCode == 1){
|
$("#OrgPermissionList_select").append(template('OrgPermissionList_tpl', res.data));
|
form.render();
|
}else{
|
layer.msg(res.errorDesc);
|
}
|
}
|
});
|
|
function query_role_data_rights(id) {
|
$.ajax({
|
type: 'POST',
|
url: base_url+"/sso-manage/role/dataPermissionDetail",
|
dataType: 'json',
|
contentType: "application/json",
|
data:JSON.stringify({
|
params:{
|
roleId:window._role_authorization_data,
|
resourceId:id
|
}
|
}),
|
success: function (res) {
|
if(res.resultCode == 1){
|
|
$("#menu_function_number").val(res.data.resourceCode);
|
$("#menu_function_name").val(res.data.resourceName);
|
$("#OrgPermissionList_select").val(res.data.orgPermission);
|
window.g_role_resourceId = res.data.roleResourceId;
|
var name_array2 = [],id_array2 = [];
|
$.each(res.data.productList,function (i,n) {
|
name_array2.push(n.productName);
|
id_array2.push(n.productCode);
|
});
|
$("#product_rights_names").val(name_array2.join(","));
|
$("#product_rights_ids").val(id_array2.join(","));
|
var name_array3 = [],id_array3 = [];
|
$.each(res.data.tradeCodeList,function (i,n) {
|
name_array3.push(n.tradeName);
|
id_array3.push(n.tradeCode);
|
});
|
$("#transaction_type_names").val(name_array3.join(","));
|
$("#transaction_type_ids").val(id_array3.join(","));
|
if(res.data.orgPermission == 6){
|
var name_array = [],id_array = [];
|
$.each(res.data.orgList,function (i,n) {
|
name_array.push(n.shortName);
|
id_array.push(n.orgId);
|
});
|
$("#designated_institution_names").val(name_array.join(","));
|
$("#designated_institution_ids").val(id_array.join(",")).parents(".layui-form-item").css('display','flex');
|
}else{
|
$("#designated_institution_names").val("");
|
$("#designated_institution_ids").val("").parents(".layui-form-item").hide();
|
}
|
|
$("#data_right_remark").val(res.data.remark);
|
form.render();
|
}else{
|
layer.msg(res.errorDesc);
|
}
|
}
|
});
|
}
|
|
|
function xtree_render(resultRange){
|
//查询机构详情
|
$.ajax({
|
type: 'POST',
|
url: base_url+'/sso-manage/role/getRoleResourceTree',
|
dataType: 'json',
|
contentType: "application/json",
|
data:JSON.stringify({
|
params:{
|
"roleId":window._role_authorization_data,
|
"resultRange":resultRange
|
}
|
}),
|
success: function (res) {
|
if(res.resultCode == 1){
|
window.g_role_authorization_tree_data = res.data.list;
|
//3、最完整的参数用法
|
window.xtree3 = new layuiXtree({
|
elem: 'xtree3' //必填三兄弟之老大
|
, form: form //必填三兄弟之这才是真老大
|
, data: window.g_role_authorization_tree_data //必填三兄弟之这也算是老大
|
, isopen: true //加载完毕后的展开状态,默认值:true
|
, ckall: false //启用全选功能,默认值:false
|
, ckallback: function () { } //全选框状态改变后执行的回调函数
|
, icon: { //三种图标样式,更改几个都可以,用的是layui的图标
|
open: "" //节点打开的图标
|
, close: "" //节点关闭的图标
|
, end: "" //末尾节点的图标
|
}
|
, color: { //三种图标颜色,独立配色,更改几个都可以
|
open: "#333" //节点图标打开的颜色
|
, close: "#333" //节点图标关闭的颜色
|
, end: "#333" //末级节点图标的颜色
|
}
|
, click: function (data) { //节点选中状态改变事件监听,全选框有自己的监听事件
|
console.log(data.elem); //得到checkbox原始DOM对象
|
console.log(data.elem.checked); //开关是否开启,true或者false
|
console.log(data.value); //开关value值,也可以通过data.elem.value得到
|
console.log(data.othis); //得到美化后的DOM对象
|
}
|
});
|
}else{
|
layer.msg(res.errorDesc);
|
}
|
}
|
});
|
}
|
|
xtree_render(0);
|
|
|
|
$("#role_authorization_commit_btn").click(function () {
|
var _allck = window.xtree3.GetAllCheckBox();
|
|
var arr = new Array();
|
var arrIndex = 0;
|
for (var i = 0; i < _allck.length; i++) {
|
if (_allck[i].checked) {
|
arr[arrIndex] = _allck[i].value;
|
arrIndex++;
|
}
|
}
|
$.ajax({
|
type: 'POST',
|
url: base_url+"/sso-manage/role/authorization",
|
data: JSON.stringify({
|
params:{
|
roleId:window._role_authorization_data,
|
resourceIds:arr.join(",")
|
}
|
}),
|
dataType: 'json',
|
contentType: "application/json",
|
success: function (res) {
|
if(res.resultCode == 1) {
|
layer.msg('保存成功');
|
$("#toggle_unchecked_item_btn").addClass("hide");
|
$("#refresh_tree_btn").addClass("hide");
|
$("#role_authorization_commit_btn").addClass("hide");
|
$("#xtree3_wrap").addClass("hide");
|
$("#role_auth_operation_tree_wrap").removeClass("hide");
|
$("#role_auth_operation_tree_wrap").empty();
|
role_auth_operation_tree_render();
|
$("#xtree3_wrap").addClass("hide");
|
setTimeout(function () {
|
$("#role_auth_operation_tree_wrap").find("cite:first").trigger("click");
|
},600);
|
}else{
|
layer.msg(res.errorDesc);
|
}
|
}
|
});
|
});
|
|
form.on('select(OrgPermissionList_select)', function(data){
|
if(data.value == 6){
|
$("#designated_institution_ids").parents(".layui-form-item").css('display','flex');
|
}else{
|
$("#designated_institution_ids").parents(".layui-form-item").hide();
|
}
|
});
|
|
|
//监听保存
|
form.on('submit(data_right_commit)', function (data) {
|
console.log(data.field);
|
data.field.roleId = window._role_authorization_data;
|
data.field.resourceId = window.g_resourceId;
|
if($("#designated_institution_ids").parents(".layui-form-item").is(':visible') == true){
|
data.field.orgIds = $("#designated_institution_ids").val();
|
}
|
if(data.field.orgPermission == 6 && !$("#designated_institution_ids").val()){
|
layer.msg("指定机构不能为空");
|
return;
|
}else{
|
|
}
|
if(!$("#product_rights_ids").val() && !data.field.orgPermission){
|
layer.msg("产品权限和机构权限至少要填一个");
|
return;
|
}
|
$.ajax({
|
type: 'POST',
|
url: base_url+"/sso-manage/role/saveDatePermission",
|
data: JSON.stringify({
|
params:data.field
|
}),
|
dataType: 'json',
|
contentType: "application/json",
|
success: function (res) {
|
if(res.resultCode == 1) {
|
layer.msg('修改成功');
|
}else{
|
layer.msg(res.errorDesc);
|
}
|
}
|
});
|
return false;
|
});
|
|
});
|
</script>
|