layui.define([ 'form', 'laydate', 'table','xzxUserRoleInfoApi'], function(exports) {
|
var form = layui.form;
|
var xzxUserRoleInfoApi = layui.xzxUserRoleInfoApi;
|
var index = layui.index;
|
var view = {
|
init:function(){
|
Lib.initGenrealForm($("#updateForm"),form);
|
this.initSubmit();
|
this.initFunctionTree();
|
},
|
initFunctionTree:function(){
|
var that = this;
|
$.post(Common.ctxPath + "/admin/xzxUserRoleInfo/tree.json", {}, function(response) {
|
var zNodes = response.data;
|
// select parent node does not affect the children node
|
var setting = {"check":{"chkStyle":"checkbox","enable":true, "chkboxType": { "Y": "p", "N": "p" }}};
|
zTreeObj = $.fn.zTree.init($("#functionTree"), setting, zNodes);
|
//功能树加载完毕后在初始化其他控件
|
that.initFirstRole();
|
that.initRoles();
|
|
})
|
},
|
initRoles:function(){
|
var that = this;
|
form.on('radio(roleId)', function(data){
|
checkedRoleId = data.value; //被点击的radio的value值
|
that.loadDataAccessByRole(checkedRoleId);
|
}),
|
this.initFirstRole();
|
|
},
|
initSubmit:function(){
|
|
$("#updateButton").click(function(){
|
var nodes = zTreeObj.getCheckedNodes(true);
|
var ids = Common.concatBatchId(nodes,"id");
|
$("#authIds").val(ids);
|
form.on('submit(form)', function(){
|
xzxUserRoleInfoApi.updateXzxUserRoleInfo($('#updateForm'),function(){
|
parent.window.dataReload();
|
Common.info("更新成功");
|
Lib.closeFrame();
|
});
|
});
|
});
|
$("#updateButton-cancel").click(function(){
|
Lib.closeFrame();
|
});
|
},
|
initFirstRole:function(){
|
var firstRole=$(".layui-form").find(":radio")[0]
|
checkedRoleId= $("#authIds").val();
|
this.loadFunctionByRole(checkedRoleId);
|
$(firstRole).prop("checked",true);
|
form.render();
|
|
},
|
loadFunctionByRole:function(roleId){
|
var nodes = zTreeObj.getCheckedNodes(true);
|
for(var i=0;i<nodes.length;i++){
|
zTreeObj.checkNode(nodes[i], false, true);
|
}
|
var obj = roleId.split(",");
|
for(var i=0;i<obj.length;i++){
|
var node = zTreeObj.getNodesByParam("id",obj[i]);
|
zTreeObj.checkNode(node[0], true, true);
|
}
|
}
|
|
}
|
exports('edit',view);
|
|
});
|